@zonease/aiworker-cli 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +216 -167
- package/aiworker.js +207 -200
- package/drizzle/fleet/0000_fine_havok.sql +23 -0
- package/drizzle/fleet/meta/0000_snapshot.json +165 -0
- package/drizzle/fleet/meta/_journal.json +13 -0
- package/drizzle/worker/0000_spooky_kat_farrell.sql +112 -0
- package/drizzle/worker/0001_secret_dagger.sql +1 -0
- package/drizzle/worker/0002_jazzy_moondragon.sql +13 -0
- package/drizzle/worker/0003_rare_cloak.sql +7 -0
- package/drizzle/worker/meta/0000_snapshot.json +719 -0
- package/drizzle/worker/meta/0001_snapshot.json +726 -0
- package/drizzle/worker/meta/0002_snapshot.json +814 -0
- package/drizzle/worker/meta/0003_snapshot.json +873 -0
- package/drizzle/worker/meta/_journal.json +34 -0
- package/package.json +3 -2
package/aiworker.js
CHANGED
|
@@ -1,294 +1,301 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
// @bun
|
|
3
|
-
var
|
|
3
|
+
var WM=Object.create;var{getPrototypeOf:_M,defineProperty:d5,getOwnPropertyNames:UM}=Object;var VM=Object.prototype.hasOwnProperty;function AM(D){return this[D]}var QM,KM,EM=(D,$,F)=>{var X=D!=null&&typeof D==="object";if(X){var J=$?QM??=new WeakMap:KM??=new WeakMap,Y=J.get(D);if(Y)return Y}F=D!=null?WM(_M(D)):{};let G=$||!D||!D.__esModule?d5(F,"default",{value:D,enumerable:!0}):F;for(let B of UM(D))if(!VM.call(G,B))d5(G,B,{get:AM.bind(D,B),enumerable:!0});if(X)J.set(D,G);return G};var b=(D,$)=>()=>($||D(($={exports:{}}).exports,$),$.exports);var CM=(D)=>D;function RM(D,$){this[D]=CM.bind(null,$)}var z8=(D,$)=>{for(var F in $)d5(D,F,{get:$[F],enumerable:!0,configurable:!0,set:RM.bind($,F)})};var M=(D,$)=>()=>(D&&($=D(D=0)),$);var i2=import.meta.require;function s5(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 t5(D,$,F=".",X){if(!s5($))return t5(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(s5(G)&&s5(J[Y]))J[Y]=t5(G,J[Y],(F?`${F}.`:"")+Y.toString(),X);else J[Y]=G}return J}function mM(D){return(...$)=>$.reduce((F,X)=>t5(F,X,"",D),{})}function cM(D){return Object.prototype.toString.call(D)==="[object Object]"}function dM(D){if(!cM(D))return!1;if(!D.message&&!D.args)return!1;if(D.stack)return!1;return!0}class dD{options;_lastLog;_mockFn;constructor(D={}){let $=D.types||a5;this.options=pM({...D,defaults:{...D.defaults},level:o5(D.level,$),reporters:[...D.reporters||[]]},{types:a5,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=o5(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 dD({...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(){r5=!0}resumeLogs(){r5=!1;let D=qY.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(r5){qY.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:o5(D.level,this.options.types)};if(!F&&$.length===1&&dM($[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
4
|
`);X.args.push(`
|
|
5
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
|
|
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 o5(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 NY(D={}){return new dD(D)}var oD,a5,pM,r5=!1,qY;var e5=M(()=>{oD={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},a5={silent:{level:-1},fatal:{level:oD.fatal},error:{level:oD.error},warn:{level:oD.warn},log:{level:oD.log},info:{level:oD.info},success:{level:oD.success},fail:{level:oD.fail},ready:{level:oD.info},start:{level:oD.info},box:{level:oD.info},debug:{level:oD.debug},trace:{level:oD.trace},verbose:{level:oD.verbose}};pM=mM();qY=[];dD.prototype.add=dD.prototype.addReporter;dD.prototype.remove=dD.prototype.removeReporter;dD.prototype.clear=dD.prototype.removeReporter;dD.prototype.withScope=dD.prototype.withTag;dD.prototype.mock=dD.prototype.mockTypes;dD.prototype.pause=dD.prototype.pauseLogs;dD.prototype.resume=dD.prototype.resumeLogs});import{formatWithOptions as PY}from"util";import{sep as lM}from"path";function $$(D,$){let F=process.cwd()+lM;return D.split(`
|
|
7
7
|
`).splice($.split(`
|
|
8
|
-
`).length).map((J)=>J.trim().replace("file://","").replace(F,""))}function
|
|
9
|
-
${X}`)}formatError(D,$){let F=D.message??
|
|
8
|
+
`).length).map((J)=>J.trim().replace("file://","").replace(F,""))}function iM(D,$){return($.__write||$.write).call($,D)}class T9{formatStack(D,$,F){let X=" ".repeat((F?.errorLevel||0)+1);return X+$$(D,$).join(`
|
|
9
|
+
${X}`)}formatError(D,$){let F=D.message??PY($,D),X=D.stack?this.formatStack(D.stack,F,$):"",J=$?.errorLevel||0,Y=J>0?`${" ".repeat(J)}[cause]: `:"",G=D.cause?`
|
|
10
10
|
|
|
11
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
|
|
13
|
-
`+[
|
|
12
|
+
`+X+G}formatArgs(D,$){let F=D.map((X)=>{if(X&&typeof X.stack==="string")return this.formatError(X,$);return X});return PY($,...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
|
+
`+[D$(D.tag),D.title&&D.title,...F.split(`
|
|
14
14
|
`)].filter(Boolean).map((X)=>" > "+X).join(`
|
|
15
15
|
`)+`
|
|
16
|
-
`;return this.filterAndJoin([
|
|
17
|
-
`,D.level<2?$.options.stderr||process.stderr:$.options.stdout||process.stdout)}}var
|
|
18
|
-
`),J=[],Y=
|
|
19
|
-
`)}var
|
|
16
|
+
`;return this.filterAndJoin([D$(D.type),D$(D.tag),F])}log(D,$){let F=this.formatLogObj(D,{columns:$.options.stdout.columns||0,...$.options.formatOptions});return iM(F+`
|
|
17
|
+
`,D.level<2?$.options.stderr||process.stderr:$.options.stdout||process.stdout)}}var D$=(D)=>D?`[${D}]`:"";var LY=()=>{};import*as S9 from"tty";function TY(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:TY(G,Y,F,X))}function DZ(D,$,F,X,J){return D<0?F+$+X:F+TY(D,$,X,J)+X}function $Z(D,$,F=D,X=D.length+1){return(J)=>J||!(J===""||J===void 0)?DZ((""+J).indexOf($,X),J,D,$,F):""}function t(D,$,F){return $Z(`\x1B[${D}m`,`\x1B[${$}m`,F)}function FZ(D=eM){return D?jY:Object.fromEntries(Object.keys(jY).map(($)=>[$,String]))}function XZ(D,$="reset"){return H0[D]||H0[$]}function n2(D){return D.replace(new RegExp(JZ,"g"),"")}function SY(D,$={}){let F={...$,style:{...GZ,...$.style}},X=D.split(`
|
|
18
|
+
`),J=[],Y=XZ(F.style.borderColor),G={...typeof F.style.borderStyle==="string"?zY[F.style.borderStyle]||zY.solid:F.style.borderStyle};if(Y)for(let Q in G)G[Q]=Y(G[Q]);let B=F.style.padding%2===0?F.style.padding:F.style.padding+1,H=X.length+B,W=Math.max(...X.map((Q)=>n2(Q).length),F.title?n2(F.title).length:0)+B,U=W+B,V=F.style.marginLeft>0?" ".repeat(F.style.marginLeft):"";if(F.style.marginTop>0)J.push("".repeat(F.style.marginTop));if(F.title){let Q=Y?Y(F.title):F.title,C=G.h.repeat(Math.floor((W-n2(F.title).length)/2)),E=G.h.repeat(W-n2(F.title).length-n2(C).length+B);J.push(`${V}${G.tl}${C}${Q}${E}${G.tr}`)}else J.push(`${V}${G.tl}${G.h.repeat(U)}${G.tr}`);let A=F.style.valign==="center"?Math.floor((H-X.length)/2):F.style.valign==="top"?H-X.length-B:H-X.length;for(let Q=0;Q<H;Q++)if(Q<A||Q>=A+X.length)J.push(`${V}${G.v}${" ".repeat(U)}${G.v}`);else{let C=X[Q-A],E=" ".repeat(B),K=" ".repeat(W-n2(C).length);J.push(`${V}${G.v}${E}${C}${K}${G.v}`)}if(J.push(`${V}${G.bl}${G.h.repeat(U)}${G.br}`),F.style.marginBottom>0)J.push("".repeat(F.style.marginBottom));return J.join(`
|
|
19
|
+
`)}var s2,IY,nM,sM,rM,oM,wY,aM,tM,eM,jY,H0,JZ,zY,GZ;var bY=M(()=>{({env:s2={},argv:IY=[],platform:nM=""}=typeof process>"u"?{}:process),sM="NO_COLOR"in s2||IY.includes("--no-color"),rM="FORCE_COLOR"in s2||IY.includes("--color"),oM=nM==="win32",wY=s2.TERM==="dumb",aM=S9&&S9.isatty&&S9.isatty(1)&&s2.TERM&&!wY,tM="CI"in s2&&(("GITHUB_ACTIONS"in s2)||("GITLAB_CI"in s2)||("CIRCLECI"in s2)),eM=!sM&&(rM||oM&&!wY||aM||tM);jY={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)};H0=FZ();JZ=[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("|");zY={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"}},GZ={borderColor:"white",borderStyle:"rounded",valign:"center",padding:2,marginLeft:1,marginTop:1,marginBottom:1}});var XB={};z8(XB,{prompt:()=>FB,kCancel:()=>$B});import c0,{stdin as YZ,stdout as BZ}from"process";import fY from"readline";import{WriteStream as HZ}from"tty";function WZ(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}function _Z(){if(kY)return F$;kY=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 F$={cursor:X,scroll:J,erase:Y,beep:F},F$}function UZ(){if(vY)return b9.exports;vY=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 V=""+U,A=V.indexOf(H,B.length);return~A?B+Y(V,H,W,A)+H:B+V+H},Y=(B,H,W,U)=>{let V="",A=0;do V+=B.substring(A,U)+W,A=U+H.length,U=B.indexOf(H,A);while(~U);return V+B.substring(A)},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 b9.exports=G(),b9.exports.createColors=G,b9.exports}function AZ({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 iY(D){if(typeof D!="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(QZ,"")}function nY(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}function v6(D,$={}){if(typeof D!="string"||D.length===0||($={ambiguousIsNarrow:!0,...$},D=iY(D),D.length===0))return 0;D=D.replace(RZ()," ");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(EZ.eastAsianWidth(J)){case"F":case"W":X+=2;break;case"A":X+=F;break;default:X+=1}}return X}function ZZ(){let D=new Map;for(let[$,F]of Object.entries(qD)){for(let[X,J]of Object.entries(F))qD[X]={open:`\x1B[${J[0]}m`,close:`\x1B[${J[1]}m`},F[X]=qD[X],D.set(J[0],J[1]);Object.defineProperty(qD,$,{value:F,enumerable:!1})}return Object.defineProperty(qD,"codes",{value:D,enumerable:!1}),qD.color.close="\x1B[39m",qD.bgColor.close="\x1B[49m",qD.color.ansi=hY(),qD.color.ansi256=gY(),qD.color.ansi16m=xY(),qD.bgColor.ansi=hY(X$),qD.bgColor.ansi256=gY(X$),qD.bgColor.ansi16m=xY(X$),Object.defineProperties(qD,{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:($)=>qD.rgbToAnsi256(...qD.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)=>qD.ansi256ToAnsi(qD.rgbToAnsi256($,F,X)),enumerable:!1},hexToAnsi:{value:($)=>qD.ansi256ToAnsi(qD.hexToAnsi256($)),enumerable:!1}}),qD}function mY(D,$,F){return String(D).normalize().replace(/\r\n/g,`
|
|
20
20
|
`).split(`
|
|
21
|
-
`).map((X)=>
|
|
22
|
-
`)}function
|
|
21
|
+
`).map((X)=>zZ(X,$,F)).join(`
|
|
22
|
+
`)}function aY(D,$){if(typeof D=="string")return k9.aliases.get(D)===$;for(let F of D)if(F!==void 0&&aY(F,$))return!0;return!1}function wZ(D,$){if(D===$)return;let F=D.split(`
|
|
23
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
|
|
25
|
-
`),
|
|
26
|
-
`).length-1;this.output.write(
|
|
27
|
-
`);this.output.write(X[F]),this._prevFrame=D,this.output.write(
|
|
24
|
+
`),J=[];for(let Y=0;Y<Math.max(F.length,X.length);Y++)F[Y]!==X[Y]&&J.push(Y);return J}function f9(D,$){let F=D;F.isTTY&&F.setRawMode($)}class h6{constructor(D,$=!0){M0(this,"input"),M0(this,"output"),M0(this,"_abortSignal"),M0(this,"rl"),M0(this,"opts"),M0(this,"_render"),M0(this,"_track",!1),M0(this,"_prevFrame",""),M0(this,"_subscribers",new Map),M0(this,"_cursor",0),M0(this,"state","initial"),M0(this,"error",""),M0(this,"value");let{input:F=YZ,output:X=BZ,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(pY);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let F=new HZ(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=fY.createInterface({input:this.input,output:F,tabSize:2,prompt:"",escapeCodeTimeout:50}),fY.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),f9(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(d0.cursor.show),this.output.off("resize",this.render),f9(this.input,!1),D(this.value)}),this.once("cancel",()=>{this.output.write(d0.cursor.show),this.output.off("resize",this.render),f9(this.input,!1),D(pY)})})}onKeypress(D,$){if(this.state==="error"&&(this.state="active"),$?.name&&(!this._track&&k9.aliases.has($.name)&&this.emit("cursor",k9.aliases.get($.name)),k9.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")}aY([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
|
+
`),f9(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let D=mY(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
|
|
26
|
+
`).length-1;this.output.write(d0.cursor.move(-999,D*-1))}render(){let D=mY(this._render(this)??"",process.stdout.columns,{hard:!0});if(D!==this._prevFrame){if(this.state==="initial")this.output.write(d0.cursor.hide);else{let $=wZ(this._prevFrame,D);if(this.restoreCursor(),$&&$?.length===1){let F=$[0];this.output.write(d0.cursor.move(0,F)),this.output.write(d0.erase.lines(1));let X=D.split(`
|
|
27
|
+
`);this.output.write(X[F]),this._prevFrame=D,this.output.write(d0.cursor.move(0,X.length-F-1));return}if($&&$?.length>1){let F=$[0];this.output.write(d0.cursor.move(0,F)),this.output.write(d0.erase.down());let X=D.split(`
|
|
28
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 ZM(){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 QY(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,QY);throw J}case"undefined":return;case"null":return null;case"symbol":return VY;default:case"default":return $.default??$.initial}};if(!$.type||$.type==="text")return await fM({message:D,defaultValue:$.default,placeholder:$.placeholder,initialValue:$.initial}).then(F);if($.type==="confirm")return await bM({message:D,initialValue:$.initial}).then(F);if($.type==="select")return await kM({message:D,options:$.options.map((X)=>typeof X==="string"?{value:X,label:X}:X),initialValue:$.initial}).then(F);if($.type==="multiselect")return await vM({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,iG,u0,K9,nG,eO,f,$M,YY,FM,XM,JM=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},GM,T5=10,sG=(D=0)=>($)=>`\x1B[${$+D}m`,rG=(D=0)=>($)=>`\x1B[${38+D};5;${$}m`,oG=(D=0)=>($,F,X)=>`\x1B[${38+D};2;${$};${F};${X}m`,ND,YM,BM,WM,O9,_M=39,v5="\x07",BY="[",UM="]",HY="m",g5,aG=(D)=>`${O9.values().next().value}${BY}${D}${HY}`,tG=(D)=>`${O9.values().next().value}${g5}${D}${v5}`,AM=(D)=>D.split(" ").map(($)=>N6($)),S5=(D,$,F)=>{let X=[...$],J=!1,Y=!1,G=N6(JY(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===HY&&(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())},VM=(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("")},QM=(D,$,F={})=>{if(F.trim!==!1&&D.trim()==="")return"";let X="",J,Y,G=AM(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)=>VM(W)));let H=[...B.join(`
|
|
30
|
-
`)];for(let[W,U]of H.entries()){if(X+=U,
|
|
31
|
-
`?(Y&&(X+=
|
|
32
|
-
`&&(J&&
|
|
33
|
-
${
|
|
29
|
+
`)),this._prevFrame=D;return}this.output.write(d0.erase.down())}this.output.write(D),this.state==="initial"&&(this.state="active"),this._prevFrame=D}}}function gZ(){return c0.platform!=="win32"?c0.env.TERM!=="linux":!!c0.env.CI||!!c0.env.WT_SESSION||!!c0.env.TERMINUS_SUBLIME||c0.env.ConEmuTask==="{cmd::Cmder}"||c0.env.TERM_PROGRAM==="Terminus-Sublime"||c0.env.TERM_PROGRAM==="vscode"||c0.env.TERM==="xterm-256color"||c0.env.TERM==="alacritty"||c0.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}async function FB(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,FB);throw J}case"undefined":return;case"null":return null;case"symbol":return $B;default:case"default":return $.default??$.initial}};if(!$.type||$.type==="text")return await lZ({message:D,defaultValue:$.default,placeholder:$.placeholder,initialValue:$.initial}).then(F);if($.type==="confirm")return await iZ({message:D,initialValue:$.initial}).then(F);if($.type==="select")return await nZ({message:D,options:$.options.map((X)=>typeof X==="string"?{value:X,label:X}:X),initialValue:$.initial}).then(F);if($.type==="multiselect")return await sZ({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 F$,kY,d0,b9,vY,VZ,f,QZ,sY,KZ,EZ,CZ=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},RZ,X$=10,hY=(D=0)=>($)=>`\x1B[${$+D}m`,gY=(D=0)=>($)=>`\x1B[${38+D};5;${$}m`,xY=(D=0)=>($,F,X)=>`\x1B[${38+D};2;${$};${F};${X}m`,qD,OZ,MZ,qZ,v9,NZ=39,H$="\x07",rY="[",PZ="]",oY="m",W$,yY=(D)=>`${v9.values().next().value}${rY}${D}${oY}`,uY=(D)=>`${v9.values().next().value}${W$}${D}${H$}`,LZ=(D)=>D.split(" ").map(($)=>v6($)),J$=(D,$,F)=>{let X=[...$],J=!1,Y=!1,G=v6(iY(D[D.length-1]));for(let[B,H]of X.entries()){let W=v6(H);if(G+W<=F?D[D.length-1]+=H:(D.push(H),G=0),v9.has(H)&&(J=!0,Y=X.slice(B+1).join("").startsWith(W$)),J){Y?H===H$&&(J=!1,Y=!1):H===oY&&(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())},jZ=(D)=>{let $=D.split(" "),F=$.length;for(;F>0&&!(v6($[F-1])>0);)F--;return F===$.length?D:$.slice(0,F).join(" ")+$.slice(F).join("")},zZ=(D,$,F={})=>{if(F.trim!==!1&&D.trim()==="")return"";let X="",J,Y,G=LZ(D),B=[""];for(let[W,U]of D.split(" ").entries()){F.trim!==!1&&(B[B.length-1]=B[B.length-1].trimStart());let V=v6(B[B.length-1]);if(W!==0&&(V>=$&&(F.wordWrap===!1||F.trim===!1)&&(B.push(""),V=0),(V>0||F.trim===!1)&&(B[B.length-1]+=" ",V++)),F.hard&&G[W]>$){let A=$-V,Q=1+Math.floor((G[W]-A-1)/$);Math.floor((G[W]-1)/$)<Q&&B.push(""),J$(B,U,$);continue}if(V+G[W]>$&&V>0&&G[W]>0){if(F.wordWrap===!1&&V<$){J$(B,U,$);continue}B.push("")}if(V+G[W]>$&&F.wordWrap===!1){J$(B,U,$);continue}B[B.length-1]+=U}F.trim!==!1&&(B=B.map((W)=>jZ(W)));let H=[...B.join(`
|
|
30
|
+
`)];for(let[W,U]of H.entries()){if(X+=U,v9.has(U)){let{groups:A}=new RegExp(`(?:\\${rY}(?<code>\\d+)m|\\${W$}(?<uri>.*)${H$})`).exec(H.slice(W).join(""))||{groups:{}};if(A.code!==void 0){let Q=Number.parseFloat(A.code);J=Q===NZ?void 0:Q}else A.uri!==void 0&&(Y=A.uri.length===0?void 0:A.uri)}let V=qZ.codes.get(Number(J));H[W+1]===`
|
|
31
|
+
`?(Y&&(X+=uY("")),J&&V&&(X+=yY(V))):U===`
|
|
32
|
+
`&&(J&&V&&(X+=yY(J)),Y&&(X+=uY(Y)))}return X},IZ,k9,pY,TZ,SZ=(D,$,F)=>($ in D)?TZ(D,$,{enumerable:!0,configurable:!0,writable:!0,value:F}):D[$]=F,M0=(D,$,F)=>(SZ(D,typeof $!="symbol"?$+"":$,F),F),tY,bZ,fZ=(D,$,F)=>($ in D)?bZ(D,$,{enumerable:!0,configurable:!0,writable:!0,value:F}):D[$]=F,cY=(D,$,F)=>(fZ(D,typeof $!="symbol"?$+"":$,F),F),kZ,vZ,hZ=(D,$,F)=>($ in D)?vZ(D,$,{enumerable:!0,configurable:!0,writable:!0,value:F}):D[$]=F,dY=(D,$,F)=>(hZ(D,typeof $!="symbol"?$+"":$,F),F),eY,DB,xZ,l0=(D,$)=>xZ?D:$,yZ,uZ,mZ,pZ,RD,O1,G$,Y$,cZ,lY,dZ,h9=(D)=>{switch(D){case"initial":case"active":return f.cyan(yZ);case"cancel":return f.red(uZ);case"error":return f.yellow(mZ);case"submit":return f.green(pZ)}},B$=(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,V,A)=>{let Q=V===0&&H,C=V===A.length-1&&W;return Q||C?f.dim("..."):X(U,V+B===$)})},lZ=(D)=>new DB({validate:D.validate,placeholder:D.placeholder,defaultValue:D.defaultValue,initialValue:D.initialValue,render(){let $=`${f.gray(RD)}
|
|
33
|
+
${h9(this.state)} ${D.message}
|
|
34
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(
|
|
36
|
-
${f.yellow(
|
|
37
|
-
`;case"submit":return`${$}${f.gray(
|
|
38
|
-
${f.gray(
|
|
39
|
-
${f.cyan(
|
|
40
|
-
`}}}).prompt(),
|
|
41
|
-
${
|
|
42
|
-
`,J=this.value?$:F;switch(this.state){case"submit":return`${X}${f.gray(
|
|
43
|
-
${f.gray(
|
|
44
|
-
${f.cyan(
|
|
45
|
-
`}}}).prompt()},
|
|
46
|
-
${
|
|
47
|
-
`;switch(this.state){case"submit":return`${F}${f.gray(
|
|
48
|
-
${f.gray(
|
|
49
|
-
${f.cyan(
|
|
50
|
-
${f.cyan(
|
|
51
|
-
`}}}).prompt()},
|
|
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(
|
|
53
|
-
${
|
|
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(
|
|
55
|
-
${f.gray(
|
|
56
|
-
`).map((Y,G)=>G===0?`${f.yellow(
|
|
57
|
-
`);return`${F+f.yellow(
|
|
58
|
-
${f.yellow(
|
|
35
|
+
${f.yellow(RD)} ${X}
|
|
36
|
+
${f.yellow(O1)} ${f.yellow(this.error)}
|
|
37
|
+
`;case"submit":return`${$}${f.gray(RD)} ${f.dim(this.value||D.placeholder)}`;case"cancel":return`${$}${f.gray(RD)} ${f.strikethrough(f.dim(this.value??""))}${this.value?.trim()?`
|
|
38
|
+
${f.gray(RD)}`:""}`;default:return`${$}${f.cyan(RD)} ${X}
|
|
39
|
+
${f.cyan(O1)}
|
|
40
|
+
`}}}).prompt(),iZ=(D)=>{let $=D.active??"Yes",F=D.inactive??"No";return new tY({active:$,inactive:F,initialValue:D.initialValue??!0,render(){let X=`${f.gray(RD)}
|
|
41
|
+
${h9(this.state)} ${D.message}
|
|
42
|
+
`,J=this.value?$:F;switch(this.state){case"submit":return`${X}${f.gray(RD)} ${f.dim(J)}`;case"cancel":return`${X}${f.gray(RD)} ${f.strikethrough(f.dim(J))}
|
|
43
|
+
${f.gray(RD)}`;default:return`${X}${f.cyan(RD)} ${this.value?`${f.green(G$)} ${$}`:`${f.dim(Y$)} ${f.dim($)}`} ${f.dim("/")} ${this.value?`${f.dim(Y$)} ${f.dim(F)}`:`${f.green(G$)} ${F}`}
|
|
44
|
+
${f.cyan(O1)}
|
|
45
|
+
`}}}).prompt()},nZ=(D)=>{let $=(F,X)=>{let J=F.label??String(F.value);switch(X){case"selected":return`${f.dim(J)}`;case"active":return`${f.green(G$)} ${J} ${F.hint?f.dim(`(${F.hint})`):""}`;case"cancelled":return`${f.strikethrough(f.dim(J))}`;default:return`${f.dim(Y$)} ${f.dim(J)}`}};return new eY({options:D.options,initialValue:D.initialValue,render(){let F=`${f.gray(RD)}
|
|
46
|
+
${h9(this.state)} ${D.message}
|
|
47
|
+
`;switch(this.state){case"submit":return`${F}${f.gray(RD)} ${$(this.options[this.cursor],"selected")}`;case"cancel":return`${F}${f.gray(RD)} ${$(this.options[this.cursor],"cancelled")}
|
|
48
|
+
${f.gray(RD)}`;default:return`${F}${f.cyan(RD)} ${B$({cursor:this.cursor,options:this.options,maxItems:D.maxItems,style:(X,J)=>$(X,J?"active":"inactive")}).join(`
|
|
49
|
+
${f.cyan(RD)} `)}
|
|
50
|
+
${f.cyan(O1)}
|
|
51
|
+
`}}}).prompt()},sZ=(D)=>{let $=(F,X)=>{let J=F.label??String(F.value);return X==="active"?`${f.cyan(cZ)} ${J} ${F.hint?f.dim(`(${F.hint})`):""}`:X==="selected"?`${f.green(lY)} ${f.dim(J)}`:X==="cancelled"?`${f.strikethrough(f.dim(J))}`:X==="active-selected"?`${f.green(lY)} ${J} ${F.hint?f.dim(`(${F.hint})`):""}`:X==="submitted"?`${f.dim(J)}`:`${f.dim(dZ)} ${f.dim(J)}`};return new kZ({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(RD)}
|
|
53
|
+
${h9(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(RD)} ${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(RD)} ${J.trim()?`${J}
|
|
55
|
+
${f.gray(RD)}`:""}`}case"error":{let J=this.error.split(`
|
|
56
|
+
`).map((Y,G)=>G===0?`${f.yellow(O1)} ${f.yellow(Y)}`:` ${Y}`).join(`
|
|
57
|
+
`);return`${F+f.yellow(RD)} ${B$({options:this.options,cursor:this.cursor,maxItems:D.maxItems,style:X}).join(`
|
|
58
|
+
${f.yellow(RD)} `)}
|
|
59
59
|
${J}
|
|
60
|
-
`}default:return`${F}${f.cyan(
|
|
61
|
-
${f.cyan(
|
|
62
|
-
${f.cyan(
|
|
63
|
-
`}}}).prompt()},VY;var KY=R(()=>{u0=aO(),K9={exports:{}};eO=tO(),f=oO(eO);$M=DM();YY={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}})(YY);FM=YY.exports,XM=GY(FM),GM=GY(JM);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);YM=Object.keys(ND.color),BM=Object.keys(ND.bgColor);[...YM,...BM];WM=HM(),O9=new Set(["\x1B","\x9B"]),g5=`${UM}8;;`;EM=["up","down","left","right","space","enter","cancel"],R9={actions:new Set(EM),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]])};globalThis.process.platform.startsWith("win");DY=Symbol("clack:cancel");CM=Object.defineProperty;_Y=class _Y 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})}};OM=Object.defineProperty,qM=class extends P6{constructor(D){super(D,!1),$Y(this,"options"),$Y(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]}},NM=Object.defineProperty;UY=class UY extends P6{constructor(D){super(D,!1),FY(this,"options"),FY(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}};AY=class AY 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)})}};LM=ZM(),zM=m0("\u276F",">"),jM=m0("\u25A0","x"),wM=m0("\u25B2","x"),IM=m0("\u2714","\u221A"),CD=m0(""),_1=m0(""),f5=m0("\u25CF",">"),b5=m0("\u25CB"," "),TM=m0("\u25FB","[\u2022]"),XY=m0("\u25FC","[+]"),SM=m0("\u25FB","[ ]");`${f.gray(CD)} `;VY=Symbol.for("cancel")});import CY from"process";function xM(){if(globalThis.process?.env)for(let D of hM){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 tM(){let D=aM.find(($)=>$[0]);if(D)return{name:D[1]}}function Dq({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 Fq(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace($q,"")}function Xq(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 Jq(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function Gq(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 Yq(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function Bq(D,{ambiguousAsWide:$=!1}={}){if(Yq(D),Jq(D)||Gq(D)||$&&Xq(D))return 2;return 1}function Uq(D,$={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:F=!0,countAnsiEscapeCodes:X=!1}=$;if(!X)D=Fq(D);if(D.length===0)return 0;let J=0,Y={ambiguousAsWide:!F};for(let{segment:G}of Wq.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(_q.test(G))continue;if(Hq().test(G)){J+=2;continue}J+=Bq(B,Y)}return J}function Aq(){let{env:D}=CY,{TERM:$,TERM_PROGRAM:F}=D;if(CY.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 MY(D){if(typeof Intl!=="object"||!Intl.Segmenter)return y2(D).length;return Uq(D)}function q9(D){return D.replace(/`([^`]+)`/gm,($,F)=>J0.cyan(F)).replace(/\s+_([^_]+)_\s+/gm,($,F)=>` ${J0.underline(F)} `)}function Kq(D="white"){return J0[D]||J0.white}function Cq(D="bgWhite"){return J0[`bg${D[0].toUpperCase()}${D.slice(1)}`]||J0.bgWhite}function Rq(D={}){let $=Oq();if(process.env.CONSOLA_LEVEL)$=Number.parseInt(process.env.CONSOLA_LEVEL)??$;return vG({level:$,defaults:{level:$},stdout:process.stdout,stderr:process.stderr,prompt:(...X)=>Promise.resolve().then(() => (KY(),EY)).then((J)=>J.prompt(...X)),reporters:D.reporters||[D.fancy??!(h5||x5)?new PY:new Q9],...D})}function Oq(){if(uM)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,gM,hM,qY,yM,h5,NY,uM,x5,mM,pM,cM,RY,dM,lM,iM,nM,sM,rM,oM,aM,eM,$q,Hq=()=>{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},Wq,_q,Vq,Qq,Eq,_2=(D,$)=>Eq?D:$,OY,PY,M;var JD=R(()=>{z5();z5();hG();dG();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)}}),gM=typeof process<"u"&&process.env&&"development"||"",hM=[["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}]];qY=xM();qY.name;yM=globalThis.process?.platform||"",h5=K8(m2.CI)||qY.ci!==!1,NY=K8(globalThis.process?.stdout&&globalThis.process?.stdout.isTTY),uM=K8(m2.DEBUG),x5=gM==="test"||K8(m2.TEST);K8(m2.MINIMAL);mM=/^win/i.test(yM);!K8(m2.NO_COLOR)&&(K8(m2.FORCE_COLOR)||(NY||mM)&&m2.TERM);pM=(globalThis.process?.versions?.node||"").replace(/^v/,"")||null;Number(pM?.split(".")[0]);cM=globalThis.process||Object.create(null),RY={versions:{}};new Proxy(cM,{get(D,$){if($==="env")return m2;if($ in D)return D[$];if($ in RY)return RY[$]}});dM=globalThis.process?.release?.name==="node",lM=!!globalThis.Bun||!!globalThis.process?.versions?.bun,iM=!!globalThis.Deno,nM=!!globalThis.fastly,sM=!!globalThis.Netlify,rM=!!globalThis.EdgeRuntime,oM=globalThis.navigator?.userAgent==="Cloudflare-Workers",aM=[[sM,"netlify"],[rM,"edge-light"],[oM,"workerd"],[nM,"fastly"],[iM,"deno"],[lM,"bun"],[dM,"node"]];eM=tM();eM?.name;$q=Dq();Wq=globalThis.Intl?.Segmenter?new Intl.Segmenter:{segment:(D)=>D.split("")},_q=/^\p{Default_Ignorable_Code_Point}$/u;Vq={info:"cyan",fail:"red",success:"green",ready:"green",start:"magenta"},Qq={0:"red",1:"yellow"},Eq=Aq(),OY={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:""};PY=class PY extends Q9{formatStack(D,$,F){let X=" ".repeat((F?.errorLevel||0)+1);return`
|
|
64
|
-
${X}
|
|
65
|
-
${X}`)}formatType(D,$,F){let X=
|
|
66
|
-
`);if(D.type==="box")return
|
|
60
|
+
`}default:return`${F}${f.cyan(RD)} ${B$({options:this.options,cursor:this.cursor,maxItems:D.maxItems,style:X}).join(`
|
|
61
|
+
${f.cyan(RD)} `)}
|
|
62
|
+
${f.cyan(O1)}
|
|
63
|
+
`}}}).prompt()},$B;var JB=M(()=>{d0=_Z(),b9={exports:{}};VZ=UZ(),f=WZ(VZ);QZ=AZ();sY={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],V=$.length(U);if(B>=J-(V==2?1:0))if(B+V<=Y)G+=U;else break;B+=V}return G}})(sY);KZ=sY.exports,EZ=nY(KZ),RZ=nY(CZ);qD={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(qD.modifier);OZ=Object.keys(qD.color),MZ=Object.keys(qD.bgColor);[...OZ,...MZ];qZ=ZZ(),v9=new Set(["\x1B","\x9B"]),W$=`${PZ}8;;`;IZ=["up","down","left","right","space","enter","cancel"],k9={actions:new Set(IZ),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]])};globalThis.process.platform.startsWith("win");pY=Symbol("clack:cancel");TZ=Object.defineProperty;tY=class tY extends h6{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(d0.cursor.move(0,-1)),this.value=$,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}};bZ=Object.defineProperty,kZ=class extends h6{constructor(D){super(D,!1),cY(this,"options"),cY(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]}},vZ=Object.defineProperty;eY=class eY extends h6{constructor(D){super(D,!1),dY(this,"options"),dY(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}};DB=class DB extends h6{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)})}};xZ=gZ(),yZ=l0("\u276F",">"),uZ=l0("\u25A0","x"),mZ=l0("\u25B2","x"),pZ=l0("\u2714","\u221A"),RD=l0(""),O1=l0(""),G$=l0("\u25CF",">"),Y$=l0("\u25CB"," "),cZ=l0("\u25FB","[\u2022]"),lY=l0("\u25FC","[+]"),dZ=l0("\u25FB","[ ]");`${f.gray(RD)} `;$B=Symbol.for("cancel")});import GB from"process";function aZ(){if(globalThis.process?.env)for(let D of oZ){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 I8(D){return D?D!=="false":!1}function Uq(){let D=_q.find(($)=>$[0]);if(D)return{name:D[1]}}function Aq({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 Kq(D){if(typeof D!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(Qq,"")}function Eq(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 Cq(D){return D===12288||D>=65281&&D<=65376||D>=65504&&D<=65510}function Rq(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 Oq(D){if(!Number.isSafeInteger(D))throw TypeError(`Expected a code point, got \`${typeof D}\`.`)}function Mq(D,{ambiguousAsWide:$=!1}={}){if(Oq(D),Cq(D)||Rq(D)||$&&Eq(D))return 2;return 1}function Pq(D,$={}){if(typeof D!=="string"||D.length===0)return 0;let{ambiguousIsNarrow:F=!0,countAnsiEscapeCodes:X=!1}=$;if(!X)D=Kq(D);if(D.length===0)return 0;let J=0,Y={ambiguousAsWide:!F};for(let{segment:G}of qq.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(Nq.test(G))continue;if(Zq().test(G)){J+=2;continue}J+=Mq(B,Y)}return J}function Lq(){let{env:D}=GB,{TERM:$,TERM_PROGRAM:F}=D;if(GB.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 HB(D){if(typeof Intl!=="object"||!Intl.Segmenter)return n2(D).length;return Pq(D)}function g9(D){return D.replace(/`([^`]+)`/gm,($,F)=>H0.cyan(F)).replace(/\s+_([^_]+)_\s+/gm,($,F)=>` ${H0.underline(F)} `)}function wq(D="white"){return H0[D]||H0.white}function Tq(D="bgWhite"){return H0[`bg${D[0].toUpperCase()}${D.slice(1)}`]||H0.bgWhite}function Sq(D={}){let $=bq();if(process.env.CONSOLA_LEVEL)$=Number.parseInt(process.env.CONSOLA_LEVEL)??$;return NY({level:$,defaults:{level:$},stdout:process.stdout,stderr:process.stderr,prompt:(...X)=>Promise.resolve().then(() => (JB(),XB)).then((J)=>J.prompt(...X)),reporters:D.reporters||[D.fancy??!(_$||U$)?new UB:new T9],...D})}function bq(){if(eZ)return oD.debug;if(U$)return oD.warn;return oD.info}var x9,g6=(D)=>globalThis.process?.env||import.meta.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(D?x9:globalThis),r2,rZ,oZ,WB,tZ,_$,_B,eZ,U$,Dq,$q,Fq,YB,Xq,Jq,Gq,Yq,Bq,Hq,Wq,_q,Vq,Qq,Zq=()=>{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},qq,Nq,jq,zq,Iq,K2=(D,$)=>Iq?D:$,BB,UB,R;var $D=M(()=>{e5();e5();LY();bY();x9=Object.create(null),r2=new Proxy(x9,{get(D,$){return g6()[$]??x9[$]},has(D,$){let F=g6();return $ in F||$ in x9},set(D,$,F){let X=g6(!0);return X[$]=F,!0},deleteProperty(D,$){if(!$)return!1;let F=g6(!0);return delete F[$],!0},ownKeys(){let D=g6(!0);return Object.keys(D)}}),rZ=typeof process<"u"&&process.env&&"development"||"",oZ=[["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}]];WB=aZ();WB.name;tZ=globalThis.process?.platform||"",_$=I8(r2.CI)||WB.ci!==!1,_B=I8(globalThis.process?.stdout&&globalThis.process?.stdout.isTTY),eZ=I8(r2.DEBUG),U$=rZ==="test"||I8(r2.TEST);I8(r2.MINIMAL);Dq=/^win/i.test(tZ);!I8(r2.NO_COLOR)&&(I8(r2.FORCE_COLOR)||(_B||Dq)&&r2.TERM);$q=(globalThis.process?.versions?.node||"").replace(/^v/,"")||null;Number($q?.split(".")[0]);Fq=globalThis.process||Object.create(null),YB={versions:{}};new Proxy(Fq,{get(D,$){if($==="env")return r2;if($ in D)return D[$];if($ in YB)return YB[$]}});Xq=globalThis.process?.release?.name==="node",Jq=!!globalThis.Bun||!!globalThis.process?.versions?.bun,Gq=!!globalThis.Deno,Yq=!!globalThis.fastly,Bq=!!globalThis.Netlify,Hq=!!globalThis.EdgeRuntime,Wq=globalThis.navigator?.userAgent==="Cloudflare-Workers",_q=[[Bq,"netlify"],[Hq,"edge-light"],[Wq,"workerd"],[Yq,"fastly"],[Gq,"deno"],[Jq,"bun"],[Xq,"node"]];Vq=Uq();Vq?.name;Qq=Aq();qq=globalThis.Intl?.Segmenter?new Intl.Segmenter:{segment:(D)=>D.split("")},Nq=/^\p{Default_Ignorable_Code_Point}$/u;jq={info:"cyan",fail:"red",success:"green",ready:"green",start:"magenta"},zq={0:"red",1:"yellow"},Iq=Lq(),BB={error:K2("\u2716","\xD7"),fatal:K2("\u2716","\xD7"),ready:K2("\u2714","\u221A"),warn:K2("\u26A0","\u203C"),info:K2("\u2139","i"),success:K2("\u2714","\u221A"),debug:K2("\u2699","D"),trace:K2("\u2192","\u2192"),fail:K2("\u2716","\xD7"),start:K2("\u25D0","o"),log:""};UB=class UB extends T9{formatStack(D,$,F){let X=" ".repeat((F?.errorLevel||0)+1);return`
|
|
64
|
+
${X}`+$$(D,$).map((J)=>" "+J.replace(/^at +/,(Y)=>H0.gray(Y)).replace(/\((.+)\)/,(Y,G)=>`(${H0.cyan(G)})`)).join(`
|
|
65
|
+
${X}`)}formatType(D,$,F){let X=jq[D.type]||zq[D.level]||"gray";if($)return Tq(X)(H0.black(` ${D.type.toUpperCase()} `));let J=typeof BB[D.type]==="string"?BB[D.type]:D.icon||D.type;return J?wq(X)(J):""}formatLogObj(D,$){let[F,...X]=this.formatArgs(D.args,$).split(`
|
|
66
|
+
`);if(D.type==="box")return SY(g9(F+(X.length>0?`
|
|
67
67
|
`+X.join(`
|
|
68
|
-
`):"")),{title:D.title?
|
|
68
|
+
`):"")),{title:D.title?g9(D.title):void 0,style:D.style});let J=this.formatDate(D.date,$),Y=J&&H0.gray(J),G=D.badge??D.level<2,B=this.formatType(D,G,$),H=D.tag?H0.gray(D.tag):"",W,U=this.filterAndJoin([B,g9(F)]),V=this.filterAndJoin($.columns?[H,Y]:[H]),A=($.columns||0)-HB(U)-HB(V)-2;if(W=A>0&&($.columns||0)>=80?U+" ".repeat(A)+V:(V?`${H0.gray(`[${V}]`)} `:"")+U,W+=g9(X.length>0?`
|
|
69
69
|
`+X.join(`
|
|
70
|
-
`):""),D.type==="trace"){let
|
|
70
|
+
`):""),D.type==="trace"){let Q=Error("Trace: "+D.message);W+=this.formatStack(Q.stack||"",Q.message)}return G?`
|
|
71
71
|
`+W+`
|
|
72
|
-
`:W}};M=Rq()});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,Mq=(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 qq=(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=qq});function Nq(D){ZY=D}function U1(){return ZY}var ZY;var Z9=R(()=>{u5();ZY=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}},Pq,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();Pq=[];c=Object.freeze({status:"aborted"})});var LY=()=>{};var u;var zY=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 jY(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 jY(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 TY(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 uq(D){return new RegExp(`^${TY(D)}$`)}function SY(D){let $=`${IY}T${TY(D)}`,F=[];if(F.push(D.local?"Z?":"Z"),D.offset)F.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${F.join("|")})`,new RegExp(`^${$}$`)}function mq(D,$){if(($==="v4"||!$)&&bq.test(D))return!0;if(($==="v6"||!$)&&vq.test(D))return!0;return!1}function pq(D,$){if(!Iq.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 cq(D,$){if(($==="v4"||!$)&&kq.test(D))return!0;if(($==="v6"||!$)&&gq.test(D))return!0;return!1}function dq(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 fY(D,$){return new i2({values:D,typeName:d.ZodEnum,...a($)})}function wY(D,$){let F=typeof D==="function"?D($):typeof D==="string"?{message:D}:D;return typeof F==="string"?{message:F}:F}function bY(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=wY($,X),H=B.fatal??F??!0;J.addIssue({code:"custom",...B,fatal:H})}});if(!Y){let G=wY($,X),B=G.fatal??F??!0;J.addIssue({code:"custom",...G,fatal:B})}return});return O8.create()}var jY=(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}}}},Zq,Lq,zq,jq,wq,Iq,Tq,Sq,fq="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",p5,bq,kq,vq,gq,hq,xq,IY="((\\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])))",yq,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,lq,w9,f6,L1,iq,d,nq=(D,$={message:`Input not instance of ${D.name}`})=>bY((F)=>F instanceof D,$),kY,vY,sq,rq,gY,oq,aq,tq,eq,DN,$N,FN,XN,JN,GN,YN,BN,HN,WN,_N,UN,AN,VN,QN,EN,KN,CN,RN,ON,MN,qN,NN,PN,ZN,LN=()=>kY().optional(),zN=()=>vY().optional(),jN=()=>gY().optional(),wN,IN;var hY=R(()=>{P9();Z9();zY();m5();L6();Zq=/^c[^\s-]{8,}$/i,Lq=/^[0-9a-z]+$/,zq=/^[0-9A-HJKMNP-TV-Z]{26}$/i,jq=/^[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,wq=/^[a-z0-9_-]{21}$/i,Iq=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Tq=/^[-+]?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)?)??$/,Sq=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,bq=/^(?:(?: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])$/,kq=/^(?:(?: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])$/,vq=/^(([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]))$/,gq=/^(([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])$/,hq=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,xq=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,yq=new RegExp(`^${IY}$`);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(!Sq.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(fq,"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(!jq.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(!wq.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(!Zq.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(!Lq.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(!zq.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(!SY(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(!yq.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(!uq(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(!Tq.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(!mq(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(!pq(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(!cq(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(!hq.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(!xq.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(dq(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 fY(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=fY;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)})};lq=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($)})};iq={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={}));kY=p0.create,vY=d2.create,sq=S6.create,rq=l2.create,gY=E1.create,oq=R8.create,aq=j6.create,tq=K1.create,eq=C1.create,DN=O8.create,$N=c2.create,FN=A2.create,XN=w6.create,JN=c0.create,GN=LD.create,YN=LD.strictCreate,BN=R1.create,HN=j9.create,WN=O1.create,_N=V2.create,UN=I6.create,AN=T6.create,VN=M8.create,QN=Q1.create,EN=M1.create,KN=q1.create,CN=i2.create,RN=N1.create,ON=q8.create,MN=i0.create,qN=d0.create,NN=z2.create,PN=i0.createWithPreprocess,ZN=f6.create,wN={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})},IN=c});var _={};W1(_,{void:()=>XN,util:()=>XD,unknown:()=>$N,union:()=>BN,undefined:()=>tq,tuple:()=>_N,transformer:()=>MN,symbol:()=>aq,string:()=>kY,strictObject:()=>YN,setErrorMap:()=>Nq,set:()=>VN,record:()=>UN,quotelessJson:()=>Mq,promise:()=>ON,preprocess:()=>PN,pipeline:()=>ZN,ostring:()=>LN,optional:()=>qN,onumber:()=>zN,oboolean:()=>jN,objectUtil:()=>y5,object:()=>GN,number:()=>vY,nullable:()=>NN,null:()=>eq,never:()=>FN,nativeEnum:()=>RN,nan:()=>sq,map:()=>AN,makeIssue:()=>z6,literal:()=>KN,lazy:()=>EN,late:()=>iq,isValid:()=>p2,isDirty:()=>z9,isAsync:()=>A1,isAborted:()=>L9,intersection:()=>WN,instanceof:()=>nq,getParsedType:()=>U2,getErrorMap:()=>U1,function:()=>QN,enum:()=>CN,effect:()=>MN,discriminatedUnion:()=>HN,defaultErrorMap:()=>Z2,datetimeRegex:()=>SY,date:()=>oq,custom:()=>bY,coerce:()=>wN,boolean:()=>gY,bigint:()=>rq,array:()=>JN,any:()=>DN,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:()=>IN,INVALID:()=>c,EMPTY_PATH:()=>Pq,DIRTY:()=>C8,BRAND:()=>lq});var d5=R(()=>{Z9();m5();LY();L6();hY();P9()});var Q0=R(()=>{d5();d5()});function l5(D){return Object.prototype.hasOwnProperty.call(nY,D)}var WD,n0,xY,yY,uY,mY,pY,cY,dY,lY,iY,I9,T9,nY;var sY=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)}),xY=n0.extend({displayName:_.string().optional(),deviceId:_.string().min(1),connectedAt:_.number().int()}),yY=n0.extend({deviceId:_.string().min(1),reason:_.enum(["disconnected","expired","kicked"]).optional(),disconnectedAt:_.number().int()}),uY=n0.extend({conversationId:_.string().min(1),role:_.enum(["user","assistant","system"]),content:_.string(),createdAt:_.number().int()}),mY=n0.extend({conversationId:_.string().min(1),taskId:_.string().min(1).optional(),chunk:_.string().optional()}),pY=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()}),cY=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()}),dY=n0.extend({version:_.number().int().nonnegative(),changedAt:_.number().int()}),lY=n0.extend({stream:_.enum(["stdout","stderr"]),line:_.string(),ts:_.number().int()}),iY=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)}),nY={[WD.WORKER_ONLINE]:xY,[WD.WORKER_OFFLINE]:yY,[WD.CHAT_MESSAGE]:uY,[WD.AGENT_THINKING]:mY,[WD.AGENT_TOOL_CALL]:pY,[WD.AGENT_DONE]:cY,[WD.CONFIG_CHANGED]:dY,[WD.LOGS_LINE]:lY,[WD.APPROVAL_REQUESTED]:iY,[WD.ENROLLMENT_OTP]:I9,[WD.ENROLLMENT_APPROVED]:T9}});var RD;var rY=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 oY=R(()=>{z1=/^w_[0-9a-hjkmnp-tv-z]{12}$/});function j1(D){return typeof D==="string"&&N8.test(D)}var f9="wtk_",N8;var aY=R(()=>{N8=/^wtk_[\w-]{32,}$/});var i5=R(()=>{oY();aY()});import{randomBytes as SN}from"crypto";function fN(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=SN(10);return`w_${fN(D,12)}`}var tY=R(()=>{i5()});var s5,r5,b9,o5,eY;var DB=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"]),eY=_.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 $B=R(()=>{DB()});var s0=R(()=>{rY();i5();tY();$B()});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=BB.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 FB,XB,JB,bN,kN,GB,YB,BB;var HB=R(()=>{s0();Q0();t5();FB=_.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"})}),XB=_.object({type:_.literal("request"),id:_.string().min(1),method:_.string().min(1),params:_.unknown().optional()}),JB=_.object({code:_.string().min(1),message:_.string(),details:_.unknown().optional()}),bN=_.object({type:_.literal("response"),id:_.string().min(1),ok:_.literal(!0),result:_.unknown()}),kN=_.object({type:_.literal("response"),id:_.string().min(1),ok:_.literal(!1),error:JB}),GB=_.discriminatedUnion("ok",[bN,kN]),YB=_.object({type:_.literal("event"),name:_.string().min(1),payload:_.unknown(),ts:_.number().int()}),BB=_.union([FB,XB,GB,YB])});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,vN,gN,WB,D$,hN,xN,yN,uN,_B,mN,pN,cN,dN,lN,iN,nN,sN,UB,AB,rN,oN,aN,$$,k9,VB,QB,tN,eN,DP,$P,nD;var EB=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()}),vN=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"}),gN=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"}),WB=_.object({workerBaseUrl:_.string().min(1),bootstrapToken:_.string().min(1),displayName:_.string().optional()}),D$=_.object({workerId:_.string().min(1),deviceToken:_.string().min(1)}),hN=SD({method:"workers.pair",description:"\u628A\u4E00\u4E2A\u5DF2\u542F\u52A8\u7684 worker \u901A\u8FC7 bootstrap token \u6CE8\u518C\u5230 fleet\u3002",params:WB,result:D$,routing:"operator-to-gateway"}),xN=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"}),yN=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"}),uN=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"}),_B=_.object({otp:_.string().min(1),workerId:_.string().min(1),displayName:_.string().min(1).optional(),submittedAt:_.number().int(),expiresAt:_.number().int()}),mN=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(_B)}),routing:"operator-to-gateway"}),pN=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"}),cN=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"}),dN=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"}),lN=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"}),iN=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"}),nN=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"}),sN=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"}),UB=_.enum(["allow","deny"]),AB=_.object({workerId:_.string().min(1),taskId:_.string().min(1),toolCallId:_.string().min(1),toolName:_.string().min(1),params:_.record(_.unknown()),expiresAt:_.number().int()}),rN=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(AB)}),routing:"operator-to-node"}),oN=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:UB}),result:_.object({granted:_.boolean()}),routing:"operator-to-node"}),aN=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()}),VB=_.object({expression:_.string().min(1),prompt:_.string().min(1),channel:$$,chatId:_.string().min(1),accountId:_.string().min(1).optional(),enabled:_.boolean().optional()}),QB=_.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"}),tN=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"}),eN=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:VB}),result:_.object({job:k9}),routing:"operator-to-node"}),DP=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"}),$P=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:QB}),result:_.object({job:k9}),routing:"operator-to-node"}),nD={"workers.list":vN,"workers.info":gN,"workers.pair":hN,"workers.launch":xN,"workers.stop":yN,"workers.remove":uN,"enroll.list":mN,"enroll.approve":pN,"enroll.reject":cN,"chat.send":dN,"config.get":lN,"config.put":iN,"token.rotate":nN,"logs.tail":sN,"system.presence":aN,"approval.list":rN,"approval.grant":oN,"cron.list":tN,"cron.add":eN,"cron.remove":DP,"cron.update":$P}});var L8=R(()=>{sY();HB();EB();t5()});import{access as FP,mkdir as XP,writeFile as JP}from"fs/promises";import{homedir as CB}from"os";import E0 from"path";import GP from"process";function HP(D){return D.startsWith("~")?E0.join(CB(),D.slice(1)):D}function j2(){let D=GP.env[YP];if(D&&D.length>0)return E0.resolve(HP(D));return E0.resolve(CB(),BP)}function z8(D){return E0.join(j2(),"workers",D)}function w1(D){return E0.join(z8(D),"brain")}function WP(D){return E0.join(w1(D),"skills")}function _P(D){return E0.join(w1(D),"memories")}function UP(D){return E0.join(w1(D),"MEMORY.md")}function AP(D){return E0.join(z8(D),"workspaces")}function RB(D){return E0.join(z8(D),"config.yaml")}function VP(D){return E0.join(z8(D),"AGENT.md")}function QP(D){return E0.join(z8(D),"SOUL.md")}function EP(D){return E0.join(z8(D),"USER.md")}async function k6(D){await XP(D,{recursive:!0})}async function g9(D,$){try{await FP(D)}catch{await JP(D,$,{encoding:"utf8"})}}async function X$(D){let $=z8(D);await k6($),await k6(w1(D)),await k6(WP(D)),await k6(_P(D)),await k6(AP(D)),await g9(VP(D),`# Agent ${D}
|
|
72
|
+
`:W}};R=Sq()});var GD,V$,k,E2=(D)=>{switch(typeof D){case"undefined":return k.undefined;case"string":return k.string;case"number":return Number.isNaN(D)?k.nan:k.number;case"boolean":return k.boolean;case"function":return k.function;case"bigint":return k.bigint;case"symbol":return k.symbol;case"object":if(Array.isArray(D))return k.array;if(D===null)return k.null;if(D.then&&typeof D.then==="function"&&D.catch&&typeof D.catch==="function")return k.promise;if(typeof Map<"u"&&D instanceof Map)return k.map;if(typeof Set<"u"&&D instanceof Set)return k.set;if(typeof Date<"u"&&D instanceof Date)return k.date;return k.object;default:return k.unknown}};var x6=M(()=>{(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}})(GD||(GD={}));(function(D){D.mergeShapes=($,F)=>{return{...$,...F}}})(V$||(V$={}));k=GD.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"])});var w,fq=(D)=>{return JSON.stringify(D,null,2).replace(/"([^"]+)":/g,"$1:")},V0;var y9=M(()=>{x6();w=GD.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"]);V0=class V0 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 V0))throw Error(`Not a ZodError: ${D}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,GD.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()}};V0.create=(D)=>{return new V0(D)}});var kq=(D,$)=>{let F;switch(D.code){case w.invalid_type:if(D.received===k.undefined)F="Required";else F=`Expected ${D.expected}, received ${D.received}`;break;case w.invalid_literal:F=`Invalid literal value, expected ${JSON.stringify(D.expected,GD.jsonStringifyReplacer)}`;break;case w.unrecognized_keys:F=`Unrecognized key(s) in object: ${GD.joinValues(D.keys,", ")}`;break;case w.invalid_union:F="Invalid input";break;case w.invalid_union_discriminator:F=`Invalid discriminator value. Expected ${GD.joinValues(D.options)}`;break;case w.invalid_enum_value:F=`Invalid enum value. Expected ${GD.joinValues(D.options)}, received '${D.received}'`;break;case w.invalid_arguments:F="Invalid function arguments";break;case w.invalid_return_type:F="Invalid function return type";break;case w.invalid_date:F="Invalid date";break;case w.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 GD.assertNever(D.validation);else if(D.validation!=="regex")F=`Invalid ${D.validation}`;else F="Invalid";break;case w.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 w.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 w.custom:F="Invalid input";break;case w.invalid_intersection_types:F="Intersection results could not be merged";break;case w.not_multiple_of:F=`Number must be a multiple of ${D.multipleOf}`;break;case w.not_finite:F="Number must be finite";break;default:F=$.defaultError,GD.assertNever(D)}return{message:F}},S2;var A$=M(()=>{y9();x6();S2=kq});function vq(D){VB=D}function M1(){return VB}var VB;var u9=M(()=>{A$();VB=S2});function g(D,$){let F=M1(),X=y6({issueData:$,data:D.data,path:D.path,errorMaps:[D.common.contextualErrorMap,D.schemaErrorMap,F,F===S2?void 0:S2].filter((J)=>!!J)});D.common.issues.push(X)}class aD{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 aD.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 y6=(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,w8=(D)=>({status:"dirty",value:D}),D0=(D)=>({status:"valid",value:D}),m9=(D)=>D.status==="aborted",p9=(D)=>D.status==="dirty",o2=(D)=>D.status==="valid",Z1=(D)=>typeof Promise<"u"&&D instanceof Promise;var Q$=M(()=>{u9();A$();hq=[];c=Object.freeze({status:"aborted"})});var AB=()=>{};var u;var QB=M(()=>{(function(D){D.errToObj=($)=>typeof $==="string"?{message:$}:$||{},D.toString=($)=>typeof $==="string"?$:$?.message})(u||(u={}))});class r0{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 E2(D.data)}_getOrReturnCtx(D,$){return $||{common:D.parent.common,data:D.data,parsedType:E2(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}_processInputParams(D){return{status:new aD,ctx:{common:D.parent.common,data:D.data,parsedType:E2(D.data),schemaErrorMap:this._def.errorMap,path:D.path,parent:D.parent}}}_parseSync(D){let $=this._parse(D);if(Z1($))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:E2(D)},X=this._parseSync({data:D,path:F.path,parent:F});return KB(F,X)}"~validate"(D){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:D,parsedType:E2(D)};if(!this["~standard"].async)try{let F=this._parseSync({data:D,path:[],parent:$});return o2(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)=>o2(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:E2(D)},X=this._parse({data:D,path:F.path,parent:F}),J=await(Z1(X)?X:Promise.resolve(X));return KB(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:w.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 o0({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 s0.create(this,this._def)}nullable(){return f2.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return n0.create(this)}promise(){return f8.create(this,this._def)}or(D){return z1.create([this,D],this._def)}and(D){return I1.create(this,D,this._def)}transform(D){return new o0({...a(this._def),schema:this,typeName:d.ZodEffects,effect:{type:"transform",transform:D}})}default(D){let $=typeof D==="function"?D:()=>D;return new b1({...a(this._def),innerType:this,defaultValue:$,typeName:d.ZodDefault})}brand(){return new d9({typeName:d.ZodBranded,type:this,...a(this._def)})}catch(D){let $=typeof D==="function"?D:()=>D;return new f1({...a(this._def),innerType:this,catchValue:$,typeName:d.ZodCatch})}describe(D){return new this.constructor({...this._def,description:D})}pipe(D){return l6.create(this,D)}readonly(){return k1.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}function RB(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 eq(D){return new RegExp(`^${RB(D)}$`)}function OB(D){let $=`${CB}T${RB(D)}`,F=[];if(F.push(D.local?"Z?":"Z"),D.offset)F.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${F.join("|")})`,new RegExp(`^${$}$`)}function DN(D,$){if(($==="v4"||!$)&&iq.test(D))return!0;if(($==="v6"||!$)&&sq.test(D))return!0;return!1}function $N(D,$){if(!pq.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 FN(D,$){if(($==="v4"||!$)&&nq.test(D))return!0;if(($==="v6"||!$)&&rq.test(D))return!0;return!1}function XN(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 q1(D){if(D instanceof jD){let $={};for(let F in D.shape){let X=D.shape[F];$[F]=s0.create(q1(X))}return new jD({...D._def,shape:()=>$})}else if(D instanceof n0)return new n0({...D._def,type:q1(D.element)});else if(D instanceof s0)return s0.create(q1(D.unwrap()));else if(D instanceof f2)return f2.create(q1(D.unwrap()));else if(D instanceof R2)return R2.create(D.items.map(($)=>q1($)));else return D}function E$(D,$){let F=E2(D),X=E2($);if(D===$)return{valid:!0,data:D};else if(F===k.object&&X===k.object){let J=GD.objectKeys($),Y=GD.objectKeys(D).filter((B)=>J.indexOf(B)!==-1),G={...D,...$};for(let B of Y){let H=E$(D[B],$[B]);if(!H.valid)return{valid:!1};G[B]=H.data}return{valid:!0,data:G}}else if(F===k.array&&X===k.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=E$(G,B);if(!H.valid)return{valid:!1};J.push(H.data)}return{valid:!0,data:J}}else if(F===k.date&&X===k.date&&+D===+$)return{valid:!0,data:D};else return{valid:!1}}function MB(D,$){return new D8({values:D,typeName:d.ZodEnum,...a($)})}function EB(D,$){let F=typeof D==="function"?D($):typeof D==="string"?{message:D}:D;return typeof F==="string"?{message:F}:F}function ZB(D,$={},F){if(D)return S8.create().superRefine((X,J)=>{let Y=D(X);if(Y instanceof Promise)return Y.then((G)=>{if(!G){let B=EB($,X),H=B.fatal??F??!0;J.addIssue({code:"custom",...B,fatal:H})}});if(!Y){let G=EB($,X),B=G.fatal??F??!0;J.addIssue({code:"custom",...G,fatal:B})}return});return S8.create()}var KB=(D,$)=>{if(o2($))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 V0(D.common.issues);return this._error=F,this._error}}}},gq,xq,yq,uq,mq,pq,cq,dq,lq="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",K$,iq,nq,sq,rq,oq,aq,CB="((\\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])))",tq,i0,t2,e2,P1,T8,u6,L1,j1,S8,a2,C2,m6,n0,jD,z1,b2=(D)=>{if(D instanceof w1)return b2(D.schema);else if(D instanceof o0)return b2(D.innerType());else if(D instanceof T1)return[D.value];else if(D instanceof D8)return D.options;else if(D instanceof S1)return GD.objectValues(D.enum);else if(D instanceof b1)return b2(D._def.innerType);else if(D instanceof L1)return[void 0];else if(D instanceof j1)return[null];else if(D instanceof s0)return[void 0,...b2(D.unwrap())];else if(D instanceof f2)return[null,...b2(D.unwrap())];else if(D instanceof d9)return b2(D.unwrap());else if(D instanceof k1)return b2(D.unwrap());else if(D instanceof f1)return b2(D._def.innerType);else return[]},c9,I1,R2,p6,c6,b8,N1,w1,T1,D8,S1,f8,o0,s0,f2,b1,f1,d6,JN,d9,l6,k1,GN,d,YN=(D,$={message:`Input not instance of ${D.name}`})=>ZB((F)=>F instanceof D,$),qB,NB,BN,HN,PB,WN,_N,UN,VN,AN,QN,KN,EN,CN,RN,ON,MN,ZN,qN,NN,PN,LN,jN,zN,IN,wN,TN,SN,bN,fN,kN,vN,hN,gN,xN=()=>qB().optional(),yN=()=>NB().optional(),uN=()=>PB().optional(),mN,pN;var LB=M(()=>{y9();u9();QB();Q$();x6();gq=/^c[^\s-]{8,}$/i,xq=/^[0-9a-z]+$/,yq=/^[0-9A-HJKMNP-TV-Z]{26}$/i,uq=/^[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,mq=/^[a-z0-9_-]{21}$/i,pq=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,cq=/^[-+]?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)?)??$/,dq=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,iq=/^(?:(?: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])$/,nq=/^(?:(?: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])$/,sq=/^(([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]))$/,rq=/^(([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])$/,oq=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,aq=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,tq=new RegExp(`^${CB}$`);i0=class i0 extends e{_parse(D){if(this._def.coerce)D.data=String(D.data);if(this._getType(D)!==k.string){let J=this._getOrReturnCtx(D);return g(J,{code:w.invalid_type,expected:k.string,received:J.parsedType}),c}let F=new aD,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),g(X,{code:w.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),g(X,{code:w.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)g(X,{code:w.too_big,maximum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});else if(G)g(X,{code:w.too_small,minimum:J.value,type:"string",inclusive:!0,exact:!0,message:J.message});F.dirty()}}else if(J.kind==="email"){if(!dq.test(D.data))X=this._getOrReturnCtx(D,X),g(X,{validation:"email",code:w.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="emoji"){if(!K$)K$=new RegExp(lq,"u");if(!K$.test(D.data))X=this._getOrReturnCtx(D,X),g(X,{validation:"emoji",code:w.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="uuid"){if(!uq.test(D.data))X=this._getOrReturnCtx(D,X),g(X,{validation:"uuid",code:w.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="nanoid"){if(!mq.test(D.data))X=this._getOrReturnCtx(D,X),g(X,{validation:"nanoid",code:w.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="cuid"){if(!gq.test(D.data))X=this._getOrReturnCtx(D,X),g(X,{validation:"cuid",code:w.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="cuid2"){if(!xq.test(D.data))X=this._getOrReturnCtx(D,X),g(X,{validation:"cuid2",code:w.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="ulid"){if(!yq.test(D.data))X=this._getOrReturnCtx(D,X),g(X,{validation:"ulid",code:w.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="url")try{new URL(D.data)}catch{X=this._getOrReturnCtx(D,X),g(X,{validation:"url",code:w.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),g(X,{validation:"regex",code:w.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),g(X,{code:w.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),g(X,{code:w.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),g(X,{code:w.invalid_string,validation:{endsWith:J.value},message:J.message}),F.dirty()}else if(J.kind==="datetime"){if(!OB(J).test(D.data))X=this._getOrReturnCtx(D,X),g(X,{code:w.invalid_string,validation:"datetime",message:J.message}),F.dirty()}else if(J.kind==="date"){if(!tq.test(D.data))X=this._getOrReturnCtx(D,X),g(X,{code:w.invalid_string,validation:"date",message:J.message}),F.dirty()}else if(J.kind==="time"){if(!eq(J).test(D.data))X=this._getOrReturnCtx(D,X),g(X,{code:w.invalid_string,validation:"time",message:J.message}),F.dirty()}else if(J.kind==="duration"){if(!cq.test(D.data))X=this._getOrReturnCtx(D,X),g(X,{validation:"duration",code:w.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="ip"){if(!DN(D.data,J.version))X=this._getOrReturnCtx(D,X),g(X,{validation:"ip",code:w.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="jwt"){if(!$N(D.data,J.alg))X=this._getOrReturnCtx(D,X),g(X,{validation:"jwt",code:w.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="cidr"){if(!FN(D.data,J.version))X=this._getOrReturnCtx(D,X),g(X,{validation:"cidr",code:w.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="base64"){if(!oq.test(D.data))X=this._getOrReturnCtx(D,X),g(X,{validation:"base64",code:w.invalid_string,message:J.message}),F.dirty()}else if(J.kind==="base64url"){if(!aq.test(D.data))X=this._getOrReturnCtx(D,X),g(X,{validation:"base64url",code:w.invalid_string,message:J.message}),F.dirty()}else GD.assertNever(J);return{status:F.value,value:D.data}}_regex(D,$,F){return this.refinement((X)=>D.test(X),{validation:$,code:w.invalid_string,...u.errToObj(F)})}_addCheck(D){return new i0({...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 i0({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new i0({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new i0({...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}};i0.create=(D)=>{return new i0({checks:[],typeName:d.ZodString,coerce:D?.coerce??!1,...a(D)})};t2=class t2 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)!==k.number){let J=this._getOrReturnCtx(D);return g(J,{code:w.invalid_type,expected:k.number,received:J.parsedType}),c}let F=void 0,X=new aD;for(let J of this._def.checks)if(J.kind==="int"){if(!GD.isInteger(D.data))F=this._getOrReturnCtx(D,F),g(F,{code:w.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),g(F,{code:w.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),g(F,{code:w.too_big,maximum:J.value,type:"number",inclusive:J.inclusive,exact:!1,message:J.message}),X.dirty()}else if(J.kind==="multipleOf"){if(XN(D.data,J.value)!==0)F=this._getOrReturnCtx(D,F),g(F,{code:w.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),g(F,{code:w.not_finite,message:J.message}),X.dirty()}else GD.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 t2({...this._def,checks:[...this._def.checks,{kind:D,value:$,inclusive:F,message:u.toString(X)}]})}_addCheck(D){return new t2({...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"&&GD.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)}};t2.create=(D)=>{return new t2({checks:[],typeName:d.ZodNumber,coerce:D?.coerce||!1,...a(D)})};e2=class e2 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)!==k.bigint)return this._getInvalidInput(D);let F=void 0,X=new aD;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),g(F,{code:w.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),g(F,{code:w.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),g(F,{code:w.not_multiple_of,multipleOf:J.value,message:J.message}),X.dirty()}else GD.assertNever(J);return{status:X.value,value:D.data}}_getInvalidInput(D){let $=this._getOrReturnCtx(D);return g($,{code:w.invalid_type,expected:k.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 e2({...this._def,checks:[...this._def.checks,{kind:D,value:$,inclusive:F,message:u.toString(X)}]})}_addCheck(D){return new e2({...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}};e2.create=(D)=>{return new e2({checks:[],typeName:d.ZodBigInt,coerce:D?.coerce??!1,...a(D)})};P1=class P1 extends e{_parse(D){if(this._def.coerce)D.data=Boolean(D.data);if(this._getType(D)!==k.boolean){let F=this._getOrReturnCtx(D);return g(F,{code:w.invalid_type,expected:k.boolean,received:F.parsedType}),c}return D0(D.data)}};P1.create=(D)=>{return new P1({typeName:d.ZodBoolean,coerce:D?.coerce||!1,...a(D)})};T8=class T8 extends e{_parse(D){if(this._def.coerce)D.data=new Date(D.data);if(this._getType(D)!==k.date){let J=this._getOrReturnCtx(D);return g(J,{code:w.invalid_type,expected:k.date,received:J.parsedType}),c}if(Number.isNaN(D.data.getTime())){let J=this._getOrReturnCtx(D);return g(J,{code:w.invalid_date}),c}let F=new aD,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),g(X,{code:w.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),g(X,{code:w.too_big,message:J.message,inclusive:!0,exact:!1,maximum:J.value,type:"date"}),F.dirty()}else GD.assertNever(J);return{status:F.value,value:new Date(D.data.getTime())}}_addCheck(D){return new T8({...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}};T8.create=(D)=>{return new T8({checks:[],coerce:D?.coerce||!1,typeName:d.ZodDate,...a(D)})};u6=class u6 extends e{_parse(D){if(this._getType(D)!==k.symbol){let F=this._getOrReturnCtx(D);return g(F,{code:w.invalid_type,expected:k.symbol,received:F.parsedType}),c}return D0(D.data)}};u6.create=(D)=>{return new u6({typeName:d.ZodSymbol,...a(D)})};L1=class L1 extends e{_parse(D){if(this._getType(D)!==k.undefined){let F=this._getOrReturnCtx(D);return g(F,{code:w.invalid_type,expected:k.undefined,received:F.parsedType}),c}return D0(D.data)}};L1.create=(D)=>{return new L1({typeName:d.ZodUndefined,...a(D)})};j1=class j1 extends e{_parse(D){if(this._getType(D)!==k.null){let F=this._getOrReturnCtx(D);return g(F,{code:w.invalid_type,expected:k.null,received:F.parsedType}),c}return D0(D.data)}};j1.create=(D)=>{return new j1({typeName:d.ZodNull,...a(D)})};S8=class S8 extends e{constructor(){super(...arguments);this._any=!0}_parse(D){return D0(D.data)}};S8.create=(D)=>{return new S8({typeName:d.ZodAny,...a(D)})};a2=class a2 extends e{constructor(){super(...arguments);this._unknown=!0}_parse(D){return D0(D.data)}};a2.create=(D)=>{return new a2({typeName:d.ZodUnknown,...a(D)})};C2=class C2 extends e{_parse(D){let $=this._getOrReturnCtx(D);return g($,{code:w.invalid_type,expected:k.never,received:$.parsedType}),c}};C2.create=(D)=>{return new C2({typeName:d.ZodNever,...a(D)})};m6=class m6 extends e{_parse(D){if(this._getType(D)!==k.undefined){let F=this._getOrReturnCtx(D);return g(F,{code:w.invalid_type,expected:k.void,received:F.parsedType}),c}return D0(D.data)}};m6.create=(D)=>{return new m6({typeName:d.ZodVoid,...a(D)})};n0=class n0 extends e{_parse(D){let{ctx:$,status:F}=this._processInputParams(D),X=this._def;if($.parsedType!==k.array)return g($,{code:w.invalid_type,expected:k.array,received:$.parsedType}),c;if(X.exactLength!==null){let Y=$.data.length>X.exactLength.value,G=$.data.length<X.exactLength.value;if(Y||G)g($,{code:Y?w.too_big:w.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)g($,{code:w.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)g($,{code:w.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 r0($,Y,$.path,G))})).then((Y)=>{return aD.mergeArray(F,Y)});let J=[...$.data].map((Y,G)=>{return X.type._parseSync(new r0($,Y,$.path,G))});return aD.mergeArray(F,J)}get element(){return this._def.type}min(D,$){return new n0({...this._def,minLength:{value:D,message:u.toString($)}})}max(D,$){return new n0({...this._def,maxLength:{value:D,message:u.toString($)}})}length(D,$){return new n0({...this._def,exactLength:{value:D,message:u.toString($)}})}nonempty(D){return this.min(1,D)}};n0.create=(D,$)=>{return new n0({type:D,minLength:null,maxLength:null,exactLength:null,typeName:d.ZodArray,...a($)})};jD=class jD 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(),$=GD.objectKeys(D);return this._cached={shape:D,keys:$},this._cached}_parse(D){if(this._getType(D)!==k.object){let H=this._getOrReturnCtx(D);return g(H,{code:w.invalid_type,expected:k.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 C2&&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 r0(X,U,X.path,H)),alwaysSet:H in X.data})}if(this._def.catchall instanceof C2){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)g(X,{code:w.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 r0(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,V=await W.value;H.push({key:U,value:V,alwaysSet:W.alwaysSet})}return H}).then((H)=>{return aD.mergeObjectSync(F,H)});else return aD.mergeObjectSync(F,B)}get shape(){return this._def.shape()}strict(D){return u.errToObj,new jD({...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 jD({...this._def,unknownKeys:"strip"})}passthrough(){return new jD({...this._def,unknownKeys:"passthrough"})}extend(D){return new jD({...this._def,shape:()=>({...this._def.shape(),...D})})}merge(D){return new jD({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 jD({...this._def,catchall:D})}pick(D){let $={};for(let F of GD.objectKeys(D))if(D[F]&&this.shape[F])$[F]=this.shape[F];return new jD({...this._def,shape:()=>$})}omit(D){let $={};for(let F of GD.objectKeys(this.shape))if(!D[F])$[F]=this.shape[F];return new jD({...this._def,shape:()=>$})}deepPartial(){return q1(this)}partial(D){let $={};for(let F of GD.objectKeys(this.shape)){let X=this.shape[F];if(D&&!D[F])$[F]=X;else $[F]=X.optional()}return new jD({...this._def,shape:()=>$})}required(D){let $={};for(let F of GD.objectKeys(this.shape))if(D&&!D[F])$[F]=this.shape[F];else{let J=this.shape[F];while(J instanceof s0)J=J._def.innerType;$[F]=J}return new jD({...this._def,shape:()=>$})}keyof(){return MB(GD.objectKeys(this.shape))}};jD.create=(D,$)=>{return new jD({shape:()=>D,unknownKeys:"strip",catchall:C2.create(),typeName:d.ZodObject,...a($)})};jD.strictCreate=(D,$)=>{return new jD({shape:()=>D,unknownKeys:"strict",catchall:C2.create(),typeName:d.ZodObject,...a($)})};jD.lazycreate=(D,$)=>{return new jD({shape:D,unknownKeys:"strip",catchall:C2.create(),typeName:d.ZodObject,...a($)})};z1=class z1 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 V0(G.ctx.common.issues));return g($,{code:w.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 V0(B));return g($,{code:w.invalid_union,unionErrors:G}),c}}get options(){return this._def.options}};z1.create=(D,$)=>{return new z1({options:D,typeName:d.ZodUnion,...a($)})};c9=class c9 extends e{_parse(D){let{ctx:$}=this._processInputParams(D);if($.parsedType!==k.object)return g($,{code:w.invalid_type,expected:k.object,received:$.parsedType}),c;let F=this.discriminator,X=$.data[F],J=this.optionsMap.get(X);if(!J)return g($,{code:w.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=b2(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 c9({typeName:d.ZodDiscriminatedUnion,discriminator:D,options:$,optionsMap:X,...a(F)})}};I1=class I1 extends e{_parse(D){let{status:$,ctx:F}=this._processInputParams(D),X=(J,Y)=>{if(m9(J)||m9(Y))return c;let G=E$(J.value,Y.value);if(!G.valid)return g(F,{code:w.invalid_intersection_types}),c;if(p9(J)||p9(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}))}};I1.create=(D,$,F)=>{return new I1({left:D,right:$,typeName:d.ZodIntersection,...a(F)})};R2=class R2 extends e{_parse(D){let{status:$,ctx:F}=this._processInputParams(D);if(F.parsedType!==k.array)return g(F,{code:w.invalid_type,expected:k.array,received:F.parsedType}),c;if(F.data.length<this._def.items.length)return g(F,{code:w.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)g(F,{code:w.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 r0(F,Y,F.path,G))}).filter((Y)=>!!Y);if(F.common.async)return Promise.all(J).then((Y)=>{return aD.mergeArray($,Y)});else return aD.mergeArray($,J)}get items(){return this._def.items}rest(D){return new R2({...this._def,rest:D})}};R2.create=(D,$)=>{if(!Array.isArray(D))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new R2({items:D,typeName:d.ZodTuple,rest:null,...a($)})};p6=class p6 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!==k.object)return g(F,{code:w.invalid_type,expected:k.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 r0(F,G,F.path,G)),value:Y._parse(new r0(F,F.data[G],F.path,G)),alwaysSet:G in F.data});if(F.common.async)return aD.mergeObjectAsync($,X);else return aD.mergeObjectSync($,X)}get element(){return this._def.valueType}static create(D,$,F){if($ instanceof e)return new p6({keyType:D,valueType:$,typeName:d.ZodRecord,...a(F)});return new p6({keyType:i0.create(),valueType:D,typeName:d.ZodRecord,...a($)})}};c6=class c6 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!==k.map)return g(F,{code:w.invalid_type,expected:k.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 r0(F,G,F.path,[H,"key"])),value:J._parse(new r0(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}}}};c6.create=(D,$,F)=>{return new c6({valueType:$,keyType:D,typeName:d.ZodMap,...a(F)})};b8=class b8 extends e{_parse(D){let{status:$,ctx:F}=this._processInputParams(D);if(F.parsedType!==k.set)return g(F,{code:w.invalid_type,expected:k.set,received:F.parsedType}),c;let X=this._def;if(X.minSize!==null){if(F.data.size<X.minSize.value)g(F,{code:w.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)g(F,{code:w.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 r0(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 b8({...this._def,minSize:{value:D,message:u.toString($)}})}max(D,$){return new b8({...this._def,maxSize:{value:D,message:u.toString($)}})}size(D,$){return this.min(D,$).max(D,$)}nonempty(D){return this.min(1,D)}};b8.create=(D,$)=>{return new b8({valueType:D,minSize:null,maxSize:null,typeName:d.ZodSet,...a($)})};N1=class N1 extends e{constructor(){super(...arguments);this.validate=this.implement}_parse(D){let{ctx:$}=this._processInputParams(D);if($.parsedType!==k.function)return g($,{code:w.invalid_type,expected:k.function,received:$.parsedType}),c;function F(G,B){return y6({data:G,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,M1(),S2].filter((H)=>!!H),issueData:{code:w.invalid_arguments,argumentsError:B}})}function X(G,B){return y6({data:G,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,M1(),S2].filter((H)=>!!H),issueData:{code:w.invalid_return_type,returnTypeError:B}})}let J={errorMap:$.common.contextualErrorMap},Y=$.data;if(this._def.returns instanceof f8){let G=this;return D0(async function(...B){let H=new V0([]),W=await G._def.args.parseAsync(B,J).catch((A)=>{throw H.addIssue(F(B,A)),H}),U=await Reflect.apply(Y,this,W);return await G._def.returns._def.type.parseAsync(U,J).catch((A)=>{throw H.addIssue(X(U,A)),H})})}else{let G=this;return D0(function(...B){let H=G._def.args.safeParse(B,J);if(!H.success)throw new V0([F(B,H.error)]);let W=Reflect.apply(Y,this,H.data),U=G._def.returns.safeParse(W,J);if(!U.success)throw new V0([X(W,U.error)]);return U.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...D){return new N1({...this._def,args:R2.create(D).rest(a2.create())})}returns(D){return new N1({...this._def,returns:D})}implement(D){return this.parse(D)}strictImplement(D){return this.parse(D)}static create(D,$,F){return new N1({args:D?D:R2.create([]).rest(a2.create()),returns:$||a2.create(),typeName:d.ZodFunction,...a(F)})}};w1=class w1 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:$})}};w1.create=(D,$)=>{return new w1({getter:D,typeName:d.ZodLazy,...a($)})};T1=class T1 extends e{_parse(D){if(D.data!==this._def.value){let $=this._getOrReturnCtx(D);return g($,{received:$.data,code:w.invalid_literal,expected:this._def.value}),c}return{status:"valid",value:D.data}}get value(){return this._def.value}};T1.create=(D,$)=>{return new T1({value:D,typeName:d.ZodLiteral,...a($)})};D8=class D8 extends e{_parse(D){if(typeof D.data!=="string"){let $=this._getOrReturnCtx(D),F=this._def.values;return g($,{expected:GD.joinValues(F),received:$.parsedType,code:w.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 g($,{received:$.data,code:w.invalid_enum_value,options:F}),c}return D0(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 D8.create(D,{...this._def,...$})}exclude(D,$=this._def){return D8.create(this.options.filter((F)=>!D.includes(F)),{...this._def,...$})}};D8.create=MB;S1=class S1 extends e{_parse(D){let $=GD.getValidEnumValues(this._def.values),F=this._getOrReturnCtx(D);if(F.parsedType!==k.string&&F.parsedType!==k.number){let X=GD.objectValues($);return g(F,{expected:GD.joinValues(X),received:F.parsedType,code:w.invalid_type}),c}if(!this._cache)this._cache=new Set(GD.getValidEnumValues(this._def.values));if(!this._cache.has(D.data)){let X=GD.objectValues($);return g(F,{received:F.data,code:w.invalid_enum_value,options:X}),c}return D0(D.data)}get enum(){return this._def.values}};S1.create=(D,$)=>{return new S1({values:D,typeName:d.ZodNativeEnum,...a($)})};f8=class f8 extends e{unwrap(){return this._def.type}_parse(D){let{ctx:$}=this._processInputParams(D);if($.parsedType!==k.promise&&$.common.async===!1)return g($,{code:w.invalid_type,expected:k.promise,received:$.parsedType}),c;let F=$.parsedType===k.promise?$.data:Promise.resolve($.data);return D0(F.then((X)=>{return this._def.type.parseAsync(X,{path:$.path,errorMap:$.common.contextualErrorMap})}))}};f8.create=(D,$)=>{return new f8({type:D,typeName:d.ZodPromise,...a($)})};o0=class o0 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(g(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 w8(B.value);if($.value==="dirty")return w8(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 w8(G.value);if($.value==="dirty")return w8(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(!o2(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(!o2(Y))return c;return Promise.resolve(X.transform(Y.value,J)).then((G)=>({status:$.value,value:G}))});GD.assertNever(X)}};o0.create=(D,$,F)=>{return new o0({schema:D,typeName:d.ZodEffects,effect:$,...a(F)})};o0.createWithPreprocess=(D,$,F)=>{return new o0({schema:$,effect:{type:"preprocess",transform:D},typeName:d.ZodEffects,...a(F)})};s0=class s0 extends e{_parse(D){if(this._getType(D)===k.undefined)return D0(void 0);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}};s0.create=(D,$)=>{return new s0({innerType:D,typeName:d.ZodOptional,...a($)})};f2=class f2 extends e{_parse(D){if(this._getType(D)===k.null)return D0(null);return this._def.innerType._parse(D)}unwrap(){return this._def.innerType}};f2.create=(D,$)=>{return new f2({innerType:D,typeName:d.ZodNullable,...a($)})};b1=class b1 extends e{_parse(D){let{ctx:$}=this._processInputParams(D),F=$.data;if($.parsedType===k.undefined)F=this._def.defaultValue();return this._def.innerType._parse({data:F,path:$.path,parent:$})}removeDefault(){return this._def.innerType}};b1.create=(D,$)=>{return new b1({innerType:D,typeName:d.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...a($)})};f1=class f1 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(Z1(X))return X.then((J)=>{return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new V0(F.common.issues)},input:F.data})}});else return{status:"valid",value:X.status==="valid"?X.value:this._def.catchValue({get error(){return new V0(F.common.issues)},input:F.data})}}removeCatch(){return this._def.innerType}};f1.create=(D,$)=>{return new f1({innerType:D,typeName:d.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...a($)})};d6=class d6 extends e{_parse(D){if(this._getType(D)!==k.nan){let F=this._getOrReturnCtx(D);return g(F,{code:w.invalid_type,expected:k.nan,received:F.parsedType}),c}return{status:"valid",value:D.data}}};d6.create=(D)=>{return new d6({typeName:d.ZodNaN,...a(D)})};JN=Symbol("zod_brand");d9=class d9 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}};l6=class l6 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(),w8(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 l6({in:D,out:$,typeName:d.ZodPipeline})}};k1=class k1 extends e{_parse(D){let $=this._def.innerType._parse(D),F=(X)=>{if(o2(X))X.value=Object.freeze(X.value);return X};return Z1($)?$.then((X)=>F(X)):F($)}unwrap(){return this._def.innerType}};k1.create=(D,$)=>{return new k1({innerType:D,typeName:d.ZodReadonly,...a($)})};GN={object:jD.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={}));qB=i0.create,NB=t2.create,BN=d6.create,HN=e2.create,PB=P1.create,WN=T8.create,_N=u6.create,UN=L1.create,VN=j1.create,AN=S8.create,QN=a2.create,KN=C2.create,EN=m6.create,CN=n0.create,RN=jD.create,ON=jD.strictCreate,MN=z1.create,ZN=c9.create,qN=I1.create,NN=R2.create,PN=p6.create,LN=c6.create,jN=b8.create,zN=N1.create,IN=w1.create,wN=T1.create,TN=D8.create,SN=S1.create,bN=f8.create,fN=o0.create,kN=s0.create,vN=f2.create,hN=o0.createWithPreprocess,gN=l6.create,mN={string:(D)=>i0.create({...D,coerce:!0}),number:(D)=>t2.create({...D,coerce:!0}),boolean:(D)=>P1.create({...D,coerce:!0}),bigint:(D)=>e2.create({...D,coerce:!0}),date:(D)=>T8.create({...D,coerce:!0})},pN=c});var _={};z8(_,{void:()=>EN,util:()=>GD,unknown:()=>QN,union:()=>MN,undefined:()=>UN,tuple:()=>NN,transformer:()=>fN,symbol:()=>_N,string:()=>qB,strictObject:()=>ON,setErrorMap:()=>vq,set:()=>jN,record:()=>PN,quotelessJson:()=>fq,promise:()=>bN,preprocess:()=>hN,pipeline:()=>gN,ostring:()=>xN,optional:()=>kN,onumber:()=>yN,oboolean:()=>uN,objectUtil:()=>V$,object:()=>RN,number:()=>NB,nullable:()=>vN,null:()=>VN,never:()=>KN,nativeEnum:()=>SN,nan:()=>BN,map:()=>LN,makeIssue:()=>y6,literal:()=>wN,lazy:()=>IN,late:()=>GN,isValid:()=>o2,isDirty:()=>p9,isAsync:()=>Z1,isAborted:()=>m9,intersection:()=>qN,instanceof:()=>YN,getParsedType:()=>E2,getErrorMap:()=>M1,function:()=>zN,enum:()=>TN,effect:()=>fN,discriminatedUnion:()=>ZN,defaultErrorMap:()=>S2,datetimeRegex:()=>OB,date:()=>WN,custom:()=>ZB,coerce:()=>mN,boolean:()=>PB,bigint:()=>HN,array:()=>CN,any:()=>AN,addIssueToContext:()=>g,ZodVoid:()=>m6,ZodUnknown:()=>a2,ZodUnion:()=>z1,ZodUndefined:()=>L1,ZodType:()=>e,ZodTuple:()=>R2,ZodTransformer:()=>o0,ZodSymbol:()=>u6,ZodString:()=>i0,ZodSet:()=>b8,ZodSchema:()=>e,ZodRecord:()=>p6,ZodReadonly:()=>k1,ZodPromise:()=>f8,ZodPipeline:()=>l6,ZodParsedType:()=>k,ZodOptional:()=>s0,ZodObject:()=>jD,ZodNumber:()=>t2,ZodNullable:()=>f2,ZodNull:()=>j1,ZodNever:()=>C2,ZodNativeEnum:()=>S1,ZodNaN:()=>d6,ZodMap:()=>c6,ZodLiteral:()=>T1,ZodLazy:()=>w1,ZodIssueCode:()=>w,ZodIntersection:()=>I1,ZodFunction:()=>N1,ZodFirstPartyTypeKind:()=>d,ZodError:()=>V0,ZodEnum:()=>D8,ZodEffects:()=>o0,ZodDiscriminatedUnion:()=>c9,ZodDefault:()=>b1,ZodDate:()=>T8,ZodCatch:()=>f1,ZodBranded:()=>d9,ZodBoolean:()=>P1,ZodBigInt:()=>e2,ZodArray:()=>n0,ZodAny:()=>S8,Schema:()=>e,ParseStatus:()=>aD,OK:()=>D0,NEVER:()=>pN,INVALID:()=>c,EMPTY_PATH:()=>hq,DIRTY:()=>w8,BRAND:()=>JN});var C$=M(()=>{u9();Q$();AB();x6();LB();y9()});var vD=M(()=>{C$();C$()});function R$(D){return Object.prototype.hasOwnProperty.call(vB,D)}var XD,a0,jB,zB,IB,wB,TB,SB,bB,fB,kB,l9,i9,vB;var hB=M(()=>{vD();XD={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"},a0=_.object({workerId:_.string().min(1)}),jB=a0.extend({displayName:_.string().optional(),deviceId:_.string().min(1),connectedAt:_.number().int()}),zB=a0.extend({deviceId:_.string().min(1),reason:_.enum(["disconnected","expired","kicked"]).optional(),disconnectedAt:_.number().int()}),IB=a0.extend({conversationId:_.string().min(1),role:_.enum(["user","assistant","system"]),content:_.string(),createdAt:_.number().int()}),wB=a0.extend({conversationId:_.string().min(1),taskId:_.string().min(1).optional(),chunk:_.string().optional()}),TB=a0.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()}),SB=a0.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()}),bB=a0.extend({version:_.number().int().nonnegative(),changedAt:_.number().int()}),fB=a0.extend({stream:_.enum(["stdout","stderr"]),line:_.string(),ts:_.number().int()}),kB=a0.extend({taskId:_.string().min(1),toolCallId:_.string().min(1),toolName:_.string().min(1),params:_.record(_.unknown()),expiresAt:_.number().int()}),l9=a0.extend({otp:_.string().min(1),expiresAt:_.number().int()}),i9=a0.extend({deviceToken:_.string().min(1)}),vB={[XD.WORKER_ONLINE]:jB,[XD.WORKER_OFFLINE]:zB,[XD.CHAT_MESSAGE]:IB,[XD.AGENT_THINKING]:wB,[XD.AGENT_TOOL_CALL]:TB,[XD.AGENT_DONE]:SB,[XD.CONFIG_CHANGED]:bB,[XD.LOGS_LINE]:fB,[XD.APPROVAL_REQUESTED]:kB,[XD.ENROLLMENT_OTP]:l9,[XD.ENROLLMENT_APPROVED]:i9}});var ND;var gB=M(()=>{ND=class ND extends Error{code;status;constructor(D,$,F){super(F);this.code=D;this.status=$;this.name="AppError"}static badRequest(D,$="BAD_REQUEST"){return new ND($,400,D)}static notFound(D,$="NOT_FOUND"){return new ND($,404,D)}static internal(D,$="INTERNAL_ERROR"){return new ND($,500,D)}toJSON(){return{error:{code:this.code,message:this.message}}}}});var n9=20;var v1,s9="0123456789abcdefghjkmnpqrstvwxyz";var xB=M(()=>{v1=/^w_[0-9a-hjkmnp-tv-z]{12}$/});function $8(D){return typeof D==="string"&&k2.test(D)}var r9="wtk_",k2;var yB=M(()=>{k2=/^wtk_[\w-]{32,}$/});var O$=M(()=>{xB();yB()});import{randomBytes as dN}from"crypto";function lN(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 M$(){let D=dN(10);return`w_${lN(D,12)}`}var uB=M(()=>{O$()});var Z$,q$,o9,N$,mB;var pB=M(()=>{vD();Z$=_.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()})]),q$=_.enum(["pending","running","success","failed","pending_approval","denied"]),o9=_.object({inputTokens:_.number().int().nonnegative(),outputTokens:_.number().int().nonnegative()}),N$=_.enum(["stop","tool","length","error","cancelled"]),mB=_.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:Z$,status:q$.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:o9}),_.object({type:_.literal("finish"),reason:N$,usage:o9.optional()}),_.object({type:_.literal("error"),error:_.string()})])});var cB=M(()=>{pB()});var Z0=M(()=>{gB();O$();uB();cB()});var k8,P$;var L$=M(()=>{vD();k8={OPERATOR:"operator",NODE:"node"},P$=_.union([_.literal(k8.OPERATOR),_.literal(k8.NODE)])});function v8(D){let $;try{$=JSON.parse(D)}catch(X){return{ok:!1,error:`invalid_json:${X instanceof Error?X.message:String(X)}`}}let F=rB.safeParse($);if(!F.success)return{ok:!1,error:`schema:${F.error.message}`};return{ok:!0,frame:F.data}}function zD(D){return JSON.stringify(D)}var dB,lB,iB,iN,nN,nB,sB,rB;var oB=M(()=>{Z0();vD();L$();dB=_.object({type:_.literal("connect"),role:P$,agentId:_.string().min(1),deviceId:_.string().min(1),auth:_.object({token:_.string()}),meta:_.record(_.string()).optional(),enroll:_.object({apiToken:_.string().regex(k2,"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"})}),lB=_.object({type:_.literal("request"),id:_.string().min(1),method:_.string().min(1),params:_.unknown().optional()}),iB=_.object({code:_.string().min(1),message:_.string(),details:_.unknown().optional()}),iN=_.object({type:_.literal("response"),id:_.string().min(1),ok:_.literal(!0),result:_.unknown()}),nN=_.object({type:_.literal("response"),id:_.string().min(1),ok:_.literal(!1),error:iB}),nB=_.discriminatedUnion("ok",[iN,nN]),sB=_.object({type:_.literal("event"),name:_.string().min(1),payload:_.unknown(),ts:_.number().int()}),rB=_.union([dB,lB,nB,sB])});function fD(D){return D}function e9(D){return Object.prototype.hasOwnProperty.call(lD,D)}function i6(D){if(!e9(D))return;return lD[D]}var h8,sN,rN,aB,h1,oN,aN,tN,eN,a9,DP,$P,FP,XP,JP,GP,YP,BP,tB,eB,HP,WP,_P,j$,t9,DH,$H,UP,VP,AP,QP,lD;var FH=M(()=>{vD();h8=_.object({workerId:_.string().min(1),displayName:_.string().optional(),online:_.boolean(),deviceId:_.string().min(1).optional(),baseUrl:_.string().optional(),lastSeenAt:_.number().int().nullable().optional()}),sN=fD({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(h8)}),routing:"operator-to-gateway"}),rN=fD({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"}),aB=_.object({workerBaseUrl:_.string().min(1),bootstrapToken:_.string().min(1),displayName:_.string().optional()}),h1=_.object({workerId:_.string().min(1),deviceToken:_.string().min(1)}),oN=fD({method:"workers.pair",description:"\u628A\u4E00\u4E2A\u5DF2\u542F\u52A8\u7684 worker \u901A\u8FC7 bootstrap token \u6CE8\u518C\u5230 fleet\u3002",params:aB,result:h1,routing:"operator-to-gateway"}),aN=fD({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:h1,routing:"operator-to-gateway"}),tN=fD({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"}),eN=fD({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"}),a9=_.object({otp:_.string().min(1),workerId:_.string().min(1),displayName:_.string().min(1).optional(),submittedAt:_.number().int(),expiresAt:_.number().int()}),DP=fD({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(a9)}),routing:"operator-to-gateway"}),$P=fD({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"}),FP=fD({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"}),XP=fD({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"}),JP=fD({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"}),GP=fD({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"}),YP=fD({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"}),BP=fD({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"}),tB=_.enum(["allow","deny"]),eB=_.object({workerId:_.string().min(1),taskId:_.string().min(1),toolCallId:_.string().min(1),toolName:_.string().min(1),params:_.record(_.unknown()),expiresAt:_.number().int()}),HP=fD({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(eB)}),routing:"operator-to-node"}),WP=fD({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:tB}),result:_.object({granted:_.boolean()}),routing:"operator-to-node"}),_P=fD({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(h8)}),routing:"operator-to-gateway"}),j$=_.enum(["web","line","telegram","lark","whatsapp"]),t9=_.object({id:_.string().min(1),expression:_.string().min(1),prompt:_.string().min(1),channel:j$,chatId:_.string().min(1),accountId:_.string().min(1),enabled:_.boolean(),lastRunAt:_.string().nullable(),nextRunAt:_.string().nullable(),createdAt:_.string(),updatedAt:_.string()}),DH=_.object({expression:_.string().min(1),prompt:_.string().min(1),channel:j$,chatId:_.string().min(1),accountId:_.string().min(1).optional(),enabled:_.boolean().optional()}),$H=_.object({expression:_.string().min(1).optional(),prompt:_.string().min(1).optional(),channel:j$.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"}),UP=fD({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(t9)}),routing:"operator-to-node"}),VP=fD({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:DH}),result:_.object({job:t9}),routing:"operator-to-node"}),AP=fD({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"}),QP=fD({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:$H}),result:_.object({job:t9}),routing:"operator-to-node"}),lD={"workers.list":sN,"workers.info":rN,"workers.pair":oN,"workers.launch":aN,"workers.stop":tN,"workers.remove":eN,"enroll.list":DP,"enroll.approve":$P,"enroll.reject":FP,"chat.send":XP,"config.get":JP,"config.put":GP,"token.rotate":YP,"logs.tail":BP,"system.presence":_P,"approval.list":HP,"approval.grant":WP,"cron.list":UP,"cron.add":VP,"cron.remove":AP,"cron.update":QP}});var $0=M(()=>{hB();oB();FH();L$()});import{access as KP,mkdir as EP,writeFile as CP}from"fs/promises";import{homedir as JH}from"os";import q0 from"path";import RP from"process";function ZP(D){return D.startsWith("~")?q0.join(JH(),D.slice(1)):D}function O2(){let D=RP.env[OP];if(D&&D.length>0)return q0.resolve(ZP(D));return q0.resolve(JH(),MP)}function g8(D){return q0.join(O2(),"workers",D)}function g1(D){return q0.join(g8(D),"brain")}function qP(D){return q0.join(g1(D),"skills")}function NP(D){return q0.join(g1(D),"memories")}function PP(D){return q0.join(g1(D),"MEMORY.md")}function LP(D){return q0.join(g8(D),"workspaces")}function GH(D){return q0.join(g8(D),"config.yaml")}function jP(D){return q0.join(g8(D),"AGENT.md")}function zP(D){return q0.join(g8(D),"SOUL.md")}function IP(D){return q0.join(g8(D),"USER.md")}async function n6(D){await EP(D,{recursive:!0})}async function D7(D,$){try{await KP(D)}catch{await CP(D,$,{encoding:"utf8"})}}async function z$(D){let $=g8(D);await n6($),await n6(g1(D)),await n6(qP(D)),await n6(NP(D)),await n6(LP(D)),await D7(jP(D),`# Agent ${D}
|
|
73
73
|
|
|
74
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
|
|
75
|
+
`),await D7(zP(D),`# Voice of ${D}
|
|
76
76
|
|
|
77
77
|
> Draft voice / style guide. Influences how the agent phrases responses across channels.
|
|
78
|
-
`),await
|
|
78
|
+
`),await D7(IP(D),`# User profile (maintained by ${D})
|
|
79
79
|
|
|
80
80
|
> The agent writes learned facts about the primary user here over time. Edit by hand to bootstrap.
|
|
81
|
-
`),await
|
|
81
|
+
`),await D7(PP(D),`# Memory index
|
|
82
82
|
|
|
83
83
|
> One line per memory: \`- [Title](filename.md) \u2014 short description.\`
|
|
84
|
-
`)}var
|
|
85
|
-
`,{encoding:"utf8",mode:384}),await OP(F,$);try{await KP($,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 qP="ws://localhost:9218";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 DH,B$,H$;var l9=R(()=>{i();DH=class DH{static[P]="ConsoleLogWriter";write(D){console.log(D)}};B$=class B${static[P]="DefaultLogger";writer;constructor(D){this.writer=D?.writer??new DH}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,$H,W$,_$,g6,FH,lP,k;var tD=R(()=>{i();v6();i9=Symbol.for("drizzle:Schema"),n9=Symbol.for("drizzle:Columns"),$H=Symbol.for("drizzle:ExtraConfigColumns"),W$=Symbol.for("drizzle:OriginalName"),_$=Symbol.for("drizzle:BaseName"),g6=Symbol.for("drizzle:IsAlias"),FH=Symbol.for("drizzle:ExtraConfigBuilder"),lP=Symbol.for("drizzle:IsDrizzleTable");k=class k{static[P]="Table";static Symbol={Name:K0,Schema:i9,OriginalName:W$,Columns:n9,ExtraConfigColumns:$H,BaseName:_$,IsAlias:g6,ExtraConfigBuilder:FH};[K0];[W$];[i9];[n9];[$H];[_$];[g6]=!1;[lP]=!0;[FH]=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 XH(D,...$){return D(...$)}var JH=()=>{};function GH(D,$){return`${D[K0]}_${$.join("_")}_unique`}var YH=R(()=>{v6()});var h6,iP;var BH=R(()=>{o0();i();YH();h6=class h6 extends AD{constructor(D,$){if(!$.uniqueName)$.uniqueName=GH(D,[$.name]);super(D,$);this.table=D}static[P]="PgColumn"};iP=class iP 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 WH(D){return!!D&&typeof D==="function"&&HH in D&&D[HH]===!0}var nP,HH,sP;var _H=R(()=>{i();BH();nP=class nP extends h6{static[P]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(D,$){super(D,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}};HH=Symbol.for("drizzle:isPgEnum");sP=class sP 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 UH="0.44.7";var AH=()=>{};var V$,Q$,VH;var QH=R(()=>{JH();AH();VH={startActiveSpan(D,$){if(!V$)return $();if(!Q$)Q$=V$.trace.getTracer("drizzle-orm",UH);return XH((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 rP(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 EH(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,KH,CH,Ad,C0,s2,oP,P0;var rD=R(()=>{i();_H();a0();QH();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=KH;shouldInlineParams=!1;usedTables=[];append(D){return this.queryChunks.push(...D.queryChunks),this}toQuery(D){return VH.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 rP(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(WH(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])}};KH={mapFromDriverValue:(D)=>D},CH={mapToDriverValue:(D)=>D},Ad={...KH,...CH};C0=class C0{constructor(D,$=CH){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])}};oP=Symbol.for("drizzle:IsDrizzleView");P0=class P0{static[P]="View";[zD];[oP]=!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 RH(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 OH(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 MH(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 qH,NH,R$;var PH=R(()=>{i();tD();qH=Symbol.for("drizzle:PgInlineForeignKeys"),NH=Symbol.for("drizzle:EnableRLS");R$=class R$ extends k{static[P]="PgTable";static Symbol=Object.assign({},k.Symbol,{InlineForeignKeys:qH,EnableRLS:NH});[qH]=[];[NH]=!1;[k.Symbol.ExtraConfigBuilder]=void 0;[k.Symbol.ExtraConfigColumns]={}}});var O$,ZH;var LH=R(()=>{i();PH();O$=class O${static[P]="PgPrimaryKeyBuilder";columns;name;constructor(D,$){this.columns=D,this.name=$}build(D){return new ZH(D,this.columns,this.name)}};ZH=class ZH{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(EH($)&&!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 jH(...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 wH(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 fH(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 bH(D){return O`${D} is null`}function kH(D){return O`${D} is not null`}function vH(D){return O`exists ${D}`}function gH(D){return O`not exists ${D}`}function hH(D,$,F){return O`${D} between ${H0($,D)} and ${H0(F,D)}`}function xH(D,$,F){return O`${D} not between ${H0($,D)} and ${H0(F,D)}`}function yH(D,$){return O`${D} like ${$}`}function uH(D,$){return O`${D} not like ${$}`}function mH(D,$){return O`${D} ilike ${$}`}function pH(D,$){return O`${D} not ilike ${$}`}var p=(D,$)=>{return O`${D} = ${H0($,D)}`},zH=(D,$)=>{return O`${D} <> ${H0($,D)}`},IH=(D,$)=>{return O`${D} > ${H0($,D)}`},TH=(D,$)=>{return O`${D} >= ${H0($,D)}`},SH=(D,$)=>{return O`${D} < ${H0($,D)}`},o9=(D,$)=>{return O`${D} <= ${H0($,D)}`};var cH=R(()=>{o0();i();tD();rD()});function p6(D){return O`${D} asc`}function R0(D){return O`${D} desc`}var dH=R(()=>{rD()});var M$=R(()=>{cH();dH()});function iH(){return{and:E2,between:hH,eq:p,exists:vH,gt:IH,gte:TH,ilike:mH,inArray:a9,isNull:bH,isNotNull:kH,like:yH,lt:SH,lte:o9,ne:zH,not:wH,notBetween:xH,notExists:gH,notLike:uH,notIlike:pH,notInArray:fH,or:jH,sql:O}}function nH(){return{sql:O,asc:p6,desc:R0}}function sH(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,lH)){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 aP(D){return function(F,X){return new r2(D,F,X,X?.fields.reduce((J,Y)=>J&&Y.notNull,!0)??!1)}}function tP(D){return function(F,X){return new c6(D,F,X)}}function rH(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 oH(D){return{one:aP(D),many:tP(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$,lH,r2,c6;var d6=R(()=>{tD();o0();i();LH();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};lH=class lH{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$,aH;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 aH(D,this)}};aH=class aH{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 tH(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=tH(D,[$.name]);super(D,$);this.table=D}static[P]="SQLiteColumn"}});function GW(D,$){let{name:F,config:X}=Q2(D,$);if(X?.mode==="json")return new $W(F);if(X?.mode==="bigint")return new eH(F);return new XW(F)}var eH,DW,$W,FW,XW,JW;var z$=R(()=>{i();B0();o2();eH=class eH extends pD{static[P]="SQLiteBigIntBuilder";constructor(D){super(D,"bigint","SQLiteBigInt")}build(D){return new DW(D,this.config)}};DW=class DW 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())}};$W=class $W extends pD{static[P]="SQLiteBlobJsonBuilder";constructor(D){super(D,"json","SQLiteBlobJson")}build(D){return new FW(D,this.config)}};FW=class FW 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))}};XW=class XW extends pD{static[P]="SQLiteBlobBufferBuilder";constructor(D){super(D,"buffer","SQLiteBlobBuffer")}build(D){return new JW(D,this.config)}};JW=class JW extends ID{static[P]="SQLiteBlobBuffer";mapFromDriverValue(D){if(Buffer.isBuffer(D))return D;return Buffer.from(D)}getSQLType(){return"blob"}}});function HW(D){return($,F)=>{let{name:X,config:J}=Q2($,F);return new YW(X,J,D)}}var YW,BW;var j$=R(()=>{i();B0();o2();YW=class YW extends pD{static[P]="SQLiteCustomColumnBuilder";constructor(D,$,F){super(D,"custom","SQLiteCustomColumn");this.config.fieldConfig=$,this.config.customTypeParams=F}build(D){return new BW(D,this.config)}};BW=class BW 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 UW(F,X.mode);if(X?.mode==="boolean")return new VW(F,X.mode);return new WW(F)}var $7,F7,WW,_W,UW,AW,VW,QW;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"}};WW=class WW extends $7{static[P]="SQLiteIntegerBuilder";constructor(D){super(D,"number","SQLiteInteger")}build(D){return new _W(D,this.config)}};_W=class _W extends F7{static[P]="SQLiteInteger"};UW=class UW 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 AW(D,this.config)}};AW=class AW 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 $}};VW=class VW extends $7{static[P]="SQLiteBooleanBuilder";constructor(D,$){super(D,"boolean","SQLiteBoolean");this.config.mode=$}build(D){return new QW(D,this.config)}};QW=class QW extends F7{static[P]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(D){return Number(D)===1}mapToDriverValue(D){return D?1:0}}});function qW(D,$){let{name:F,config:X}=Q2(D,$),J=X?.mode;return J==="number"?new CW(F):J==="bigint"?new OW(F):new EW(F)}var EW,KW,CW,RW,OW,MW;var I$=R(()=>{i();B0();o2();EW=class EW extends pD{static[P]="SQLiteNumericBuilder";constructor(D){super(D,"string","SQLiteNumeric")}build(D){return new KW(D,this.config)}};KW=class KW extends ID{static[P]="SQLiteNumeric";mapFromDriverValue(D){if(typeof D==="string")return D;return String(D)}getSQLType(){return"numeric"}};CW=class CW extends pD{static[P]="SQLiteNumericNumberBuilder";constructor(D){super(D,"number","SQLiteNumericNumber")}build(D){return new RW(D,this.config)}};RW=class RW extends ID{static[P]="SQLiteNumericNumber";mapFromDriverValue(D){if(typeof D==="number")return D;return Number(D)}mapToDriverValue=String;getSQLType(){return"numeric"}};OW=class OW extends pD{static[P]="SQLiteNumericBigIntBuilder";constructor(D){super(D,"bigint","SQLiteNumericBigInt")}build(D){return new MW(D,this.config)}};MW=class MW extends ID{static[P]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}});function ZW(D){return new NW(D??"")}var NW,PW;var T$=R(()=>{i();o2();NW=class NW extends pD{static[P]="SQLiteRealBuilder";constructor(D){super(D,"number","SQLiteReal")}build(D){return new PW(D,this.config)}};PW=class PW extends ID{static[P]="SQLiteReal";getSQLType(){return"real"}}});function g(D,$={}){let{name:F,config:X}=Q2(D,$);if(X.mode==="json")return new jW(F);return new LW(F,X)}var LW,zW,jW,wW;var S$=R(()=>{i();B0();o2();LW=class LW extends pD{static[P]="SQLiteTextBuilder";constructor(D,$){super(D,"string","SQLiteText");this.config.enumValues=$.enum,this.config.length=$.length}build(D){return new zW(D,this.config)}};zW=class zW 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})`:""}`}};jW=class jW extends pD{static[P]="SQLiteTextJsonBuilder";constructor(D){super(D,"json","SQLiteTextJson")}build(D){return new wW(D,this.config)}};wW=class wW extends ID{static[P]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(D){return JSON.parse(D)}mapToDriverValue(D){return JSON.stringify(D)}}});function IW(){return{blob:GW,customType:HW,integer:eD,numeric:qW,real:ZW,text:g}}var TW=R(()=>{z$();j$();w$();I$();T$();S$()});function eP(D,$,F,X,J=D){let Y=new cD(D,X,J),G=typeof $==="function"?$(IW()):$,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 eP(D,$,F)};var f8=R(()=>{i();tD();TW();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 SW=()=>{};function vW(D){return new fW(D,!0)}var fW,bW,kW;var gW=R(()=>{i();fW=class fW{constructor(D,$){this.name=D,this.unique=$}static[P]="SQLiteIndexBuilderOn";on(...D){return new bW(this.name,D,this.unique)}};bW=class bW{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 kW(this.config,D)}};kW=class kW{static[P]="SQLiteIndex";config;constructor(D,$){this.config={...D,table:$}}}});var hW=()=>{};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 xW=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 DZ(D){return(D.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((F)=>F.toLowerCase()).join("_")}function $Z(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 FZ(D){return D}var b$;var yW=R(()=>{i();tD();b$=class b${static[P]="CasingCache";cache={};cachedTables={};convert;constructor(D){this.convert=D==="snake_case"?DZ:D==="camelCase"?$Z:FZ}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 uW=()=>{};var mW=()=>{};var pW=R(()=>{uW();mW()});var v$=R(()=>{M$();pW();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();yW();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,iH()):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,nH()):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=rH($,F,w),HD=S8(w.referencedTable),GD=F[HD],o=`${G}_${L}`,uD=E2(...r.fields.map((sR,rR)=>p(K2(r.references[rR],o),K2(sR,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}),nR=O`(${W2.sql})`.as(L);W.push({dbKey:L,tsKey:L,field:nR,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`
|
|
84
|
+
`)}var OP="AIWORKER_HOME",MP=".aiworker";var x8=()=>{};var G7={};z8(G7,{saveAimState:()=>w$,resolveGatewayPidPath:()=>F7,resolveGatewayLogPath:()=>X7,resolveAimStatePath:()=>I$,patchAimState:()=>s6,loadAimState:()=>J7});import{chmod as wP,mkdir as TP,readFile as SP,rename as bP,writeFile as fP}from"fs/promises";import $7 from"path";function I$(){return $7.join(O2(),"aim.json")}function F7(){return $7.join(O2(),"aim-gateway.pid")}function X7(){return $7.join(O2(),"aim-gateway.log")}function vP(){return`op-${crypto.randomUUID()}`}function hP(){return{gatewayUrl:kP,deviceId:vP(),deviceToken:""}}function gP(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 J7(){let D=I$(),$;try{$=await SP(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(!gP(F))throw Error(`aim.json \u7ED3\u6784\u4E0D\u7B26\u5408 AimState (${D})`);return F}async function w$(D){let $=I$();await TP($7.dirname($),{recursive:!0});let F=`${$}.tmp`;await fP(F,`${JSON.stringify(D,null,2)}
|
|
85
|
+
`,{encoding:"utf8",mode:384}),await bP(F,$);try{await wP($,384)}catch{}}async function s6(D){let F={...await J7()};for(let[X,J]of Object.entries(D)){if(J===void 0)continue;F[X]=J}return await w$(F),F}var kP="ws://localhost:9218";var y8=M(()=>{x8()});function j(D,$){if(!D||typeof D!=="object")return!1;if(D instanceof $)return!0;if(!Object.prototype.hasOwnProperty.call($,N))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(N in F&&F[N]===$[N])return!0;F=Object.getPrototypeOf(F)}return!1}var N;var i=M(()=>{N=Symbol.for("drizzle:entityKind")});var KH,T$,S$;var Y7=M(()=>{i();KH=class KH{static[N]="ConsoleLogWriter";write(D){console.log(D)}};T$=class T${static[N]="DefaultLogger";writer;constructor(D){this.writer=D?.writer??new KH}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}`)}};S$=class S${static[N]="NoopLogger";logQuery(){}}});var N0;var r6=M(()=>{N0=Symbol.for("drizzle:Name")});function F8(D){return D[N0]}function u8(D){return`${D[B7]??"public"}.${D[N0]}`}var B7,H7,EH,b$,f$,o6,CH,xP,v;var F0=M(()=>{i();r6();B7=Symbol.for("drizzle:Schema"),H7=Symbol.for("drizzle:Columns"),EH=Symbol.for("drizzle:ExtraConfigColumns"),b$=Symbol.for("drizzle:OriginalName"),f$=Symbol.for("drizzle:BaseName"),o6=Symbol.for("drizzle:IsAlias"),CH=Symbol.for("drizzle:ExtraConfigBuilder"),xP=Symbol.for("drizzle:IsDrizzleTable");v=class v{static[N]="Table";static Symbol={Name:N0,Schema:B7,OriginalName:b$,Columns:H7,ExtraConfigColumns:EH,BaseName:f$,IsAlias:o6,ExtraConfigBuilder:CH};[N0];[b$];[B7];[H7];[EH];[f$];[o6]=!1;[xP]=!0;[CH]=void 0;constructor(D,$,F){this[N0]=this[b$]=D,this[B7]=$,this[f$]=F}}});var VD;var e0=M(()=>{i();VD=class VD{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[N]="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 k$;var v$=M(()=>{i();k$=class k${static[N]="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 RH(D,...$){return D(...$)}var OH=()=>{};function MH(D,$){return`${D[N0]}_${$.join("_")}_unique`}var ZH=M(()=>{r6()});var a6,yP;var qH=M(()=>{e0();i();ZH();a6=class a6 extends VD{constructor(D,$){if(!$.uniqueName)$.uniqueName=MH(D,[$.name]);super(D,$);this.table=D}static[N]="PgColumn"};yP=class yP extends a6{static[N]="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 PH(D){return!!D&&typeof D==="function"&&NH in D&&D[NH]===!0}var uP,NH,mP;var LH=M(()=>{i();qH();uP=class uP extends a6{static[N]="PgEnumObjectColumn";enum;enumValues=this.config.enum.enumValues;constructor(D,$){super(D,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}};NH=Symbol.for("drizzle:isPgEnum");mP=class mP extends a6{static[N]="PgEnumColumn";enum=this.config.enum;enumValues=this.config.enum.enumValues;constructor(D,$){super(D,$);this.enum=$.enum}getSQLType(){return this.enum.enumName}}});var hD,t6;var D2=M(()=>{i();hD=class hD{static[N]="Subquery";constructor(D,$,F,X=!1,J=[]){this._={brand:"Subquery",sql:D,selectedFields:$,alias:F,isWith:X,usedTables:J}}};t6=class t6 extends hD{static[N]="WithSubquery"}});var jH="0.44.7";var zH=()=>{};var h$,g$,IH;var wH=M(()=>{OH();zH();IH={startActiveSpan(D,$){if(!h$)return $();if(!g$)g$=h$.trace.getTracer("drizzle-orm",jH);return RH((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()}}),h$,g$)}}});var ID;var v2=M(()=>{ID=Symbol.for("drizzle:ViewBaseConfig")});function x$(D){return D!==null&&D!==void 0&&typeof D.getSQL==="function"}function pP(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 TH(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 uD(D[0]));for(let[X,J]of $.entries())F.push(J,new uD(D[X+1]));return new y(F)}function e6(D,$){return D.map((F)=>{if(j(F,X8)){if(!(F.name in $))throw Error(`No value for placeholder "${F.name}" was provided`);return $[F.name]}if(j(F,P0)&&j(F.value,X8)){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 uD,y,W7,SH,bH,el,P0,X8,cP,I0;var iD=M(()=>{i();LH();D2();wH();v2();e0();F0();uD=class uD{static[N]="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(j($,v)){let F=$[v.Symbol.Schema];this.usedTables.push(F===void 0?$[v.Symbol.Name]:F+"."+$[v.Symbol.Name])}}static[N]="SQL";decoder=SH;shouldInlineParams=!1;usedTables=[];append(D){return this.queryChunks.push(...D.queryChunks),this}toQuery(D){return IH.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 pP(D.map((W)=>{if(j(W,uD))return{sql:W.value.join(""),params:[]};if(j(W,W7))return{sql:J(W.value),params:[]};if(W===void 0)return{sql:"",params:[]};if(Array.isArray(W)){let U=[new uD("(")];for(let[V,A]of W.entries())if(U.push(A),V<W.length-1)U.push(new uD(", "));return U.push(new uD(")")),this.buildQueryFromSourceParams(U,F)}if(j(W,y))return this.buildQueryFromSourceParams(W.queryChunks,{...F,inlineParams:B||W.shouldInlineParams});if(j(W,v)){let U=W[v.Symbol.Schema],V=W[v.Symbol.Name];return{sql:U===void 0||W[o6]?J(V):J(U)+"."+J(V),params:[]}}if(j(W,VD)){let U=X.getColumnCasing(W);if($.invokeSource==="indexes")return{sql:J(U),params:[]};let V=W.table[v.Symbol.Schema];return{sql:W.table[o6]||V===void 0?J(W.table[v.Symbol.Name])+"."+J(U):J(V)+"."+J(W.table[v.Symbol.Name])+"."+J(U),params:[]}}if(j(W,I0)){let U=W[ID].schema,V=W[ID].name;return{sql:U===void 0||W[ID].isAlias?J(V):J(U)+"."+J(V),params:[]}}if(j(W,P0)){if(j(W.value,X8))return{sql:Y(H.value++,W),params:[W],typings:["none"]};let U=W.value===null?null:W.encoder.mapToDriverValue(W.value);if(j(U,y))return this.buildQueryFromSourceParams([U],F);if(B)return{sql:this.mapInlineParam(U,F),params:[]};let V=["none"];if(G)V=[G(W.encoder)];return{sql:Y(H.value++,U),params:[U],typings:V}}if(j(W,X8))return{sql:Y(H.value++,W),params:[W],typings:["none"]};if(j(W,y.Aliased)&&W.fieldAlias!==void 0)return{sql:J(W.fieldAlias),params:[]};if(j(W,hD)){if(W._.isWith)return{sql:J(W._.alias),params:[]};return this.buildQueryFromSourceParams([new uD("("),W._.sql,new uD(") "),new W7(W._.alias)],F)}if(PH(W)){if(W.schema)return{sql:J(W.schema)+"."+J(W.enumName),params:[]};return{sql:J(W.enumName),params:[]}}if(x$(W)){if(W.shouldOmitSQLParens?.())return this.buildQueryFromSourceParams([W.getSQL()],F);return this.buildQueryFromSourceParams([new uD("("),W.getSQL(),new uD(")")],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}};W7=class W7{constructor(D){this.value=D}static[N]="Name";brand;getSQL(){return new y([this])}};SH={mapFromDriverValue:(D)=>D},bH={mapToDriverValue:(D)=>D},el={...SH,...bH};P0=class P0{constructor(D,$=bH){this.value=D,this.encoder=$}static[N]="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 uD(H)])}D.raw=X;function J(H,W){let U=[];for(let[V,A]of H.entries()){if(V>0&&W!==void 0)U.push(W);U.push(A)}return new y(U)}D.join=J;function Y(H){return new W7(H)}D.identifier=Y;function G(H){return new X8(H)}D.placeholder=G;function B(H,W){return new P0(H,W)}D.param=B})(O||(O={}));((D)=>{class ${constructor(F,X){this.sql=F,this.fieldAlias=X}static[N]="SQL.Aliased";isSelectionField=!1;getSQL(){return this.sql}clone(){return new $(this.sql,this.fieldAlias)}}D.Aliased=$})(y||(y={}));X8=class X8{constructor(D){this.name=D}static[N]="Placeholder";getSQL(){return new y([this])}};cP=Symbol.for("drizzle:IsDrizzleView");I0=class I0{static[N]="View";[ID];[cP]=!0;constructor({name:D,schema:$,selectedFields:F,query:X}){this[ID]={name:D,originalName:D,schema:$,selectedFields:F,query:X,isExisting:!X,isAlias:!1}}getSQL(){return new y([this])}};VD.prototype.getSQL=function(){return new y([this])};v.prototype.getSQL=function(){return new y([this])};hD.prototype.getSQL=function(){return new y([this])}});function y$(D,$,F){let X={},J=D.reduce((Y,{path:G,field:B},H)=>{let W;if(j(B,VD))W=B;else if(j(B,y))W=B.decoder;else W=B.sql.decoder;let U=Y;for(let[V,A]of G.entries())if(V<G.length-1){if(!(A in U))U[A]={};U=U[A]}else{let Q=$[H],C=U[A]=Q===null?null:W.mapFromDriverValue(Q);if(F&&j(B,VD)&&G.length===2){let E=G[0];if(!(E in X))X[E]=C===null?F8(B.table):!1;else if(typeof X[E]==="string"&&X[E]!==F8(B.table))X[E]=!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 w0(D,$){return Object.entries(D).reduce((F,[X,J])=>{if(typeof X!=="string")return F;let Y=$?[...$,X]:[X];if(j(J,VD)||j(J,y)||j(J,y.Aliased))F.push({path:Y,field:J});else if(j(J,v))F.push(...w0(J[v.Symbol.Columns],Y));else F.push(...w0(J,Y));return F},[])}function D3(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 _7(D,$){let F=Object.entries($).filter(([,X])=>X!==void 0).map(([X,J])=>{if(j(J,y)||j(J,VD))return[X,J];else return[X,new P0(J,D[v.Symbol.Columns][X])]});if(F.length===0)throw Error("No values to set");return Object.fromEntries(F)}function fH(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 kH(D){return D[v.Symbol.Columns]}function $3(D){return j(D,hD)?D._.alias:j(D,I0)?D[ID].name:j(D,y)?void 0:D[v.Symbol.IsAlias]?D[v.Symbol.Name]:D[v.Symbol.BaseName]}function M2(D,$){return{name:typeof D==="string"&&D.length>0?D:"",config:typeof D==="object"?D:$}}function vH(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 u$;var A0=M(()=>{e0();i();iD();D2();F0();v2();u$=typeof TextDecoder>"u"?null:new TextDecoder});var hH,gH,m$;var xH=M(()=>{i();F0();hH=Symbol.for("drizzle:PgInlineForeignKeys"),gH=Symbol.for("drizzle:EnableRLS");m$=class m$ extends v{static[N]="PgTable";static Symbol=Object.assign({},v.Symbol,{InlineForeignKeys:hH,EnableRLS:gH});[hH]=[];[gH]=!1;[v.Symbol.ExtraConfigBuilder]=void 0;[v.Symbol.ExtraConfigColumns]={}}});var p$,yH;var uH=M(()=>{i();xH();p$=class p${static[N]="PgPrimaryKeyBuilder";columns;name;constructor(D,$){this.columns=D,this.name=$}build(D){return new yH(D,this.columns,this.name)}};yH=class yH{constructor(D,$,F){this.table=D,this.columns=$,this.name=F}static[N]="PgPrimaryKey";columns;name;getName(){return this.name??`${this.table[m$.Symbol.Name]}_${this.columns.map((D)=>D.name).join("_")}_pk`}}});function Q0(D,$){if(TH($)&&!x$(D)&&!j(D,P0)&&!j(D,X8)&&!j(D,VD)&&!j(D,v)&&!j(D,I0))return new P0(D,$);return D}function Z2(...D){let $=D.filter((F)=>F!==void 0);if($.length===0)return;if($.length===1)return new y($);return new y([new uD("("),O.join($,new uD(" and ")),new uD(")")])}function pH(...D){let $=D.filter((F)=>F!==void 0);if($.length===0)return;if($.length===1)return new y($);return new y([new uD("("),O.join($,new uD(" or ")),new uD(")")])}function cH(D){return O`not ${D}`}function V7(D,$){if(Array.isArray($)){if($.length===0)return O`false`;return O`${D} in ${$.map((F)=>Q0(F,D))}`}return O`${D} in ${Q0($,D)}`}function nH(D,$){if(Array.isArray($)){if($.length===0)return O`true`;return O`${D} not in ${$.map((F)=>Q0(F,D))}`}return O`${D} not in ${Q0($,D)}`}function sH(D){return O`${D} is null`}function rH(D){return O`${D} is not null`}function oH(D){return O`exists ${D}`}function aH(D){return O`not exists ${D}`}function tH(D,$,F){return O`${D} between ${Q0($,D)} and ${Q0(F,D)}`}function eH(D,$,F){return O`${D} not between ${Q0($,D)} and ${Q0(F,D)}`}function DW(D,$){return O`${D} like ${$}`}function $W(D,$){return O`${D} not like ${$}`}function FW(D,$){return O`${D} ilike ${$}`}function XW(D,$){return O`${D} not ilike ${$}`}var m=(D,$)=>{return O`${D} = ${Q0($,D)}`},mH=(D,$)=>{return O`${D} <> ${Q0($,D)}`},dH=(D,$)=>{return O`${D} > ${Q0($,D)}`},lH=(D,$)=>{return O`${D} >= ${Q0($,D)}`},iH=(D,$)=>{return O`${D} < ${Q0($,D)}`},U7=(D,$)=>{return O`${D} <= ${Q0($,D)}`};var JW=M(()=>{e0();i();F0();iD()});function F3(D){return O`${D} asc`}function W0(D){return O`${D} desc`}var GW=M(()=>{iD()});var c$=M(()=>{JW();GW()});function BW(){return{and:Z2,between:tH,eq:m,exists:oH,gt:dH,gte:lH,ilike:FW,inArray:V7,isNull:sH,isNotNull:rH,like:DW,lt:iH,lte:U7,ne:mH,not:cH,notBetween:eH,notExists:aH,notLike:$W,notIlike:XW,notInArray:nH,or:pH,sql:O}}function HW(){return{sql:O,asc:F3,desc:W0}}function WW(D,$){if(Object.keys(D).length===1&&"default"in D&&!j(D.default,v))D=D.default;let F={},X={},J={};for(let[Y,G]of Object.entries(D))if(j(G,v)){let B=u8(G),H=X[B];F[B]=Y,J[Y]={tsName:Y,dbName:G[v.Symbol.Name],schema:G[v.Symbol.Schema],columns:G[v.Symbol.Columns],relations:H?.relations??{},primaryKey:H?.primaryKey??[]};for(let U of Object.values(G[v.Symbol.Columns]))if(U.primary)J[Y].primaryKey.push(U);let W=G[v.Symbol.ExtraConfigBuilder]?.(G[v.Symbol.ExtraConfigColumns]);if(W){for(let U of Object.values(W))if(j(U,p$))J[Y].primaryKey.push(...U.columns)}}else if(j(G,YW)){let B=u8(G.table),H=F[B],W=G.config($(G.table)),U;for(let[V,A]of Object.entries(W))if(H){let Q=J[H];if(Q.relations[V]=A,U)Q.primaryKey.push(...U)}else{if(!(B in X))X[B]={relations:{},primaryKey:U};X[B].relations[V]=A}}return{tables:J,tableNamesMap:F}}function dP(D){return function(F,X){return new J8(D,F,X,X?.fields.reduce((J,Y)=>J&&Y.notNull,!0)??!1)}}function lP(D){return function(F,X){return new X3(D,F,X)}}function _W(D,$,F){if(j(F,J8)&&F.config)return{fields:F.config.fields,references:F.config.references};let X=$[u8(F.referencedTable)];if(!X)throw Error(`Table "${F.referencedTable[v.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=$[u8(Y)];if(!G)throw Error(`Table "${Y[v.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[v.Symbol.Name]}". Please specify relation name`);if(B[0]&&j(B[0],J8)&&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 UW(D){return{one:dP(D),many:lP(D)}}function A7(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]=j(H,J8)?U&&A7(D,D[B.relationTableTsKey],U,B.selection,J):U.map((V)=>A7(D,D[B.relationTableTsKey],V,B.selection,J))}else{let H=J(F[G]),W=B.field,U;if(j(W,VD))U=W;else if(j(W,y))U=W.decoder;else U=W.sql.decoder;Y[B.tsKey]=H===null?null:U.mapFromDriverValue(H)}return Y}var d$,YW,J8,X3;var J3=M(()=>{F0();e0();i();uH();c$();iD();d$=class d${constructor(D,$,F){this.sourceTable=D,this.referencedTable=$,this.relationName=F,this.referencedTableName=$[v.Symbol.Name]}static[N]="Relation";referencedTableName;fieldName};YW=class YW{constructor(D,$){this.table=D,this.config=$}static[N]="Relations"};J8=class J8 extends d${constructor(D,$,F,X){super(D,$,F?.relationName);this.config=F,this.isNullable=X}static[N]="One";withFieldName(D){let $=new J8(this.sourceTable,this.referencedTable,this.config,this.isNullable);return $.fieldName=D,$}};X3=class X3 extends d${constructor(D,$,F){super(D,$,F?.relationName);this.config=F}static[N]="Many";withFieldName(D){let $=new X3(this.sourceTable,this.referencedTable,this.config);return $.fieldName=D,$}}});function Q7(D,$){return new Proxy(D,new G3($,!1))}function q2(D,$){return new Proxy(D,new x1(new Proxy(D.table,new G3($,!1))))}function l$(D,$){return new y.Aliased(Y3(D.sql,$),D.fieldAlias)}function Y3(D,$){return O.join(D.queryChunks.map((F)=>{if(j(F,VD))return q2(F,$);if(j(F,y))return Y3(F,$);if(j(F,y.Aliased))return l$(F,$);return F}))}var x1,G3;var K7=M(()=>{e0();i();iD();F0();v2();x1=class x1{constructor(D){this.table=D}static[N]="ColumnAliasProxyHandler";get(D,$){if($==="table")return this.table;return D[$]}};G3=class G3{constructor(D,$){this.alias=D,this.replaceOriginalName=$}static[N]="TableAliasProxyHandler";get(D,$){if($===v.Symbol.IsAlias)return!0;if($===v.Symbol.Name)return this.alias;if(this.replaceOriginalName&&$===v.Symbol.OriginalName)return this.alias;if($===ID)return{...D[ID],name:this.alias,isAlias:!0};if($===v.Symbol.Columns){let X=D[v.Symbol.Columns];if(!X)return X;let J={};return Object.keys(X).map((Y)=>{J[Y]=new Proxy(X[Y],new x1(new Proxy(D,this)))}),J}let F=D[$];if(j(F,VD))return new Proxy(F,new x1(new Proxy(D,this)));return F}}});var gD;var y1=M(()=>{K7();e0();i();iD();D2();v2();gD=class gD{static[N]="SelectionProxyHandler";config;constructor(D){this.config={...D}}get(D,$){if($==="_")return{...D._,selectedFields:new Proxy(D._.selectedFields,this)};if($===ID)return{...D[ID],selectedFields:new Proxy(D[ID].selectedFields,this)};if(typeof $==="symbol")return D[$];let X=(j(D,hD)?D._.selectedFields:j(D,I0)?D[ID].selectedFields:D)[$];if(j(X,y.Aliased)){if(this.config.sqlAliasedBehavior==="sql"&&!X.isSelectionField)return X.sql;let J=X.clone();return J.isSelectionField=!0,J}if(j(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(j(X,VD)){if(this.config.alias)return new Proxy(X,new x1(new Proxy(X.table,new G3(this.config.alias,this.config.replaceOriginalName??!1))));return X}if(typeof X!=="object"||X===null)return X;return new Proxy(X,new gD(this.config))}}});var _0;var h2=M(()=>{i();_0=class _0{static[N]="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 i$,VW;var n$=M(()=>{i();r6();i$=class i${static[N]="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 VW(D,this)}};VW=class VW{constructor(D,$){this.table=D,this.reference=$.reference,this.onUpdate=$._onUpdate,this.onDelete=$._onDelete}static[N]="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[N0],...X,F[0].table[N0],...J];return D??`${Y.join("_")}_fk`}}});function AW(D,$){return`${D[N0]}_${$.join("_")}_unique`}var s$=M(()=>{r6()});var nD,SD;var G8=M(()=>{v$();e0();i();n$();s$();nD=class nD extends k${static[N]="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 i$(()=>{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)})}};SD=class SD extends VD{constructor(D,$){if(!$.uniqueName)$.uniqueName=AW(D,[$.name]);super(D,$);this.table=D}static[N]="SQLiteColumn"}});function MW(D,$){let{name:F,config:X}=M2(D,$);if(X?.mode==="json")return new EW(F);if(X?.mode==="bigint")return new QW(F);return new RW(F)}var QW,KW,EW,CW,RW,OW;var r$=M(()=>{i();A0();G8();QW=class QW extends nD{static[N]="SQLiteBigIntBuilder";constructor(D){super(D,"bigint","SQLiteBigInt")}build(D){return new KW(D,this.config)}};KW=class KW extends SD{static[N]="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(u$.decode(D))}mapToDriverValue(D){return Buffer.from(D.toString())}};EW=class EW extends nD{static[N]="SQLiteBlobJsonBuilder";constructor(D){super(D,"json","SQLiteBlobJson")}build(D){return new CW(D,this.config)}};CW=class CW extends SD{static[N]="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(u$.decode(D))}mapToDriverValue(D){return Buffer.from(JSON.stringify(D))}};RW=class RW extends nD{static[N]="SQLiteBlobBufferBuilder";constructor(D){super(D,"buffer","SQLiteBlobBuffer")}build(D){return new OW(D,this.config)}};OW=class OW extends SD{static[N]="SQLiteBlobBuffer";mapFromDriverValue(D){if(Buffer.isBuffer(D))return D;return Buffer.from(D)}getSQLType(){return"blob"}}});function NW(D){return($,F)=>{let{name:X,config:J}=M2($,F);return new ZW(X,J,D)}}var ZW,qW;var o$=M(()=>{i();A0();G8();ZW=class ZW extends nD{static[N]="SQLiteCustomColumnBuilder";constructor(D,$,F){super(D,"custom","SQLiteCustomColumn");this.config.fieldConfig=$,this.config.customTypeParams=F}build(D){return new qW(D,this.config)}};qW=class qW extends SD{static[N]="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 mD(D,$){let{name:F,config:X}=M2(D,$);if(X?.mode==="timestamp"||X?.mode==="timestamp_ms")return new jW(F,X.mode);if(X?.mode==="boolean")return new IW(F,X.mode);return new PW(F)}var E7,C7,PW,LW,jW,zW,IW,wW;var a$=M(()=>{i();iD();A0();G8();E7=class E7 extends nD{static[N]="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()}};C7=class C7 extends SD{static[N]="SQLiteBaseInteger";autoIncrement=this.config.autoIncrement;getSQLType(){return"integer"}};PW=class PW extends E7{static[N]="SQLiteIntegerBuilder";constructor(D){super(D,"number","SQLiteInteger")}build(D){return new LW(D,this.config)}};LW=class LW extends C7{static[N]="SQLiteInteger"};jW=class jW extends E7{static[N]="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 zW(D,this.config)}};zW=class zW extends C7{static[N]="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 $}};IW=class IW extends E7{static[N]="SQLiteBooleanBuilder";constructor(D,$){super(D,"boolean","SQLiteBoolean");this.config.mode=$}build(D){return new wW(D,this.config)}};wW=class wW extends C7{static[N]="SQLiteBoolean";mode=this.config.mode;mapFromDriverValue(D){return Number(D)===1}mapToDriverValue(D){return D?1:0}}});function hW(D,$){let{name:F,config:X}=M2(D,$),J=X?.mode;return J==="number"?new bW(F):J==="bigint"?new kW(F):new TW(F)}var TW,SW,bW,fW,kW,vW;var t$=M(()=>{i();A0();G8();TW=class TW extends nD{static[N]="SQLiteNumericBuilder";constructor(D){super(D,"string","SQLiteNumeric")}build(D){return new SW(D,this.config)}};SW=class SW extends SD{static[N]="SQLiteNumeric";mapFromDriverValue(D){if(typeof D==="string")return D;return String(D)}getSQLType(){return"numeric"}};bW=class bW extends nD{static[N]="SQLiteNumericNumberBuilder";constructor(D){super(D,"number","SQLiteNumericNumber")}build(D){return new fW(D,this.config)}};fW=class fW extends SD{static[N]="SQLiteNumericNumber";mapFromDriverValue(D){if(typeof D==="number")return D;return Number(D)}mapToDriverValue=String;getSQLType(){return"numeric"}};kW=class kW extends nD{static[N]="SQLiteNumericBigIntBuilder";constructor(D){super(D,"bigint","SQLiteNumericBigInt")}build(D){return new vW(D,this.config)}};vW=class vW extends SD{static[N]="SQLiteNumericBigInt";mapFromDriverValue=BigInt;mapToDriverValue=String;getSQLType(){return"numeric"}}});function yW(D){return new gW(D??"")}var gW,xW;var e$=M(()=>{i();G8();gW=class gW extends nD{static[N]="SQLiteRealBuilder";constructor(D){super(D,"number","SQLiteReal")}build(D){return new xW(D,this.config)}};xW=class xW extends SD{static[N]="SQLiteReal";getSQLType(){return"real"}}});function T(D,$={}){let{name:F,config:X}=M2(D,$);if(X.mode==="json")return new pW(F);return new uW(F,X)}var uW,mW,pW,cW;var DF=M(()=>{i();A0();G8();uW=class uW extends nD{static[N]="SQLiteTextBuilder";constructor(D,$){super(D,"string","SQLiteText");this.config.enumValues=$.enum,this.config.length=$.length}build(D){return new mW(D,this.config)}};mW=class mW extends SD{static[N]="SQLiteText";enumValues=this.config.enumValues;length=this.config.length;constructor(D,$){super(D,$)}getSQLType(){return`text${this.config.length?`(${this.config.length})`:""}`}};pW=class pW extends nD{static[N]="SQLiteTextJsonBuilder";constructor(D){super(D,"json","SQLiteTextJson")}build(D){return new cW(D,this.config)}};cW=class cW extends SD{static[N]="SQLiteTextJson";getSQLType(){return"text"}mapFromDriverValue(D){return JSON.parse(D)}mapToDriverValue(D){return JSON.stringify(D)}}});function dW(){return{blob:MW,customType:NW,integer:mD,numeric:hW,real:yW,text:T}}var lW=M(()=>{r$();o$();a$();t$();e$();DF()});function iP(D,$,F,X,J=D){let Y=new sD(D,X,J),G=typeof $==="function"?$(dW()):$,B=Object.fromEntries(Object.entries(G).map(([W,U])=>{let V=U;V.setName(W);let A=V.build(Y);return Y[$F].push(...V.buildForeignKeys(A,Y)),[W,A]})),H=Object.assign(Y,B);if(H[v.Symbol.Columns]=B,H[v.Symbol.ExtraConfigColumns]=B,F)H[sD.Symbol.ExtraConfigBuilder]=F;return H}var $F,sD,U0=(D,$,F)=>{return iP(D,$,F)};var m8=M(()=>{i();F0();lW();$F=Symbol.for("drizzle:SQLiteInlineForeignKeys");sD=class sD extends v{static[N]="SQLiteTable";static Symbol=Object.assign({},v.Symbol,{InlineForeignKeys:$F});[v.Symbol.Columns];[$F]=[];[v.Symbol.ExtraConfigBuilder]=void 0}});var iW=()=>{};function N2(D){return new FF(D,!1)}function rW(D){return new FF(D,!0)}var FF,nW,sW;var oW=M(()=>{i();FF=class FF{constructor(D,$){this.name=D,this.unique=$}static[N]="SQLiteIndexBuilderOn";on(...D){return new nW(this.name,D,this.unique)}};nW=class nW{static[N]="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 sW(this.config,D)}};sW=class sW{static[N]="SQLiteIndex";config;constructor(D,$){this.config={...D,table:$}}}});var aW=()=>{};function $2(D){if(j(D,sD))return[`${D[v.Symbol.BaseName]}`];if(j(D,hD))return D._.usedTables??[];if(j(D,y))return D.usedTables??[];return[]}var u1=M(()=>{i();iD();D2();F0();m8()});var R7;var tW=M(()=>{i();h2();y1();m8();F0();A0();u1();R7=class R7 extends _0{constructor(D,$,F,X){super();this.table=D,this.session=$,this.dialect=F,this.config={table:D,withList:X}}static[N]="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[v.Symbol.Columns],new gD({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[sD.Symbol.Columns]){return this.config.returning=w0(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:$2(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 nP(D){return(D.replace(/['\u2019]/g,"").match(/[\da-z]+|[A-Z]+(?![a-z])|[A-Z][\da-z]+/g)??[]).map((F)=>F.toLowerCase()).join("_")}function sP(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 rP(D){return D}var XF;var eW=M(()=>{i();F0();XF=class XF{static[N]="CasingCache";cache={};cachedTables={};convert;constructor(D){this.convert=D==="snake_case"?nP:D==="camelCase"?sP:rP}getColumnCasing(D){if(!D.keyAsName)return D.name;let $=D.table[v.Symbol.Schema]??"public",F=D.table[v.Symbol.OriginalName],X=`${$}.${F}.${D.name}`;if(!this.cache[X])this.cacheTable(D.table);return this.cache[X]}cacheTable(D){let $=D[v.Symbol.Schema]??"public",F=D[v.Symbol.OriginalName],X=`${$}.${F}`;if(!this.cachedTables[X]){for(let J of Object.values(D[v.Symbol.Columns])){let Y=`${X}.${J.name}`;this.cache[Y]=this.convert(J.name)}this.cachedTables[X]=!0}}clearCache(){this.cache={},this.cachedTables={}}}});var m1,g2,JF;var O7=M(()=>{i();m1=class m1 extends Error{static[N]="DrizzleError";constructor({message:D,cause:$}){super(D);this.name="DrizzleError",this.cause=$}};g2=class g2 extends Error{constructor(D,$,F){super(`Failed query: ${D}
|
|
86
|
+
params: ${$}`);if(this.query=D,this.params=$,this.cause=F,Error.captureStackTrace(this,g2),F)this.cause=F}};JF=class JF extends m1{static[N]="TransactionRollbackError";constructor(){super({message:"Rollback"})}}});function D_(D){return O`count(${D||O.raw("*")})`.mapWith(Number)}var $_=M(()=>{iD()});var F_=()=>{};var X_=M(()=>{$_();F_()});var GF=M(()=>{c$();X_();iD()});var YF=M(()=>{r$();G8();o$();a$();t$();e$();DF()});var p8;var M7=M(()=>{i();iD();p8=class p8 extends I0{static[N]="SQLiteViewBase"}});var B3,H3;var Z7=M(()=>{K7();eW();e0();i();O7();J3();GF();iD();YF();m8();D2();F0();A0();v2();M7();B3=class B3{static[N]="SQLiteDialect";casing;constructor(D){this.casing=new XF(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[v.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,$),V=G&&O.join([O.raw(" from "),this.buildFromTable(G)]),A=this.buildJoins(Y),Q=X?O` returning ${this.buildSelection(X,{isSingleTable:!0})}`:void 0,C=F?O` where ${F}`:void 0,E=this.buildOrderBy(H),K=this.buildLimit(B);return O`${W}update ${D} set ${U}${V}${A}${C}${Q}${E}${K}`}buildSelection(D,{isSingleTable:$=!1}={}){let F=D.length,X=D.flatMap(({field:J},Y)=>{let G=[];if(j(J,y.Aliased)&&J.isSelectionField)G.push(O.identifier(J.fieldAlias));else if(j(J,y.Aliased)||j(J,y)){let B=j(J,y.Aliased)?J.sql:J;if($)G.push(new y(B.queryChunks.map((H)=>{if(j(H,VD))return O.identifier(this.casing.getColumnCasing(H));return H})));else G.push(B);if(j(J,y.Aliased))G.push(O` as ${O.identifier(J.fieldAlias)}`)}else if(j(J,VD)){let B=J.table[v.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(j(J,sD)){let G=J[sD.Symbol.Name],B=J[sD.Symbol.Schema],H=J[sD.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(j(D,v)&&D[v.Symbol.IsAlias])return O`${O`${O.identifier(D[v.Symbol.Schema]??"")}.`.if(D[v.Symbol.Schema])}${O.identifier(D[v.Symbol.OriginalName])} ${O.identifier(D[v.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:V,setOperators:A}){let Q=F??w0($);for(let o of Q)if(j(o.field,VD)&&F8(o.field.table)!==(j(Y,hD)?Y._.alias:j(Y,p8)?Y[ID].name:j(Y,y)?void 0:F8(Y))&&!((cD)=>G?.some(({alias:Q2})=>Q2===(cD[v.Symbol.IsAlias]?F8(cD):cD[v.Symbol.BaseName])))(o.field.table)){let cD=F8(o.field.table);throw Error(`Your "${o.path.join("->")}" field references a column "${cD}"."${o.field.name}", but the table "${cD}" is not part of the query! Did you forget to join it?`)}let C=!G||G.length===0,E=this.buildWithCTE(D),K=V?O` distinct`:void 0,Z=this.buildSelection(Q,{isSingleTable:C}),q=this.buildFromTable(Y),P=this.buildJoins(G),z=X?O` where ${X}`:void 0,S=J?O` having ${J}`:void 0,L=[];if(H){for(let[o,cD]of H.entries())if(L.push(cD),o<H.length-1)L.push(O`, `)}let h=L.length>0?O` group by ${O.join(L)}`:void 0,I=this.buildOrderBy(B),r=this.buildLimit(W),WD=U?O` offset ${U}`:void 0,YD=O`${E}select${K} ${Z} from ${q}${P}${z}${h}${S}${I}${r}${WD}`;if(A.length>0)return this.buildSetOperations(YD,A);return YD}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 Q=[];for(let C of Y)if(j(C,SD))Q.push(O.identifier(C.name));else if(j(C,y)){for(let E=0;E<C.queryChunks.length;E++){let K=C.queryChunks[E];if(j(K,SD))C.queryChunks[E]=O.identifier(this.casing.getColumnCasing(K))}Q.push(O`${C}`)}else Q.push(O`${C}`);W=O` order by ${O.join(Q,O`, `)}`}let U=typeof J==="object"||typeof J==="number"&&J>=0?O` limit ${J}`:void 0,V=O.raw(`${$} ${F?"all ":""}`),A=G?O` offset ${G}`:void 0;return O`${B}${V}${H}${W}${U}${A}`}buildInsertQuery({table:D,values:$,onConflict:F,returning:X,withList:J,select:Y}){let G=[],B=D[v.Symbol.Columns],H=Object.entries(B).filter(([C,E])=>!E.shouldDisableInsert()),W=H.map(([,C])=>O.identifier(this.casing.getColumnCasing(C)));if(Y){let C=$;if(j(C,y))G.push(C);else G.push(C.getSQL())}else{let C=$;G.push(O.raw("values "));for(let[E,K]of C.entries()){let Z=[];for(let[q,P]of H){let z=K[q];if(z===void 0||j(z,P0)&&z.value===void 0){let S;if(P.default!==null&&P.default!==void 0)S=j(P.default,y)?P.default:O.param(P.default,P);else if(P.defaultFn!==void 0){let L=P.defaultFn();S=j(L,y)?L:O.param(L,P)}else if(!P.default&&P.onUpdateFn!==void 0){let L=P.onUpdateFn();S=j(L,y)?L:O.param(L,P)}else S=O`null`;Z.push(S)}else Z.push(z)}if(G.push(Z),E<C.length-1)G.push(O`, `)}}let U=this.buildWithCTE(J),V=O.join(G),A=X?O` returning ${this.buildSelection(X,{isSingleTable:!0})}`:void 0,Q=F?.length?O.join(F):void 0;return O`${U}insert into ${D} ${W} ${V}${Q}${A}`}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,V,A=[],Q,C=[];if(Y===!0)W=Object.entries(J.columns).map(([Z,q])=>({dbKey:q.name,tsKey:Z,field:q2(q,G),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let K=Object.fromEntries(Object.entries(J.columns).map(([L,h])=>[L,q2(h,G)]));if(Y.where){let L=typeof Y.where==="function"?Y.where(K,BW()):Y.where;Q=L&&Y3(L,G)}let Z=[],q=[];if(Y.columns){let L=!1;for(let[h,I]of Object.entries(Y.columns)){if(I===void 0)continue;if(h in J.columns){if(!L&&I===!0)L=!0;q.push(h)}}if(q.length>0)q=L?q.filter((h)=>Y.columns?.[h]===!0):Object.keys(J.columns).filter((h)=>!q.includes(h))}else q=Object.keys(J.columns);for(let L of q){let h=J.columns[L];Z.push({tsKey:L,value:h})}let P=[];if(Y.with)P=Object.entries(Y.with).filter((L)=>!!L[1]).map(([L,h])=>({tsKey:L,queryConfig:h,relation:J.relations[L]}));let z;if(Y.extras){z=typeof Y.extras==="function"?Y.extras(K,{sql:O}):Y.extras;for(let[L,h]of Object.entries(z))Z.push({tsKey:L,value:l$(h,G)})}for(let{tsKey:L,value:h}of Z)W.push({dbKey:j(h,y.Aliased)?h.fieldAlias:J.columns[L].name,tsKey:L,field:j(h,VD)?q2(h,G):h,relationTableTsKey:void 0,isJson:!1,selection:[]});let S=typeof Y.orderBy==="function"?Y.orderBy(K,HW()):Y.orderBy??[];if(!Array.isArray(S))S=[S];A=S.map((L)=>{if(j(L,VD))return q2(L,G);return Y3(L,G)}),U=Y.limit,V=Y.offset;for(let{tsKey:L,queryConfig:h,relation:I}of P){let r=_W($,F,I),WD=u8(I.referencedTable),YD=F[WD],o=`${G}_${L}`,cD=Z2(...r.fields.map((BM,HM)=>m(q2(r.references[HM],o),q2(BM,G)))),Q2=this.buildRelationalQuery({fullSchema:D,schema:$,tableNamesMap:F,table:D[YD],tableConfig:$[YD],queryConfig:j(I,J8)?h===!0?{limit:1}:{...h,limit:1}:h,tableAlias:o,joinOn:cD,nestedQueryRelation:I}),YM=O`(${Q2.sql})`.as(L);W.push({dbKey:L,tsKey:L,field:YM,relationTableTsKey:YD,isJson:!0,selection:Q2.selection})}}if(W.length===0)throw new m1({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 E;if(Q=Z2(H,Q),B){let K=O`json_array(${O.join(W.map(({field:P})=>j(P,SD)?O.identifier(this.casing.getColumnCasing(P)):j(P,y.Aliased)?P.sql:P),O`, `)})`;if(j(B,X3))K=O`coalesce(json_group_array(${K}), json_array())`;let Z=[{dbKey:"data",tsKey:"data",field:K.as("data"),isJson:!0,relationTableTsKey:J.tsName,selection:W}];if(U!==void 0||V!==void 0||A.length>0)E=this.buildSelectQuery({table:Q7(X,G),fields:{},fieldsFlat:[{path:[],field:O.raw("*")}],where:Q,limit:U,offset:V,orderBy:A,setOperators:[]}),Q=void 0,U=void 0,V=void 0,A=void 0;else E=Q7(X,G);E=this.buildSelectQuery({table:j(E,sD)?E:new hD(E,{},G),fields:{},fieldsFlat:Z.map(({field:P})=>({path:[],field:j(P,VD)?q2(P,G):P})),joins:C,where:Q,limit:U,offset:V,orderBy:A,setOperators:[]})}else E=this.buildSelectQuery({table:Q7(X,G),fields:{},fieldsFlat:W.map(({field:K})=>({path:[],field:j(K,VD)?q2(K,G):K})),joins:C,where:Q,limit:U,offset:V,orderBy:A,setOperators:[]});return{tableTsKey:J.tsName,sql:E,selection:W}}};H3=class H3 extends B3{static[N]="SQLiteSyncDialect";migrate(D,$,F){let X=F===void 0?"__drizzle_migrations":typeof F==="string"?"__drizzle_migrations":F.migrationsTable??"__drizzle_migrations",J=O`
|
|
87
87
|
CREATE TABLE IF NOT EXISTS ${O.identifier(X)} (
|
|
88
88
|
id SERIAL PRIMARY KEY,
|
|
89
89
|
hash text NOT NULL,
|
|
90
90
|
created_at numeric
|
|
91
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 cW=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,dW,x$,XZ=()=>({union:JZ,unionAll:GZ,intersect:YZ,except:BZ}),JZ,GZ,YZ,BZ;var y$=R(()=>{i();cW();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=OH(D);return new x$({table:D,fields:F,isPartialSelect:$,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}};dW=class dW 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(XZ()):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 dW{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()}};RH(x$,[G0]);JZ=B7("union",!1),GZ=B7("union",!0),YZ=B7("intersect",!1),BZ=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 lW=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,iW;var nW=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 iW(this.table,r9(this.table,D),this.session,this.dialect,this.withList)}};iW=class iW 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(()=>{xW();lW();u$();y$();nW()});var o6;var sW=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 rW=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 oW=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();sW();rW();oW();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 aW=()=>{};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 tW,l$;var eW=R(()=>{i();tW=class tW{static[P]="Cache"};l$=class l$ extends tW{strategy(){return"all"}static[P]="NoopCache";async get(D){return}async put(D,$,F,X){}async onMutate(D){}}});var D_,n$,s$,r$;var o$=R(()=>{eW();i();J7();I2();U7();D_=class D_ 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 D_(()=>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 $_=()=>{};var a$=R(()=>{aW();SW();g$();U7();Y7();Z$();gW();hW();p$();o$();f8();L$();f1();$_()});var t$,e$,F_;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 F_(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}}};F_=class F_ 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=sH($.schema,oH);J={fullSchema:$.schema,schema:B.tables,tableNamesMap:B.tableNamesMap}}let Y=new t$(D,F,J,{logger:X}),G=new X_("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(MH(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 X_;var J_=R(()=>{i();l9();d6();U7();Y7();B0();DF();X_=class X_ extends a6{static[P]="BunSQLiteDatabase"};((D)=>{function $(F){return v1({},F)}D.mock=$})(V7||(V7={}))});var G_=R(()=>{J_();DF()});import HZ from"crypto";import $F from"fs";function Y_(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:HZ.createHash("sha256").update(H).digest("hex")})}catch{throw Error(`No file ${B} found in ${$} folder`)}}return F}var B_=()=>{};function H_(D,$){let F=Y_($);D.dialect.migrate(F,D.session,$)}var W_=R(()=>{B_()});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:vW("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:()=>VZ,agentTasks:()=>a2});import __ from"path";import{fileURLToPath as WZ}from"url";import{Database as _Z}from"bun:sqlite";function AZ(D){let $=new _Z(D,{create:!0});return $.exec("PRAGMA journal_mode = WAL"),$.exec("PRAGMA foreign_keys = ON"),V7($,{schema:Q7})}function D3(D){return e6=AZ(D),e6}function m(){if(!e6)throw Error("Worker database not initialized. Call initWorkerDb() first.");return e6}function VZ(){e6=null}function $3(D=g1){H_(m(),{migrationsFolder:D})}var UZ,g1,e6=null;var jD=R(()=>{G_();W_();FF();FF();UZ=__.dirname(WZ(import.meta.url)),g1=__.resolve(UZ,"../../drizzle/worker")});import QZ from"path";import U_ from"process";function KZ(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=EZ.parse(U_.env);return E7=Object.freeze({...D,perEngineLimits:Object.freeze({...KZ(U_.env)})}),E7}var EZ,E7=null,l;var K7=R(()=>{j8();s0();jD();Q0();EZ=_.object({PORT:_.coerce.number().default(9217),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(()=>QZ.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 $=CZ[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 A_(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 CZ,X3;var v8=R(()=>{CZ={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:RZ($.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 RZ(D){let $=D.executor;if($&&typeof $==="object"&&"engine"in $)return D;return{...D,executor:A_($)}}var V_=R(()=>{jD();O0();v8();JF()});import{randomBytes as OZ}from"crypto";function x1(){let D=OZ(32),$=`${f9}${MZ(D)}`;if(!j1($))throw Error("mintApiToken: generated token failed isWorkerApiToken check");return $}function MZ(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 qZ from"process";function x8(D,$,F,X,J=qZ.stdout){if(!X)return;J.write(`[worker] id=${D}
|
|
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 BF;var J_=M(()=>{i();BF=class BF{static[N]="TypedQueryBuilder";getSelectedFields(){return this._.selectedFields}}});function q7(D,$){return(F,X,...J)=>{let Y=[X,...J].map((G)=>({type:D,isAll:$,rightSelect:G}));for(let G of Y)if(!D3(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 F2,G_,HF,oP=()=>({union:aP,unionAll:tP,intersect:eP,except:DL}),aP,tP,eP,DL;var WF=M(()=>{i();J_();h2();y1();iD();D2();F0();A0();v2();u1();M7();F2=class F2{static[N]="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(j(D,hD))F=Object.fromEntries(Object.keys(D._.selectedFields).map((X)=>[X,D[X]]));else if(j(D,p8))F=D[ID].selectedFields;else if(j(D,y))F={};else F=kH(D);return new HF({table:D,fields:F,isPartialSelect:$,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct})}};G_=class G_ extends BF{static[N]="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=$3(D),this.joinsNotNullableMap=typeof this.tableName==="string"?{[this.tableName]:!0}:{};for(let B of $2(D))this.usedTables.add(B)}getUsedTables(){return[...this.usedTables]}createJoin(D){return($,F)=>{let X=this.tableName,J=$3($);for(let Y of $2($))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"&&!j($,y)){let Y=j($,hD)?$._.selectedFields:j($,I0)?$[ID].selectedFields:$[v.Symbol.Columns];this.config.fields[J]=Y}}if(typeof F==="function")F=F(new Proxy(this.config.fields,new gD({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(oP()):F;if(!D3(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 gD({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})));return this.config.where=D,this}having(D){if(typeof D==="function")D=D(new Proxy(this.config.fields,new gD({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 gD({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 gD({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(...$2(this.config.table)),this.config.joins)for(let F of this.config.joins)$.push(...$2(F.table));return new Proxy(new hD(this.getSQL(),this.config.fields,D,!1,[...new Set($)]),new gD({alias:D,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}getSelectedFields(){return new Proxy(this.config.fields,new gD({alias:this.tableName,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}$dynamic(){return this}};HF=class HF extends G_{static[N]="SQLiteSelect";_prepare(D=!0){if(!this.session)throw Error("Cannot execute a query on a query builder. Please use a database instance instead.");let $=w0(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()}};fH(HF,[_0]);aP=q7("union",!1),tP=q7("union",!0),eP=q7("intersect",!1),DL=q7("except",!1)});var W3;var _F=M(()=>{i();y1();Z7();D2();WF();W3=class W3{static[N]="SQLiteQueryBuilder";dialect;dialectConfig;constructor(D){this.dialect=j(D,B3)?D:void 0,this.dialectConfig=j(D,B3)?void 0:D}$with=(D,$)=>{let F=this;return{as:(J)=>{if(typeof J==="function")J=J(F);return new Proxy(new t6(J.getSQL(),$??("getSelectedFields"in J?J.getSelectedFields()??{}:{}),D,!0),new gD({alias:D,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};with(...D){let $=this;function F(J){return new F2({fields:J??void 0,session:void 0,dialect:$.getDialect(),withList:D})}function X(J){return new F2({fields:J??void 0,session:void 0,dialect:$.getDialect(),withList:D,distinct:!0})}return{select:F,selectDistinct:X}}select(D){return new F2({fields:D??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(D){return new F2({fields:D??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}getDialect(){if(!this.dialect)this.dialect=new H3(this.dialectConfig);return this.dialect}}});var N7,UF;var Y_=M(()=>{i();h2();iD();m8();F0();A0();u1();_F();N7=class N7{constructor(D,$,F,X){this.table=D,this.session=$,this.dialect=F,this.withList=X}static[N]="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[v.Symbol.Columns];for(let Y of Object.keys(F)){let G=F[Y];X[Y]=j(G,y)?G:new P0(G,J[Y])}return X});return new UF(this.table,$,this.session,this.dialect,this.withList)}select(D){let $=typeof D==="function"?D(new W3):D;if(!j($,y)&&!D3(this.table[H7],$._.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 UF(this.table,$,this.session,this.dialect,this.withList,!0)}};UF=class UF extends _0{constructor(D,$,F,X,J,Y){super();this.session=F,this.dialect=X,this.config={table:D,values:$,withList:J,select:Y}}static[N]="SQLiteInsert";config;returning(D=this.config.table[sD.Symbol.Columns]){return this.config.returning=w0(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,_7(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:$2(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 P7,B_;var H_=M(()=>{i();h2();y1();m8();D2();F0();A0();v2();u1();M7();P7=class P7{constructor(D,$,F,X){this.table=D,this.session=$,this.dialect=F,this.withList=X}static[N]="SQLiteUpdateBuilder";set(D){return new B_(this.table,_7(this.table,D),this.session,this.dialect,this.withList)}};B_=class B_ extends _0{constructor(D,$,F,X,J){super();this.session=F,this.dialect=X,this.config={set:$,table:D,withList:J,joins:[]}}static[N]="SQLiteUpdate";config;from(D){return this.config.from=D,this}createJoin(D){return($,F)=>{let X=$3($);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?j($,sD)?$[v.Symbol.Columns]:j($,hD)?$._.selectedFields:j($,p8)?$[ID].selectedFields:void 0:void 0;F=F(new Proxy(this.config.table[v.Symbol.Columns],new gD({sqlAliasedBehavior:"sql",sqlBehavior:"sql"})),J&&new Proxy(J,new gD({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[v.Symbol.Columns],new gD({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[sD.Symbol.Columns]){return this.config.returning=w0(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:$2(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 VF=M(()=>{tW();Y_();_F();WF();H_()});var _3;var W_=M(()=>{i();iD();_3=class _3 extends y{constructor(D){super(_3.buildEmbeddedCount(D.source,D.filters).queryChunks);this.params=D,this.session=D.session,this.sql=_3.buildCount(D.source,D.filters)}sql;static[N]="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 QF,L7,AF;var __=M(()=>{i();h2();J3();QF=class QF{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[N]="SQLiteAsyncRelationalQueryBuilder";findMany(D){return this.mode==="sync"?new AF(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,D?D:{},"many"):new L7(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,D?D:{},"many")}findFirst(D){return this.mode==="sync"?new AF(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,D?{...D,limit:1}:{limit:1},"first"):new L7(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,D?{...D,limit:1}:{limit:1},"first")}};L7=class L7 extends _0{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[N]="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)=>A7(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()}};AF=class AF extends L7{static[N]="SQLiteSyncRelationalQuery";sync(){return this.executeRaw()}}});var p1;var U_=M(()=>{i();h2();p1=class p1 extends _0{constructor(D,$,F,X,J){super();this.execute=D,this.getSQL=$,this.dialect=X,this.mapBatchResult=J,this.config={action:F}}static[N]="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 U3;var j7=M(()=>{i();y1();iD();VF();D2();W_();__();U_();U3=class U3{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 QF(D,X.fullSchema,this._.schema,this._.tableNamesMap,X.fullSchema[Y],G,$,F);this.$cache={invalidate:async(Y)=>{}}}static[N]="BaseSQLiteDatabase";query;$with=(D,$)=>{let F=this;return{as:(J)=>{if(typeof J==="function")J=J(new W3(F.dialect));return new Proxy(new t6(J.getSQL(),$??("getSelectedFields"in J?J.getSelectedFields()??{}:{}),D,!0),new gD({alias:D,sqlAliasedBehavior:"alias",sqlBehavior:"error"}))}}};$count(D,$){return new _3({source:D,filters:$,session:this.session})}with(...D){let $=this;function F(B){return new F2({fields:B??void 0,session:$.session,dialect:$.dialect,withList:D})}function X(B){return new F2({fields:B??void 0,session:$.session,dialect:$.dialect,withList:D,distinct:!0})}function J(B){return new P7(B,$.session,$.dialect,D)}function Y(B){return new N7(B,$.session,$.dialect,D)}function G(B){return new R7(B,$.session,$.dialect,D)}return{select:F,selectDistinct:X,update:J,insert:Y,delete:G}}select(D){return new F2({fields:D??void 0,session:this.session,dialect:this.dialect})}selectDistinct(D){return new F2({fields:D??void 0,session:this.session,dialect:this.dialect,distinct:!0})}update(D){return new P7(D,this.session,this.dialect)}$cache;insert(D){return new N7(D,this.session,this.dialect)}delete(D){return new R7(D,this.session,this.dialect)}run(D){let $=typeof D==="string"?O.raw(D):D.getSQL();if(this.resultKind==="async")return new p1(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 p1(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 p1(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 p1(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 V_=()=>{};async function EF(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 A_,KF;var Q_=M(()=>{i();A_=class A_{static[N]="Cache"};KF=class KF extends A_{strategy(){return"all"}static[N]="NoopCache";async get(D){return}async put(D,$,F,X){}async onMutate(D){}}});var K_,CF,RF,OF;var MF=M(()=>{Q_();i();O7();h2();j7();K_=class K_ extends _0{constructor(D){super();this.resultCb=D}static[N]="ExecuteResultSync";async execute(){return this.resultCb()}sync(){return this.resultCb()}};CF=class CF{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[N]="PreparedQuery";joinsNotNullableMap;async queryWithCache(D,$,F){if(this.cache===void 0||j(this.cache,KF)||this.queryMetadata===void 0)try{return await F()}catch(X){throw new g2(D,$,X)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await F()}catch(X){throw new g2(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 g2(D,$,X)}if(!this.cacheConfig)try{return await F()}catch(X){throw new g2(D,$,X)}if(this.queryMetadata.type==="select"){let X=await this.cache.get(this.cacheConfig.tag??await EF(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 g2(D,$,Y)}return await this.cache.put(this.cacheConfig.tag??await EF(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 g2(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 K_(()=>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,$)}}};RF=class RF{constructor(D){this.dialect=D}static[N]="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 m1({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")}};OF=class OF extends U3{constructor(D,$,F,X,J=0){super(D,$,F,X);this.schema=X,this.nestedIndex=J}static[N]="SQLiteTransaction";rollback(){throw new JF}}});var E_=()=>{};var z7=M(()=>{V_();iW();YF();j7();Z7();n$();oW();aW();VF();MF();m8();s$();u1();E_()});var ZF,qF,C_;var NF=M(()=>{i();Y7();iD();z7();MF();A0();ZF=class ZF extends RF{constructor(D,$,F,X={}){super($);this.client=D,this.schema=F,this.logger=X.logger??new S$}static[N]="SQLiteBunSession";logger;exec(D){this.client.exec(D)}prepareQuery(D,$,F,X,J){let Y=this.client.prepare(D.sql);return new C_(Y,D,this.logger,$,F,X,J)}transaction(D,$={}){let F=new qF("sync",this.dialect,this,this.schema),X;return this.client.transaction(()=>{X=D(F)})[$.behavior??"deferred"](),X}};qF=class qF extends OF{static[N]="SQLiteBunTransaction";transaction(D){let $=`sp${this.nestedIndex}`,F=new qF("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}}};C_=class C_ extends CF{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[N]="SQLiteBunPreparedQuery";run(D){let $=e6(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=e6(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)=>y$($,H,J))}get(D){let $=e6(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 y$(X,F,J)}values(D){let $=e6(this.query.params,D??{});return this.logger.logQuery(this.query.sql,$),this.stmt.values(...$)}isResponseInArrayMode(){return this._isResponseInArrayMode}}});import{Database as I7}from"bun:sqlite";function c1(D,$={}){let F=new H3({casing:$.casing}),X;if($.logger===!0)X=new T$;else if($.logger!==!1)X=$.logger;let J;if($.schema){let B=WW($.schema,UW);J={fullSchema:$.schema,schema:B.tables,tableNamesMap:B.tableNamesMap}}let Y=new ZF(D,F,J,{logger:X}),G=new R_("sync",F,Y,J);return G.$client=D,G}function d1(...D){if(D[0]===void 0||typeof D[0]==="string"){let $=D[0]===void 0?new I7:new I7(D[0]);return c1($,D[1])}if(vH(D[0])){let{connection:$,client:F,...X}=D[0];if(F)return c1(F,X);if(typeof $==="object"){let{source:Y,...G}=$,B=Object.values(G).filter((W)=>W!==void 0).length?G:void 0,H=new I7(Y,B);return c1(H,X)}let J=new I7($);return c1(J,X)}return c1(D[0],D[1])}var R_;var O_=M(()=>{i();Y7();J3();j7();Z7();A0();NF();R_=class R_ extends U3{static[N]="BunSQLiteDatabase"};((D)=>{function $(F){return c1({},F)}D.mock=$})(d1||(d1={}))});var PF=M(()=>{O_();NF()});import $L from"crypto";import LF from"fs";function M_(D){let $=D.migrationsFolder,F=[],X=`${$}/meta/_journal.json`;if(!LF.existsSync(X))throw Error("Can't find meta/_journal.json file");let J=LF.readFileSync(`${$}/meta/_journal.json`).toString(),Y=JSON.parse(J);for(let G of Y.entries){let B=`${$}/${G.tag}.sql`;try{let H=LF.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:$L.createHash("sha256").update(H).digest("hex")})}catch{throw Error(`No file ${B} found in ${$} folder`)}}return F}var Z_=()=>{};function w7(D,$){let F=M_($);D.dialect.migrate(F,D.session,$)}var jF=M(()=>{Z_()});var K0=M(()=>{K7();v$();e0();i();O7();Y7();h2();J3();GF();D2();F0();A0();v2()});var u7={};z8(u7,{workerSecrets:()=>J0,workerIdentity:()=>T0,workerConfig:()=>J2,skillDrafts:()=>E0,skillBindings:()=>Q3,messages:()=>X0,executionLogs:()=>y2,evolutionObservations:()=>X2,cronJobs:()=>MD,conversations:()=>KD,agentTasks:()=>H8});var H8,KD,X0,y2,Q3,E0,X2,T0,J2,MD,J0;var yF=M(()=>{z7();H8=U0("agent_tasks",{id:T("id").primaryKey(),prompt:T("prompt").notNull(),status:T("status",{enum:["queued","running","succeeded","failed","cancelled"]}).notNull(),conversationId:T("conversation_id"),createdAt:T("created_at").notNull().$defaultFn(()=>new Date().toISOString()),finishedAt:T("finished_at"),result:T("result",{mode:"json"}).$type(),error:T("error")},(D)=>({createdAtIdx:N2("agent_tasks_created_at_idx").on(D.createdAt)})),KD=U0("conversations",{id:T("id").primaryKey(),taskId:T("task_id").references(()=>H8.id),channel:T("channel").$type().notNull(),chatId:T("chat_id").notNull(),threadId:T("thread_id"),status:T("status",{enum:["open","closed"]}).notNull().default("open"),summary:T("summary"),startedAt:T("started_at").notNull().$defaultFn(()=>new Date().toISOString()),lastActiveAt:T("last_active_at").notNull().$defaultFn(()=>new Date().toISOString()),closedAt:T("closed_at")},(D)=>({lookupIdx:N2("conversations_lookup_idx").on(D.channel,D.chatId,D.threadId,D.status),lastActiveAtIdx:N2("conversations_last_active_at_idx").on(D.lastActiveAt)})),X0=U0("messages",{id:mD("id").primaryKey({autoIncrement:!0}),conversationId:T("conversation_id").notNull().references(()=>KD.id,{onDelete:"cascade"}),role:T("role",{enum:["system","user","assistant","tool"]}).notNull(),content:T("content").notNull(),toolCalls:T("tool_calls",{mode:"json"}).$type(),toolCallId:T("tool_call_id"),tokensIn:mD("tokens_in"),tokensOut:mD("tokens_out"),richMetadata:T("rich_metadata"),createdAt:T("created_at").notNull().$defaultFn(()=>new Date().toISOString())},(D)=>({conversationIdIdx:N2("messages_conversation_id_idx").on(D.conversationId)})),y2=U0("execution_logs",{id:mD("id").primaryKey({autoIncrement:!0}),conversationId:T("conversation_id"),toolName:T("tool_name").notNull(),params:T("params",{mode:"json"}).$type(),result:T("result",{mode:"json"}).$type(),duration:mD("duration"),createdAt:T("created_at").notNull().$defaultFn(()=>new Date().toISOString())},(D)=>({conversationIdIdx:N2("execution_logs_conversation_id_idx").on(D.conversationId)})),Q3=U0("skill_bindings",{id:mD("id").primaryKey({autoIncrement:!0}),source:T("source").$type().notNull(),brainName:T("brain_name"),skillName:T("skill_name").notNull(),enabled:mD("enabled",{mode:"boolean"}).notNull().default(!0),priority:mD("priority").notNull().default(0),config:T("config",{mode:"json"}).$type(),createdAt:T("created_at").notNull().$defaultFn(()=>new Date().toISOString()),updatedAt:T("updated_at").notNull().$defaultFn(()=>new Date().toISOString())},(D)=>({uniqueBinding:rW("skill_bindings_source_brain_name_idx").on(D.source,D.brainName,D.skillName)})),E0=U0("skill_drafts",{id:mD("id").primaryKey({autoIncrement:!0}),proposedName:T("proposed_name").notNull(),source:T("source").$type().notNull(),bodyMarkdown:T("body_markdown").notNull(),rationale:T("rationale").notNull().default(""),status:T("status").$type().notNull().default("pending"),createdAt:T("created_at").notNull().$defaultFn(()=>new Date().toISOString()),decidedAt:T("decided_at"),decidedBy:T("decided_by")}),X2=U0("evolution_observations",{id:mD("id").primaryKey({autoIncrement:!0}),conversationId:T("conversation_id"),kind:T("kind").notNull(),payload:T("payload",{mode:"json"}).$type().notNull(),noticedAt:T("noticed_at").notNull().$defaultFn(()=>new Date().toISOString())},(D)=>({noticedAtIdx:N2("evolution_observations_noticed_at_idx").on(D.noticedAt)})),T0=U0("worker_identity",{pk:T("pk").primaryKey().default("default"),workerId:T("worker_id").notNull().unique(),apiTokenEnc:T("api_token_enc").notNull(),nonce:T("nonce").notNull(),authTag:T("auth_tag").notNull(),bootstrapShownAt:T("bootstrap_shown_at").notNull().$defaultFn(()=>new Date().toISOString()),createdAt:T("created_at").notNull().$defaultFn(()=>new Date().toISOString()),rotatedAt:T("rotated_at")}),J2=U0("worker_config",{pk:T("pk").primaryKey().default("default"),configJson:T("config_json",{mode:"json"}).$type().notNull(),version:mD("version").notNull().default(1),updatedAt:T("updated_at").notNull().$defaultFn(()=>new Date().toISOString()),updatedBy:T("updated_by",{enum:["bootstrap","api","cli"]})}),MD=U0("cron_jobs",{id:T("id").primaryKey(),expression:T("expression").notNull(),prompt:T("prompt").notNull(),channel:T("channel").$type().notNull(),chatId:T("chat_id").notNull(),accountId:T("account_id").notNull(),enabled:mD("enabled",{mode:"boolean"}).notNull().default(!0),lastRunAt:T("last_run_at"),nextRunAt:T("next_run_at"),createdAt:T("created_at").notNull().$defaultFn(()=>new Date().toISOString()),updatedAt:T("updated_at").notNull().$defaultFn(()=>new Date().toISOString())},(D)=>({dueIdx:N2("cron_jobs_due_idx").on(D.enabled,D.nextRunAt)})),J0=U0("worker_secrets",{id:mD("id").primaryKey({autoIncrement:!0}),key:T("key").notNull().unique(),valueEnc:T("value_enc").notNull(),nonce:T("nonce").notNull(),authTag:T("auth_tag").notNull(),createdAt:T("created_at").notNull().$defaultFn(()=>new Date().toISOString()),updatedAt:T("updated_at").notNull().$defaultFn(()=>new Date().toISOString())})});var mF={};z8(mF,{workerSecrets:()=>J0,workerSchema:()=>u7,workerIdentity:()=>T0,workerConfig:()=>J2,skillDrafts:()=>E0,skillBindings:()=>Q3,runWorkerMigrations:()=>C3,messages:()=>X0,initWorkerDb:()=>E3,getWorkerDb:()=>p,executionLogs:()=>y2,evolutionObservations:()=>X2,defaultWorkerMigrationsFolder:()=>n1,cronJobs:()=>MD,conversations:()=>KD,closeWorkerDb:()=>Pj,agentTasks:()=>H8});import{existsSync as PU}from"fs";import uF from"path";import{fileURLToPath as Mj}from"url";import{Database as Zj}from"bun:sqlite";function qj(D){let $=uF.resolve(LU,"../../drizzle",D);if(PU($))return $;let F=uF.resolve(LU,"drizzle",D);if(PU(F))return F;return $}function Nj(D){let $=new Zj(D,{create:!0});return $.exec("PRAGMA journal_mode = WAL"),$.exec("PRAGMA foreign_keys = ON"),d1($,{schema:u7})}function E3(D){return K3=Nj(D),K3}function p(){if(!K3)throw Error("Worker database not initialized. Call initWorkerDb() first.");return K3}function Pj(){K3=null}function C3(D=n1){w7(p(),{migrationsFolder:D})}var LU,n1,K3=null;var wD=M(()=>{PF();jF();yF();yF();LU=uF.dirname(Mj(import.meta.url));n1=qj("worker")});import jU from"path";import zU from"process";function jj(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 i8(){if(m7)return m7;let D=Lj.parse(zU.env);return m7=Object.freeze({...D,perEngineLimits:Object.freeze({...jj(zU.env)})}),m7}var Lj,m7=null,l;var p7=M(()=>{x8();Z0();wD();vD();Lj=_.object({PORT:_.coerce.number().default(9217),WORKER_DB_PATH:_.string().default(()=>jU.join(O2(),"worker.db")),WORKER_MIGRATIONS_FOLDER:_.string().default(()=>n1),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(v1).optional(),AIWORKER_FORCE_TOKEN:_.string().regex(k2).optional(),AIWORKER_ADVERTISED_BASE_URL:_.string().optional(),WORKER_DATA_ROOT:_.string().default(()=>jU.join(O2(),"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 i8()[$]},has(D,$){return $ in i8()},ownKeys(D){return Reflect.ownKeys(i8())},getOwnPropertyDescriptor(D,$){return Reflect.getOwnPropertyDescriptor(i8(),$)}})});function W8(D){let $=zj[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 IU(D){if(!D||typeof D!=="object")return{...O3};let $=D;if(typeof $.engine==="string")return $;let F=$.type;if(typeof F!=="string")return{...O3};switch(F){case"http":return{engine:"http",variant:"default",overrides:R3({baseUrl:$.baseUrl,apiKey:$.apiKey,model:$.model,timeoutMs:$.timeoutMs})};case"mcp":return{engine:"mcp",variant:"default",overrides:R3({url:$.url,token:$.token,defaultModel:$.defaultModel,tools:$.tools,timeoutMs:$.timeoutMs})};case"cli":return{engine:"cli",variant:"default",overrides:R3({command:$.command,args:$.args,cwd:$.cwd,env:$.env,timeoutMs:$.timeoutMs,sandbox:$.sandbox})};case"claude-code":return{engine:"claude-code",variant:"default",overrides:R3({model:$.model,cliVersion:$.cliVersion,extraArgs:$.extraArgs,env:$.env,workspaceRoot:$.workspaceRoot,timeoutMs:$.timeoutMs})};case"acp":return{engine:"acp",variant:$.agent==="qwen"?"qwen":"gemini",overrides:R3({model:$.model,cliVersion:$.cliVersion,extraArgs:$.extraArgs,env:$.env,timeoutMs:$.timeoutMs})};default:return{...O3}}}function R3(D){let $={};for(let[F,X]of Object.entries(D))if(X!==void 0)$[F]=X;return $}var zj,O3;var n8=M(()=>{zj={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}}}},O3={engine:"http",variant:"default",overrides:{baseUrl:"http://localhost:9999",model:"stub"}}});var s1;var pF=M(()=>{n8();s1={brains:[],brainWriteTarget:"",brainRetrieval:"first-match",executor:{...O3},channels:[],evolution:{enabled:!1,observationRetentionDays:7}}});async function s8(D){let $=await D.select().from(J2).where(m(J2.pk,"default")).get();if($)return{config:Ij($.configJson),version:$.version};let F=new Date().toISOString();return await D.insert(J2).values({pk:"default",configJson:s1,version:1,updatedAt:F,updatedBy:"bootstrap"}).run(),{config:s1,version:1}}function Ij(D){let $=D.executor;if($&&typeof $==="object"&&"engine"in $)return D;return{...D,executor:IU($)}}var wU=M(()=>{wD();K0();n8();pF()});import{randomBytes as wj}from"crypto";function r1(){let D=wj(32),$=`${r9}${Tj(D)}`;if(!$8($))throw Error("mintApiToken: generated token failed isWorkerApiToken check");return $}function Tj(D){return D.toString("base64").replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function r8(D,$,F={}){let X=await D.select().from(T0).where(m(T0.pk,"default")).get();if(X){let V=$.decryptString(X.apiTokenEnc,X.nonce,X.authTag);if(!$8(V))throw Error("loadOrMintIdentity: decrypted API token failed isWorkerApiToken check");return await z$(X.workerId),{workerId:X.workerId,token:V,justMinted:!1}}let J=F.forceId??c7();if(!v1.test(J))throw Error(`loadOrMintIdentity: forceId ${J} does not match WORKER_ID_PATTERN`);let Y=F.forceToken??r1();if(!$8(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(T0).values({pk:"default",workerId:J,apiTokenEnc:B,nonce:H,authTag:W,bootstrapShownAt:U,createdAt:U}).run(),await z$(J),{workerId:J,token:G,justMinted:!0}}var c7;var cF=M(()=>{x8();Z0();wD();K0();c7=M$});import Sj from"process";function o8(D,$,F,X,J=Sj.stdout){if(!X)return;J.write(`[worker] id=${D}
|
|
93
93
|
`),J.write(`[worker] AIWORKER_BOOTSTRAP_TOKEN=${$}
|
|
94
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 Q_=R(()=>{jD();O0()});var E_=R(()=>{V_();JF();GF();Q_()});import{Buffer as K_}from"buffer";import{createDecipheriv as NZ,createHash as PZ}from"crypto";function LZ(D,$){let F=PZ("sha256").update($,"utf8").digest(),X=K_.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=NZ("aes-256-cbc",F,J);return K_.concat([G.update(Y),G.final()]).toString("utf8")}function R_(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(LZ(F.encrypt,$))}return F}function zZ(D){return D.type==="url_verification"||D.header?.event_type==="url_verification"}function jZ(D){if(typeof D.header?.token==="string")return D.header.token;if(typeof D.token==="string")return D.token;return}async function wZ(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 IZ(D,$){let F=C_.get(D);if(!F)F={},C_.set(D,F);if(F.current&&F.current.expiresAt-Date.now()>ZZ)return F.current.token;if(F.inflight)return(await F.inflight).token;let X=F;return X.inflight=wZ(D,$).then((J)=>{return X.current=J,J}).finally(()=>{X.inflight=void 0}),(await X.inflight).token}function TZ(D){let $=typeof D.parent_id==="string"&&D.parent_id.length>0?D.parent_id:void 0;if(!$)return;return{quote:$}}var ZZ=60000,C_,O_;var M_=R(()=>{C_=new Map;O_={channel:"lark",async verify(D,$,F){if(F.credentials.channel!=="lark")throw Error("lark adapter called with non-lark credentials");let X=R_(D,F.credentials.encryptKey),J=jZ(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=R_(D,J);if(zZ(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=TZ(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 IZ(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 q_}from"buffer";import{createHash as SZ,createHmac as fZ,timingSafeEqual as bZ}from"crypto";function kZ(D,$){return fZ("sha256",D).update($,"utf8").digest("base64")}function vZ(D){switch(D.type){case"user":return`user:${D.userId}`;case"group":return`group:${D.groupId}`;case"room":return`room:${D.roomId}`}}function gZ(D){let $=D.message?.quotedMessageId;if(typeof $!=="string"||$.length===0)return;return{quote:$}}var N_;var P_=R(()=>{N_={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=kZ(F.credentials.channelSecret,D),Y=q_.from(X,"base64"),G=q_.from(J,"base64");if(Y.length!==G.length||!bZ(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=SZ("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=vZ(G.source),H=G.source.type==="user"?G.source.userId:("userId"in G.source)?G.source.userId:void 0,W=gZ(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 Z_}from"buffer";import{createHash as hZ,timingSafeEqual as xZ}from"crypto";function pZ(D,$){let F=Z_.from(D,"utf8"),X=Z_.from($,"utf8");if(F.length!==X.length)return!1;return xZ(F,X)}function cZ(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 dZ(D,$){if(D.length<=$)return[D];let F=[],X=D;while(X.length>$){let J=-1;for(let Y=$-1;Y>0;Y--)if(mZ.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 lZ(D){if(D.botUsername&&D.botUsername.length>0)return D.botUsername;return hZ("sha256").update(D.botToken,"utf8").digest("hex").slice(0,16)}function iZ(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 yZ=4096,uZ="x-telegram-bot-api-secret-token",mZ,L_;var z_=R(()=>{mZ=/\s/;L_={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=$[uZ];if(!J||!pZ(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=cZ(J.from),H=Number.isFinite(J.date)?new Date(J.date*1000).toISOString():y1(),W=lZ(F.credentials),U=iZ(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=dZ($.text,yZ);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 sZ(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 nZ="default",j_;var w_=R(()=>{j_={channel:"web",async verify(){},async toEnvelopes(D,$,F){let X=F?.id&&F.id.length>0?F.id:nZ,J=JSON.parse(D),Y=sZ(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 I_}from"buffer";import{createHmac as rZ,timingSafeEqual as oZ}from"crypto";function tZ(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 eZ(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 aZ="v21.0",T_;var S_=R(()=>{T_={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=rZ("sha256",F.credentials.appSecret).update(D,"utf8").digest("hex"),B=I_.from(Y,"hex"),H=I_.from(G,"hex");if(B.length!==H.length||!oZ(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=tZ(U);if(A===void 0)continue;let V=U.from,C=W.find((Q)=>Q.wa_id===V)?.profile?.name,K=eZ(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/${aZ}/${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 DL[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 DL;var G3=R(()=>{M_();P_();z_();w_();S_();DL={web:j_,line:N_,telegram:L_,lark:O_,whatsapp:T_}});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}),$L($),$.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}),FL(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 $L(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 FL(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 b_=S((f_)=>{Object.defineProperty(f_,"__esModule",{value:!0})});var e2=S((k_)=>{Object.defineProperty(k_,"__esModule",{value:!0});k_.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))}}k_.CronField=YF});var y_=S((h_)=>{Object.defineProperty(h_,"__esModule",{value:!0});h_.CronDayOfMonth=void 0;var XL=e2(),JL=1,GL=31,YL=Object.freeze(["L"]);class g_ extends XL.CronField{static get min(){return JL}static get max(){return GL}static get chars(){return YL}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}}h_.CronDayOfMonth=g_});var c_=S((m_)=>{Object.defineProperty(m_,"__esModule",{value:!0});m_.CronDayOfWeek=void 0;var BL=e2(),HL=0,WL=7,_L=Object.freeze(["L"]);class u_ extends BL.CronField{static get min(){return HL}static get max(){return WL}static get chars(){return _L}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}}m_.CronDayOfWeek=u_});var n_=S((l_)=>{Object.defineProperty(l_,"__esModule",{value:!0});l_.CronHour=void 0;var UL=e2(),AL=0,VL=23,QL=Object.freeze([]);class d_ extends UL.CronField{static get min(){return AL}static get max(){return VL}static get chars(){return QL}constructor(D,$){super(D,$);this.validate()}get values(){return super.values}}l_.CronHour=d_});var a_=S((r_)=>{Object.defineProperty(r_,"__esModule",{value:!0});r_.CronMinute=void 0;var EL=e2(),KL=0,CL=59,RL=Object.freeze([]);class s_ extends EL.CronField{static get min(){return KL}static get max(){return CL}static get chars(){return RL}constructor(D,$){super(D,$);this.validate()}get values(){return super.values}}r_.CronMinute=s_});var kA=S((bA)=>{Object.defineProperty(bA,"__esModule",{value:!0});class X8 extends Error{}class wU extends X8{constructor(D){super(`Invalid DateTime: ${D.toMessage()}`)}}class IU extends X8{constructor(D){super(`Invalid Interval: ${D.toMessage()}`)}}class TU 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},SU={year:x,month:J2,day:x},OL={year:x,month:J2,day:x,weekday:J2},fU={year:x,month:M0,day:x},bU={year:x,month:M0,day:x,weekday:M0},kU={hour:x,minute:x},vU={hour:x,minute:x,second:x},gU={hour:x,minute:x,second:x,timeZoneName:J2},hU={hour:x,minute:x,second:x,timeZoneName:M0},xU={hour:x,minute:x,hourCycle:"h23"},yU={hour:x,minute:x,second:x,hourCycle:"h23"},uU={hour:x,minute:x,second:x,hourCycle:"h23",timeZoneName:J2},mU={hour:x,minute:x,second:x,hourCycle:"h23",timeZoneName:M0},pU={year:x,month:x,day:x,hour:x,minute:x},cU={year:x,month:x,day:x,hour:x,minute:x,second:x},dU={year:x,month:J2,day:x,hour:x,minute:x},lU={year:x,month:J2,day:x,hour:x,minute:x,second:x},ML={year:x,month:J2,day:x,weekday:J2,hour:x,minute:x},iU={year:x,month:M0,day:x,hour:x,minute:x,timeZoneName:J2},nU={year:x,month:M0,day:x,hour:x,minute:x,second:x,timeZoneName:J2},sU={year:x,month:M0,day:x,weekday:M0,hour:x,minute:x,timeZoneName:M0},rU={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 WA(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 qL(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 NL={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function PL(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 ZL(D,$){let F=D.formatToParts($),X=[];for(let J=0;J<F.length;J++){let{type:Y,value:G}=F[J],B=NL[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 WA(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=qL(this.name),[X,J,Y,G,B,H,W]=F.formatToParts?ZL(F,$):PL(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 t_={};function LL(D,$={}){let F=JSON.stringify([D,$]),X=t_[F];if(!X)X=new Intl.ListFormat(D,$),t_[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 zL(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 jL(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 wL(){if(B3)return B3;else return B3=new Intl.DateTimeFormat().resolvedOptions().locale,B3}var qF=new Map;function oU(D){let $=qF.get(D);if($===void 0)$=new Intl.DateTimeFormat(D).resolvedOptions(),qF.set(D,$);return $}var NF=new Map;function IL(D){let $=NF.get(D);if(!$){let F=new Intl.Locale(D);if($="getWeekInfo"in F?F.getWeekInfo():F.weekInfo,!("minimalDays"in $))$={...DA,...$};NF.set(D,$)}return $}function TL(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 SL(D,$,F){if(F||$){if(!D.includes("-u-"))D+="-u";if(F)D+=`-ca-${F}`;if($)D+=`-nu-${$}`;return D}else return D}function fL(D){let $=[];for(let F=1;F<=12;F++){let X=s.utc(2009,F,1);$.push(D(X))}return $}function bL(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 kL(D){if(D.numberingSystem&&D.numberingSystem!=="latn")return!1;else return D.numberingSystem==="latn"||!D.locale||D.locale.startsWith("en")||oU(D.locale).numberingSystem==="latn"}class aU{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=zL(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 tU{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 eU{constructor(D,$,F){if(this.opts={style:"long",...F},!$&&BA())this.rtf=jL(D,F)}format(D,$){if(this.rtf)return this.rtf.format(D,$);else return $z($,D,this.opts.numeric,this.opts.style!=="long")}formatToParts(D,$){if(this.rtf)return this.rtf.formatToParts(D,$);else return[]}}var DA={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":wL()),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]=TL(D);this.locale=Y,this.numberingSystem=$||G||null,this.outputCalendar=F||B||null,this.weekSettings=X,this.intl=SL(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=kL(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,AA,()=>{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]=fL(Y)}return this.monthsCache[J][D]})}weekdays(D,$=!1){return O7(this,D,EA,()=>{let F=$?{weekday:D,year:"numeric",month:"long",day:"numeric"}:{weekday:D},X=$?"format":"standalone";if(!this.weekdaysCache[X][D])this.weekdaysCache[X][D]=bL((J)=>this.extract(J,F,"weekday"));return this.weekdaysCache[X][D]})}meridiems(){return O7(this,void 0,()=>KA,()=>{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,CA,()=>{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 aU(this.intl,D.forceSimple||this.fastNumbers,D)}dtFormatter(D,$={}){return new tU(D,this.intl,$)}relFormatter(D={}){return new eU(this.intl,this.isEnglish(),D)}listFormatter(D={}){return LL(this.intl,D)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||oU(this.intl).locale.startsWith("en-us")}getWeekSettings(){if(this.weekSettings)return this.weekSettings;else if(!HA())return DA;else return IL(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(uL(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"},e_={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]},vL=IF.hanidec.replace(/[\[|\]]/g,"").split("");function gL(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)$+=vL.indexOf(D[F]);else for(let J in e_){let[Y,G]=e_[J];if(X>=Y&&X<=G)$+=X-Y}}return parseInt($,10)}else return $}var PF=new Map;function hL(){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 DU=()=>Date.now(),$U="system",FU=null,XU=null,JU=null,GU=60,YU,BU=null;class ZD{static get now(){return DU}static set now(D){DU=D}static set defaultZone(D){$U=D}static get defaultZone(){return $8($U,A3.instance)}static get defaultLocale(){return FU}static set defaultLocale(D){FU=D}static get defaultNumberingSystem(){return XU}static set defaultNumberingSystem(D){XU=D}static get defaultOutputCalendar(){return JU}static set defaultOutputCalendar(D){JU=D}static get defaultWeekSettings(){return BU}static set defaultWeekSettings(D){BU=ZF(D)}static get twoDigitCutoffYear(){return GU}static set twoDigitCutoffYear(D){GU=D%100}static get throwOnInvalid(){return YU}static set throwOnInvalid(D){YU=D}static resetCaches(){VD.resetCache(),C2.resetCache(),s.resetCache(),hL()}}class w0{constructor(D,$){this.reason=D,this.explanation=$}toMessage(){if(this.explanation)return`${this.reason}: ${this.explanation}`;else return this.reason}}var $A=[0,31,59,90,120,151,181,212,243,273,304,334],FA=[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 XA(D,$,F){return F+(V3(D)?FA:$A)[$-1]}function JA(D,$){let F=V3(D)?FA:$A,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=XA(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 HU(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}=JA(W,H);return{year:W,month:U,day:A,...b7(D)}}function _F(D){let{year:$,month:F,day:X}=D,J=XA($,F,X);return{year:$,ordinal:J,...b7(D)}}function WU(D){let{year:$,ordinal:F}=D,{month:X,day:J}=JA($,F);return{year:$,month:X,day:J,...b7(D)}}function _U(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 xL(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 yL(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 GA(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 YA(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 uL(D){return typeof D==="string"}function mL(D){return Object.prototype.toString.call(D)==="[object Date]"}function BA(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch(D){return!1}}function HA(){try{return typeof Intl<"u"&&!!Intl.Locale&&(("weekInfo"in Intl.Locale.prototype)||("getWeekInfo"in Intl.Locale.prototype))}catch(D){return!1}}function pL(D){return Array.isArray(D)?D:[D]}function UU(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 cL(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 dL(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=dL($-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 AU(D,$,F){return-SF(TF(D,1,$),F)+$-1}function U3(D,$=4,F=1){let X=AU(D,$,F),J=AU(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 WA(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 _A(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)]=_A(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 cL(D,["hour","minute","second","millisecond"])}var lL=["January","February","March","April","May","June","July","August","September","October","November","December"],UA=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],iL=["J","F","M","A","M","J","J","A","S","O","N","D"];function AA(D){switch(D){case"narrow":return[...iL];case"short":return[...UA];case"long":return[...lL];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 VA=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],QA=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],nL=["M","T","W","T","F","S","S"];function EA(D){switch(D){case"narrow":return[...nL];case"short":return[...QA];case"long":return[...VA];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var KA=["AM","PM"],sL=["Before Christ","Anno Domini"],rL=["BC","AD"],oL=["B","A"];function CA(D){switch(D){case"narrow":return[...oL];case"short":return[...rL];case"long":return[...sL];default:return null}}function aL(D){return KA[D.hour<12?0:1]}function tL(D,$){return EA($)[D.weekday-1]}function eL(D,$){return AA($)[D.month-1]}function Dz(D,$){return CA($)[D.year<0?0:1]}function $z(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 VU(D,$){let F="";for(let X of D)if(X.literal)F+=X.val;else F+=$(X.val);return F}var Fz={D:z7,DD:SU,DDD:fU,DDDD:bU,t:kU,tt:vU,ttt:gU,tttt:hU,T:xU,TT:yU,TTT:uU,TTTT:mU,f:pU,ff:dU,fff:iU,ffff:sU,F:cU,FF:lU,FFF:nU,FFFF:rU};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 Fz[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?aL(D):J({hour:"numeric",hourCycle:"h12"},"dayperiod"),B=(V,E)=>F?eL(D,V):J(E?{month:V}:{month:V,day:"numeric"},"month"),H=(V,E)=>F?tL(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?Dz(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 VU($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 VU(Y,J(B,H))}}var RA=/[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 OA(...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 MA=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,Xz=`(?:${MA.source}?(?:\\[(${RA.source})\\])?)?`,kF=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,qA=RegExp(`${kF.source}${Xz}`),vF=RegExp(`(?:[Tt]${qA.source})?`),Jz=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,Gz=/(\d{4})-?W(\d\d)(?:-?(\d))?/,Yz=/(\d{4})-?(\d{3})/,Bz=OA("weekYear","weekNumber","weekDay"),Hz=OA("year","ordinal"),Wz=/(\d{4})-(\d\d)-(\d\d)/,NA=RegExp(`${kF.source} ?(?:${MA.source}|(${RA.source}))?`),_z=RegExp(`(?: ${NA.source})?`);function i1(D,$,F){let X=D[$];return n(X)?F:D8(X)}function Uz(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 Az=RegExp(`^T?${kF.source}$`),Vz=/^-?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 Qz(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 Ez={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:UA.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?VA.indexOf(D)+1:QA.indexOf(D)+1;return B}var Kz=/^(?:(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 Cz(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=Ez[H];else if(W)E=0;else E=f7(U,A);return[V,new F0(E)]}function Rz(D){return D.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}var Oz=/^(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$/,Mz=/^(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$/,qz=/^(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 QU(D){let[,$,F,X,J,Y,G,B]=D;return[gF($,J,X,F,Y,G,B),F0.utcInstance]}function Nz(D){let[,$,F,X,J,Y,G,B]=D;return[gF($,B,F,X,J,Y,G),F0.utcInstance]}var Pz=s1(Jz,vF),Zz=s1(Gz,vF),Lz=s1(Yz,vF),zz=s1(qA),PA=r1(Uz,a1,Q3,E3),jz=r1(Bz,a1,Q3,E3),wz=r1(Hz,a1,Q3,E3),Iz=r1(a1,Q3,E3);function Tz(D){return o1(D,[Pz,PA],[Zz,jz],[Lz,wz],[zz,Iz])}function Sz(D){return o1(Rz(D),[Kz,Cz])}function fz(D){return o1(D,[Oz,QU],[Mz,QU],[qz,Nz])}function bz(D){return o1(D,[Vz,Qz])}var kz=r1(a1);function vz(D){return o1(D,[Az,kz])}var gz=s1(Wz,_z),hz=s1(NA),xz=r1(a1,Q3,E3);function yz(D){return o1(D,[gz,PA],[hz,xz])}var EU="Invalid Duration",ZA={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}},uz={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},...ZA},j0=365.2425,m1=30.436875,mz={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},...ZA},c8=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],pz=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 LA(D,$){var F;let X=(F=$.milliseconds)!=null?F:0;for(let J of pz.slice(1))if($[J])X+=$[J]*D[J].milliseconds;return X}function KU(D,$){let F=LA(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 CU(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=$?mz:uz;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]=bz(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]=vz(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 TU(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):EU}toHuman(D={}){if(!this.isValid)return EU;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 LA(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]=_A(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 KU(this.matrix,D),b2(this,{values:D},!0)}rescale(){if(!this.isValid)return this;let D=CU(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 KU(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=CU(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 cz(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 IU(F);else return new wD({invalid:F})}static fromDateTimes(D,$){let F=Y3(D),X=Y3($),J=cz(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:BA(),localeWeek:HA()}}}function RU(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 dz(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=RU(H,W);return(U-U%7)/7}],["days",RU]],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 lz(D,$,F,X){let[J,Y,G,B]=dz(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 iz="missing Intl.DateTimeFormat.formatToParts support";function _D(D,$=(F)=>F){return{regex:D,deser:([F])=>$(gL(F))}}var nz=String.fromCharCode(160),zA=`[ ${nz}]`,jA=new RegExp(zA,"g");function sz(D){return D.replace(/\./g,"\\.?").replace(jA,zA)}function OU(D){return D.replace(/\./g,"").replace(jA," ").toLowerCase()}function X2(D,$){if(D===null)return null;else return{regex:RegExp(D.map(sz).join("|")),deser:([F])=>D.findIndex((X)=>OU(F)===OU(X))+$}}function MU(D,$){return{regex:D,deser:([,F,X])=>f7(F,X),groups:$}}function M7(D){return{regex:D,deser:([$])=>$}}function rz(D){return D.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function oz(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(rz(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 MU(new RegExp(`([+-]${B.source})(?::(${X.source}))?`),2);case"ZZZ":return MU(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:iz};return K.token=D,K}var az={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 tz(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=az[G];if(typeof B==="object")B=B[Y];if(B)return{literal:!1,val:B};return}function ez(D){return[`^${D.map((F)=>F.regex).reduce((F,X)=>`${F}(${X.source})`,"")}$`,D]}function Dj(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 $j(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 Fj(){if(!UF)UF=s.fromMillis(1555555555555);return UF}function Xj(D,$){if(D.literal)return D;let F=$0.macroTokenToFormatOpts(D.val),X=TA(F,$);if(X==null||X.includes(void 0))return D;return X}function wA(D,$){return Array.prototype.concat(...D.map((F)=>Xj(F,$)))}class hF{constructor(D,$){if(this.locale=D,this.format=$,this.tokens=wA($0.parseFormat($),D),this.units=this.tokens.map((F)=>oz(F,D)),this.disqualifyingUnit=this.units.find((F)=>F.invalidReason),!this.disqualifyingUnit){let[F,X]=ez(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]=Dj(D,this.regex,this.handlers),[X,J,Y]=F?$j(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 IA(D,$,F){return new hF(D,F).explainFromTokens($)}function Jj(D,$,F){let{result:X,zone:J,specificOffset:Y,invalidReason:G}=IA(D,$,F);return[X,J,Y,G]}function TA(D,$){if(!D)return null;let X=$0.create($,D).dtFormatter(Fj()),J=X.formatToParts(),Y=X.resolvedOptions();return J.map((G)=>tz(G,D,Y))}var AF="Invalid DateTime",qU=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 SA(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 SA(S7(D),$,F)}function NU(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]=SA(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 PU(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 fA={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},Gj={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},Yj={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Z7=["year","month","day","hour","minute","second","millisecond"],Bj=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],Hj=["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 ZU(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 Wj(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 LU(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]=fA[H];let G=GA(D)||YA(D);if(G)return s.invalid(G);let B=Wj(F);[J,Y]=P7(D,B,F)}else J=ZD.now();return new s({ts:J,zone:F,loc:X,o:Y})}function zU(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 jU(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,$]=jU(arguments),[F,X,J,Y,G,B,H]=$;return LU({year:F,month:X,day:J,hour:Y,minute:G,second:B,millisecond:H},D)}static utc(){let[D,$]=jU(arguments),[F,X,J,Y,G,B,H]=$;return D.zone=F0.utcInstance,LU({year:F,month:X,day:J,hour:Y,minute:G,second:B,millisecond:H},D)}static fromJSDate(D,$={}){let F=mL(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<-qU||D>qU)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,ZU),{minDaysInFirstWeek:Y,startOfWeek:G}=_U(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=Bj,Q=Gj,q=j7(q,Y,G);else if(W)K=Hj,Q=Yj,q=_F(q);else K=Z7,Q=fA;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?xL(J,Y,G):W?yL(J):GA(J),j=Z||YA(J);if(j)return s.invalid(j);let T=C?HU(J,Y,G):W?WU(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]=Tz(D);return c1(F,X,$,"ISO 8601",D)}static fromRFC2822(D,$={}){let[F,X]=Sz(D);return c1(F,X,$,"RFC 2822",D)}static fromHTTP(D,$={}){let[F,X]=fz(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]=Jj(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]=yz(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 wU(F);else return new s({invalid:F})}static isDateTime(D){return D&&D.isLuxonDateTime||!1}static parseFormatForOpts(D,$={}){let F=TA(D,VD.fromObject($));return!F?null:F.map((X)=>X?X.val:null).join("")}static expandFormat(D,$={}){return wA($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,ZU),{minDaysInFirstWeek:F,startOfWeek:X}=_U($,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=HU({...j7(this.c,F,X),...$},F,X);else if(!n($.ordinal))U=WU({..._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,NU(this,$))}minus(D){if(!this.isValid)return this;let $=YD.fromDurationLike(D).negate();return m8(this,NU(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+=PU(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":"")+PU(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=pL($).map(YD.normalizeUnit),Y=D.valueOf()>this.valueOf(),G=Y?this:D,B=Y?D:this,H=lz(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 zU($,this.plus(F),{...D,numeric:"always",units:X,unit:J})}toRelativeCalendar(D={}){if(!this.isValid)return null;return zU(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 UU(D,($)=>$.valueOf(),Math.min)}static max(...D){if(!D.every(s.isDateTime))throw new oD("max requires all arguments be DateTimes");return UU(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 IA(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 SU}static get DATE_MED_WITH_WEEKDAY(){return OL}static get DATE_FULL(){return fU}static get DATE_HUGE(){return bU}static get TIME_SIMPLE(){return kU}static get TIME_WITH_SECONDS(){return vU}static get TIME_WITH_SHORT_OFFSET(){return gU}static get TIME_WITH_LONG_OFFSET(){return hU}static get TIME_24_SIMPLE(){return xU}static get TIME_24_WITH_SECONDS(){return yU}static get TIME_24_WITH_SHORT_OFFSET(){return uU}static get TIME_24_WITH_LONG_OFFSET(){return mU}static get DATETIME_SHORT(){return pU}static get DATETIME_SHORT_WITH_SECONDS(){return cU}static get DATETIME_MED(){return dU}static get DATETIME_MED_WITH_SECONDS(){return lU}static get DATETIME_MED_WITH_WEEKDAY(){return ML}static get DATETIME_FULL(){return iU}static get DATETIME_FULL_WITH_SECONDS(){return nU}static get DATETIME_HUGE(){return sU}static get DATETIME_HUGE_WITH_SECONDS(){return rU}}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 _j="3.7.2";bA.DateTime=s;bA.Duration=YD;bA.FixedOffsetZone=F0;bA.IANAZone=C2;bA.Info=d1;bA.Interval=wD;bA.InvalidZone=wF;bA.Settings=ZD;bA.SystemZone=A3;bA.VERSION=_j;bA.Zone=d8});var v7=S((vA)=>{Object.defineProperty(vA,"__esModule",{value:!0});vA.CronDate=vA.DAYS_IN_MONTH=vA.DateMathOp=vA.TimeUnit=void 0;var l8=kA(),X0;(function(D){D.Second="Second",D.Minute="Minute",D.Hour="Hour",D.Day="Day",D.Month="Month",D.Year="Year"})(X0||(vA.TimeUnit=X0={}));var k7;(function(D){D.Add="Add",D.Subtract="Subtract"})(k7||(vA.DateMathOp=k7={}));vA.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===vA.DAYS_IN_MONTH[$-1]-(F?0:1)}return D===vA.DAYS_IN_MONTH[$-1]}isLastWeekdayOfMonth(){let{day:D,month:$}=this.#D,F;if($===2)F=vA.DAYS_IN_MONTH[$-1]-(t1.#J(this.#D.year)?0:1);else F=vA.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()}}vA.CronDate=t1;vA.default=t1});var uA=S((xA)=>{Object.defineProperty(xA,"__esModule",{value:!0});xA.CronMonth=void 0;var Lj=v7(),zj=e2(),jj=1,wj=12,Ij=Object.freeze([]);class hA extends zj.CronField{static get min(){return jj}static get max(){return wj}static get chars(){return Ij}static get daysInMonth(){return Lj.DAYS_IN_MONTH}constructor(D,$){super(D,$);this.validate()}get values(){return super.values}}xA.CronMonth=hA});var dA=S((pA)=>{Object.defineProperty(pA,"__esModule",{value:!0});pA.CronSecond=void 0;var Tj=e2(),Sj=0,fj=59,bj=Object.freeze([]);class mA extends Tj.CronField{static get min(){return Sj}static get max(){return fj}static get chars(){return bj}constructor(D,$){super(D,$);this.validate()}get values(){return super.values}}pA.CronSecond=mA});var g7=S((_0)=>{var kj=_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))kj($,D,F)};Object.defineProperty(_0,"__esModule",{value:!0});J8(b_(),_0);J8(y_(),_0);J8(c_(),_0);J8(e2(),_0);J8(n_(),_0);J8(a_(),_0);J8(uA(),_0);J8(dA(),_0)});var xF=S((lA)=>{Object.defineProperty(lA,"__esModule",{value:!0});lA.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()}}}lA.CronFieldCollection=e1});var uF=S((sA)=>{Object.defineProperty(sA,"__esModule",{value:!0});sA.CronExpression=sA.LOOPS_LIMIT_EXCEEDED_ERROR_MESSAGE=sA.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE=void 0;var TD=v7();sA.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE="Out of the time span range";sA.LOOPS_LIMIT_EXCEEDED_ERROR_MESSAGE="Invalid expression, loop limit exceeded";var nA=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(sA.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE);if(this.#J&&$>this.#J.getTime())throw Error(sA.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<nA){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>nA)throw Error(sA.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()}}}}}sA.CronExpression=f0;sA.default=f0});var tA=S((aA)=>{Object.defineProperty(aA,"__esModule",{value:!0});aA.seededRandom=xj;function gj(D){let $=2166136261;for(let F=0;F<D.length;F++)$^=D.charCodeAt(F),$=Math.imul($,16777619);return()=>$>>>0}function hj(D){return()=>{let $=D+=1831565813;return $=Math.imul($^$>>>15,$|1),$^=$+Math.imul($^$>>>7,$|61),(($^$>>>14)>>>0)/4294967296}}function xj(D){let $=D?gj(D)():Math.floor(Math.random()*10000000000);return hj($)}});var h7=S((eA)=>{Object.defineProperty(eA,"__esModule",{value:!0});eA.CronExpressionParser=eA.DayOfWeek=eA.Months=eA.CronUnit=eA.PredefinedExpressions=void 0;var uj=xF(),mj=uF(),pj=tA(),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||(eA.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||(eA.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||(eA.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||(eA.DayOfWeek=cF={}));class U0{static parse(D,$={}){let{strict:F=!1,hashSeed:X}=$,J=(0,pj.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 uj.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 mj.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))}}eA.CronExpressionParser=U0});var $V=S((R2)=>{var nj=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]}),sj=R2&&R2.__setModuleDefault||(Object.create?function(D,$){Object.defineProperty(D,"default",{enumerable:!0,value:$})}:function(D,$){D.default=$}),rj=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")nj(F,$,X[J])}return sj(F,$),F}}();Object.defineProperty(R2,"__esModule",{value:!0});R2.CronFileParser=void 0;var oj=h7();class C3{static async parseFile(D){let{readFile:$}=await Promise.resolve().then(()=>rj(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:oj.CronExpressionParser.parse($.slice(0,5).join(" ")),command:$.slice(5,$.length)}}}R2.CronFileParser=C3});var FV=S((dD)=>{var aj=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]}),tj=dD&&dD.__exportStar||function(D,$){for(var F in D)if(F!=="default"&&!Object.prototype.hasOwnProperty.call($,F))aj($,D,F)};Object.defineProperty(dD,"__esModule",{value:!0});dD.CronFileParser=dD.CronExpressionParser=dD.CronExpression=dD.CronFieldCollection=dD.CronDate=void 0;var ej=h7(),Dw=v7();Object.defineProperty(dD,"CronDate",{enumerable:!0,get:function(){return Dw.CronDate}});var $w=xF();Object.defineProperty(dD,"CronFieldCollection",{enumerable:!0,get:function(){return $w.CronFieldCollection}});var Fw=uF();Object.defineProperty(dD,"CronExpression",{enumerable:!0,get:function(){return Fw.CronExpression}});var Xw=h7();Object.defineProperty(dD,"CronExpressionParser",{enumerable:!0,get:function(){return Xw.CronExpressionParser}});var Jw=$V();Object.defineProperty(dD,"CronFileParser",{enumerable:!0,get:function(){return Jw.CronFileParser}});tj(g7(),dD);dD.default=ej.CronExpressionParser});class R3{deps;handle=null;ticking=!1;constructor(D){this.deps=D}start(D=Gw){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??Yw;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 XV.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 XV,Gw=60000,Yw="sys:cron";var dF=R(()=>{jD();JD();O0();XV=XO(FV(),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 YV from"fs/promises";import Bw from"os";import v0 from"path";import u7 from"process";function HV(D=BV){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()+Hw}),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 JV)U.push(J(A));for(let A of GV)U.push(await X(A,W));return U}async function G(H,W={}){let U=W.refresh??!1;if(JV.includes(H))return J(H);let A=GV.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=HV();return M3}function WV(D){return M3=HV(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 _V(D,$=BV){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 UV(){return _V("gemini")}function AV(){return _V("qwen")}async function Ww(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 YV.stat(G)).isFile())return G}catch{}}}return null}async function _w(D){try{return await YV.stat(D),!0}catch{return!1}}var Hw=600000,BV,JV,GV,M3=null;var p7=R(()=>{BV={resolveBinary:Ww,pathExists:_w,homedir:()=>Bw.homedir(),now:()=>Date.now()},JV=["http","mcp","cli"],GV=[{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!==Uw){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 Uw=1;var VV=R(()=>{L8();JD()});function QV(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((Ow)=>{var nF=Symbol.for("yaml.alias"),EV=Symbol.for("yaml.document"),c7=Symbol.for("yaml.map"),KV=Symbol.for("yaml.pair"),sF=Symbol.for("yaml.scalar"),d7=Symbol.for("yaml.seq"),v2=Symbol.for("yaml.node.type"),Aw=(D)=>!!D&&typeof D==="object"&&D[v2]===nF,Vw=(D)=>!!D&&typeof D==="object"&&D[v2]===EV,Qw=(D)=>!!D&&typeof D==="object"&&D[v2]===c7,Ew=(D)=>!!D&&typeof D==="object"&&D[v2]===KV,CV=(D)=>!!D&&typeof D==="object"&&D[v2]===sF,Kw=(D)=>!!D&&typeof D==="object"&&D[v2]===d7;function RV(D){if(D&&typeof D==="object")switch(D[v2]){case c7:case d7:return!0}return!1}function Cw(D){if(D&&typeof D==="object")switch(D[v2]){case nF:case c7:case sF:case d7:return!0}return!1}var Rw=(D)=>(CV(D)||RV(D))&&!!D.anchor;Ow.ALIAS=nF;Ow.DOC=EV;Ow.MAP=c7;Ow.NODE_TYPE=v2;Ow.PAIR=KV;Ow.SCALAR=sF;Ow.SEQ=d7;Ow.hasAnchor=Rw;Ow.isAlias=Aw;Ow.isCollection=RV;Ow.isDocument=Vw;Ow.isMap=Qw;Ow.isNode=Cw;Ow.isPair=Ew;Ow.isScalar=CV;Ow.isSeq=Kw});var q3=S((gw)=>{var yD=BD(),A0=Symbol("break visit"),OV=Symbol("skip children"),O2=Symbol("remove node");function l7(D,$){let F=MV($);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=OV;l7.REMOVE=O2;function D6(D,$,F,X){let J=qV(D,$,F,X);if(yD.isNode(J)||yD.isPair(J))return NV(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=MV($);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=OV;i7.REMOVE=O2;async function $6(D,$,F,X){let J=await qV(D,$,F,X);if(yD.isNode(J)||yD.isPair(J))return NV(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 MV(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 qV(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 NV(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`)}}gw.visit=l7;gw.visitAsync=i7});var rF=S((pw)=>{var PV=BD(),yw=q3(),uw={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},mw=(D)=>D.replace(/[!,[\]{}]/g,($)=>uw[$]);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 $+mw(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&&PV.isNode(D.contents)){let J={};yw.visit(D.contents,(Y,G)=>{if(PV.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
|
-
`)}}
|
|
98
|
-
`)?
|
|
95
|
+
`),F.update(T0).set({bootstrapShownAt:new Date().toISOString()}).where(m(T0.pk,"default")).run()}var TU=M(()=>{wD();K0()});var SU=M(()=>{wU();pF();cF();TU()});import{Buffer as bU}from"buffer";import{timingSafeEqual as bj}from"crypto";function P2(D,$){let F=bU.from(D,"utf8"),X=bU.from($,"utf8");if(F.length!==X.length)return!1;return bj(F,X)}var d7=()=>{};import{Buffer as fU}from"buffer";import{createDecipheriv as fj,createHash as kj}from"crypto";function hj(D,$){let F=kj("sha256").update($,"utf8").digest(),X=fU.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=fj("aes-256-cbc",F,J);return fU.concat([G.update(Y),G.final()]).toString("utf8")}function kU(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(hj(F.encrypt,$))}return F}function gj(D){return D.type==="url_verification"||D.header?.event_type==="url_verification"}function xj(D){if(typeof D.header?.token==="string")return D.header.token;if(typeof D.token==="string")return D.token;return}async function yj(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 uj(D,$){let F=dF.get(D);if(!F)F={},dF.set(D,F);if(F.current&&F.current.expiresAt-Date.now()>vj)return F.current.token;if(F.inflight)return(await F.inflight).token;let X=F;return X.inflight=yj(D,$).then((J)=>{return X.current=J,J}).finally(()=>{X.inflight=void 0}),(await X.inflight).token}function mj(D){let $=typeof D.parent_id==="string"&&D.parent_id.length>0?D.parent_id:void 0;if(!$)return;return{quote:$}}function hU(){dF.clear()}var vj=60000,dF,vU;var lF=M(()=>{d7();dF=new Map;vU={channel:"lark",async verify(D,$,F){if(F.credentials.channel!=="lark")throw Error("lark adapter called with non-lark credentials");let X=kU(D,F.credentials.encryptKey),J=xj(X);if(J===void 0||!P2(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=kU(D,J);if(gj(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,V=G.chat_type==="group"?`group:${G.chat_id}`:`p2p:${W??""}`,A=mj(G);return[{workerId:$,channel:"lark",accountId:X,chatId:V,...W===void 0?{}:{userId:W},...U===void 0?{}:{userDisplayName:U},text:B,...A===void 0?{}:{richMetadata:A},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 uj(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 o1(){return new Date().toISOString()}import{Buffer as gU}from"buffer";import{createHash as pj,createHmac as cj,timingSafeEqual as dj}from"crypto";function lj(D,$){return cj("sha256",D).update($,"utf8").digest("base64")}function ij(D){switch(D.type){case"user":return`user:${D.userId}`;case"group":return`group:${D.groupId}`;case"room":return`room:${D.roomId}`}}function nj(D){let $=D.message?.quotedMessageId;if(typeof $!=="string"||$.length===0)return;return{quote:$}}var xU;var yU=M(()=>{xU={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=lj(F.credentials.channelSecret,D),Y=gU.from(X,"base64"),G=gU.from(J,"base64");if(Y.length!==G.length||!dj(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=pj("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=ij(G.source),H=G.source.type==="user"?G.source.userId:("userId"in G.source)?G.source.userId:void 0,W=nj(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()||o1(),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 uU}from"buffer";import{createHash as sj,timingSafeEqual as rj}from"crypto";function ej(D,$){let F=uU.from(D,"utf8"),X=uU.from($,"utf8");if(F.length!==X.length)return!1;return rj(F,X)}function Dz(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 $z(D,$){if(D.length<=$)return[D];let F=[],X=D;while(X.length>$){let J=-1;for(let Y=$-1;Y>0;Y--)if(tj.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 Fz(D){if(D.botUsername&&D.botUsername.length>0)return D.botUsername;return sj("sha256").update(D.botToken,"utf8").digest("hex").slice(0,16)}function Xz(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 oj=4096,aj="x-telegram-bot-api-secret-token",tj,mU;var pU=M(()=>{tj=/\s/;mU={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=$[aj];if(!J||!ej(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=Dz(J.from),H=Number.isFinite(J.date)?new Date(J.date*1000).toISOString():o1(),W=Fz(F.credentials),U=Xz(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=$z($.text,oj);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 Gz(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:$}function Yz(D){let $=D.authorization;if(!$)return null;let F=/^bearer\s+(\S+)\s*$/i.exec($);return F?F[1]:null}var Jz="default",cU;var dU=M(()=>{d7();cU={channel:"web",async verify(D,$,F){if(F.credentials.channel!=="web")throw Error("web adapter called with non-web credentials");let X=F.credentials.inboundToken;if(!X||X.length===0)throw Error("web channel binding has no inboundToken \u2014 refusing inbound traffic");let J=Yz($);if(!J||!P2(J,X))throw Error("invalid Authorization bearer token")},async toEnvelopes(D,$,F){let X=F?.id&&F.id.length>0?F.id:Jz,J=JSON.parse(D),Y=Gz(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:o1(),raw:J}]},async send(){}}});import{Buffer as lU}from"buffer";import{createHmac as Bz,timingSafeEqual as Hz}from"crypto";function _z(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 Uz(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 Wz="v21.0",iU;var nU=M(()=>{iU={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=Bz("sha256",F.credentials.appSecret).update(D,"utf8").digest("hex"),B=lU.from(Y,"hex"),H=lU.from(G,"hex");if(B.length!==H.length||!Hz(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 V=_z(U);if(V===void 0)continue;let A=U.from,C=W.find((K)=>K.wa_id===A)?.profile?.name,E=Uz(U);Y.push({workerId:$,channel:"whatsapp",accountId:X,chatId:A,userId:A,...C?{userDisplayName:C}:{},text:V,...E===void 0?{}:{richMetadata:E},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/${Wz}/${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 a8(D){return Vz[D]}class M3{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 a8(D)}}var Vz;var Z3=M(()=>{lF();yU();pU();dU();nU();Vz={web:cU,line:xU,telegram:mU,lark:vU,whatsapp:iU}});function u2(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":if(J.inboundToken&&J.inboundToken.length>0)$.push({path:"channels.web.credentials.inboundToken",value:J.inboundToken});break}}),$}function l7(D){let $=structuredClone(D);return $.brains=$.brains.map((F)=>{if(F.type==="cloud-gateway")return{...F,config:{...F.config,token:""}};return F}),Az($),$.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,credentials:{...X,inboundToken:X.inboundToken===void 0?void 0:""}};default:return F}}),$}function a1(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}),Qz(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":{let Y=$.get("channels.web.credentials.inboundToken");return{...X,credentials:{...J,inboundToken:Y??J.inboundToken}}}default:return X}}),F}function Az(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 Qz(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 rU=b((sU)=>{Object.defineProperty(sU,"__esModule",{value:!0})});var _8=b((oU)=>{Object.defineProperty(oU,"__esModule",{value:!0});oU.CronField=void 0;class iF{#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(iF.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))}}oU.CronField=iF});var $V=b((eU)=>{Object.defineProperty(eU,"__esModule",{value:!0});eU.CronDayOfMonth=void 0;var Kz=_8(),Ez=1,Cz=31,Rz=Object.freeze(["L"]);class tU extends Kz.CronField{static get min(){return Ez}static get max(){return Cz}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}}eU.CronDayOfMonth=tU});var GV=b((XV)=>{Object.defineProperty(XV,"__esModule",{value:!0});XV.CronDayOfWeek=void 0;var Oz=_8(),Mz=0,Zz=7,qz=Object.freeze(["L"]);class FV extends Oz.CronField{static get min(){return Mz}static get max(){return Zz}static get chars(){return qz}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}}XV.CronDayOfWeek=FV});var WV=b((BV)=>{Object.defineProperty(BV,"__esModule",{value:!0});BV.CronHour=void 0;var Nz=_8(),Pz=0,Lz=23,jz=Object.freeze([]);class YV extends Nz.CronField{static get min(){return Pz}static get max(){return Lz}static get chars(){return jz}constructor(D,$){super(D,$);this.validate()}get values(){return super.values}}BV.CronHour=YV});var AV=b((UV)=>{Object.defineProperty(UV,"__esModule",{value:!0});UV.CronMinute=void 0;var zz=_8(),Iz=0,wz=59,Tz=Object.freeze([]);class _V extends zz.CronField{static get min(){return Iz}static get max(){return wz}static get chars(){return Tz}constructor(D,$){super(D,$);this.validate()}get values(){return super.values}}UV.CronMinute=_V});var oA=b((rA)=>{Object.defineProperty(rA,"__esModule",{value:!0});class Q8 extends Error{}class dV extends Q8{constructor(D){super(`Invalid DateTime: ${D.toMessage()}`)}}class lV extends Q8{constructor(D){super(`Invalid Interval: ${D.toMessage()}`)}}class iV extends Q8{constructor(D){super(`Invalid Duration: ${D.toMessage()}`)}}class D1 extends Q8{}class AX extends Q8{constructor(D){super(`Invalid unit ${D}`)}}class eD extends Q8{}class p2 extends Q8{constructor(){super("Zone is an abstract class")}}var x="numeric",B2="short",L0="long",e7={year:x,month:x,day:x},nV={year:x,month:B2,day:x},Sz={year:x,month:B2,day:x,weekday:B2},sV={year:x,month:L0,day:x},rV={year:x,month:L0,day:x,weekday:L0},oV={hour:x,minute:x},aV={hour:x,minute:x,second:x},tV={hour:x,minute:x,second:x,timeZoneName:B2},eV={hour:x,minute:x,second:x,timeZoneName:L0},DA={hour:x,minute:x,hourCycle:"h23"},$A={hour:x,minute:x,second:x,hourCycle:"h23"},FA={hour:x,minute:x,second:x,hourCycle:"h23",timeZoneName:B2},XA={hour:x,minute:x,second:x,hourCycle:"h23",timeZoneName:L0},JA={year:x,month:x,day:x,hour:x,minute:x},GA={year:x,month:x,day:x,hour:x,minute:x,second:x},YA={year:x,month:B2,day:x,hour:x,minute:x},BA={year:x,month:B2,day:x,hour:x,minute:x,second:x},bz={year:x,month:B2,day:x,weekday:B2,hour:x,minute:x},HA={year:x,month:L0,day:x,hour:x,minute:x,timeZoneName:B2},WA={year:x,month:L0,day:x,hour:x,minute:x,second:x,timeZoneName:B2},_A={year:x,month:L0,day:x,weekday:L0,hour:x,minute:x,timeZoneName:L0},UA={year:x,month:L0,day:x,weekday:L0,hour:x,minute:x,second:x,timeZoneName:L0};class F1{get type(){throw new p2}get name(){throw new p2}get ianaName(){return this.name}get isUniversal(){throw new p2}offsetName(D,$){throw new p2}formatOffset(D,$){throw new p2}offset(D){throw new p2}equals(D){throw new p2}get isValid(){throw new p2}}var nF=null;class I3 extends F1{static get instance(){if(nF===null)nF=new I3;return nF}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(D,{format:$,locale:F}){return LA(D,$,F)}formatOffset(D,$){return j3(this.offset(D),$)}offset(D){return-new Date(D).getTimezoneOffset()}equals(D){return D.type==="system"}get isValid(){return!0}}var FX=new Map;function fz(D){let $=FX.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"}),FX.set(D,$);return $}var kz={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function vz(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 hz(D,$){let F=D.formatToParts($),X=[];for(let J=0;J<F.length;J++){let{type:Y,value:G}=F[J],B=kz[Y];if(Y==="era")X[B]=G;else if(!n(B))X[B]=parseInt(G,10)}return X}var sF=new Map;class L2 extends F1{static create(D){let $=sF.get(D);if($===void 0)sF.set(D,$=new L2(D));return $}static resetCache(){sF.clear(),FX.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=L2.isValidZone(D)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(D,{format:$,locale:F}){return LA(D,$,F,this.name)}formatOffset(D,$){return j3(this.offset(D),$)}offset(D){if(!this.valid)return NaN;let $=new Date(D);if(isNaN($))return NaN;let F=fz(this.name),[X,J,Y,G,B,H,W]=F.formatToParts?hz(F,$):vz(F,$);if(G==="BC")X=-Math.abs(X)+1;let V=J4({year:X,month:J,day:Y,hour:B===24?0:B,minute:H,second:W,millisecond:0}),A=+$,Q=A%1000;return A-=Q>=0?Q:1000+Q,(V-A)/60000}equals(D){return D.type==="iana"&&D.name===this.name}get isValid(){return this.valid}}var QV={};function gz(D,$={}){let F=JSON.stringify([D,$]),X=QV[F];if(!X)X=new Intl.ListFormat(D,$),QV[F]=X;return X}var XX=new Map;function JX(D,$={}){let F=JSON.stringify([D,$]),X=XX.get(F);if(X===void 0)X=new Intl.DateTimeFormat(D,$),XX.set(F,X);return X}var GX=new Map;function xz(D,$={}){let F=JSON.stringify([D,$]),X=GX.get(F);if(X===void 0)X=new Intl.NumberFormat(D,$),GX.set(F,X);return X}var YX=new Map;function yz(D,$={}){let{base:F,...X}=$,J=JSON.stringify([D,X]),Y=YX.get(J);if(Y===void 0)Y=new Intl.RelativeTimeFormat(D,$),YX.set(J,Y);return Y}var N3=null;function uz(){if(N3)return N3;else return N3=new Intl.DateTimeFormat().resolvedOptions().locale,N3}var BX=new Map;function VA(D){let $=BX.get(D);if($===void 0)$=new Intl.DateTimeFormat(D).resolvedOptions(),BX.set(D,$);return $}var HX=new Map;function mz(D){let $=HX.get(D);if(!$){let F=new Intl.Locale(D);if($="getWeekInfo"in F?F.getWeekInfo():F.weekInfo,!("minimalDays"in $))$={...EA,...$};HX.set(D,$)}return $}function pz(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=JX(D).resolvedOptions(),J=D}catch(B){let H=D.substring(0,F);X=JX(H).resolvedOptions(),J=H}let{numberingSystem:Y,calendar:G}=X;return[J,Y,G]}}function cz(D,$,F){if(F||$){if(!D.includes("-u-"))D+="-u";if(F)D+=`-ca-${F}`;if($)D+=`-nu-${$}`;return D}else return D}function dz(D){let $=[];for(let F=1;F<=12;F++){let X=s.utc(2009,F,1);$.push(D(X))}return $}function lz(D){let $=[];for(let F=1;F<=7;F++){let X=s.utc(2016,11,13+F);$.push(D(X))}return $}function i7(D,$,F,X){let J=D.listingMode();if(J==="error")return null;else if(J==="en")return F($);else return X($)}function iz(D){if(D.numberingSystem&&D.numberingSystem!=="latn")return!1;else return D.numberingSystem==="latn"||!D.locale||D.locale.startsWith("en")||VA(D.locale).numberingSystem==="latn"}class AA{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=xz(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):OX(D,3);return xD($,this.padTo)}}}class QA{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&&L2.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=JX($,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 KA{constructor(D,$,F){if(this.opts={style:"long",...F},!$&&NA())this.rtf=yz(D,F)}format(D,$){if(this.rtf)return this.rtf.format(D,$);else return AI($,D,this.opts.numeric,this.opts.style!=="long")}formatToParts(D,$){if(this.rtf)return this.rtf.formatToParts(D,$);else return[]}}var EA={firstDay:1,minimalDays:4,weekend:[6,7]};class AD{static fromOpts(D){return AD.create(D.locale,D.numberingSystem,D.outputCalendar,D.weekSettings,D.defaultToEN)}static create(D,$,F,X,J=!1){let Y=D||LD.defaultLocale,G=Y||(J?"en-US":uz()),B=$||LD.defaultNumberingSystem,H=F||LD.defaultOutputCalendar,W=_X(X)||LD.defaultWeekSettings;return new AD(G,B,H,W,Y)}static resetCache(){N3=null,XX.clear(),GX.clear(),YX.clear(),BX.clear(),HX.clear()}static fromObject({locale:D,numberingSystem:$,outputCalendar:F,weekSettings:X}={}){return AD.create(D,$,F,X)}constructor(D,$,F,X,J){let[Y,G,B]=pz(D);this.locale=Y,this.numberingSystem=$||G||null,this.outputCalendar=F||B||null,this.weekSettings=X,this.intl=cz(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=iz(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 AD.create(D.locale||this.specifiedLocale,D.numberingSystem||this.numberingSystem,D.outputCalendar||this.outputCalendar,_X(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 i7(this,D,IA,()=>{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]=dz(Y)}return this.monthsCache[J][D]})}weekdays(D,$=!1){return i7(this,D,SA,()=>{let F=$?{weekday:D,year:"numeric",month:"long",day:"numeric"}:{weekday:D},X=$?"format":"standalone";if(!this.weekdaysCache[X][D])this.weekdaysCache[X][D]=lz((J)=>this.extract(J,F,"weekday"));return this.weekdaysCache[X][D]})}meridiems(){return i7(this,void 0,()=>bA,()=>{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 i7(this,D,fA,()=>{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 AA(this.intl,D.forceSimple||this.fastNumbers,D)}dtFormatter(D,$={}){return new QA(D,this.intl,$)}relFormatter(D={}){return new KA(this.intl,this.isEnglish(),D)}listFormatter(D={}){return gz(this.intl,D)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||VA(this.intl).locale.startsWith("en-us")}getWeekSettings(){if(this.weekSettings)return this.weekSettings;else if(!PA())return EA;else return mz(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 rF=null;class Y0 extends F1{static get utcInstance(){if(rF===null)rF=new Y0(0);return rF}static instance(D){return D===0?Y0.utcInstance:new Y0(D)}static parseSpecifier(D){if(D){let $=D.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if($)return new Y0(G4($[1],$[2]))}return null}constructor(D){super();this.fixed=D}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${j3(this.fixed,"narrow")}`}get ianaName(){if(this.fixed===0)return"Etc/UTC";else return`Etc/GMT${j3(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(D,$){return j3(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 QX extends F1{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 V8(D,$){if(n(D)||D===null)return $;else if(D instanceof F1)return D;else if(tz(D)){let F=D.toLowerCase();if(F==="default")return $;else if(F==="local"||F==="system")return I3.instance;else if(F==="utc"||F==="gmt")return Y0.utcInstance;else return Y0.parseSpecifier(F)||L2.create(D)}else if(A8(D))return Y0.instance(D);else if(typeof D==="object"&&"offset"in D&&typeof D.offset==="function")return D;else return new QX(D)}var KX={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"},KV={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]},nz=KX.hanidec.replace(/[\[|\]]/g,"").split("");function sz(D){let $=parseInt(D,10);if(isNaN($)){$="";for(let F=0;F<D.length;F++){let X=D.charCodeAt(F);if(D[F].search(KX.hanidec)!==-1)$+=nz.indexOf(D[F]);else for(let J in KV){let[Y,G]=KV[J];if(X>=Y&&X<=G)$+=X-Y}}return parseInt($,10)}else return $}var WX=new Map;function rz(){WX.clear()}function G2({numberingSystem:D},$=""){let F=D||"latn",X=WX.get(F);if(X===void 0)X=new Map,WX.set(F,X);let J=X.get($);if(J===void 0)J=new RegExp(`${KX[F]}${$}`),X.set($,J);return J}var EV=()=>Date.now(),CV="system",RV=null,OV=null,MV=null,ZV=60,qV,NV=null;class LD{static get now(){return EV}static set now(D){EV=D}static set defaultZone(D){CV=D}static get defaultZone(){return V8(CV,I3.instance)}static get defaultLocale(){return RV}static set defaultLocale(D){RV=D}static get defaultNumberingSystem(){return OV}static set defaultNumberingSystem(D){OV=D}static get defaultOutputCalendar(){return MV}static set defaultOutputCalendar(D){MV=D}static get defaultWeekSettings(){return NV}static set defaultWeekSettings(D){NV=_X(D)}static get twoDigitCutoffYear(){return ZV}static set twoDigitCutoffYear(D){ZV=D%100}static get throwOnInvalid(){return qV}static set throwOnInvalid(D){qV=D}static resetCaches(){AD.resetCache(),L2.resetCache(),s.resetCache(),rz()}}class b0{constructor(D,$){this.reason=D,this.explanation=$}toMessage(){if(this.explanation)return`${this.reason}: ${this.explanation}`;else return this.reason}}var CA=[0,31,59,90,120,151,181,212,243,273,304,334],RA=[0,31,60,91,121,152,182,213,244,274,305,335];function f0(D,$){return new b0("unit out of range",`you specified ${$} (of type ${typeof $}) as a ${D}, which is invalid`)}function EX(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 OA(D,$,F){return F+(w3(D)?RA:CA)[$-1]}function MA(D,$){let F=w3(D)?RA:CA,X=F.findIndex((Y)=>Y<$),J=$-F[X];return{month:X+1,day:J}}function CX(D,$){return(D-$+7)%7+1}function D4(D,$=4,F=1){let{year:X,month:J,day:Y}=D,G=OA(X,J,Y),B=CX(EX(X,J,Y),F),H=Math.floor((G-B+14-$)/7),W;if(H<1)W=X-1,H=z3(W,$,F);else if(H>z3(X,$,F))W=X+1,H=1;else W=X;return{weekYear:W,weekNumber:H,weekday:B,...Y4(D)}}function PV(D,$=4,F=1){let{weekYear:X,weekNumber:J,weekday:Y}=D,G=CX(EX(X,1,$),F),B=F6(X),H=J*7+Y-G-7+$,W;if(H<1)W=X-1,H+=F6(W);else if(H>B)W=X+1,H-=F6(X);else W=X;let{month:U,day:V}=MA(W,H);return{year:W,month:U,day:V,...Y4(D)}}function oF(D){let{year:$,month:F,day:X}=D,J=OA($,F,X);return{year:$,ordinal:J,...Y4(D)}}function LV(D){let{year:$,ordinal:F}=D,{month:X,day:J}=MA($,F);return{year:$,month:X,day:J,...Y4(D)}}function jV(D,$){if(!n(D.localWeekday)||!n(D.localWeekNumber)||!n(D.localWeekYear)){if(!n(D.weekday)||!n(D.weekNumber)||!n(D.weekYear))throw new D1("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 oz(D,$=4,F=1){let X=X4(D.weekYear),J=k0(D.weekNumber,1,z3(D.weekYear,$,F)),Y=k0(D.weekday,1,7);if(!X)return f0("weekYear",D.weekYear);else if(!J)return f0("week",D.weekNumber);else if(!Y)return f0("weekday",D.weekday);else return!1}function az(D){let $=X4(D.year),F=k0(D.ordinal,1,F6(D.year));if(!$)return f0("year",D.year);else if(!F)return f0("ordinal",D.ordinal);else return!1}function ZA(D){let $=X4(D.year),F=k0(D.month,1,12),X=k0(D.day,1,$4(D.year,D.month));if(!$)return f0("year",D.year);else if(!F)return f0("month",D.month);else if(!X)return f0("day",D.day);else return!1}function qA(D){let{hour:$,minute:F,second:X,millisecond:J}=D,Y=k0($,0,23)||$===24&&F===0&&X===0&&J===0,G=k0(F,0,59),B=k0(X,0,59),H=k0(J,0,999);if(!Y)return f0("hour",$);else if(!G)return f0("minute",F);else if(!B)return f0("second",X);else if(!H)return f0("millisecond",J);else return!1}function n(D){return typeof D>"u"}function A8(D){return typeof D==="number"}function X4(D){return typeof D==="number"&&D%1===0}function tz(D){return typeof D==="string"}function ez(D){return Object.prototype.toString.call(D)==="[object Date]"}function NA(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch(D){return!1}}function PA(){try{return typeof Intl<"u"&&!!Intl.Locale&&(("weekInfo"in Intl.Locale.prototype)||("getWeekInfo"in Intl.Locale.prototype))}catch(D){return!1}}function DI(D){return Array.isArray(D)?D:[D]}function zV(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 $I(D,$){return $.reduce((F,X)=>{return F[X]=D[X],F},{})}function J6(D,$){return Object.prototype.hasOwnProperty.call(D,$)}function _X(D){if(D==null)return null;else if(typeof D!=="object")throw new eD("Week settings must be an object");else{if(!k0(D.firstDay,1,7)||!k0(D.minimalDays,1,7)||!Array.isArray(D.weekend)||D.weekend.some(($)=>!k0($,1,7)))throw new eD("Invalid week settings");return{firstDay:D.firstDay,minimalDays:D.minimalDays,weekend:Array.from(D.weekend)}}}function k0(D,$,F){return X4(D)&&D>=$&&D<=F}function FI(D,$){return D-$*Math.floor(D/$)}function xD(D,$=2){let F=D<0,X;if(F)X="-"+(""+-D).padStart($,"0");else X=(""+D).padStart($,"0");return X}function U8(D){if(n(D)||D===null||D==="")return;else return parseInt(D,10)}function t8(D){if(n(D)||D===null||D==="")return;else return parseFloat(D)}function RX(D){if(n(D)||D===null||D==="")return;else{let $=parseFloat("0."+D)*1000;return Math.floor($)}}function OX(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 w3(D){return D%4===0&&(D%100!==0||D%400===0)}function F6(D){return w3(D)?366:365}function $4(D,$){let F=FI($-1,12)+1,X=D+($-F)/12;if(F===2)return w3(X)?29:28;else return[31,null,31,30,31,30,31,31,30,31,30,31][F-1]}function J4(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 IV(D,$,F){return-CX(EX(D,1,$),F)+$-1}function z3(D,$=4,F=1){let X=IV(D,$,F),J=IV(D+1,$,F);return(F6(D)-X+J)/7}function UX(D){if(D>99)return D;else return D>LD.twoDigitCutoffYear?1900+D:2000+D}function LA(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 G4(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 jA(D){let $=Number(D);if(typeof D==="boolean"||D===""||!Number.isFinite($))throw new eD(`Invalid unit value ${D}`);return $}function F4(D,$){let F={};for(let X in D)if(J6(D,X)){let J=D[X];if(J===void 0||J===null)continue;F[$(X)]=jA(J)}return F}function j3(D,$){let F=Math.trunc(Math.abs(D/60)),X=Math.trunc(Math.abs(D%60)),J=D>=0?"+":"-";switch($){case"short":return`${J}${xD(F,2)}:${xD(X,2)}`;case"narrow":return`${J}${F}${X>0?`:${X}`:""}`;case"techie":return`${J}${xD(F,2)}${xD(X,2)}`;default:throw RangeError(`Value format ${$} is out of range for property format`)}}function Y4(D){return $I(D,["hour","minute","second","millisecond"])}var XI=["January","February","March","April","May","June","July","August","September","October","November","December"],zA=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],JI=["J","F","M","A","M","J","J","A","S","O","N","D"];function IA(D){switch(D){case"narrow":return[...JI];case"short":return[...zA];case"long":return[...XI];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 wA=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],TA=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],GI=["M","T","W","T","F","S","S"];function SA(D){switch(D){case"narrow":return[...GI];case"short":return[...TA];case"long":return[...wA];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var bA=["AM","PM"],YI=["Before Christ","Anno Domini"],BI=["BC","AD"],HI=["B","A"];function fA(D){switch(D){case"narrow":return[...HI];case"short":return[...BI];case"long":return[...YI];default:return null}}function WI(D){return bA[D.hour<12?0:1]}function _I(D,$){return SA($)[D.weekday-1]}function UI(D,$){return IA($)[D.month-1]}function VI(D,$){return fA($)[D.year<0?0:1]}function AI(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 V=D==="days";switch($){case 1:return V?"tomorrow":`next ${J[D][0]}`;case-1:return V?"yesterday":`last ${J[D][0]}`;case 0:return V?"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 wV(D,$){let F="";for(let X of D)if(X.literal)F+=X.val;else F+=$(X.val);return F}var QI={D:e7,DD:nV,DDD:sV,DDDD:rV,t:oV,tt:aV,ttt:tV,tttt:eV,T:DA,TT:$A,TTT:FA,TTTT:XA,f:JA,ff:YA,fff:HA,ffff:_A,F:GA,FF:BA,FFF:WA,FFFF:UA};class G0{static create(D,$={}){return new G0(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 QI[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 xD(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=(A,Q)=>this.loc.extract(D,A,Q),Y=(A)=>{if(D.isOffsetFixed&&D.offset===0&&A.allowZ)return"Z";return D.isValid?D.zone.formatOffset(D.ts,A.format):""},G=()=>F?WI(D):J({hour:"numeric",hourCycle:"h12"},"dayperiod"),B=(A,Q)=>F?UI(D,A):J(Q?{month:A}:{month:A,day:"numeric"},"month"),H=(A,Q)=>F?_I(D,A):J(Q?{weekday:A}:{weekday:A,month:"long",day:"numeric"},"weekday"),W=(A)=>{let Q=G0.macroTokenToFormatOpts(A);if(Q)return this.formatWithSystemDefault(D,Q);else return A},U=(A)=>F?VI(D,A):J({era:A},"era"),V=(A)=>{switch(A){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(A)}};return wV(G0.parseFormat($),V)}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)=>(V)=>{let A=X(V);if(A){let Q=U.isNegativeDuration&&A!==U.largestUnit?F:1,C;if(this.opts.signMode==="negativeLargestOnly"&&A!==U.largestUnit)C="never";else if(this.opts.signMode==="all")C="always";else C="auto";return this.num(W.get(A)*Q,V.length,C)}else return V},Y=G0.parseFormat($),G=Y.reduce((W,{literal:U,val:V})=>U?W:W.concat(V),[]),B=D.shiftTo(...G.map(X).filter((W)=>W)),H={isNegativeDuration:B<0,largestUnit:Object.keys(B.values)[0]};return wV(Y,J(B,H))}}var kA=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function G6(...D){let $=D.reduce((F,X)=>F+X.source,"");return RegExp(`^${$}$`)}function Y6(...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 B6(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 vA(...D){return($,F)=>{let X={},J;for(J=0;J<D.length;J++)X[D[J]]=U8($[F+J]);return[X,null,F+J]}}var hA=/(?:([Zz])|([+-]\d\d)(?::?(\d\d))?)/,KI=`(?:${hA.source}?(?:\\[(${kA.source})\\])?)?`,MX=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,gA=RegExp(`${MX.source}${KI}`),ZX=RegExp(`(?:[Tt]${gA.source})?`),EI=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,CI=/(\d{4})-?W(\d\d)(?:-?(\d))?/,RI=/(\d{4})-?(\d{3})/,OI=vA("weekYear","weekNumber","weekDay"),MI=vA("year","ordinal"),ZI=/(\d{4})-(\d\d)-(\d\d)/,xA=RegExp(`${MX.source} ?(?:${hA.source}|(${kA.source}))?`),qI=RegExp(`(?: ${xA.source})?`);function X6(D,$,F){let X=D[$];return n(X)?F:U8(X)}function NI(D,$){return[{year:X6(D,$),month:X6(D,$+1,1),day:X6(D,$+2,1)},null,$+3]}function H6(D,$){return[{hours:X6(D,$,0),minutes:X6(D,$+1,0),seconds:X6(D,$+2,0),milliseconds:RX(D[$+3])},null,$+4]}function T3(D,$){let F=!D[$]&&!D[$+1],X=G4(D[$+1],D[$+2]),J=F?null:Y0.instance(X);return[{},J,$+3]}function S3(D,$){let F=D[$]?L2.create(D[$]):null;return[{},F,$+1]}var PI=RegExp(`^T?${MX.source}$`),LI=/^-?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 jI(D){let[$,F,X,J,Y,G,B,H,W]=D,U=$[0]==="-",V=H&&H[0]==="-",A=(Q,C=!1)=>Q!==void 0&&(C||Q&&U)?-Q:Q;return[{years:A(t8(F)),months:A(t8(X)),weeks:A(t8(J)),days:A(t8(Y)),hours:A(t8(G)),minutes:A(t8(B)),seconds:A(t8(H),H==="-0"),milliseconds:A(RX(W),V)}]}var zI={GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function qX(D,$,F,X,J,Y,G){let B={year:$.length===2?UX(U8($)):U8($),month:zA.indexOf(F)+1,day:U8(X),hour:U8(J),minute:U8(Y)};if(G)B.second=U8(G);if(D)B.weekday=D.length>3?wA.indexOf(D)+1:TA.indexOf(D)+1;return B}var II=/^(?:(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 wI(D){let[,$,F,X,J,Y,G,B,H,W,U,V]=D,A=qX($,J,X,F,Y,G,B),Q;if(H)Q=zI[H];else if(W)Q=0;else Q=G4(U,V);return[A,new Y0(Q)]}function TI(D){return D.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}var SI=/^(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$/,bI=/^(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$/,fI=/^(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 TV(D){let[,$,F,X,J,Y,G,B]=D;return[qX($,J,X,F,Y,G,B),Y0.utcInstance]}function kI(D){let[,$,F,X,J,Y,G,B]=D;return[qX($,B,F,X,J,Y,G),Y0.utcInstance]}var vI=G6(EI,ZX),hI=G6(CI,ZX),gI=G6(RI,ZX),xI=G6(gA),yA=Y6(NI,H6,T3,S3),yI=Y6(OI,H6,T3,S3),uI=Y6(MI,H6,T3,S3),mI=Y6(H6,T3,S3);function pI(D){return B6(D,[vI,yA],[hI,yI],[gI,uI],[xI,mI])}function cI(D){return B6(TI(D),[II,wI])}function dI(D){return B6(D,[SI,TV],[bI,TV],[fI,kI])}function lI(D){return B6(D,[LI,jI])}var iI=Y6(H6);function nI(D){return B6(D,[PI,iI])}var sI=G6(ZI,qI),rI=G6(xA),oI=Y6(H6,T3,S3);function aI(D){return B6(D,[sI,yA],[rI,oI])}var SV="Invalid Duration",uA={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}},tI={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},...uA},S0=365.2425,t1=30.436875,eI={years:{quarters:4,months:12,weeks:S0/7,days:S0,hours:S0*24,minutes:S0*24*60,seconds:S0*24*60*60,milliseconds:S0*24*60*60*1000},quarters:{months:3,weeks:S0/28,days:S0/4,hours:S0*24/4,minutes:S0*24*60/4,seconds:S0*24*60*60/4,milliseconds:S0*24*60*60*1000/4},months:{weeks:t1/7,days:t1,hours:t1*24,minutes:t1*24*60,seconds:t1*24*60*60,milliseconds:t1*24*60*60*1000},...uA},$1=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],Dw=$1.slice(0).reverse();function m2(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 BD(X)}function mA(D,$){var F;let X=(F=$.milliseconds)!=null?F:0;for(let J of Dw.slice(1))if($[J])X+=$[J]*D[J].milliseconds;return X}function bV(D,$){let F=mA(D,$)<0?-1:1;$1.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),$1.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 fV(D){let $={};for(let[F,X]of Object.entries(D))if(X!==0)$[F]=X;return $}class BD{constructor(D){let $=D.conversionAccuracy==="longterm"||!1,F=$?eI:tI;if(D.matrix)F=D.matrix;this.values=D.values,this.loc=D.loc||AD.create(),this.conversionAccuracy=$?"longterm":"casual",this.invalid=D.invalid||null,this.matrix=F,this.isLuxonDuration=!0}static fromMillis(D,$){return BD.fromObject({milliseconds:D},$)}static fromObject(D,$={}){if(D==null||typeof D!=="object")throw new eD(`Duration.fromObject: argument expected to be an object, got ${D===null?"null":typeof D}`);return new BD({values:F4(D,BD.normalizeUnit),loc:AD.fromObject($),conversionAccuracy:$.conversionAccuracy,matrix:$.matrix})}static fromDurationLike(D){if(A8(D))return BD.fromMillis(D);else if(BD.isDuration(D))return D;else if(typeof D==="object")return BD.fromObject(D);else throw new eD(`Unknown duration argument ${D} of type ${typeof D}`)}static fromISO(D,$){let[F]=lI(D);if(F)return BD.fromObject(F,$);else return BD.invalid("unparsable",`the input "${D}" can't be parsed as ISO 8601`)}static fromISOTime(D,$){let[F]=nI(D);if(F)return BD.fromObject(F,$);else return BD.invalid("unparsable",`the input "${D}" can't be parsed as ISO 8601`)}static invalid(D,$=null){if(!D)throw new eD("need to specify a reason the Duration is invalid");let F=D instanceof b0?D:new b0(D,$);if(LD.throwOnInvalid)throw new iV(F);else return new BD({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 AX(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?G0.create(this.loc,F).formatDurationFromString(this,D):SV}toHuman(D={}){if(!this.isValid)return SV;let $=D.showZeros!==!1,F=$1.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+=OX(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 $=BD.fromDurationLike(D),F={};for(let X of $1)if(J6($.values,X)||J6(this.values,X))F[X]=$.get(X)+this.get(X);return m2(this,{values:F},!0)}minus(D){if(!this.isValid)return this;let $=BD.fromDurationLike(D);return this.plus($.negate())}mapUnits(D){if(!this.isValid)return this;let $={};for(let F of Object.keys(this.values))$[F]=jA(D(this.values[F],F));return m2(this,{values:$},!0)}get(D){return this[BD.normalizeUnit(D)]}set(D){if(!this.isValid)return this;let $={...this.values,...F4(D,BD.normalizeUnit)};return m2(this,{values:$})}reconfigure({locale:D,numberingSystem:$,conversionAccuracy:F,matrix:X}={}){let Y={loc:this.loc.clone({locale:D,numberingSystem:$}),matrix:X,conversionAccuracy:F};return m2(this,Y)}as(D){return this.isValid?this.shiftTo(D).get(D):NaN}normalize(){if(!this.isValid)return this;let D=this.toObject();return bV(this.matrix,D),m2(this,{values:D},!0)}rescale(){if(!this.isValid)return this;let D=fV(this.normalize().shiftToAll().toObject());return m2(this,{values:D},!0)}shiftTo(...D){if(!this.isValid)return this;if(D.length===0)return this;D=D.map((Y)=>BD.normalizeUnit(Y));let $={},F={},X=this.toObject(),J;for(let Y of $1)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(A8(X[Y]))G+=X[Y];let B=Math.trunc(G);$[Y]=B,F[Y]=(G*1000-B*1000)/1000}else if(A8(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 bV(this.matrix,$),m2(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 m2(this,{values:D},!0)}removeZeros(){if(!this.isValid)return this;let D=fV(this.values);return m2(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 $1)if(!$(this.values[F],D.values[F]))return!1;return!0}}var e1="Invalid Interval";function $w(D,$){if(!D||!D.isValid)return TD.invalid("missing or invalid start");else if(!$||!$.isValid)return TD.invalid("missing or invalid end");else if($<D)return TD.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 TD{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 eD("need to specify a reason the Interval is invalid");let F=D instanceof b0?D:new b0(D,$);if(LD.throwOnInvalid)throw new lV(F);else return new TD({invalid:F})}static fromDateTimes(D,$){let F=q3(D),X=q3($),J=$w(F,X);if(J==null)return new TD({start:F,end:X});else return J}static after(D,$){let F=BD.fromDurationLike($),X=q3(D);return TD.fromDateTimes(X,X.plus(F))}static before(D,$){let F=BD.fromDurationLike($),X=q3(D);return TD.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 TD.fromDateTimes(J,G);if(Y){let H=BD.fromISO(X,$);if(H.isValid)return TD.after(J,H)}else if(B){let H=BD.fromISO(F,$);if(H.isValid)return TD.before(G,H)}}return TD.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 TD.fromDateTimes(D||this.s,$||this.e)}splitAt(...D){if(!this.isValid)return[];let $=D.map(q3).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(TD.fromDateTimes(X,G)),X=G,J+=1}return F}splitBy(D){let $=BD.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(TD.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 TD.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 TD.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(TD.fromDateTimes($,B.time));$=null}return TD.merge(X)}difference(...D){return TD.xor([this].concat(D)).map(($)=>this.intersection($)).filter(($)=>$&&!$.isEmpty())}toString(){if(!this.isValid)return e1;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=e7,$={}){return this.isValid?G0.create(this.s.loc.clone($),D).formatInterval(this):e1}toISO(D){if(!this.isValid)return e1;return`${this.s.toISO(D)}/${this.e.toISO(D)}`}toISODate(){if(!this.isValid)return e1;return`${this.s.toISODate()}/${this.e.toISODate()}`}toISOTime(D){if(!this.isValid)return e1;return`${this.s.toISOTime(D)}/${this.e.toISOTime(D)}`}toFormat(D,{separator:$=" \u2013 "}={}){if(!this.isValid)return e1;return`${this.s.toFormat(D)}${$}${this.e.toFormat(D)}`}toDuration(D,$){if(!this.isValid)return BD.invalid(this.invalidReason);return this.e.diff(this.s,D,$)}mapEndpoints(D){return TD.fromDateTimes(D(this.s),D(this.e))}}class $6{static hasDST(D=LD.defaultZone){let $=s.now().setZone(D).set({month:12});return!D.isUniversal&&$.offset!==$.set({month:6}).offset}static isValidIANAZone(D){return L2.isValidZone(D)}static normalizeZone(D){return V8(D,LD.defaultZone)}static getStartOfWeek({locale:D=null,locObj:$=null}={}){return($||AD.create(D)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:D=null,locObj:$=null}={}){return($||AD.create(D)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:D=null,locObj:$=null}={}){return($||AD.create(D)).getWeekendDays().slice()}static months(D="long",{locale:$=null,numberingSystem:F=null,locObj:X=null,outputCalendar:J="gregory"}={}){return(X||AD.create($,F,J)).months(D)}static monthsFormat(D="long",{locale:$=null,numberingSystem:F=null,locObj:X=null,outputCalendar:J="gregory"}={}){return(X||AD.create($,F,J)).months(D,!0)}static weekdays(D="long",{locale:$=null,numberingSystem:F=null,locObj:X=null}={}){return(X||AD.create($,F,null)).weekdays(D)}static weekdaysFormat(D="long",{locale:$=null,numberingSystem:F=null,locObj:X=null}={}){return(X||AD.create($,F,null)).weekdays(D,!0)}static meridiems({locale:D=null}={}){return AD.create(D).meridiems()}static eras(D="short",{locale:$=null}={}){return AD.create($,null,"gregory").eras(D)}static features(){return{relative:NA(),localeWeek:PA()}}}function kV(D,$){let F=(J)=>J.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),X=F($)-F(D);return Math.floor(BD.fromMillis(X).as("days"))}function Fw(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=kV(H,W);return(U-U%7)/7}],["days",kV]],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 Xw(D,$,F,X){let[J,Y,G,B]=Fw(D,$,F),H=$-J,W=F.filter((V)=>["hours","minutes","seconds","milliseconds"].indexOf(V)>=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=BD.fromObject(Y,X);if(W.length>0)return BD.fromMillis(H,X).shiftTo(...W).plus(U);else return U}var Jw="missing Intl.DateTimeFormat.formatToParts support";function _D(D,$=(F)=>F){return{regex:D,deser:([F])=>$(sz(F))}}var Gw=String.fromCharCode(160),pA=`[ ${Gw}]`,cA=new RegExp(pA,"g");function Yw(D){return D.replace(/\./g,"\\.?").replace(cA,pA)}function vV(D){return D.replace(/\./g,"").replace(cA," ").toLowerCase()}function Y2(D,$){if(D===null)return null;else return{regex:RegExp(D.map(Yw).join("|")),deser:([F])=>D.findIndex((X)=>vV(F)===vV(X))+$}}function hV(D,$){return{regex:D,deser:([,F,X])=>G4(F,X),groups:$}}function n7(D){return{regex:D,deser:([$])=>$}}function Bw(D){return D.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Hw(D,$){let F=G2($),X=G2($,"{2}"),J=G2($,"{3}"),Y=G2($,"{4}"),G=G2($,"{6}"),B=G2($,"{1,2}"),H=G2($,"{1,3}"),W=G2($,"{1,6}"),U=G2($,"{1,9}"),V=G2($,"{2,4}"),A=G2($,"{4,6}"),Q=(K)=>({regex:RegExp(Bw(K.val)),deser:([Z])=>Z,literal:!0}),E=((K)=>{if(D.literal)return Q(K);switch(K.val){case"G":return Y2($.eras("short"),0);case"GG":return Y2($.eras("long"),0);case"y":return _D(W);case"yy":return _D(V,UX);case"yyyy":return _D(Y);case"yyyyy":return _D(A);case"yyyyyy":return _D(G);case"M":return _D(B);case"MM":return _D(X);case"MMM":return Y2($.months("short",!0),1);case"MMMM":return Y2($.months("long",!0),1);case"L":return _D(B);case"LL":return _D(X);case"LLL":return Y2($.months("short",!1),1);case"LLLL":return Y2($.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 n7(U);case"uu":return n7(B);case"uuu":return _D(F);case"a":return Y2($.meridiems(),0);case"kkkk":return _D(Y);case"kk":return _D(V,UX);case"W":return _D(B);case"WW":return _D(X);case"E":case"c":return _D(F);case"EEE":return Y2($.weekdays("short",!1),1);case"EEEE":return Y2($.weekdays("long",!1),1);case"ccc":return Y2($.weekdays("short",!0),1);case"cccc":return Y2($.weekdays("long",!0),1);case"Z":case"ZZ":return hV(new RegExp(`([+-]${B.source})(?::(${X.source}))?`),2);case"ZZZ":return hV(new RegExp(`([+-]${B.source})(${X.source})?`),2);case"z":return n7(/[a-z_+-/]{1,256}?/i);case" ":return n7(/[^\S\n\r]/);default:return Q(K)}})(D)||{invalidReason:Jw};return E.token=D,E}var Ww={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 _w(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=Ww[G];if(typeof B==="object")B=B[Y];if(B)return{literal:!1,val:B};return}function Uw(D){return[`^${D.map((F)=>F.regex).reduce((F,X)=>`${F}(${X.source})`,"")}$`,D]}function Vw(D,$,F){let X=D.match($);if(X){let J={},Y=1;for(let G in F)if(J6(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 Aw(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=L2.create(D.z);if(!n(D.Z)){if(!F)F=new Y0(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=RX(D.u);return[Object.keys(D).reduce((Y,G)=>{let B=$(G);if(B)Y[B]=D[G];return Y},{}),F,X]}var aF=null;function Qw(){if(!aF)aF=s.fromMillis(1555555555555);return aF}function Kw(D,$){if(D.literal)return D;let F=G0.macroTokenToFormatOpts(D.val),X=iA(F,$);if(X==null||X.includes(void 0))return D;return X}function dA(D,$){return Array.prototype.concat(...D.map((F)=>Kw(F,$)))}class NX{constructor(D,$){if(this.locale=D,this.format=$,this.tokens=dA(G0.parseFormat($),D),this.units=this.tokens.map((F)=>Hw(F,D)),this.disqualifyingUnit=this.units.find((F)=>F.invalidReason),!this.disqualifyingUnit){let[F,X]=Uw(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]=Vw(D,this.regex,this.handlers),[X,J,Y]=F?Aw(F):[null,null,void 0];if(J6(F,"a")&&J6(F,"H"))throw new D1("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 lA(D,$,F){return new NX(D,F).explainFromTokens($)}function Ew(D,$,F){let{result:X,zone:J,specificOffset:Y,invalidReason:G}=lA(D,$,F);return[X,J,Y,G]}function iA(D,$){if(!D)return null;let X=G0.create($,D).dtFormatter(Qw()),J=X.formatToParts(),Y=X.resolvedOptions();return J.map((G)=>_w(G,D,Y))}var tF="Invalid DateTime",gV=8640000000000000;function P3(D){return new b0("unsupported zone",`the zone "${D.name}" is not supported`)}function eF(D){if(D.weekData===null)D.weekData=D4(D.c);return D.weekData}function DX(D){if(D.localWeekData===null)D.localWeekData=D4(D.c,D.loc.getMinDaysInFirstWeek(),D.loc.getStartOfWeek());return D.localWeekData}function e8(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 nA(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 s7(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 o7(D,$,F){return nA(J4(D),$,F)}function xV(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,$4(X,J))+Math.trunc($.days)+Math.trunc($.weeks)*7},G=BD.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=J4(Y),[H,W]=nA(B,F,D.zone);if(G!==0)H+=G,W=D.zone.offset(H);return{ts:H,o:W}}function D6(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 b0("unparsable",`the input "${J}" can't be parsed as ${X}`))}function r7(D,$,F=!0){return D.isValid?G0.create(AD.create("en-US"),{allowZ:F,forceSimple:!0}).formatDateTimeFromString(D,$):null}function $X(D,$,F){let X=D.c.year>9999||D.c.year<0,J="";if(X&&D.c.year>=0)J+="+";if(J+=xD(D.c.year,X?6:4),F==="year")return J;if($){if(J+="-",J+=xD(D.c.month),F==="month")return J;J+="-"}else if(J+=xD(D.c.month),F==="month")return J;return J+=xD(D.c.day),J}function yV(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+=xD(D.c.hour),G==="hour")break;if($){if(H+=":",H+=xD(D.c.minute),G==="minute")break;if(B)H+=":",H+=xD(D.c.second)}else{if(H+=xD(D.c.minute),G==="minute")break;if(B)H+=xD(D.c.second)}if(G==="second")break;if(B&&(!X||D.c.millisecond!==0))H+=".",H+=xD(D.c.millisecond,3)}if(J)if(D.isOffsetFixed&&D.offset===0&&!Y)H+="Z";else if(D.o<0)H+="-",H+=xD(Math.trunc(-D.o/60)),H+=":",H+=xD(Math.trunc(-D.o%60));else H+="+",H+=xD(Math.trunc(D.o/60)),H+=":",H+=xD(Math.trunc(D.o%60));if(Y)H+="["+D.zone.ianaName+"]";return H}var sA={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},Cw={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},Rw={ordinal:1,hour:0,minute:0,second:0,millisecond:0},a7=["year","month","day","hour","minute","second","millisecond"],Ow=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],Mw=["year","ordinal","hour","minute","second","millisecond"];function t7(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 AX(D);return $}function uV(D){switch(D.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return t7(D)}}function Zw(D){if(L3===void 0)L3=LD.now();if(D.type!=="iana")return D.offset(L3);let $=D.name,F=VX.get($);if(F===void 0)F=D.offset(L3),VX.set($,F);return F}function mV(D,$){let F=V8($.zone,LD.defaultZone);if(!F.isValid)return s.invalid(P3(F));let X=AD.fromObject($),J,Y;if(!n(D.year)){for(let H of a7)if(n(D[H]))D[H]=sA[H];let G=ZA(D)||qA(D);if(G)return s.invalid(G);let B=Zw(F);[J,Y]=o7(D,B,F)}else J=LD.now();return new s({ts:J,zone:F,loc:X,o:Y})}function pV(D,$,F){let X=n(F.round)?!0:F.round,J=n(F.rounding)?"trunc":F.rounding,Y=(B,H)=>{return B=OX(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 cV(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 L3,VX=new Map;class s{constructor(D){let $=D.zone||LD.defaultZone,F=D.invalid||(Number.isNaN(D.ts)?new b0("invalid input"):null)||(!$.isValid?P3($):null);this.ts=n(D.ts)?LD.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=A8(D.o)&&!D.old?D.o:$.offset(this.ts);X=s7(this.ts,G),F=Number.isNaN(X.year)?new b0("invalid input"):null,X=F?null:X,J=F?null:G}this._zone=$,this.loc=D.loc||AD.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,$]=cV(arguments),[F,X,J,Y,G,B,H]=$;return mV({year:F,month:X,day:J,hour:Y,minute:G,second:B,millisecond:H},D)}static utc(){let[D,$]=cV(arguments),[F,X,J,Y,G,B,H]=$;return D.zone=Y0.utcInstance,mV({year:F,month:X,day:J,hour:Y,minute:G,second:B,millisecond:H},D)}static fromJSDate(D,$={}){let F=ez(D)?D.valueOf():NaN;if(Number.isNaN(F))return s.invalid("invalid input");let X=V8($.zone,LD.defaultZone);if(!X.isValid)return s.invalid(P3(X));return new s({ts:F,zone:X,loc:AD.fromObject($)})}static fromMillis(D,$={}){if(!A8(D))throw new eD(`fromMillis requires a numerical input, but received a ${typeof D} with value ${D}`);else if(D<-gV||D>gV)return s.invalid("Timestamp out of range");else return new s({ts:D,zone:V8($.zone,LD.defaultZone),loc:AD.fromObject($)})}static fromSeconds(D,$={}){if(!A8(D))throw new eD("fromSeconds requires a numerical input");else return new s({ts:D*1000,zone:V8($.zone,LD.defaultZone),loc:AD.fromObject($)})}static fromObject(D,$={}){D=D||{};let F=V8($.zone,LD.defaultZone);if(!F.isValid)return s.invalid(P3(F));let X=AD.fromObject($),J=F4(D,uV),{minDaysInFirstWeek:Y,startOfWeek:G}=jV(J,X),B=LD.now(),H=!n($.specificOffset)?$.specificOffset:F.offset(B),W=!n(J.ordinal),U=!n(J.year),V=!n(J.month)||!n(J.day),A=U||V,Q=J.weekYear||J.weekNumber;if((A||W)&&Q)throw new D1("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(V&&W)throw new D1("Can't mix ordinal dates with month/day");let C=Q||J.weekday&&!A,E,K,Z=s7(B,H);if(C)E=Ow,K=Cw,Z=D4(Z,Y,G);else if(W)E=Mw,K=Rw,Z=oF(Z);else E=a7,K=sA;let q=!1;for(let r of E){let WD=J[r];if(!n(WD))q=!0;else if(q)J[r]=K[r];else J[r]=Z[r]}let P=C?oz(J,Y,G):W?az(J):ZA(J),z=P||qA(J);if(z)return s.invalid(z);let S=C?PV(J,Y,G):W?LV(J):J,[L,h]=o7(S,H,F),I=new s({ts:L,zone:F,o:h,loc:X});if(J.weekday&&A&&D.weekday!==I.weekday)return s.invalid("mismatched weekday",`you can't specify both a weekday of ${J.weekday} and a date of ${I.toISO()}`);if(!I.isValid)return s.invalid(I.invalid);return I}static fromISO(D,$={}){let[F,X]=pI(D);return D6(F,X,$,"ISO 8601",D)}static fromRFC2822(D,$={}){let[F,X]=cI(D);return D6(F,X,$,"RFC 2822",D)}static fromHTTP(D,$={}){let[F,X]=dI(D);return D6(F,X,$,"HTTP",$)}static fromFormat(D,$,F={}){if(n(D)||n($))throw new eD("fromFormat requires an input string and a format");let{locale:X=null,numberingSystem:J=null}=F,Y=AD.fromOpts({locale:X,numberingSystem:J,defaultToEN:!0}),[G,B,H,W]=Ew(Y,D,$);if(W)return s.invalid(W);else return D6(G,B,F,`format ${$}`,D,H)}static fromString(D,$,F={}){return s.fromFormat(D,$,F)}static fromSQL(D,$={}){let[F,X]=aI(D);return D6(F,X,$,"SQL",D)}static invalid(D,$=null){if(!D)throw new eD("need to specify a reason the DateTime is invalid");let F=D instanceof b0?D:new b0(D,$);if(LD.throwOnInvalid)throw new dV(F);else return new s({invalid:F})}static isDateTime(D){return D&&D.isLuxonDateTime||!1}static parseFormatForOpts(D,$={}){let F=iA(D,AD.fromObject($));return!F?null:F.map((X)=>X?X.val:null).join("")}static expandFormat(D,$={}){return dA(G0.parseFormat(D),AD.fromObject($)).map((X)=>X.val).join("")}static resetCache(){L3=void 0,VX.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?eF(this).weekYear:NaN}get weekNumber(){return this.isValid?eF(this).weekNumber:NaN}get weekday(){return this.isValid?eF(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?DX(this).weekday:NaN}get localWeekNumber(){return this.isValid?DX(this).weekNumber:NaN}get localWeekYear(){return this.isValid?DX(this).weekYear:NaN}get ordinal(){return this.isValid?oF(this.c).ordinal:NaN}get monthShort(){return this.isValid?$6.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?$6.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?$6.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?$6.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=J4(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=s7(B,Y),U=s7(H,G);if(W.hour===U.hour&&W.minute===U.minute&&W.second===U.second&&W.millisecond===U.millisecond)return[e8(this,{ts:B}),e8(this,{ts:H})];return[this]}get isInLeapYear(){return w3(this.year)}get daysInMonth(){return $4(this.year,this.month)}get daysInYear(){return this.isValid?F6(this.year):NaN}get weeksInWeekYear(){return this.isValid?z3(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?z3(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(D={}){let{locale:$,numberingSystem:F,calendar:X}=G0.create(this.loc.clone(D),D).resolvedOptions(this);return{locale:$,numberingSystem:F,outputCalendar:X}}toUTC(D=0,$={}){return this.setZone(Y0.instance(D),$)}toLocal(){return this.setZone(LD.defaultZone)}setZone(D,{keepLocalTime:$=!1,keepCalendarTime:F=!1}={}){if(D=V8(D,LD.defaultZone),D.equals(this.zone))return this;else if(!D.isValid)return s.invalid(P3(D));else{let X=this.ts;if($||F){let J=D.offset(this.ts),Y=this.toObject();[X]=o7(Y,J,D)}return e8(this,{ts:X,zone:D})}}reconfigure({locale:D,numberingSystem:$,outputCalendar:F}={}){let X=this.loc.clone({locale:D,numberingSystem:$,outputCalendar:F});return e8(this,{loc:X})}setLocale(D){return this.reconfigure({locale:D})}set(D){if(!this.isValid)return this;let $=F4(D,uV),{minDaysInFirstWeek:F,startOfWeek:X}=jV($,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 D1("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(B&&Y)throw new D1("Can't mix ordinal dates with month/day");let U;if(J)U=PV({...D4(this.c,F,X),...$},F,X);else if(!n($.ordinal))U=LV({...oF(this.c),...$});else if(U={...this.toObject(),...$},n($.day))U.day=Math.min($4(U.year,U.month),U.day);let[V,A]=o7(U,this.o,this.zone);return e8(this,{ts:V,o:A})}plus(D){if(!this.isValid)return this;let $=BD.fromDurationLike(D);return e8(this,xV(this,$))}minus(D){if(!this.isValid)return this;let $=BD.fromDurationLike(D).negate();return e8(this,xV(this,$))}startOf(D,{useLocaleWeeks:$=!1}={}){if(!this.isValid)return this;let F={},X=BD.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?G0.create(this.loc.redefaultToEN($)).formatDateTimeFromString(this,D):tF}toLocaleString(D=e7,$={}){return this.isValid?G0.create(this.loc.clone($),D).formatDateTime(this):tF}toLocaleParts(D={}){return this.isValid?G0.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=t7(Y);let G=D==="extended",B=$X(this,G,Y);if(a7.indexOf(Y)>=3)B+="T";return B+=yV(this,G,$,F,X,J,Y),B}toISODate({format:D="extended",precision:$="day"}={}){if(!this.isValid)return null;return $X(this,D==="extended",t7($))}toISOWeekDate(){return r7(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=t7(G),(X&&a7.indexOf(G)>=3?"T":"")+yV(this,Y==="extended",$,D,F,J,G)}toRFC2822(){return r7(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return r7(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){if(!this.isValid)return null;return $X(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 r7(this,X,!0)}toSQL(D={}){if(!this.isValid)return null;return`${this.toSQLDate()} ${this.toSQLTime(D)}`}toString(){return this.isValid?this.toISO():tF}[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 BD.invalid("created by diffing an invalid DateTime");let X={locale:this.locale,numberingSystem:this.numberingSystem,...F},J=DI($).map(BD.normalizeUnit),Y=D.valueOf()>this.valueOf(),G=Y?this:D,B=Y?D:this,H=Xw(G,B,J,X);return Y?H.negate():H}diffNow(D="milliseconds",$={}){return this.diff(s.now(),D,$)}until(D){return this.isValid?TD.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 pV($,this.plus(F),{...D,numeric:"always",units:X,unit:J})}toRelativeCalendar(D={}){if(!this.isValid)return null;return pV(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 eD("min requires all arguments be DateTimes");return zV(D,($)=>$.valueOf(),Math.min)}static max(...D){if(!D.every(s.isDateTime))throw new eD("max requires all arguments be DateTimes");return zV(D,($)=>$.valueOf(),Math.max)}static fromFormatExplain(D,$,F={}){let{locale:X=null,numberingSystem:J=null}=F,Y=AD.fromOpts({locale:X,numberingSystem:J,defaultToEN:!0});return lA(Y,D,$)}static fromStringExplain(D,$,F={}){return s.fromFormatExplain(D,$,F)}static buildFormatParser(D,$={}){let{locale:F=null,numberingSystem:X=null}=$,J=AD.fromOpts({locale:F,numberingSystem:X,defaultToEN:!0});return new NX(J,D)}static fromFormatParser(D,$,F={}){if(n(D)||n($))throw new eD("fromFormatParser requires an input string and a format parser");let{locale:X=null,numberingSystem:J=null}=F,Y=AD.fromOpts({locale:X,numberingSystem:J,defaultToEN:!0});if(!Y.equals($.locale))throw new eD(`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 D6(G,B,F,`format ${$.format}`,D,H)}static get DATE_SHORT(){return e7}static get DATE_MED(){return nV}static get DATE_MED_WITH_WEEKDAY(){return Sz}static get DATE_FULL(){return sV}static get DATE_HUGE(){return rV}static get TIME_SIMPLE(){return oV}static get TIME_WITH_SECONDS(){return aV}static get TIME_WITH_SHORT_OFFSET(){return tV}static get TIME_WITH_LONG_OFFSET(){return eV}static get TIME_24_SIMPLE(){return DA}static get TIME_24_WITH_SECONDS(){return $A}static get TIME_24_WITH_SHORT_OFFSET(){return FA}static get TIME_24_WITH_LONG_OFFSET(){return XA}static get DATETIME_SHORT(){return JA}static get DATETIME_SHORT_WITH_SECONDS(){return GA}static get DATETIME_MED(){return YA}static get DATETIME_MED_WITH_SECONDS(){return BA}static get DATETIME_MED_WITH_WEEKDAY(){return bz}static get DATETIME_FULL(){return HA}static get DATETIME_FULL_WITH_SECONDS(){return WA}static get DATETIME_HUGE(){return _A}static get DATETIME_HUGE_WITH_SECONDS(){return UA}}function q3(D){if(s.isDateTime(D))return D;else if(D&&D.valueOf&&A8(D.valueOf()))return s.fromJSDate(D);else if(D&&typeof D==="object")return s.fromObject(D);else throw new eD(`Unknown datetime argument: ${D}, of type ${typeof D}`)}var qw="3.7.2";rA.DateTime=s;rA.Duration=BD;rA.FixedOffsetZone=Y0;rA.IANAZone=L2;rA.Info=$6;rA.Interval=TD;rA.InvalidZone=QX;rA.Settings=LD;rA.SystemZone=I3;rA.VERSION=qw;rA.Zone=F1});var H4=b((aA)=>{Object.defineProperty(aA,"__esModule",{value:!0});aA.CronDate=aA.DAYS_IN_MONTH=aA.DateMathOp=aA.TimeUnit=void 0;var X1=oA(),B0;(function(D){D.Second="Second",D.Minute="Minute",D.Hour="Hour",D.Day="Day",D.Month="Month",D.Year="Year"})(B0||(aA.TimeUnit=B0={}));var B4;(function(D){D.Add="Add",D.Subtract="Subtract"})(B4||(aA.DateMathOp=B4={}));aA.DAYS_IN_MONTH=Object.freeze([31,29,31,30,31,30,31,31,30,31,30,31]);class W6{#D;#$=null;#X=null;#G={add:{[B0.Year]:this.addYear.bind(this),[B0.Month]:this.addMonth.bind(this),[B0.Day]:this.addDay.bind(this),[B0.Hour]:this.addHour.bind(this),[B0.Minute]:this.addMinute.bind(this),[B0.Second]:this.addSecond.bind(this)},subtract:{[B0.Year]:this.subtractYear.bind(this),[B0.Month]:this.subtractMonth.bind(this),[B0.Day]:this.subtractDay.bind(this),[B0.Hour]:this.subtractHour.bind(this),[B0.Minute]:this.subtractMinute.bind(this),[B0.Second]:this.subtractSecond.bind(this)}};constructor(D,$){let F={zone:$};if(!D)this.#D=X1.DateTime.local();else if(D instanceof W6)this.#D=D.#D,this.#$=D.#$,this.#X=D.#X;else if(D instanceof Date)this.#D=X1.DateTime.fromJSDate(D,F);else if(typeof D==="number")this.#D=X1.DateTime.fromMillis(D,F);else this.#D=X1.DateTime.fromISO(D,F),this.#D.isValid||(this.#D=X1.DateTime.fromRFC2822(D,F)),this.#D.isValid||(this.#D=X1.DateTime.fromSQL(D,F)),this.#D.isValid||(this.#D=X1.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===B4.Add){this.addUnit($);return}if(D===B4.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=W6.#J(this.#D.year);return D===aA.DAYS_IN_MONTH[$-1]-(F?0:1)}return D===aA.DAYS_IN_MONTH[$-1]}isLastWeekdayOfMonth(){let{day:D,month:$}=this.#D,F;if($===2)F=aA.DAYS_IN_MONTH[$-1]-(W6.#J(this.#D.year)?0:1);else F=aA.DAYS_IN_MONTH[$-1];return D>F-7}applyDateOperation(D,$,F){if($===B0.Month||$===B0.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()}}aA.CronDate=W6;aA.default=W6});var FQ=b((DQ)=>{Object.defineProperty(DQ,"__esModule",{value:!0});DQ.CronMonth=void 0;var gw=H4(),xw=_8(),yw=1,uw=12,mw=Object.freeze([]);class eA extends xw.CronField{static get min(){return yw}static get max(){return uw}static get chars(){return mw}static get daysInMonth(){return gw.DAYS_IN_MONTH}constructor(D,$){super(D,$);this.validate()}get values(){return super.values}}DQ.CronMonth=eA});var YQ=b((JQ)=>{Object.defineProperty(JQ,"__esModule",{value:!0});JQ.CronSecond=void 0;var pw=_8(),cw=0,dw=59,lw=Object.freeze([]);class XQ extends pw.CronField{static get min(){return cw}static get max(){return dw}static get chars(){return lw}constructor(D,$){super(D,$);this.validate()}get values(){return super.values}}JQ.CronSecond=XQ});var W4=b((C0)=>{var iw=C0&&C0.__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]}),K8=C0&&C0.__exportStar||function(D,$){for(var F in D)if(F!=="default"&&!Object.prototype.hasOwnProperty.call($,F))iw($,D,F)};Object.defineProperty(C0,"__esModule",{value:!0});K8(rU(),C0);K8($V(),C0);K8(GV(),C0);K8(_8(),C0);K8(WV(),C0);K8(AV(),C0);K8(FQ(),C0);K8(YQ(),C0)});var PX=b((BQ)=>{Object.defineProperty(BQ,"__esModule",{value:!0});BQ.CronFieldCollection=void 0;var v0=W4();class _6{#D;#$;#X;#G;#J;#F;static from(D,$){return new _6({second:this.resolveField(v0.CronSecond,D.second,$.second),minute:this.resolveField(v0.CronMinute,D.minute,$.minute),hour:this.resolveField(v0.CronHour,D.hour,$.hour),dayOfMonth:this.resolveField(v0.CronDayOfMonth,D.dayOfMonth,$.dayOfMonth),month:this.resolveField(v0.CronMonth,D.month,$.month),dayOfWeek:this.resolveField(v0.CronDayOfWeek,D.dayOfWeek,$.dayOfWeek)})}static resolveField(D,$,F){if(!F)return $;if(F instanceof v0.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)<=v0.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 v0.CronDayOfWeek){$=6;let J=this.#F.values;F=J[J.length-1]===7?J.slice(0,-1):J}if(D instanceof v0.CronDayOfMonth)$=this.#J.values.length===1?v0.CronMonth.daysInMonth[this.#J.values[0]-1]:D.max;let X=_6.compactField(F);if(X.length===1){let J=_6.#W(D,X[0],$);if(J)return J}return X.map((J)=>{let Y=J.count===1?J.start.toString():_6.#H(J,$);if(D instanceof v0.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()}}}BQ.CronFieldCollection=_6});var jX=b((_Q)=>{Object.defineProperty(_Q,"__esModule",{value:!0});_Q.CronExpression=_Q.LOOPS_LIMIT_EXCEEDED_ERROR_MESSAGE=_Q.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE=void 0;var bD=H4();_Q.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE="Out of the time span range";_Q.LOOPS_LIMIT_EXCEEDED_ERROR_MESSAGE="Invalid expression, loop limit exceeded";var WQ=1e4;class h0{#D;#$;#X;#G;#J;#F;#W=null;#H=!1;constructor(D,$){this.#D=$,this.#$=$.tz,this.#G=$.startDate?new bD.CronDate($.startDate,this.#$):null,this.#J=$.endDate?new bD.CronDate($.endDate,this.#$):null;let F=$.currentDate??$.startDate;if(F){let X=new bD.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 bD.CronDate(F,this.#$),this.#F=D}get fields(){return this.#F}static fieldsToExpression(D,$){return new h0(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 bD.CronDate(D);F.setStartOfDay();let X=new bD.CronDate(D);return X.setEndOfDay(),this.#W=$,this.#H=F.getUTCOffset()!==X.getUTCOffset(),this.#H}#V(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($,bD.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($,bD.TimeUnit.Hour,this.#F.hour.values.length),D.setMinutes(this.#Y(X,F)),D.setSeconds(this.#Y(J,F))}static#K(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.#A()}prev(){return this.#A(!0)}hasNext(){let D=this.#X;try{return this.#A(),!0}catch{return!1}finally{this.#X=D}}hasPrev(){let D=this.#X;try{return this.#A(!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 bD.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 bD.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=h0.#B(D.getDate(),this.#F.dayOfMonth.values)||this.#F.dayOfMonth.hasLastChar&&D.isLastDayOfMonth(),G=h0.#B(D.getDay(),this.#F.dayOfWeek.values)||this.#F.dayOfWeek.hasLastChar&&h0.#K(this.#F.dayOfWeek.values,D);if(F&&J&&(Y||G))return!0;if(Y&&!J)return!0;if($&&!X&&G)return!0;return!1}#E(D,$,F){let X=this.#F.hour.values,J=X,Y=D.getHours(),G=h0.#B(Y,X),B=D.dstStart===Y,H=D.dstEnd===Y;if(B){if(h0.#B(Y-1,X))return!0;return D.invokeDateOperation($,bD.TimeUnit.Hour),!1}if(H&&!F)return D.dstEnd=null,D.applyDateOperation(bD.DateMathOp.Add,bD.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($,bD.TimeUnit.Day,J.length),!1;if(this.#U(D)){let U=F?Y-W:W-Y;for(let V=0;V<U;V++)D.applyDateOperation($,bD.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(_Q.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE);if(this.#J&&$>this.#J.getTime())throw Error(_Q.TIME_SPAN_OUT_OF_BOUNDS_ERROR_MESSAGE)}#A(D=!1){let $=D?bD.DateMathOp.Subtract:bD.DateMathOp.Add,F=new bD.CronDate(this.#X),X=F.getTime(),J=0;while(++J<WQ){if(this.#C(F),!this.#Q(F)){F.applyDateOperation($,bD.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($,bD.TimeUnit.Day,this.#F.hour.values.length);continue}if(!h0.#B(F.getMonth()+1,this.#F.month.values)){F.applyDateOperation($,bD.TimeUnit.Month,this.#F.hour.values.length);continue}if(!this.#E(F,$,D))continue;if(!h0.#B(F.getMinutes(),this.#F.minute.values)){this.#_(F,$,D);continue}if(!h0.#B(F.getSeconds(),this.#F.second.values)){this.#V(F,$,D);continue}if(X===F.getTime()){if($==="Add"||F.getMilliseconds()===0)F.applyDateOperation($,bD.TimeUnit.Second,this.#F.hour.values.length);continue}break}if(J>WQ)throw Error(_Q.LOOPS_LIMIT_EXCEEDED_ERROR_MESSAGE);if(F.getMilliseconds()!==0)F.setMilliseconds(0);return this.#X=F,F}[Symbol.iterator](){return{next:()=>{return{value:this.#A(),done:!this.hasNext()}}}}}_Q.CronExpression=h0;_Q.default=h0});var QQ=b((AQ)=>{Object.defineProperty(AQ,"__esModule",{value:!0});AQ.seededRandom=ow;function sw(D){let $=2166136261;for(let F=0;F<D.length;F++)$^=D.charCodeAt(F),$=Math.imul($,16777619);return()=>$>>>0}function rw(D){return()=>{let $=D+=1831565813;return $=Math.imul($^$>>>15,$|1),$^=$+Math.imul($^$>>>7,$|61),(($^$>>>14)>>>0)/4294967296}}function ow(D){let $=D?sw(D)():Math.floor(Math.random()*10000000000);return rw($)}});var _4=b((KQ)=>{Object.defineProperty(KQ,"__esModule",{value:!0});KQ.CronExpressionParser=KQ.DayOfWeek=KQ.Months=KQ.CronUnit=KQ.PredefinedExpressions=void 0;var tw=PX(),ew=jX(),DT=QQ(),g0=W4(),zX;(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"})(zX||(KQ.PredefinedExpressions=zX={}));var x0;(function(D){D.Second="Second",D.Minute="Minute",D.Hour="Hour",D.DayOfMonth="DayOfMonth",D.Month="Month",D.DayOfWeek="DayOfWeek"})(x0||(KQ.CronUnit=x0={}));var IX;(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"})(IX||(KQ.Months=IX={}));var wX;(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"})(wX||(KQ.DayOfWeek=wX={}));class R0{static parse(D,$={}){let{strict:F=!1,hashSeed:X}=$,J=(0,DT.seededRandom)(X);D=zX[D]||D;let Y=R0.#D(D,F);if(!(Y.dayOfMonth==="*"||Y.dayOfWeek==="*"||!F))throw Error("Cannot use both dayOfMonth and dayOfWeek together in strict mode!");let G=R0.#$(x0.Second,Y.second,g0.CronSecond.constraints,J),B=R0.#$(x0.Minute,Y.minute,g0.CronMinute.constraints,J),H=R0.#$(x0.Hour,Y.hour,g0.CronHour.constraints,J),W=R0.#$(x0.Month,Y.month,g0.CronMonth.constraints,J),U=R0.#$(x0.DayOfMonth,Y.dayOfMonth,g0.CronDayOfMonth.constraints,J),{dayOfWeek:V,nthDayOfWeek:A}=R0.#U(Y.dayOfWeek),Q=R0.#$(x0.DayOfWeek,V,g0.CronDayOfWeek.constraints,J),C=new tw.CronFieldCollection({second:new g0.CronSecond(G,{rawValue:Y.second}),minute:new g0.CronMinute(B,{rawValue:Y.minute}),hour:new g0.CronHour(H,{rawValue:Y.hour}),dayOfMonth:new g0.CronDayOfMonth(U,{rawValue:Y.dayOfMonth}),month:new g0.CronMonth(W,{rawValue:Y.month}),dayOfWeek:new g0.CronDayOfWeek(Q,{rawValue:Y.dayOfWeek,nthDayOfWeek:A})});return new ew.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===x0.Month||D===x0.DayOfWeek)$=$.replace(/[a-z]{3}/gi,(J)=>{J=J.toLowerCase();let Y=IX[J]||wX[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 V=Math.max(H,$.min),A=Math.floor(X*U),Q=[];for(let C=Math.floor(V/U)*U+A;C<=W;C+=U)if(C>=V)Q.push(C);return Q.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 V=Math.floor($.min/H)*H+W;V<=$.max;V+=H)if(V>=$.min)U.push(V);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(R0.#V(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===x0.DayOfWeek?H%7:G)}}return $.split(",").forEach((G)=>{if(!(G.length>0))throw Error("Invalid list value format");J(R0.#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 R0.#Y(D,X[0],parseInt(X[1],10),F)}return R0.#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===x0.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#V(D,$){return D.chars.some((F)=>$.toString().includes(F))}}KQ.CronExpressionParser=R0});var CQ=b((j2)=>{var GT=j2&&j2.__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]}),YT=j2&&j2.__setModuleDefault||(Object.create?function(D,$){Object.defineProperty(D,"default",{enumerable:!0,value:$})}:function(D,$){D.default=$}),BT=j2&&j2.__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")GT(F,$,X[J])}return YT(F,$),F}}();Object.defineProperty(j2,"__esModule",{value:!0});j2.CronFileParser=void 0;var HT=_4();class f3{static async parseFile(D){let{readFile:$}=await Promise.resolve().then(()=>BT(i2("fs/promises"))),F=await $(D,"utf8");return f3.#D(F)}static parseFileSync(D){let{readFileSync:$}=i2("fs"),F=$(D,"utf8");return f3.#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=f3.#$(J);F.expressions.push(G.interval)}catch(G){F.errors[J]=G}}return F}static#$(D){let $=D.split(" ");return{interval:HT.CronExpressionParser.parse($.slice(0,5).join(" ")),command:$.slice(5,$.length)}}}j2.CronFileParser=f3});var RQ=b((rD)=>{var WT=rD&&rD.__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]}),_T=rD&&rD.__exportStar||function(D,$){for(var F in D)if(F!=="default"&&!Object.prototype.hasOwnProperty.call($,F))WT($,D,F)};Object.defineProperty(rD,"__esModule",{value:!0});rD.CronFileParser=rD.CronExpressionParser=rD.CronExpression=rD.CronFieldCollection=rD.CronDate=void 0;var UT=_4(),VT=H4();Object.defineProperty(rD,"CronDate",{enumerable:!0,get:function(){return VT.CronDate}});var AT=PX();Object.defineProperty(rD,"CronFieldCollection",{enumerable:!0,get:function(){return AT.CronFieldCollection}});var QT=jX();Object.defineProperty(rD,"CronExpression",{enumerable:!0,get:function(){return QT.CronExpression}});var KT=_4();Object.defineProperty(rD,"CronExpressionParser",{enumerable:!0,get:function(){return KT.CronExpressionParser}});var ET=CQ();Object.defineProperty(rD,"CronFileParser",{enumerable:!0,get:function(){return ET.CronFileParser}});_T(W4(),rD);rD.default=UT.CronExpressionParser});class k3{deps;handle=null;ticking=!1;constructor(D){this.deps=D}start(D=CT){if(this.handle!==null)return;this.handle=setInterval(()=>{this.tick().catch(($)=>R.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 $=U4(D.expression,new Date),F=crypto.randomUUID(),X=new Date().toISOString(),J=D.enabled??!0,Y=D.accountId??RT;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};p().insert(MD).values(G).run();let B=p().select().from(MD).where(m(MD.id,F)).get();return V4(B)}async listJobs(){return p().select().from(MD).all().map(V4)}async getJob(D){let $=p().select().from(MD).where(m(MD.id,D)).get();return $?V4($):null}async removeJob(D){let $=p();if(!$.select({id:MD.id}).from(MD).where(m(MD.id,D)).get())return{removed:!1};return $.delete(MD).where(m(MD.id,D)).run(),{removed:!0}}async updateJob(D,$){let F=p().select().from(MD).where(m(MD.id,D)).get();if(!F)return null;let X={updatedAt:new Date().toISOString()},J=!1;if($.expression!==void 0)U4($.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?U4(B,new Date).toISOString():null}p().update(MD).set(X).where(m(MD.id,D)).run();let Y=p().select().from(MD).where(m(MD.id,D)).get();return V4(Y)}async tick(D=new Date){if(this.ticking)return;this.ticking=!0;try{let $=D.toISOString(),F=p().select().from(MD).where(Z2(m(MD.enabled,!0),U7(MD.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=U4(D.expression,$).toISOString()}catch(Y){R.warn(`[cron ${D.id}] expression "${D.expression}" \u5F02\u5E38\uFF0C\u505C\u6B62\u540E\u7EED\u89E6\u53D1: ${String(Y)}`)}let J=$.toISOString();p().update(MD).set({lastRunAt:J,nextRunAt:X,updatedAt:J}).where(m(MD.id,D.id)).run();try{await this.deps.getOrchestrator().ingest(F)}catch(Y){R.warn(`[cron ${D.id}] orchestrator.ingest \u5931\u8D25: ${String(Y)}`)}}}function U4(D,$){return OQ.CronExpressionParser.parse(D,{currentDate:$}).next().toDate()}function V4(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 OQ,CT=60000,RT="sys:cron";var TX=M(()=>{wD();$D();K0();OQ=EM(RQ(),1)});class v3{listeners=new Set;emit(D,$){let F={type:D,payload:$,at:new Date().toISOString()};for(let X of this.listeners)try{X(F)}catch(J){R.warn(`[bus] listener for ${F.type} threw:`,J)}}on(D){return this.listeners.add(D),()=>{this.listeners.delete(D)}}}var SX=M(()=>{$D()});import qQ from"fs/promises";import OT from"os";import y0 from"path";import A4 from"process";function PQ(D=NQ){let $=new Map;async function F(H){let W=new Date(D.now()).toISOString(),U=await D.resolveBinary(H.binaryName),V={kind:H.kind,status:"not-found",checkedAt:W};if(H.agent)V.agent=H.agent;if(!U)return{...V,authHint:"binary-not-on-path"};let A=D.homedir();for(let Q of H.authPaths(A))if(await D.pathExists(Q))return{...V,status:"ready",binaryPath:U,authHint:"auth-file-present"};return{...V,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 V=await F(H);return $.set(H.key,{value:V,expiresAt:D.now()+MT}),V}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 V of MQ)U.push(J(V));for(let V of ZQ)U.push(await X(V,W));return U}async function G(H,W={}){let U=W.refresh??!1;if(MQ.includes(H))return J(H);let V=ZQ.filter((Q)=>Q.kind===H);if(V.length===0)return{kind:H,status:"not-found",checkedAt:new Date(D.now()).toISOString(),authHint:"unknown-engine"};let A=W.agent?V.find((Q)=>Q.agent===W.agent)??V[0]:V[0];return X(A,U)}function B(){$.clear()}return{probe:G,probeAll:Y,clearCache:B}}function Q4(){if(!h3)h3=PQ();return h3}function LQ(D){return h3=PQ(D),h3}function bX(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 jQ(D,$=NQ){let F=$.homedir(),X=D==="gemini"?".gemini":".qwen",J=y0.join(F,X,"oauth_creds.json"),Y=y0.join(F,X,"settings.json");if(await $.pathExists(J))return bX("login","oauth_creds.json present");if(await $.pathExists(Y))return bX("install","settings.json present, login pending");return bX("none",`~/${X} not present`)}function zQ(){return jQ("gemini")}function IQ(){return jQ("qwen")}async function ZT(D){let $=A4.env.PATH??"",F=A4.platform==="win32"?";":":",X=A4.platform==="win32"?(A4.env.PATHEXT??".EXE").split(";"):[""];for(let J of $.split(F)){if(!J)continue;for(let Y of X){let G=y0.join(J,`${D}${Y.toLowerCase()}`);try{if((await qQ.stat(G)).isFile())return G}catch{}}}return null}async function qT(D){try{return await qQ.stat(D),!0}catch{return!1}}var MT=600000,NQ,MQ,ZQ,h3=null;var K4=M(()=>{NQ={resolveBinary:ZT,pathExists:qT,homedir:()=>OT.homedir(),now:()=>Date.now()},MQ=["http","mcp","cli"],ZQ=[{key:"claude-code",kind:"claude-code",binaryName:"claude",authPaths:(D)=>[y0.join(D,".claude.json"),y0.join(D,".claude","config.json")]},{key:"acp:gemini",kind:"acp",agent:"gemini",binaryName:"gemini",authPaths:(D)=>[y0.join(D,".gemini","oauth_creds.json")]},{key:"acp:qwen",kind:"acp",agent:"qwen",binaryName:"qwen",authPaths:(D)=>[y0.join(D,".qwen","oauth_creds.json"),y0.join(D,".qwen","settings.json")]},{key:"codex",kind:"codex",binaryName:"codex",authPaths:(D)=>[y0.join(D,".codex","auth.json")]},{key:"cursor",kind:"cursor",binaryName:"cursor-agent",authPaths:(D)=>[y0.join(D,".cursor","cli-config.json"),y0.join(D,".cursor-agent","auth.json"),y0.join(D,".cursor","auth.json")]}]});class fX{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!==NT){R.warn(`[gateway-client ${this.deps.options.workerId}] send dropped: socket not open`);return}try{$.send(zD(D))}catch(F){R.warn(`[gateway-client ${this.deps.options.workerId}] send failed: ${String(F)}`)}}openSocket(){let{url:D,workerId:$}=this.deps.options;R.info(`[gateway-client ${$}] connecting to ${D}`);let F;try{F=new this.WebSocketCtor(D)}catch(X){R.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:k8.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(zD(Y))}catch(G){R.warn(`[gateway-client ${$}] connect frame send failed: ${String(G)}`);return}this.reconnectDelay=this.deps.options.initialReconnectDelayMs,R.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=v8(J);if(!Y.ok){R.warn(`[gateway-client ${$}] drop malformed frame: ${Y.error}`);return}let G=Y.frame;if(G.type==="event"&&G.name===XD.ENROLLMENT_OTP){let B=l9.safeParse(G.payload);if(!B.success){R.warn(`[gateway-client ${$}] enrollment.otp payload invalid: ${B.error.message}`);return}try{this.deps.onEnrollmentOtp?.(B.data)}catch(H){R.error(`[gateway-client ${$}] onEnrollmentOtp threw: ${String(H)}`)}return}if(G.type==="event"&&G.name===XD.ENROLLMENT_APPROVED){let B=i9.safeParse(G.payload);if(!B.success){R.warn(`[gateway-client ${$}] enrollment.approved payload invalid: ${B.error.message}`);return}this.enrolledViaOtp=!0;try{this.deps.onEnrollmentApproved?.(B.data)}catch(H){R.error(`[gateway-client ${$}] onEnrollmentApproved threw: ${String(H)}`)}return}try{this.deps.onFrame(G)}catch(B){R.error(`[gateway-client ${$}] onFrame threw: ${String(B)}`)}},F.onerror=(X)=>{R.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){R.info(`[gateway-client ${this.deps.options.workerId}] reconnect disabled, giving up`);return}let D=Math.min(this.reconnectDelay,this.deps.options.maxReconnectDelayMs);R.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 NT=1;var wQ=M(()=>{$0();$D()});function TQ(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 HD=b((ST)=>{var kX=Symbol.for("yaml.alias"),SQ=Symbol.for("yaml.document"),E4=Symbol.for("yaml.map"),bQ=Symbol.for("yaml.pair"),vX=Symbol.for("yaml.scalar"),C4=Symbol.for("yaml.seq"),c2=Symbol.for("yaml.node.type"),PT=(D)=>!!D&&typeof D==="object"&&D[c2]===kX,LT=(D)=>!!D&&typeof D==="object"&&D[c2]===SQ,jT=(D)=>!!D&&typeof D==="object"&&D[c2]===E4,zT=(D)=>!!D&&typeof D==="object"&&D[c2]===bQ,fQ=(D)=>!!D&&typeof D==="object"&&D[c2]===vX,IT=(D)=>!!D&&typeof D==="object"&&D[c2]===C4;function kQ(D){if(D&&typeof D==="object")switch(D[c2]){case E4:case C4:return!0}return!1}function wT(D){if(D&&typeof D==="object")switch(D[c2]){case kX:case E4:case vX:case C4:return!0}return!1}var TT=(D)=>(fQ(D)||kQ(D))&&!!D.anchor;ST.ALIAS=kX;ST.DOC=SQ;ST.MAP=E4;ST.NODE_TYPE=c2;ST.PAIR=bQ;ST.SCALAR=vX;ST.SEQ=C4;ST.hasAnchor=TT;ST.isAlias=PT;ST.isCollection=kQ;ST.isDocument=LT;ST.isMap=jT;ST.isNode=wT;ST.isPair=zT;ST.isScalar=fQ;ST.isSeq=IT});var g3=b((sT)=>{var pD=HD(),O0=Symbol("break visit"),vQ=Symbol("skip children"),z2=Symbol("remove node");function R4(D,$){let F=hQ($);if(pD.isDocument(D)){if(U6(null,D.contents,F,Object.freeze([D]))===z2)D.contents=null}else U6(null,D,F,Object.freeze([]))}R4.BREAK=O0;R4.SKIP=vQ;R4.REMOVE=z2;function U6(D,$,F,X){let J=gQ(D,$,F,X);if(pD.isNode(J)||pD.isPair(J))return xQ(D,X,J),U6(D,J,F,X);if(typeof J!=="symbol"){if(pD.isCollection($)){X=Object.freeze(X.concat($));for(let Y=0;Y<$.items.length;++Y){let G=U6(Y,$.items[Y],F,X);if(typeof G==="number")Y=G-1;else if(G===O0)return O0;else if(G===z2)$.items.splice(Y,1),Y-=1}}else if(pD.isPair($)){X=Object.freeze(X.concat($));let Y=U6("key",$.key,F,X);if(Y===O0)return O0;else if(Y===z2)$.key=null;let G=U6("value",$.value,F,X);if(G===O0)return O0;else if(G===z2)$.value=null}}return J}async function O4(D,$){let F=hQ($);if(pD.isDocument(D)){if(await V6(null,D.contents,F,Object.freeze([D]))===z2)D.contents=null}else await V6(null,D,F,Object.freeze([]))}O4.BREAK=O0;O4.SKIP=vQ;O4.REMOVE=z2;async function V6(D,$,F,X){let J=await gQ(D,$,F,X);if(pD.isNode(J)||pD.isPair(J))return xQ(D,X,J),V6(D,J,F,X);if(typeof J!=="symbol"){if(pD.isCollection($)){X=Object.freeze(X.concat($));for(let Y=0;Y<$.items.length;++Y){let G=await V6(Y,$.items[Y],F,X);if(typeof G==="number")Y=G-1;else if(G===O0)return O0;else if(G===z2)$.items.splice(Y,1),Y-=1}}else if(pD.isPair($)){X=Object.freeze(X.concat($));let Y=await V6("key",$.key,F,X);if(Y===O0)return O0;else if(Y===z2)$.key=null;let G=await V6("value",$.value,F,X);if(G===O0)return O0;else if(G===z2)$.value=null}}return J}function hQ(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 gQ(D,$,F,X){if(typeof F==="function")return F(D,$,X);if(pD.isMap($))return F.Map?.(D,$,X);if(pD.isSeq($))return F.Seq?.(D,$,X);if(pD.isPair($))return F.Pair?.(D,$,X);if(pD.isScalar($))return F.Scalar?.(D,$,X);if(pD.isAlias($))return F.Alias?.(D,$,X);return}function xQ(D,$,F){let X=$[$.length-1];if(pD.isCollection(X))X.items[D]=F;else if(pD.isPair(X))if(D==="key")X.key=F;else X.value=F;else if(pD.isDocument(X))X.contents=F;else{let J=pD.isAlias(X)?"alias":"scalar";throw Error(`Cannot replace node with ${J} parent`)}}sT.visit=R4;sT.visitAsync=O4});var hX=b((DS)=>{var yQ=HD(),aT=g3(),tT={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},eT=(D)=>D.replace(/[!,[\]{}]/g,($)=>tT[$]);class u0{constructor(D,$){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},u0.defaultYaml,D),this.tags=Object.assign({},u0.defaultTags,$)}clone(){let D=new u0(this.yaml,this.tags);return D.docStart=this.docStart,D}atDocument(){let D=new u0(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:u0.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},u0.defaultTags);break}return D}add(D,$){if(this.atNextDocument)this.yaml={explicit:u0.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},u0.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 $+eT(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&&yQ.isNode(D.contents)){let J={};aT.visit(D.contents,(Y,G)=>{if(yQ.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
|
+
`)}}u0.defaultYaml={explicit:!1,version:"1.2"};u0.defaultTags={"!!":"tag:yaml.org,2002:"};DS.Directives=u0});var M4=b((GS)=>{var uQ=HD(),FS=g3();function XS(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 mQ(D){let $=new Set;return FS.visit(D,{Value(F,X){if(X.anchor)$.add(X.anchor)}}),$}function pQ(D,$){for(let F=1;;++F){let X=`${D}${F}`;if(!$.has(X))return X}}function JS(D,$){let F=[],X=new Map,J=null;return{onAnchor:(Y)=>{F.push(Y),J??(J=mQ(D));let G=pQ($,J);return J.add(G),G},setAnchors:()=>{for(let Y of F){let G=X.get(Y);if(typeof G==="object"&&G.anchor&&(uQ.isScalar(G.node)||uQ.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}}GS.anchorIsValid=XS;GS.anchorNames=mQ;GS.createNodeAnchors=JS;GS.findNewAnchor=pQ});var gX=b((_S)=>{function x3(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=x3(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=x3(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=x3(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=x3(D,X,J,Y);if(G===void 0)delete X[J];else if(G!==Y)X[J]=G}return D.call($,F,X)}_S.applyReviver=x3});var E8=b((AS)=>{var VS=HD();function cQ(D,$,F){if(Array.isArray(D))return D.map((X,J)=>cQ(X,String(J),F));if(D&&typeof D.toJSON==="function"){if(!F||!VS.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}AS.toJS=cQ});var Z4=b((CS)=>{var KS=gX(),dQ=HD(),ES=E8();class lQ{constructor(D){Object.defineProperty(this,dQ.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(!dQ.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=ES.toJS(this,"",Y);if(typeof X==="function")for(let{count:B,res:H}of Y.anchors.values())X(H,B);return typeof J==="function"?KS.applyReviver(J,{"":G},"",G):G}}CS.NodeBase=lQ});var y3=b((NS)=>{var OS=M4(),MS=g3(),A6=HD(),ZS=Z4(),qS=E8();class iQ extends ZS.NodeBase{constructor(D){super(A6.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=[],MS.visit(D,{Node:(J,Y)=>{if(A6.isAlias(Y)||A6.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)qS.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=q4(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(OS.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 q4(D,$,F){if(A6.isAlias($)){let X=$.resolve(D),J=F&&X&&F.get(X);return J?J.count*J.aliasCount:0}else if(A6.isCollection($)){let X=0;for(let J of $.items){let Y=q4(D,J,F);if(Y>X)X=Y}return X}else if(A6.isPair($)){let X=q4(D,$.key,F),J=q4(D,$.value,F);return Math.max(X,J)}return 1}NS.Alias=iQ});var yD=b((wS)=>{var LS=HD(),jS=Z4(),zS=E8(),IS=(D)=>!D||typeof D!=="function"&&typeof D!=="object";class J1 extends jS.NodeBase{constructor(D){super(LS.SCALAR);this.value=D}toJSON(D,$){return $?.keep?this.value:zS.toJS(this.value,D,$)}toString(){return String(this.value)}}J1.BLOCK_FOLDED="BLOCK_FOLDED";J1.BLOCK_LITERAL="BLOCK_LITERAL";J1.PLAIN="PLAIN";J1.QUOTE_DOUBLE="QUOTE_DOUBLE";J1.QUOTE_SINGLE="QUOTE_SINGLE";wS.Scalar=J1;wS.isScalarValue=IS});var u3=b((hS)=>{var bS=y3(),G1=HD(),nQ=yD(),fS="tag:yaml.org,2002:";function kS(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 vS(D,$,F){if(G1.isDocument(D))D=D.contents;if(G1.isNode(D))return D;if(G1.isPair(D)){let V=F.schema[G1.MAP].createNode?.(F.schema,null,F);return V.items.push(D),V}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 bS.Alias(H.anchor);else H={anchor:null,node:null},B.set(D,H);if($?.startsWith("!!"))$=fS+$.slice(2);let W=kS(D,$,G.tags);if(!W){if(D&&typeof D.toJSON==="function")D=D.toJSON();if(!D||typeof D!=="object"){let V=new nQ.Scalar(D);if(H)H.node=V;return V}W=D instanceof Map?G[G1.MAP]:(Symbol.iterator in Object(D))?G[G1.SEQ]:G[G1.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 nQ.Scalar(D);if($)U.tag=$;else if(!W.default)U.tag=W.tag;if(H)H.node=U;return U}hS.createNode=vS});var N4=b((uS)=>{var xS=u3(),I2=HD(),yS=Z4();function xX(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 xS.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 sQ=(D)=>D==null||typeof D==="object"&&!!D[Symbol.iterator]().next().done;class rQ extends yS.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)=>I2.isNode(F)||I2.isPair(F)?F.clone(D):F),this.range)$.range=this.range.slice();return $}addIn(D,$){if(sQ(D))this.add($);else{let[F,...X]=D,J=this.get(F,!0);if(I2.isCollection(J))J.addIn(X,$);else if(J===void 0&&this.schema)this.set(F,xX(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(I2.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!$&&I2.isScalar(J)?J.value:J;else return I2.isCollection(J)?J.getIn(X,$):void 0}hasAllNullValues(D){return this.items.every(($)=>{if(!I2.isPair($))return!1;let F=$.value;return F==null||D&&I2.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 I2.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(I2.isCollection(J))J.setIn(X,$);else if(J===void 0&&this.schema)this.set(F,xX(this.schema,X,$));else throw Error(`Expected YAML collection at ${F}. Remaining path: ${X}`)}}}uS.Collection=rQ;uS.collectionFromPath=xX;uS.isEmptyPath=sQ});var m3=b((iS)=>{var dS=(D)=>D.replace(/^(?!$)(?: $)?/gm,"#");function yX(D,$){if(/^\n+$/.test(D))return D.substring(1);return $?D.replace(/^(?! *$)/gm,$):D}var lS=(D,$,F)=>D.endsWith(`
|
|
98
|
+
`)?yX(F,$):F.includes(`
|
|
99
99
|
`)?`
|
|
100
|
-
`+
|
|
101
|
-
`){if(F==="block")
|
|
102
|
-
`&&
|
|
103
|
-
`&&
|
|
104
|
-
${$}${D.slice(0,
|
|
105
|
-
${$}${D.slice(
|
|
106
|
-
`);X=$,J=$+1,Y=D[J]}return X}
|
|
107
|
-
`){if(Y-G>X)return!0;if(G=Y+1,J-G<=X)return!1}return!0}function
|
|
100
|
+
`+yX(F,$):(D.endsWith(" ")?"":" ")+F;iS.indentComment=yX;iS.lineComment=lS;iS.stringifyComment=dS});var aQ=b((aS)=>{function oS(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={},V=J-$.length;if(typeof X==="number")if(X>J-Math.max(2,Y))W.push(0);else V=J-X;let A=void 0,Q=void 0,C=!1,E=-1,K=-1,Z=-1;if(F==="block"){if(E=oQ(D,E,$.length),E!==-1)V=E+H}for(let P;P=D[E+=1];){if(F==="quoted"&&P==="\\"){switch(K=E,D[E+1]){case"x":E+=3;break;case"u":E+=5;break;case"U":E+=9;break;default:E+=1}Z=E}if(P===`
|
|
101
|
+
`){if(F==="block")E=oQ(D,E,$.length);V=E+$.length+H,A=void 0}else{if(P===" "&&Q&&Q!==" "&&Q!==`
|
|
102
|
+
`&&Q!=="\t"){let z=D[E+1];if(z&&z!==" "&&z!==`
|
|
103
|
+
`&&z!=="\t")A=E}if(E>=V)if(A)W.push(A),V=A+H,A=void 0;else if(F==="quoted"){while(Q===" "||Q==="\t")Q=P,P=D[E+=1],C=!0;let z=E>Z+1?E-2:K-1;if(U[z])return D;W.push(z),U[z]=!0,V=z+H,A=void 0}else C=!0}Q=P}if(C&&B)B();if(W.length===0)return D;if(G)G();let q=D.slice(0,W[0]);for(let P=0;P<W.length;++P){let z=W[P],S=W[P+1]||D.length;if(z===0)q=`
|
|
104
|
+
${$}${D.slice(0,S)}`;else{if(F==="quoted"&&U[z])q+=`${D[z]}\\`;q+=`
|
|
105
|
+
${$}${D.slice(z+1,S)}`}}return q}function oQ(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}aS.FOLD_BLOCK="block";aS.FOLD_FLOW="flow";aS.FOLD_QUOTED="quoted";aS.foldFlowLines=oS});var c3=b((Gb)=>{var H2=yD(),C8=aQ(),L4=(D,$)=>({indentAtStart:$?D.indent.length:D.indentAtStart,lineWidth:D.options.lineWidth,minContentWidth:D.options.minContentWidth}),j4=(D)=>/^(%|---|\.\.\.)/m.test(D);function Fb(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 p3(D,$){let F=JSON.stringify(D);if($.options.doubleQuotedAsJSON)return F;let{implicitKey:X}=$,J=$.options.doubleQuotedMinMultiLineLength,Y=$.indent||(j4(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
108
|
|
|
109
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:
|
|
111
|
-
`)||/[ \t]\n|\n[ \t]/.test(D))return
|
|
112
|
-
${F}`)+"'";return $.implicitKey?X:
|
|
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:C8.foldFlowLines(G,Y,C8.FOLD_QUOTED,L4($,!1))}function uX(D,$){if($.options.singleQuote===!1||$.implicitKey&&D.includes(`
|
|
111
|
+
`)||/[ \t]\n|\n[ \t]/.test(D))return p3(D,$);let F=$.indent||(j4(D)?" ":""),X="'"+D.replace(/'/g,"''").replace(/\n+/g,`$&
|
|
112
|
+
${F}`)+"'";return $.implicitKey?X:C8.foldFlowLines(X,F,C8.FOLD_FLOW,L4($,!1))}function Q6(D,$){let{singleQuote:F}=$.options,X;if(F===!1)X=p3;else{let J=D.includes('"'),Y=D.includes("'");if(J&&!Y)X=uX;else if(Y&&!J)X=p3;else X=F?uX:p3}return X(D,$)}var mX;try{mX=new RegExp(`(^|(?<!
|
|
113
113
|
))
|
|
114
114
|
+(?!
|
|
115
|
-
|$)`,"g")}catch{
|
|
115
|
+
|$)`,"g")}catch{mX=/\n+(?!\n|$)/g}function P4({comment:D,type:$,value:F},X,J,Y){let{blockQuote:G,commentString:B,lineWidth:H}=X.options;if(!G||/\n[\t ]+$/.test(F))return Q6(F,X);let W=X.indent||(X.forceBlockIndent||j4(F)?" ":""),U=G==="literal"?!0:G==="folded"||$===H2.Scalar.BLOCK_FOLDED?!1:$===H2.Scalar.BLOCK_LITERAL?!0:!Fb(F,H,W.length);if(!F)return U?`|
|
|
116
116
|
`:`>
|
|
117
|
-
`;let A
|
|
118
|
-
`&&
|
|
119
|
-
`);if(C===-1)
|
|
120
|
-
`)
|
|
121
|
-
`)
|
|
122
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${W}`),L=!1,
|
|
123
|
-
${W}${
|
|
124
|
-
${W}${
|
|
125
|
-
`)||U&&/[[\]{},]/.test(Y))return
|
|
126
|
-
`)?
|
|
127
|
-
`))return
|
|
128
|
-
${H}`);if(G){let
|
|
129
|
-
${$.indent}${B}`}
|
|
130
|
-
${B}:`}else if(
|
|
131
|
-
`:"",
|
|
132
|
-
${
|
|
133
|
-
`&&
|
|
117
|
+
`;let V,A;for(A=F.length;A>0;--A){let S=F[A-1];if(S!==`
|
|
118
|
+
`&&S!=="\t"&&S!==" ")break}let Q=F.substring(A),C=Q.indexOf(`
|
|
119
|
+
`);if(C===-1)V="-";else if(F===Q||C!==Q.length-1){if(V="+",Y)Y()}else V="";if(Q){if(F=F.slice(0,-Q.length),Q[Q.length-1]===`
|
|
120
|
+
`)Q=Q.slice(0,-1);Q=Q.replace(mX,`$&${W}`)}let E=!1,K,Z=-1;for(K=0;K<F.length;++K){let S=F[K];if(S===" ")E=!0;else if(S===`
|
|
121
|
+
`)Z=K;else break}let q=F.substring(0,Z<K?Z+1:K);if(q)F=F.substring(q.length),q=q.replace(/\n+/g,`$&${W}`);let z=(E?W?"2":"1":"")+V;if(D){if(z+=" "+B(D.replace(/ ?[\r\n]+/g," ")),J)J()}if(!U){let S=F.replace(/\n+/g,`
|
|
122
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${W}`),L=!1,h=L4(X,!0);if(G!=="folded"&&$!==H2.Scalar.BLOCK_FOLDED)h.onOverflow=()=>{L=!0};let I=C8.foldFlowLines(`${q}${S}${Q}`,W,C8.FOLD_BLOCK,h);if(!L)return`>${z}
|
|
123
|
+
${W}${I}`}return F=F.replace(/\n+/g,`$&${W}`),`|${z}
|
|
124
|
+
${W}${q}${F}${Q}`}function Xb(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 Q6(Y,$);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(Y))return B||U||!Y.includes(`
|
|
126
|
+
`)?Q6(Y,$):P4(D,$,F,X);if(!B&&!U&&J!==H2.Scalar.PLAIN&&Y.includes(`
|
|
127
|
+
`))return P4(D,$,F,X);if(j4(Y)){if(H==="")return $.forceBlockIndent=!0,P4(D,$,F,X);else if(B&&H===W)return Q6(Y,$)}let V=Y.replace(/\n+/g,`$&
|
|
128
|
+
${H}`);if(G){let A=(E)=>E.default&&E.tag!=="tag:yaml.org,2002:str"&&E.test?.test(V),{compat:Q,tags:C}=$.doc.schema;if(C.some(A)||Q?.some(A))return Q6(Y,$)}return B?V:C8.foldFlowLines(V,H,C8.FOLD_FLOW,L4($,!1))}function Jb(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!==H2.Scalar.QUOTE_DOUBLE){if(/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(G.value))B=H2.Scalar.QUOTE_DOUBLE}let H=(U)=>{switch(U){case H2.Scalar.BLOCK_FOLDED:case H2.Scalar.BLOCK_LITERAL:return J||Y?Q6(G.value,$):P4(G,$,F,X);case H2.Scalar.QUOTE_DOUBLE:return p3(G.value,$);case H2.Scalar.QUOTE_SINGLE:return uX(G.value,$);case H2.Scalar.PLAIN:return Xb(G,$,F,X);default:return null}},W=H(B);if(W===null){let{defaultKeyType:U,defaultStringType:V}=$.options,A=J&&U||V;if(W=H(A),W===null)throw Error(`Unsupported default string type ${A}`)}return W}Gb.stringifyString=Jb});var d3=b((Qb)=>{var Bb=M4(),R8=HD(),Hb=m3(),Wb=c3();function _b(D,$){let F=Object.assign({blockQuote:!0,commentString:Hb.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 Ub(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(R8.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 Vb(D,$,{anchors:F,doc:X}){if(!X.directives)return"";let J=[],Y=(R8.isScalar(D)||R8.isCollection(D))&&D.anchor;if(Y&&Bb.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 Ab(D,$,F,X){if(R8.isPair(D))return D.toString($,F,X);if(R8.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=R8.isNode(D)?D:$.doc.createNode(D,{onTagObj:(H)=>J=H});J??(J=Ub($.doc.schema.tags,Y));let G=Vb(Y,J,$);if(G.length>0)$.indentAtStart=($.indentAtStart??0)+G.length+1;let B=typeof J.stringify==="function"?J.stringify(Y,$,F,X):R8.isScalar(Y)?Wb.stringifyString(Y,$,F,X):Y.toString($,F,X);if(!G)return B;return R8.isScalar(Y)||B[0]==="{"||B[0]==="["?`${G} ${B}`:`${G}
|
|
129
|
+
${$.indent}${B}`}Qb.createStringifyContext=_b;Qb.stringify=Ab});var DK=b((Rb)=>{var d2=HD(),tQ=yD(),eQ=d3(),l3=m3();function Cb({key:D,value:$},F,X,J){let{allNullValues:Y,doc:G,indent:B,indentStep:H,options:{commentString:W,indentSeq:U,simpleKeys:V}}=F,A=d2.isNode(D)&&D.comment||null;if(V){if(A)throw Error("With simple keys, key nodes cannot have comments");if(d2.isCollection(D)||!d2.isNode(D)&&typeof D==="object")throw Error("With simple keys, collection cannot be used as a key value")}let Q=!V&&(!D||A&&$==null&&!F.inFlow||d2.isCollection(D)||(d2.isScalar(D)?D.type===tQ.Scalar.BLOCK_FOLDED||D.type===tQ.Scalar.BLOCK_LITERAL:typeof D==="object"));F=Object.assign({},F,{allNullValues:!1,implicitKey:!Q&&(V||!Y),indent:B+H});let C=!1,E=!1,K=eQ.stringify(D,F,()=>C=!0,()=>E=!0);if(!Q&&!F.inFlow&&K.length>1024){if(V)throw Error("With simple keys, single line scalar must not span more than 1024 characters");Q=!0}if(F.inFlow){if(Y||$==null){if(C&&X)X();return K===""?"?":Q?`? ${K}`:K}}else if(Y&&!V||$==null&&Q){if(K=`? ${K}`,A&&!C)K+=l3.lineComment(K,F.indent,W(A));else if(E&&J)J();return K}if(C)A=null;if(Q){if(A)K+=l3.lineComment(K,F.indent,W(A));K=`? ${K}
|
|
130
|
+
${B}:`}else if(K=`${K}:`,A)K+=l3.lineComment(K,F.indent,W(A));let Z,q,P;if(d2.isNode($))Z=!!$.spaceBefore,q=$.commentBefore,P=$.comment;else if(Z=!1,q=null,P=null,$&&typeof $==="object")$=G.createNode($);if(F.implicitKey=!1,!Q&&!A&&d2.isScalar($))F.indentAtStart=K.length+1;if(E=!1,!U&&H.length>=2&&!F.inFlow&&!Q&&d2.isSeq($)&&!$.flow&&!$.tag&&!$.anchor)F.indent=F.indent.substring(2);let z=!1,S=eQ.stringify($,F,()=>z=!0,()=>E=!0),L=" ";if(A||Z||q){if(L=Z?`
|
|
131
|
+
`:"",q){let h=W(q);L+=`
|
|
132
|
+
${l3.indentComment(h,F.indent)}`}if(S===""&&!F.inFlow){if(L===`
|
|
133
|
+
`&&P)L=`
|
|
134
134
|
|
|
135
135
|
`}else L+=`
|
|
136
|
-
${F.indent}`}else if(!
|
|
137
|
-
`),r=
|
|
138
|
-
${F.indent}`}}else if(
|
|
139
|
-
`)L="";if(
|
|
140
|
-
${H}${
|
|
141
|
-
`}}if(D){if(
|
|
142
|
-
`+
|
|
143
|
-
`)),C<D.length-1)
|
|
144
|
-
${Y}${J}${
|
|
136
|
+
${F.indent}`}else if(!Q&&d2.isCollection($)){let h=S[0],I=S.indexOf(`
|
|
137
|
+
`),r=I!==-1,WD=F.inFlow??$.flow??$.items.length===0;if(r||!WD){let YD=!1;if(r&&(h==="&"||h==="!")){let o=S.indexOf(" ");if(h==="&"&&o!==-1&&o<I&&S[o+1]==="!")o=S.indexOf(" ",o+1);if(o===-1||I<o)YD=!0}if(!YD)L=`
|
|
138
|
+
${F.indent}`}}else if(S===""||S[0]===`
|
|
139
|
+
`)L="";if(K+=L+S,F.inFlow){if(z&&X)X()}else if(P&&!z)K+=l3.lineComment(K,F.indent,W(P));else if(E&&J)J();return K}Rb.stringifyPair=Cb});var pX=b((qb)=>{var $K=i2("process");function Mb(D,...$){if(D==="debug")console.log(...$)}function Zb(D,$){if(D==="debug"||D==="warn")if(typeof $K.emitWarning==="function")$K.emitWarning($);else console.warn($)}qb.debug=Mb;qb.warn=Zb});var w4=b((jb)=>{var i3=HD(),FK=yD(),z4="<<",I4={identify:(D)=>D===z4||typeof D==="symbol"&&D.description===z4,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new FK.Scalar(Symbol(z4)),{addToJSMap:XK}),stringify:()=>z4},Lb=(D,$)=>(I4.identify($)||i3.isScalar($)&&(!$.type||$.type===FK.Scalar.PLAIN)&&I4.identify($.value))&&D?.doc.schema.tags.some((F)=>F.tag===I4.tag&&F.default);function XK(D,$,F){if(F=D&&i3.isAlias(F)?F.resolve(D.doc):F,i3.isSeq(F))for(let X of F.items)cX(D,$,X);else if(Array.isArray(F))for(let X of F)cX(D,$,X);else cX(D,$,F)}function cX(D,$,F){let X=D&&i3.isAlias(F)?F.resolve(D.doc):F;if(!i3.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 $}jb.addMergeToJSMap=XK;jb.isMergeKey=Lb;jb.merge=I4});var lX=b((kb)=>{var Tb=pX(),JK=w4(),Sb=d3(),GK=HD(),dX=E8();function bb(D,$,{key:F,value:X}){if(GK.isNode(F)&&F.addToJSMap)F.addToJSMap(D,$,X);else if(JK.isMergeKey(D,F))JK.addMergeToJSMap(D,$,X);else{let J=dX.toJS(F,"",D);if($ instanceof Map)$.set(J,dX.toJS(X,J,D));else if($ instanceof Set)$.add(J);else{let Y=fb(F,J,D),G=dX.toJS(X,Y,D);if(Y in $)Object.defineProperty($,Y,{value:G,writable:!0,enumerable:!0,configurable:!0});else $[Y]=G}}return $}function fb(D,$,F){if($===null)return"";if(typeof $!=="object")return String($);if(GK.isNode(D)&&F?.doc){let X=Sb.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)+'..."';Tb.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($)}kb.addPairToJSMap=bb});var O8=b((yb)=>{var YK=u3(),hb=DK(),gb=lX(),T4=HD();function xb(D,$,F){let X=YK.createNode(D,void 0,F),J=YK.createNode($,void 0,F);return new S4(X,J)}class S4{constructor(D,$=null){Object.defineProperty(this,T4.NODE_TYPE,{value:T4.PAIR}),this.key=D,this.value=$}clone(D){let{key:$,value:F}=this;if(T4.isNode($))$=$.clone(D);if(T4.isNode(F))F=F.clone(D);return new S4($,F)}toJSON(D,$){let F=$?.mapAsMap?new Map:{};return gb.addPairToJSMap($,F,this)}toString(D,$,F){return D?.doc?hb.stringifyPair(this,D,$,F):JSON.stringify(this)}}yb.Pair=S4;yb.createPair=xb});var iX=b((lb)=>{var Y1=HD(),BK=d3(),b4=m3();function pb(D,$,F){return($.inFlow??D.flow?db:cb)(D,$,F)}function cb({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}),V=!1,A=[];for(let C=0;C<$.length;++C){let E=$[C],K=null;if(Y1.isNode(E)){if(!V&&E.spaceBefore)A.push("");if(f4(F,A,E.commentBefore,V),E.comment)K=E.comment}else if(Y1.isPair(E)){let q=Y1.isNode(E.key)?E.key:null;if(q){if(!V&&q.spaceBefore)A.push("");f4(F,A,q.commentBefore,V)}}V=!1;let Z=BK.stringify(E,U,()=>K=null,()=>V=!0);if(K)Z+=b4.lineComment(Z,Y,W(K));if(V&&K)V=!1;A.push(X+Z)}let Q;if(A.length===0)Q=J.start+J.end;else{Q=A[0];for(let C=1;C<A.length;++C){let E=A[C];Q+=E?`
|
|
140
|
+
${H}${E}`:`
|
|
141
|
+
`}}if(D){if(Q+=`
|
|
142
|
+
`+b4.indentComment(W(D),H),B)B()}else if(V&&G)G();return Q}function db({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,V=[];for(let C=0;C<D.length;++C){let E=D[C],K=null;if(Y1.isNode(E)){if(E.spaceBefore)V.push("");if(f4($,V,E.commentBefore,!1),E.comment)K=E.comment}else if(Y1.isPair(E)){let q=Y1.isNode(E.key)?E.key:null;if(q){if(q.spaceBefore)V.push("");if(f4($,V,q.commentBefore,!1),q.comment)W=!0}let P=Y1.isNode(E.value)?E.value:null;if(P){if(P.comment)K=P.comment;if(P.commentBefore)W=!0}else if(E.value==null&&q?.comment)K=q.comment}if(K)W=!0;let Z=BK.stringify(E,H,()=>K=null);if(W||(W=V.length>U||Z.includes(`
|
|
143
|
+
`)),C<D.length-1)Z+=",";else if($.options.trailingComma){if($.options.lineWidth>0)W||(W=V.reduce((q,P)=>q+P.length+2,2)+(Z.length+2)>$.options.lineWidth);if(W)Z+=","}if(K)Z+=b4.lineComment(Z,X,B(K));V.push(Z),U=V.length}let{start:A,end:Q}=F;if(V.length===0)return A+Q;else{if(!W){let C=V.reduce((E,K)=>E+K.length+2,2);W=$.options.lineWidth>0&&C>$.options.lineWidth}if(W){let C=A;for(let E of V)C+=E?`
|
|
144
|
+
${Y}${J}${E}`:`
|
|
145
145
|
`;return`${C}
|
|
146
|
-
${J}${
|
|
147
|
-
`:" ")}return
|
|
146
|
+
${J}${Q}`}else return`${A}${G}${V.join(" ")}${G}${Q}`}}function f4({indent:D,options:{commentString:$}},F,X,J){if(X&&J)X=X.replace(/^\n+/,"");if(X){let Y=b4.indentComment($(X),D);F.push(Y.trimStart())}}lb.stringifyCollection=pb});var Z8=b((ab)=>{var nb=iX(),sb=lX(),rb=N4(),M8=HD(),k4=O8(),ob=yD();function n3(D,$){let F=M8.isScalar($)?$.value:$;for(let X of D)if(M8.isPair(X)){if(X.key===$||X.key===F)return X;if(M8.isScalar(X.key)&&X.key.value===F)return X}return}class HK extends rb.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(D){super(M8.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(k4.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(M8.isPair(D))F=D;else if(!D||typeof D!=="object"||!("key"in D))F=new k4.Pair(D,D?.value);else F=new k4.Pair(D.key,D.value);let X=n3(this.items,F.key),J=this.schema?.sortMapEntries;if(X){if(!$)throw Error(`Key ${F.key} already set`);if(M8.isScalar(X.value)&&ob.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 $=n3(this.items,D);if(!$)return!1;return this.items.splice(this.items.indexOf($),1).length>0}get(D,$){let X=n3(this.items,D)?.value;return(!$&&M8.isScalar(X)?X.value:X)??void 0}has(D){return!!n3(this.items,D)}set(D,$){this.add(new k4.Pair(D,$),!0)}toJSON(D,$,F){let X=F?new F:$?.mapAsMap?new Map:{};if($?.onCreate)$.onCreate(X);for(let J of this.items)sb.addPairToJSMap($,X,J);return X}toString(D,$,F){if(!D)return JSON.stringify(this);for(let X of this.items)if(!M8.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 nb.stringifyCollection(this,D,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:D.indent||"",onChompKeep:F,onComment:$})}}ab.YAMLMap=HK;ab.findPair=n3});var K6=b((Ff)=>{var Df=HD(),WK=Z8(),$f={collection:"map",default:!0,nodeClass:WK.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(D,$){if(!Df.isMap(D))$("Expected a mapping for this tag");return D},createNode:(D,$,F)=>WK.YAMLMap.from(D,$,F)};Ff.map=$f});var q8=b((Wf)=>{var Jf=u3(),Gf=iX(),Yf=N4(),h4=HD(),Bf=yD(),Hf=E8();class _K extends Yf.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(D){super(h4.SEQ,D);this.items=[]}add(D){this.items.push(D)}delete(D){let $=v4(D);if(typeof $!=="number")return!1;return this.items.splice($,1).length>0}get(D,$){let F=v4(D);if(typeof F!=="number")return;let X=this.items[F];return!$&&h4.isScalar(X)?X.value:X}has(D){let $=v4(D);return typeof $==="number"&&$<this.items.length}set(D,$){let F=v4(D);if(typeof F!=="number")throw Error(`Expected a valid index, not ${D}.`);let X=this.items[F];if(h4.isScalar(X)&&Bf.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(Hf.toJS(J,String(X++),$));return F}toString(D,$,F){if(!D)return JSON.stringify(this);return Gf.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(Jf.createNode(G,void 0,F))}}return J}}function v4(D){let $=h4.isScalar(D)?D.value:D;if($&&typeof $==="string")$=Number($);return typeof $==="number"&&Number.isInteger($)&&$>=0?$:null}Wf.YAMLSeq=_K});var E6=b((Af)=>{var Uf=HD(),UK=q8(),Vf={collection:"seq",default:!0,nodeClass:UK.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(D,$){if(!Uf.isSeq(D))$("Expected a sequence for this tag");return D},createNode:(D,$,F)=>UK.YAMLSeq.from(D,$,F)};Af.seq=Vf});var s3=b((Cf)=>{var Kf=c3(),Ef={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},$),Kf.stringifyString(D,$,F,X)}};Cf.string=Ef});var g4=b((Of)=>{var VK=yD(),AK={identify:(D)=>D==null,createNode:()=>new VK.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new VK.Scalar(null),stringify:({source:D},$)=>typeof D==="string"&&AK.test.test(D)?D:$.options.nullStr};Of.nullTag=AK});var nX=b((qf)=>{var Zf=yD(),QK={identify:(D)=>typeof D==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:(D)=>new Zf.Scalar(D[0]==="t"||D[0]==="T"),stringify({source:D,value:$},F){if(D&&QK.test.test(D)){let X=D[0]==="t"||D[0]==="T";if($===X)return D}return $?F.options.trueStr:F.options.falseStr}};qf.boolTag=QK});var C6=b((Lf)=>{function Pf({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}Lf.stringifyNumber=Pf});var rX=b((Sf)=>{var zf=yD(),sX=C6(),If={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:sX.stringifyNumber},wf={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():sX.stringifyNumber(D)}},Tf={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(D){let $=new zf.Scalar(parseFloat(D)),F=D.indexOf(".");if(F!==-1&&D[D.length-1]==="0")$.minFractionDigits=D.length-F-1;return $},stringify:sX.stringifyNumber};Sf.float=Tf;Sf.floatExp=wf;Sf.floatNaN=If});var aX=b((xf)=>{var KK=C6(),x4=(D)=>typeof D==="bigint"||Number.isInteger(D),oX=(D,$,F,{intAsBigInt:X})=>X?BigInt(D):parseInt(D.substring($),F);function EK(D,$,F){let{value:X}=D;if(x4(X)&&X>=0)return F+X.toString($);return KK.stringifyNumber(D)}var vf={identify:(D)=>x4(D)&&D>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(D,$,F)=>oX(D,2,8,F),stringify:(D)=>EK(D,8,"0o")},hf={identify:x4,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(D,$,F)=>oX(D,0,10,F),stringify:KK.stringifyNumber},gf={identify:(D)=>x4(D)&&D>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(D,$,F)=>oX(D,2,16,F),stringify:(D)=>EK(D,16,"0x")};xf.int=hf;xf.intHex=gf;xf.intOct=vf});var CK=b((rf)=>{var pf=K6(),cf=g4(),df=E6(),lf=s3(),nf=nX(),tX=rX(),eX=aX(),sf=[pf.map,df.seq,lf.string,cf.nullTag,nf.boolTag,eX.intOct,eX.int,eX.intHex,tX.floatNaN,tX.floatExp,tX.float];rf.schema=sf});var OK=b((Xk)=>{var af=yD(),tf=K6(),ef=E6();function RK(D){return typeof D==="bigint"||Number.isInteger(D)}var y4=({value:D})=>JSON.stringify(D),Dk=[{identify:(D)=>typeof D==="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:(D)=>D,stringify:y4},{identify:(D)=>D==null,createNode:()=>new af.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:y4},{identify:(D)=>typeof D==="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:(D)=>D==="true",stringify:y4},{identify:RK,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})=>RK(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:y4}],$k={default:!0,tag:"",test:/^/,resolve(D,$){return $(`Unresolved plain scalar ${JSON.stringify(D)}`),D}},Fk=[tf.map,ef.seq].concat(Dk,$k);Xk.schema=Fk});var $J=b((Bk)=>{var r3=i2("buffer"),DJ=yD(),Gk=c3(),Yk={identify:(D)=>D instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(D,$){if(typeof r3.Buffer==="function")return r3.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 r3.Buffer==="function")B=G instanceof r3.Buffer?G.toString("base64"):r3.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($??($=DJ.Scalar.BLOCK_LITERAL),$!==DJ.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 V=0,A=0;V<W;++V,A+=H)U[V]=B.substr(A,H);B=U.join($===DJ.Scalar.BLOCK_LITERAL?`
|
|
147
|
+
`:" ")}return Gk.stringifyString({comment:D,type:$,value:B},X,J,Y)}};Bk.binary=Yk});var m4=b((Vk)=>{var u4=HD(),FJ=O8(),Wk=yD(),_k=q8();function MK(D,$){if(u4.isSeq(D))for(let F=0;F<D.items.length;++F){let X=D.items[F];if(u4.isPair(X))continue;else if(u4.isMap(X)){if(X.items.length>1)$("Each pair must have its own sequence indicator");let J=X.items[0]||new FJ.Pair(new Wk.Scalar(null));if(X.commentBefore)J.key.commentBefore=J.key.commentBefore?`${X.commentBefore}
|
|
148
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 GQ(D,$,F){let{replacer:X}=F,J=new aS.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 tS={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:JQ,createNode:GQ};eS.createPairs=GQ;eS.pairs=tS;eS.resolvePairs=JQ});var CX=S((Gf)=>{var YQ=BD(),KX=G8(),k3=_8(),Xf=U8(),BQ=Q4();class r8 extends Xf.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(YQ.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=BQ.createPairs(D,$,F),J=new this;return J.items=X.items,J}}r8.tag="tag:yaml.org,2002:omap";var Jf={collection:"seq",identify:(D)=>D instanceof Map,nodeClass:r8,default:!1,tag:"tag:yaml.org,2002:omap",resolve(D,$){let F=BQ.resolvePairs(D,$),X=[];for(let{key:J}of F.items)if(YQ.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)};Gf.YAMLOMap=r8;Gf.omap=Jf});var AQ=S((Hf)=>{var HQ=hD();function WQ({value:D,source:$},F){if($&&(D?_Q:UQ).test.test($))return $;return D?F.options.trueStr:F.options.falseStr}var _Q={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 HQ.Scalar(!0),stringify:WQ},UQ={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 HQ.Scalar(!1),stringify:WQ};Hf.falseTag=UQ;Hf.trueTag=_Q});var VQ=S((Ef)=>{var Uf=hD(),RX=Y6(),Af={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},Vf={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)}},Qf={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(D){let $=new Uf.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};Ef.float=Qf;Ef.floatExp=Vf;Ef.floatNaN=Af});var EQ=S((Pf)=>{var QQ=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 QQ.stringifyNumber(D)}var Of={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")},Mf={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")},qf={identify:v3,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(D,$,F)=>E4(D,0,10,F),stringify:QQ.stringifyNumber},Nf={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")};Pf.int=qf;Pf.intBin=Of;Pf.intHex=Nf;Pf.intOct=Mf});var MX=S((If)=>{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 wf={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}};If.YAMLSet=o8;If.set=wf});var NX=S((vf)=>{var ff=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 KQ(D){let{value:$}=D,F=(G)=>G;if(typeof $==="bigint")F=(G)=>BigInt(G);else if(isNaN($)||!isFinite($))return ff.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 bf={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:KQ},kf={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:KQ},CQ={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(CQ.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$/,"")??""};vf.floatTime=kf;vf.intTime=bf;vf.timestamp=CQ});var OQ=S((of)=>{var yf=J6(),uf=_4(),mf=G6(),pf=f3(),cf=QX(),RQ=AQ(),PX=VQ(),O4=EQ(),df=F4(),lf=CX(),nf=Q4(),sf=MX(),ZX=NX(),rf=[yf.map,mf.seq,pf.string,uf.nullTag,RQ.trueTag,RQ.falseTag,O4.intBin,O4.intOct,O4.int,O4.intHex,PX.floatNaN,PX.floatExp,PX.float,cf.binary,df.merge,lf.omap,nf.pairs,sf.set,ZX.intTime,ZX.floatTime,ZX.timestamp];of.schema=rf});var IQ=S((Gb)=>{var PQ=J6(),tf=_4(),ZQ=G6(),ef=f3(),Db=YX(),LX=HX(),zX=_X(),$b=$Q(),Fb=XQ(),LQ=QX(),g3=F4(),zQ=CX(),jQ=Q4(),MQ=OQ(),wQ=MX(),M4=NX(),qQ=new Map([["core",$b.schema],["failsafe",[PQ.map,ZQ.seq,ef.string]],["json",Fb.schema],["yaml11",MQ.schema],["yaml-1.1",MQ.schema]]),NQ={binary:LQ.binary,bool:Db.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:PQ.map,merge:g3.merge,null:tf.nullTag,omap:zQ.omap,pairs:jQ.pairs,seq:ZQ.seq,set:wQ.set,timestamp:M4.timestamp},Xb={"tag:yaml.org,2002:binary":LQ.binary,"tag:yaml.org,2002:merge":g3.merge,"tag:yaml.org,2002:omap":zQ.omap,"tag:yaml.org,2002:pairs":jQ.pairs,"tag:yaml.org,2002:set":wQ.set,"tag:yaml.org,2002:timestamp":M4.timestamp};function Jb(D,$,F){let X=qQ.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(qQ.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"?NQ[G]:G;if(!B){let H=JSON.stringify(G),W=Object.keys(NQ).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},[])}Gb.coreKnownTags=Xb;Gb.getTags=Jb});var IX=S((Ab)=>{var jX=BD(),Hb=J6(),Wb=G6(),_b=f3(),q4=IQ(),Ub=(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:Hb.map}),Object.defineProperty(this,jX.SCALAR,{value:_b.string}),Object.defineProperty(this,jX.SEQ,{value:Wb.seq}),this.sortMapEntries=typeof Y==="function"?Y:Y===!0?Ub:null}clone(){let D=Object.create(wX.prototype,Object.getOwnPropertyDescriptors(this));return D.tags=this.tags.slice(),D}}Ab.Schema=wX});var TQ=S((Kb)=>{var Qb=BD(),TX=w3(),h3=L3();function Eb(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(Qb.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(
|
|
149
|
+
${Y.comment}`:X.comment}X=J}D.items[F]=u4.isPair(X)?X:new FJ.Pair(X)}else $("Expected a sequence for this tag");return D}function ZK(D,$,F){let{replacer:X}=F,J=new _k.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(FJ.createPair(B,H,F))}return J}var Uk={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:MK,createNode:ZK};Vk.createPairs=ZK;Vk.pairs=Uk;Vk.resolvePairs=MK});var JJ=b((Rk)=>{var qK=HD(),XJ=E8(),o3=Z8(),Ek=q8(),NK=m4();class B1 extends Ek.YAMLSeq{constructor(){super();this.add=o3.YAMLMap.prototype.add.bind(this),this.delete=o3.YAMLMap.prototype.delete.bind(this),this.get=o3.YAMLMap.prototype.get.bind(this),this.has=o3.YAMLMap.prototype.has.bind(this),this.set=o3.YAMLMap.prototype.set.bind(this),this.tag=B1.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(qK.isPair(X))J=XJ.toJS(X.key,"",$),Y=XJ.toJS(X.value,J,$);else J=XJ.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=NK.createPairs(D,$,F),J=new this;return J.items=X.items,J}}B1.tag="tag:yaml.org,2002:omap";var Ck={collection:"seq",identify:(D)=>D instanceof Map,nodeClass:B1,default:!1,tag:"tag:yaml.org,2002:omap",resolve(D,$){let F=NK.resolvePairs(D,$),X=[];for(let{key:J}of F.items)if(qK.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 B1,F)},createNode:(D,$,F)=>B1.from(D,$,F)};Rk.YAMLOMap=B1;Rk.omap=Ck});var IK=b((Zk)=>{var PK=yD();function LK({value:D,source:$},F){if($&&(D?jK:zK).test.test($))return $;return D?F.options.trueStr:F.options.falseStr}var jK={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 PK.Scalar(!0),stringify:LK},zK={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 PK.Scalar(!1),stringify:LK};Zk.falseTag=zK;Zk.trueTag=jK});var wK=b((Ik)=>{var Pk=yD(),GJ=C6(),Lk={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:GJ.stringifyNumber},jk={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():GJ.stringifyNumber(D)}},zk={identify:(D)=>typeof D==="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(D){let $=new Pk.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:GJ.stringifyNumber};Ik.float=zk;Ik.floatExp=jk;Ik.floatNaN=Lk});var SK=b((hk)=>{var TK=C6(),a3=(D)=>typeof D==="bigint"||Number.isInteger(D);function p4(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 YJ(D,$,F){let{value:X}=D;if(a3(X)){let J=X.toString($);return X<0?"-"+F+J.substr(1):F+J}return TK.stringifyNumber(D)}var bk={identify:a3,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(D,$,F)=>p4(D,2,2,F),stringify:(D)=>YJ(D,2,"0b")},fk={identify:a3,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(D,$,F)=>p4(D,1,8,F),stringify:(D)=>YJ(D,8,"0")},kk={identify:a3,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(D,$,F)=>p4(D,0,10,F),stringify:TK.stringifyNumber},vk={identify:a3,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(D,$,F)=>p4(D,2,16,F),stringify:(D)=>YJ(D,16,"0x")};hk.int=kk;hk.intBin=bk;hk.intHex=vk;hk.intOct=fk});var BJ=b((pk)=>{var l4=HD(),c4=O8(),d4=Z8();class H1 extends d4.YAMLMap{constructor(D){super(D);this.tag=H1.tag}add(D){let $;if(l4.isPair(D))$=D;else if(D&&typeof D==="object"&&"key"in D&&"value"in D&&D.value===null)$=new c4.Pair(D.key,null);else $=new c4.Pair(D,null);if(!d4.findPair(this.items,$.key))this.items.push($)}get(D,$){let F=d4.findPair(this.items,D);return!$&&l4.isPair(F)?l4.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=d4.findPair(this.items,D);if(F&&!$)this.items.splice(this.items.indexOf(F),1);else if(!F&&$)this.items.push(new c4.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(c4.createPair(Y,null,F))}return J}}H1.tag="tag:yaml.org,2002:set";var mk={collection:"map",identify:(D)=>D instanceof Set,nodeClass:H1,default:!1,tag:"tag:yaml.org,2002:set",createNode:(D,$,F)=>H1.from(D,$,F),resolve(D,$){if(l4.isMap(D))if(D.hasAllNullValues(!0))return Object.assign(new H1,D);else $("Set items must all have null values");else $("Expected a mapping for this tag");return D}};pk.YAMLSet=H1;pk.set=mk});var WJ=b((sk)=>{var lk=C6();function HJ(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 bK(D){let{value:$}=D,F=(G)=>G;if(typeof $==="bigint")F=(G)=>BigInt(G);else if(isNaN($)||!isFinite($))return lk.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 ik={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})=>HJ(D,F),stringify:bK},nk={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)=>HJ(D,!1),stringify:bK},fK={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(fK.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 V=HJ(U,!1);if(Math.abs(V)<30)V*=60;W-=60000*V}return new Date(W)},stringify:({value:D})=>D?.toISOString().replace(/(T00:00:00)?\.000Z$/,"")??""};sk.floatTime=nk;sk.intTime=ik;sk.timestamp=fK});var vK=b((Hv)=>{var tk=K6(),ek=g4(),Dv=E6(),$v=s3(),Fv=$J(),kK=IK(),_J=wK(),i4=SK(),Xv=w4(),Jv=JJ(),Gv=m4(),Yv=BJ(),UJ=WJ(),Bv=[tk.map,Dv.seq,$v.string,ek.nullTag,kK.trueTag,kK.falseTag,i4.intBin,i4.intOct,i4.int,i4.intHex,_J.floatNaN,_J.floatExp,_J.float,Fv.binary,Xv.merge,Jv.omap,Gv.pairs,Yv.set,UJ.intTime,UJ.floatTime,UJ.timestamp];Hv.schema=Bv});var lK=b((Cv)=>{var yK=K6(),_v=g4(),uK=E6(),Uv=s3(),Vv=nX(),VJ=rX(),AJ=aX(),Av=CK(),Qv=OK(),mK=$J(),t3=w4(),pK=JJ(),cK=m4(),hK=vK(),dK=BJ(),n4=WJ(),gK=new Map([["core",Av.schema],["failsafe",[yK.map,uK.seq,Uv.string]],["json",Qv.schema],["yaml11",hK.schema],["yaml-1.1",hK.schema]]),xK={binary:mK.binary,bool:Vv.boolTag,float:VJ.float,floatExp:VJ.floatExp,floatNaN:VJ.floatNaN,floatTime:n4.floatTime,int:AJ.int,intHex:AJ.intHex,intOct:AJ.intOct,intTime:n4.intTime,map:yK.map,merge:t3.merge,null:_v.nullTag,omap:pK.omap,pairs:cK.pairs,seq:uK.seq,set:dK.set,timestamp:n4.timestamp},Kv={"tag:yaml.org,2002:binary":mK.binary,"tag:yaml.org,2002:merge":t3.merge,"tag:yaml.org,2002:omap":pK.omap,"tag:yaml.org,2002:pairs":cK.pairs,"tag:yaml.org,2002:set":dK.set,"tag:yaml.org,2002:timestamp":n4.timestamp};function Ev(D,$,F){let X=gK.get($);if(X&&!D)return F&&!X.includes(t3.merge)?X.concat(t3.merge):X.slice();let J=X;if(!J)if(Array.isArray(D))J=[];else{let Y=Array.from(gK.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(t3.merge);return J.reduce((Y,G)=>{let B=typeof G==="string"?xK[G]:G;if(!B){let H=JSON.stringify(G),W=Object.keys(xK).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},[])}Cv.coreKnownTags=Kv;Cv.getTags=Ev});var EJ=b((Pv)=>{var QJ=HD(),Mv=K6(),Zv=E6(),qv=s3(),s4=lK(),Nv=(D,$)=>D.key<$.key?-1:D.key>$.key?1:0;class KJ{constructor({compat:D,customTags:$,merge:F,resolveKnownTags:X,schema:J,sortMapEntries:Y,toStringDefaults:G}){this.compat=Array.isArray(D)?s4.getTags(D,"compat"):D?s4.getTags(null,D):null,this.name=typeof J==="string"&&J||"core",this.knownTags=X?s4.coreKnownTags:{},this.tags=s4.getTags($,this.name,F),this.toStringOptions=G??null,Object.defineProperty(this,QJ.MAP,{value:Mv.map}),Object.defineProperty(this,QJ.SCALAR,{value:qv.string}),Object.defineProperty(this,QJ.SEQ,{value:Zv.seq}),this.sortMapEntries=typeof Y==="function"?Y:Y===!0?Nv:null}clone(){let D=Object.create(KJ.prototype,Object.getOwnPropertyDescriptors(this));return D.tags=this.tags.slice(),D}}Pv.Schema=KJ});var iK=b((Iv)=>{var jv=HD(),CJ=d3(),e3=m3();function zv(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=CJ.createStringifyContext(D,$),{commentString:Y}=J.options;if(D.commentBefore){if(F.length!==1)F.unshift("");let H=Y(D.commentBefore);F.unshift(e3.indentComment(H,""))}let G=!1,B=null;if(D.contents){if(jv.isNode(D.contents)){if(D.contents.spaceBefore&&X)F.push("");if(D.contents.commentBefore){let U=Y(D.contents.commentBefore);F.push(e3.indentComment(U,""))}J.forceBlockIndent=!!D.comment,B=D.contents.comment}let H=B?void 0:()=>G=!0,W=CJ.stringify(D.contents,J,()=>B=null,H);if(B)W+=e3.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(CJ.stringify(D.contents,J));if(D.directives?.docEnd)if(D.comment){let H=Y(D.comment);if(H.includes(`
|
|
150
|
+
`))F.push("..."),F.push(e3.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(e3.indentComment(Y(H),""))}}return F.join(`
|
|
151
151
|
`)+`
|
|
152
|
-
`}
|
|
152
|
+
`}Iv.stringifyDocument=zv});var D9=b((gv)=>{var Tv=y3(),R6=N4(),m0=HD(),Sv=O8(),bv=E8(),fv=EJ(),kv=iK(),RJ=M4(),vv=gX(),hv=u3(),OJ=hX();class MJ{constructor(D,$,F){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,m0.NODE_TYPE,{value:m0.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 OJ.Directives({version:Y});this.setSchema(Y,F),this.contents=D===void 0?null:this.createNode(D,X,F)}clone(){let D=Object.create(MJ.prototype,{[m0.NODE_TYPE]:{value:m0.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=m0.isNode(this.contents)?this.contents.clone(D.schema):this.contents,this.range)D.range=this.range.slice();return D}add(D){if(O6(this.contents))this.contents.add(D)}addIn(D,$){if(O6(this.contents))this.contents.addIn(D,$)}createAlias(D,$){if(!D.anchor){let F=RJ.anchorNames(this);D.anchor=!$||F.has($)?RJ.findNewAnchor($||"a",F):$}return new Tv.Alias(D.anchor)}createNode(D,$,F){let X=void 0;if(typeof $==="function")D=$.call({"":D},"",D),X=$;else if(Array.isArray($)){let E=(Z)=>typeof Z==="number"||Z instanceof String||Z instanceof Number,K=$.filter(E).map(String);if(K.length>0)$=$.concat(K);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:V,sourceObjects:A}=RJ.createNodeAnchors(this,Y||"a"),Q={aliasDuplicateObjects:J??!0,keepUndefined:B??!1,onAnchor:U,onTagObj:H,replacer:X,schema:this.schema,sourceObjects:A},C=hv.createNode(D,W,Q);if(G&&m0.isCollection(C))C.flow=!0;return V(),C}createPair(D,$,F={}){let X=this.createNode(D,null,F),J=this.createNode($,null,F);return new Sv.Pair(X,J)}delete(D){return O6(this.contents)?this.contents.delete(D):!1}deleteIn(D){if(R6.isEmptyPath(D)){if(this.contents==null)return!1;return this.contents=null,!0}return O6(this.contents)?this.contents.deleteIn(D):!1}get(D,$){return m0.isCollection(this.contents)?this.contents.get(D,$):void 0}getIn(D,$){if(R6.isEmptyPath(D))return!$&&m0.isScalar(this.contents)?this.contents.value:this.contents;return m0.isCollection(this.contents)?this.contents.getIn(D,$):void 0}has(D){return m0.isCollection(this.contents)?this.contents.has(D):!1}hasIn(D){if(R6.isEmptyPath(D))return this.contents!==void 0;return m0.isCollection(this.contents)?this.contents.hasIn(D):!1}set(D,$){if(this.contents==null)this.contents=R6.collectionFromPath(this.schema,[D],$);else if(O6(this.contents))this.contents.set(D,$)}setIn(D,$){if(R6.isEmptyPath(D))this.contents=$;else if(this.contents==null)this.contents=R6.collectionFromPath(this.schema,Array.from(D),$);else if(O6(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 OJ.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 OJ.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 fv.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=bv.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"?vv.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 kv.stringifyDocument(this,D)}}function O6(D){if(m0.isCollection(D))return!0;throw Error("Expected a YAML collection as document contents")}gv.Document=MJ});var $9=b((uv)=>{class r4 extends Error{constructor(D,$,F,X){super();this.name=D,this.code=F,this.message=X,this.pos=$}}class nK extends r4{constructor(D,$,F){super("YAMLParseError",D,$,F)}}class sK extends r4{constructor(D,$,F){super("YAMLWarning",D,$,F)}}var yv=(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
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
154
|
|
|
155
155
|
${G}
|
|
156
156
|
${W}
|
|
157
|
-
`}};
|
|
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(
|
|
159
|
-
`+
|
|
160
|
-
`+
|
|
161
|
-
`+L.comment;else W.comment=L.comment;
|
|
162
|
-
`+
|
|
163
|
-
`+r.comment;else
|
|
164
|
-
`+
|
|
165
|
-
`.repeat(Math.max(1,G.length-1)):"",
|
|
166
|
-
`;for(let
|
|
167
|
-
`;else if(
|
|
168
|
-
`;else if(!
|
|
169
|
-
`)
|
|
157
|
+
`}};uv.YAMLError=r4;uv.YAMLParseError=nK;uv.YAMLWarning=sK;uv.prettifyError=yv});var F9=b((iv)=>{function lv(D,{flow:$,indicator:F,next:X,offset:J,onError:Y,parentIndent:G,startOnNewline:B}){let H=!1,W=B,U=B,V="",A="",Q=!1,C=!1,E=null,K=null,Z=null,q=null,P=null,z=null,S=null;for(let I of D){if(C){if(I.type!=="space"&&I.type!=="newline"&&I.type!=="comma")Y(I.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space");C=!1}if(E){if(W&&I.type!=="comment"&&I.type!=="newline")Y(E,"TAB_AS_INDENT","Tabs are not allowed as indentation");E=null}switch(I.type){case"space":if(!$&&(F!=="doc-start"||X?.type!=="flow-collection")&&I.source.includes("\t"))E=I;U=!0;break;case"comment":{if(!U)Y(I,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let r=I.source.substring(1)||" ";if(!V)V=r;else V+=A+r;A="",W=!1;break}case"newline":if(W){if(V)V+=I.source;else if(!z||F!=="seq-item-ind")H=!0}else A+=I.source;if(W=!0,Q=!0,K||Z)q=I;U=!0;break;case"anchor":if(K)Y(I,"MULTIPLE_ANCHORS","A node can have at most one anchor");if(I.source.endsWith(":"))Y(I.offset+I.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0);K=I,S??(S=I.offset),W=!1,U=!1,C=!0;break;case"tag":{if(Z)Y(I,"MULTIPLE_TAGS","A node can have at most one tag");Z=I,S??(S=I.offset),W=!1,U=!1,C=!0;break}case F:if(K||Z)Y(I,"BAD_PROP_ORDER",`Anchors and tags must be after the ${I.source} indicator`);if(z)Y(I,"UNEXPECTED_TOKEN",`Unexpected ${I.source} in ${$??"collection"}`);z=I,W=F==="seq-item-ind"||F==="explicit-key-ind",U=!1;break;case"comma":if($){if(P)Y(I,"UNEXPECTED_TOKEN",`Unexpected , in ${$}`);P=I,W=!1,U=!1;break}default:Y(I,"UNEXPECTED_TOKEN",`Unexpected ${I.type} token`),W=!1,U=!1}}let L=D[D.length-1],h=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(E&&(W&&E.indent<=G||X?.type==="block-map"||X?.type==="block-seq"))Y(E,"TAB_AS_INDENT","Tabs are not allowed as indentation");return{comma:P,found:z,spaceBefore:H,comment:V,hasNewline:Q,anchor:K,tag:Z,newlineAfterProp:q,end:h,start:S??h}}iv.resolveProps=lv});var o4=b((sv)=>{function ZJ(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(ZJ($.key)||ZJ($.value))return!0}return!1;default:return!0}}sv.containsNewline=ZJ});var qJ=b((tv)=>{var ov=o4();function av(D,$,F){if($?.type==="flow-collection"){let X=$.end[0];if(X.indent===D&&(X.source==="]"||X.source==="}")&&ov.containsNewline($))F(X,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}tv.flowIndentCheck=av});var NJ=b(($h)=>{var rK=HD();function Dh(D,$,F){let{uniqueKeys:X}=D.options;if(X===!1)return!1;let J=typeof X==="function"?X:(Y,G)=>Y===G||rK.isScalar(Y)&&rK.isScalar(G)&&Y.value===G.value;return $.some((Y)=>J(Y.key,F))}$h.mapIncludes=Dh});var DE=b((Bh)=>{var oK=O8(),Xh=Z8(),aK=F9(),Jh=o4(),tK=qJ(),Gh=NJ(),eK="All mapping items must start at the same column";function Yh({composeNode:D,composeEmptyNode:$},F,X,J,Y){let B=new(Y?.nodeClass??Xh.YAMLMap)(F.schema);if(F.atRoot)F.atRoot=!1;let H=X.offset,W=null;for(let U of X.items){let{start:V,key:A,sep:Q,value:C}=U,E=aK.resolveProps(V,{indicator:"explicit-key-ind",next:A??Q?.[0],offset:H,onError:J,parentIndent:X.indent,startOnNewline:!0}),K=!E.found;if(K){if(A){if(A.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 A&&A.indent!==X.indent)J(H,"BAD_INDENT",eK)}if(!E.anchor&&!E.tag&&!Q){if(W=E.end,E.comment)if(B.comment)B.comment+=`
|
|
159
|
+
`+E.comment;else B.comment=E.comment;continue}if(E.newlineAfterProp||Jh.containsNewline(A))J(A??V[V.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else if(E.found?.indent!==X.indent)J(H,"BAD_INDENT",eK);F.atKey=!0;let Z=E.end,q=A?D(F,A,E,J):$(F,Z,V,null,E,J);if(F.schema.compat)tK.flowIndentCheck(X.indent,A,J);if(F.atKey=!1,Gh.mapIncludes(F,B.items,q))J(Z,"DUPLICATE_KEY","Map keys must be unique");let P=aK.resolveProps(Q??[],{indicator:"map-value-ind",next:C,offset:q.range[2],onError:J,parentIndent:X.indent,startOnNewline:!A||A.type==="block-scalar"});if(H=P.end,P.found){if(K){if(C?.type==="block-map"&&!P.hasNewline)J(H,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings");if(F.options.strict&&E.start<P.found.offset-1024)J(q.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key")}let z=C?D(F,C,P,J):$(F,H,Q,null,P,J);if(F.schema.compat)tK.flowIndentCheck(X.indent,C,J);H=z.range[2];let S=new oK.Pair(q,z);if(F.options.keepSourceTokens)S.srcToken=U;B.items.push(S)}else{if(K)J(q.range,"MISSING_CHAR","Implicit map keys need to be followed by map values");if(P.comment)if(q.comment)q.comment+=`
|
|
160
|
+
`+P.comment;else q.comment=P.comment;let z=new oK.Pair(q);if(F.options.keepSourceTokens)z.srcToken=U;B.items.push(z)}}if(W&&W<H)J(W,"IMPOSSIBLE","Map comment with trailing content");return B.range=[X.offset,H,W??H],B}Bh.resolveBlockMap=Yh});var $E=b((Ah)=>{var Wh=q8(),_h=F9(),Uh=qJ();function Vh({composeNode:D,composeEmptyNode:$},F,X,J,Y){let B=new(Y?.nodeClass??Wh.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:V}of X.items){let A=_h.resolveProps(U,{indicator:"seq-item-ind",next:V,offset:H,onError:J,parentIndent:X.indent,startOnNewline:!0});if(!A.found)if(A.anchor||A.tag||V)if(V?.type==="block-seq")J(A.end,"BAD_INDENT","All sequence items must start at the same column");else J(H,"MISSING_CHAR","Sequence item without - indicator");else{if(W=A.end,A.comment)B.comment=A.comment;continue}let Q=V?D(F,V,A,J):$(F,A.end,U,null,A,J);if(F.schema.compat)Uh.flowIndentCheck(X.indent,V,J);H=Q.range[2],B.items.push(Q)}return B.range=[X.offset,H,W??H],B}Ah.resolveBlockSeq=Vh});var M6=b((Eh)=>{function Kh(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:$}}Eh.resolveEnd=Kh});var JE=b((Lh)=>{var Rh=HD(),Oh=O8(),FE=Z8(),Mh=q8(),Zh=M6(),XE=F9(),qh=o4(),Nh=NJ(),PJ="Block collections are not allowed within flow collections",LJ=(D)=>D&&(D.type==="block-map"||D.type==="block-seq");function Ph({composeNode:D,composeEmptyNode:$},F,X,J,Y){let G=X.start.source==="{",B=G?"flow map":"flow sequence",W=new(Y?.nodeClass??(G?FE.YAMLMap:Mh.YAMLSeq))(F.schema);W.flow=!0;let U=F.atRoot;if(U)F.atRoot=!1;if(F.atKey)F.atKey=!1;let V=X.offset+X.start.source.length;for(let K=0;K<X.items.length;++K){let Z=X.items[K],{start:q,key:P,sep:z,value:S}=Z,L=XE.resolveProps(q,{flow:B,indicator:"explicit-key-ind",next:P??z?.[0],offset:V,onError:J,parentIndent:X.indent,startOnNewline:!1});if(!L.found){if(!L.anchor&&!L.tag&&!z&&!S){if(K===0&&L.comma)J(L.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${B}`);else if(K<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;V=L.end;continue}if(!G&&F.options.strict&&qh.containsNewline(P))J(P,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(K===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 h="";D:for(let I of q)switch(I.type){case"comma":case"space":break;case"comment":h=I.source.substring(1);break D;default:break D}if(h){let I=W.items[W.items.length-1];if(Rh.isPair(I))I=I.value??I.key;if(I.comment)I.comment+=`
|
|
162
|
+
`+h;else I.comment=h;L.comment=L.comment.substring(h.length+1)}}}if(!G&&!z&&!L.found){let h=S?D(F,S,L,J):$(F,L.end,z,null,L,J);if(W.items.push(h),V=h.range[2],LJ(S))J(h.range,"BLOCK_IN_FLOW",PJ)}else{F.atKey=!0;let h=L.end,I=P?D(F,P,L,J):$(F,h,q,null,L,J);if(LJ(P))J(I.range,"BLOCK_IN_FLOW",PJ);F.atKey=!1;let r=XE.resolveProps(z??[],{flow:B,indicator:"map-value-ind",next:S,offset:I.range[2],onError:J,parentIndent:X.indent,startOnNewline:!1});if(r.found){if(!G&&!L.found&&F.options.strict){if(z)for(let o of z){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(S)if("source"in S&&S.source?.[0]===":")J(S,"MISSING_CHAR",`Missing space after : in ${B}`);else J(r.start,"MISSING_CHAR",`Missing , or : between ${B} items`);let WD=S?D(F,S,r,J):r.found?$(F,r.end,z,null,r,J):null;if(WD){if(LJ(S))J(WD.range,"BLOCK_IN_FLOW",PJ)}else if(r.comment)if(I.comment)I.comment+=`
|
|
163
|
+
`+r.comment;else I.comment=r.comment;let YD=new Oh.Pair(I,WD);if(F.options.keepSourceTokens)YD.srcToken=Z;if(G){let o=W;if(Nh.mapIncludes(F,o.items,I))J(h,"DUPLICATE_KEY","Map keys must be unique");o.items.push(YD)}else{let o=new FE.YAMLMap(F.schema);o.flow=!0,o.items.push(YD);let cD=(WD??I).range;o.range=[I.range[0],cD[1],cD[2]],W.items.push(o)}V=WD?WD.range[2]:r.end}}let A=G?"}":"]",[Q,...C]=X.end,E=V;if(Q?.source===A)E=Q.offset+Q.source.length;else{let K=B[0].toUpperCase()+B.substring(1),Z=U?`${K} must end with a ${A}`:`${K} in block collection must be sufficiently indented and end with a ${A}`;if(J(V,U?"MISSING_CHAR":"BAD_INDENT",Z),Q&&Q.source.length!==1)C.unshift(Q)}if(C.length>0){let K=Zh.resolveEnd(C,E,F.options.strict,J);if(K.comment)if(W.comment)W.comment+=`
|
|
164
|
+
`+K.comment;else W.comment=K.comment;W.range=[X.offset,E,K.offset]}else W.range=[X.offset,E,E];return W}Lh.resolveFlowCollection=Ph});var GE=b((vh)=>{var zh=HD(),Ih=yD(),wh=Z8(),Th=q8(),Sh=DE(),bh=$E(),fh=JE();function jJ(D,$,F,X,J,Y){let G=F.type==="block-map"?Sh.resolveBlockMap(D,$,F,X,Y):F.type==="block-seq"?bh.resolveBlockSeq(D,$,F,X,Y):fh.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 kh(D,$,F,X,J){let Y=X.tag,G=!Y?null:$.directives.tagName(Y.source,(A)=>J(Y,"TAG_RESOLVE_FAILED",A));if(F.type==="block-seq"){let{anchor:A,newlineAfterProp:Q}=X,C=A&&Y?A.offset>Y.offset?A:Y:A??Y;if(C&&(!Q||Q.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===wh.YAMLMap.tagName&&B==="map"||G===Th.YAMLSeq.tagName&&B==="seq")return jJ(D,$,F,J,G);let H=$.schema.tags.find((A)=>A.tag===G&&A.collection===B);if(!H){let A=$.schema.knownTags[G];if(A?.collection===B)$.schema.tags.push(Object.assign({},A,{default:!1})),H=A;else{if(A)J(Y,"BAD_COLLECTION_TYPE",`${A.tag} used for ${B} collection, but expects ${A.collection??"scalar"}`,!0);else J(Y,"TAG_RESOLVE_FAILED",`Unresolved tag: ${G}`,!0);return jJ(D,$,F,J,G)}}let W=jJ(D,$,F,J,G,H),U=H.resolve?.(W,(A)=>J(Y,"TAG_RESOLVE_FAILED",A),$.options)??W,V=zh.isNode(U)?U:new Ih.Scalar(U);if(V.range=W.range,V.tag=G,H?.format)V.format=H.format;return V}vh.composeCollection=kh});var IJ=b((uh)=>{var zJ=yD();function gh(D,$,F){let X=$.offset,J=xh($,D.options.strict,F);if(!J)return{value:"",type:null,comment:"",range:[X,X,X]};let Y=J.mode===">"?zJ.Scalar.BLOCK_FOLDED:zJ.Scalar.BLOCK_LITERAL,G=$.source?yh($.source):[],B=G.length;for(let E=G.length-1;E>=0;--E){let K=G[E][1];if(K===""||K==="\r")B=E;else break}if(B===0){let E=J.chomp==="+"&&G.length>0?`
|
|
165
|
+
`.repeat(Math.max(1,G.length-1)):"",K=X+J.length;if($.source)K+=$.source.length;return{value:E,type:Y,comment:J.comment,range:[X,K,K]}}let H=$.indent+J.indent,W=$.offset+J.length,U=0;for(let E=0;E<B;++E){let[K,Z]=G[E];if(Z===""||Z==="\r"){if(J.indent===0&&K.length>H)H=K.length}else{if(K.length<H)F(W+K.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator");if(J.indent===0)H=K.length;if(U=E,H===0&&!D.atRoot)F(W,"BAD_INDENT","Block scalar values in collections must be indented");break}W+=K.length+Z.length+1}for(let E=G.length-1;E>=B;--E)if(G[E][0].length>H)B=E+1;let V="",A="",Q=!1;for(let E=0;E<U;++E)V+=G[E][0].slice(H)+`
|
|
166
|
+
`;for(let E=U;E<B;++E){let[K,Z]=G[E];W+=K.length+Z.length+1;let q=Z[Z.length-1]==="\r";if(q)Z=Z.slice(0,-1);if(Z&&K.length<H){let z=`Block scalar lines must not be less indented than their ${J.indent?"explicit indentation indicator":"first line"}`;F(W-Z.length-(q?2:1),"BAD_INDENT",z),K=""}if(Y===zJ.Scalar.BLOCK_LITERAL)V+=A+K.slice(H)+Z,A=`
|
|
167
|
+
`;else if(K.length>H||Z[0]==="\t"){if(A===" ")A=`
|
|
168
|
+
`;else if(!Q&&A===`
|
|
169
|
+
`)A=`
|
|
170
170
|
|
|
171
|
-
`;A
|
|
172
|
-
`,
|
|
173
|
-
`)
|
|
174
|
-
`;else
|
|
175
|
-
`;else A
|
|
176
|
-
`+G[
|
|
177
|
-
`)
|
|
178
|
-
`;break;default:
|
|
179
|
-
`}let C=X+J.length+$.source.length;return{value:
|
|
171
|
+
`;V+=A+K.slice(H)+Z,A=`
|
|
172
|
+
`,Q=!0}else if(Z==="")if(A===`
|
|
173
|
+
`)V+=`
|
|
174
|
+
`;else A=`
|
|
175
|
+
`;else V+=A+Z,A=" ",Q=!1}switch(J.chomp){case"-":break;case"+":for(let E=B;E<G.length;++E)V+=`
|
|
176
|
+
`+G[E][0].slice(H);if(V[V.length-1]!==`
|
|
177
|
+
`)V+=`
|
|
178
|
+
`;break;default:V+=`
|
|
179
|
+
`}let C=X+J.length+$.source.length;return{value:V,type:Y,comment:J.comment,range:[X,C,C]}}function xh({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 A=1;A<J.length;++A){let Q=J[A];if(!B&&(Q==="-"||Q==="+"))B=Q;else{let C=Number(Q);if(!G&&C)G=C;else if(H===-1)H=D+A}}if(H!==-1)X(H,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${J}`);let W=!1,U="",V=J.length;for(let A=1;A<$.length;++A){let Q=$[A];switch(Q.type){case"space":W=!0;case"newline":V+=Q.source.length;break;case"comment":if(F&&!W)X(Q,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");V+=Q.source.length,U=Q.source.substring(1);break;case"error":X(Q,"UNEXPECTED_TOKEN",Q.message),V+=Q.source.length;break;default:{let C=`Unexpected token in block scalar header: ${Q.type}`;X(Q,"UNEXPECTED_TOKEN",C);let E=Q.source;if(E&&typeof E==="string")V+=E.length}}}return{mode:Y,indent:G,chomp:B,comment:U,length:V}}function yh(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}uh.resolveBlockScalar=gh});var TJ=b((oh)=>{var wJ=yD(),ph=M6();function ch(D,$,F){let{offset:X,type:J,source:Y,end:G}=D,B,H,W=(A,Q,C)=>F(X+A,Q,C);switch(J){case"scalar":B=wJ.Scalar.PLAIN,H=dh(Y,W);break;case"single-quoted-scalar":B=wJ.Scalar.QUOTE_SINGLE,H=lh(Y,W);break;case"double-quoted-scalar":B=wJ.Scalar.QUOTE_DOUBLE,H=ih(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,V=ph.resolveEnd(G,U,$,F);return{value:H,type:B,comment:V.comment,range:[X,U,V.offset]}}function dh(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 YE(D)}function lh(D,$){if(D[D.length-1]!=="'"||D.length===1)$(D.length,"MISSING_CHAR","Missing closing 'quote");return YE(D.slice(1,-1)).replace(/''/g,"'")}function YE(D){let $,F;try{$=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
180
180
|
`,"sy"),F=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
181
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
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
|
|
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 ih(D,$){let F="";for(let X=1;X<D.length-1;++X){let J=D[X];if(J==="\r"&&D[X+1]===`
|
|
184
184
|
`)continue;if(J===`
|
|
185
|
-
`){let{fold:Y,offset:G}=
|
|
185
|
+
`){let{fold:Y,offset:G}=nh(D,X);F+=Y,X=G}else if(J==="\\"){let Y=D[++X],G=sh[Y];if(G)F+=G;else if(Y===`
|
|
186
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+=
|
|
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+=rh(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
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
|
|
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 nh(D,$){let F="",X=D[$+1];while(X===" "||X==="\t"||X===`
|
|
190
190
|
`||X==="\r"){if(X==="\r"&&D[$+2]!==`
|
|
191
191
|
`)break;if(X===`
|
|
192
192
|
`)F+=`
|
|
193
|
-
`;$+=1,X=D[$+1]}if(!F)F=" ";return{fold:F,offset:$}}var
|
|
194
|
-
`,r:"\r",t:"\t",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\","\t":"\t"};function
|
|
193
|
+
`;$+=1,X=D[$+1]}if(!F)F=" ";return{fold:F,offset:$}}var sh={"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 rh(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)}oh.resolveFlowScalar=ch});var HE=b((Xg)=>{var W1=HD(),BE=yD(),th=IJ(),eh=TJ();function Dg(D,$,F,X){let{value:J,type:Y,comment:G,range:B}=$.type==="block-scalar"?th.resolveBlockScalar(D,$,X):eh.resolveFlowScalar($,D.options.strict,X),H=F?D.directives.tagName(F.source,(V)=>X(F,"TAG_RESOLVE_FAILED",V)):null,W;if(D.options.stringKeys&&D.atKey)W=D.schema[W1.SCALAR];else if(H)W=$g(D.schema,J,H,F,X);else if($.type==="scalar")W=Fg(D,J,$,X);else W=D.schema[W1.SCALAR];let U;try{let V=W.resolve(J,(A)=>X(F??$,"TAG_RESOLVE_FAILED",A),D.options);U=W1.isScalar(V)?V:new BE.Scalar(V)}catch(V){let A=V instanceof Error?V.message:String(V);X(F??$,"TAG_RESOLVE_FAILED",A),U=new BE.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 $g(D,$,F,X,J){if(F==="!")return D[W1.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[W1.SCALAR]}function Fg({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[W1.SCALAR];if(F.compat){let B=F.compat.find((H)=>H.default&&H.test?.test(X))??F[W1.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}Xg.composeScalar=Dg});var WE=b((Yg)=>{function Gg(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}Yg.emptyScalarPosition=Gg});var VE=b((Kg)=>{var Hg=y3(),Wg=HD(),_g=GE(),_E=HE(),Ug=M6(),Vg=WE(),Ag={composeNode:UE,composeEmptyNode:SJ};function UE(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=Qg(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=_E.composeScalar(D,$,H,X),B)W.anchor=B.source.substring(1);break;case"block-map":case"block-seq":case"flow-collection":try{if(W=_g.composeCollection(Ag,D,$,F,X),B)W.anchor=B.source.substring(1)}catch(V){let A=V instanceof Error?V.message:String(V);X($,"RESOURCE_EXHAUSTION",A)}break;default:{let V=$.type==="error"?$.message:`Unsupported token (type: ${$.type})`;X($,"UNEXPECTED_TOKEN",V),U=!1}}if(W??(W=SJ(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&&(!Wg.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 SJ(D,$,F,X,{spaceBefore:J,comment:Y,anchor:G,tag:B,end:H},W){let U={type:"scalar",offset:Vg.emptyScalarPosition($,F,X),indent:-1,source:""},V=_E.composeScalar(D,U,B,W);if(G){if(V.anchor=G.source.substring(1),V.anchor==="")W(G,"BAD_ALIAS","Anchor cannot be an empty string")}if(J)V.spaceBefore=!0;if(Y)V.comment=Y,V.range[2]=H;return V}function Qg({options:D},{offset:$,source:F,end:X},J){let Y=new Hg.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=Ug.resolveEnd(X,G,D.strict,J);if(Y.range=[$,G,B.offset],B.comment)Y.comment=B.comment;return Y}Kg.composeEmptyNode=SJ;Kg.composeNode=UE});var QE=b((qg)=>{var Rg=D9(),AE=VE(),Og=M6(),Mg=F9();function Zg(D,$,{offset:F,start:X,value:J,end:Y},G){let B=Object.assign({_directives:$},D),H=new Rg.Document(void 0,B),W={atKey:!1,atRoot:!0,directives:H.directives,options:H.options,schema:H.schema},U=Mg.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?AE.composeNode(W,J,U,G):AE.composeEmptyNode(W,U.end,X,null,U,G);let V=H.contents.range[2],A=Og.resolveEnd(Y,V,!1,G);if(A.comment)H.comment=A.comment;return H.range=[F,V,A.offset],H}qg.composeDoc=Zg});var bJ=b((wg)=>{var Pg=i2("process"),Lg=hX(),jg=D9(),X9=$9(),KE=HD(),zg=QE(),Ig=M6();function J9(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 EE(D){let $="",F=!1,X=!1;for(let J=0;J<D.length;++J){let Y=D[J];switch(Y[0]){case"#":$+=($===""?"":X?`
|
|
195
195
|
|
|
196
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
|
|
198
|
-
${F}`:F;else if(X||D.directives.docStart||!J)D.commentBefore=F;else if(
|
|
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 CE{constructor(D={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=($,F,X,J)=>{let Y=J9($);if(J)this.warnings.push(new X9.YAMLWarning(Y,F,X));else this.errors.push(new X9.YAMLParseError(Y,F,X))},this.directives=new Lg.Directives({version:D.version||"1.2"}),this.options=D}decorate(D,$){let{comment:F,afterEmptyLine:X}=EE(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(KE.isCollection(J)&&!J.flow&&J.items.length>0){let Y=J.items[0];if(KE.isPair(Y))Y=Y.key;let G=Y.commentBefore;Y.commentBefore=G?`${F}
|
|
199
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:
|
|
201
|
-
${$.comment}`:$.comment}this.doc.range[2]=$.offset;break}default:this.errors.push(new
|
|
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:EE(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(Pg.env.LOG_STREAM)console.dir(D,{depth:null});switch(D.type){case"directive":this.directives.add(D.source,($,F,X)=>{let J=J9(D);J[0]+=$,this.onError(J,"BAD_DIRECTIVE",F,X)}),this.prelude.push(D.source),this.atDirectives=!0;break;case"document":{let $=zg.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 X9.YAMLParseError(J9(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 X9.YAMLParseError(J9(D),"UNEXPECTED_TOKEN","Unexpected doc-end without preceding document"));break}this.doc.directives.docEnd=!0;let $=Ig.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 X9.YAMLParseError(J9(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 jg.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}}}wg.Composer=CE});var ME=b((xg)=>{var Sg=IJ(),bg=TJ(),fg=$9(),RE=c3();function kg(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 fg.YAMLParseError([B,B+1],Y,G)};switch(D.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return bg.resolveFlowScalar(D,$,X);case"block-scalar":return Sg.resolveBlockScalar({options:{strict:$}},D,X)}}return null}function vg(D,$){let{implicitKey:F=!1,indent:X,inFlow:J=!1,offset:Y=-1,type:G="PLAIN"}=$,B=RE.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
202
|
`}];switch(B[0]){case"|":case">":{let W=B.indexOf(`
|
|
203
|
-
`),U=B.substring(0,W),
|
|
204
|
-
`,
|
|
205
|
-
`});return{type:"block-scalar",offset:Y,indent:X,props:
|
|
203
|
+
`),U=B.substring(0,W),V=B.substring(W+1)+`
|
|
204
|
+
`,A=[{type:"block-scalar-header",offset:Y,indent:X,source:U}];if(!OE(A,H))A.push({type:"newline",offset:-1,indent:X,source:`
|
|
205
|
+
`});return{type:"block-scalar",offset:Y,indent:X,props:A,source:V}}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 hg(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=RE.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">":gg(D,H);break;case'"':fJ(D,H,"double-quoted-scalar");break;case"'":fJ(D,H,"single-quoted-scalar");break;default:fJ(D,H,"scalar")}}function gg(D,$){let F=$.indexOf(`
|
|
206
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(!
|
|
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
|
|
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})}}}
|
|
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(!OE(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 OE(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 fJ(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})}}}xg.createScalarToken=vg;xg.resolveAsScalar=kg;xg.setScalarValue=hg});var ZE=b((cg)=>{var pg=(D)=>("type"in D)?t4(D):a4(D);function t4(D){switch(D.type){case"block-scalar":{let $="";for(let F of D.props)$+=t4(F);return $+D.source}case"block-map":case"block-seq":{let $="";for(let F of D.items)$+=a4(F);return $}case"flow-collection":{let $=D.start.source;for(let F of D.items)$+=a4(F);for(let F of D.end)$+=F.source;return $}case"document":{let $=a4(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 a4({start:D,key:$,sep:F,value:X}){let J="";for(let Y of D)J+=Y.source;if($)J+=t4($);if(F)for(let Y of F)J+=Y.source;if(X)J+=t4(X);return J}cg.stringify=pg});var PE=b((ig)=>{var kJ=Symbol("break visit"),lg=Symbol("skip children"),qE=Symbol("remove item");function _1(D,$){if("type"in D&&D.type==="document")D={start:D.start,value:D.value};NE(Object.freeze([]),D,$)}_1.BREAK=kJ;_1.SKIP=lg;_1.REMOVE=qE;_1.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};_1.parentCollection=(D,$)=>{let F=_1.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 NE(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=NE(Object.freeze(D.concat([[J,G]])),Y.items[G],F);if(typeof B==="number")G=B-1;else if(B===kJ)return kJ;else if(B===qE)Y.items.splice(G,1),G-=1}if(typeof X==="function"&&J==="key")X=X($,D)}}return typeof X==="function"?X($,D):X}ig.visit=_1});var e4=b((Dx)=>{var vJ=ME(),sg=ZE(),rg=PE(),hJ="\uFEFF",gJ="\x02",xJ="\x18",yJ="\x1F",og=(D)=>!!D&&("items"in D),ag=(D)=>!!D&&(D.type==="scalar"||D.type==="single-quoted-scalar"||D.type==="double-quoted-scalar"||D.type==="block-scalar");function tg(D){switch(D){case hJ:return"<BOM>";case gJ:return"<DOC>";case xJ:return"<FLOW_END>";case yJ:return"<SCALAR>";default:return JSON.stringify(D)}}function eg(D){switch(D){case hJ:return"byte-order-mark";case gJ:return"doc-mode";case xJ:return"flow-error-end";case yJ:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
210
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}
|
|
212
|
-
`:case"\r":case"\t":return!0;default:return!1}}var
|
|
213
|
-
\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}Dx.createScalarToken=vJ.createScalarToken;Dx.resolveAsScalar=vJ.resolveAsScalar;Dx.setScalarValue=vJ.setScalarValue;Dx.stringify=sg.stringify;Dx.visit=rg.visit;Dx.BOM=hJ;Dx.DOCUMENT=gJ;Dx.FLOW_END=xJ;Dx.SCALAR=yJ;Dx.isCollection=og;Dx.isScalar=ag;Dx.prettyToken=tg;Dx.tokenType=eg});var mJ=b((Ex)=>{var G9=e4();function W2(D){switch(D){case void 0:case" ":case`
|
|
212
|
+
`:case"\r":case"\t":return!0;default:return!1}}var LE=new Set("0123456789ABCDEFabcdef"),Qx=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),D5=new Set(",[]{}"),Kx=new Set(` ,[]{}
|
|
213
|
+
\r `),uJ=(D)=>!D||Kx.has(D);class jE{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
214
|
`)return!0;if($==="\r")return this.buffer[D+1]===`
|
|
215
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
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==="...")&&
|
|
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]===
|
|
217
|
+
`||F>=this.indentNext||!$&&!this.atEnd?D+F:-1}if($==="-"||$==="."){let F=this.buffer.substr(D,3);if((F==="---"||F==="...")&&W2(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]===G9.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 G9.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(($==="---"||$==="...")&&W2(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&&!W2(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===":")&&W2($)){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(uJ),"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("..."))&&W2(X[3])){if(!(F===this.indentNext-1&&this.flowLevel===1&&(X[0]==="]"||X[0]==="}")))return this.flowLevel=0,yield G9.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(uJ),"flow";case'"':case"'":return this.flowKey=!0,yield*this.parseQuotedScalar();case":":{let Y=this.charAt(1);if(this.flowKey||W2(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
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(($)=>
|
|
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(($)=>W2($)||$==="#")}*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
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
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
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
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
|
|
225
|
+
`&&J>=this.pos&&J+1+$>G)D=J;else break}while(!0);return yield G9.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(W2(J)||D&&D5.has(J))break;$=F}else if(W2(X)){let J=this.buffer[F+1];if(X==="\r")if(J===`
|
|
226
226
|
`)F+=1,X=`
|
|
227
|
-
`,J=this.buffer[F+1];else $=F;if(J==="#"||D&&
|
|
228
|
-
`){let Y=this.continueScalar(F+1);if(Y===-1)break;F=Math.max(F,Y-2)}}else{if(D&&
|
|
227
|
+
`,J=this.buffer[F+1];else $=F;if(J==="#"||D&&D5.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&&D5.has(X))break;$=F}if(!X&&!this.atEnd)return this.setNext("plain-scalar");return yield G9.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(uJ))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let D=this.flowLevel>0,$=this.charAt(1);if(W2($)||D&&D5.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(!W2($)&&$!==">")$=this.buffer[++D];return yield*this.pushToIndex($===">"?D+1:D,!1)}else{let D=this.pos+1,$=this.buffer[D];while($)if(Qx.has($))$=this.buffer[++D];else if($==="%"&&LE.has(this.buffer[D+1])&&LE.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
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)}}
|
|
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)}}Ex.Lexer=jE});var pJ=b((Rx)=>{class zE{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}}}}Rx.LineCounter=zE});var cJ=b((qx)=>{var Mx=i2("process"),IE=e4(),Zx=mJ();function N8(D,$){for(let F=0;F<D.length;++F)if(D[F].type===$)return!0;return!1}function wE(D){for(let $=0;$<D.length;++$)switch(D[$].type){case"space":case"comment":case"newline":break;default:return $}return-1}function SE(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 $5(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 Z6(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 TE(D){if(D.start.type==="flow-seq-start"){for(let $ of D.items)if($.sep&&!$.value&&!N8($.start,"explicit-key-ind")&&!N8($.sep,"map-value-ind")){if($.key)$.value=$.key;if(delete $.key,SE($.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 bE{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 Zx.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,Mx.env.LOG_TOKENS)console.log("|",IE.prettyToken(D));if(this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=D.length;return}let $=IE.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")TE($);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&&wE(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(wE(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 $=$5(this.peek(2)),F=Z6($),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
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(
|
|
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(N8($.start,"newline"))Object.assign($,{key:null,sep:[this.sourceToken]});else{let Y=Z6($.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(N8($.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(SE($.key)&&!N8($.sep,"newline")){let Y=Z6($.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(N8($.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&&!N8($.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||N8($.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=$5(F),J=Z6(X);TE(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
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()}}}_g.Parser=KE});var qE=S((Og)=>{var CE=lX(),Ag=x3(),d3=y3(),Vg=$X(),Qg=BD(),Eg=$J(),RE=FJ();function OE(D){let $=D.prettyErrors!==!1;return{lineCounter:D.lineCounter||$&&new Eg.LineCounter||null,prettyErrors:$}}function Kg(D,$={}){let{lineCounter:F,prettyErrors:X}=OE($),J=new RE.Parser(F?.addNewLine),Y=new CE.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 ME(D,$={}){let{lineCounter:F,prettyErrors:X}=OE($),J=new RE.Parser(F?.addNewLine),Y=new CE.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 Cg(D,$,F){let X=void 0;if(typeof $==="function")X=$;else if(F===void 0&&$&&typeof $==="object")F=$;let J=ME(D,F);if(!J)return null;if(J.warnings.forEach((Y)=>Vg.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 Rg(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(Qg.isDocument(D)&&!X)return D.toString(F);return new Ag.Document(D,X,F).toString(F)}Og.parse=Cg;Og.parseAllDocuments=Kg;Og.parseDocument=ME;Og.stringify=Rg});var Zg,Lg,zg,XJ,jg,V8,wg,Ig,Tg,Sg,wt,fg,bg,kg,I4,NE,vg,gg,hg,xg,yg,ug,mg,pg,cg,dg,lg,ig,ng,sg,rg,og,ag,tg,eg,Dh,$h,Fh,T4,Xh,Jh,JJ,Gh,Yh;var GJ=R(()=>{Zg=lX(),Lg=x3(),zg=IX(),XJ=y3(),jg=P3(),V8=BD(),wg=H8(),Ig=hD(),Tg=_8(),Sg=U8(),wt=z4(),fg=DJ(),bg=$J(),kg=FJ(),I4=qE(),NE=q3();vg=Zg.Composer,gg=Lg.Document,hg=zg.Schema,xg=XJ.YAMLError,yg=XJ.YAMLParseError,ug=XJ.YAMLWarning,mg=jg.Alias,pg=V8.isAlias,cg=V8.isCollection,dg=V8.isDocument,lg=V8.isMap,ig=V8.isNode,ng=V8.isPair,sg=V8.isScalar,rg=V8.isSeq,og=wg.Pair,ag=Ig.Scalar,tg=Tg.YAMLMap,eg=Sg.YAMLSeq,Dh=fg.Lexer,$h=bg.LineCounter,Fh=kg.Parser,T4=I4.parse,Xh=I4.parseAllDocuments,Jh=I4.parseDocument,JJ=I4.stringify,Gh=NE.visit,Yh=NE.visitAsync});var Bh,Hh,Wh,_h,Uh,Ah,ZE,Vh,Qh,PE,Eh,LE;var zE=R(()=>{Q0();Bh=_.object({id:_.string().min(1),type:_.literal("filesystem"),priority:_.number().int(),readOnly:_.boolean(),config:_.object({home:_.string().min(1).optional()})}),Hh=_.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()})}),Wh=_.discriminatedUnion("type",[Bh,Hh]),_h=_.object({binary:_.string().min(1).optional(),extraArgs:_.array(_.string()).optional(),env:_.record(_.string()).optional(),cliVersion:_.string().min(1).optional()}).strict(),Uh=_.record(_.unknown()).and(_.object({cmd:_h.optional()}).partial()),Ah=_.enum(["rate-limit","timeout","auth","network","server-5xx","unknown"]),ZE=_.lazy(()=>_.object({engine:_.enum(["http","mcp","cli","claude-code","acp","codex","cursor"]),variant:_.string().min(1),overrides:Uh.optional(),modelId:_.string().min(1).optional(),reasoningId:_.string().min(1).optional(),permissionPolicy:_.enum(["auto","supervised","plan"]).optional(),fallbacks:_.array(_.object({executor:ZE,onErrorKinds:_.array(Ah).min(1),maxRetries:_.number().int().min(1).optional()})).optional()})),Vh=_.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()})]),Qh=_.object({channel:_.enum(["web","line","telegram","lark","whatsapp"]),enabled:_.boolean(),credentials:Vh,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"]}),PE=_.enum(["auto","ask","deny"]),Eh=_.object({default:PE,rules:_.array(_.object({pattern:_.string().min(1),action:PE}))}),LE=_.object({brains:_.array(Wh),brainWriteTarget:_.string(),brainRetrieval:_.enum(["merge-by-priority","first-match"]),executor:ZE,channels:_.array(Qh),evolution:_.object({enabled:_.boolean(),observationRetentionDays:_.number().int().nonnegative()}),toolPolicy:Eh.optional()})});import{writeFile as Kh}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=LE.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=RB(D),J=JJ({version:F,config:$});try{await Kh(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();zE();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 jE=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 wE=R(()=>{L8()});function b4(D){let $=QV(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 IE(D){await D.stop()}var TE=R(()=>{JD();VV();jE();wE()});function Ch(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:Ch(X)}]}}}function Oh(D){return Rh.has(D)}function Mh(D){if(D instanceof Error)return D.message;return String(D)}async function v4(D,$,F={}){if(!Oh($))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:Mh(G)}}}var Rh;var SE=R(()=>{s0();G3();Rh=new Set(["web","line","telegram","lark","whatsapp"])});function qh(D){if(D instanceof Error)return D.message;return String(D)}async function Nh(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:qh(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 Nh(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 Zh(D){if(!D)return"unknown";return D.status}async function fE(D){try{let $=await D();return Zh($??null)}catch{return"unknown"}}function Lh(D){let $=zh(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 zh(D){try{return t2(D)}catch{return null}}function jh(D,$){if(!D)return;return`${D.replace(/\/+$/,"")}/${$}/webhook`}async function h4(D,$,F){let{runtime:X}=D,J=await fE(()=>X.executor.health()),Y=await fE(()=>X.brain.health()),G=$.brains.map((U)=>({id:U.id,type:U.type,status:Y})),B=Lh($.executor),H={type:$.executor.engine,...B===void 0?{}:{model:B},status:J},W=$.channels.map((U)=>{let A=jh(F.advertisedBaseUrl,U.channel);return{channel:U.channel,enabled:U.enabled,...A?{webhookUrl:A}:{}}});return{workerId:D.workerId,runtimeVersion:Ph,configVersion:D.configVersion,brains:G,executor:H,channels:W,evolutionEnabled:$.evolution.enabled,startedAt:D.startedAt,...F.advertisedBaseUrl?{advertisedBaseUrl:F.advertisedBaseUrl}:{}}}var Ph="0.2.0";var bE=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 kE=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 vE=R(()=>{s0()});class e8{pending=new Map;disposed=!1;wait(D){if(this.disposed)return Promise.reject(new gE);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 gE,_J=60000;var m4=R(()=>{gE=class gE extends Error{name="ApprovalDisposedError";constructor(){super("approval store disposed")}}});class xE{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 xE,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=wh[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(hE.has(D.handle.state))return;D.handle.lastActivityAt=D1(),this.armStallTimer(D)}onStall(D){if(hE.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 hE,wh;var yE=R(()=>{JD();hE=new Set(["completed","failed","cancelled"]),wh={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??Ih}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 Ih=30000;var uE=R(()=>{JD()});var AJ=R(()=>{uE()});function mE(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:mE(D.tags)},createdAt:$,updatedAt:F};if(typeof Y==="number")B.score=Y;return B}function Th(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(Th)}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??mE($.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 pE=R(()=>{AJ()});import{join as c4}from"path";async function cE(D){let $=new Bun.CryptoHasher("sha256");return $.update(D),$.digest("hex")}function dE(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 Sh(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}=dE(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
|
|
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 $=$5(D),F=Z6($);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 $=$5(D),F=Z6($);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()}}}qx.Parser=bE});var gE=b((Sx)=>{var fE=bJ(),Px=D9(),Y9=$9(),Lx=pX(),jx=HD(),zx=pJ(),kE=cJ();function vE(D){let $=D.prettyErrors!==!1;return{lineCounter:D.lineCounter||$&&new zx.LineCounter||null,prettyErrors:$}}function Ix(D,$={}){let{lineCounter:F,prettyErrors:X}=vE($),J=new kE.Parser(F?.addNewLine),Y=new fE.Composer($),G=Array.from(Y.compose(J.parse(D)));if(X&&F)for(let B of G)B.errors.forEach(Y9.prettifyError(D,F)),B.warnings.forEach(Y9.prettifyError(D,F));if(G.length>0)return G;return Object.assign([],{empty:!0},Y.streamInfo())}function hE(D,$={}){let{lineCounter:F,prettyErrors:X}=vE($),J=new kE.Parser(F?.addNewLine),Y=new fE.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 Y9.YAMLParseError(B.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}if(X&&F)G.errors.forEach(Y9.prettifyError(D,F)),G.warnings.forEach(Y9.prettifyError(D,F));return G}function wx(D,$,F){let X=void 0;if(typeof $==="function")X=$;else if(F===void 0&&$&&typeof $==="object")F=$;let J=hE(D,F);if(!J)return null;if(J.warnings.forEach((Y)=>Lx.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 Tx(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(jx.isDocument(D)&&!X)return D.toString(F);return new Px.Document(D,X,F).toString(F)}Sx.parse=wx;Sx.parseAllDocuments=Ix;Sx.parseDocument=hE;Sx.stringify=Tx});var hx,gx,xx,dJ,yx,P8,ux,mx,px,cx,e2D,dx,lx,ix,F5,xE,nx,sx,rx,ox,ax,tx,ex,Dy,$y,Fy,Xy,Jy,Gy,Yy,By,Hy,Wy,_y,Uy,Vy,Ay,Qy,X5,Ky,Ey,lJ,Cy,Ry;var iJ=M(()=>{hx=bJ(),gx=D9(),xx=EJ(),dJ=$9(),yx=y3(),P8=HD(),ux=O8(),mx=yD(),px=Z8(),cx=q8(),e2D=e4(),dx=mJ(),lx=pJ(),ix=cJ(),F5=gE(),xE=g3();nx=hx.Composer,sx=gx.Document,rx=xx.Schema,ox=dJ.YAMLError,ax=dJ.YAMLParseError,tx=dJ.YAMLWarning,ex=yx.Alias,Dy=P8.isAlias,$y=P8.isCollection,Fy=P8.isDocument,Xy=P8.isMap,Jy=P8.isNode,Gy=P8.isPair,Yy=P8.isScalar,By=P8.isSeq,Hy=ux.Pair,Wy=mx.Scalar,_y=px.YAMLMap,Uy=cx.YAMLSeq,Vy=dx.Lexer,Ay=lx.LineCounter,Qy=ix.Parser,X5=F5.parse,Ky=F5.parseAllDocuments,Ey=F5.parseDocument,lJ=F5.stringify,Cy=xE.visit,Ry=xE.visitAsync});var Oy,My,Zy,qy,Ny,Py,uE,Ly,jy,yE,zy,Iy,mE;var pE=M(()=>{vD();Oy=_.object({id:_.string().min(1),type:_.literal("filesystem"),priority:_.number().int(),readOnly:_.boolean(),config:_.object({home:_.string().min(1).optional()})}),My=_.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()})}),Zy=_.discriminatedUnion("type",[Oy,My]),qy=_.object({binary:_.string().min(1).optional(),extraArgs:_.array(_.string()).optional(),env:_.record(_.string()).optional(),cliVersion:_.string().min(1).optional()}).strict(),Ny=_.record(_.unknown()).and(_.object({cmd:qy.optional()}).partial()),Py=_.enum(["rate-limit","timeout","auth","network","server-5xx","unknown"]),uE=_.lazy(()=>_.object({engine:_.enum(["http","mcp","cli","claude-code","acp","codex","cursor"]),variant:_.string().min(1),overrides:Ny.optional(),modelId:_.string().min(1).optional(),reasoningId:_.string().min(1).optional(),permissionPolicy:_.enum(["auto","supervised","plan"]).optional(),fallbacks:_.array(_.object({executor:uE,onErrorKinds:_.array(Py).min(1),maxRetries:_.number().int().min(1).optional()})).optional()})),Ly=_.discriminatedUnion("channel",[_.object({channel:_.literal("web"),inboundToken:_.string().optional()}),_.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()})]),jy=_.object({channel:_.enum(["web","line","telegram","lark","whatsapp"]),enabled:_.boolean(),credentials:Ly,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"]}),yE=_.enum(["auto","ask","deny"]),zy=_.object({default:yE,rules:_.array(_.object({pattern:_.string().min(1),action:yE}))}),Iy=_.object({maxHistoryMessages:_.number().int().min(1).max(200).optional()}),mE=_.object({brains:_.array(Zy),brainWriteTarget:_.string(),brainRetrieval:_.enum(["merge-by-priority","first-match"]),executor:uE,channels:_.array(jy),evolution:_.object({enabled:_.boolean(),observationRetentionDays:_.number().int().nonnegative()}),toolPolicy:zy.optional(),orchestrator:Iy.optional()})});import{writeFile as wy}from"fs/promises";async function j0(D){let $=await D.select().from(J2).where(m(J2.pk,"default")).get();if(!$)throw Error("worker_config row missing \u2014 bootstrap did not run");return{config:$.configJson,version:$.version}}async function B9(D,$,F,X={}){let J=mE.safeParse(F);if(!J.success)throw new w2(J.error.issues);let Y=await j0(D);if(X.ifMatchVersion!==void 0&&X.ifMatchVersion!==Y.version)throw new T2(X.ifMatchVersion,Y.version);let G=J.data,B=new Set(u2(Y.config).map((Q)=>Q.path)),H=u2(G),W=new Set(H.map((Q)=>Q.path));for(let{path:Q,value:C}of H)if(C.length>0)await $.put(Q,C);for(let Q of B)if(!W.has(Q))await $.remove(Q);let U=l7(G),V=Y.version+1,A=new Date().toISOString();return await D.update(J2).set({configJson:U,version:V,updatedAt:A,updatedBy:"api"}).where(m(J2.pk,"default")).run(),{config:U,version:V}}async function H9(D,$,F){let X=GH(D),J=lJ({version:F,config:$});try{await wy(X,J,{encoding:"utf8"})}catch(Y){R.warn(`[mirror-config] failed to write ${X}: ${String(Y)}`)}}async function q6(D){let $=await B9(D.db,D.vault,D.raw,D.ifMatchVersion===void 0?{}:{ifMatchVersion:D.ifMatchVersion});await H9(D.workerId,$.config,$.version);let F="ok";try{await D.reloadRuntime($.config,$.version)}catch(X){F="failed",R.error("[applyConfigUpdate] runtime reload failed",X)}return{...$,runtimeReload:F}}var w2,T2;var nJ=M(()=>{x8();wD();$D();K0();iJ();pE();w2=class w2 extends Error{issues;constructor(D,$="invalid worker config"){super($);this.issues=D;this.name="InvalidConfigError"}};T2=class T2 extends Error{expected;actual;constructor(D,$){super(`config version ${D} does not match current version ${$}`);this.expected=D;this.actual=$;this.name="ConfigVersionConflictError"}}});function J5(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 G5($.jobId);return{job:F}}}}var G5;var sJ=M(()=>{G5=class G5 extends Error{jobId;constructor(D){super(`cron job ${D} \u4E0D\u5B58\u5728`);this.jobId=D;this.name="CronJobNotFoundError"}}});class rJ{deps;constructor(D){this.deps=D}async handleRequest(D){let{id:$,method:F,params:X}=D;try{let J=i6(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 lD["chat.send"].method:await this.handleChatSend($,G);break;case lD["config.get"].method:await this.handleConfigGet($);break;case lD["config.put"].method:await this.handleConfigPut($,G);break;case lD["token.rotate"].method:await this.handleTokenRotate($);break;case lD["logs.tail"].method:await this.handleLogsTail($,G);break;case lD["approval.list"].method:this.handleApprovalList($);break;case lD["approval.grant"].method:this.handleApprovalGrant($,G);break;case lD["cron.list"].method:await this.handleCronList($,G);break;case lD["cron.add"].method:await this.handleCronAdd($,G);break;case lD["cron.remove"].method:await this.handleCronRemove($,G);break;case lD["cron.update"].method:await this.handleCronUpdate($,G);break;case lD["workers.info"].method:this.replyError($,"method_not_implemented",`${F} is not yet implemented on node side`);break;case lD["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){R.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)=>{R.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 w2){this.replyError(D,"invalid_config",J.message,{issues:J.issues});return}if(J instanceof T2){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 G5){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 cE=M(()=>{$0();$D();nJ();sJ()});class oJ{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=_2($.conversationId);if(!F)return null;let X=typeof $.delta==="string"?$.delta:"";return{name:XD.AGENT_THINKING,payload:{conversationId:F,chunk:X}}}case"orchestrator.tool_call":{let F=_2($.conversationId),X=$.call??{},J=_2(X.id),Y=_2(X.name);if(!F||!J||!Y)return null;return{name:XD.AGENT_TOOL_CALL,payload:{conversationId:F,toolCallId:J,toolName:Y,status:"pending",...X.arguments!==void 0?{args:X.arguments}:{}}}}case"orchestrator.finished":{let F=_2($.conversationId);if(!F)return null;return{name:XD.AGENT_DONE,payload:{conversationId:F,finishReason:"stop"}}}case"orchestrator.error":{let F=_2($.conversationId);if(!F)return null;return{name:XD.AGENT_DONE,payload:{conversationId:F,finishReason:"error"}}}case"conversation.message":{let F=_2($.conversationId),X=_2($.role);if(!F||!X)return null;if(X!=="user"&&X!=="assistant"&&X!=="system")return null;return{name:XD.CHAT_MESSAGE,payload:{conversationId:F,role:X,content:typeof $.content==="string"?$.content:"",createdAt:Date.parse(D.at)||Date.now()}}}case"approval.requested":{let F=_2($.taskId),X=_2($.toolCallId),J=_2($.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:XD.APPROVAL_REQUESTED,payload:{taskId:F,toolCallId:X,toolName:J,params:G,expiresAt:Y}}}default:return null}}}function _2(D){return typeof D==="string"&&D.length>0?D:null}var dE=M(()=>{$0()});function Y5(D){let $=TQ(D),F=!1,X=null,J=new oJ({workerId:$.workerId,getBus:()=>D.getRuntime().bus,sendEvent:(G)=>X?.send(G)}),Y=new rJ({workerId:$.workerId,getRuntime:D.getRuntime,...D.handlers?{handlers:D.handlers}:{},sendResponse:(G)=>X?.send(G)});return X=new fX({options:$,onConnected:()=>{F=!0,J.start()},onDisconnected:(G)=>{F=!1,J.stop(),R.info(`[gateway-client ${$.workerId}] disconnected: ${G}`)},onFrame:(G)=>{if(G.type==="request"){Y.handleRequest(G);return}R.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 lE(D){await D.stop()}var iE=M(()=>{$D();wQ();cE();dE()});function Ty(D){if(D instanceof Error)return D.message;return String(D)}async function B5(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:Ty(X)}]}}}function by(D){return Sy.has(D)}function fy(D){if(D instanceof Error)return D.message;return String(D)}async function H5(D,$,F={}){if(!by($))throw ND.notFound(`unknown channel '${$}'`);let X=D.runtime.channels.get($);if(!X)throw ND.notFound(`channel '${$}' is not bound or not enabled`);let J=a8($);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:fy(G)}}}var Sy;var nE=M(()=>{Z0();Z3();Sy=new Set(["web","line","telegram","lark","whatsapp"])});function ky(D){if(D instanceof Error)return D.message;return String(D)}async function vy(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:ky(J)}}finally{clearTimeout(X)}}async function W5(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 vy(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 gy(D){if(!D)return"unknown";return D.status}async function sE(D){try{let $=await D();return gy($??null)}catch{return"unknown"}}function xy(D){let $=yy(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 yy(D){try{return W8(D)}catch{return null}}function uy(D,$){if(!D)return;return`${D.replace(/\/+$/,"")}/${$}/webhook`}async function _5(D,$,F){let{runtime:X}=D,J=await sE(()=>X.executor.health()),Y=await sE(()=>X.brain.health()),G=$.brains.map((U)=>({id:U.id,type:U.type,status:Y})),B=xy($.executor),H={type:$.executor.engine,...B===void 0?{}:{model:B},status:J},W=$.channels.map((U)=>{let V=uy(F.advertisedBaseUrl,U.channel);return{channel:U.channel,enabled:U.enabled,...V?{webhookUrl:V}:{}}});return{workerId:D.workerId,runtimeVersion:hy,configVersion:D.configVersion,brains:G,executor:H,channels:W,evolutionEnabled:$.evolution.enabled,startedAt:D.startedAt,...F.advertisedBaseUrl?{advertisedBaseUrl:F.advertisedBaseUrl}:{}}}var hy="0.2.0";var rE=M(()=>{n8()});async function L8(D,$,F){let X=r1(),{ciphertext:J,nonce:Y,authTag:G}=$.encryptString(X),B=new Date().toISOString();return await D.update(T0).set({apiTokenEnc:J,nonce:Y,authTag:G,rotatedAt:B}).where(m(T0.pk,"default")).run(),F.tokenPlaintext=X,{newToken:X}}var oE=M(()=>{wD();K0();cF()});async function U5(D){return D.list()}async function V5(D,$,F){if(!$||!$.trim())throw ND.badRequest("secret key is required");if(F.length===0)throw ND.badRequest("secret value must be a non-empty string");await D.put($,F)}async function A5(D,$){if(!$||!$.trim())throw ND.badRequest("secret key is required");if(await D.get($)===null)throw ND.notFound(`secret '${$}' not found`);await D.remove($)}var aE=M(()=>{Z0()});class U1{pending=new Map;disposed=!1;wait(D){if(this.disposed)return Promise.reject(new tE);let $=D.timeoutMs??aJ,F=Date.now()+$,X=U1.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=U1.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 tE,aJ=60000;var Q5=M(()=>{tE=class tE extends Error{name="ApprovalDisposedError";constructor(){super("approval store disposed")}}});class DC{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 K5(){return Date.now()}function V1(){return new Date().toISOString()}function tJ(D){if(D===null||typeof D!=="object"||!("unref"in D))return;try{D.unref()}catch{}}class A1{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:V1(),lastActivityAt:V1(),cancel:async()=>this.cancelHandle(X)};this.handles.set(X,J);let Y={handle:J,req:D,enqueuedAt:K5(),enqueueSeq:++this.enqueueSeq,resolve:$,reject:F,cancelledBeforeStart:!1},G=this.groups.get(D.group);if(!G)G=new DC,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),V=Math.max(0,this.opts.maxConcurrentTotal-this.totalActive());J[G]={limit:B,active:H,queued:W,available:Math.min(U,V)}}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),tJ(this.gcTimer)}gcTerminal(){let D=K5()-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=V1(),this.terminalLog.push({handle:D.handle,recordedAt:K5()}),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($){R.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),tJ(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(($)=>R.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=my[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=V1(),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=V1(),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=V1(),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:K5()}),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),tJ(D.stallTimer)}onActivity(D){if(eE.has(D.handle.state))return;D.handle.lastActivityAt=V1(),this.armStallTimer(D)}onStall(D){if(eE.has(D.handle.state))return;if(D.cancelRequested)return;R.warn(`[process-manager] stall detected for ${D.handle.id} (engine=${D.handle.engine}, group=${D.handle.group})`),this.cancelRunning(D)}}var eE,my;var $C=M(()=>{$D();eE=new Set(["completed","failed","cancelled"]),my={interactive:3,default:2,background:1}});class N6{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??py}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 R.warn(`[mcp] tool '${D}' text is not JSON, returning raw string`),X.text}}}var py=30000;var FC=M(()=>{$D()});var eJ=M(()=>{FC()});function XC(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 DG(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:XC(D.tags)},createdAt:$,updatedAt:F};if(typeof Y==="number")B.score=Y;return B}function cy(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 $G{name="cloud-gateway";client;defaultCategory;defaultTypeId;constructor(D){this.client=new N6({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(cy)}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(DG)}async searchMemories(D){let $=await this.client.callToolJson("knowledge_search",{query:D,limit:20});if(!Array.isArray($))return[];return $.map(DG)}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??XC($.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 DG(H)}}var JC=M(()=>{eJ()});import{join as E5}from"path";async function GC(D){let $=new Bun.CryptoHasher("sha256");return $.update(D),$.digest("hex")}function YC(D){let $=D.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/);if(!$)return{metadata:{},content:D};try{return{metadata:X5($[1]??"")??{},content:$[2]??""}}catch{return{metadata:{},content:D}}}function dy(D,$){let F=$.split(".").pop()?.toLowerCase();if(F==="yaml"||F==="yml")try{let X=X5(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}=YC(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 BC(D){let $=E5(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=E5($,Y);try{let H=await Bun.file(G).text(),W=dy(H,G);if(W){let U=await GC(H);J.push({...W,hash:U})}}catch{}}return J}catch{return[]}}async function FG(D){let $=E5(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=E5($,Y);try{let H=await Bun.file(G).text(),W=await GC(H),{metadata:U,content:V}=YC(H),A=Y.replace(/\.md$/,"");J.push({id:String(U.id??A),title:String(U.title??A),content:V,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 HC=M(()=>{iJ()});import{watch as ly}from"fs";import{join as XG}from"path";function iy(D){return D.includes("/skills/")||D.includes("\\skills\\")?"skill":"memory"}class JG{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 ly(D,{recursive:!0},(F,X)=>{if(!X)return;let J=XG(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:iy(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=XG(this.home,"skills"),$=XG(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 WC=()=>{};import{existsSync as ny,mkdirSync as sy}from"fs";import{access as ry,stat as oy}from"fs/promises";import{join as GG}from"path";function ay(D){return{id:D.filePath,name:D.name,description:D.description,version:D.version,tags:D.capabilities}}async function _C(D,$){let{createdAt:F,updatedAt:X}=D;if(!F||!X)try{let G=await oy(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 ty(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 ey(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 Du(D){if(D==="feedback"||D==="project"||D==="reference"||D==="user")return D;return"user"}function $u(D){return D.toLowerCase().replace(/[^a-z0-9_\- ]/g,"").replace(/\s+/g,"_").replace(/_+/g,"_").replace(/^_|_$/g,"").slice(0,64)}async function Fu(D,$,F,X){let J=GG(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
236
|
${Y}
|
|
237
237
|
`:`${Y}
|
|
238
238
|
`;await Bun.write(J,W)}else await Bun.write(J,`# Memory index
|
|
239
239
|
|
|
240
240
|
${Y}
|
|
241
|
-
`)}class
|
|
241
|
+
`)}class YG{name="filesystem";home;watcher;watcherStarted=!1;constructor(D){this.home=D.home,this.watcher=new JG({home:D.home})}async health(){let D=new Date().toISOString();try{return await ry(this.home),{name:this.name,status:"healthy",lastChecked:D}}catch{return{name:this.name,status:"down",lastChecked:D}}}async listSkills(){return(await BC(this.home)).map(ay)}async listMemories(D){let $=await FG(this.home),F=await Promise.all($.map((X)=>_C(X)));return ey(F,D)}async searchMemories(D){let $=await FG(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)=>_C(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=Du($.type),Y=GG(this.home,"memories");if(!ny(Y))sy(Y,{recursive:!0});let G=$u(F),B=`${G}.md`,H=GG(Y,B),W=`---
|
|
242
242
|
name: ${F}
|
|
243
243
|
description: ${X}
|
|
244
244
|
type: ${J}
|
|
245
245
|
---
|
|
246
246
|
`;await Bun.write(H,`${W}${D.content}
|
|
247
|
-
`),await
|
|
248
|
-
`);return{proposedName:Y,source:"evolution",bodyMarkdown:U,rationale:D.rationale,status:"pending"}}function
|
|
249
|
-
`);return[{type:"tool_use",id:`plan-${
|
|
247
|
+
`),await Fu(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=ty($);if(F)D(F)})}}var UC=M(()=>{HC();WC()});class BG{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 Xu(D,$){let F;if($.type==="filesystem"){let X=$.config.home??g1(D);F=new YG({home:X})}else F=new $G({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 VC(D,$){let F=$.brains.map((X)=>Xu(D,X));return new BG({sources:F,writeTargetId:$.brainWriteTarget,retrieval:$.brainRetrieval})}var AC=M(()=>{x8();JC();UC()});function QC(D){return D.on((F)=>{try{Ju(F)}catch(X){R.warn(`[evolution] observer failed to persist: ${String(X)}`)}})}function Ju(D){if(!(D.type==="orchestrator.tool_call"||D.type==="orchestrator.finished"))return;p().insert(X2).values({conversationId:typeof D.payload.conversationId==="string"?D.payload.conversationId:null,kind:D.type,payload:D.payload}).run()}var KC=M(()=>{wD();$D()});function CC(D,$=HG){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 V=H.slice(U,U+W),A=Bu(V),Q=J.get(A);if(Q)Q.occurrences+=1,Q.conversations.add(B);else J.set(A,{toolSequence:V,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=Hu(B.occurrences/Y);G.push({toolSequence:B.toolSequence,occurrences:B.occurrences,uniqueConversations:B.conversations.size,confidence:H,rationale:Yu(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}),Gu(G)}function Gu(D){let $=[];for(let F of D){if($.find((Y)=>EC(F.toolSequence,Y.toolSequence)))continue;let J=$.findIndex((Y)=>EC(Y.toolSequence,F.toolSequence));if(J>=0)$.splice(J,1);$.push(F)}return $}function EC(D,$){if(D.length>=$.length)return!1;for(let F=0;F<D.length;F++)if(D[F]!==$[F])return!1;return!0}function Yu(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 Bu(D){return D.join("|")}function Hu(D){if(!Number.isFinite(D))return 0;if(D<0)return 0;if(D>1)return 1;return D}var HG;var RC=M(()=>{HG={nGramMin:2,nGramMax:4,minOccurrences:3,minConversations:2,windowSize:500}});import{createHash as Wu}from"crypto";import _u from"process";function Au(D){return{windowSize:D?.windowSize??C5("EVOLUTION_PROPOSER_WINDOW",Uu),maxDraftsPerRun:D?.maxDraftsPerRun??C5("EVOLUTION_PROPOSER_MAX_DRAFTS_PER_RUN",Vu),intervalMs:D?.intervalMs??C5("EVOLUTION_PROPOSER_INTERVAL_MS",MC)}}async function Qu(D){let $=Au(D),F=p(),X=F.select({conversationId:X2.conversationId}).from(X2).orderBy(W0(X2.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 R.info("[evolution/proposer] no conversations in window; skipping"),{drafts:0};let Y=F.select({conversationId:y2.conversationId,toolName:y2.toolName}).from(y2).where(V7(y2.conversationId,J)).orderBy(F3(y2.conversationId),F3(y2.id)).all(),G=new Map;for(let U of Y){if(!U.conversationId)continue;let V=G.get(U.conversationId);if(V)V.push(U.toolName);else G.set(U.conversationId,[U.toolName])}let B=CC(G,{...HG,windowSize:$.windowSize}),H=Eu(F),W=0;for(let U of B){if(W>=$.maxDraftsPerRun)break;let V=U.toolSequence.join("|");if(H.has(V))continue;let A=Cu(U);F.insert(E0).values(A).run(),H.add(V),W+=1,R.info(`[evolution/proposer] wrote draft ${A.proposedName} (occurrences=${U.occurrences}, convs=${U.uniqueConversations})`)}return R.info(`[evolution/proposer] ${W}/${B.length} candidate(s) written; window=${$.windowSize}, conversations=${J.length}`),{drafts:W}}function ZC(D){let $=D??C5("EVOLUTION_PROPOSER_INTERVAL_MS",MC),F=setInterval(()=>{Qu().catch((X)=>R.warn(`[evolution/proposer] loop run failed: ${String(X)}`))},$);return()=>clearInterval(F)}function Ku(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 Eu(D){let $=new Set,F=D.select({bodyMarkdown:E0.bodyMarkdown}).from(E0).all();for(let J of F){let Y=Ku(J.bodyMarkdown);if(Y)$.add(Y.allowedTools.join("|"))}let X=D.select({config:Q3.config}).from(Q3).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 Cu(D){let $=D.toolSequence.join("|"),F=Wu("sha256").update($).digest("hex").slice(0,6),X=OC(D.toolSequence[0]??"tool"),J=OC(D.toolSequence[D.toolSequence.length-1]??"tool"),Y=`auto-${X}-${J}-${F}`,G=D.toolSequence.join(" \u2192 "),B=D.toolSequence.map((V)=>`\`${V}\``).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 OC(D){return D.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"tool"}function C5(D,$){let F=_u.env[D];if(F===void 0||F==="")return $;let X=Number(F);return Number.isFinite(X)&&X>0?X:$}var MC=21600000,Uu=500,Vu=5;var qC=M(()=>{wD();$D();K0();RC()});var WG;var _G=M(()=>{K4();WG={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:()=>zQ()}});var UG;var VG=M(()=>{K4();UG={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:()=>IQ()}});function AG(D){let $=Ru[D];if(!$)throw Error(`unknown ACP agent: ${D}`);return $}var Ru;var NC=M(()=>{_G();VG();Ru={gemini:WG,qwen:UG}});import Ou from"process";function Pu(D){if(Mu.has(D))return!0;return Zu.some(($)=>D.startsWith($))}function Lu(D){if(qu.some(($)=>D.startsWith($)))return!0;if(Nu.some(($)=>D.endsWith($)))return!0;return!1}function U2(D,$=Ou.env){let F={};for(let[X,J]of Object.entries($)){if(J===void 0)continue;if(Lu(X))continue;if(!Pu(X))continue;F[X]=J}if(D)for(let[X,J]of Object.entries(D))F[X]=J;return F}var Mu,Zu,qu,Nu;var P6=M(()=>{Mu=new Set(["PATH","HOME","USER","LOGNAME","SHELL","PWD","LANG","TZ","TERM","TMPDIR","TMP","TEMP"]),Zu=["LC_","NODE_","NPM_CONFIG_","XDG_","CLAUDE_","CODEX_","CURSOR_","GEMINI_","QWEN_"],qu=["AIWORKER_","INTERNAL_","WORKER_"],Nu=["_TOKEN","_SECRET","_API_KEY","_PRIVATE_KEY","_PASSWORD"]});function KG(D){let $=D.sessionUpdate,F=D;switch($){case"agent_message_chunk":{let X=QG(F.content);if(!X)return[];return[{type:"assistant_message_delta",delta:X}]}case"agent_thinking_chunk":{let X=QG(F.content);if(!X)return[];return[{type:"thinking_delta",delta:X}]}case"user_message_chunk":return[];case"tool_call":return ju(F);case"tool_call_update":return zu(F);case"plan":return Iu(F.entries);case"available_commands_update":case"current_mode_update":return[];default:return[]}}function PC(D,$,F){let X=F??{};switch(D){case"read":return{kind:"file_read",path:W9(X,["file_path","path","absolute_path","filePath"])};case"edit":case"delete":case"move":{let J=W9(X,["file_path","path","absolute_path","filePath"]),Y=Tu(X);return{kind:"file_edit",path:J,...Y?{diff:Y}:{}}}case"execute":return{kind:"command_run",command:W9(X,["command","cmd","shell_command","script"])};case"search":return{kind:"search",query:W9(X,["query","pattern","q","search"])};case"fetch":return{kind:"web_fetch",url:W9(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 EG(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 ju(D){let $=[],F=D.toolCallId;if(!F)return $;let X=D.rawInput??{},J=PC(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:wu(D.status)}:{}}),jC(D.status)){let G=LC(D.content);$.push({type:"tool_result",id:F,name:Y,content:G,...D.status==="failed"||D.status==="cancelled"?{isError:!0}:{}})}return $}function zu(D){let $=D.toolCallId;if(!$||!jC(D.status))return[];let F=LC(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 Iu(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-${Su($)}`,name:"plan",arguments:{entries:D},action:{kind:"task_plan",summary:$}}]}function QG(D){if(!D)return"";if(D.type==="text"&&typeof D.text==="string")return D.text;return""}function LC(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=QG(X);if(J)$.push(J)}else if(F.type==="diff"){let X=F,J=X.oldText??"",Y=X.newText??"";$.push(`--- ${X.path??""}
|
|
250
250
|
- ${J}
|
|
251
251
|
+ ${Y}`)}else if(F.type==="terminal"){let X=F;$.push(`[terminal:${X.terminalId??""}]`)}}return $.join(`
|
|
252
|
-
`)}function
|
|
253
|
-
+ ${F}`;if(F!==void 0)return F;return}function
|
|
252
|
+
`)}function wu(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 jC(D){return D==="completed"||D==="failed"||D==="cancelled"}function W9(D,$){for(let F of $){let X=D[F];if(typeof X==="string"&&X.length>0)return X}return""}function Tu(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 Su(D){let $=5381;for(let F=0;F<D.length;F++)$=($<<5)+$+D.charCodeAt(F)>>>0;return $.toString(36)}class j8{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
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
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
|
|
257
|
-
`)}if(D===void 0||D===null)return"";return JSON.stringify(D)}function
|
|
258
|
-
+ ${D.new_string}`;if(typeof D.content==="string")return D.content;return}function
|
|
259
|
-
`),F.decision==="ask"){let J=
|
|
260
|
-
`)}}function
|
|
256
|
+
`)}catch(J){this.options.onError?.(J instanceof Error?J:Error(String(J)))}}}function Q1(D,$){let X=(D+$).split(/\r?\n/),J=X.pop()??"";return{lines:X.filter((Y)=>Y.trim().length>0),remainder:J}}import{spawn as bu}from"child_process";import{once as fu}from"events";import ku from"fs/promises";import vu from"path";import L6 from"process";function wC(D,$){let F=$?.trim();if(F&&F.length>0)return F;let X=L6.env[D.versionEnvVar]?.trim();if(X&&X.length>0)return X;return D.defaultVersion}class R5{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()+gu,info:F},F}async*runIterable(D){let $=uu(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??L6.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??bu)(X.cmd,X.args,{cwd:F,env:U2(this.options.env)}),G=new TC,B=new j8({writeLine:(K)=>{try{Y.stdin.write(K)}catch{}},onNotification:(K)=>this.handleNotification(K,G),onRequest:(K)=>this.handleInboundRequest(K),onError:(K)=>{G.push({type:"error",error:K.message})},requestTimeoutMs:this.options.timeoutMs??zC}),H="",W=(K)=>{let{lines:Z,remainder:q}=Q1(H,K.toString("utf8"));H=q;for(let P of Z)B.handleLine(P)};Y.stdout.on("data",W);let U=null;Y.on("error",(K)=>{U=K.message});let V=fu(Y,"exit").then((K)=>K[0]??null).catch((K)=>{return U=K instanceof Error?K.message:String(K),null});V.then((K)=>{if(K===0)return;let Z=U??(K===null?"acp child exited unexpectedly":`acp child exited with code ${K}`);G.close({kind:"error",message:Z}),B.dispose(Z)});let A=setTimeout(()=>IC(Y,"SIGKILL"),this.options.timeoutMs??zC),Q="",C=!1,E=()=>{if(C=!0,Q)B.notify("session/cancel",{sessionId:Q});setTimeout(()=>IC(Y,"SIGTERM"),200)};D.signal?.addEventListener("abort",E,{once:!0});try{if(await B.request("initialize",{protocolVersion:hu,clientCapabilities:{},clientInfo:{name:"aiworker",version:"0.2.0"}}),Q=(await B.request("session/new",{cwd:F,mcpServers:[]})).sessionId,!Q){yield{type:"error",error:"ACP session/new returned no sessionId"},yield{type:"finish",reason:"error"};return}B.request("session/prompt",{sessionId:Q,prompt:[{type:"text",text:$}]}).then((P)=>G.close({kind:"finish",stopReason:P.stopReason}),(P)=>G.close({kind:"error",message:P instanceof Error?P.message:String(P)}));for await(let P of G.iter())yield P;let q=G.terminal;if(q?.kind==="finish")yield{type:"finish",reason:EG(q.stopReason)};else if(q?.kind==="error")yield{type:"error",error:q.message},yield{type:"finish",reason:C?"cancelled":"error"};else yield{type:"finish",reason:C?"cancelled":"stop"}}catch(K){yield{type:"error",error:K instanceof Error?K.message:String(K)},yield{type:"finish",reason:C?"cancelled":"error"}}finally{clearTimeout(A),D.signal?.removeEventListener("abort",E),B.dispose("run ended"),Y.stdout.off("data",W),yu(Y),await V.catch(()=>null)}}handleNotification(D,$){if(D.method!=="session/update")return;let F=D.params;if(!F||!F.update)return;for(let X of KG(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??xu)($.commandName);if(Y)return{cmd:Y,args:X};let G=wC($,this.options.cliVersion);return{cmd:"npx",args:["-y",`${$.npxPackage}@${G}`,...X]}}}class TC{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 xu(D){let $=L6.env.PATH??"",F=L6.platform==="win32"?";":":",X=L6.platform==="win32"?(L6.env.PATHEXT??".EXE").split(";"):[""];for(let J of $.split(F)){if(!J)continue;for(let Y of X){let G=vu.join(J,`${D}${Y.toLowerCase()}`);try{if((await ku.stat(G)).isFile())return G}catch{}}}return null}function IC(D,$){try{D.kill($)}catch{}}function yu(D){try{D.stdin.end()}catch{}}function uu(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 zC=120000,hu=1,gu=600000;var SC=M(()=>{P6()});var bC=M(()=>{_G();NC();VG();SC()});function CG(D){switch(D.type){case"assistant":return mu(D);case"user":return pu(D);case"result":return cu(D);case"stream_event":return du(D);default:return[]}}function mu(D){let $=[],F=D.message??{};for(let X of F.content??[]){let J=lu(X);if(J)$.push(J)}return nu($,F),$}function pu(D){let $=[],F=D.message??{};for(let X of F.content??[])if(X.type==="tool_result")$.push(fC(X));return $}function cu(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=ru(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 du(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 lu(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:kC(F,X)}}case"tool_result":return fC(D);default:return null}}function fC(D){let $=typeof D.tool_use_id==="string"?D.tool_use_id:"",F=D.is_error===!0,X=iu(D.content);return{type:"tool_result",id:$,name:"",content:X,...F?{isError:!0}:{}}}function iu(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 nu(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 kC(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=su($);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 su(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 ru(D){switch(D){case"success":case"completion":return"stop";case"error":return"error";default:return"stop"}}function K1(D,$){let X=(D+$).split(/\r?\n/),J=X.pop()??"";return{lines:X.filter((Y)=>Y.trim().length>0),remainder:J}}function RG(D){try{let $=JSON.parse(D);if($&&typeof $==="object"&&"type"in $)return $;return null}catch{return null}}class M5{policy;writeLine;constructor(D){this.policy=D.policy??O5,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=ou($,F);if(this.writeLine(`${JSON.stringify(X)}
|
|
259
|
+
`),F.decision==="ask"){let J=au($);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 ou(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 au(D){let $=D.request;if(typeof $.tool_use_id==="string")return $.tool_use_id;if(typeof $.toolUseId==="string")return $.toolUseId;return}var O5;var OG=M(()=>{O5={decide:async(D)=>({decision:"allow"})}});import{spawn as tu}from"child_process";import{once as eu}from"events";import Dm from"fs/promises";import $m from"path";import Z5 from"process";class N5{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 $=Gm(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??tu,J,Y;try{({cmd:J,args:Y}=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 G=X(J,Y,{cwd:F,env:U2(this.options.env)}),B=new M5({policy:this.options.policy??O5,writeLine:(K)=>{try{G.stdin.write(K)}catch{}}});B.sendUserMessage($);let H=this.options.timeoutMs??Fm,W=setTimeout(()=>vC(G,"SIGKILL"),H),U="",V=null,A=!1,Q=eu(G,"exit").then((K)=>K[0]??null).catch((K)=>{return V=K instanceof Error?K.message:String(K),null});G.on("error",(K)=>{V=K.message});let C=()=>vC(G,"SIGTERM");D.signal?.addEventListener("abort",C,{once:!0});try{for await(let K of G.stdout){let{lines:Z,remainder:q}=K1(U,K.toString("utf8"));U=q;for(let P of Z){let z=RG(P);if(!z)continue;if(z.type==="control_request"){let S=await B.handleLine(z);for(let L of S)yield L;continue}for(let S of CG(z))if(yield S,S.type==="finish")A=!0;if(A)break}if(A)break}}catch(K){yield{type:"error",error:K instanceof Error?K.message:String(K)}}finally{clearTimeout(W),D.signal?.removeEventListener("abort",C),Jm(G)}let E=await Q;if(!A){if(V)yield{type:"error",error:V};else if(E!==0&&E!==null)yield{type:"error",error:`Claude Code exited with code ${E}`};yield{type:"finish",reason:E===0?"stop":"error"}}}async resolveCommand(D){let $=hC(D??this.options.model,this.options.extraArgs),X=await(this.options.resolveClaudeBinary??Xm)();if(X)return{cmd:X,args:$};return{cmd:"npx",args:["-y",`@anthropic-ai/claude-code@${this.options.cliVersion?.trim()||q5}`,...$]}}}function hC(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 Xm(){let D=Z5.env.PATH??"",$=Z5.platform==="win32"?";":":",F=Z5.platform==="win32"?(Z5.env.PATHEXT??".EXE").split(";"):[""];for(let X of D.split($)){if(!X)continue;for(let J of F){let Y=$m.join(X,`claude${J.toLowerCase()}`);try{if((await Dm.stat(Y)).isFile())return Y}catch{}}}return null}function vC(D,$){try{D.kill($)}catch{}}function Jm(D){try{D.stdin.end()}catch{}}function Gm(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 q5="2.1.112",Fm=120000;var gC=M(()=>{P6();OG()});var xC=M(()=>{gC();OG()});function MG(D){let $=D.params??{};switch(D.method){case"codex/event/assistant_message":return Ym($);case"codex/event/thinking":return Bm($);case"codex/event/token_usage":return Hm($);case"codex/event/tool_call":return Wm($);case"codex/event/tool_result":return _m($);case"codex/event/stop":return Um($);case"codex/event/error":return[{type:"error",error:typeof $.message==="string"?$.message:"codex error"}];default:return[]}}function Ym(D){let $=mC(D.delta,D.text);if(!$)return[];return[{type:"assistant_message_delta",delta:$}]}function Bm(D){let $=mC(D.delta,D.text);if(!$)return[];return[{type:"thinking_delta",delta:$}]}function Hm(D){let $=D.usage??{};return[{type:"token_usage",usage:{inputTokens:$.input_tokens??0,outputTokens:$.output_tokens??0}}]}function Wm(D){if(!D.id||!D.name)return[];let $=D.arguments??{};return[{type:"tool_use",id:D.id,name:D.name,arguments:$,action:yC(D.name,$),...D.status?{status:Vm(D.status)}:{}}]}function _m(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 Um(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:uC(D.reason)}),$}function yC(D,$){let F=D.toLowerCase();if(F==="read"||F==="view"||F==="open_file")return{kind:"file_read",path:_9($,["path","file_path","filePath"])};if(F==="edit"||F==="write"||F==="apply_patch"||F==="patch"){let X=_9($,["path","file_path","filePath"]),J=Am($);return{kind:"file_edit",path:X,...J?{diff:J}:{}}}if(F==="bash"||F==="run_shell"||F==="shell"||F==="exec")return{kind:"command_run",command:_9($,["command","cmd","script"])};if(F==="grep"||F==="search"||F==="find")return{kind:"search",query:_9($,["query","pattern"])};if(F==="web_fetch"||F==="fetch"||F==="http_get")return{kind:"web_fetch",url:_9($,["url","uri"])};return{kind:"tool",toolName:D,...Object.keys($).length>0?{arguments:$}:{}}}function uC(D){switch(D){case"max_tokens":return"length";case"cancelled":return"cancelled";case"error":return"error";case"stop":default:return"stop"}}function Vm(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 mC(...D){for(let $ of D)if(typeof $==="string"&&$.length>0)return $;return""}function _9(D,$){for(let F of $){let X=D[F];if(typeof X==="string"&&X.length>0)return X}return""}function Am(D){if(typeof D.old_string==="string"&&typeof D.new_string==="string")return`- ${D.old_string}
|
|
261
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
|
|
262
|
+
+ ${D.newText}`;if(typeof D.diff==="string")return D.diff;if(typeof D.content==="string")return D.content;return}var ZG=()=>{};import{spawn as Qm}from"child_process";import{once as Km}from"events";import Em from"fs/promises";import Cm from"path";import j6 from"process";class L5{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 $=Zm(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??j6.cwd(),X;try{X=await this.resolveCommand()}catch(K){yield{type:"error",error:K instanceof Error?K.message:String(K)},yield{type:"finish",reason:"error"};return}let Y=(this.options.spawn??Qm)(X.cmd,X.args,{cwd:F,env:U2(this.options.env)}),G=new dC,B=new j8({writeLine:(K)=>{try{Y.stdin.write(K)}catch{}},onNotification:(K)=>this.handleNotification(K,G),onRequest:(K)=>this.handleInboundRequest(K),onError:(K)=>G.push({type:"error",error:K.message}),requestTimeoutMs:this.options.timeoutMs??pC}),H="",W=(K)=>{let{lines:Z,remainder:q}=Q1(H,K.toString("utf8"));H=q;for(let P of Z)B.handleLine(P)};Y.stdout.on("data",W);let U=null;Y.on("error",(K)=>{U=K.message});let V=Km(Y,"exit").then((K)=>K[0]??null).catch((K)=>{return U=K instanceof Error?K.message:String(K),null});V.then((K)=>{if(K===0)return;let Z=U??(K===null?"codex child exited unexpectedly":`codex child exited with code ${K}`);G.close({kind:"error",message:Z}),B.dispose(Z)});let A=this.options.timeoutMs??pC,Q=setTimeout(()=>cC(Y,"SIGKILL"),A),C=!1,E=()=>{C=!0,cC(Y,"SIGTERM")};D.signal?.addEventListener("abort",E,{once:!0});try{await B.request("initialize",{protocolVersion:Rm,clientInfo:{name:"aiworker",version:"0.2.0"}});let K={approval_policy:"never"},Z=D.model??this.options.model;if(Z&&Z.length>0)K.model=Z;let q=await B.request("thread_start",K);if(!q?.threadId){yield{type:"error",error:"Codex thread_start returned no threadId"},yield{type:"finish",reason:"error"};return}B.request("newTurn",{threadId:q.threadId,prompt:$}).then(()=>G.close({kind:"finish"}),(L)=>G.close({kind:"error",message:L instanceof Error?L.message:String(L)}));let z=!1;for await(let L of G.iter())if(yield L,L.type==="finish")z=!0;let S=G.terminal;if(S?.kind==="error")yield{type:"error",error:S.message},yield{type:"finish",reason:C?"cancelled":"error"};else if(!z)yield{type:"finish",reason:C?"cancelled":"stop"}}catch(K){yield{type:"error",error:K instanceof Error?K.message:String(K)},yield{type:"finish",reason:C?"cancelled":"error"}}finally{clearTimeout(Q),D.signal?.removeEventListener("abort",E),B.dispose("run ended"),Y.stdout.off("data",W),Mm(Y),await V.catch(()=>null)}}handleNotification(D,$){for(let F of MG(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??Om)();if(F)return{cmd:F,args:D};return{cmd:"npx",args:["-y",`@openai/codex@${this.options.cliVersion?.trim()||j6.env.CODEX_CLI_VERSION?.trim()||P5}`,...D]}}}class dC{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 Om(){let D=j6.env.PATH??"",$=j6.platform==="win32"?";":":",F=j6.platform==="win32"?(j6.env.PATHEXT??".EXE").split(";"):[""];for(let X of D.split($)){if(!X)continue;for(let J of F){let Y=Cm.join(X,`codex${J.toLowerCase()}`);try{if((await Em.stat(Y)).isFile())return Y}catch{}}}return null}function cC(D,$){try{D.kill($)}catch{}}function Mm(D){try{D.stdin.end()}catch{}}function Zm(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 P5="0.121.0",pC=120000,Rm=1;var lC=M(()=>{P6();ZG()});var iC=M(()=>{lC();ZG()});function qG(D){try{let $=JSON.parse(D);if($&&typeof $==="object"&&"type"in $&&typeof $.type==="string")return $;return null}catch{return null}}function NG(D){switch(D.type){case"system":return[];case"assistant_message":return qm(D);case"thinking":return Nm(D);case"tool_use":return Pm(D);case"tool_result":return Lm(D);case"token_usage":return jm(D);case"stop":case"end":return zm(D);case"error":return[{type:"error",error:typeof D.message==="string"?D.message:"cursor error"}];default:return[]}}function PG(D){let $=D.session_id;if(typeof $==="string"&&$.length>0)return $;return""}function qm(D){let $=rC(D.delta,D.text);if(!$)return[];return[{type:"assistant_message_delta",delta:$}]}function Nm(D){let $=rC(D.delta,D.text);if(!$)return[];return[{type:"thinking_delta",delta:$}]}function Pm(D){if(!D.id||!D.name)return[];let $=D.input??{};return[{type:"tool_use",id:D.id,name:D.name,arguments:$,action:sC(D.name,$),...D.status?{status:Im(D.status)}:{}}]}function Lm(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 jm(D){let $=D.usage??{};return[{type:"token_usage",usage:{inputTokens:$.input_tokens??0,outputTokens:$.output_tokens??0}}]}function zm(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:nC(D.reason)}),$}function nC(D){switch(D){case"length":return"length";case"cancelled":return"cancelled";case"error":return"error";case"stop":case"end_turn":default:return"stop"}}function Im(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 sC(D,$){let F=D.toLowerCase();if(F==="read_file"||F==="read"||F==="view"||F==="open")return{kind:"file_read",path:U9($,["path","file_path","filePath"])};if(F==="edit_file"||F==="edit"||F==="write"||F==="write_file"||F==="apply_patch"){let X=U9($,["path","file_path","filePath"]),J=wm($);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:U9($,["command","cmd","script"])};if(F==="grep"||F==="grep_search"||F==="codebase_search"||F==="search"||F==="find")return{kind:"search",query:U9($,["query","pattern"])};if(F==="web_fetch"||F==="fetch"||F==="web_search")return{kind:"web_fetch",url:U9($,["url","uri"])};return{kind:"tool",toolName:D,...Object.keys($).length>0?{arguments:$}:{}}}function rC(...D){for(let $ of D)if(typeof $==="string"&&$.length>0)return $;return""}function U9(D,$){for(let F of $){let X=D[F];if(typeof X==="string"&&X.length>0)return X}return""}function wm(D){if(typeof D.old_string==="string"&&typeof D.new_string==="string")return`- ${D.old_string}
|
|
263
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
|
|
265
|
-
`),F.stdin.end();let Y=setTimeout(()=>F.kill("SIGKILL"),$),[G]=await
|
|
264
|
+
+ ${D.newText}`;if(typeof D.diff==="string")return D.diff;if(typeof D.content==="string")return D.content;return}var LG=()=>{};import{spawn as Tm}from"child_process";import{once as Sm}from"events";import bm from"fs/promises";import fm from"path";import V9 from"process";class j5{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 $=gm(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??V9.cwd(),X;try{X=await this.resolveCommand(D.model)}catch(E){yield{type:"error",error:E instanceof Error?E.message:String(E)},yield{type:"finish",reason:"error"};return}let Y=(this.options.spawn??Tm)(X.cmd,X.args,{cwd:F,env:U2(this.options.env)});try{Y.stdin.write($),Y.stdin.end()}catch{}let G=this.options.timeoutMs??km,B=setTimeout(()=>oC(Y,"SIGKILL"),G),H="",W=null,U=!1,V=Sm(Y,"exit").then((E)=>E[0]??null).catch((E)=>{return W=E instanceof Error?E.message:String(E),null});Y.on("error",(E)=>{W=E.message});let A=!1,Q=()=>{A=!0,oC(Y,"SIGTERM")};D.signal?.addEventListener("abort",Q,{once:!0});try{for await(let E of Y.stdout){let{lines:K,remainder:Z}=K1(H,E.toString("utf8"));H=Z;for(let q of K){let P=qG(q);if(!P)continue;let z=PG(P);if(z)this.lastSessionId=z;for(let S of NG(P))if(yield S,S.type==="finish")U=!0;if(U)break}if(U)break}}catch(E){yield{type:"error",error:E instanceof Error?E.message:String(E)}}finally{clearTimeout(B),D.signal?.removeEventListener("abort",Q),hm(Y)}let C=await V;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:A?"cancelled":C===0?"stop":"error"}}}async resolveCommand(D){let F=await(this.options.resolveBinary??vm)();if(!F)throw Error("cursor-agent binary not found on PATH (install https://cursor.com/cli)");let X=D??this.options.model,J=aC({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 aC(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 vm(){let D=V9.env.PATH??"",$=V9.platform==="win32"?";":":",F=V9.platform==="win32"?(V9.env.PATHEXT??".EXE").split(";"):[""];for(let X of D.split($)){if(!X)continue;for(let J of F){let Y=fm.join(X,`cursor-agent${J.toLowerCase()}`);try{if((await bm.stat(Y)).isFile())return Y}catch{}}}return null}function oC(D,$){try{D.kill($)}catch{}}function hm(D){try{D.stdin.end()}catch{}}function gm(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 km=120000;var tC=M(()=>{P6();LG()});var eC=M(()=>{tC();LG()});class zG{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*DR(this.primary,D);if($.kind==="ok")return;if($.yielded)throw $.error;let F=xm($.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*DR(J.executor,D);if(B.kind==="ok")return;if(B.yielded)throw B.error;X=B.error}}throw X}}async function*DR(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 xm(D){if(D===null||D===void 0)return"unknown";let $=$R(D,"status")??$R(D,"statusCode"),F=jG(D,"code"),X=jG(D,"name"),Y=(jG(D,"message")??ym(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 $R(D,$){if(typeof D!=="object"||D===null)return;let F=D[$];return typeof F==="number"?F:void 0}function jG(D,$){if(typeof D!=="object"||D===null)return;let F=D[$];return typeof F==="string"?F:void 0}function ym(D){if(typeof D==="string")return D;if(D instanceof Error)return D.message;try{return String(D)}catch{return""}}import{Buffer as FR}from"buffer";import{spawn as XR}from"child_process";import{once as JR}from"events";class IG{opts;name="cli";constructor(D){this.opts=D}async health(){let D=new Date().toISOString();try{let $=XR(this.opts.command,["--version"],{cwd:this.opts.cwd,env:U2(this.opts.env),stdio:["ignore","pipe","pipe"]}),F=await Promise.race([JR($,"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=XR(this.opts.command,this.opts.args,{cwd:this.opts.cwd,env:U2(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 JR(F,"exit");if(clearTimeout(Y),G!==0){let B=FR.concat(J).toString("utf8");throw Error(`CLI executor exited with ${G??"null"}: ${B||"(no stderr)"}`)}return FR.concat(X).toString("utf8")}}var GR=M(()=>{P6()});var um,mm,pm,z5;var wG=M(()=>{vD();um=_.object({index:_.number().optional(),id:_.string().optional(),type:_.literal("function").optional(),function:_.object({name:_.string().optional(),arguments:_.string().optional()}).optional()}),mm=_.object({role:_.enum(["system","user","assistant","tool"]).optional(),content:_.string().nullable().optional(),tool_calls:_.array(um).optional()}),pm=_.object({prompt_tokens:_.number(),completion_tokens:_.number(),total_tokens:_.number()}),z5=_.object({id:_.string(),object:_.literal("chat.completion.chunk"),created:_.number(),model:_.string(),choices:_.array(_.object({index:_.number(),delta:mm,finish_reason:_.enum(["stop","length","tool_calls","content_filter","function_call"]).nullable()})),usage:pm.nullish()})});async function TG(D){let $=D.baseUrl.replace(/\/+$/,""),F=D.timeoutMs??cm,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 A9(G.status,G.statusText,B)}if(!G.body)throw clearTimeout(J),D.signal?.removeEventListener("abort",Y),Error("OpenAI response has no body");return dm(G.body,()=>{clearTimeout(J),D.signal?.removeEventListener("abort",Y)})}async function*dm(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=lm(J);if(B===-1)break;let H=J.slice(0,B);J=J.slice(B).replace(/^\r?\n\r?\n/,"");let W=YR(H);if(!W)continue;if(W==="[DONE]"){yield{type:"done"};return}let U;try{U=JSON.parse(W)}catch{continue}let V=z5.safeParse(U);if(!V.success)continue;yield{type:"chunk",chunk:V.data}}}if(J.trim().length>0){let Y=YR(J);if(Y&&Y!=="[DONE]")try{let G=JSON.parse(Y),B=z5.safeParse(G);if(B.success)yield{type:"chunk",chunk:B.data}}catch{}}}finally{$();try{F.releaseLock()}catch{}}}function lm(D){let $=D.indexOf(`
|
|
266
266
|
|
|
267
267
|
`),F=D.indexOf(`\r
|
|
268
268
|
\r
|
|
269
|
-
`);if($===-1)return F;if(F===-1)return $;return Math.min($,F)}function
|
|
270
|
-
`);if(X==="[DONE]")return"[DONE]";return X}var
|
|
271
|
-
`)}function
|
|
272
|
-
`)}]}async function
|
|
273
|
-
`)}async runTool(D){let $=
|
|
274
|
-
`),{mode:384}),
|
|
275
|
-
`)){let X=F.trim();if(!X||X.startsWith("#"))continue;let J=X.indexOf("=");if(J<=0)continue;let Y=X.slice(0,J).trim(),G=X.slice(J+1).trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))G=G.slice(1,-1);$[Y]=G}return $}function
|
|
269
|
+
`);if($===-1)return F;if(F===-1)return $;return Math.min($,F)}function YR(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 cm=60000,A9;var BR=M(()=>{wG();A9=class A9 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 HR=M(()=>{BR();wG()});class SG{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(nm),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(im),$.tool_choice="auto";let F;try{F=await TG({baseUrl:this.baseUrl,apiKey:this.apiKey,timeoutMs:this.timeoutMs,body:$,signal:D.signal})}catch(G){yield{type:"error",error:WR(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)sm(X,W);if(B.finish_reason)J=om(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:WR(G)};return}for(let[,G]of Array.from(X.entries()).sort(([B],[H])=>B-H)){let B=rm(G);if(B)yield B}if(Y)yield{type:"token_usage",usage:Y};yield{type:"finish",reason:J??"stop",...Y?{usage:Y}:{}}}}function im(D){return{type:"function",function:{name:D.name,description:D.description,parameters:D.inputSchema}}}function nm(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 sm(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 rm(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 om(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 WR(D){if(D instanceof A9)return D.message;if(D instanceof Error)return D.message;return"Unknown executor error"}var _R=M(()=>{HR()});class bG{name="mcp";client;constructor(D){this.client=new N6({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 UR=M(()=>{eJ()});import VR from"process";function kG(D){let $=am(D);if(!D.fallbacks||D.fallbacks.length===0)return $;let F=D.fallbacks.map((X)=>({executor:kG(X.executor),onErrorKinds:X.onErrorKinds,maxRetries:X.maxRetries??1}));return new zG($,F)}function am(D){let $=W8(D);switch($.engine){case"http":{let F=$.body;return new SG({baseUrl:F.baseUrl,apiKey:F.apiKey,model:$.modelId??F.model,timeoutMs:F.timeoutMs})}case"mcp":{let F=$.body;return new bG({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=fG(F.env,X?.env);return new IG({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??VR.env.CLAUDE_CLI_VERSION??q5,Y=$.modelId??F.model,G=AR(F.extraArgs,X?.extraArgs),B=fG(F.env,X?.env);return new N5({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=AR(F.extraArgs,X?.extraArgs),B=fG(F.env,X?.env),H=AG(F.agent);return new R5({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??VR.env.CODEX_CLI_VERSION??P5,Y=$.modelId??F.model,G=X?.extraArgs,B=X?.env;return new L5({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 j5({...J===void 0?{}:{model:J},...Y===void 0?{}:{extraArgs:Y},...G===void 0?{}:{env:G},...F.timeoutMs===void 0?{}:{timeoutMs:F.timeoutMs}})}}}function AR(D,$){if(!D&&!$)return;return[...D??[],...$??[]]}function fG(D,$){if(!D&&!$)return;return{...D??{},...$??{}}}var QR=M(()=>{n8();bC();xC();iC();eC();GR();_R();UR()});import{Buffer as KR}from"buffer";import{spawn as tm}from"child_process";import{once as em}from"events";import z6 from"fs/promises";import l2 from"path";import Dp from"process";function ER(D,$,F){if(!OR.test(F))throw new w5(`invalid conversation id: ${F}`);let X=l2.resolve(D),J=l2.resolve(X,$);if(!CR(X,J))throw new w5(`workspace subdir "${$}" escapes root`);let Y=l2.resolve(J,F);if(!CR(J,Y))throw new w5(`workspace "${F}" escapes parent`);return Y}function CR(D,$){let F=l2.relative(D,$);return F===""||!F.startsWith("..")&&!l2.isAbsolute(F)}class vG{root;subdir;gitOrigin;inflight=new Map;constructor(D){this.root=l2.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 $=ER(this.root,this.subdir,D);if(await I5($)){let F=await I5(l2.join($,".git"));return{conversationId:D,path:$,isGitWorktree:F}}if(await z6.mkdir(l2.dirname($),{recursive:!0}),this.gitOrigin)return await this.addGitWorktree(this.gitOrigin,$),{conversationId:D,path:$,isGitWorktree:!0};return await z6.mkdir($,{recursive:!0}),{conversationId:D,path:$,isGitWorktree:!1}}async disposeWorkspace(D){let $=ER(this.root,this.subdir,D);if(!await I5($))return;if(this.gitOrigin){if(await this.removeGitWorktree(this.gitOrigin,$))return}await z6.rm($,{recursive:!0,force:!0})}async purgeAll(){let D=l2.resolve(this.root,this.subdir);if(!await I5(D))return;let $=await z6.readdir(D);await Promise.all($.map(async(F)=>{if(!OR.test(F))return;await this.disposeWorkspace(F).catch(()=>{return})}))}async addGitWorktree(D,$){let F=await RR(["worktree","add","--detach",$],D);if(F.code!==0)throw await z6.mkdir($,{recursive:!0}),Error(`git worktree add failed (code=${F.code}): ${F.stderr.trim()}`)}async removeGitWorktree(D,$){return(await RR(["worktree","remove","--force",$],D)).code===0}}async function I5(D){try{return await z6.stat(D),!0}catch{return!1}}async function RR(D,$){let F=tm("git",D,{cwd:$,env:Dp.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 em(F,"exit");return{code:Y,stdout:KR.concat(X).toString("utf8"),stderr:KR.concat(J).toString("utf8")}}var OR,w5;var MR=M(()=>{OR=/^[\w-]{1,128}$/;w5=class w5 extends Error{constructor(D){super(D);this.name="WorkspaceEscapeError"}}});async function ZR(D){let $=p(),F=D.threadId?Z2(m(KD.channel,D.channel),m(KD.chatId,D.chatId),m(KD.threadId,D.threadId),m(KD.status,"open")):Z2(m(KD.channel,D.channel),m(KD.chatId,D.chatId),m(KD.status,"open"));return $.select().from(KD).where(F).orderBy(W0(KD.lastActiveAt)).get()??null}function Fp(){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 Xp(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:Fp()},{role:"user",content:X.join(`
|
|
272
|
+
`)}]}async function qR(D,$,F,X,J,Y){let G={messages:Xp(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 R.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 hG(D,$=$p){return p().select({role:X0.role,content:X0.content}).from(X0).where(m(X0.conversationId,D)).orderBy(W0(X0.id)).limit($).all().reverse()}var $p=4;var NR=M(()=>{wD();$D();K0()});function PR(D,$){if(!$)return"auto";for(let F of $.rules)if(Jp(F.pattern,D))return F.action;return $.default}function Jp(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 gG{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=p(),G=await this.loadHistoryWindow(D.id),H=[{role:"system",content:await this.buildSystemPrompt(D.summary??null)},...G],W=LR(this.deps.config.executor),U={messages:H,...W?{model:W}:{},...F?{workspacePath:F.path}:{},signal:X},V="";try{for await(let Q of this.deps.executor.run(U))if(J(),Q.type==="assistant_message_delta")V+=Q.delta,this.deps.bus.emit("orchestrator.text",{conversationId:D.id,delta:Q.delta});else if(Q.type==="tool_use")this.deps.bus.emit("orchestrator.tool_call",{conversationId:D.id,call:{id:Q.id,name:Q.name,arguments:Q.arguments}});else if(Q.type==="error"){R.warn(`[orchestrator] executor error: ${Q.error}`),this.deps.bus.emit("orchestrator.error",{conversationId:D.id,error:Q.error});return}}catch(Q){R.error(`[orchestrator] run failed: ${String(Q)}`),this.deps.bus.emit("orchestrator.error",{conversationId:D.id,error:String(Q)});return}let A=new Date().toISOString();Y.insert(X0).values({conversationId:D.id,role:"assistant",content:V,createdAt:A}).run(),Y.update(KD).set({lastActiveAt:A}).where(m(KD.id,D.id)).run(),this.deps.bus.emit("orchestrator.finished",{conversationId:D.id}),await this.deliver($.channel,D,V)}async deliver(D,$,F){let X=this.deps.config.channels.find((Y)=>Y.channel===D&&Y.enabled);if(!X)return;let J=a8(D);try{await J.send(X,{channel:D,chatId:$.chatId,...$.threadId===void 0?{}:{threadId:$.threadId},text:F})}catch(Y){R.warn(`[orchestrator] deliver to ${D} failed: ${String(Y)}`)}}async resolveConversation(D){let $=p(),F=await ZR(D);if(!F)return this.createConversation(D);let X=await this.provisionWorkspace(F.id),J=await hG(F.id),Y=LR(this.deps.config.executor),G=await qR(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 jR(F);let B=new Date().toISOString();$.update(KD).set({status:"closed",closedAt:B}).where(m(KD.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)=>R.warn(`[orchestrator] dispose workspace job failed: ${String(W)}`)),this.createConversation(D)}async provisionWorkspace(D){try{return await this.deps.workspaces.createWorkspace(D)}catch($){return R.warn(`[orchestrator] workspace create failed for ${D}: ${String($)}`),null}}async disposeWorkspace(D){try{await this.deps.workspaces.disposeWorkspace(D)}catch($){R.warn(`[orchestrator] workspace dispose failed for ${D}: ${String($)}`)}}createConversation(D){let $=p(),F=crypto.randomUUID(),X=new Date().toISOString();$.insert(KD).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(KD).where(m(KD.id,F)).get();return this.deps.bus.emit("conversation.created",{conversationId:F,channel:D.channel,chatId:D.chatId}),jR(J)}persistUserMessage(D,$){let F=p(),X=new Date().toISOString(),J=$.richMetadata?JSON.stringify($.richMetadata):null,Y=F.insert(X0).values({conversationId:D,role:"user",content:$.text,...J===null?{}:{richMetadata:J},createdAt:X}).returning({id:X0.id}).all();return F.update(KD).set({lastActiveAt:X}).where(m(KD.id,D)).run(),{id:Y[0]?.id??-1}}async loadHistoryWindow(D){let $=this.deps.config.orchestrator?.maxHistoryMessages??n9;return(await hG(D,$)).map((X)=>({role:X.role,content:X.content}))}async buildSystemPrompt(D){let $=await this.deps.brain.listSkills().catch(()=>[]),F=[`You are worker ${this.deps.workerId}.`,"Respond concisely and helpfully."];if(D&&D.trim().length>0)F.push(`Conversation summary so far: ${D.trim()}`);if($.length>0){F.push("Available brain skills:");for(let X of $.slice(0,10))F.push(`- ${X.name}: ${X.description}`)}return F.join(`
|
|
273
|
+
`)}async runTool(D){let $=PR(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??aJ,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=p(),X=new Date().toISOString();F.insert(X0).values({conversationId:D,role:"assistant",content:$,createdAt:X}).run(),F.update(KD).set({lastActiveAt:X}).where(m(KD.id,D)).run()}async submitTask(D){let $=p(),F=crypto.randomUUID(),X=new Date().toISOString();$.insert(H8).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)=>R.error(`[orchestrator] submitTask ingest failed: ${String(Y)}`)),{id:F}}}function LR(D){let $=null;try{$=W8(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 jR(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 zR=M(()=>{Z0();wD();$D();K0();Z3();NR();n8();Q5()});function E1(D,$,F){let X=VC(D,$),J=kG($.executor),Y=new M3($.channels),G=new v3,B=Gp($),H=new U1,W=new gG({config:$,brain:X,executor:J,bus:G,workerId:D,workspaces:B,processes:F.processes,approvals:H}),U=QC(G),V=$.evolution.enabled?ZC():()=>{return},A=new k3({workerId:D,getOrchestrator:()=>W});return A.start(),{workerId:D,config:$,brain:X,executor:J,channels:Y,bus:G,orchestrator:W,cron:A,workspaces:B,processes:F.processes,approvals:H,dispose(){U(),V(),H.dispose(),A.stop(),hU()}}}function Gp(D){let $=(()=>{if(D.executor.engine!=="claude-code")return;try{let X=W8(D.executor).body.workspaceRoot;return typeof X==="string"&&X.length>0?X:void 0}catch{return}})();return new vG({root:l.WORKER_DATA_ROOT,...$?{subdir:$}:{},...l.WORKER_WORKSPACE_GIT_ORIGIN?{gitOrigin:l.WORKER_WORKSPACE_GIT_ORIGIN}:{}})}var IR=M(()=>{p7();AC();lF();Z3();TX();SX();KC();qC();n8();QR();MR();Q5();zR()});var wR=M(()=>{p7()});import{Buffer as I6}from"buffer";import{createCipheriv as Yp,createDecipheriv as Bp,randomBytes as Hp}from"crypto";class w6{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=I6.from(D,"hex"),this.key.length!==_p)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:J0.id}).from(J0).where(m(J0.key,D)).get(),G=new Date().toISOString();if(Y)await this.db.update(J0).set({valueEnc:F,nonce:X,authTag:J,updatedAt:G}).where(m(J0.id,Y.id)).run();else await this.db.insert(J0).values({key:D,valueEnc:F,nonce:X,authTag:J,createdAt:G,updatedAt:G}).run()}async get(D){let $=await this.db.select().from(J0).where(m(J0.key,D)).get();if(!$)return null;return this.decrypt($.valueEnc,$.nonce,$.authTag)}async list(){return(await this.db.select({key:J0.key}).from(J0).all()).map(($)=>$.key)}async remove(D){await this.db.delete(J0).where(m(J0.key,D)).run()}async removeAll(){await this.db.delete(J0).run()}encryptString(D){return this.encrypt(D)}decryptString(D,$,F){return this.decrypt(D,$,F)}encrypt(D){let $=Hp(Wp),F=Yp(TR,this.key,$),X=I6.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=Bp(TR,this.key,I6.from($,"base64"));return X.setAuthTag(I6.from(F,"base64")),I6.concat([X.update(I6.from(D,"base64")),X.final()]).toString("utf8")}}var TR="aes-256-gcm",Wp=12,_p=32;var xG=M(()=>{wD();K0()});function kD(){if(!T5)T5=new w6(l.AIWORKER_MASTER_KEY,p());return T5}function SR(){T5=null}var T5=null;var bR=M(()=>{wD();wR();xG();xG()});var fR={};z8(fR,{workerEnv:()=>l,timingSafeEqualStrings:()=>P2,stopGatewayNode:()=>lE,startGatewayNode:()=>Y5,resetSecretsVaultForTests:()=>SR,resetAvailabilityProbeForTests:()=>LQ,redactSecrets:()=>l7,readConfig:()=>j0,putSecret:()=>V5,putConfig:()=>B9,printBootstrapIfJustMinted:()=>o8,mirrorConfigToYaml:()=>H9,mintWorkerId:()=>c7,mintApiToken:()=>r1,loadOrSeedConfig:()=>s8,loadOrMintIdentity:()=>r8,listSecrets:()=>U5,hydrateSecrets:()=>a1,handleTokenRotate:()=>L8,handleExecutorTest:()=>W5,handleChannelTest:()=>H5,handleBrainTest:()=>B5,getWorkerEnv:()=>i8,getSecretsVault:()=>kD,getChannelAdapter:()=>a8,getAvailabilityProbe:()=>Q4,enumerateSecretPaths:()=>u2,deleteSecret:()=>A5,buildWorkerRuntime:()=>E1,buildInfo:()=>_5,buildCronHandlers:()=>J5,applyConfigUpdate:()=>q6,WorkerEventBus:()=>v3,SecretsVault:()=>w6,ProcessManager:()=>A1,InvalidConfigError:()=>w2,DEFAULT_EMPTY_CONFIG:()=>s1,CronService:()=>k3,ConfigVersionConflictError:()=>T2,ChannelRegistry:()=>M3,ApprovalStore:()=>U1});var V2=M(()=>{p7();SU();Z3();TX();SX();K4();iE();sJ();nE();nJ();rE();oE();aE();Q5();$C();IR();bR();d7()});import DD from"process";import{randomBytes as _Y}from"crypto";import{chmodSync as OM,existsSync as UY,mkdirSync as MM,readFileSync as ZM,writeFileSync as qM}from"fs";import{homedir as NM}from"os";import VY from"path";var PM=VY.join(NM(),".aiworker");function AY(D={}){let $=D.home??process.env.AIWORKER_HOME??PM,F=VY.join($,".env");if(UY(F)){let B=LM(ZM(F,"utf8"));for(let[H,W]of Object.entries(B))if(process.env[H]===void 0)process.env[H]=W;return{minted:!1,envFile:F,freshMasterKey:null}}if(!UY($))MM($,{recursive:!0,mode:448});let X=process.env.AIWORKER_MASTER_KEY??_Y(32).toString("hex"),J=process.env.INTERNAL_SHARED_SECRET??_Y(24).toString("hex"),Y=["# FEAT-030 first-run minted env. chmod 0600.","# Persisted to disk so subsequent `aiworker` calls don't need to re-mint.","# \u663E\u5F0F `export AIWORKER_MASTER_KEY=...` \u4ECD\u7136\u4F18\u5148\uFF08\u8986\u76D6\u672C\u6587\u4EF6\uFF09\u3002",`AIWORKER_MASTER_KEY=${X}`,`INTERNAL_SHARED_SECRET=${J}`,""];if(qM(F,Y.join(`
|
|
274
|
+
`),{mode:384}),OM(F,384),process.env.AIWORKER_MASTER_KEY===void 0)process.env.AIWORKER_MASTER_KEY=X;if(process.env.INTERNAL_SHARED_SECRET===void 0)process.env.INTERNAL_SHARED_SECRET=J;let G=process.env.AIWORKER_MASTER_KEY===X?X:null;if(G&&D.printOnMint!==!1)jM(G,F);return{minted:!0,envFile:F,freshMasterKey:G}}function LM(D){let $={};for(let F of D.split(`
|
|
275
|
+
`)){let X=F.trim();if(!X||X.startsWith("#"))continue;let J=X.indexOf("=");if(J<=0)continue;let Y=X.slice(0,J).trim(),G=X.slice(J+1).trim();if(G.startsWith('"')&&G.endsWith('"')||G.startsWith("'")&&G.endsWith("'"))G=G.slice(1,-1);$[Y]=G}return $}function jM(D,$){let F=["","\u250C\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510","\u2502 \u26A0\uFE0F AIWORKER first-run setup \u2502","\u2502 \u2502",`\u2502 AIWORKER_MASTER_KEY (\u5199\u5165 ${zM($,40)}) \u2502`,`\u2502 ${D} \u2502`,"\u2502 \u2502","\u2502 \u8BF7\u79BB\u7EBF\u5907\u4EFD\u6B64\u5BC6\u94A5\u3002\u4E22\u5931 = fleet.db / worker.db \u52A0\u5BC6\u6570\u636E\u5168\u90E8\u89E3\u4E0D\u5F00\uFF0C \u2502","\u2502 \u6240\u6709\u5DF2\u6CE8\u518C worker \u5FC5\u987B\u91CD enroll\u3002 \u2502","\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518",""];process.stderr.write(`${F.join(`
|
|
276
276
|
`)}
|
|
277
|
-
`)}function
|
|
277
|
+
`)}function zM(D,$){if(D.length<=$)return D.padEnd($);return`\u2026${D.slice(-($-1))}`.padEnd($)}var QY={name:"@zonease/aiworker-cli",version:"0.3.0",description:"AIWorker fleet CLI \u2014 gateway / worker / operator \u5355\u4E00\u4E8C\u8FDB\u5236",license:"MIT",type:"module",repository:{type:"git",url:"git+https://github.com/ZonEaseTech/aiworker.git"},homepage:"https://github.com/ZonEaseTech/aiworker#readme",publishConfig:{access:"public"},bin:{aiworker:"./dist/aiworker.js"},files:["dist/","README.md"],engines:{bun:">=1.1"},scripts:{typecheck:"tsc --noEmit",test:"bun test",build:"bun build --target=bun --minify --outdir=dist src/aiworker.ts && bun scripts/build-publish-manifest.ts",prepublishOnly:"bun run build","smoke:aiworker-run":"bun scripts/smoke-aiworker-run.ts","smoke:aiworker-fleet":"bun scripts/smoke-aiworker-fleet.ts"},devDependencies:{"@types/bun":"^1.2.13","@zonease/aiworker-api":"workspace:*","@zonease/aiworker-core":"workspace:*","@zonease/aiworker-fs-layout":"workspace:*","@zonease/aiworker-gateway":"workspace:*","@zonease/aiworker-gateway-proto":"workspace:*","@zonease/aiworker-shared":"workspace:*","@zonease/aiworker-storage-sqlite":"workspace:*",cac:"^6.7.14",consola:"^3.4.2",typescript:"^5.8.3"}};import{EventEmitter as wM}from"events";function l5(D){return D==null?[]:Array.isArray(D)?D:[D]}function TM(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 SM(D,$){D=D||[],$=$||{};var F,X,J,Y,G,B={_:[]},H=0,W=0,U=0,V=D.length;let A=$.alias!==void 0,Q=$.unknown!==void 0,C=$.default!==void 0;if($.alias=$.alias||{},$.string=l5($.string),$.boolean=l5($.boolean),A)for(F in $.alias){X=$.alias[F]=l5($.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 E=Q?Object.keys($.alias):[];for(H=0;H<V;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),Q&&!~E.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===V||(""+D[H+1]).charCodeAt(0)===45||D[++H]),X=W===2?[Y]:Y;for(U=0;U<X.length;U++){if(Y=X[U],Q&&!~E.indexOf(Y))return $.unknown("-".repeat(W)+Y);TM(B,Y,U+1<X.length||G,$)}}}if(C){for(F in $.default)if(B[F]===void 0)B[F]=$.default[F]}if(A)for(F in B){X=$.alias[F]||[];while(X.length>0)B[X.shift()]=B[F]}return B}var CY=(D)=>D.replace(/[<[].+/,"").trim(),bM=(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},fM=(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 $},KY=(D)=>{return D.sort(($,F)=>{return $.length>F.length?-1:1})[0]},EY=(D,$)=>{return D.length>=$?D:`${D}${" ".repeat($-D.length)}`},kM=(D)=>{return D.replace(/([a-z])-([a-z])/g,($,F,X)=>{return F+X.toUpperCase()})},vM=(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)?{}:[]},hM=(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)}}},gM=(D)=>{let $=/([^\\\/]+)$/.exec(D);return $?$[1]:""},RY=(D)=>{return D.split(".").map(($,F)=>{return F===0?kM($):$}).join(".")};class w9 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 OY{constructor(D,$,F){if(this.rawName=D,this.description=$,this.config=Object.assign({},F),D=D.replace(/\.\*/g,""),this.negated=!1,this.names=CY(D).split(",").map((X)=>{let J=X.trim().replace(/^-{1,2}/,"");if(J.startsWith("no-"))this.negated=!0,J=J.replace(/^no-/,"");return RY(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 xM=process.argv,yM=`${process.platform}-${process.arch} node-${process.version}`;class i5{constructor(D,$,F={},X){this.rawName=D,this.description=$,this.config=F,this.cli=X,this.options=[],this.aliasNames=[],this.name=CY(D),this.args=bM(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 OY(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 n5}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=KY($.map((W)=>W.rawName));Y.push({title:"Commands",body:$.map((W)=>{return` ${EY(W.rawName,H.length)} ${W.description}`}).join(`
|
|
278
278
|
`)}),Y.push({title:"For more info, run any command with the `--help` flag",body:$.map((W)=>` $ ${D}${W.name===""?"":` ${W.name}`} --help`).join(`
|
|
279
|
-
`)})}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=
|
|
279
|
+
`)})}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=KY(B.map((W)=>W.rawName));Y.push({title:"Options",body:B.map((W)=>{return` ${EY(W.rawName,H.length)} ${W.description} ${W.config.default===void 0?"":`(default: ${W.config.default})`}`}).join(`
|
|
280
280
|
`)})}if(this.examples.length>0)Y.push({title:"Examples",body:this.examples.map((H)=>{if(typeof H==="function")return H(D);return H}).join(`
|
|
281
281
|
`)});if(J)Y=J(Y)||Y;console.log(Y.map((H)=>{return H.title?`${H.title}:
|
|
282
282
|
${H.body}`:H.body}).join(`
|
|
283
283
|
|
|
284
|
-
`))}outputVersion(){let{name:D}=this.cli,{versionNumber:$}=this.cli.globalCommand;if($)console.log(`${D}/${$} ${
|
|
285
|
-
`)}function
|
|
286
|
-
`)}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 MB(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 qB(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 NB(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 PB(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 ZB(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 LB(){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 zB(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 jB(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 LP}from"child_process";import{closeSync as wB,existsSync as Y$,openSync as IB,readFileSync as SB,unlinkSync as c9,writeFileSync as zP}from"fs";import{mkdir as jP}from"fs/promises";import I1 from"path";import I8 from"process";var wP="apps",IP="gateway",TB=`${wP}/${IP}`;function fB(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 TP(D){if(!Y$(D))return null;try{let $=SB(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 SP(){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(SB(X,"utf8"));if(Y.name==="aiworker"||Array.isArray(Y.workspaces))return $}catch{}let J=I1.dirname($);if(J===$)break;$=J}return null}function fP(D){if(D&&D.length>0)return I1.resolve(D);let $=I8.env.AIWORKER_GATEWAY_ENTRY;if($&&$.length>0)return I1.resolve($);let F=SP();if(F){let X=I1.join(F,TB,"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 ${TB}/src/index.ts\u3002`)}async function bP(){await jP(j2(),{recursive:!0})}function d9(){let D=x9(),$=y9(),F=TP(D);if(F===null)return{running:!1,pidFile:D,logFile:$};if(!fB(F)){try{c9(D)}catch{}return{running:!1,pidFile:D,logFile:$}}return{running:!0,pid:F,pidFile:D,logFile:$}}async function bB(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 bP();let F=fP(D.entry),X=D.port??Number.parseInt(I8.env.PORT??"9218",10);if(!Number.isFinite(X)||X<=0||X>65535)throw Error(`\u975E\u6CD5\u7AEF\u53E3: ${X}`);let J=x9(),Y=y9(),G=IB(Y,"a"),B=IB(Y,"a"),H={...I8.env,...D.env,PORT:String(X)},W=LP("bun",[F],{env:H,cwd:I8.cwd(),detached:!0,stdio:["ignore",G,B]});try{wB(G)}catch{}if(B!==G)try{wB(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(),zP(J,`${String(W.pid)}
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
`),0}catch($){return M.error(`approvals grant \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),1}}P2();JD();async function zC(){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 jC(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 wC(){let D=await N0();M.success(`[aiw init] worker ${D.workerId} ready (config v${D.configVersion})`)}JD();var ry=120000;async function IC(D={}){let $=D.message??"";if(!$)return M.error("[aiw run] --message is required (non-empty)"),2;let F=await N0(),X=NC(F),J=D.timeoutMs??ry;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 TC=["web","line","telegram","lark","whatsapp"];function oy(D){if(!TC.includes(D))throw Error(`\u65E0\u6548 channel "${D}"\uFF0C\u53EF\u9009\u503C\uFF1A${TC.join(", ")}`);return D}async function tJ(D){await N0({silent:!0});let{CronService:$}=await Promise.resolve().then(() => (P2(),qC)),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 SC(){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 fC(D){try{let $=oy(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 bC(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 ay(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 vC(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 gC{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 ty(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 kC(D){return D.filter(($)=>!$9($))}var eJ=J5;function ey(D){let $=new gC;return D.forEach((F)=>$.put(F)),[...$.values()]}function hC(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 xC 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(ty(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 yC{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 uC{transform(D){return Object.assign(Object.assign({},D("string")),{pattern:"^d+$"})}}class mC{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(hC).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 pC{transform(D,$){return Object.assign(Object.assign({},$("string")),{enum:D._def.values})}}class cC{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 dC{transform(D,$){return Object.assign(Object.assign({},$(typeof D._def.value)),{enum:[D._def.value]})}}function Du(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 lC{transform(D,$){let{type:F,values:X}=Du(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 iC{transform(D,$,F){return Object.assign(Object.assign({},$(D.isInt?"integer":"number")),F(D._def.checks))}}class nC{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 sC{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(hC).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 rC{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 oC{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 aC{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 tC{constructor(D){this.versionSpecifics=D,this.objectTransformer=new nC,this.stringTransformer=new rC,this.numberTransformer=new iC,this.bigIntTransformer=new uC,this.literalTransformer=new dC,this.enumTransformer=new pC,this.nativeEnumTransformer=new lC,this.arrayTransformer=new yC,this.unionTransformer=new aC,this.discriminatedUnionTransformer=new mC,this.intersectionTransformer=new cC,this.recordTransformer=new sC,this.tupleTransformer=new oC(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 xC({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 tC($),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:kC([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:kC([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(!$||!ay($.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 eC{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 $=ey(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 eC;this.generator=new $G(D,$)}generateDocument(D){let $=this.generator.generateDocumentData();return Object.assign(Object.assign({},D),$)}generateComponents(){return this.generator.generateComponents()}}class DR{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 $u(D){return"type"in D&&D.type==="webhook"}class XG{constructor(D){this.definitions=D,this.webhookRefs={};let $=new DR;this.generator=new $G(this.definitions,$)}generateDocument(D){let $=this.generator.generateDocumentData();return this.definitions.filter($u).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 $},$R=(D)=>{let{groups:$,path:F}=Fu(D),X=GG(F);return Xu(X,$)},Fu=(D)=>{let $=[];return D=D.replace(/\{[^}]+\}/g,(F,X)=>{let J=`@${X}`;return $.push([J,F]),J}),{groups:$,path:D}},Xu=(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={},FR=(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}})}},Ju=(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 Ju(H.includes("%25")?H.replace(/%25/g,"%2525"):H)}else if(J===63||J===35)break}return $.slice(F,X)};var XR=(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},JR=(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},GR=JR,YR=(D,$)=>{return JR(D,$,!0)},G9=decodeURIComponent;var Gu=/^[\w!#$%&'*.^`|~+-]+$/,Yu=/^[ !#-:<-[\]-~]*$/,BR=(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=BR(J.substring(0,Y));if($&&$!==G||!Gu.test(G))continue;let B=BR(J.substring(Y+1));if(B.startsWith('"')&&B.endsWith('"'))B=B.slice(1,-1);if(Yu.test(B)){if(X[G]=B.indexOf("%")!==-1?O6(B,G9):B,$)break}}return X};var HR=(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 WR=(D,$)=>{return new Response(D,{headers:{"Content-Type":$}}).formData()};var Bu=/^application\/([a-z-\.]+\+)?json(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/,Hu=/^multipart\/form-data(;\s?boundary=[a-zA-Z0-9'"()+_,\-./:=?]+)?$/,Wu=/^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||!Bu.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||!(Hu.test(Y)||Wu.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 WR(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=HR(F);break}let G=await $(J,F);if(G instanceof Response)return G;return F.req.addValidatedData(D,G),await X()}};function _u(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=_u;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 _R=Symbol();var UR=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 Uu(D,{all:F,dot:X});return{}};async function Uu(D,$){let F=await D.formData();if(F)return Au(F,$);return{}}function Au(D,$){let F=Object.create(null);if(D.forEach((X,J)=>{if(!($.all||J.endsWith("[]")))F[J]=X;else Vu(F,J,X)}),$.dot)Object.entries(F).forEach(([X,J])=>{if(X.includes("."))Qu(F,X,J),delete F[X]});return F}var Vu=(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]},Qu=(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 AR=(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)?AR(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)?AR(X):X}return D}#J(D){return this.#$[1]?this.#$[1][D]:D}query(D){return GR(this.url,D)}queries(D){return YR(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 UR(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[_R](){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},Eu=(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 Eu(await G,Y);else return G};var VR="text/plain; charset=UTF-8",_G=(D,$)=>{return{"Content-Type":D,...$}},B9=(D,$)=>new Response(D,$),QR=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(VR,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",ER="all",KR=["get","post","put","delete","options","patch"],_5="Can not add a route since the matcher is already built.",U5=class extends Error{};var CR="__COMPOSED_HANDLER";var Ku=(D)=>{return D.text("404 Not Found",404)},RR=(D,$)=>{if("getResponse"in D){let F=D.getResponse();return $.newResponse(F.body,F)}return console.error(D),$.text("Internal Server Error",500)},OR=class D{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#D="/";routes=[];constructor($={}){[...KR,ER].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:XR}#$(){let $=new D({router:this.router,getPath:this.getPath});return $.errorHandler=this.errorHandler,$.#X=this.#X,$.routes=this.routes,$}#X=Ku;errorHandler=RR;route($,F){let X=this.basePath($);return F.routes.map((J)=>{let Y;if(F.errorHandler===RR)Y=J.handler;else Y=async(G,B)=>(await WG([],F.errorHandler)(G,()=>J.handler(G,B))).res,Y[CR]=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 QR($,{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(),Cu=new Set(".\\+*[^]$()");function Ru(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 MR=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(Ru).map((X)=>{let J=this.#X[X];return(typeof J.#$==="number"?`(${X})@${J.#$}`:Cu.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 qR=class{#D={varIndex:0};#$=new MR;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 Ou=[/^$/,[],Object.create(null)],NR=Object.create(null);function PR(D){return NR[D]??=new RegExp(D==="*"?"":`^${D.replace(/\/\*$|([.\\+*[^\]$()])/g,($,F)=>F?`\\${F}`:"(?:|/.*)")}$`)}function Mu(){NR=Object.create(null)}function qu(D){let $=new qR,F=[];if(D.length===0)return Ou;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(PR(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=PR($);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,Mu(),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 qu($)}};var Nu=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),Pu=(D)=>{for(let $ in D)return!0;return!1},ZR=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=$R(F),G=[];for(let B=0,H=Y.length;B<H;B++){let W=Y[B],U=Y[B+1],A=FR(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),Pu(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 ZR}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 OR{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(zR(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(zR(E.req.header("content-type")))return await A(E,C)}E.req.addValidatedData("json",{}),await C()};G.push(V)}}if(jR(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(jR(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?LR(X,this._basePath):X};getOpenAPI31Document=($)=>{let X=new XG(this.openAPIRegistry.definitions).generateDocument($);return this._basePath?LR(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})}};vC(_);function LR(D,$){let F={};return Object.keys(D.paths).forEach((X)=>{F[H2($.replaceAll(/:([^\/]+)/g,"{$1}"),X)]=D.paths[X]}),{...D,paths:F}}function zR(D){return/^application\/([a-z-\.]+\+)?json/.test(D)}function jR(D){return D.startsWith("multipart/form-data")||D.startsWith("application/x-www-form-urlencoded")}Q0();var wR=[["--theme-","--scalar-"],["--sidebar-","--scalar-sidebar-"]],Zu=wR.map(([D])=>D);function QG(D){if(!Zu.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"),wR.reduce((F,[X,J])=>F.replaceAll(X,J),D)}var Lu=_.enum(["alternate","default","moon","purple","solarized","bluePlanet","deepSpace","saturn","kepler","elysiajs","fastify","mars","none"]),zu=_.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"]),ju=_.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()}),wu=_.object({basePath:_.string()}),TR=_.object({authentication:_.any().optional(),baseServerURL:_.string().optional(),hideClientButton:_.boolean().optional().default(!1).catch(!1),proxyUrl:_.string().optional(),searchHotKey:zu.optional(),servers:_.array(_.any()).optional(),showSidebar:_.boolean().optional().default(!0).catch(!0),spec:KG.optional(),theme:Lu.optional().default("default").catch("default"),_integration:ju.optional()}),IR="https://api.scalar.com/request-proxy",EG="https://proxy.scalar.com",SR=TR.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:wu.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()})),Iu=SR.merge(_.object({spec:_.object({sources:_.array(KG)})})),fR=(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===IR)console.warn(`[DEPRECATED] Warning: configuration.proxyUrl points to our old proxy (${IR}).`),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=SR.transform(fR),Tu=Iu.transform(fR);Q0();var RG=_.object({cdn:_.string().optional().default("https://cdn.jsdelivr.net/npm/@scalar/api-reference"),pageTitle:_.string().optional().default("Scalar API Reference")});var bR=(D,$="")=>{let{cdn:F,pageTitle:X,...J}=D,Y=RG.parse({cdn:F,pageTitle:X,customTheme:$}),G=CG.parse(J);return`
|
|
284
|
+
`))}outputVersion(){let{name:D}=this.cli,{versionNumber:$}=this.cli.globalCommand;if($)console.log(`${D}/${$} ${yM}`)}checkRequiredArgs(){let D=this.args.filter(($)=>$.required).length;if(this.cli.args.length<D)throw new w9(`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 w9(`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 w9(`option \`${X.rawName}\` value is missing`)}}}}class n5 extends i5{constructor(D){super("@@global@@","",{},D)}}var I9=Object.assign;class MY extends wM{constructor(D=""){super();this.name=D,this.commands=[],this.rawArgs=[],this.args=[],this.options={},this.globalCommand=new n5(this),this.globalCommand.usage("<command> [options]")}usage(D){return this.globalCommand.usage(D),this}command(D,$,F){let X=new i5(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=xM,{run:$=!0}={}){if(this.rawArgs=D,!this.name)this.name=D[1]?gM(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=I9(I9({},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=fM(F),J=[],Y=D.indexOf("--");if(Y>-1)J=D.slice(Y+1),D=D.slice(0,Y);let G=SM(D,X);G=Object.keys(G).reduce((V,A)=>{return I9(I9({},V),{[RY(A)]:G[A]})},{_:[]});let B=G._,H={"--":J},W=$&&$.config.ignoreOptionDefaultValue?$.config.ignoreOptionDefaultValue:this.globalCommand.config.ignoreOptionDefaultValue,U=Object.create(null);for(let V of F){if(!W&&V.config.default!==void 0)for(let A of V.names)H[A]=V.config.default;if(Array.isArray(V.config.type)){if(U[V.name]===void 0)U[V.name]=Object.create(null),U[V.name].shouldTransform=!0,U[V.name].transformFunction=V.config.type[0]}}for(let V of Object.keys(G))if(V!=="_"){let A=V.split(".");vM(H,A,G[V]),hM(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 uM=(D="")=>new MY(D),ZY=uM;$D();$D();import YH from"process";$0();class tD extends Error{code;constructor(D,$="aim_ws_error"){super(D);this.code=$;this.name="AimWsError"}}function XH(){let D=null,$=!1,F=!1,X=new Map,J=new Map;function Y(K){for(let[,Z]of X){if(Z.timer)clearTimeout(Z.timer);Z.signalCleanup?.(),Z.reject(K)}X.clear()}function G(K){let Z=X.get(K.id);if(!Z)return;if(X.delete(K.id),Z.timer)clearTimeout(Z.timer);if(Z.signalCleanup?.(),K.ok)Z.resolve(K.result);else{let q=K.error;Z.reject(new tD(`${q.code}: ${q.message}`,q.code))}}function B(K){let Z=J.get(K.name);if(!Z||Z.size===0)return;for(let q of Z)try{q(K.payload)}catch{}}function H(K){let Z=v8(K);if(!Z.ok)return;let q=Z.frame;if(q.type==="response")G(q);else if(q.type==="event")B(q)}async function W(K){if($)throw new tD("aim client \u5DF2\u7ECF\u8FDE\u63A5","already_connected");let Z=K.timeoutMs??1e4;await new Promise((q,P)=>{let z=!1,S;try{S=new WebSocket(K.url)}catch(h){P(new tD(`WebSocket \u6784\u9020\u5931\u8D25 (${K.url}): ${h instanceof Error?h.message:String(h)}`,"ws_construct_failed"));return}D=S;let L=setTimeout(()=>{if(z)return;z=!0;try{S.close()}catch{}P(new tD(`\u8FDE\u63A5 gateway \u8D85\u65F6 (>${Z}ms): ${K.url}`,"connect_timeout"))},Z);S.onopen=()=>{let h={type:"connect",role:k8.OPERATOR,agentId:K.deviceId,deviceId:K.deviceId,auth:{token:K.token},...K.meta?{meta:K.meta}:{}};try{S.send(zD(h))}catch(I){if(z)return;z=!0,clearTimeout(L),P(new tD(`\u53D1\u9001 connect \u5E27\u5931\u8D25: ${I instanceof Error?I.message:String(I)}`,"connect_send_failed"));return}if(!z)z=!0,clearTimeout(L),$=!0,q()},S.onmessage=(h)=>{let I=typeof h.data==="string"?h.data:h.data instanceof ArrayBuffer?new TextDecoder().decode(h.data):String(h.data);H(I)},S.onerror=(h)=>{if(z)return;z=!0,clearTimeout(L);let I=h.message??"unknown";P(new tD(`WS \u8FDE\u63A5\u9519\u8BEF: ${I}`,"ws_error"))},S.onclose=(h)=>{if(F=!0,$=!1,Y(new tD(`WS \u5DF2\u5173\u95ED (code=${h.code}, reason=${h.reason||"n/a"})`,"ws_closed")),!z)z=!0,clearTimeout(L),P(new tD(`WS \u5728\u63E1\u624B\u9636\u6BB5\u88AB\u5173\u95ED (code=${h.code})`,"ws_closed_early"))}})}function U(){if(!$||F||D===null||D.readyState!==WebSocket.OPEN)throw new tD("aim client \u672A\u8FDE\u63A5\u6216\u5DF2\u5173\u95ED","not_connected")}async function V(K,Z,q){U();let P=crypto.randomUUID(),z={type:"request",id:P,method:K,...Z===void 0?{}:{params:Z}};return await new Promise((S,L)=>{let h=q?.timeoutMs??30000,I=null,r=null,WD={resolve:S,reject:L,timer:null,signalCleanup:null};if(I=setTimeout(()=>{X.delete(P),r?.(),L(new tD(`request ${K} \u8D85\u65F6 (>${h}ms)`,"request_timeout"))},h),WD.timer=I,q?.signal){let YD=q.signal;if(YD.aborted){X.delete(P),clearTimeout(I),L(YD.reason??new tD(`request ${K} \u88AB abort`,"aborted"));return}let o=()=>{if(X.delete(P),I)clearTimeout(I);L(YD.reason??new tD(`request ${K} \u88AB abort`,"aborted"))};YD.addEventListener("abort",o,{once:!0}),r=()=>YD.removeEventListener("abort",o),WD.signalCleanup=r}X.set(P,WD);try{D?.send(zD(z))}catch(YD){if(X.delete(P),I)clearTimeout(I);r?.(),L(new tD(`request ${K} \u53D1\u9001\u5931\u8D25: ${YD instanceof Error?YD.message:String(YD)}`,"send_failed"))}})}async function A(K,Z,q){if(!e9(K))throw new tD(`method ${K} \u672A\u5728 @zonease/aiworker-gateway-proto \u6CE8\u518C`,"unknown_method");return await V(K,Z,q)}function Q(K,Z){if(!R$(K));let q=J.get(K);if(!q)q=new Set,J.set(K,q);return q.add(Z),()=>{let P=J.get(K);if(!P)return;if(P.delete(Z),P.size===0)J.delete(K)}}async function C(K,Z){if(!D||F)return;await new Promise((q)=>{let P=D;if(!P){q();return}if(P.readyState===WebSocket.CLOSED){F=!0,$=!1,q();return}let z=P.onclose;P.onclose=(S)=>{if(typeof z==="function")z.call(P,S);q()};try{P.close(K,Z)}catch{}})}function E(){return $&&!F&&D!==null&&D.readyState===WebSocket.OPEN}return{connect:W,request:A,requestRaw:V,onEvent:Q,close:C,isOpen:E}}y8();async function QD(D,$={}){let F=await J7(),X=XH();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);YH.stdout.write(`${$}
|
|
285
|
+
`)}function t0(D){YH.stdout.write(`${JSON.stringify(D)}
|
|
286
|
+
`)}function UD(D){if(!(D instanceof tD))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 BH(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){R.warn(`approval.list ${G} \u5931\u8D25: ${B instanceof Error?B.message:String(B)}`)}return{approvals:Y}});return PD($),0}catch($){return R.error(`approvals list \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function HH(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 R.error(`approvals grant \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}$0();$D();async function WH(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(()=>{t0({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 V=U.workerId;return typeof V==="string"&&V===B},W=[];W.push(F.onEvent(XD.CHAT_MESSAGE,(U)=>{if(!H(U))return;t0({kind:XD.CHAT_MESSAGE,payload:U})})),W.push(F.onEvent(XD.AGENT_THINKING,(U)=>{if(!H(U))return;t0({kind:XD.AGENT_THINKING,payload:U})})),W.push(F.onEvent(XD.AGENT_TOOL_CALL,(U)=>{if(!H(U))return;t0({kind:XD.AGENT_TOOL_CALL,payload:U})})),W.push(F.onEvent(XD.AGENT_DONE,(U)=>{if(!H(U))return;t0({kind:"done",payload:U}),clearTimeout(G);for(let V of W)V();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)=>{t0({kind:"accepted",payload:U})}).catch((U)=>{t0({kind:"error",payload:{code:"request_failed",message:U instanceof Error?U.message:String(U)}}),clearTimeout(G);for(let V of W)V();Y(UD(U))})})})}catch(F){return R.error(`chat \u5931\u8D25: ${F instanceof Error?F.message:String(F)}`),UD(F)}}$D();async function _H(D){try{let $=await QD(async({client:F})=>{return await F.request("config.get",{workerId:D})});return PD($),0}catch($){return R.error(`config get \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function UH(D){let $;try{$=JSON.parse(D.configJson)}catch(F){return R.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 R.error(`config set \u5931\u8D25: ${F instanceof Error?F.message:String(F)}`),UD(F)}}$D();async function VH(){try{let D=await QD(async({client:$})=>{return await $.request("enroll.list",{})});return PD(D),0}catch(D){return R.error(`enroll list \u5931\u8D25: ${D instanceof Error?D.message:String(D)}`),UD(D)}}async function AH(D){try{let $=await QD(async({client:F})=>{return await F.request("enroll.approve",{otp:D})});return R.success(`\u5DF2\u6279\u51C6 OTP ${D}\uFF0CworkerId=${$.workerId}`),PD({workerId:$.workerId,deviceToken:$.deviceToken}),0}catch($){return R.error(`enroll approve \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function QH(D){try{let $=await QD(async({client:F})=>{return await F.request("enroll.reject",{otp:D})});if($.rejected)R.info(`\u5DF2\u62D2\u7EDD OTP ${D}`);else R.warn(`OTP ${D} \u4E0D\u5B58\u5728\u6216\u5DF2\u8FC7\u671F`);return PD($),0}catch($){return R.error(`enroll reject \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}import xF from"process";import{createHash as aL}from"crypto";$0();PF();jF();import{existsSync as q_}from"fs";import IF from"path";import{fileURLToPath as FL}from"url";import{Database as XL}from"bun:sqlite";z7();var zF={};z8(zF,{registeredWorkers:()=>ED,auditEvents:()=>T7});var ED=U0("registered_workers",{id:T("id").primaryKey(),baseUrl:T("base_url").notNull(),displayName:T("display_name").notNull(),apiTokenEnc:T("api_token_enc").notNull(),nonce:T("nonce").notNull(),authTag:T("auth_tag").notNull(),addedAt:T("added_at").notNull().$defaultFn(()=>new Date().toISOString()),addedBy:T("added_by").$type().notNull(),lastSeenAt:T("last_seen_at"),lastSeenState:T("last_seen_state").$type(),lastConfigVersion:mD("last_config_version")}),T7=U0("audit_events",{id:mD("id").primaryKey({autoIncrement:!0}),at:T("at").notNull().$defaultFn(()=>new Date().toISOString()),actor:T("actor").notNull(),action:T("action").notNull(),workerId:T("worker_id"),detail:T("detail",{mode:"json"}).$type()},(D)=>({workerIdIdx:N2("audit_events_worker_id_idx").on(D.workerId)}));var N_=IF.dirname(FL(import.meta.url));function JL(D){let $=IF.resolve(N_,"../../drizzle",D);if(q_($))return $;let F=IF.resolve(N_,"drizzle",D);if(q_(F))return F;return $}var wF=JL("fleet"),V3=null;function GL(D){let $=new XL(D,{create:!0});return $.exec("PRAGMA journal_mode = WAL"),$.exec("PRAGMA foreign_keys = ON"),d1($,{schema:zF})}function P_(D){return V3=GL(D),V3}function TF(){if(!V3)throw Error("Fleet database not initialized. Call initFleetDb() first.");return V3}function SF(){V3=null}function L_(D=wF){w7(TF(),{migrationsFolder:D})}$D();vD();import YL from"process";var BL=_.object({AIWORKER_GATEWAY_PORT:_.coerce.number().int().positive().max(65535).default(9218),AIWORKER_GATEWAY_HOST:_.string().min(1).default("127.0.0.1"),INTERNAL_SHARED_SECRET:_.string().min(16).optional(),NODE_ENV:_.enum(["development","production","test"]).default("development"),AIWORKER_MASTER_KEY:_.string().regex(/^[0-9a-f]{64}$/,"AIWORKER_MASTER_KEY must be 32-byte hex (64 hex chars)").optional(),AIWORKER_FLEET_DB_PATH:_.string().default("./data/fleet.db"),AIWORKER_GATEWAY_CAN_LAUNCH:_.enum(["true","false"]).default("false").transform((D)=>D==="true"),AIWORKER_MAX_WORKERS:_.coerce.number().int().positive().optional(),AIWORKER_JOIN_TOKEN:_.string().min(16).optional(),AIWORKER_ENROLL_OTP_TTL_SEC:_.coerce.number().int().min(30).max(3600).default(300),DOCKER_HOST:_.string().default("/var/run/docker.sock"),AIWORKER_IMAGE:_.string().optional(),AIWORKER_NETWORK:_.string().default("aiworker_default"),WORKER_DATA_ROOT:_.string().optional(),WORKER_MEMORY_LIMIT:_.string().optional(),WORKER_CPU_LIMIT:_.coerce.number().optional(),AIWORKER_LAUNCH_BASE_URL_TEMPLATE:_.string().default("http://{containerName}:9217")}).superRefine((D,$)=>{if(!D.AIWORKER_GATEWAY_CAN_LAUNCH)return;if(!D.INTERNAL_SHARED_SECRET)$.addIssue({code:_.ZodIssueCode.custom,path:["INTERNAL_SHARED_SECRET"],message:"INTERNAL_SHARED_SECRET is required when AIWORKER_GATEWAY_CAN_LAUNCH=true"});let F=[["AIWORKER_IMAGE",D.AIWORKER_IMAGE],["WORKER_DATA_ROOT",D.WORKER_DATA_ROOT],["WORKER_MEMORY_LIMIT",D.WORKER_MEMORY_LIMIT],["WORKER_CPU_LIMIT",D.WORKER_CPU_LIMIT]];for(let[X,J]of F)if(J===void 0||J==="")$.addIssue({code:_.ZodIssueCode.custom,path:[X],message:`${X} is required when AIWORKER_GATEWAY_CAN_LAUNCH=true`})});function j_(){let D=BL.parse(YL.env);return{port:D.AIWORKER_GATEWAY_PORT,host:D.AIWORKER_GATEWAY_HOST,internalSharedSecret:D.INTERNAL_SHARED_SECRET,masterKeyHex:D.AIWORKER_MASTER_KEY,fleetDbPath:D.AIWORKER_FLEET_DB_PATH,canLaunch:D.AIWORKER_GATEWAY_CAN_LAUNCH,maxWorkers:D.AIWORKER_MAX_WORKERS,joinToken:D.AIWORKER_JOIN_TOKEN,enrollOtpTtlSec:D.AIWORKER_ENROLL_OTP_TTL_SEC,nodeEnv:D.NODE_ENV,supervisor:{dockerHost:D.DOCKER_HOST,image:D.AIWORKER_IMAGE,network:D.AIWORKER_NETWORK,workerDataRoot:D.WORKER_DATA_ROOT,workerMemoryLimit:D.WORKER_MEMORY_LIMIT,workerCpuLimit:D.WORKER_CPU_LIMIT,launchBaseUrlTemplate:D.AIWORKER_LAUNCH_BASE_URL_TEMPLATE}}}class S7{windowMs;threshold;blockMs;now;entries=new Map;constructor(D={}){this.windowMs=D.windowMs??60000,this.threshold=D.threshold??5,this.blockMs=D.blockMs??600000,this.now=D.now??(()=>Date.now())}isBlocked(D){if(!D)return{blocked:!1,retryAfterMs:0,blockUntil:0};let $=this.entries.get(D);if(!$)return{blocked:!1,retryAfterMs:0,blockUntil:0};let F=this.now();if($.blockUntil>F)return{blocked:!0,retryAfterMs:$.blockUntil-F,blockUntil:$.blockUntil};return{blocked:!1,retryAfterMs:0,blockUntil:0}}recordFailure(D){if(!D)return{blockedNow:!1,fails:0,blockUntil:0};let $=this.now(),F=this.entries.get(D);if(F&&F.blockUntil>$)return{blockedNow:!1,fails:F.fails,blockUntil:F.blockUntil};if(!F||$-F.firstFailAt>this.windowMs)F={fails:1,firstFailAt:$,blockUntil:0};else F.fails+=1;let X=!1;if(F.fails>=this.threshold&&F.blockUntil===0)F.blockUntil=$+this.blockMs,X=!0;return this.entries.set(D,F),{blockedNow:X,fails:F.fails,blockUntil:F.blockUntil}}recordSuccess(D){if(!D)return;this.entries.delete(D)}prune(){let D=this.now(),$=0;for(let[F,X]of this.entries){if(X.blockUntil>D)continue;if(D-X.firstFailAt>this.windowMs)this.entries.delete(F),$+=1}return $}snapshot(D){return this.entries.get(D)}size(){return this.entries.size}clear(){this.entries.clear()}}class b7{map=new Map;timeoutMs;now;idFactory;onExpire;timers=new Map;constructor(D={}){this.timeoutMs=D.timeoutMs??60000,this.now=D.now??(()=>Date.now()),this.idFactory=D.idFactory??(()=>crypto.randomUUID()),this.onExpire=D.onExpire}allocate(D){let $=this.idFactory(),F={...D,gatewayRequestId:$,createdAt:this.now()};if(this.map.set($,F),this.timeoutMs>0){let X=setTimeout(()=>{let J=this.map.get($);if(!J)return;this.map.delete($),this.timers.delete($),this.onExpire?.(J,"timeout")},this.timeoutMs);if(typeof X.unref==="function")X.unref();this.timers.set($,X)}return F}consume(D){let $=this.map.get(D);if(!$)return;return this.map.delete(D),this.clearTimer(D),$}cancelByOperator(D){let $=[];for(let F of this.map.values())if(F.operatorWs===D)$.push(F);for(let F of $)this.map.delete(F.gatewayRequestId),this.clearTimer(F.gatewayRequestId),this.onExpire?.(F,"operator_gone");return $}cancelByWorker(D){let $=[];for(let F of this.map.values())if(F.workerId===D)$.push(F);for(let F of $)this.map.delete(F.gatewayRequestId),this.clearTimer(F.gatewayRequestId),this.onExpire?.(F,"node_gone");return $}size(){return this.map.size}dispose(){for(let D of this.timers.values())clearTimeout(D);this.timers.clear(),this.map.clear()}clearTimer(D){let $=this.timers.get(D);if($)clearTimeout($),this.timers.delete(D)}}class f7{byWorkerId=new Map;byWs=new WeakMap;register(D){let $=this.byWorkerId.get(D.workerId);if(this.byWorkerId.set(D.workerId,D),this.byWs.set(D.ws,D),$)return this.byWs.delete($.ws),{replaced:$};return{}}unregisterByWs(D){let $=this.byWs.get(D);if(!$)return;let F=this.byWorkerId.get($.workerId);if(F&&F.ws===D)this.byWorkerId.delete($.workerId);return this.byWs.delete(D),$}get(D){return this.byWorkerId.get(D)}has(D){return this.byWorkerId.has(D)}list(){return Array.from(this.byWorkerId.values())}size(){return this.byWorkerId.size}}class k7{byWs=new Map;register(D){this.byWs.set(D.ws,D)}unregister(D){let $=this.byWs.get(D);if(!$)return;return this.byWs.delete(D),$}list(){return Array.from(this.byWs.values())}size(){return this.byWs.size}forEach(D){this.byWs.forEach(D)}}import{randomBytes as HL}from"crypto";var bF="ABCDEFGHJKMNPQRSTVWXYZ23456789",z_=4,WL=5;class v7{ttlMs;onExpire;generator;entries=new Map;wsToOtp=new WeakMap;disposed=!1;constructor(D){if(!Number.isFinite(D.ttlMs)||D.ttlMs<=0)throw Error("PendingEnrollmentRegistry: ttlMs \u5FC5\u987B\u4E3A\u6B63\u6570");this.ttlMs=D.ttlMs,this.onExpire=D.onExpire,this.generator=D.generateOtp??_L}submit(D){if(this.disposed)throw Error("PendingEnrollmentRegistry: already disposed");let $=this.allocateUniqueOtp(),F=Date.now(),X=F+this.ttlMs,J={otp:$,workerId:D.workerId,apiToken:D.apiToken,displayName:D.displayName,ws:D.ws,submittedAt:F,expiresAt:X,timer:setTimeout(()=>this.handleExpire($),this.ttlMs)};return this.entries.set($,J),this.wsToOtp.set(D.ws,$),{otp:$,expiresAt:X}}list(){return Array.from(this.entries.values()).map((D)=>({otp:D.otp,workerId:D.workerId,displayName:D.displayName,submittedAt:D.submittedAt,expiresAt:D.expiresAt}))}approve(D){return this.popInternal(D)}reject(D){return this.popInternal(D)}has(D){return this.entries.has(D)}removeByWs(D){let $=this.wsToOtp.get(D);if(!$)return;return this.popInternal($)}size(){return this.entries.size}dispose(){if(this.disposed)return;this.disposed=!0;for(let D of this.entries.values())clearTimeout(D.timer);this.entries.clear()}popInternal(D){let $=this.entries.get(D);if(!$)return;clearTimeout($.timer),this.entries.delete(D),this.wsToOtp.delete($.ws);let{timer:F,...X}=$;return X}handleExpire(D){let $=this.entries.get(D);if(!$)return;if(this.entries.delete(D),this.wsToOtp.delete($.ws),!this.onExpire)return;try{let{timer:F,...X}=$;this.onExpire(X)}catch{}}allocateUniqueOtp(){for(let D=0;D<WL;D++){let $=this.generator();if(!this.entries.has($))return $}throw Error("PendingEnrollmentRegistry: failed to allocate unique OTP after retries")}}function _L(){return`${I_(z_)}-${I_(z_)}`}function I_(D){let $=HL(D),F="";for(let X=0;X<D;X++)F+=bF[$[X]%bF.length];return F}K0();import{Buffer as w_}from"buffer";import{createCipheriv as UL,createDecipheriv as va,randomBytes as VL,timingSafeEqual as ha}from"crypto";var AL="aes-256-gcm",QL=12,KL=32,EL=/^[0-9a-f]{64}$/;function CL(D){if(!EL.test(D))throw Error("Gateway AIWORKER_MASTER_KEY must be 32-byte hex");let $=w_.from(D,"hex");if($.length!==KL)throw Error("Gateway AIWORKER_MASTER_KEY must be 32-byte hex");return $}function h7(D,$){let F=CL($),X=VL(QL),J=UL(AL,F,X),Y=w_.concat([J.update(D,"utf8"),J.final()]),G=J.getAuthTag();return{ciphertext:Y.toString("base64"),nonce:X.toString("base64"),authTag:G.toString("base64")}}class g7{db;constructor(D){this.db=D}listRegisteredWorkers(){return this.db.select().from(ED).orderBy(W0(ED.addedAt)).all().map(($)=>{let{apiTokenEnc:F,nonce:X,authTag:J,...Y}=$;return{...Y,lastSeenAt:Y.lastSeenAt??void 0,lastSeenState:Y.lastSeenState??void 0,lastConfigVersion:Y.lastConfigVersion??void 0}})}getRegisteredWorker(D){let $=this.db.select().from(ED).where(m(ED.id,D)).get();if(!$)return;let{apiTokenEnc:F,nonce:X,authTag:J,...Y}=$;return{...Y,lastSeenAt:Y.lastSeenAt??void 0,lastSeenState:Y.lastSeenState??void 0,lastConfigVersion:Y.lastConfigVersion??void 0}}getRegisteredWorkerRaw(D){let $=this.db.select().from(ED).where(m(ED.id,D)).get();if(!$)return;return{...$,lastSeenAt:$.lastSeenAt??void 0,lastSeenState:$.lastSeenState??void 0,lastConfigVersion:$.lastConfigVersion??void 0}}createRegisteredWorker(D,$){let F=h7(D.apiToken,$),X=new Date().toISOString(),J=D.baseUrl.replace(/\/+$/,""),Y={id:D.workerId,baseUrl:J,displayName:D.displayName,apiTokenEnc:F.ciphertext,nonce:F.nonce,authTag:F.authTag,addedAt:X,addedBy:D.addedBy??"manual",lastSeenAt:X,lastSeenState:"online",lastConfigVersion:D.configVersion};this.db.insert(ED).values(Y).run(),this.db.insert(T7).values({actor:"gateway",action:"gateway.worker.paired",workerId:D.workerId,detail:{baseUrl:J,displayName:D.displayName,addedBy:Y.addedBy}}).run();let{apiTokenEnc:G,nonce:B,authTag:H,...W}=Y;return{...W,lastSeenAt:W.lastSeenAt??void 0,lastSeenState:W.lastSeenState??void 0,lastConfigVersion:W.lastConfigVersion??void 0}}upsertEnrolledWorker(D,$){let F=D.baseUrl.replace(/\/+$/,""),X=new Date().toISOString(),J=this.db.select().from(ED).where(m(ED.id,D.workerId)).get();if(!J){let W=h7(D.apiToken,$),U={id:D.workerId,baseUrl:F,displayName:D.displayName,apiTokenEnc:W.ciphertext,nonce:W.nonce,authTag:W.authTag,addedAt:X,addedBy:D.addedBy??"self-enroll",lastSeenAt:X,lastSeenState:"online",lastConfigVersion:D.configVersion};this.db.insert(ED).values(U).run();let{apiTokenEnc:V,nonce:A,authTag:Q,...C}=U;return{kind:"created",row:{...C,lastSeenAt:C.lastSeenAt??void 0,lastSeenState:C.lastSeenState??void 0,lastConfigVersion:C.lastConfigVersion??void 0}}}if(J.displayName!==D.displayName){this.db.update(ED).set({displayName:D.displayName,lastSeenAt:X,lastSeenState:"online"}).where(m(ED.id,D.workerId)).run();let{apiTokenEnc:W,nonce:U,authTag:V,...A}=J;return{kind:"updated",row:{...A,displayName:D.displayName,lastSeenAt:X,lastSeenState:"online",lastConfigVersion:A.lastConfigVersion??void 0}}}this.db.update(ED).set({lastSeenAt:X,lastSeenState:"online"}).where(m(ED.id,D.workerId)).run();let{apiTokenEnc:Y,nonce:G,authTag:B,...H}=J;return{kind:"unchanged",row:{...H,lastSeenAt:X,lastSeenState:"online",lastConfigVersion:H.lastConfigVersion??void 0}}}updateEncryptedToken(D,$){if(!this.db.select({id:ED.id}).from(ED).where(m(ED.id,D.workerId)).get())return!1;let X=h7(D.newToken,$);return this.db.update(ED).set({apiTokenEnc:X.ciphertext,nonce:X.nonce,authTag:X.authTag}).where(m(ED.id,D.workerId)).run(),!0}removeRegisteredWorker(D){if(!this.db.select({id:ED.id}).from(ED).where(m(ED.id,D)).get())return!1;return this.db.delete(ED).where(m(ED.id,D)).run(),!0}countRegisteredWorkers(){return this.db.select({value:D_()}).from(ED).get()?.value??0}recordAudit(D){this.db.insert(T7).values({actor:D.actor,action:D.action,workerId:D.workerId??null,detail:D.detail}).run()}}$0();import{Buffer as kL}from"buffer";import{createHash as vL}from"crypto";function fF(D){if(!D)return!1;if(D==="127.0.0.1"||D==="::1"||D==="::ffff:127.0.0.1"||D==="localhost")return!0;if(D.startsWith("127."))return!0;return!1}function T_(D){if(fF(D.host))return;if(D.internalSharedSecret&&D.internalSharedSecret.length>0)return;throw Error(`[gateway] \u62D2\u7EDD\u542F\u52A8\uFF1Ahost="${D.host}" \u975E loopback\uFF0C\u4F46\u672A\u914D\u7F6E INTERNAL_SHARED_SECRET\u3002
|
|
287
|
+
`+`
|
|
288
|
+
`+`\u8FDC\u7A0B\u8FDE\u63A5\u4F1A\u88AB token \u6821\u9A8C\u62E6\u4E0B\uFF0C\u4F46\u53CD\u4EE3\u540E\u7684 loopback \u6D41\u91CF\u4F1A\u88AB\u65E0\u6761\u4EF6\u653E\u884C\uFF08\u53C2\u89C1 BUG-007 / BUG-019\uFF09\uFF0C
|
|
289
|
+
`+`\u6CA1\u6709 INTERNAL_SHARED_SECRET \u8FD9\u4E00\u9053\u515C\u5E95\u610F\u5473\u7740\u53EA\u8981\u80FD reach \u7AEF\u53E3\u5C31\u80FD operator-grade \u64CD\u4F5C fleet\u3002
|
|
290
|
+
`+`
|
|
291
|
+
`+`\u4FEE\u590D\u65B9\u5F0F\u4E8C\u9009\u4E00\uFF1A
|
|
292
|
+
`+` 1. AIWORKER_GATEWAY_HOST=127.0.0.1\uFF08\u9ED8\u8BA4\uFF09+ \u5728\u524D\u7F6E\u53CD\u4EE3\uFF08\u5982 Caddy\uFF09\u4E0A\u53E0 basic-auth\uFF1B
|
|
293
|
+
`+" 2. \u8BBE\u7F6E INTERNAL_SHARED_SECRET\uFF08>= 16 \u5B57\u7B26\uFF1B\u63A8\u8350 `openssl rand -hex 24`\uFF09\uFF0C\u8BA9 gateway \u5F3A\u5236 token \u6821\u9A8C\u3002")}import{Buffer as S_}from"buffer";import{timingSafeEqual as RL}from"crypto";function b_(D,$){let F=S_.from(D,"utf8"),X=S_.from($,"utf8");if(F.length!==X.length)return!1;return RL(F,X)}function f_(D){let $=D.path??"/ws",F=D.isOtpEnrollSubmit===!0;if($==="/enroll-ws"){if(!F)return{ok:!1,reason:"wrong_path:expected_enroll_otp"};return{ok:!0,via:"enroll-otp"}}if(F)return{ok:!1,reason:"wrong_path:otp_must_use_enroll_ws"};if(D.enrollToken!==void 0){if(!D.gatewayJoinToken)return{ok:!1,reason:"join_token_disabled"};if(!b_(D.enrollToken,D.gatewayJoinToken))return{ok:!1,reason:"join_token_mismatch"};return{ok:!0,via:"self-enroll"}}if(D.loopback)return{ok:!0,via:"loopback"};if(!D.sharedSecret)return{ok:!1,reason:"remote_requires_secret_but_unset"};if(D.presentedToken.length===0)return{ok:!1,reason:"missing_token"};if(!b_(D.presentedToken,D.sharedSecret))return{ok:!1,reason:"invalid_token"};return{ok:!0,via:"shared-secret"}}$0();function c8(D,$){let F=zD($);D.forEach((X)=>{try{X.ws.send(F)}catch{}})}$0();$0();vD();function k_(D){let $=_.object({workerId:_.string().min(1)}).safeParse(D.params);if(!$.success)return kF(D.operatorWs,D.operatorRequestId,{code:"invalid_params",message:`${D.method} \u7F3A\u5C11 workerId`,details:$.error.flatten()}),!1;let{workerId:F}=$.data,X=D.ctx.nodes.get(F);if(!X)return kF(D.operatorWs,D.operatorRequestId,{code:"node_offline",message:`worker ${F} \u5F53\u524D\u672A\u8FDE\u63A5\u5230 gateway`,details:{workerId:F}}),!1;let J=D.ctx.forwards.allocate({operatorRequestId:D.operatorRequestId,operatorWs:D.operatorWs,workerId:F,method:D.method});try{return X.ws.send(zD({type:"request",id:J.gatewayRequestId,method:D.method,params:D.params})),!0}catch(Y){return D.ctx.forwards.consume(J.gatewayRequestId),kF(D.operatorWs,D.operatorRequestId,{code:"forward_failed",message:`\u8F6C\u53D1\u5230 worker ${F} \u5931\u8D25: ${Y instanceof Error?Y.message:String(Y)}`,details:{workerId:F}}),!1}}function kF(D,$,F){let X=zD({type:"response",id:$,ok:!1,error:F});try{D.send(X)}catch{}}$0();vD();import{createHash as OL}from"crypto";var v_=_.object({otp:_.string().min(1)}),h_=(D)=>{if(!D.pendingEnrollments)return{ok:!1,code:"feature_disabled",message:"gateway \u672A\u521D\u59CB\u5316 pending enrollment registry"};let $=D.pendingEnrollments.list(),F=_.object({pending:_.array(a9)}).safeParse({pending:$});if(!F.success)return{ok:!1,code:"internal_error",message:`enroll.list \u6784\u9020\u7684 result \u4E0D\u7B26\u5408 schema: ${F.error.message}`};return{ok:!0,result:F.data}},g_=(D,$)=>{if(!D.pendingEnrollments)return{ok:!1,code:"feature_disabled",message:"gateway \u672A\u521D\u59CB\u5316 pending enrollment registry"};let F=v_.safeParse($);if(!F.success)return{ok:!1,code:"invalid_params",message:"enroll.approve \u7F3A\u5C11 otp",details:F.error.flatten()};if(!D.masterKeyHex)return{ok:!1,code:"master_key_missing",message:"gateway \u672A\u914D\u7F6E AIWORKER_MASTER_KEY,\u65E0\u6CD5\u52A0\u5BC6 worker token"};if(D.maxWorkers!==void 0){let G=ML(D,F.data.otp);if(!(G?D.persistence.getRegisteredWorker(G.workerId)!==void 0:!1)){let H=D.persistence.countRegisteredWorkers();if(H>=D.maxWorkers)return{ok:!1,code:"quota_exceeded",message:`fleet \u5DF2\u8FBE ${D.maxWorkers} worker \u4E0A\u9650`,details:{limit:D.maxWorkers,current:H}}}}let X=D.pendingEnrollments.approve(F.data.otp);if(!X)return{ok:!1,code:"not_found",message:`OTP ${F.data.otp} \u4E0D\u5728\u5F85\u6279\u5217\u8868\u4E2D\uFF08\u6216\u5DF2\u8FC7\u671F / \u5DF2\u5904\u7406\uFF09`};let J=D.persistence.upsertEnrolledWorker({workerId:X.workerId,baseUrl:"",apiToken:X.apiToken,displayName:X.displayName??X.workerId,addedBy:"otp"},D.masterKeyHex);X.ws.data.role="node",X.ws.data.agentId=X.workerId;let{replaced:Y}=D.nodes.register({workerId:X.workerId,deviceId:X.ws.data.deviceId??X.workerId,ws:X.ws,pairedAt:Date.now(),meta:{}});if(Y){D.forwards.cancelByWorker(X.workerId);try{Y.ws.close(1012,"replaced_by_enroll_approve")}catch{}}try{X.ws.send(zD({type:"event",name:XD.ENROLLMENT_APPROVED,payload:{workerId:X.workerId,deviceToken:X.apiToken},ts:Date.now()}))}catch{}if(c8(D.operators,{type:"event",name:XD.WORKER_ONLINE,payload:{workerId:X.workerId,displayName:J.row.displayName,deviceId:X.ws.data.deviceId??X.workerId,connectedAt:Date.now()},ts:Date.now()}),J.kind!=="unchanged")D.persistence.recordAudit({actor:"gateway",action:"gateway.enrollment.approved",workerId:X.workerId,detail:{displayName:J.row.displayName,deviceId:X.ws.data.deviceId,change:J.kind}});return{ok:!0,result:{workerId:X.workerId,deviceToken:X.apiToken}}},x_=(D,$)=>{if(!D.pendingEnrollments)return{ok:!1,code:"feature_disabled",message:"gateway \u672A\u521D\u59CB\u5316 pending enrollment registry"};let F=v_.safeParse($);if(!F.success)return{ok:!1,code:"invalid_params",message:"enroll.reject \u7F3A\u5C11 otp",details:F.error.flatten()};let X=D.pendingEnrollments.reject(F.data.otp);if(!X)return{ok:!0,result:{rejected:!1}};try{X.ws.close(4403,"enroll:rejected")}catch{}return D.persistence.recordAudit({actor:"gateway",action:"gateway.enrollment.rejected",workerId:X.workerId,detail:{displayName:X.displayName,otpHash:ZL(X.otp)}}),{ok:!0,result:{rejected:!0}}};function ML(D,$){let F=D.pendingEnrollments?.list().find((X)=>X.otp===$);return F?{workerId:F.workerId}:void 0}function ZL(D){return OL("sha256").update(D).digest("hex").slice(0,16)}$0();vD();var qL=_.object({now:_.number().int(),online:_.array(h8)}),y_=(D)=>{let $=Date.now(),F=D.nodes.list().map((J)=>{let Y=D.persistence.getRegisteredWorker(J.workerId);return{workerId:J.workerId,displayName:Y?.displayName,online:!0,deviceId:J.deviceId,baseUrl:Y?.baseUrl,lastSeenAt:J.pairedAt}}),X=qL.safeParse({now:$,online:F});if(!X.success)return{ok:!1,code:"internal_error",message:`system.presence \u6784\u9020\u7684 result \u4E0D\u7B26\u5408 schema: ${X.error.message}`};return{ok:!0,result:X.data}};$0();vD();import{Buffer as u_}from"buffer";var NL=_.object({workerId:_.string().min(1)}),m_=async(D,$)=>{let F=NL.safeParse($);if(!F.success)return{ok:!1,code:"invalid_params",message:"token.rotate \u7F3A\u5C11 workerId",details:F.error.flatten()};if(!D.masterKeyHex)return{ok:!1,code:"master_key_missing",message:"gateway \u672A\u914D\u7F6E AIWORKER_MASTER_KEY,\u65E0\u6CD5\u52A0\u5BC6 worker token"};let{workerId:X}=F.data;if(!D.persistence.getRegisteredWorker(X))return{ok:!1,code:"not_found",message:`worker ${X} \u4E0D\u5728 fleet \u4E2D`};let Y=D.nodes.get(X);if(!Y)return{ok:!1,code:"node_offline",message:`worker ${X} \u672A\u8FDE\u63A5\u5230 gateway`};return await new Promise((G)=>{let B=new p_(G,D,X),H=D.forwards.allocate({operatorRequestId:`internal:token-rotate:${X}:${Date.now()}`,operatorWs:B,workerId:X,method:"token.rotate"});try{Y.ws.send(zD({type:"request",id:H.gatewayRequestId,method:"token.rotate",params:{workerId:X}}))}catch(W){D.forwards.consume(H.gatewayRequestId),G({ok:!1,code:"forward_failed",message:`token.rotate \u53D1\u5F80 worker \u5931\u8D25: ${W instanceof Error?W.message:String(W)}`})}})};class p_{resolve;ctx;workerId;constructor(D,$,F){this.resolve=D;this.ctx=$;this.workerId=F}send(D){let $=typeof D==="string"?D:D instanceof ArrayBuffer?u_.from(new Uint8Array(D)).toString("utf8"):u_.from(D).toString("utf8"),F;try{F=JSON.parse($)}catch(G){this.resolve({ok:!1,code:"internal_error",message:`token.rotate: \u65E0\u6CD5\u89E3\u6790 node \u54CD\u5E94: ${G instanceof Error?G.message:String(G)}`});return}if(F.type!=="response"){this.resolve({ok:!1,code:"internal_error",message:"token.rotate: \u975E response frame"});return}if(!F.ok){this.resolve({ok:!1,code:F.error.code,message:F.error.message,details:F.error.details});return}let J=F.result?.deviceToken;if(typeof J!=="string"||J.length===0){this.resolve({ok:!1,code:"invalid_worker_response",message:"token.rotate: node \u8FD4\u56DE\u7684 deviceToken \u7F3A\u5931\u6216\u975E\u5B57\u7B26\u4E32"});return}if(!this.ctx.persistence.updateEncryptedToken({workerId:this.workerId,newToken:J},this.ctx.masterKeyHex)){this.resolve({ok:!1,code:"not_found",message:`worker ${this.workerId} \u5728 token.rotate \u56DE\u8C03\u671F\u95F4\u5DF2\u88AB\u5220\u9664`});return}this.ctx.persistence.recordAudit({actor:"gateway",action:"gateway.token.rotated",workerId:this.workerId,detail:{lastFour:J.slice(-4)}}),this.resolve({ok:!0,result:{deviceToken:J}})}close(){}}$0();Z0();vD();Z0();class A3 extends Error{constructor(D="worker rejected bearer token"){super(D);this.name="WorkerClientAuthError"}}class d8 extends Error{cause;constructor(D,$){super(D);this.cause=$;this.name="WorkerClientNetworkError"}}class Y8 extends Error{constructor(D){super(D);this.name="WorkerClientInvalidResponseError"}}var PL=1e4;class vF{baseUrl;apiToken;fetchImpl;timeoutMs;constructor(D){this.baseUrl=D.baseUrl.replace(/\/+$/,""),this.apiToken=D.apiToken,this.fetchImpl=D.fetchImpl??globalThis.fetch,this.timeoutMs=D.timeoutMs??PL}buildUrl(D){let $=D.replace(/^\/+/,"");return`${this.baseUrl}/api/worker/${$}`}async request(D,$,F){let X=new AbortController,J=setTimeout(()=>X.abort(),this.timeoutMs),Y={Authorization:`Bearer ${this.apiToken}`},G={method:D,headers:Y,signal:X.signal};if(F!==void 0)G.body=JSON.stringify(F),Y["Content-Type"]="application/json";try{return await this.fetchImpl(this.buildUrl($),G)}catch(B){if(B.name==="AbortError")throw new d8(`worker ${this.baseUrl} request timed out after ${this.timeoutMs}ms`,B);throw new d8(`worker ${this.baseUrl} unreachable: ${B.message??String(B)}`,B)}finally{clearTimeout(J)}}async info(){let D=await this.request("GET","info");if(D.status===401)throw new A3;if(!D.ok)throw new d8(`worker ${this.baseUrl} returned HTTP ${D.status}`);let $;try{$=await D.json()}catch(F){throw new Y8(`worker ${this.baseUrl} /info returned non-JSON body: ${F.message}`)}if(!LL($))throw new Y8(`worker ${this.baseUrl} /info response missing required fields`);return $}async rotateToken(){let D=await this.request("POST","token/rotate");if(D.status===401)throw new A3;if(!D.ok)throw new d8(`worker ${this.baseUrl} returned HTTP ${D.status} from /token/rotate`);let $;try{$=await D.json()}catch(X){throw new Y8(`worker ${this.baseUrl} /token/rotate returned non-JSON body: ${X.message}`)}if(!$||typeof $!=="object"||!("newToken"in $))throw new Y8(`worker ${this.baseUrl} /token/rotate response missing newToken`);let F=$.newToken;if(!$8(F))throw new Y8(`worker ${this.baseUrl} /token/rotate returned a token that does not match wtk_<base64url>`);return{newToken:F}}}function LL(D){if(!D||typeof D!=="object")return!1;let $=D;return typeof $.workerId==="string"&&$.workerId.length>0&&typeof $.configVersion==="number"&&Number.isFinite($.configVersion)}class l1 extends Error{constructor(D){super(D);this.name="LaunchTimeoutError"}}class x2 extends Error{cause;constructor(D,$){super(D);this.cause=$;this.name="LaunchFailedError"}}function jL(D){if(!D)return null;let $=Date.parse(D);if(!Number.isFinite($))return null;return $}var c_=(D)=>{let F=D.persistence.listRegisteredWorkers().map((J)=>{let Y=D.nodes.has(J.id),G=Y?D.nodes.get(J.id):void 0,B=G?G.pairedAt:jL(J.lastSeenAt);return{workerId:J.id,displayName:J.displayName,online:Y,deviceId:G?.deviceId,baseUrl:J.baseUrl,lastSeenAt:B}}),X=_.object({workers:_.array(h8)}).safeParse({workers:F});if(!X.success)return{ok:!1,code:"internal_error",message:`workers.list \u6784\u9020\u7684 result \u4E0D\u7B26\u5408 schema: ${X.error.message}`};return{ok:!0,result:X.data}},d_=(D,$)=>{let F=_.object({workerId:_.string().min(1)}).safeParse($);if(!F.success)return{ok:!1,code:"invalid_params",message:"workers.remove \u7F3A\u5C11 workerId",details:F.error.flatten()};let{workerId:X}=F.data,J=D.persistence.getRegisteredWorker(X);if(!J)return{ok:!1,code:"not_found",message:`worker ${X} \u4E0D\u5728 fleet \u4E2D`};let Y=D.nodes.get(X),G=D.persistence.removeRegisteredWorker(X);if(Y){D.forwards.cancelByWorker(X),D.nodes.unregisterByWs(Y.ws);try{Y.ws.close(1000,"removed_from_fleet")}catch(B){D.logger.warn(`[gateway] workers.remove \u5173\u95ED\u5728\u7EBF node \u65F6\u62A5\u9519 (workerId=${X})`,B)}}return D.persistence.recordAudit({actor:"gateway",action:"gateway.worker.removed",workerId:X,detail:{displayName:J.displayName,baseUrl:J.baseUrl}}),{ok:!0,result:{removed:G}}},zL=_.object({workerBaseUrl:_.string().min(1),bootstrapToken:_.string().regex(k2,"bootstrapToken must match wtk_<base64url>"),displayName:_.string().min(1).max(80).optional()});function IL(D={}){return async($,F)=>{if(!$.masterKeyHex)return{ok:!1,code:"master_key_missing",message:"gateway \u672A\u914D\u7F6E AIWORKER_MASTER_KEY,\u65E0\u6CD5\u52A0\u5BC6 worker token"};let X=zL.safeParse(F);if(!X.success)return{ok:!1,code:"invalid_params",message:"workers.pair \u53C2\u6570\u6821\u9A8C\u5931\u8D25",details:X.error.flatten()};let J=X.data;if($.maxWorkers!==void 0){let U=$.persistence.countRegisteredWorkers();if(U>=$.maxWorkers)return{ok:!1,code:"quota_exceeded",message:`fleet \u5DF2\u8FBE ${$.maxWorkers} worker \u4E0A\u9650`,details:{limit:$.maxWorkers,current:U}}}let Y=D.buildClient?D.buildClient(J.workerBaseUrl,J.bootstrapToken):new vF({baseUrl:J.workerBaseUrl,apiToken:J.bootstrapToken}),G;try{G=await Y.info()}catch(U){if(U instanceof A3)return{ok:!1,code:"auth_failed",message:"worker \u62D2\u7EDD bootstrap token"};if(U instanceof d8)return{ok:!1,code:"worker_unreachable",message:U.message};if(U instanceof Y8)return{ok:!1,code:"invalid_worker_info",message:U.message};throw U}if($.persistence.getRegisteredWorker(G.workerId))return{ok:!1,code:"already_registered",message:`worker ${G.workerId} \u5DF2\u5728 fleet \u4E2D`,details:{workerId:G.workerId}};let H=$.persistence.createRegisteredWorker({workerId:G.workerId,baseUrl:J.workerBaseUrl,apiToken:J.bootstrapToken,displayName:J.displayName??G.workerId,addedBy:"manual",configVersion:G.configVersion},$.masterKeyHex),W=h1.safeParse({workerId:H.id,deviceToken:J.bootstrapToken});if(!W.success)return{ok:!1,code:"internal_error",message:`workers.pair \u6784\u9020\u7684 result \u4E0D\u7B26\u5408 schema: ${W.error.message}`};return{ok:!0,result:W.data}}}var l_=IL(),wL=_.object({displayName:_.string().min(1).max(80).optional(),image:_.string().optional(),env:_.record(_.string()).optional(),forceId:_.string().optional()});function TL(D={}){return async($,F)=>{if(!$.supervisor)return{ok:!1,code:"feature_disabled",message:"gateway \u672A\u5F00\u542F launch \u80FD\u529B (AIWORKER_GATEWAY_CAN_LAUNCH=false)"};if(!$.masterKeyHex)return{ok:!1,code:"master_key_missing",message:"gateway \u672A\u914D\u7F6E AIWORKER_MASTER_KEY,\u65E0\u6CD5\u52A0\u5BC6 worker token"};let X=wL.safeParse(F);if(!X.success)return{ok:!1,code:"invalid_params",message:"workers.launch \u53C2\u6570\u6821\u9A8C\u5931\u8D25",details:X.error.flatten()};let J=X.data,Y=J.displayName??"worker";if($.maxWorkers!==void 0){let U=$.persistence.countRegisteredWorkers();if(U>=$.maxWorkers)return{ok:!1,code:"quota_exceeded",message:`fleet \u5DF2\u8FBE ${$.maxWorkers} worker \u4E0A\u9650`,details:{limit:$.maxWorkers,current:U}}}let G;try{G=await $.supervisor.launchLocal({displayName:Y,...J.forceId===void 0?{}:{forceId:J.forceId}})}catch(U){if(U instanceof l1)return{ok:!1,code:"launch_timeout",message:U.message};if(U instanceof x2)return{ok:!1,code:"launch_failed",message:U.message};throw U}if($.persistence.getRegisteredWorker(G.workerId))return{ok:!1,code:"already_registered",message:`worker ${G.workerId} \u5DF2\u5728 fleet \u4E2D`,details:{workerId:G.workerId,containerName:G.containerName}};let H=$.persistence.createRegisteredWorker({workerId:G.workerId,baseUrl:G.baseUrl,apiToken:G.apiToken,displayName:Y,addedBy:"launch-local"},$.masterKeyHex);$.persistence.recordAudit({actor:"gateway",action:"gateway.worker.launched",workerId:H.id,detail:{containerId:G.containerId,containerName:G.containerName,baseUrl:G.baseUrl}});let W=h1.safeParse({workerId:H.id,deviceToken:G.apiToken});if(!W.success)return{ok:!1,code:"internal_error",message:`workers.launch \u6784\u9020\u7684 result \u4E0D\u7B26\u5408 schema: ${W.error.message}`};return{ok:!0,result:W.data}}}var i_=TL();var SL={"system.presence":y_,"workers.list":c_,"workers.remove":d_,"workers.pair":l_,"workers.launch":i_,"token.rotate":m_,"enroll.list":h_,"enroll.approve":g_,"enroll.reject":x_},bL=new Set(["system.presence","workers.list"]);async function n_(D,$,F,X){let J=i6(F.method);if(!J){i1($,{type:"response",id:F.id,ok:!1,error:{code:"unknown_method",message:`\u672A\u6CE8\u518C\u65B9\u6CD5 ${F.method}`,details:{method:F.method}}});return}let Y=J.params.safeParse(F.params??void 0);if(!Y.success){i1($,{type:"response",id:F.id,ok:!1,error:{code:"invalid_params",message:`${F.method} \u53C2\u6570\u6821\u9A8C\u5931\u8D25`,details:Y.error.flatten()}});return}let G=Y.data;if(!bL.has(F.method))D.persistence.recordAudit({actor:"gateway",action:"gateway.method.invoked",workerId:fL(G),detail:{method:F.method,agentId:X}});if(J.routing==="operator-to-gateway"){let B=SL[F.method];if(!B){i1($,{type:"response",id:F.id,ok:!1,error:{code:"handler_missing",message:`\u65B9\u6CD5 ${F.method} \u6CA1\u6709\u672C\u5730 handler \u7ED1\u5B9A`,details:{method:F.method}}});return}try{let H=await B(D,G);if(H.ok)i1($,{type:"response",id:F.id,ok:!0,result:H.result});else i1($,{type:"response",id:F.id,ok:!1,error:{code:H.code,message:H.message,details:H.details}})}catch(H){D.logger.error(`[gateway] handler ${F.method} \u629B\u51FA\u5F02\u5E38`,H),i1($,{type:"response",id:F.id,ok:!1,error:{code:"internal_error",message:H instanceof Error?H.message:String(H)}})}return}k_({ctx:D,operatorWs:$,operatorRequestId:F.id,method:F.method,params:G})}function s_(D,$,F){let X=D.forwards.consume(F.id);if(!X){D.logger.warn(`[gateway] \u6536\u5230 node response \u4F46\u627E\u4E0D\u5230\u5339\u914D\u7684 pending (id=${F.id})`);return}let J=F.ok?{type:"response",id:X.operatorRequestId,ok:!0,result:F.result}:{type:"response",id:X.operatorRequestId,ok:!1,error:F.error};try{X.operatorWs.send(zD(J))}catch{}}function r_(D,$,F){c8(D.operators,F)}function fL(D){if(D&&typeof D==="object"&&"workerId"in D){let $=D.workerId;return typeof $==="string"&&$.length>0?$:null}return null}function i1(D,$){try{D.send(zD($))}catch{}}function o_(D){let{config:$,context:F}=D;T_({host:$.host,internalSharedSecret:$.internalSharedSecret});let X=Bun.serve({port:$.port,hostname:$.host,fetch(Y,G){let B=new URL(Y.url);if(B.pathname==="/health")return new Response(JSON.stringify({ok:!0,service:"aiworker-gateway",ts:Date.now()}),{status:200,headers:{"Content-Type":"application/json"}});if(B.pathname==="/ws"||B.pathname==="/enroll-ws"){let W=G.requestIP(Y)?.address,U=fF(W);if(!U&&F.connectRateLimiter){let Q=F.connectRateLimiter.isBlocked(W);if(Q.blocked)return new Response("rate_limited",{status:429,headers:{"Retry-After":String(Math.ceil(Q.retryAfterMs/1000))}})}let V=B.pathname==="/enroll-ws"?"/enroll-ws":"/ws";if(G.upgrade(Y,{data:{role:void 0,agentId:void 0,deviceId:void 0,loopback:U,remoteAddress:W,connectedAt:Date.now(),subscribedAll:!0,path:V}}))return;return new Response("upgrade failed",{status:400})}return new Response("not found",{status:404})},websocket:{maxPayloadLength:1048576,idleTimeout:120,open(Y){F.logger.debug(`[gateway] ws opened (remote=${Y.data.remoteAddress??"?"} loopback=${Y.data.loopback})`)},message(Y,G){hL(Y,G,F,$)},close(Y,G,B){gL(Y,G,B,F)}}}),J=X.port;if(typeof J!=="number")throw TypeError("Bun.serve did not return a TCP port \u2014 unix socket is not supported");return{server:X,port:J,context:F,stop:async()=>{F.forwards.dispose(),F.pendingEnrollments?.dispose(),await X.stop(!0)}}}function hL(D,$,F,X){let J=typeof $==="string"?$:kL.from($).toString("utf8"),Y=v8(J);if(!Y.ok){F.logger.warn(`[gateway] \u65E0\u6CD5\u89E3\u6790\u5E27: ${Y.error}`),D.close(4400,"bad_frame");return}let G=Y.frame;if(D.data.role===void 0){if(G.type!=="connect"){F.logger.warn(`[gateway] \u63E1\u624B\u524D\u6536\u5230\u975E connect \u5E27: ${G.type}`),D.close(4400,"connect_required");return}let B=G.role==="node"&&G.enroll?G.enroll.mode??"join-token":void 0,H=B==="otp",W=G.role==="node"&&G.enroll!==void 0&&B==="join-token",U=f_({loopback:D.data.loopback,sharedSecret:X.internalSharedSecret,presentedToken:G.auth.token,enrollToken:W?G.enroll.joinToken:void 0,gatewayJoinToken:X.joinToken,path:D.data.path,isOtpEnrollSubmit:H});if(!U.ok){let V=U.reason.startsWith("wrong_path:");if(F.persistence.recordAudit({actor:"gateway",action:"gateway.connect.rejected",workerId:G.role==="node"?G.agentId:null,detail:{reason:U.reason,role:G.role,agentId:G.agentId,remoteAddress:D.data.remoteAddress,path:D.data.path}}),!V&&!D.data.loopback&&F.connectRateLimiter){let C=F.connectRateLimiter.recordFailure(D.data.remoteAddress);if(C.blockedNow)F.persistence.recordAudit({actor:"gateway",action:"gateway.connect.brute_force_blocked",workerId:null,detail:{remoteAddress:D.data.remoteAddress,fails:C.fails,blockUntil:C.blockUntil,path:D.data.path,triggerReason:U.reason}})}let A=V?4400:4401,Q=V?U.reason:`auth:${U.reason}`;D.close(A,Q);return}if(U.via==="enroll-otp"){if(!F.pendingEnrollments){F.logger.error("[gateway] /enroll-ws \u6536\u5230 OTP submit \u4F46 ctx.pendingEnrollments \u672A\u6CE8\u5165"),D.close(4500,"enroll_unavailable");return}let V=G.enroll,A=F.pendingEnrollments.submit({workerId:G.agentId,apiToken:V.apiToken,displayName:V.displayName,ws:D});try{D.send(zD({type:"event",name:XD.ENROLLMENT_OTP,payload:{workerId:G.agentId,otp:A.otp,expiresAt:A.expiresAt},ts:Date.now()}))}catch(Q){F.pendingEnrollments.removeByWs(D),F.logger.warn(`[gateway] \u63A8\u9001 enrollment.otp \u5931\u8D25: ${Q.message}`),D.close(4500,"enroll_otp_send_failed");return}D.data.role="node-pending",D.data.agentId=G.agentId,D.data.deviceId=G.deviceId,F.persistence.recordAudit({actor:"gateway",action:"gateway.enrollment.requested",workerId:G.agentId,detail:{workerId:G.agentId,displayName:V.displayName,deviceId:G.deviceId,otpHash:yL(A.otp),expiresAt:A.expiresAt,path:D.data.path}});return}if(W){if(F.maxWorkers!==void 0){let Q=F.persistence.countRegisteredWorkers();if(F.persistence.getRegisteredWorker(G.agentId)===void 0&&Q>=F.maxWorkers){F.persistence.recordAudit({actor:"gateway",action:"gateway.connect.rejected",workerId:G.agentId,detail:{reason:"quota_exceeded",role:G.role,agentId:G.agentId,limit:F.maxWorkers,current:Q}}),D.close(4401,"auth:quota_exceeded");return}}if(!F.masterKeyHex){F.persistence.recordAudit({actor:"gateway",action:"gateway.connect.rejected",workerId:G.agentId,detail:{reason:"master_key_missing",role:G.role,agentId:G.agentId}}),D.close(4401,"auth:master_key_missing");return}let V=G.enroll,A=F.persistence.upsertEnrolledWorker({workerId:G.agentId,baseUrl:"",apiToken:V.apiToken,displayName:V.displayName??G.agentId,addedBy:"self-enroll"},F.masterKeyHex);if(A.kind!=="unchanged")F.persistence.recordAudit({actor:"gateway",action:"gateway.worker.enrolled",workerId:G.agentId,detail:{workerId:G.agentId,displayName:A.row.displayName,deviceId:G.deviceId,change:A.kind}})}if(D.data.role=G.role,D.data.agentId=G.agentId,D.data.deviceId=G.deviceId,G.role==="operator")F.operators.register({agentId:G.agentId,deviceId:G.deviceId,ws:D,connectedAt:Date.now()});else{let{replaced:V}=F.nodes.register({workerId:G.agentId,deviceId:G.deviceId,ws:D,pairedAt:Date.now(),meta:G.meta??{}});if(V){F.forwards.cancelByWorker(G.agentId);try{V.ws.close(1012,"replaced_by_new_node_connection")}catch{}}let A=F.persistence.getRegisteredWorker(G.agentId)?.displayName;c8(F.operators,{type:"event",name:XD.WORKER_ONLINE,payload:{workerId:G.agentId,displayName:A,deviceId:G.deviceId,connectedAt:Date.now()},ts:Date.now()})}if(F.persistence.recordAudit({actor:"gateway",action:"gateway.connect.accepted",workerId:G.role==="node"?G.agentId:null,detail:{role:G.role,agentId:G.agentId,deviceId:G.deviceId,loopback:D.data.loopback,via:U.via}}),!D.data.loopback&&F.connectRateLimiter)F.connectRateLimiter.recordSuccess(D.data.remoteAddress);return}if(D.data.role==="node-pending"){F.logger.warn(`[gateway] node-pending \u7AEF\u5728 approve \u524D\u53D1\u9001\u4E86 ${G.type} \u5E27\uFF0C\u5FFD\u7565`);return}if(D.data.role==="operator"){if(G.type==="request"){let B=D.data.agentId??"unknown";n_(F,D,G,B);return}F.logger.warn(`[gateway] operator \u7AEF\u53D1\u9001\u4E86\u975E request \u5E27: ${G.type}`),D.close(4400,"operator_expects_request_only");return}if(D.data.role==="node"){if(G.type==="response"){s_(F,D,G);return}if(G.type==="event"){r_(F,D,G);return}F.logger.warn(`[gateway] node \u7AEF\u53D1\u9001\u4E86\u975E response/event \u5E27: ${G.type}`),D.close(4400,"node_expects_response_or_event_only")}}function gL(D,$,F,X){if(D.data.role==="node-pending"){let J=X.pendingEnrollments?.removeByWs(D);if(J)X.persistence.recordAudit({actor:"gateway",action:"gateway.enrollment.abandoned",workerId:J.workerId,detail:{workerId:J.workerId,displayName:J.displayName,code:$,reason:F}});X.logger.debug(`[gateway] node-pending ws closed (code=${$} reason=${F})`);return}if(D.data.role==="operator")X.operators.unregister(D),X.forwards.cancelByOperator(D);else if(D.data.role==="node"){let J=X.nodes.unregisterByWs(D);if(J)X.forwards.cancelByWorker(J.workerId),c8(X.operators,{type:"event",name:XD.WORKER_OFFLINE,payload:{workerId:J.workerId,deviceId:J.deviceId,reason:xL($),disconnectedAt:Date.now()},ts:Date.now()}),X.persistence.recordAudit({actor:"gateway",action:"gateway.node.disconnected",workerId:J.workerId,detail:{code:$,reason:F}})}X.logger.debug(`[gateway] ws closed (code=${$} reason=${F})`)}function xL(D){if(D===1000||D===1012||D===1001||D===1005||D===1006)return"disconnected";if(D>=4000&&D<5000)return"kicked";return"expired"}function yL(D){return vL("sha256").update(D).digest("hex").slice(0,8)}$D();import{randomBytes as a_}from"crypto";import{mkdirSync as mL}from"fs";import{createServer as pL}from"net";import{join as t_}from"path";import cL from"process";$D();class hF{socket;constructor(D="/var/run/docker.sock"){this.socket=D}async request(D,$,F){let X=`http://localhost${$}`,J={method:D,unix:this.socket,headers:F!==void 0?{"Content-Type":"application/json"}:{}};if(F!==void 0)J.body=JSON.stringify(F);let Y=await fetch(X,J),G=await Y.text();if(!Y.ok)throw Error(`Docker API ${D} ${$} failed: ${Y.status} ${G}`);if(!G)return;try{return JSON.parse(G)}catch{return G}}ping(){return this.request("GET","/_ping")}createContainer(D,$){return this.request("POST",`/containers/create?name=${encodeURIComponent(D)}`,$)}startContainer(D){return this.request("POST",`/containers/${D}/start`)}async stopContainer(D,$=10){try{await this.request("POST",`/containers/${D}/stop?t=${$}`)}catch(F){if(F instanceof Error&&/304/.test(F.message))return;throw F}}removeContainer(D,$){let F=new URLSearchParams;if($?.force)F.set("force","true");if($?.removeVolumes)F.set("v","true");let X=F.toString();return this.request("DELETE",`/containers/${D}${X?`?${X}`:""}`)}inspectContainer(D){return this.request("GET",`/containers/${D}/json`)}listContainers(D){let $=new URLSearchParams({all:"true"});if(D)$.set("filters",JSON.stringify(D));return this.request("GET",`/containers/json?${$.toString()}`)}async logs(D,$){let F=new URLSearchParams({stdout:String($?.stdout??!0),stderr:String($?.stderr??!0),tail:String($?.tail??200)}),X=`http://localhost/containers/${D}/logs?${F.toString()}`,J=await fetch(X,{method:"GET",unix:this.socket});if(!J.ok){let G=await J.text();throw Error(`Docker logs ${D} failed: ${J.status} ${G}`)}let Y=new Uint8Array(await J.arrayBuffer());return uL(Y)}async ensureNetwork(D){try{await this.request("GET",`/networks/${encodeURIComponent(D)}`)}catch{R.info(`[gateway/supervisor] creating docker network ${D}`),await this.request("POST","/networks/create",{Name:D,Driver:"bridge"})}}}function uL(D){let $=new TextDecoder,F="",X=0;while(X<D.length){if(X+8>D.length)break;let J=D[X+4]<<24|D[X+5]<<16|D[X+6]<<8|D[X+7];X+=8,F+=$.decode(D.slice(X,X+J)),X+=J}return F}var dL=/\[worker\] AIWORKER_BOOTSTRAP_TOKEN=(wtk_[\w-]{32,})/,lL=30000,iL=500;class gF{config;docker;allocatePort;pollIntervalMs;pollTimeoutMs;now;sleep;selfHostname;constructor(D){this.config=D.config,this.docker=D.docker??new hF(D.config.dockerHost),this.allocatePort=D.allocatePort??oL,this.pollIntervalMs=D.pollIntervalMs??iL,this.pollTimeoutMs=D.pollTimeoutMs??lL,this.now=D.now??Date.now,this.sleep=D.sleep??(($)=>new Promise((F)=>setTimeout(F,$))),this.selfHostname=D.selfHostname===void 0?cL.env.HOSTNAME??null:D.selfHostname}async ensureInfrastructure(){await this.docker.ping(),await this.docker.ensureNetwork(this.config.network),await this.ensureSelfJoinedNetwork(this.config.network)}async ensureSelfJoinedNetwork(D){let $=this.selfHostname;if(!$||!/^[0-9a-f]{12,64}$/i.test($)){R.warn(`[gateway/supervisor] HOSTNAME=${$??"(unset)"} is not a docker container id; skipping self-in-network check`);return}let F;try{F=await this.docker.inspectContainer($)}catch(J){R.warn(`[gateway/supervisor] could not inspect self-container ${$}: ${J.message}; skipping self-in-network check`);return}let X=F.NetworkSettings?.Networks;if(!X||typeof X!=="object"){R.warn(`[gateway/supervisor] inspect of ${$} returned no NetworkSettings.Networks; skipping self-in-network check`);return}if(!(D in X))throw new x2(`gateway container ${$} is not a member of docker network '${D}'. Attach it via docker compose (networks: [${D}]) or \`docker network connect\` before enabling launch; otherwise launched workers will be unreachable at the rendered baseUrl.`)}buildEnv(D){let $=["AIWORKER_MODE=worker",`AIWORKER_MASTER_KEY=${D.masterKeyHex}`,`PORT=${D.port}`,`WORKER_DB_PATH=${t_("/var/lib/aiworker","worker.db")}`,`NODE_ENV=${this.config.nodeEnv}`,`INTERNAL_SHARED_SECRET=${this.config.internalSharedSecret}`,"WORKER_MIGRATIONS_FOLDER=./drizzle/worker"];if(D.forceId)$.push(`AIWORKER_FORCE_ID=${D.forceId}`);return $}async launchLocal(D){try{await this.ensureInfrastructure()}catch(W){throw new x2(`docker infrastructure unavailable: ${W.message}`,W)}let $=await this.allocatePort(),F=a_(32).toString("hex"),J=`aiworker-${a_(4).toString("hex")}`,Y=t_(this.config.workerDataRoot,J);try{mL(Y,{recursive:!0})}catch(W){throw new x2(`failed to create data dir ${Y}: ${W.message}`,W)}let G=this.buildEnv({masterKeyHex:F,port:$,forceId:D.forceId}),B={Image:this.config.image,Env:G,Labels:{"aiworker.role":"worker","aiworker.addedBy":"launch-local","aiworker.displayName":D.displayName},HostConfig:{RestartPolicy:{Name:"unless-stopped"},NetworkMode:this.config.network,Memory:rL(this.config.workerMemoryLimit),NanoCpus:Math.round(this.config.workerCpuLimit*1e9),Binds:[`${Y}:/var/lib/aiworker`]},NetworkingConfig:{EndpointsConfig:{[this.config.network]:{Aliases:[J]}}}},H=null;try{let W=await this.docker.createContainer(J,B);H=W.Id,await this.docker.startContainer(W.Id),R.info(`[gateway/supervisor] spawned ${J} (container ${W.Id.slice(0,12)}); polling for bootstrap token`);let U=await this.awaitBootstrapToken(W.Id),V=sL(this.config.launchBaseUrlTemplate,{containerName:J,port:String($)});return R.success(`[gateway/supervisor] ${J} bootstrapped as ${U.workerId}`),{workerId:U.workerId,apiToken:U.token,baseUrl:V,containerId:W.Id,containerName:J}}catch(W){if(H)try{await this.docker.removeContainer(H,{force:!0,removeVolumes:!1})}catch(U){R.warn(`[gateway/supervisor] failed to cleanup ${H}: ${U.message}`)}if(W instanceof l1||W instanceof x2)throw W;throw new x2(`launch failed: ${W.message}`,W)}}async awaitBootstrapToken(D){let $=this.now()+this.pollTimeoutMs;while(this.now()<$){let F;try{F=await this.docker.logs(D,{tail:200})}catch(J){R.debug(`[gateway/supervisor] logs read failed, retrying: ${J.message}`),await this.sleep(this.pollIntervalMs);continue}let X=nL(F);if(X)return X;await this.sleep(this.pollIntervalMs)}throw new l1(`bootstrap token not observed in container ${D.slice(0,12)} after ${this.pollTimeoutMs}ms`)}async shutdown(){}}function nL(D){let $=dL.exec(D);if(!$)return null;let F=/\[worker\] id=(w_[0-9a-hjkmnp-tv-z]{12})/.exec(D);if(!F)return null;return{workerId:F[1],token:$[1]}}function sL(D,$){return D.replace(/\{(\w+)\}/g,(F,X)=>$[X]??`{${X}}`)}function rL(D){let $=/^(\d+)([bkmg])?$/i.exec(D.trim());if(!$)throw Error(`Invalid memory limit: ${D}`);let F=Number($[1]),X=($[2]??"b").toLowerCase();return F*({b:1,k:1024,m:1048576,g:1073741824}[X]??1)}function oL(){return new Promise((D,$)=>{let F=pL();F.unref(),F.on("error",$),F.listen(0,()=>{let X=F.address();if(X&&typeof X==="object"){let J=X.port;F.close(()=>D(J))}else F.close(()=>$(Error("failed to allocate free port")))})})}function tL(D){P_(D.fleetDbPath),L_(wF);let $=TF(),F=new g7($),X=new f7,J=new k7,Y=new b7({onExpire:(W,U)=>{if(R.warn(`[gateway] forward \u53D6\u6D88 (method=${W.method} workerId=${W.workerId} reason=${U})`),U==="operator_gone")return;let V=U==="timeout"?"forward_timeout":"node_gone",A=U==="timeout"?`\u7B49\u5F85 worker ${W.workerId} \u54CD\u5E94\u8D85\u65F6`:`worker ${W.workerId} \u5728\u7B49\u5F85\u54CD\u5E94\u671F\u95F4\u4E0B\u7EBF`;try{W.operatorWs.send(zD({type:"response",id:W.operatorRequestId,ok:!1,error:{code:V,message:A,details:{workerId:W.workerId,method:W.method}}}))}catch{}}}),G=new v7({ttlMs:D.enrollOtpTtlSec*1000,onExpire:(W)=>{try{W.ws.close(4408,"enroll:expired")}catch{}try{F.recordAudit({actor:"gateway",action:"gateway.enrollment.expired",workerId:W.workerId,detail:{displayName:W.displayName,otpHash:aL("sha256").update(W.otp).digest("hex").slice(0,16)}})}catch(U){R.warn("[gateway] \u5199 enrollment.expired audit \u5931\u8D25",U)}}}),B=null;if(D.canLaunch)B=new gF({config:{dockerHost:D.supervisor.dockerHost,image:D.supervisor.image,network:D.supervisor.network,workerDataRoot:D.supervisor.workerDataRoot,workerMemoryLimit:D.supervisor.workerMemoryLimit,workerCpuLimit:D.supervisor.workerCpuLimit,launchBaseUrlTemplate:D.supervisor.launchBaseUrlTemplate,internalSharedSecret:D.internalSharedSecret,nodeEnv:D.nodeEnv}}),R.info("[gateway] AIWORKER_GATEWAY_CAN_LAUNCH=true \u2014 workers.launch \u5DF2\u5F00\u542F");let H=new S7;return{persistence:F,nodes:X,operators:J,forwards:Y,logger:R.withTag("gateway"),masterKeyHex:D.masterKeyHex,supervisor:B,maxWorkers:D.maxWorkers,pendingEnrollments:G,connectRateLimiter:H}}async function e_(D){let F={...j_(),...D},X=tL(F),J=o_({config:F,context:X});return R.success(`[gateway] listening ws://${F.host}:${J.port}/ws (auth=${F.internalSharedSecret?"shared-secret+loopback":"loopback-only"})`),{...J,config:F}}$D();x8();y8();import{spawn as eL}from"child_process";import{closeSync as DU,existsSync as Dj,openSync as $U,readFileSync as $j,unlinkSync as x7,writeFileSync as Fj}from"fs";import{mkdir as Xj}from"fs/promises";import B8 from"process";var Jj="AIWORKER_GATEWAY_INTERNAL_FOREGROUND";function FU(D){if(!Number.isFinite(D)||D<=0)return!1;try{return B8.kill(D,0),!0}catch($){if($.code==="EPERM")return!0;return!1}}function Gj(D){if(!Dj(D))return null;try{let $=$j(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}}async function Yj(){await Xj(O2(),{recursive:!0})}function y7(){let D=F7(),$=X7(),F=Gj(D);if(F===null)return{running:!1,pidFile:D,logFile:$};if(!FU(F)){try{x7(D)}catch{}return{running:!1,pidFile:D,logFile:$}}return{running:!0,pid:F,pidFile:D,logFile:$}}async function XU(D={}){let $=y7();if($.running)throw Error(`gateway daemon \u5DF2\u5728\u8FD0\u884C (pid=${$.pid})\uFF0C\u5148\u6267\u884C 'aiworker gateway stop' \u518D\u91CD\u8BD5\u3002`);await Yj();let F=D.port??Number.parseInt(B8.env.PORT??"9218",10);if(!Number.isFinite(F)||F<=0||F>65535)throw Error(`\u975E\u6CD5\u7AEF\u53E3: ${F}`);let X=F7(),J=X7(),Y=$U(J,"a"),G=$U(J,"a"),B={...B8.env,...D.env,PORT:String(F),[Jj]:"1"},H=B8.argv[1];if(!H||H.length===0)throw Error("detach \u6A21\u5F0F\u65E0\u6CD5\u5B9A\u4F4D cli \u81EA\u8EAB\u811A\u672C\u8DEF\u5F84\uFF08process.argv[1] \u4E3A\u7A7A\uFF09");let W=eL(B8.execPath,[H,"gateway","start","--port",String(F)],{env:B,cwd:B8.cwd(),detached:!0,stdio:["ignore",Y,G]});try{DU(Y)}catch{}if(G!==Y)try{DU(G)}catch{}if(W.pid===void 0)throw Error("gateway \u5B50\u8FDB\u7A0B\u542F\u52A8\u5931\u8D25\uFF1A\u672A\u83B7\u5F97 PID");return W.unref(),Fj(X,`${String(W.pid)}
|
|
294
|
+
`,"utf8"),{pid:W.pid,port:F,logFile:J,pidFile:X}}async function JU(D={}){let $=y7();if(!$.running||$.pid===void 0)return null;let F=$.pid,X=D.timeoutMs??5000,J=100;try{B8.kill(F,"SIGTERM")}catch(G){if(G.code==="ESRCH"){try{x7($.pidFile)}catch{}return null}throw G}let Y=Date.now()+X;while(Date.now()<Y){if(!FU(F)){try{x7($.pidFile)}catch{}return F}await new Promise((G)=>setTimeout(G,J))}try{B8.kill(F,"SIGKILL")}catch{}try{x7($.pidFile)}catch{}return F}y8();async function GU(D={}){if(D.detach===!0)return Bj(D);return Hj(D)}async function Bj(D){try{let $=await XU({...D.port===void 0?{}:{port:D.port}});if(D.persistUrl!==!1)await s6({gatewayUrl:`ws://localhost:${$.port}`});return R.success(`gateway daemon \u5DF2\u542F\u52A8 pid=${$.pid} port=${$.port}`),R.info(`pidFile: ${$.pidFile}`),R.info(`logFile: ${$.logFile}`),0}catch($){return R.error(`gateway start --detach \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),1}}async function Hj(D){try{let $=await e_(D.port===void 0?{}:{port:D.port});if(D.persistUrl!==!1)try{await s6({gatewayUrl:`ws://localhost:${$.port}`})}catch(J){R.warn(`\u65E0\u6CD5\u6301\u4E45\u5316 gatewayUrl \u5230 aim.json: ${J instanceof Error?J.message:String(J)}`)}R.success(`gateway \u5DF2\u542F\u52A8 (foreground) port=${$.port}`);let F=!1,X=async(J)=>{if(F)return;F=!0,R.info(`[gateway] received ${J}, shutting down`);try{await $.stop(),SF()}catch(Y){R.error("[gateway] shutdown failed",Y)}xF.exit(0)};return xF.once("SIGTERM",()=>void X("SIGTERM")),xF.once("SIGINT",()=>void X("SIGINT")),await new Promise(()=>{}),0}catch($){return R.error(`gateway start \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),1}}function YU(){let D=y7();if(D.running)return R.success(`gateway daemon \u8FD0\u884C\u4E2D pid=${D.pid}`),R.info(`pidFile: ${D.pidFile}`),R.info(`logFile: ${D.logFile}`),0;return R.info("gateway daemon \u672A\u8FD0\u884C\uFF08\u6216\u5728 foreground \u6A21\u5F0F\u4E0B\u7531 systemd \u76F4\u63A5\u7BA1\uFF09"),1}async function BU(D={}){try{let $=await JU(D.timeoutMs===void 0?{}:{timeoutMs:D.timeoutMs});if($===null)return R.info("gateway daemon \u5F53\u524D\u672A\u8FD0\u884C"),0;return R.success(`gateway daemon \u5DF2\u505C\u6B62 pid=${$}`),0}catch($){return R.error(`gateway stop \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),1}}$D();import{spawnSync as HU}from"child_process";import{existsSync as Wj,mkdirSync as _j,readFileSync as Uj,writeFileSync as Vj}from"fs";import{homedir as WU}from"os";import _U from"path";import Aj from"process";var l8="aiworker-gateway.service",Qj="/var/lib/aiworker";function Kj(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(`
|
|
295
|
+
`);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=${Qj}`,"","[Install]","WantedBy=multi-user.target",""].join(`
|
|
296
|
+
`)}function Ej(D,$=WU()){if(D==="user")return _U.join($,".config","systemd","user",l8);return`/etc/systemd/system/${l8}`}function Cj(D={}){let $=D.scope??"user",F=Kj({scope:$,...$==="system"?{operatorHome:WU()}:{}});if(D.dryRun)return{scope:$,content:F,enabled:!1};let X=D.out??Ej($);_j(_U.dirname(X),{recursive:!0});let J=!1;if(Wj(X)){if(Uj(X,"utf8")===F)J=!0}if(!J)Vj(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 Rj($),{scope:$,content:F,written:{path:X,unchanged:J},enabled:!0}}function Rj(D){let $=D==="user"?["--user"]:[],F=HU("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=HU("systemctl",[...$,"enable","--now",l8],{stdio:"inherit"});if(X.error)throw Error(`\u65E0\u6CD5\u6267\u884C systemctl: ${X.error.message}`);if(X.status!==0)throw Error(`systemctl ${[...$,"enable","--now",l8].join(" ")} \u5931\u8D25 (exit=${X.status??"signal"})`)}async function UU(D={}){try{let $=Cj(D);if(D.dryRun)return Aj.stdout.write($.content),0;let F=$.written?.path??"<unknown>";if($.written?.unchanged)R.info(`systemd unit \u672A\u53D8\u66F4 (${F})`);else R.success(`systemd unit \u5199\u5165 ${F}`);if($.enabled)R.success(`\u5DF2 enable --now ${l8}\uFF08${$.scope==="user"?"systemctl --user":"systemctl"}\uFF09`);else if(D.out!==void 0)R.info("--out \u6307\u5B9A\u4E86\u975E\u9ED8\u8BA4\u8DEF\u5F84\uFF0C\u5DF2\u8DF3\u8FC7 systemctl\uFF1B\u5982\u9700\u542F\u7528\u8BF7\u624B\u52A8:"),R.info(` systemctl ${$.scope==="user"?"--user ":""}daemon-reload`),R.info(` systemctl ${$.scope==="user"?"--user ":""}enable --now ${l8}`);else if(D.noEnable)R.info("--no-enable \u5DF2\u751F\u6548\uFF1B\u5982\u9700\u542F\u7528\u8BF7\u624B\u52A8:"),R.info(` systemctl ${$.scope==="user"?"--user ":""}daemon-reload`),R.info(` systemctl ${$.scope==="user"?"--user ":""}enable --now ${l8}`);return 0}catch($){return R.error(`install systemd \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),1}}$0();$D();async function VU(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(XD.LOGS_LINE,(W)=>{if(W===null||typeof W!=="object")return;let U=W.workerId;if(typeof U!=="string"||U!==D.workerId)return;t0(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),t0({kind:"error",payload:{code:"request_failed",message:W instanceof Error?W.message:String(W)}}),G(UD(W))})})})}catch(X){return R.error(`logs \u5931\u8D25: ${X instanceof Error?X.message:String(X)}`),UD(X)}}$D();async function AU(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(() => (y8(),G7));return await F({...D.url===void 0?{}:{gatewayUrl:D.url},deviceToken:$.deviceToken,defaultWorkerId:$.workerId}),R.success(`\u5DF2\u914D\u5BF9 worker ${$.workerId}`),PD({workerId:$.workerId}),0}catch($){return R.error(`pair \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}$D();var QU=["web","line","telegram","lark","whatsapp"];function Oj(D){if(!QU.includes(D))throw Error(`\u65E0\u6548 channel "${D}"\uFF0C\u53EF\u9009\u503C\uFF1A${QU.join(", ")}`);return D}async function KU(D){try{let $=await QD(async({client:F})=>{return await F.request("cron.list",{workerId:D})});return PD($),0}catch($){return R.error(`schedule list \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function EU(D){try{let $=Oj(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 R.error(`schedule add \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function CU(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 R.error(`schedule remove \u5931\u8D25: ${F instanceof Error?F.message:String(F)}`),UD(F)}}$D();async function RU(D){try{let $=await QD(async({client:F})=>{return await F.request("token.rotate",{workerId:D})});return PD($),0}catch($){return R.error(`token rotate \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}$D();async function OU(){try{let D=await QD(async({client:$})=>{return await $.request("workers.list",{})});return PD(D),0}catch(D){return R.error(`workers list \u5931\u8D25: ${D instanceof Error?D.message:String(D)}`),UD(D)}}async function MU(D){try{let $=await QD(async({client:F})=>{return await F.request("workers.info",{workerId:D})});return PD($),0}catch($){return R.error(`workers info \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function ZU(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(() => (y8(),G7));return await F({deviceToken:$.deviceToken,defaultWorkerId:$.workerId}),R.success(`\u5DF2 launch worker ${$.workerId}`),PD({workerId:$.workerId}),0}catch($){return R.error(`workers launch \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function qU(D){try{let $=await QD(async({client:F})=>{return await F.request("workers.stop",{workerId:D})});return PD($),0}catch($){return R.error(`workers stop \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}async function NU(D){try{let $=await QD(async({client:Y})=>{return await Y.request("workers.remove",{workerId:D})}),{loadAimState:F,saveAimState:X}=await Promise.resolve().then(() => (y8(),G7)),J=await F();if(J.defaultWorkerId===D){let Y={...J};delete Y.defaultWorkerId,await X(Y)}return PD($),0}catch($){return R.error(`workers remove \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),UD($)}}V2();$D();import yG from"process";V2();wD();import Up from"process";async function Vp(D){let $=kD(),F=u2(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 a1(D,X)}async function z0(D={}){E3(l.WORKER_DB_PATH);let $=Up.env.WORKER_MIGRATIONS_FOLDER??n1;C3($);let F=kD(),X=p(),J=await r8(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)o8(J.workerId,J.token,X,J.justMinted);let Y=await s8(X),G=await Vp(Y.config),B=new A1({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 kR(D){return E1(D.workerId,D.hydrated,{processes:D.processes})}function Ap(){return`http://${yG.env.AIW_LOCAL_WORKER_HOST??"localhost"}:${l.PORT}`}async function vR(D,$={}){let F=await z0({silent:!0}),X=`${Ap()}${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 hR(){try{let{status:D,body:$}=await vR("/api/worker/approvals");if(D!==200)return R.error(`approvals list HTTP ${D}: ${JSON.stringify($)}`),1;return yG.stdout.write(`${JSON.stringify($,null,2)}
|
|
297
|
+
`),0}catch(D){return R.error(`approvals list \u5931\u8D25: ${D instanceof Error?D.message:String(D)}`),1}}async function gR(D){try{let $=D.deny===!0?"deny":"allow",{status:F,body:X}=await vR(`/api/worker/approvals/${encodeURIComponent(D.taskId)}/${encodeURIComponent(D.toolCallId)}/grant`,{method:"POST",body:JSON.stringify({decision:$})});if(F!==200)return R.error(`approvals grant HTTP ${F}: ${JSON.stringify(X)}`),1;return yG.stdout.write(`${JSON.stringify(X,null,2)}
|
|
298
|
+
`),0}catch($){return R.error(`approvals grant \u5931\u8D25: ${$ instanceof Error?$.message:String($)}`),1}}V2();$D();async function xR(){await z0({silent:!0});let{getWorkerDb:D}=await Promise.resolve().then(() => (wD(),mF)),$=await j0(D());return console.log(JSON.stringify({version:$.version,config:$.config},null,2)),0}async function yR(D){let $=await z0({silent:!0}),F;try{F=JSON.parse(D.json)}catch(G){return R.error(`[aiw config set] invalid JSON: ${String(G)}`),2}let{getWorkerDb:X}=await Promise.resolve().then(() => (wD(),mF)),J=X(),Y=kD();try{let G=await B9(J,Y,F,D.ifMatch===void 0?{}:{ifMatchVersion:D.ifMatch});return await H9($.workerId,G.config,G.version),R.success(`[aiw config set] stored config v${G.version}`),0}catch(G){if(G instanceof w2)return R.error(`[aiw config set] invalid config: ${JSON.stringify(G.issues,null,2)}`),2;if(G instanceof T2)return R.error(`[aiw config set] version conflict: expected ${G.expected}, stored is ${G.actual}`),3;throw G}}$D();async function uR(){let D=await z0();R.success(`[aiw init] worker ${D.workerId} ready (config v${D.configVersion})`)}$D();var Qp=120000;async function mR(D={}){let $=D.message??"";if(!$)return R.error("[aiw run] --message is required (non-empty)"),2;let F=await z0(),X=kR(F),J=D.timeoutMs??Qp;if(R.info(`[aiw run] worker ${F.workerId} (config v${F.configVersion}) \u2014 engine=${F.hydrated.executor.engine}/${F.hydrated.executor.variant}`),D.dryRun)return R.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,V=setTimeout(()=>{R.error(`[aiw run] timed out after ${J}ms without reaching a terminal state`),U?.(),W(124)},J);U=X.bus.on((A)=>{if(console.log(JSON.stringify({type:A.type,at:A.at,payload:A.payload})),A.type==="orchestrator.finished"||A.type==="orchestrator.error")clearTimeout(V),U?.(),W(A.type==="orchestrator.finished"?0:1)})});try{await X.orchestrator.ingest(G)}catch(W){return R.error(`[aiw run] ingest failed: ${String(W)}`),X.dispose(),1}let H=await B;return X.dispose(),H}$D();var pR=["web","line","telegram","lark","whatsapp"];function Kp(D){if(!pR.includes(D))throw Error(`\u65E0\u6548 channel "${D}"\uFF0C\u53EF\u9009\u503C\uFF1A${pR.join(", ")}`);return D}async function uG(D){await z0({silent:!0});let{CronService:$}=await Promise.resolve().then(() => (V2(),fR)),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 cR(){try{let D=await uG(async($)=>$.listJobs());return console.log(JSON.stringify({jobs:D},null,2)),0}catch(D){return R.error(`[aiw schedule list] failed: ${D instanceof Error?D.message:String(D)}`),1}}async function dR(D){try{let $=Kp(D.channel),F=await uG(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 R.error(`[aiw schedule add] failed: ${$ instanceof Error?$.message:String($)}`),1}}async function lR(D){try{let $=await uG(async(F)=>F.removeJob(D));return console.log(JSON.stringify($,null,2)),$.removed?0:1}catch($){return R.error(`[aiw schedule remove] failed: ${$ instanceof Error?$.message:String($)}`),1}}import c5 from"process";function E9(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 FD(D,$){var F;return((F=D===null||D===void 0?void 0:D._def)===null||F===void 0?void 0:F.typeName)===$}function Ep(D){return"_def"in D}function Q9(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 nR(D){if(typeof D.ZodType.prototype.openapi<"u")return;D.ZodType.prototype.openapi=function(J,Y){var G,B,H,W,U,V;let A=typeof J==="string"?Y:J,Q=A!==null&&A!==void 0?A:{},{param:C}=Q,E=E9(Q,["param"]),K=Object.assign(Object.assign({},(G=this._def.openapi)===null||G===void 0?void 0:G._internal),typeof J==="string"?{refId:J}:void 0),Z=Object.assign(Object.assign(Object.assign({},(B=this._def.openapi)===null||B===void 0?void 0:B.metadata),E),((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({},(V=(U=this._def.openapi)===null||U===void 0?void 0:U.metadata)===null||V===void 0?void 0:V.param),C)}:void 0),q=new this.constructor(Object.assign(Object.assign({},this._def),{openapi:Object.assign(Object.assign({},Object.keys(K).length>0?{_internal:K}:void 0),Object.keys(Z).length>0?{metadata:Z}:void 0)}));if(FD(this,"ZodObject")){let P=this.extend;q.extend=function(...z){var S,L,h,I,r,WD,YD;let o=P.apply(this,z);return o._def.openapi={_internal:{extendedFrom:((L=(S=this._def.openapi)===null||S===void 0?void 0:S._internal)===null||L===void 0?void 0:L.refId)?{refId:(I=(h=this._def.openapi)===null||h===void 0?void 0:h._internal)===null||I===void 0?void 0:I.refId,schema:this}:(WD=(r=this._def.openapi)===null||r===void 0?void 0:r._internal)===null||WD===void 0?void 0:WD.extendedFrom},metadata:(YD=o._def.openapi)===null||YD===void 0?void 0:YD.metadata},o}}return q},Q9(D,"optional"),Q9(D,"nullable"),Q9(D,"default"),Q9(D,"transform"),Q9(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 S5(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)=>S5(D[X],$[X]))}class sR{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)=>S5(J,D)))F.push(D)}contains(D){let $=this.hashCodeOf(D),F=this.buckets.get($);if(!F)return!1;return F.some((X)=>S5(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 C9(D){return D===void 0}function R9(D,$){let F={};return Object.entries(D).forEach(([X,J])=>{F[X]=$(J)}),F}function Cp(D,$){let F={};return Object.entries(D).forEach(([X,J])=>{if(!$.some((Y)=>Y===X))F[X]=J}),F}function S6(D,$){let F={};return Object.entries(D).forEach(([X,J])=>{if(!$(J,X))F[X]=J}),F}function iR(D){return D.filter(($)=>!C9($))}var mG=S5;function Rp(D){let $=new sR;return D.forEach((F)=>$.put(F)),[...$.values()]}function rR(D){return typeof D==="string"}class pG{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 M9{constructor(D){this.message=D}}class T6 extends M9{constructor(D,$){super(D);this.data=$}}class O9 extends M9{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 K9(D,$){try{return D()}catch(F){if(F instanceof O9)throw new O9(Object.assign(Object.assign({},F.data),$));throw F}}class oR extends M9{constructor(D){super("Unknown zod object type, please specify `type` and other OpenAPI props using `ZodSchema.openapi`.");this.data=D}}class ZD{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 S6(Cp(D,["param"]),C9)}static buildParameterMetadata(D){return S6(D,C9)}static applySchemaMetadata(D,$){return S6(Object.assign(Object.assign({},D),this.buildSchemaMetadata($)),C9)}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($&&FD(D,$))return D;if(FD(D,"ZodOptional")||FD(D,"ZodNullable")||FD(D,"ZodBranded"))return this.unwrapUntil(D.unwrap(),$);if(FD(D,"ZodDefault")||FD(D,"ZodReadonly"))return this.unwrapUntil(D._def.innerType,$);if(FD(D,"ZodEffects"))return this.unwrapUntil(D._def.schema,$);if(FD(D,"ZodPipeline"))return this.unwrapUntil(D._def.in,$);return $?void 0:D}static isOptionalSchema(D){return D.isOptional()}}class aR{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 tR{transform(D){return Object.assign(Object.assign({},D("string")),{pattern:"^d+$"})}}class eR{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)=>ZD.getRefId(J)===void 0))return;let X={};return D.forEach((J)=>{var Y;let G=ZD.getRefId(J),B=(Y=J.shape)===null||Y===void 0?void 0:Y[$];if(FD(B,"ZodEnum")||FD(B,"ZodNativeEnum")){Object.values(B.enum).filter(rR).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 DO{transform(D,$){return Object.assign(Object.assign({},$("string")),{enum:D._def.values})}}class $O{transform(D,$,F,X){let Y={allOf:this.flattenIntersectionTypes(D).map(X)};if($)return{anyOf:F([Y],$)};return Y}flattenIntersectionTypes(D){if(!FD(D,"ZodIntersection"))return[D];let $=this.flattenIntersectionTypes(D._def.left),F=this.flattenIntersectionTypes(D._def.right);return[...$,...F]}}class FO{transform(D,$){return Object.assign(Object.assign({},$(typeof D._def.value)),{enum:[D._def.value]})}}function Op(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 XO{transform(D,$){let{type:F,values:X}=Op(D._def.values);if(F==="mixed")throw new M9("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 JO{transform(D,$,F){return Object.assign(Object.assign({},$(D.isInt?"integer":"number")),F(D._def.checks))}}class GO{transform(D,$,F,X){var J;let Y=(J=ZD.getInternalMetadata(D))===null||J===void 0?void 0:J.extendedFrom,G=this.requiredKeysOf(D),B=R9(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=R9(H===null||H===void 0?void 0:H._def.shape(),X),V=Object.fromEntries(Object.entries(B).filter(([C,E])=>{return!mG(U[C],E)})),A=G.filter((C)=>!W.includes(C)),Q=Object.assign(Object.assign(Object.assign(Object.assign({},F("object")),{default:$,properties:V}),A.length>0?{required:A}:{}),this.generateAdditionalProperties(D,X));return{allOf:[{$ref:`#/components/schemas/${Y.refId}`},Q]}}generateAdditionalProperties(D,$){let F=D._def.unknownKeys,X=D._def.catchall;if(FD(X,"ZodNever")){if(F==="strict")return{additionalProperties:!1};return{}}return{additionalProperties:$(X)}}requiredKeysOf(D){return Object.entries(D._def.shape()).filter(([$,F])=>!ZD.isOptionalSchema(F)).map(([$,F])=>$)}}class YO{transform(D,$,F){let X=D._def.valueType,J=D._def.keyType,Y=F(X);if(FD(J,"ZodEnum")||FD(J,"ZodNativeEnum")){let B=Object.values(J.enum).filter(rR).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 BO{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 HO{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 WO{transform(D,$,F){let J=this.flattenUnionTypes(D).map((Y)=>{let G=this.unwrapNullable(Y);return F(G)});return{anyOf:$(J)}}flattenUnionTypes(D){if(!FD(D,"ZodUnion"))return[D];return D._def.options.flatMap((F)=>this.flattenUnionTypes(F))}unwrapNullable(D){if(FD(D,"ZodNullable"))return this.unwrapNullable(D.unwrap());return D}}class _O{constructor(D){this.versionSpecifics=D,this.objectTransformer=new GO,this.stringTransformer=new BO,this.numberTransformer=new JO,this.bigIntTransformer=new tR,this.literalTransformer=new FO,this.enumTransformer=new DO,this.nativeEnumTransformer=new XO,this.arrayTransformer=new aR,this.unionTransformer=new WO,this.discriminatedUnionTransformer=new eR,this.intersectionTransformer=new $O,this.recordTransformer=new YO,this.tupleTransformer=new HO(D)}transform(D,$,F,X,J){if(FD(D,"ZodNull"))return this.versionSpecifics.nullType;if(FD(D,"ZodUnknown")||FD(D,"ZodAny"))return this.versionSpecifics.mapNullableType(void 0,$);if(FD(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(FD(D,"ZodUnknown")||FD(D,"ZodAny"))return this.versionSpecifics.mapNullableType(void 0,$);if(FD(D,"ZodString"))return this.stringTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$));if(FD(D,"ZodNumber"))return this.numberTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$),(Y)=>this.versionSpecifics.getNumberChecks(Y));if(FD(D,"ZodBigInt"))return this.bigIntTransformer.transform((Y)=>this.versionSpecifics.mapNullableType(Y,$));if(FD(D,"ZodBoolean"))return this.versionSpecifics.mapNullableType("boolean",$);if(FD(D,"ZodLiteral"))return this.literalTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$));if(FD(D,"ZodEnum"))return this.enumTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$));if(FD(D,"ZodNativeEnum"))return this.nativeEnumTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$));if(FD(D,"ZodArray"))return this.arrayTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$),F);if(FD(D,"ZodTuple"))return this.tupleTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$),F);if(FD(D,"ZodUnion"))return this.unionTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableOfArray(Y,$),F);if(FD(D,"ZodDiscriminatedUnion"))return this.discriminatedUnionTransformer.transform(D,$,(Y)=>this.versionSpecifics.mapNullableOfArray(Y,$),F,X);if(FD(D,"ZodIntersection"))return this.intersectionTransformer.transform(D,$,(Y)=>this.versionSpecifics.mapNullableOfArray(Y,$),F);if(FD(D,"ZodRecord"))return this.recordTransformer.transform(D,(Y)=>this.versionSpecifics.mapNullableType(Y,$),F);if(FD(D,"ZodDate"))return this.versionSpecifics.mapNullableType("string",$);let J=ZD.getRefId(D);throw new oR({currentSchema:D._def,schemaName:J})}}class cG{constructor(D,$){this.definitions=D,this.versionSpecifics=$,this.schemaRefs={},this.paramRefs={},this.pathRefs={},this.rawComponents=[],this.openApiTransformer=new _O($),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 $=ZD.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 T6(`Conflicting location for parameter ${H.name}`,{key:"in",values:iR([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 T6("Conflicting names for parameter",{key:"name",values:iR([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=ZD.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(FD(D,"ZodObject")){let G=D._def.shape();return Object.entries(G).map(([H,W])=>{var U,V;let A=ZD.getMetadata(W),Q=this.getParameterRef(A,{in:$,name:H});if(Q)return Q;let C=(U=A===null||A===void 0?void 0:A.metadata)===null||U===void 0?void 0:U.param;if((C===null||C===void 0?void 0:C.name)&&C.name!==H)throw new T6("Conflicting names for parameter",{key:"name",values:[H,C.name]});if((C===null||C===void 0?void 0:C.in)&&C.in!==$)throw new T6(`Conflicting location for parameter ${(V=C.name)!==null&&V!==void 0?V: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 T6(`Conflicting location for parameter ${J.name}`,{key:"in",values:[$,J.in]});return[this.generateParameter(D.openapi({param:{in:$}}))]}generateSimpleParameter(D){var $;let F=ZD.getParamMetadata(D),X=($=F===null||F===void 0?void 0:F.metadata)===null||$===void 0?void 0:$.param,J=!ZD.isOptionalSchema(D)&&!D.isNullable(),Y=this.generateSchemaWithRef(D);return Object.assign({schema:Y,required:J},X?ZD.buildParameterMetadata(X):{})}generateParameter(D){var $;let F=ZD.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 O9({missingField:"name"});if(!Y)throw new O9({missingField:"in",paramName:J});let G=this.generateSimpleParameter(D);return Object.assign(Object.assign({},G),{in:Y,name:J})}generateSchemaWithMetadata(D){var $;let F=ZD.unwrapChained(D),X=ZD.getMetadata(D),J=ZD.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)?ZD.applySchemaMetadata(Y,X.metadata):S6(Y,C9)}constructReferencedOpenAPISchema(D){var $;let F=ZD.getMetadata(D),X=ZD.unwrapChained(D),J=ZD.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=ZD.getMetadata(D),X=ZD.getRefId(D);if(!X||!this.schemaRefs[X])return this.generateSchemaWithMetadata(D);let J=this.schemaRefs[X],Y={$ref:this.generateSchemaRef(X)},G=S6(ZD.buildSchemaMetadata(($=F===null||F===void 0?void 0:F.metadata)!==null&&$!==void 0?$:{}),(W,U)=>W===void 0||mG(W,J[U]));if(G.type)return{allOf:[Y,G]};let B=S6(this.constructReferencedOpenAPISchema(D),(W,U)=>W===void 0||mG(W,J[U])),H=ZD.applySchemaMetadata(B,G);if(Object.keys(H).length>0)return{allOf:[Y,H]};return Y}generateSchemaWithRef(D){let $=ZD.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=E9(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=K9(()=>F?this.generateInlineParameters(F,"query"):[],{location:"query"}),G=K9(()=>X?this.generateInlineParameters(X,"path"):[],{location:"path"}),B=K9(()=>J?this.generateInlineParameters(J,"cookie"):[],{location:"cookie"}),H=K9(()=>{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 FD(D,"ZodEffects")?this.cleanParameter(D._def.schema):D}generatePath(D){let{method:$,path:F,request:X,responses:J}=D,Y=E9(D,["method","path","request","responses"]),G=R9(J,(U)=>{return this.getResponse(U)}),B=K9(()=>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=E9(D,["content","headers"]),J=$?{content:this.getBodyContent($)}:{};if(!F)return Object.assign(Object.assign({},X),J);let Y=FD(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 R9($,(X)=>this.generateSimpleParameter(X))}getBodyContent(D){return R9(D,($)=>{if(!$||!Ep($.schema))return $;let{schema:F}=$,X=E9($,["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 UO{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 $=Rp(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 dG{constructor(D){let $=new UO;this.generator=new cG(D,$)}generateDocument(D){let $=this.generator.generateDocumentData();return Object.assign(Object.assign({},D),$)}generateComponents(){return this.generator.generateComponents()}}class VO{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 Mp(D){return"type"in D&&D.type==="webhook"}class lG{constructor(D){this.definitions=D,this.webhookRefs={};let $=new VO;this.generator=new cG(this.definitions,$)}generateDocument(D){let $=this.generator.generateDocumentData();return this.definitions.filter(Mp).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 nG=(D)=>{let $=D.split("/");if($[0]==="")$.shift();return $},AO=(D)=>{let{groups:$,path:F}=Zp(D),X=nG(F);return qp(X,$)},Zp=(D)=>{let $=[];return D=D.replace(/\{[^}]+\}/g,(F,X)=>{let J=`@${X}`;return $.push([J,F]),J}),{groups:$,path:D}},qp=(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},b5={},QO=(D,$)=>{if(D==="*")return"*";let F=D.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(F){let X=`${D}#${$}`;if(!b5[X])if(F[2])b5[X]=$&&$[0]!==":"&&$[0]!=="*"?[X,F[1],new RegExp(`^${F[2]}(?=/${$})`)]:[D,F[1],new RegExp(`^${F[2]}$`)];else b5[X]=[D,F[1],!0];return b5[X]}return null},b6=(D,$)=>{try{return $(D)}catch{return D.replace(/(?:%[0-9A-Fa-f]{2})+/g,(F)=>{try{return $(F)}catch{return F}})}},Np=(D)=>b6(D,decodeURI),sG=(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 Np(H.includes("%25")?H.replace(/%25/g,"%2525"):H)}else if(J===63||J===35)break}return $.slice(F,X)};var KO=(D)=>{let $=sG(D);return $.length>1&&$.at(-1)==="/"?$.slice(0,-1):$},A2=(D,$,...F)=>{if(F.length)$=A2($,...F);return`${D?.[0]==="/"?"":"/"}${D}${$==="/"?"":`${D?.at(-1)==="/"?"":"/"}${$?.[0]==="/"?$.slice(1):$}`}`},f5=(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)},iG=(D)=>{if(!/[%+]/.test(D))return D;if(D.indexOf("+")!==-1)D=D.replace(/\+/g," ");return D.indexOf("%")!==-1?b6(D,Z9):D},EO=(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 iG(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=iG(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=iG(W);if(F){if(!(J[H]&&Array.isArray(J[H])))J[H]=[];J[H].push(W)}else J[H]??=W}return $?J[$]:J},CO=EO,RO=(D,$)=>{return EO(D,$,!0)},Z9=decodeURIComponent;var Pp=/^[\w!#$%&'*.^`|~+-]+$/,Lp=/^[ !#-:<-[\]-~]*$/,OO=(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)},rG=(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=OO(J.substring(0,Y));if($&&$!==G||!Pp.test(G))continue;let B=OO(J.substring(Y+1));if(B.startsWith('"')&&B.endsWith('"'))B=B.slice(1,-1);if(Lp.test(B)){if(X[G]=B.indexOf("%")!==-1?b6(B,Z9):B,$)break}}return X};var MO=(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 rG(X,Y)[Y]}if(!X)return{};return rG(X)};var k5=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 ZO=(D,$)=>{return new Response(D,{headers:{"Content-Type":$}}).formData()};var jp=/^application\/([a-z-\.]+\+)?json(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/,zp=/^multipart\/form-data(;\s?boundary=[a-zA-Z0-9'"()+_,\-./:=?]+)?$/,Ip=/^application\/x-www-form-urlencoded(;\s*[a-zA-Z0-9\-]+\=([^;]+))*$/,oG=(D,$)=>{return async(F,X)=>{let J={},Y=F.req.header("Content-Type");switch(D){case"json":if(!Y||!jp.test(Y))break;try{J=await F.req.json()}catch{throw new k5(400,{message:"Malformed JSON in request body"})}break;case"form":{if(!Y||!(zp.test(Y)||Ip.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 ZO(W,Y),F.req.bodyCache.formData=B}catch(W){let U="Malformed FormData request.";throw U+=W instanceof Error?` ${W.message}`:` ${String(W)}`,new k5(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=MO(F);break}let G=await $(J,F);if(G instanceof Response)return G;return F.req.addValidatedData(D,G),await X()}};function wp(D,$,F,X){return oG(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,V])=>[W[U]||U,V]))}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 C1=wp;var aG=(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(V){if(V instanceof Error&&$)X.error=V,H=await $(V,X),W=!0;else throw V}else if(X.finalized===!1&&F)H=await F(X);if(H&&(X.finalized===!1||W))X.res=H;return X}}};var qO=Symbol();var NO=async(D,$=Object.create(null))=>{let{all:F=!1,dot:X=!1}=$,Y=(D instanceof v5?D.raw.headers:D.headers).get("Content-Type");if(Y?.startsWith("multipart/form-data")||Y?.startsWith("application/x-www-form-urlencoded"))return Tp(D,{all:F,dot:X});return{}};async function Tp(D,$){let F=await D.formData();if(F)return Sp(F,$);return{}}function Sp(D,$){let F=Object.create(null);if(D.forEach((X,J)=>{if(!($.all||J.endsWith("[]")))F[J]=X;else bp(F,J,X)}),$.dot)Object.entries(F).forEach(([X,J])=>{if(X.includes("."))fp(F,X,J),delete F[X]});return F}var bp=(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]},fp=(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 PO=(D)=>b6(D,Z9),v5=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)?PO(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)?PO(X):X}return D}#J(D){return this.#$[1]?this.#$[1][D]:D}query(D){return CO(this.url,D)}queries(D){return RO(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 NO(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[qO](){return this.#$}get matchedRoutes(){return this.#$[0].map(([[,D]])=>D)}get routePath(){return this.#$[0].map(([[,D]])=>D)[this.routeIndex].path}};var h5={Stringify:1,BeforeStream:2,Stream:3},kp=(D,$)=>{let F=new String(D);return F.isEscaped=!0,F.callbacks=$,F};var q9=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)=>q9(H,$,!1,X,J))).then(()=>J[0]));if(F)return kp(await G,Y);else return G};var LO="text/plain; charset=UTF-8",tG=(D,$)=>{return{"Content-Type":D,...$}},N9=(D,$)=>new Response(D,$),jO=class{#D;#$;env={};#X;finalized=!1;error;#G;#J;#F;#W;#H;#B;#Y;#U;#V;constructor(D,$){if(this.#D=D,$)this.#J=$.executionCtx,this.env=$.env,this.#B=$.notFoundHandler,this.#V=$.path,this.#U=$.matchResult}get req(){return this.#$??=new v5(this.#D,this.#V,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||=N9(null,{headers:this.#Y??=new Headers})}set res(D){if(this.#F&&D){D=N9(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=N9(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 N9(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,$,tG(LO,F))};json=(D,$,F)=>{return this.#_(JSON.stringify(D),$,tG("application/json",F))};html=(D,$,F)=>{let X=(J)=>this.#_(J,$,tG("text/html; charset=UTF-8",F));return typeof D==="object"?q9(D,h5.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??=()=>N9(),this.#B(this)}};var CD="ALL",zO="all",IO=["get","post","put","delete","options","patch"],g5="Can not add a route since the matcher is already built.",x5=class extends Error{};var wO="__COMPOSED_HANDLER";var vp=(D)=>{return D.text("404 Not Found",404)},TO=(D,$)=>{if("getResponse"in D){let F=D.getResponse();return $.newResponse(F.body,F)}return console.error(D),$.text("Internal Server Error",500)},SO=class D{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#D="/";routes=[];constructor($={}){[...IO,zO].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(CD,this.#D,B)}),this};let{strict:X,...J}=$;Object.assign(this,J),this.getPath=X??!0?$.getPath??sG:KO}#$(){let $=new D({router:this.router,getPath:this.getPath});return $.errorHandler=this.errorHandler,$.#X=this.#X,$.routes=this.routes,$}#X=vp;errorHandler=TO;route($,F){let X=this.basePath($);return F.routes.map((J)=>{let Y;if(F.errorHandler===TO)Y=J.handler;else Y=async(G,B)=>(await aG([],F.errorHandler)(G,()=>J.handler(G,B))).res,Y[wO]=J.handler;X.#G(J.method,J.path,Y)}),this}basePath($){let F=this.#$();return F._basePath=A2(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=A2(this._basePath,$),W=H==="/"?0:H.length;return(U)=>{let V=new URL(U.url);return V.pathname=V.pathname.slice(W)||"/",new Request(V,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(CD,A2($,"*"),B),this}#G($,F,X){$=$.toUpperCase(),F=A2(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 jO($,{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=aG(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${A2("/",$)}`,F),X,J)};fire=()=>{addEventListener("fetch",($)=>{$.respondWith(this.#F($.request,$,void 0,$.request.method))})}};var P9=[];function y5(D,$){let F=this.buildAllMatchers(),X=(J,Y)=>{let G=F[J]||F[CD],B=G[2][Y];if(B)return B;let H=Y.match(G[0]);if(!H)return[[],P9];let W=H.indexOf("",1);return[G[1][W],H]};return this.match=X,X(D,$)}var u5="[^/]+",L9=".*",j9="(?:|/.*)",R1=Symbol(),hp=new Set(".\\+*[^]$()");function gp(D,$){if(D.length===1)return $.length===1?D<$?-1:1:-1;if($.length===1)return 1;if(D===L9||D===j9)return 1;else if($===L9||$===j9)return-1;if(D===u5)return 1;else if($===u5)return-1;return D.length===$.length?D<$?-1:1:$.length-D.length}var bO=class D{#D;#$;#X=Object.create(null);insert($,F,X,J,Y){if($.length===0){if(this.#D!==void 0)throw R1;if(Y)return;this.#D=F;return}let[G,...B]=$,H=G==="*"?B.length===0?["","",L9]:["","",u5]:G==="/*"?["","",j9]:G.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),W;if(H){let U=H[1],V=H[2]||u5;if(U&&H[2]){if(V===".*")throw R1;if(V=V.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(V))throw R1}if(W=this.#X[V],!W){if(Object.keys(this.#X).some((A)=>A!==L9&&A!==j9))throw R1;if(Y)return;if(W=this.#X[V]=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!==L9&&U!==j9))throw R1;if(Y)return;W=this.#X[G]=new D}W.insert(B,F,X,J,Y)}buildRegExpStr(){let F=Object.keys(this.#X).sort(gp).map((X)=>{let J=this.#X[X];return(typeof J.#$==="number"?`(${X})@${J.#$}`:hp.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 fO=class{#D={varIndex:0};#$=new bO;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 xp=[/^$/,[],Object.create(null)],kO=Object.create(null);function vO(D){return kO[D]??=new RegExp(D==="*"?"":`^${D.replace(/\/\*$|([.\\+*[^\]$()])/g,($,F)=>F?`\\${F}`:"(?:|/.*)")}$`)}function yp(){kO=Object.create(null)}function up(D){let $=new fO,F=[];if(D.length===0)return xp;let X=D.map((W)=>[!/\*|\/:/.test(W[0]),...W]).sort(([W,U],[V,A])=>W?1:V?-1:U.length-A.length),J=Object.create(null);for(let W=0,U=-1,V=X.length;W<V;W++){let[A,Q,C]=X[W];if(A)J[Q]=[C.map(([K])=>[K,Object.create(null)]),P9];else U++;let E;try{E=$.insert(Q,U,A)}catch(K){throw K===R1?new x5(Q):K}if(A)continue;F[U]=C.map(([K,Z])=>{let q=Object.create(null);Z-=1;for(;Z>=0;Z--){let[P,z]=E[Z];q[P]=z}return[K,q]})}let[Y,G,B]=$.buildRegExp();for(let W=0,U=F.length;W<U;W++)for(let V=0,A=F[W].length;V<A;V++){let Q=F[W][V]?.[1];if(!Q)continue;let C=Object.keys(Q);for(let E=0,K=C.length;E<K;E++)Q[C[E]]=B[Q[C[E]]]}let H=[];for(let W in G)H[W]=F[G[W]];return[Y,H,J]}function f6(D,$){if(!D)return;for(let F of Object.keys(D).sort((X,J)=>J.length-X.length))if(vO(F).test($))return[...D[F]];return}var m5=class{name="RegExpRouter";#D;#$;constructor(){this.#D={[CD]:Object.create(null)},this.#$={[CD]:Object.create(null)}}add(D,$,F){let X=this.#D,J=this.#$;if(!X||!J)throw Error(g5);if(!X[D])[X,J].forEach((B)=>{B[D]=Object.create(null),Object.keys(B[CD]).forEach((H)=>{B[D][H]=[...B[CD][H]]})});if($==="/*")$="*";let Y=($.match(/\/:/g)||[]).length;if(/\*$/.test($)){let B=vO($);if(D===CD)Object.keys(X).forEach((H)=>{X[H][$]||=f6(X[H],$)||f6(X[CD],$)||[]});else X[D][$]||=f6(X[D],$)||f6(X[CD],$)||[];Object.keys(X).forEach((H)=>{if(D===CD||D===H)Object.keys(X[H]).forEach((W)=>{B.test(W)&&X[H][W].push([F,Y])})}),Object.keys(J).forEach((H)=>{if(D===CD||D===H)Object.keys(J[H]).forEach((W)=>B.test(W)&&J[H][W].push([F,Y]))});return}let G=f5($)||[$];for(let B=0,H=G.length;B<H;B++){let W=G[B];Object.keys(J).forEach((U)=>{if(D===CD||D===U)J[U][W]||=[...f6(X[U],W)||f6(X[CD],W)||[]],J[U][W].push([F,Y-H+B+1])})}}match=y5;buildAllMatchers(){let D=Object.create(null);return Object.keys(this.#$).concat(Object.keys(this.#D)).forEach(($)=>{D[$]||=this.#X($)}),this.#D=this.#$=void 0,yp(),D}#X(D){let $=[],F=D===CD;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!==CD)$.push(...Object.keys(X[CD]).map((Y)=>[Y,X[CD][Y]]))}),!F)return null;else return up($)}};var mp=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[CD],Y={};for(let G in J[2])Y[G]=[J[2][G][0].slice(),P9];this.#D[D]=[J[0],J[1].map((G)=>Array.isArray(G)?G.slice():0),Y]}if($==="/*"||$==="*"){let J=[F,{}];if(D===CD)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===CD)for(let G in this.#D)this.#G(G,$,F,J,Y);else this.#G(D,$,F,J,Y)}buildAllMatchers(){return this.#D}match=y5};var eG=class{name="SmartRouter";#D=[];#$=[];constructor(D){this.#D=D.routers}add(D,$,F){if(!this.#$)throw Error(g5);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 x5)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 z9=Object.create(null),pp=(D)=>{for(let $ in D)return!0;return!1},hO=class D{#D;#$;#X;#G=0;#J=z9;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=AO(F),G=[];for(let B=0,H=Y.length;B<H;B++){let W=Y[B],U=Y[B+1],V=QO(W,U),A=Array.isArray(V)?V[0]:W;if(A in J.#$){if(J=J.#$[A],V)G.push(V[1]);continue}if(J.#$[A]=new D,V)J.#X.push(V),G.push(V[1]);J=J.#$[A]}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[CD],U={};if(W!==void 0){if(W.params=Object.create(null),$.push(W),J!==z9||Y&&Y!==z9)for(let V=0,A=W.possibleKeys.length;V<A;V++){let Q=W.possibleKeys[V],C=U[W.score];W.params[Q]=Y?.[Q]&&!C?Y[Q]:J[Q]??Y?.[Q],U[W.score]=!0}}}}search($,F){let X=[];this.#J=z9;let Y=[this],G=nG(F),B=[],H=G.length,W=null;for(let U=0;U<H;U++){let V=G[U],A=U===H-1,Q=[];for(let E=0,K=Y.length;E<K;E++){let Z=Y[E],q=Z.#$[V];if(q)if(q.#J=Z.#J,A){if(q.#$["*"])this.#F(X,q.#$["*"],$,Z.#J);this.#F(X,q,$,Z.#J)}else Q.push(q);for(let P=0,z=Z.#X.length;P<z;P++){let S=Z.#X[P],L=Z.#J===z9?{}:{...Z.#J};if(S==="*"){let YD=Z.#$["*"];if(YD)this.#F(X,YD,$,Z.#J),YD.#J=L,Q.push(YD);continue}let[h,I,r]=S;if(!V&&!(r instanceof RegExp))continue;let WD=Z.#$[h];if(r instanceof RegExp){if(W===null){W=Array(H);let cD=F[0]==="/"?1:0;for(let Q2=0;Q2<H;Q2++)W[Q2]=cD,cD+=G[Q2].length+1}let YD=F.substring(W[U]),o=r.exec(YD);if(o){if(L[I]=o[0],this.#F(X,WD,$,Z.#J,L),pp(WD.#$)){WD.#J=L;let cD=o[0].match(/\//)?.length??0;(B[cD]||=[]).push(WD)}continue}}if(r===!0||r.test(V))if(L[I]=V,A){if(this.#F(X,WD,$,L,Z.#J),WD.#$["*"])this.#F(X,WD.#$["*"],$,L,Z.#J)}else WD.#J=L,Q.push(WD)}}let C=B.shift();Y=C?Q.concat(C):Q}if(X.length>1)X.sort((U,V)=>{return U.score-V.score});return[X.map(({handler:U,params:V})=>[U,V])]}};var DY=class{name="TrieRouter";#D;constructor(){this.#D=new hO}add(D,$,F){let X=f5($);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 $Y=class extends SO{constructor(D={}){super(D);this.router=D.router??new eG({routers:[new m5,new DY]})}};vD();var p0=class D extends $Y{openAPIRegistry;defaultHook;constructor($){super($);this.openAPIRegistry=new pG,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=C1("query",X.request.query,Y);G.push(W)}if(X.request?.params){let W=C1("param",X.request.params,Y);G.push(W)}if(X.request?.headers){let W=C1("header",X.request.headers,Y);G.push(W)}if(X.request?.cookies){let W=C1("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(xO(W)){let V=C1("json",U,Y);if(X.request?.body?.required)G.push(V);else{let A=async(Q,C)=>{if(Q.req.header("content-type")){if(xO(Q.req.header("content-type")))return await V(Q,C)}Q.req.addValidatedData("json",{}),await C()};G.push(A)}}if(yO(W)){let V=C1("form",U,Y);if(X.request?.body?.required)G.push(V);else{let A=async(Q,C)=>{if(Q.req.header("content-type")){if(yO(Q.req.header("content-type")))return await V(Q,C)}Q.req.addValidatedData("form",{}),await C()};G.push(A)}}}let H=$?Array.isArray($)?$:[$]:[];return this.on([X.method],X.path.replaceAll(/\/{(.+?)}/g,"/:$1"),...H,...G,J),this};getOpenAPIDocument=($)=>{let X=new dG(this.openAPIRegistry.definitions).generateDocument($);return this._basePath?gO(X,this._basePath):X};getOpenAPI31Document=($)=>{let X=new lG(this.openAPIRegistry.definitions).generateDocument($);return this._basePath?gO(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:A2(X,F._basePath.replaceAll(/:([^\/]+)/g,"{$1}"),J.route.path)});return}case"webhook":{this.openAPIRegistry.registerWebhook({...J.webhook,path:A2(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})}};nR(_);function gO(D,$){let F={};return Object.keys(D.paths).forEach((X)=>{F[A2($.replaceAll(/:([^\/]+)/g,"{$1}"),X)]=D.paths[X]}),{...D,paths:F}}function xO(D){return/^application\/([a-z-\.]+\+)?json/.test(D)}function yO(D){return D.startsWith("multipart/form-data")||D.startsWith("application/x-www-form-urlencoded")}vD();var uO=[["--theme-","--scalar-"],["--sidebar-","--scalar-sidebar-"]],cp=uO.map(([D])=>D);function FY(D){if(!cp.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"),uO.reduce((F,[X,J])=>F.replaceAll(X,J),D)}var dp=_.enum(["alternate","default","moon","purple","solarized","bluePlanet","deepSpace","saturn","kepler","elysiajs","fastify","mars","none"]),lp=_.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"]),ip=_.enum(["adonisjs","docusaurus","dotnet","elysiajs","express","fastapi","fastify","go","hono","html","laravel","litestar","nestjs","nextjs","nitro","nuxt","platformatic","react","rust","vue"]).nullable(),JY=_.object({url:_.string().optional(),content:_.union([_.string(),_.record(_.any()),_.function().returns(_.record(_.any())),_.null()]).optional(),title:_.string().optional(),slug:_.string().optional()}),np=_.object({basePath:_.string()}),pO=_.object({authentication:_.any().optional(),baseServerURL:_.string().optional(),hideClientButton:_.boolean().optional().default(!1).catch(!1),proxyUrl:_.string().optional(),searchHotKey:lp.optional(),servers:_.array(_.any()).optional(),showSidebar:_.boolean().optional().default(!0).catch(!0),spec:JY.optional(),theme:dp.optional().default("default").catch("default"),_integration:ip.optional()}),mO="https://api.scalar.com/request-proxy",XY="https://proxy.scalar.com",cO=pO.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:np.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()})),sp=cO.merge(_.object({spec:_.object({sources:_.array(JY)})})),dO=(D)=>{let $={...D};if($.customCss)$.customCss=FY($.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===mO)console.warn(`[DEPRECATED] Warning: configuration.proxyUrl points to our old proxy (${mO}).`),console.warn(`[DEPRECATED] We are overwriting the value and use the new proxy URL (${XY}) instead.`),console.warn(`[DEPRECATED] Action Required: You should manually update your configuration to use the new URL (${XY}). Read more: https://github.com/scalar/scalar`),$.proxyUrl=XY;return $},GY=cO.transform(dO),rp=sp.transform(dO);vD();var YY=_.object({cdn:_.string().optional().default("https://cdn.jsdelivr.net/npm/@scalar/api-reference"),pageTitle:_.string().optional().default("Scalar API Reference")});var lO=(D,$="")=>{let{cdn:F,pageTitle:X,...J}=D,Y=YY.parse({cdn:F,pageTitle:X,customTheme:$}),G=GY.parse(J);return`
|
|
292
299
|
<!DOCTYPE html>
|
|
293
300
|
<html>
|
|
294
301
|
<head>
|
|
@@ -302,16 +309,16 @@ ${H.body}`:H.body}).join(`
|
|
|
302
309
|
</style>
|
|
303
310
|
</head>
|
|
304
311
|
<body>
|
|
305
|
-
${
|
|
312
|
+
${op(G,Y.cdn)}
|
|
306
313
|
</body>
|
|
307
314
|
</html>
|
|
308
|
-
`};function
|
|
315
|
+
`};function op(D,$){return`
|
|
309
316
|
<script
|
|
310
317
|
id="api-reference"
|
|
311
318
|
type="application/json"
|
|
312
|
-
data-configuration="${
|
|
319
|
+
data-configuration="${ap(D)}">${tp(D)}</script>
|
|
313
320
|
<script src="${$}"></script>
|
|
314
|
-
`}var
|
|
321
|
+
`}var ap=(D)=>{let $={...D};if(!$.spec?.url)delete $.spec;else if($.spec?.content)delete $.spec?.content;return JSON.stringify($).split('"').join(""")},tp=(D)=>D.spec?.content?typeof D.spec?.content==="function"?JSON.stringify(D.spec?.content()):JSON.stringify(D.spec?.content):"";var ep={_integration:"hono"},Dc=`
|
|
315
322
|
.light-mode {
|
|
316
323
|
color-scheme: light;
|
|
317
324
|
--scalar-color-1: #2a2f45;
|
|
@@ -411,11 +418,11 @@ ${H.body}`:H.body}).join(`
|
|
|
411
418
|
--scalar-sidebar-search-border-color: transparent;
|
|
412
419
|
--scalar-sidebar-search-color: var(--scalar-color-3);
|
|
413
420
|
}
|
|
414
|
-
`,
|
|
415
|
-
`),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
|
|
421
|
+
`,BY=(D)=>{let $={...ep,...D};return async(F)=>F.html(`${lO($,Dc)}`)};V2();wD();$D();Z0();$D();function iO(D,$){if(D instanceof ND)return $.json(D.toJSON(),D.status);return R.error("Unhandled error:",D),$.json({error:{code:"INTERNAL_ERROR",message:"An unexpected error occurred"}},500)}$D();var nO=async(D,$)=>{let F=performance.now();await $();let X=Math.round(performance.now()-F);R.info(`${D.req.method} ${D.req.path} ${D.res.status} ${X}ms`)};V2();Z0();$D();function sO(D,$){let F=new p0;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!==void 0&&P2(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 ND.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((V,A)=>{W[A.toLowerCase()]=V});try{await B.verify(H,W,G)}catch(V){return R.warn(`[channel:${Y}] signature verification failed: ${String(V)}`),X.json({ok:!1,error:"signature verification failed"},401)}let U=await B.toEnvelopes(H,$,G);for(let V of U)await J.orchestrator.ingest(V);return X.json({ok:!0,accepted:U.length})}),F}var HY=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+`
|
|
422
|
+
`),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 p5=()=>{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 p5=()=>$,$};var rO=class extends HY{constructor(D,$){super(D,$)}async writeSSE(D){let F=(await q9(D.data,h5.Stringify,!1,{})).split(/\r\n|\r|\n/).map((J)=>{return`data: ${J}`}).join(`
|
|
416
423
|
`);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(`
|
|
417
424
|
`)+`
|
|
418
425
|
|
|
419
|
-
`;await this.write(X)}},gu=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()}},hu=new WeakMap,qG=(D,$,F)=>{let{readable:X,writable:J}=new TransformStream,Y=new hR(J,X);if(E5())D.req.raw.signal.addEventListener("abort",()=>{if(!Y.closed)Y.abort()});return hu.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"),gu(Y,$,F),D.newResponse(Y.responseReadable)};function xR(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 yR({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 yu=_.object({value:_.string().min(1)}),uu=_.object({probe:_.boolean().optional()}).optional(),mu=_.object({chatId:_.string().optional(),text:_.string().optional()}).optional(),uR=_.enum(["web","line","telegram","lark","whatsapp"]),pu=_.object({expression:_.string().min(1),prompt:_.string().min(1),channel:uR,chatId:_.string().min(1),accountId:_.string().min(1).optional(),enabled:_.boolean().optional()}),cu=_.object({expression:_.string().min(1).optional(),prompt:_.string().min(1).optional(),channel:uR.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 mR(D){let $=new x0;return $.use("*",yR({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=yu.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=uu.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=mu.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=pu.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=cu.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 pR(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 cR(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 dR(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 cR(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 cR(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(vR),U.onError(kR),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("/",gR(()=>H.runtime,H.workerId)),U.route("/api/worker/orchestrator",pR(()=>H.runtime)),U.route("/api/worker/evolution",q6),U.route("/api/worker/events",xR(()=>H.runtime)),U.route("/api/worker",mR({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 lR(D={}){let $=null,{app:F,port:X,state:J,reloadRuntime:Y}=await dR({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=du(N,j);K5.stdout.write(`${T}
|
|
420
|
-
`),
|
|
421
|
-
`)}P2();jD();JD();async function iR(){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}LG();var FD=bG("aiworker");FD.command("init","Bootstrap worker.db, mint identity + token, seed config").action(async()=>{await wC()});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 IC({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 lR($)});FD.command("config-show","Print the stored worker config as JSON").action(async()=>{$D.exit(await zC())});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 jC({json:D,ifMatch:$.ifMatch?.[0]}))});FD.command("token-rotate","Mint a fresh bearer token; prints the new plaintext once").action(async()=>{$D.exit(await iR())});FD.command("approvals-list","\u5217\u51FA\u5F53\u524D worker \u8FDB\u7A0B\u5185\u6302\u8D77\u7684 per-tool \u5BA1\u6279").action(async()=>{$D.exit(await ZC())});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 LC({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 SC())});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 fC({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 bC(D))});FD.command("fleet list","\u5217\u51FA fleet \u5185\u6240\u6709 worker").action(async()=>{$D.exit(await rB())});FD.command("fleet info <workerId>","\u67E5\u770B\u67D0\u4E2A worker \u7684\u8FD0\u884C\u65F6\u4FE1\u606F").action(async(D)=>{$D.exit(await oB(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 aB({...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 tB(D))});FD.command("fleet remove <workerId>","\u628A worker \u4ECE fleet \u4E2D\u6458\u9664\uFF08deviceToken \u4F5C\u5E9F\uFF09").action(async(D)=>{$D.exit(await eB(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 vB({...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(gB())});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 hB(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 cB({...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 NB({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 PB(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 ZB({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 sB(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 MB({...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 qB({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 lB(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 iB({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 nB(D,$))});FD.command("enroll list","\u5217\u51FA gateway \u5F53\u524D\u6240\u6709 pending OTP enrollment").action(async()=>{$D.exit(await LB())});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 zB(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 jB(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 pB({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 mB({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(zG.version);function lu(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(lu($D.argv),{run:!1}),await FD.runMatchedCommand()}catch(D){M.error(D),$D.exit(1)}export{lu as preprocessArgv,FD as cli};
|
|
426
|
+
`;await this.write(X)}},$c=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()}},Fc=new WeakMap,WY=(D,$,F)=>{let{readable:X,writable:J}=new TransformStream,Y=new rO(J,X);if(p5())D.req.raw.signal.addEventListener("abort",()=>{if(!Y.closed)Y.abort()});return Fc.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"),$c(Y,$,F),D.newResponse(Y.responseReadable)};function oO(D){let $=new p0;return $.get("/stream",(F)=>{let X=D().bus;return WY(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()})})})}),$}Z0();wD();K0();var k6=new p0;k6.get("/observations",(D)=>{let $=p().select().from(X2).orderBy(W0(X2.noticedAt)).limit(200).all();return D.json({observations:$})});k6.get("/drafts",(D)=>{let $=D.req.query("status"),F=p().select().from(E0).orderBy(W0(E0.createdAt)).limit(100),X=$?F.where(m(E0.status,$)).all():F.all();return D.json({drafts:X})});k6.post("/drafts/:id/approve",async(D)=>{let $=Number(D.req.param("id"));if(!Number.isFinite($))throw ND.badRequest("invalid draft id");let F=await D.req.json().catch(()=>({})),X=new Date().toISOString();return p().update(E0).set({status:"approved",decidedAt:X,decidedBy:F.decidedBy??"operator"}).where(m(E0.id,$)).run(),D.json({ok:!0})});k6.post("/drafts/:id/reject",async(D)=>{let $=Number(D.req.param("id"));if(!Number.isFinite($))throw ND.badRequest("invalid draft id");let F=await D.req.json().catch(()=>({})),X=new Date().toISOString();return p().update(E0).set({status:"rejected",decidedAt:X,decidedBy:F.decidedBy??"operator"}).where(m(E0.id,$)).run(),D.json({ok:!0})});V2();function aO({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||!P2(Y,G))return $.json({code:"auth-failed",message:"invalid bearer token"},401);await F()}}V2();Z0();wD();$D();vD();var Jc=_.object({value:_.string().min(1)}),tO=_.string().regex(/^[\w.-]{1,128}$/,{message:"secret key \u4EC5\u5141\u8BB8 [A-Za-z0-9._-]\uFF0C\u957F\u5EA6 1-128"}),Gc=_.object({probe:_.boolean().optional()}).optional(),Yc=_.object({chatId:_.string().optional(),text:_.string().optional()}).optional(),eO=_.enum(["web","line","telegram","lark","whatsapp"]),Bc=_.object({expression:_.string().min(1),prompt:_.string().min(1),channel:eO,chatId:_.string().min(1),accountId:_.string().min(1).optional(),enabled:_.boolean().optional()}),Hc=_.object({expression:_.string().min(1).optional(),prompt:_.string().min(1).optional(),channel:eO.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 DM(D){let $=new p0;return $.get("/info",async(F)=>{let X=D.getState(),J=await j0(p()),Y=await _5(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 j0(p());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 q6({db:p(),vault:kD(),raw:X,...Y===void 0?{}:{ifMatchVersion:Y},workerId:D.getState().workerId,reloadRuntime:D.reloadRuntime});return F.json(G)}catch(G){if(G instanceof w2)return F.json({error:{code:"invalid-config",message:G.message,details:G.issues}},400);if(G instanceof T2)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 U5(kD());return F.json({keys:X})}),$.put("/secrets/:key",async(F)=>{let X=tO.safeParse(F.req.param("key"));if(!X.success)return F.json({error:{code:"invalid-key",message:X.error.issues[0]?.message??"invalid secret key"}},400);let J=await F.req.json().catch(()=>null),Y=Jc.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 V5(kD(),X.data,Y.data.value),F.json({ok:!0},200)}catch(G){if(G instanceof ND)return F.json(G.toJSON(),G.status);throw G}}),$.delete("/secrets/:key",async(F)=>{let X=tO.safeParse(F.req.param("key"));if(!X.success)return F.json({error:{code:"invalid-key",message:X.error.issues[0]?.message??"invalid secret key"}},400);try{return await A5(kD(),X.data),F.json({ok:!0},200)}catch(J){if(J instanceof ND)return F.json(J.toJSON(),J.status);throw J}}),$.post("/brain/test",async(F)=>{let X=D.getState(),J=await j0(p()),Y=await B5(X,J.config);return F.json(Y)}),$.post("/executor/test",async(F)=>{let X=await F.req.json().catch(()=>null),J=Gc.safeParse(X??{});if(!J.success)return F.json({error:{code:"invalid-body",message:"invalid executor test body"}},400);let Y=D.getState(),G=await j0(p()),B=await W5(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=Yc.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 H5(G,X,Y.data??{});return F.json(B)}catch(G){if(G instanceof ND)return F.json(G.toJSON(),G.status);throw G}}),$.post("/token/rotate",async(F)=>{let X=D.getState(),J=await L8(p(),kD(),X);return F.json(J)}),$.post("/reload",async(F)=>{let X=await j0(p());try{return await D.reloadRuntime(X.config,X.version),F.json({ok:!0,version:X.version})}catch(J){return R.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 Q4().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=Bc.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=Hc.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})}),$}wD();K0();vD();var Wc=_.object({prompt:_.string().trim().min(1,"prompt is required").max(8000,"prompt exceeds 8000 characters")});function $M(D){let $=new p0;return $.get("/tasks",(F)=>{let X=p().select().from(H8).orderBy(W0(H8.createdAt)).limit(200).all();return F.json({tasks:X})}),$.post("/tasks",async(F)=>{let X=await F.req.json().catch(()=>null),J=Wc.safeParse(X);if(!J.success)return F.json({error:{code:"invalid-body",message:"invalid task body",details:J.error.flatten().fieldErrors}},400);let Y=await D().orchestrator.submitTask(J.data.prompt);return F.json({task:Y},201)}),$.get("/conversations",(F)=>{let X=p().select().from(KD).orderBy(W0(KD.lastActiveAt)).limit(200).all();return F.json({conversations:X})}),$.get("/conversations/:id/messages",(F)=>{let X=F.req.param("id"),J=p().select().from(X0).where(m(X0.conversationId,X)).all();return F.json({messages:J})}),$}async function FM(D){let $=kD(),F=new Set(u2(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 a1(D,X)}async function XM(D={}){E3(l.WORKER_DB_PATH),C3(l.WORKER_MIGRATIONS_FOLDER);let $=kD(),F=p(),X=await r8(F,$,{...l.AIWORKER_FORCE_ID===void 0?{}:{forceId:l.AIWORKER_FORCE_ID},...l.AIWORKER_FORCE_TOKEN===void 0?{}:{forceToken:l.AIWORKER_FORCE_TOKEN}});o8(X.workerId,X.token,F,X.justMinted),R.info(`[worker ${X.workerId}] worker.db ready at ${l.WORKER_DB_PATH}`);let J=await s8(F),Y=await FM(J.config),G=new A1({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=E1(X.workerId,Y,{processes:G});R.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(V,A){let Q=await FM(V);G.setLimits({maxConcurrentTotal:l.MAX_CONCURRENT_TOTAL,perEngineLimits:{...l.perEngineLimits}});let C=E1(H.workerId,Q,{processes:G}),E=H.runtime;if(H.runtime=C,H.configVersion=A,D.onRuntimeReloaded)try{D.onRuntimeReloaded()}catch(K){R.warn(`[worker ${H.workerId}] onRuntimeReloaded hook failed: ${String(K)}`)}try{E.dispose()}catch(K){R.warn(`[worker ${H.workerId}] previous runtime dispose failed: ${String(K)}`)}R.info(`[worker ${H.workerId}] runtime reloaded to config version ${A}`)}let U=new p0;return U.use(nO),U.onError(iO),U.get("/health",async(V)=>{let[A,Q]=await Promise.all([H.runtime.brain.health().catch(()=>null),H.runtime.executor.health().catch(()=>null)]);return V.json({mode:"worker",workerId:H.workerId,status:"ok",brain:A,executor:Q,configVersion:H.configVersion,startedAt:H.startedAt,checkedAt:new Date().toISOString()})}),U.route("/",sO(()=>H.runtime,H.workerId)),U.use("/api/worker/*",aO({getIdentity:()=>({tokenPlaintext:H.tokenPlaintext})})),U.route("/api/worker/orchestrator",$M(()=>H.runtime)),U.route("/api/worker/evolution",k6),U.route("/api/worker/events",oO(()=>H.runtime)),U.route("/api/worker",DM({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",BY({spec:{url:"/openapi.json"}})),{app:U,port:l.PORT,state:H,reloadRuntime:W}}V2();wD();$D();async function JM(D={}){let $=null,{app:F,port:X,state:J,reloadRuntime:Y}=await XM({onRuntimeReloaded:()=>$?.notifyRuntimeReloaded()}),G=D.port??X,B=Bun.serve({port:G,fetch:F.fetch});R.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,V=l.AIWORKER_ENROLL_MODE,A=D.gateway&&D.gateway.length>0?D.gateway:void 0,Q,C=D.gatewayToken??"",E,K="legacy";if(A)Q=A;else if(H&&H.length>0){let q=V==="otp",P=!!W&&W.length>0;if(!q&&P)Q=H,K="self-enroll",E={mode:"join-token",joinToken:W,apiToken:J.tokenPlaintext,...U?{displayName:U}:{}};else{let z=new URL(H);if(z.pathname="/enroll-ws",Q=z.toString(),K="otp",C=J.tokenPlaintext,E={mode:"otp",apiToken:J.tokenPlaintext,...U?{displayName:U}:{}},q&&P)R.info("[aiw serve] AIWORKER_ENROLL_MODE=otp \u5DF2\u751F\u6548\uFF0C\u5FFD\u7565 AIWORKER_JOIN_TOKEN")}}else if(W&&W.length>0)R.warn("[aiw serve] AIWORKER_JOIN_TOKEN set but AIWORKER_GATEWAY_URL missing; skipping self-enroll");if(Q){if(K==="self-enroll")R.info(`[aiw serve] self-enrolling to ${Q} as ${U??J.workerId}`);else if(K==="otp")R.info(`[aiw serve] OTP enrolling to ${Q}; awaiting operator approval`);$=Y5({url:Q,token:C,workerId:J.workerId,...D.gatewayReconnect===!1?{reconnect:!1}:{},...E?{enroll:E}:{},...K==="otp"?{onEnrollmentOtp:({otp:q,expiresAt:P})=>{let z=Math.max(0,Math.round((P-Date.now())/1000)),S=_c(q,z);c5.stdout.write(`${S}
|
|
427
|
+
`),R.info(`[aiw serve] OTP ${q} \u5DF2\u7B7E\u53D1\uFF0C\u8BF7\u7528 \`aim enroll approve ${q}\` \u51C6\u5165\uFF1Bexpires in ${z}s`)},onEnrollmentApproved:({workerId:q,deviceToken:P})=>{R.success(`[aiw serve] approved as ${q}; deviceToken=${P.slice(0,8)}\u2026\uFF0C\u5DF2\u52A0\u5165 fleet`)}}:{},getRuntime:()=>J.runtime,handlers:{configGet:async()=>{let q=await j0(p());return{version:q.version,config:q.config}},configPut:async({ifMatch:q,config:P})=>{let z=await q6({db:p(),vault:kD(),raw:P,ifMatchVersion:q,workerId:J.workerId,reloadRuntime:Y});return{version:z.version,appliedAt:Date.now(),runtimeReload:z.runtimeReload}},tokenRotate:async()=>{let{newToken:q}=await L8(p(),kD(),J);return{deviceToken:q}},...J5(()=>J.runtime.cron)}}),R.success(`[aiw serve] gateway-client dialing ${Q}`)}let Z=async(q)=>{R.info(`[aiw serve] received ${q}, shutting down`);try{if($)await $.stop(),$=null}catch(P){R.warn(`[aiw serve] gateway shutdown failed: ${String(P)}`)}try{B.stop()}catch(P){R.warn(`[aiw serve] http shutdown failed: ${String(P)}`)}c5.exit(0)};c5.once("SIGTERM",()=>void Z("SIGTERM")),c5.once("SIGINT",()=>void Z("SIGINT"))}function _c(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(`
|
|
428
|
+
`)}V2();wD();$D();async function GM(){let D=await z0({silent:!0}),$=kD(),F=p(),X={tokenPlaintext:D.token},{newToken:J}=await L8(F,$,X);return R.success(`[aiw token rotate] worker ${D.workerId} token rotated`),console.log(J),0}AY();var JD=ZY("aiworker");JD.command("init","Bootstrap worker.db, mint identity + token, seed config").action(async()=>{await uR()});JD.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 mR({message:D.message,chatId:D.chatId,dryRun:D.dryRun,timeoutMs:D.timeoutMs?.[0]});DD.exit($)});JD.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 JM($)});JD.command("config-show","Print the stored worker config as JSON").action(async()=>{DD.exit(await xR())});JD.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,$)=>{DD.exit(await yR({json:D,ifMatch:$.ifMatch?.[0]}))});JD.command("token-rotate","Mint a fresh bearer token; prints the new plaintext once").action(async()=>{DD.exit(await GM())});JD.command("approvals-list","\u5217\u51FA\u5F53\u524D worker \u8FDB\u7A0B\u5185\u6302\u8D77\u7684 per-tool \u5BA1\u6279").action(async()=>{DD.exit(await hR())});JD.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)=>{DD.exit(await gR({taskId:D,toolCallId:$,...F.deny===void 0?{}:{deny:F.deny}}))});JD.command("schedule-list","List all cron jobs persisted in the local worker.db").action(async()=>{DD.exit(await cR())});JD.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)R.error("[aiworker schedule-add] requires --expression, --prompt, --channel, --chat-id"),DD.exit(2);let $=await dR({expression:D.expression,prompt:D.prompt,channel:D.channel,chatId:D.chatId,...D.accountId===void 0?{}:{accountId:D.accountId},...D.disabled===!0?{enabled:!1}:{}});DD.exit($)});JD.command("schedule-remove <jobId>","Remove a cron job from the local worker.db").action(async(D)=>{DD.exit(await lR(D))});JD.command("fleet list","\u5217\u51FA fleet \u5185\u6240\u6709 worker").action(async()=>{DD.exit(await OU())});JD.command("fleet info <workerId>","\u67E5\u770B\u67D0\u4E2A worker \u7684\u8FD0\u884C\u65F6\u4FE1\u606F").action(async(D)=>{DD.exit(await MU(D))});JD.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)=>{DD.exit(await ZU({...D.displayName===void 0?{}:{displayName:D.displayName},...D.image===void 0?{}:{image:D.image},...D.forceId===void 0?{}:{forceId:D.forceId}}))});JD.command("fleet stop <workerId>","\u5411\u76EE\u6807 worker \u4E0B\u53D1\u505C\u6B62\u6307\u4EE4\uFF08\u4E0D\u6458\u9664\u6CE8\u518C\uFF09").action(async(D)=>{DD.exit(await qU(D))});JD.command("fleet remove <workerId>","\u628A worker \u4ECE fleet \u4E2D\u6458\u9664\uFF08deviceToken \u4F5C\u5E9F\uFF09").action(async(D)=>{DD.exit(await NU(D))});JD.command("gateway start","\u62C9\u8D77 gateway server\uFF08\u9ED8\u8BA4 foreground\uFF0Csystemd \u53CB\u597D\uFF1B--detach \u8D70\u540E\u53F0 daemon\uFF09").option("--port <n>","\u76D1\u542C\u7AEF\u53E3\uFF0C\u9ED8\u8BA4 9218",{type:[Number]}).option("--detach","\u540E\u53F0 daemon \u6A21\u5F0F\uFF1Aspawn \u81EA\u8EAB + PID/log \u5199\u5165 ~/.aiworker/").action(async(D)=>{let F=DD.env.AIWORKER_GATEWAY_INTERNAL_FOREGROUND==="1"?!1:D.detach===!0;DD.exit(await GU({...D.port?.[0]===void 0?{}:{port:D.port[0]},detach:F}))});JD.command("gateway status","\u663E\u793A gateway daemon \u662F\u5426\u8FD0\u884C").action(()=>{DD.exit(YU())});JD.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)=>{DD.exit(await BU(D.timeoutMs?.[0]===void 0?{}:{timeoutMs:D.timeoutMs[0]}))});JD.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)R.error("pair \u5FC5\u987B\u540C\u65F6\u63D0\u4F9B --worker-url \u548C --bootstrap-token"),DD.exit(2);DD.exit(await AU({...D.url===void 0?{}:{url:D.url},workerUrl:D.workerUrl,bootstrapToken:D.bootstrapToken,...D.displayName===void 0?{}:{displayName:D.displayName}}))});JD.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)=>{DD.exit(await WH({workerId:D,content:$,...F.conversationId===void 0?{}:{conversationId:F.conversationId},...F.timeoutMs?.[0]===void 0?{}:{timeoutMs:F.timeoutMs[0]}}))});JD.command("config get <workerId>","\u8BFB\u53D6\u76EE\u6807 worker \u7684\u5F53\u524D\u914D\u7F6E").action(async(D)=>{DD.exit(await _H(D))});JD.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)R.error("config set \u5FC5\u987B\u663E\u5F0F\u63D0\u4F9B --if-match <version> \u4EE5\u9632\u6B62\u8BEF\u8986\u76D6"),DD.exit(2);DD.exit(await UH({workerId:D,configJson:$,ifMatch:X}))});JD.command("token rotate <workerId>","\u4E3A\u76EE\u6807 worker \u8F6E\u6362 deviceToken\uFF08\u65E7 token \u7ACB\u5373\u5931\u6548\uFF09").action(async(D)=>{DD.exit(await RU(D))});JD.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)=>{DD.exit(await BH({...D.worker===void 0?{}:{workerId:D.worker}}))});JD.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)=>{DD.exit(await HH({workerId:D,taskId:$,toolCallId:F,...X.deny===void 0?{}:{deny:X.deny}}))});JD.command("schedule list <workerId>","\u5217\u51FA\u67D0 worker \u4E0A\u6240\u6709 cron \u4EFB\u52A1").action(async(D)=>{DD.exit(await KU(D))});JD.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)R.error("schedule add \u5FC5\u987B\u63D0\u4F9B --expression / --prompt / --channel / --chat-id"),DD.exit(2);DD.exit(await EU({workerId:D,expression:$.expression,prompt:$.prompt,channel:$.channel,chatId:$.chatId,...$.accountId===void 0?{}:{accountId:$.accountId},...$.disabled===!0?{enabled:!1}:{}}))});JD.command("schedule remove <workerId> <jobId>","\u5220\u9664\u67D0 worker \u4E0A\u7684\u67D0\u6761 cron \u4EFB\u52A1").action(async(D,$)=>{DD.exit(await CU(D,$))});JD.command("enroll list","\u5217\u51FA gateway \u5F53\u524D\u6240\u6709 pending OTP enrollment").action(async()=>{DD.exit(await VH())});JD.command("enroll approve <otp>","\u6279\u51C6\u67D0\u6761 pending OTP enrollment\uFF08worker \u7ACB\u5373\u52A0\u5165 fleet\uFF09").action(async(D)=>{DD.exit(await AH(D))});JD.command("enroll reject <otp>","\u62D2\u7EDD\u67D0\u6761 pending OTP enrollment\uFF08worker \u6536\u5230 close 4403\uFF09").action(async(D)=>{DD.exit(await QH(D))});JD.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,$)=>{DD.exit(await VU({workerId:D,...$.follow===void 0?{}:{follow:$.follow},...$.tail?.[0]===void 0?{}:{tail:$.tail[0]},...$.timeoutMs?.[0]===void 0?{}:{timeoutMs:$.timeoutMs[0]}}))});JD.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)R.error("install systemd: \u4E0D\u80FD\u540C\u65F6\u6307\u5B9A --user \u548C --system"),DD.exit(2);DD.exit(await UU({scope:D.system===!0?"system":"user",...D.dryRun===!0?{dryRun:!0}:{},...D.out===void 0?{}:{out:D.out},...D.enable===!1?{noEnable:!0}:{}}))});JD.help();JD.version(QY.version);function Uc(D,$=JD){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{JD.parse(Uc(DD.argv),{run:!1}),await JD.runMatchedCommand()}catch(D){R.error(D),DD.exit(1)}export{Uc as preprocessArgv,JD as cli};
|