@whoz-oss/coday-server 1.3.3 → 1.3.6

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/server.js +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whoz-oss/coday-server",
3
- "version": "1.3.3",
3
+ "version": "1.3.6",
4
4
  "repository": "https://github.com/whoz-oss/coday",
5
5
  "type": "module",
6
6
  "main": "server/server.js",
package/server.js CHANGED
@@ -1836,7 +1836,7 @@ ${m.join(`
1836
1836
  `;p.forEach(m=>{h+=m}),e.fail(h)}};let c={};s.conflicts=function(d,p){At("<string|object> [array|string]",[d,p],arguments.length),typeof d=="object"?Object.keys(d).forEach(h=>{s.conflicts(h,d[h])}):(t.global(d),c[d]||(c[d]=[]),Array.isArray(p)?p.forEach(h=>s.conflicts(d,h)):c[d].push(p))},s.getConflicting=()=>c,s.conflicting=function(d){Object.keys(d).forEach(p=>{c[p]&&c[p].forEach(h=>{h&&d[p]!==void 0&&d[h]!==void 0&&e.fail(n("Arguments %s and %s are mutually exclusive",p,h))})}),t.getInternalMethods().getParserConfiguration()["strip-dashed"]&&Object.keys(c).forEach(p=>{c[p].forEach(h=>{h&&d[r.Parser.camelCase(p)]!==void 0&&d[r.Parser.camelCase(h)]!==void 0&&e.fail(n("Arguments %s and %s are mutually exclusive",p,h))})})},s.recommendCommands=function(d,p){p=p.sort((v,y)=>y.length-v.length);let m=null,g=1/0;for(let v=0,y;(y=p[v])!==void 0;v++){let b=b1t(d,y);b<=3&&b<g&&(g=b,m=y)}m&&e.fail(n("Did you mean %s?",m))},s.reset=function(d){return a=Z3(a,p=>!d[p]),c=Z3(c,p=>!d[p]),s};let u=[];return s.freeze=function(){u.push({implied:a,conflicting:c})},s.unfreeze=function(){let d=u.pop();Uo(d,void 0,r),{implied:a,conflicting:c}=d},s}var A6e=[],NT;function jT(t,e,r,n){NT=n;let i={};if(Object.prototype.hasOwnProperty.call(t,"extends")){if(typeof t.extends!="string")return i;let s=/\.json|\..*rc$/.test(t.extends),a=null;if(s)a=Vqr(e,t.extends);else try{a=import.meta.resolve(t.extends)}catch{return t}Wqr(a),A6e.push(a),i=s?JSON.parse(NT.readFileSync(a,"utf8")):n.require(t.extends),delete t.extends,i=jT(i,NT.path.dirname(a),r,NT)}return A6e=[],r?_1t(i,t):Object.assign({},i,t)}function Wqr(t){if(A6e.indexOf(t)>-1)throw new us(`Circular extended configurations: '${t}'.`)}function Vqr(t,e){return NT.path.resolve(t,e)}function _1t(t,e){let r={};function n(i){return i&&typeof i=="object"&&!Array.isArray(i)}Object.assign(r,t);for(let i of Object.keys(e))n(e[i])&&n(r[i])?r[i]=_1t(t[i],e[i]):r[i]=e[i];return r}var kt=function(t,e,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},ee=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},ls,s5,$T,Nc,Su,_V,Y3,a5,SV,wl,EV,_l,Xd,Eu,Sl,AV,o5,la,Ft,CV,kV,Au,c5,xx,u5,Q3,TV,Yt,l5,f5,d5,lr,PV,Yd,Xi;function z1t(t){return(e=[],r=t.process.cwd(),n)=>{let i=new j6e(e,r,n,t);return Object.defineProperty(i,"argv",{get:()=>i.parse(),enumerable:!0}),i.help(),i.version(),i}}var S1t=Symbol("copyDoubleDash"),E1t=Symbol("copyDoubleDash"),C6e=Symbol("deleteFromParserHintObject"),A1t=Symbol("emitWarning"),C1t=Symbol("freeze"),k1t=Symbol("getDollarZero"),p5=Symbol("getParserConfiguration"),T1t=Symbol("getUsageConfiguration"),k6e=Symbol("guessLocale"),P1t=Symbol("guessVersion"),O1t=Symbol("parsePositionalNumbers"),T6e=Symbol("pkgUp"),em=Symbol("populateParserHintArray"),wx=Symbol("populateParserHintSingleValueDictionary"),P6e=Symbol("populateParserHintArrayDictionary"),O6e=Symbol("populateParserHintDictionary"),R6e=Symbol("sanitizeKey"),I6e=Symbol("setKey"),D6e=Symbol("unfreeze"),R1t=Symbol("validateAsync"),I1t=Symbol("getCommandInstance"),D1t=Symbol("getContext"),F1t=Symbol("getHasOutput"),N1t=Symbol("getLoggerInstance"),j1t=Symbol("getParseContext"),$1t=Symbol("getUsageInstance"),M1t=Symbol("getValidationInstance"),OV=Symbol("hasParseCallback"),L1t=Symbol("isGlobalContext"),h5=Symbol("postProcess"),q1t=Symbol("rebase"),F6e=Symbol("reset"),MT=Symbol("runYargsParserAndExecuteCommands"),N6e=Symbol("runValidation"),B1t=Symbol("setHasOutput"),m5=Symbol("kTrackManuallySetKeys"),Gqr="en_US",j6e=class{constructor(e=[],r,n,i){this.customScriptName=!1,this.parsed=!1,ls.set(this,void 0),s5.set(this,void 0),$T.set(this,{commands:[],fullCommands:[]}),Nc.set(this,null),Su.set(this,null),_V.set(this,"show-hidden"),Y3.set(this,null),a5.set(this,!0),SV.set(this,{}),wl.set(this,!0),EV.set(this,[]),_l.set(this,void 0),Xd.set(this,{}),Eu.set(this,!1),Sl.set(this,null),AV.set(this,!0),o5.set(this,void 0),la.set(this,""),Ft.set(this,void 0),CV.set(this,void 0),kV.set(this,{}),Au.set(this,null),c5.set(this,null),xx.set(this,{}),u5.set(this,{}),Q3.set(this,void 0),TV.set(this,!1),Yt.set(this,void 0),l5.set(this,!1),f5.set(this,!1),d5.set(this,!1),lr.set(this,void 0),PV.set(this,{}),Yd.set(this,null),Xi.set(this,void 0),kt(this,Yt,i,"f"),kt(this,Q3,e,"f"),kt(this,s5,r,"f"),kt(this,CV,n,"f"),kt(this,_l,new bV(this),"f"),this.$0=this[k1t](),this[F6e](),kt(this,ls,ee(this,ls,"f"),"f"),kt(this,lr,ee(this,lr,"f"),"f"),kt(this,Xi,ee(this,Xi,"f"),"f"),kt(this,Ft,ee(this,Ft,"f"),"f"),ee(this,Ft,"f").showHiddenOpt=ee(this,_V,"f"),kt(this,o5,this[E1t](),"f"),ee(this,Yt,"f").y18n.setLocale(Gqr)}addHelpOpt(e,r){let n="help";return At("[string|boolean] [string]",[e,r],arguments.length),ee(this,Sl,"f")&&(this[C6e](ee(this,Sl,"f")),kt(this,Sl,null,"f")),e===!1&&r===void 0?this:(kt(this,Sl,typeof e=="string"?e:n,"f"),this.boolean(ee(this,Sl,"f")),this.describe(ee(this,Sl,"f"),r||ee(this,lr,"f").deferY18nLookup("Show help")),this)}help(e,r){return this.addHelpOpt(e,r)}addShowHiddenOpt(e,r){if(At("[string|boolean] [string]",[e,r],arguments.length),e===!1&&r===void 0)return this;let n=typeof e=="string"?e:ee(this,_V,"f");return this.boolean(n),this.describe(n,r||ee(this,lr,"f").deferY18nLookup("Show hidden options")),ee(this,Ft,"f").showHiddenOpt=n,this}showHidden(e,r){return this.addShowHiddenOpt(e,r)}alias(e,r){return At("<object|string|array> [string|array]",[e,r],arguments.length),this[P6e](this.alias.bind(this),"alias",e,r),this}array(e){return At("<array|string>",[e],arguments.length),this[em]("array",e),this[m5](e),this}boolean(e){return At("<array|string>",[e],arguments.length),this[em]("boolean",e),this[m5](e),this}check(e,r){return At("<function> [boolean]",[e,r],arguments.length),this.middleware((n,i)=>i5(()=>e(n,i.getOptions()),s=>(s?(typeof s=="string"||s instanceof Error)&&ee(this,lr,"f").fail(s.toString(),s):ee(this,lr,"f").fail(ee(this,Yt,"f").y18n.__("Argument check failed: %s",e.toString())),n),s=>(ee(this,lr,"f").fail(s.message?s.message:s.toString(),s),n)),!1,r),this}choices(e,r){return At("<object|string|array> [string|array]",[e,r],arguments.length),this[P6e](this.choices.bind(this),"choices",e,r),this}coerce(e,r){if(At("<object|string|array> [function]",[e,r],arguments.length),Array.isArray(e)){if(!r)throw new us("coerce callback must be provided");for(let i of e)this.coerce(i,r);return this}else if(typeof e=="object"){for(let i of Object.keys(e))this.coerce(i,e[i]);return this}if(!r)throw new us("coerce callback must be provided");let n=e;return ee(this,Ft,"f").key[n]=!0,ee(this,_l,"f").addCoerceMiddleware((i,s)=>{var a;let o=(a=s.getAliases()[n])!==null&&a!==void 0?a:[],c=[n,...o].filter(u=>Object.prototype.hasOwnProperty.call(i,u));return c.length===0?i:i5(()=>r(i[c[0]]),u=>(c.forEach(f=>{i[f]=u}),i),u=>{throw new us(u.message)})},n),this}conflicts(e,r){return At("<string|object> [string|array]",[e,r],arguments.length),ee(this,Xi,"f").conflicts(e,r),this}config(e="config",r,n){return At("[object|string] [string|function] [function]",[e,r,n],arguments.length),typeof e=="object"&&!Array.isArray(e)?(e=jT(e,ee(this,s5,"f"),this[p5]()["deep-merge-config"]||!1,ee(this,Yt,"f")),ee(this,Ft,"f").configObjects=(ee(this,Ft,"f").configObjects||[]).concat(e),this):(typeof r=="function"&&(n=r,r=void 0),this.describe(e,r||ee(this,lr,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(e)?e:[e]).forEach(i=>{ee(this,Ft,"f").config[i]=n||!0}),this)}completion(e,r,n){return At("[string] [string|boolean|function] [function]",[e,r,n],arguments.length),typeof r=="function"&&(n=r,r=void 0),kt(this,Su,e||ee(this,Su,"f")||"completion","f"),!r&&r!==!1&&(r="generate completion script"),this.command(ee(this,Su,"f"),r),n&&ee(this,Nc,"f").registerFunction(n),this}command(e,r,n,i,s,a){return At("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[e,r,n,i,s,a],arguments.length),ee(this,ls,"f").addHandler(e,r,n,i,s,a),this}commands(e,r,n,i,s,a){return this.command(e,r,n,i,s,a)}commandDir(e,r){At("<string> [object]",[e,r],arguments.length);let n=ee(this,CV,"f")||ee(this,Yt,"f").require;return ee(this,ls,"f").addDirectory(e,n,ee(this,Yt,"f").getCallerFile(),r),this}count(e){return At("<array|string>",[e],arguments.length),this[em]("count",e),this[m5](e),this}default(e,r,n){return At("<object|string|array> [*] [string]",[e,r,n],arguments.length),n&&(w6e(e,ee(this,Yt,"f")),ee(this,Ft,"f").defaultDescription[e]=n),typeof r=="function"&&(w6e(e,ee(this,Yt,"f")),ee(this,Ft,"f").defaultDescription[e]||(ee(this,Ft,"f").defaultDescription[e]=ee(this,lr,"f").functionDescription(r)),r=r.call()),this[wx](this.default.bind(this),"default",e,r),this}defaults(e,r,n){return this.default(e,r,n)}demandCommand(e=1,r,n,i){return At("[number] [number|string] [string|null|undefined] [string|null|undefined]",[e,r,n,i],arguments.length),typeof r!="number"&&(n=r,r=1/0),this.global("_",!1),ee(this,Ft,"f").demandedCommands._={min:e,max:r,minMsg:n,maxMsg:i},this}demand(e,r,n){return Array.isArray(r)?(r.forEach(i=>{Uo(n,!0,ee(this,Yt,"f")),this.demandOption(i,n)}),r=1/0):typeof r!="number"&&(n=r,r=1/0),typeof e=="number"?(Uo(n,!0,ee(this,Yt,"f")),this.demandCommand(e,r,n,n)):Array.isArray(e)?e.forEach(i=>{Uo(n,!0,ee(this,Yt,"f")),this.demandOption(i,n)}):typeof n=="string"?this.demandOption(e,n):(n===!0||typeof n>"u")&&this.demandOption(e),this}demandOption(e,r){return At("<object|string|array> [string]",[e,r],arguments.length),this[wx](this.demandOption.bind(this),"demandedOptions",e,r),this}deprecateOption(e,r){return At("<string> [string|boolean]",[e,r],arguments.length),ee(this,Ft,"f").deprecatedOptions[e]=r,this}describe(e,r){return At("<object|string|array> [string]",[e,r],arguments.length),this[I6e](e,!0),ee(this,lr,"f").describe(e,r),this}detectLocale(e){return At("<boolean>",[e],arguments.length),kt(this,a5,e,"f"),this}env(e){return At("[string|boolean]",[e],arguments.length),e===!1?delete ee(this,Ft,"f").envPrefix:ee(this,Ft,"f").envPrefix=e||"",this}epilogue(e){return At("<string>",[e],arguments.length),ee(this,lr,"f").epilog(e),this}epilog(e){return this.epilogue(e)}example(e,r){return At("<string|array> [string]",[e,r],arguments.length),Array.isArray(e)?e.forEach(n=>this.example(...n)):ee(this,lr,"f").example(e,r),this}exit(e,r){kt(this,Eu,!0,"f"),kt(this,Y3,r,"f"),ee(this,wl,"f")&&ee(this,Yt,"f").process.exit(e)}exitProcess(e=!0){return At("[boolean]",[e],arguments.length),kt(this,wl,e,"f"),this}fail(e){if(At("<function|boolean>",[e],arguments.length),typeof e=="boolean"&&e!==!1)throw new us("Invalid first argument. Expected function or boolean 'false'");return ee(this,lr,"f").failFn(e),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(e,r){return At("<array> [function]",[e,r],arguments.length),r?ee(this,Nc,"f").getCompletion(e,r):new Promise((n,i)=>{ee(this,Nc,"f").getCompletion(e,(s,a)=>{s?i(s):n(a)})})}getDemandedOptions(){return At([],0),ee(this,Ft,"f").demandedOptions}getDemandedCommands(){return At([],0),ee(this,Ft,"f").demandedCommands}getDeprecatedOptions(){return At([],0),ee(this,Ft,"f").deprecatedOptions}getDetectLocale(){return ee(this,a5,"f")}getExitProcess(){return ee(this,wl,"f")}getGroups(){return Object.assign({},ee(this,Xd,"f"),ee(this,u5,"f"))}getHelp(){if(kt(this,Eu,!0,"f"),!ee(this,lr,"f").hasCachedHelpMessage()){if(!this.parsed){let r=this[MT](ee(this,Q3,"f"),void 0,void 0,0,!0);if(fi(r))return r.then(()=>ee(this,lr,"f").help())}let e=ee(this,ls,"f").runDefaultBuilderOn(this);if(fi(e))return e.then(()=>ee(this,lr,"f").help())}return Promise.resolve(ee(this,lr,"f").help())}getOptions(){return ee(this,Ft,"f")}getStrict(){return ee(this,l5,"f")}getStrictCommands(){return ee(this,f5,"f")}getStrictOptions(){return ee(this,d5,"f")}global(e,r){return At("<string|array> [boolean]",[e,r],arguments.length),e=[].concat(e),r!==!1?ee(this,Ft,"f").local=ee(this,Ft,"f").local.filter(n=>e.indexOf(n)===-1):e.forEach(n=>{ee(this,Ft,"f").local.includes(n)||ee(this,Ft,"f").local.push(n)}),this}group(e,r){At("<string|array> <string>",[e,r],arguments.length);let n=ee(this,u5,"f")[r]||ee(this,Xd,"f")[r];ee(this,u5,"f")[r]&&delete ee(this,u5,"f")[r];let i={};return ee(this,Xd,"f")[r]=(n||[]).concat(e).filter(s=>i[s]?!1:i[s]=!0),this}hide(e){return At("<string>",[e],arguments.length),ee(this,Ft,"f").hiddenOptions.push(e),this}implies(e,r){return At("<string|object> [number|string|array]",[e,r],arguments.length),ee(this,Xi,"f").implies(e,r),this}locale(e){return At("[string]",[e],arguments.length),e===void 0?(this[k6e](),ee(this,Yt,"f").y18n.getLocale()):(kt(this,a5,!1,"f"),ee(this,Yt,"f").y18n.setLocale(e),this)}middleware(e,r,n){return ee(this,_l,"f").addMiddleware(e,!!r,n)}nargs(e,r){return At("<string|object|array> [number]",[e,r],arguments.length),this[wx](this.nargs.bind(this),"narg",e,r),this}normalize(e){return At("<array|string>",[e],arguments.length),this[em]("normalize",e),this}number(e){return At("<array|string>",[e],arguments.length),this[em]("number",e),this[m5](e),this}option(e,r){if(At("<string|object> [object]",[e,r],arguments.length),typeof e=="object")Object.keys(e).forEach(n=>{this.options(n,e[n])});else{typeof r!="object"&&(r={}),this[m5](e),ee(this,Yd,"f")&&(e==="version"||r?.alias==="version")&&this[A1t](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(`
1837
1837
  `),void 0,"versionWarning"),ee(this,Ft,"f").key[e]=!0,r.alias&&this.alias(e,r.alias);let n=r.deprecate||r.deprecated;n&&this.deprecateOption(e,n);let i=r.demand||r.required||r.require;i&&this.demand(e,i),r.demandOption&&this.demandOption(e,typeof r.demandOption=="string"?r.demandOption:void 0),r.conflicts&&this.conflicts(e,r.conflicts),"default"in r&&this.default(e,r.default),r.implies!==void 0&&this.implies(e,r.implies),r.nargs!==void 0&&this.nargs(e,r.nargs),r.config&&this.config(e,r.configParser),r.normalize&&this.normalize(e),r.choices&&this.choices(e,r.choices),r.coerce&&this.coerce(e,r.coerce),r.group&&this.group(e,r.group),(r.boolean||r.type==="boolean")&&(this.boolean(e),r.alias&&this.boolean(r.alias)),(r.array||r.type==="array")&&(this.array(e),r.alias&&this.array(r.alias)),(r.number||r.type==="number")&&(this.number(e),r.alias&&this.number(r.alias)),(r.string||r.type==="string")&&(this.string(e),r.alias&&this.string(r.alias)),(r.count||r.type==="count")&&this.count(e),typeof r.global=="boolean"&&this.global(e,r.global),r.defaultDescription&&(ee(this,Ft,"f").defaultDescription[e]=r.defaultDescription),r.skipValidation&&this.skipValidation(e);let s=r.describe||r.description||r.desc,a=ee(this,lr,"f").getDescriptions();(!Object.prototype.hasOwnProperty.call(a,e)||typeof s=="string")&&this.describe(e,s),r.hidden&&this.hide(e),r.requiresArg&&this.requiresArg(e)}return this}options(e,r){return this.option(e,r)}parse(e,r,n){At("[string|array] [function|boolean|object] [function]",[e,r,n],arguments.length),this[C1t](),typeof e>"u"&&(e=ee(this,Q3,"f")),typeof r=="object"&&(kt(this,c5,r,"f"),r=n),typeof r=="function"&&(kt(this,Au,r,"f"),r=!1),r||kt(this,Q3,e,"f"),ee(this,Au,"f")&&kt(this,wl,!1,"f");let i=this[MT](e,!!r),s=this.parsed;return ee(this,Nc,"f").setParsed(this.parsed),fi(i)?i.then(a=>(ee(this,Au,"f")&&ee(this,Au,"f").call(this,ee(this,Y3,"f"),a,ee(this,la,"f")),a)).catch(a=>{throw ee(this,Au,"f")&&ee(this,Au,"f")(a,this.parsed.argv,ee(this,la,"f")),a}).finally(()=>{this[D6e](),this.parsed=s}):(ee(this,Au,"f")&&ee(this,Au,"f").call(this,ee(this,Y3,"f"),i,ee(this,la,"f")),this[D6e](),this.parsed=s,i)}parseAsync(e,r,n){let i=this.parse(e,r,n);return fi(i)?i:Promise.resolve(i)}parseSync(e,r,n){let i=this.parse(e,r,n);if(fi(i))throw new us(".parseSync() must not be used with asynchronous builders, handlers, or middleware");return i}parserConfiguration(e){return At("<object>",[e],arguments.length),kt(this,kV,e,"f"),this}pkgConf(e,r){At("<string> [string]",[e,r],arguments.length);let n=null,i=this[T6e](r||ee(this,s5,"f"));return i[e]&&typeof i[e]=="object"&&(n=jT(i[e],r||ee(this,s5,"f"),this[p5]()["deep-merge-config"]||!1,ee(this,Yt,"f")),ee(this,Ft,"f").configObjects=(ee(this,Ft,"f").configObjects||[]).concat(n)),this}positional(e,r){At("<string> <object>",[e,r],arguments.length);let n=["default","defaultDescription","implies","normalize","choices","conflicts","coerce","type","describe","desc","description","alias"];r=Z3(r,(a,o)=>a==="type"&&!["string","number","boolean"].includes(o)?!1:n.includes(a));let i=ee(this,$T,"f").fullCommands[ee(this,$T,"f").fullCommands.length-1],s=i?ee(this,ls,"f").cmdToParseOptions(i):{array:[],alias:{},default:{},demand:{}};return yx(s).forEach(a=>{let o=s[a];Array.isArray(o)?o.indexOf(e)!==-1&&(r[a]=!0):o[e]&&!(a in r)&&(r[a]=o[e])}),this.group(e,ee(this,lr,"f").getPositionalGroupName()),this.option(e,r)}recommendCommands(e=!0){return At("[boolean]",[e],arguments.length),kt(this,TV,e,"f"),this}required(e,r,n){return this.demand(e,r,n)}require(e,r,n){return this.demand(e,r,n)}requiresArg(e){return At("<array|string|object> [number]",[e],arguments.length),typeof e=="string"&&ee(this,Ft,"f").narg[e]?this:(this[wx](this.requiresArg.bind(this),"narg",e,NaN),this)}showCompletionScript(e,r){return At("[string] [string]",[e,r],arguments.length),e=e||this.$0,ee(this,o5,"f").log(ee(this,Nc,"f").generateCompletionScript(e,r||ee(this,Su,"f")||"completion")),this}showHelp(e){if(At("[string|function]",[e],arguments.length),kt(this,Eu,!0,"f"),!ee(this,lr,"f").hasCachedHelpMessage()){if(!this.parsed){let n=this[MT](ee(this,Q3,"f"),void 0,void 0,0,!0);if(fi(n))return n.then(()=>{ee(this,lr,"f").showHelp(e)}),this}let r=ee(this,ls,"f").runDefaultBuilderOn(this);if(fi(r))return r.then(()=>{ee(this,lr,"f").showHelp(e)}),this}return ee(this,lr,"f").showHelp(e),this}scriptName(e){return this.customScriptName=!0,this.$0=e,this}showHelpOnFail(e,r){return At("[boolean|string] [string]",[e,r],arguments.length),ee(this,lr,"f").showHelpOnFail(e,r),this}showVersion(e){return At("[string|function]",[e],arguments.length),ee(this,lr,"f").showVersion(e),this}skipValidation(e){return At("<array|string>",[e],arguments.length),this[em]("skipValidation",e),this}strict(e){return At("[boolean]",[e],arguments.length),kt(this,l5,e!==!1,"f"),this}strictCommands(e){return At("[boolean]",[e],arguments.length),kt(this,f5,e!==!1,"f"),this}strictOptions(e){return At("[boolean]",[e],arguments.length),kt(this,d5,e!==!1,"f"),this}string(e){return At("<array|string>",[e],arguments.length),this[em]("string",e),this[m5](e),this}terminalWidth(){return At([],0),ee(this,Yt,"f").process.stdColumns}updateLocale(e){return this.updateStrings(e)}updateStrings(e){return At("<object>",[e],arguments.length),kt(this,a5,!1,"f"),ee(this,Yt,"f").y18n.updateLocale(e),this}usage(e,r,n,i){if(At("<string|null|undefined> [string|boolean] [function|object] [function]",[e,r,n,i],arguments.length),r!==void 0){if(Uo(e,null,ee(this,Yt,"f")),(e||"").match(/^\$0( |$)/))return this.command(e,r,n,i);throw new us(".usage() description must start with $0 if being used as alias for .command()")}else return ee(this,lr,"f").usage(e),this}usageConfiguration(e){return At("<object>",[e],arguments.length),kt(this,PV,e,"f"),this}version(e,r,n){let i="version";if(At("[boolean|string] [string] [string]",[e,r,n],arguments.length),ee(this,Yd,"f")&&(this[C6e](ee(this,Yd,"f")),ee(this,lr,"f").version(void 0),kt(this,Yd,null,"f")),arguments.length===0)n=this[P1t](),e=i;else if(arguments.length===1){if(e===!1)return this;n=e,e=i}else arguments.length===2&&(n=r,r=void 0);return kt(this,Yd,typeof e=="string"?e:i,"f"),r=r||ee(this,lr,"f").deferY18nLookup("Show version number"),ee(this,lr,"f").version(n||void 0),this.boolean(ee(this,Yd,"f")),this.describe(ee(this,Yd,"f"),r),this}wrap(e){return At("<number|null|undefined>",[e],arguments.length),ee(this,lr,"f").wrap(e),this}[(ls=new WeakMap,s5=new WeakMap,$T=new WeakMap,Nc=new WeakMap,Su=new WeakMap,_V=new WeakMap,Y3=new WeakMap,a5=new WeakMap,SV=new WeakMap,wl=new WeakMap,EV=new WeakMap,_l=new WeakMap,Xd=new WeakMap,Eu=new WeakMap,Sl=new WeakMap,AV=new WeakMap,o5=new WeakMap,la=new WeakMap,Ft=new WeakMap,CV=new WeakMap,kV=new WeakMap,Au=new WeakMap,c5=new WeakMap,xx=new WeakMap,u5=new WeakMap,Q3=new WeakMap,TV=new WeakMap,Yt=new WeakMap,l5=new WeakMap,f5=new WeakMap,d5=new WeakMap,lr=new WeakMap,PV=new WeakMap,Yd=new WeakMap,Xi=new WeakMap,S1t)](e){if(!e._||!e["--"])return e;e._.push.apply(e._,e["--"]);try{delete e["--"]}catch{}return e}[E1t](){return{log:(...e)=>{this[OV]()||console.log(...e),kt(this,Eu,!0,"f"),ee(this,la,"f").length&&kt(this,la,ee(this,la,"f")+`
1838
1838
  `,"f"),kt(this,la,ee(this,la,"f")+e.join(" "),"f")},error:(...e)=>{this[OV]()||console.error(...e),kt(this,Eu,!0,"f"),ee(this,la,"f").length&&kt(this,la,ee(this,la,"f")+`
1839
- `,"f"),kt(this,la,ee(this,la,"f")+e.join(" "),"f")}}}[C6e](e){yx(ee(this,Ft,"f")).forEach(r=>{if((i=>i==="configObjects")(r))return;let n=ee(this,Ft,"f")[r];Array.isArray(n)?n.includes(e)&&n.splice(n.indexOf(e),1):typeof n=="object"&&delete n[e]}),delete ee(this,lr,"f").getDescriptions()[e]}[A1t](e,r,n){ee(this,SV,"f")[n]||(ee(this,Yt,"f").process.emitWarning(e,r),ee(this,SV,"f")[n]=!0)}[C1t](){ee(this,EV,"f").push({options:ee(this,Ft,"f"),configObjects:ee(this,Ft,"f").configObjects.slice(0),exitProcess:ee(this,wl,"f"),groups:ee(this,Xd,"f"),strict:ee(this,l5,"f"),strictCommands:ee(this,f5,"f"),strictOptions:ee(this,d5,"f"),completionCommand:ee(this,Su,"f"),output:ee(this,la,"f"),exitError:ee(this,Y3,"f"),hasOutput:ee(this,Eu,"f"),parsed:this.parsed,parseFn:ee(this,Au,"f"),parseContext:ee(this,c5,"f")}),ee(this,lr,"f").freeze(),ee(this,Xi,"f").freeze(),ee(this,ls,"f").freeze(),ee(this,_l,"f").freeze()}[k1t](){let e="",r;return/\b(node|iojs|electron)(\.exe)?$/.test(ee(this,Yt,"f").process.argv()[0])?r=ee(this,Yt,"f").process.argv().slice(1,2):r=ee(this,Yt,"f").process.argv().slice(0,1),e=r.map(n=>{let i=this[q1t](ee(this,s5,"f"),n);return n.match(/^(\/|([a-zA-Z]:)?\\)/)&&i.length<n.length?i:n}).join(" ").trim(),ee(this,Yt,"f").getEnv("_")&&ee(this,Yt,"f").getProcessArgvBin()===ee(this,Yt,"f").getEnv("_")&&(e=ee(this,Yt,"f").getEnv("_").replace(`${ee(this,Yt,"f").path.dirname(ee(this,Yt,"f").process.execPath())}/`,"")),e}[p5](){return ee(this,kV,"f")}[T1t](){return ee(this,PV,"f")}[k6e](){if(!ee(this,a5,"f"))return;let e=ee(this,Yt,"f").getEnv("LC_ALL")||ee(this,Yt,"f").getEnv("LC_MESSAGES")||ee(this,Yt,"f").getEnv("LANG")||ee(this,Yt,"f").getEnv("LANGUAGE")||"en_US";this.locale(e.replace(/[.:].*/,""))}[P1t](){return this[T6e]().version||"unknown"}[O1t](e){let r=e["--"]?e["--"]:e._;for(let n=0,i;(i=r[n])!==void 0;n++)ee(this,Yt,"f").Parser.looksLikeNumber(i)&&Number.isSafeInteger(Math.floor(parseFloat(`${i}`)))&&(r[n]=Number(i));return e}[T6e](e){let r=e||"*";if(ee(this,xx,"f")[r])return ee(this,xx,"f")[r];let n={};try{let i=e||ee(this,Yt,"f").mainFilename;ee(this,Yt,"f").path.extname(i)&&(i=ee(this,Yt,"f").path.dirname(i));let s=ee(this,Yt,"f").findUp(i,(a,o)=>{if(o.includes("package.json"))return"package.json"});Uo(s,void 0,ee(this,Yt,"f")),n=JSON.parse(ee(this,Yt,"f").readFileSync(s,"utf8"))}catch{}return ee(this,xx,"f")[r]=n||{},ee(this,xx,"f")[r]}[em](e,r){r=[].concat(r),r.forEach(n=>{n=this[R6e](n),ee(this,Ft,"f")[e].push(n)})}[wx](e,r,n,i){this[O6e](e,r,n,i,(s,a,o)=>{ee(this,Ft,"f")[s][a]=o})}[P6e](e,r,n,i){this[O6e](e,r,n,i,(s,a,o)=>{ee(this,Ft,"f")[s][a]=(ee(this,Ft,"f")[s][a]||[]).concat(o)})}[O6e](e,r,n,i,s){if(Array.isArray(n))n.forEach(a=>{e(a,i)});else if((a=>typeof a=="object")(n))for(let a of yx(n))e(a,n[a]);else s(r,this[R6e](n),i)}[R6e](e){return e==="__proto__"?"___proto___":e}[I6e](e,r){return this[wx](this[I6e].bind(this),"key",e,r),this}[D6e](){var e,r,n,i,s,a,o,c,u,f,d,p;let h=ee(this,EV,"f").pop();Uo(h,void 0,ee(this,Yt,"f"));let m;e=this,r=this,n=this,i=this,s=this,a=this,o=this,c=this,u=this,f=this,d=this,p=this,{options:{set value(g){kt(e,Ft,g,"f")}}.value,configObjects:m,exitProcess:{set value(g){kt(r,wl,g,"f")}}.value,groups:{set value(g){kt(n,Xd,g,"f")}}.value,output:{set value(g){kt(i,la,g,"f")}}.value,exitError:{set value(g){kt(s,Y3,g,"f")}}.value,hasOutput:{set value(g){kt(a,Eu,g,"f")}}.value,parsed:this.parsed,strict:{set value(g){kt(o,l5,g,"f")}}.value,strictCommands:{set value(g){kt(c,f5,g,"f")}}.value,strictOptions:{set value(g){kt(u,d5,g,"f")}}.value,completionCommand:{set value(g){kt(f,Su,g,"f")}}.value,parseFn:{set value(g){kt(d,Au,g,"f")}}.value,parseContext:{set value(g){kt(p,c5,g,"f")}}.value}=h,ee(this,Ft,"f").configObjects=m,ee(this,lr,"f").unfreeze(),ee(this,Xi,"f").unfreeze(),ee(this,ls,"f").unfreeze(),ee(this,_l,"f").unfreeze()}[R1t](e,r){return i5(r,n=>(e(n),n))}getInternalMethods(){return{getCommandInstance:this[I1t].bind(this),getContext:this[D1t].bind(this),getHasOutput:this[F1t].bind(this),getLoggerInstance:this[N1t].bind(this),getParseContext:this[j1t].bind(this),getParserConfiguration:this[p5].bind(this),getUsageConfiguration:this[T1t].bind(this),getUsageInstance:this[$1t].bind(this),getValidationInstance:this[M1t].bind(this),hasParseCallback:this[OV].bind(this),isGlobalContext:this[L1t].bind(this),postProcess:this[h5].bind(this),reset:this[F6e].bind(this),runValidation:this[N6e].bind(this),runYargsParserAndExecuteCommands:this[MT].bind(this),setHasOutput:this[B1t].bind(this)}}[I1t](){return ee(this,ls,"f")}[D1t](){return ee(this,$T,"f")}[F1t](){return ee(this,Eu,"f")}[N1t](){return ee(this,o5,"f")}[j1t](){return ee(this,c5,"f")||{}}[$1t](){return ee(this,lr,"f")}[M1t](){return ee(this,Xi,"f")}[OV](){return!!ee(this,Au,"f")}[L1t](){return ee(this,AV,"f")}[h5](e,r,n,i){return n||fi(e)||(r||(e=this[S1t](e)),(this[p5]()["parse-positional-numbers"]||this[p5]()["parse-positional-numbers"]===void 0)&&(e=this[O1t](e)),i&&(e=n5(e,this,ee(this,_l,"f").getMiddleware(),!1))),e}[F6e](e={}){kt(this,Ft,ee(this,Ft,"f")||{},"f");let r={};r.local=ee(this,Ft,"f").local||[],r.configObjects=ee(this,Ft,"f").configObjects||[];let n={};r.local.forEach(a=>{n[a]=!0,(e[a]||[]).forEach(o=>{n[o]=!0})}),Object.assign(ee(this,u5,"f"),Object.keys(ee(this,Xd,"f")).reduce((a,o)=>{let c=ee(this,Xd,"f")[o].filter(u=>!(u in n));return c.length>0&&(a[o]=c),a},{})),kt(this,Xd,{},"f");let i=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],s=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];return i.forEach(a=>{r[a]=(ee(this,Ft,"f")[a]||[]).filter(o=>!n[o])}),s.forEach(a=>{r[a]=Z3(ee(this,Ft,"f")[a],o=>!n[o])}),r.envPrefix=ee(this,Ft,"f").envPrefix,kt(this,Ft,r,"f"),kt(this,lr,ee(this,lr,"f")?ee(this,lr,"f").reset(n):m1t(this,ee(this,Yt,"f")),"f"),kt(this,Xi,ee(this,Xi,"f")?ee(this,Xi,"f").reset(n):w1t(this,ee(this,lr,"f"),ee(this,Yt,"f")),"f"),kt(this,ls,ee(this,ls,"f")?ee(this,ls,"f").reset():d1t(ee(this,lr,"f"),ee(this,Xi,"f"),ee(this,_l,"f"),ee(this,Yt,"f")),"f"),ee(this,Nc,"f")||kt(this,Nc,y1t(this,ee(this,lr,"f"),ee(this,ls,"f"),ee(this,Yt,"f")),"f"),ee(this,_l,"f").reset(),kt(this,Su,null,"f"),kt(this,la,"","f"),kt(this,Y3,null,"f"),kt(this,Eu,!1,"f"),this.parsed=!1,this}[q1t](e,r){return ee(this,Yt,"f").path.relative(e,r)}[MT](e,r,n,i=0,s=!1){var a,o,c,u;let f=!!n||s;e=e||ee(this,Q3,"f"),ee(this,Ft,"f").__=ee(this,Yt,"f").y18n.__,ee(this,Ft,"f").configuration=this[p5]();let d=!!ee(this,Ft,"f").configuration["populate--"],p=Object.assign({},ee(this,Ft,"f").configuration,{"populate--":!0}),h=ee(this,Yt,"f").Parser.detailed(e,Object.assign({},ee(this,Ft,"f"),{configuration:{"parse-positional-numbers":!1,...p}})),m=Object.assign(h.argv,ee(this,c5,"f")),g,v=h.aliases,y=!1,b=!1;Object.keys(m).forEach(x=>{x===ee(this,Sl,"f")&&m[x]?y=!0:x===ee(this,Yd,"f")&&m[x]&&(b=!0)}),m.$0=this.$0,this.parsed=h,i===0&&ee(this,lr,"f").clearCachedHelpMessage();try{if(this[k6e](),r)return this[h5](m,d,!!n,!1);ee(this,Sl,"f")&&[ee(this,Sl,"f")].concat(v[ee(this,Sl,"f")]||[]).filter(I=>I.length>1).includes(""+m._[m._.length-1])&&(m._.pop(),y=!0),kt(this,AV,!1,"f");let x=ee(this,ls,"f").getCommands(),E=!((a=ee(this,Nc,"f"))===null||a===void 0)&&a.completionKey?[(o=ee(this,Nc,"f"))===null||o===void 0?void 0:o.completionKey,...(u=this.getAliases()[(c=ee(this,Nc,"f"))===null||c===void 0?void 0:c.completionKey])!==null&&u!==void 0?u:[]].some(T=>Object.prototype.hasOwnProperty.call(m,T)):!1,C=y||E||s;if(m._.length){if(x.length){let T;for(let I=i||0,F;m._[I]!==void 0;I++)if(F=String(m._[I]),x.includes(F)&&F!==ee(this,Su,"f")){let A=ee(this,ls,"f").runCommand(F,this,h,I+1,s,y||b||s);return this[h5](A,d,!!n,!1)}else if(!T&&F!==ee(this,Su,"f")){T=F;break}!ee(this,ls,"f").hasDefaultCommand()&&ee(this,TV,"f")&&T&&!C&&ee(this,Xi,"f").recommendCommands(T,x)}ee(this,Su,"f")&&m._.includes(ee(this,Su,"f"))&&!E&&(ee(this,wl,"f")&&X3(!0),this.showCompletionScript(),this.exit(0))}if(ee(this,ls,"f").hasDefaultCommand()&&!C){let T=ee(this,ls,"f").runCommand(null,this,h,0,s,y||b||s);return this[h5](T,d,!!n,!1)}if(E){ee(this,wl,"f")&&X3(!0),e=[].concat(e);let T=e.slice(e.indexOf(`--${ee(this,Nc,"f").completionKey}`)+1);return ee(this,Nc,"f").getCompletion(T,(I,F)=>{if(I)throw new us(I.message);(F||[]).forEach(A=>{ee(this,o5,"f").log(A)}),this.exit(0)}),this[h5](m,!d,!!n,!1)}if(ee(this,Eu,"f")||(y?(ee(this,wl,"f")&&X3(!0),f=!0,this.showHelp(T=>{ee(this,o5,"f").log(T),this.exit(0)})):b&&(ee(this,wl,"f")&&X3(!0),f=!0,ee(this,lr,"f").showVersion("log"),this.exit(0))),!f&&ee(this,Ft,"f").skipValidation.length>0&&(f=Object.keys(m).some(T=>ee(this,Ft,"f").skipValidation.indexOf(T)>=0&&m[T]===!0)),!f){if(h.error)throw new us(h.error.message);if(!E){let T=this[N6e](v,{},h.error);n||(g=n5(m,this,ee(this,_l,"f").getMiddleware(),!0)),g=this[R1t](T,g??m),fi(g)&&!n&&(g=g.then(()=>n5(m,this,ee(this,_l,"f").getMiddleware(),!1)))}}}catch(x){if(x instanceof us)ee(this,lr,"f").fail(x.message,x);else throw x}return this[h5](g??m,d,!!n,!0)}[N6e](e,r,n,i){let s={...this.getDemandedOptions()};return a=>{if(n)throw new us(n.message);ee(this,Xi,"f").nonOptionCount(a),ee(this,Xi,"f").requiredArguments(a,s);let o=!1;ee(this,f5,"f")&&(o=ee(this,Xi,"f").unknownCommands(a)),ee(this,l5,"f")&&!o?ee(this,Xi,"f").unknownArguments(a,e,r,!!i):ee(this,d5,"f")&&ee(this,Xi,"f").unknownArguments(a,e,{},!1,!1),ee(this,Xi,"f").limitedChoices(a),ee(this,Xi,"f").implications(a),ee(this,Xi,"f").conflicting(a)}}[B1t](){kt(this,Eu,!0,"f")}[m5](e){if(typeof e=="string")ee(this,Ft,"f").key[e]=!0;else for(let r of e)ee(this,Ft,"f").key[r]=!0}};function p1t(t){return!!t&&typeof t.getInternalMethods=="function"}var Kqr=z1t(x6e),U1t=Kqr;import Jqr from"node:os";function H1t(){let t=v6e(process.argv),e=U1t(t).option("coday_project",{type:"string",description:"Project name"}).option("prompt",{type:"array",description:"Prompt(s) to execute"}).option("oneshot",{type:"boolean",description:"Run in one-shot mode (non-interactive)"}).option("auth",{type:"boolean",description:"Enables web auth check (expects x-forwarded-email header from auth proxy)"}).option("local",{type:"boolean",description:"Use current directory as sole project (restricted mode)"}).option("multi",{type:"boolean",description:"Multi-project mode: show project list without default selection"}).option("fileReadOnly",{type:"boolean",description:"Run in read-only mode for files (no write/delete operations)"}).option("configDir",{type:"string",description:"Path to the local .coday config dir"}).option("agentFolders",{type:"array",description:"Additional folders where agent definitions can be found",alias:"af"}).option("log",{type:"boolean",description:"Enable logging (use --no-log to disable)",default:!0}).option("log-folder",{type:"string",description:"Custom folder for log files (defaults to ~/.coday/logs)"}).option("debug",{type:"boolean",description:"Sets debug right at startup"}).option("base-url",{type:"string",description:"Base URL for generating absolute links (default: auto-detected from server port)"}).help().argv,r,n,i=e.prompt||e._.slice(1),s=!!e.oneshot,a=!!e.fileReadOnly,o=$6e.join(Jqr.homedir(),".coday"),c=e.coday_config_dir||o,u=!!e.auth,f=!!e.debug,d=!e.log,p=e.log_folder;return e.coday_project?(r=e.coday_project,n=!0,console.log(`Project mode: restricting to project '${r}'`)):e.local?(r=$6e.basename(process.cwd()),n=!0,console.log(`Local mode: restricting to project '${r}'`)):e.multi?(r="",n=!1,console.log("Multi-project mode: no default project selection")):(r=$6e.basename(process.cwd()),n=!1,console.log(`Default mode: using '${r}' as default project`)),{oneshot:s,debug:f,project:r,prompts:i,fileReadOnly:a,configDir:c,auth:u,agentFolders:e.agentFolders||[],noLog:d,logFolder:p,forcedProject:n,baseUrl:e.base_url}}var D5t=Ur(M8e(),1);import*as y5t from"node:os";var mHr="cf-access-jwt-assertion",gHr="x-forwarded-email";function vHr(t){if(!t)return null;let e=t.split(".");if(e.length!==3)return null;try{let r=e[1].replace(/-/g,"+").replace(/_/g,"/"),n=Buffer.from(r,"base64").toString("utf8"),s=JSON.parse(n)?.email;return typeof s=="string"&&s.length>0?s:null}catch{return null}}function L8e(t,e){if(!e)return y5t.userInfo().username;let r=t[mHr],n=vHr(r);if(n)return n;let i=t[gHr];if(i&&i.length>0)return i;throw new Error("Authentication required but no valid identity header found. Expected either a CF_Authorization JWT (Cloudflare Access) or an x-forwarded-email header from the upstream auth proxy.")}import*as eG from"fs";import*as E5 from"path";var ip=["agentos-service","agentos-bash-plugin","agentos-file-plugin","agentos-mcp-plugin","agentos-tmux-plugin"],b5t=["agentos-service"];function yHr(t){let e=t.endsWith(".jar")?t.slice(0,-4):t,r=e.match(/^(.*?)-([0-9].*)$/);return r?{artifactId:r[1],version:r[2]}:{artifactId:e,version:null}}function bHr(t,e,r){let n=E5.join(t,"agentos");return b5t.includes(e)?E5.join(n,`${e}-${r}.jar`):E5.join(n,"plugins",`${e}-${r}.jar`)}function x5t(t,e){let r=E5.join(t,"agentos");ie("AGENTOS",`Checking JAR availability (expected version: ${e})`),ie("AGENTOS",`AgentOS directory: ${r}`);let n=ip.map(o=>{let c=bHr(t,o,e),u=null,f=null;try{if(eG.existsSync(c))u=c,f=e;else{let p=b5t.includes(o)?r:E5.join(r,"plugins");try{let h=eG.readdirSync(p).filter(m=>m.endsWith(".jar"));for(let m of h){let g=yHr(m);if(g.artifactId===o){u=E5.join(p,m),f=g.version;break}}}catch{}}}catch{}let d=f===e;return u?d?ie("AGENTOS",` [OK] ${o}-${f}.jar`):ie("AGENTOS",` [MISMATCH] ${o} \u2014 found version ${f} at ${u} (expected ${e})`):ie("AGENTOS",` [MISSING] ${o} \u2014 expected at ${c}`),{artifactId:o,foundAt:u,foundVersion:f,versionMatch:d,expectedPath:c}}),i=n.filter(o=>!o.versionMatch).map(o=>o.artifactId),s=i.length===0,a=n.length-i.length;return ie("AGENTOS",s?`JAR check complete: all ${ip.length} JARs present at version ${e}.`:`JAR check complete: ${a}/${ip.length} JARs match version ${e} \u2014 missing: ${i.join(", ")}`),{allPresent:s,expectedVersion:e,artifacts:n,missing:i}}var w5t="1.1.3";function _5t(){let t=process.env.AGENTOS_VERSION;return t?(ie("VERSION",`AgentOS version from AGENTOS_VERSION env var: ${t}`),t):(ie("VERSION",`AgentOS version (bundled): ${w5t}`),w5t)}import*as E5t from"crypto";import*as Cs from"fs";import*as ku from"path";var S5t=6e4;function xHr(t,e){return`https://github.com/whoz-oss/coday/releases/download/release/${e}/${t}-${e}.jar`}function wHr(t){return`https://github.com/whoz-oss/coday/releases/download/release/${t}/checksums.sha256`}function _Hr(t,e){for(let r of t.split(`
1839
+ `,"f"),kt(this,la,ee(this,la,"f")+e.join(" "),"f")}}}[C6e](e){yx(ee(this,Ft,"f")).forEach(r=>{if((i=>i==="configObjects")(r))return;let n=ee(this,Ft,"f")[r];Array.isArray(n)?n.includes(e)&&n.splice(n.indexOf(e),1):typeof n=="object"&&delete n[e]}),delete ee(this,lr,"f").getDescriptions()[e]}[A1t](e,r,n){ee(this,SV,"f")[n]||(ee(this,Yt,"f").process.emitWarning(e,r),ee(this,SV,"f")[n]=!0)}[C1t](){ee(this,EV,"f").push({options:ee(this,Ft,"f"),configObjects:ee(this,Ft,"f").configObjects.slice(0),exitProcess:ee(this,wl,"f"),groups:ee(this,Xd,"f"),strict:ee(this,l5,"f"),strictCommands:ee(this,f5,"f"),strictOptions:ee(this,d5,"f"),completionCommand:ee(this,Su,"f"),output:ee(this,la,"f"),exitError:ee(this,Y3,"f"),hasOutput:ee(this,Eu,"f"),parsed:this.parsed,parseFn:ee(this,Au,"f"),parseContext:ee(this,c5,"f")}),ee(this,lr,"f").freeze(),ee(this,Xi,"f").freeze(),ee(this,ls,"f").freeze(),ee(this,_l,"f").freeze()}[k1t](){let e="",r;return/\b(node|iojs|electron)(\.exe)?$/.test(ee(this,Yt,"f").process.argv()[0])?r=ee(this,Yt,"f").process.argv().slice(1,2):r=ee(this,Yt,"f").process.argv().slice(0,1),e=r.map(n=>{let i=this[q1t](ee(this,s5,"f"),n);return n.match(/^(\/|([a-zA-Z]:)?\\)/)&&i.length<n.length?i:n}).join(" ").trim(),ee(this,Yt,"f").getEnv("_")&&ee(this,Yt,"f").getProcessArgvBin()===ee(this,Yt,"f").getEnv("_")&&(e=ee(this,Yt,"f").getEnv("_").replace(`${ee(this,Yt,"f").path.dirname(ee(this,Yt,"f").process.execPath())}/`,"")),e}[p5](){return ee(this,kV,"f")}[T1t](){return ee(this,PV,"f")}[k6e](){if(!ee(this,a5,"f"))return;let e=ee(this,Yt,"f").getEnv("LC_ALL")||ee(this,Yt,"f").getEnv("LC_MESSAGES")||ee(this,Yt,"f").getEnv("LANG")||ee(this,Yt,"f").getEnv("LANGUAGE")||"en_US";this.locale(e.replace(/[.:].*/,""))}[P1t](){return this[T6e]().version||"unknown"}[O1t](e){let r=e["--"]?e["--"]:e._;for(let n=0,i;(i=r[n])!==void 0;n++)ee(this,Yt,"f").Parser.looksLikeNumber(i)&&Number.isSafeInteger(Math.floor(parseFloat(`${i}`)))&&(r[n]=Number(i));return e}[T6e](e){let r=e||"*";if(ee(this,xx,"f")[r])return ee(this,xx,"f")[r];let n={};try{let i=e||ee(this,Yt,"f").mainFilename;ee(this,Yt,"f").path.extname(i)&&(i=ee(this,Yt,"f").path.dirname(i));let s=ee(this,Yt,"f").findUp(i,(a,o)=>{if(o.includes("package.json"))return"package.json"});Uo(s,void 0,ee(this,Yt,"f")),n=JSON.parse(ee(this,Yt,"f").readFileSync(s,"utf8"))}catch{}return ee(this,xx,"f")[r]=n||{},ee(this,xx,"f")[r]}[em](e,r){r=[].concat(r),r.forEach(n=>{n=this[R6e](n),ee(this,Ft,"f")[e].push(n)})}[wx](e,r,n,i){this[O6e](e,r,n,i,(s,a,o)=>{ee(this,Ft,"f")[s][a]=o})}[P6e](e,r,n,i){this[O6e](e,r,n,i,(s,a,o)=>{ee(this,Ft,"f")[s][a]=(ee(this,Ft,"f")[s][a]||[]).concat(o)})}[O6e](e,r,n,i,s){if(Array.isArray(n))n.forEach(a=>{e(a,i)});else if((a=>typeof a=="object")(n))for(let a of yx(n))e(a,n[a]);else s(r,this[R6e](n),i)}[R6e](e){return e==="__proto__"?"___proto___":e}[I6e](e,r){return this[wx](this[I6e].bind(this),"key",e,r),this}[D6e](){var e,r,n,i,s,a,o,c,u,f,d,p;let h=ee(this,EV,"f").pop();Uo(h,void 0,ee(this,Yt,"f"));let m;e=this,r=this,n=this,i=this,s=this,a=this,o=this,c=this,u=this,f=this,d=this,p=this,{options:{set value(g){kt(e,Ft,g,"f")}}.value,configObjects:m,exitProcess:{set value(g){kt(r,wl,g,"f")}}.value,groups:{set value(g){kt(n,Xd,g,"f")}}.value,output:{set value(g){kt(i,la,g,"f")}}.value,exitError:{set value(g){kt(s,Y3,g,"f")}}.value,hasOutput:{set value(g){kt(a,Eu,g,"f")}}.value,parsed:this.parsed,strict:{set value(g){kt(o,l5,g,"f")}}.value,strictCommands:{set value(g){kt(c,f5,g,"f")}}.value,strictOptions:{set value(g){kt(u,d5,g,"f")}}.value,completionCommand:{set value(g){kt(f,Su,g,"f")}}.value,parseFn:{set value(g){kt(d,Au,g,"f")}}.value,parseContext:{set value(g){kt(p,c5,g,"f")}}.value}=h,ee(this,Ft,"f").configObjects=m,ee(this,lr,"f").unfreeze(),ee(this,Xi,"f").unfreeze(),ee(this,ls,"f").unfreeze(),ee(this,_l,"f").unfreeze()}[R1t](e,r){return i5(r,n=>(e(n),n))}getInternalMethods(){return{getCommandInstance:this[I1t].bind(this),getContext:this[D1t].bind(this),getHasOutput:this[F1t].bind(this),getLoggerInstance:this[N1t].bind(this),getParseContext:this[j1t].bind(this),getParserConfiguration:this[p5].bind(this),getUsageConfiguration:this[T1t].bind(this),getUsageInstance:this[$1t].bind(this),getValidationInstance:this[M1t].bind(this),hasParseCallback:this[OV].bind(this),isGlobalContext:this[L1t].bind(this),postProcess:this[h5].bind(this),reset:this[F6e].bind(this),runValidation:this[N6e].bind(this),runYargsParserAndExecuteCommands:this[MT].bind(this),setHasOutput:this[B1t].bind(this)}}[I1t](){return ee(this,ls,"f")}[D1t](){return ee(this,$T,"f")}[F1t](){return ee(this,Eu,"f")}[N1t](){return ee(this,o5,"f")}[j1t](){return ee(this,c5,"f")||{}}[$1t](){return ee(this,lr,"f")}[M1t](){return ee(this,Xi,"f")}[OV](){return!!ee(this,Au,"f")}[L1t](){return ee(this,AV,"f")}[h5](e,r,n,i){return n||fi(e)||(r||(e=this[S1t](e)),(this[p5]()["parse-positional-numbers"]||this[p5]()["parse-positional-numbers"]===void 0)&&(e=this[O1t](e)),i&&(e=n5(e,this,ee(this,_l,"f").getMiddleware(),!1))),e}[F6e](e={}){kt(this,Ft,ee(this,Ft,"f")||{},"f");let r={};r.local=ee(this,Ft,"f").local||[],r.configObjects=ee(this,Ft,"f").configObjects||[];let n={};r.local.forEach(a=>{n[a]=!0,(e[a]||[]).forEach(o=>{n[o]=!0})}),Object.assign(ee(this,u5,"f"),Object.keys(ee(this,Xd,"f")).reduce((a,o)=>{let c=ee(this,Xd,"f")[o].filter(u=>!(u in n));return c.length>0&&(a[o]=c),a},{})),kt(this,Xd,{},"f");let i=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],s=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];return i.forEach(a=>{r[a]=(ee(this,Ft,"f")[a]||[]).filter(o=>!n[o])}),s.forEach(a=>{r[a]=Z3(ee(this,Ft,"f")[a],o=>!n[o])}),r.envPrefix=ee(this,Ft,"f").envPrefix,kt(this,Ft,r,"f"),kt(this,lr,ee(this,lr,"f")?ee(this,lr,"f").reset(n):m1t(this,ee(this,Yt,"f")),"f"),kt(this,Xi,ee(this,Xi,"f")?ee(this,Xi,"f").reset(n):w1t(this,ee(this,lr,"f"),ee(this,Yt,"f")),"f"),kt(this,ls,ee(this,ls,"f")?ee(this,ls,"f").reset():d1t(ee(this,lr,"f"),ee(this,Xi,"f"),ee(this,_l,"f"),ee(this,Yt,"f")),"f"),ee(this,Nc,"f")||kt(this,Nc,y1t(this,ee(this,lr,"f"),ee(this,ls,"f"),ee(this,Yt,"f")),"f"),ee(this,_l,"f").reset(),kt(this,Su,null,"f"),kt(this,la,"","f"),kt(this,Y3,null,"f"),kt(this,Eu,!1,"f"),this.parsed=!1,this}[q1t](e,r){return ee(this,Yt,"f").path.relative(e,r)}[MT](e,r,n,i=0,s=!1){var a,o,c,u;let f=!!n||s;e=e||ee(this,Q3,"f"),ee(this,Ft,"f").__=ee(this,Yt,"f").y18n.__,ee(this,Ft,"f").configuration=this[p5]();let d=!!ee(this,Ft,"f").configuration["populate--"],p=Object.assign({},ee(this,Ft,"f").configuration,{"populate--":!0}),h=ee(this,Yt,"f").Parser.detailed(e,Object.assign({},ee(this,Ft,"f"),{configuration:{"parse-positional-numbers":!1,...p}})),m=Object.assign(h.argv,ee(this,c5,"f")),g,v=h.aliases,y=!1,b=!1;Object.keys(m).forEach(x=>{x===ee(this,Sl,"f")&&m[x]?y=!0:x===ee(this,Yd,"f")&&m[x]&&(b=!0)}),m.$0=this.$0,this.parsed=h,i===0&&ee(this,lr,"f").clearCachedHelpMessage();try{if(this[k6e](),r)return this[h5](m,d,!!n,!1);ee(this,Sl,"f")&&[ee(this,Sl,"f")].concat(v[ee(this,Sl,"f")]||[]).filter(I=>I.length>1).includes(""+m._[m._.length-1])&&(m._.pop(),y=!0),kt(this,AV,!1,"f");let x=ee(this,ls,"f").getCommands(),E=!((a=ee(this,Nc,"f"))===null||a===void 0)&&a.completionKey?[(o=ee(this,Nc,"f"))===null||o===void 0?void 0:o.completionKey,...(u=this.getAliases()[(c=ee(this,Nc,"f"))===null||c===void 0?void 0:c.completionKey])!==null&&u!==void 0?u:[]].some(T=>Object.prototype.hasOwnProperty.call(m,T)):!1,C=y||E||s;if(m._.length){if(x.length){let T;for(let I=i||0,F;m._[I]!==void 0;I++)if(F=String(m._[I]),x.includes(F)&&F!==ee(this,Su,"f")){let A=ee(this,ls,"f").runCommand(F,this,h,I+1,s,y||b||s);return this[h5](A,d,!!n,!1)}else if(!T&&F!==ee(this,Su,"f")){T=F;break}!ee(this,ls,"f").hasDefaultCommand()&&ee(this,TV,"f")&&T&&!C&&ee(this,Xi,"f").recommendCommands(T,x)}ee(this,Su,"f")&&m._.includes(ee(this,Su,"f"))&&!E&&(ee(this,wl,"f")&&X3(!0),this.showCompletionScript(),this.exit(0))}if(ee(this,ls,"f").hasDefaultCommand()&&!C){let T=ee(this,ls,"f").runCommand(null,this,h,0,s,y||b||s);return this[h5](T,d,!!n,!1)}if(E){ee(this,wl,"f")&&X3(!0),e=[].concat(e);let T=e.slice(e.indexOf(`--${ee(this,Nc,"f").completionKey}`)+1);return ee(this,Nc,"f").getCompletion(T,(I,F)=>{if(I)throw new us(I.message);(F||[]).forEach(A=>{ee(this,o5,"f").log(A)}),this.exit(0)}),this[h5](m,!d,!!n,!1)}if(ee(this,Eu,"f")||(y?(ee(this,wl,"f")&&X3(!0),f=!0,this.showHelp(T=>{ee(this,o5,"f").log(T),this.exit(0)})):b&&(ee(this,wl,"f")&&X3(!0),f=!0,ee(this,lr,"f").showVersion("log"),this.exit(0))),!f&&ee(this,Ft,"f").skipValidation.length>0&&(f=Object.keys(m).some(T=>ee(this,Ft,"f").skipValidation.indexOf(T)>=0&&m[T]===!0)),!f){if(h.error)throw new us(h.error.message);if(!E){let T=this[N6e](v,{},h.error);n||(g=n5(m,this,ee(this,_l,"f").getMiddleware(),!0)),g=this[R1t](T,g??m),fi(g)&&!n&&(g=g.then(()=>n5(m,this,ee(this,_l,"f").getMiddleware(),!1)))}}}catch(x){if(x instanceof us)ee(this,lr,"f").fail(x.message,x);else throw x}return this[h5](g??m,d,!!n,!0)}[N6e](e,r,n,i){let s={...this.getDemandedOptions()};return a=>{if(n)throw new us(n.message);ee(this,Xi,"f").nonOptionCount(a),ee(this,Xi,"f").requiredArguments(a,s);let o=!1;ee(this,f5,"f")&&(o=ee(this,Xi,"f").unknownCommands(a)),ee(this,l5,"f")&&!o?ee(this,Xi,"f").unknownArguments(a,e,r,!!i):ee(this,d5,"f")&&ee(this,Xi,"f").unknownArguments(a,e,{},!1,!1),ee(this,Xi,"f").limitedChoices(a),ee(this,Xi,"f").implications(a),ee(this,Xi,"f").conflicting(a)}}[B1t](){kt(this,Eu,!0,"f")}[m5](e){if(typeof e=="string")ee(this,Ft,"f").key[e]=!0;else for(let r of e)ee(this,Ft,"f").key[r]=!0}};function p1t(t){return!!t&&typeof t.getInternalMethods=="function"}var Kqr=z1t(x6e),U1t=Kqr;import Jqr from"node:os";function H1t(){let t=v6e(process.argv),e=U1t(t).option("coday_project",{type:"string",description:"Project name"}).option("prompt",{type:"array",description:"Prompt(s) to execute"}).option("oneshot",{type:"boolean",description:"Run in one-shot mode (non-interactive)"}).option("auth",{type:"boolean",description:"Enables web auth check (expects x-forwarded-email header from auth proxy)"}).option("local",{type:"boolean",description:"Use current directory as sole project (restricted mode)"}).option("multi",{type:"boolean",description:"Multi-project mode: show project list without default selection"}).option("fileReadOnly",{type:"boolean",description:"Run in read-only mode for files (no write/delete operations)"}).option("configDir",{type:"string",description:"Path to the local .coday config dir"}).option("agentFolders",{type:"array",description:"Additional folders where agent definitions can be found",alias:"af"}).option("log",{type:"boolean",description:"Enable logging (use --no-log to disable)",default:!0}).option("log-folder",{type:"string",description:"Custom folder for log files (defaults to ~/.coday/logs)"}).option("debug",{type:"boolean",description:"Sets debug right at startup"}).option("base-url",{type:"string",description:"Base URL for generating absolute links (default: auto-detected from server port)"}).help().argv,r,n,i=e.prompt||e._.slice(1),s=!!e.oneshot,a=!!e.fileReadOnly,o=$6e.join(Jqr.homedir(),".coday"),c=e.coday_config_dir||o,u=!!e.auth,f=!!e.debug,d=!e.log,p=e.log_folder;return e.coday_project?(r=e.coday_project,n=!0,console.log(`Project mode: restricting to project '${r}'`)):e.local?(r=$6e.basename(process.cwd()),n=!0,console.log(`Local mode: restricting to project '${r}'`)):e.multi?(r="",n=!1,console.log("Multi-project mode: no default project selection")):(r=$6e.basename(process.cwd()),n=!1,console.log(`Default mode: using '${r}' as default project`)),{oneshot:s,debug:f,project:r,prompts:i,fileReadOnly:a,configDir:c,auth:u,agentFolders:e.agentFolders||[],noLog:d,logFolder:p,forcedProject:n,baseUrl:e.base_url}}var D5t=Ur(M8e(),1);import*as y5t from"node:os";var mHr="cf-access-jwt-assertion",gHr="x-forwarded-email";function vHr(t){if(!t)return null;let e=t.split(".");if(e.length!==3)return null;try{let r=e[1].replace(/-/g,"+").replace(/_/g,"/"),n=Buffer.from(r,"base64").toString("utf8"),s=JSON.parse(n)?.email;return typeof s=="string"&&s.length>0?s:null}catch{return null}}function L8e(t,e){if(!e)return y5t.userInfo().username;let r=t[mHr],n=vHr(r);if(n)return n;let i=t[gHr];if(i&&i.length>0)return i;throw new Error("Authentication required but no valid identity header found. Expected either a CF_Authorization JWT (Cloudflare Access) or an x-forwarded-email header from the upstream auth proxy.")}import*as eG from"fs";import*as E5 from"path";var ip=["agentos-service","agentos-bash-plugin","agentos-file-plugin","agentos-mcp-plugin","agentos-http-plugin","agentos-tmux-plugin"],b5t=["agentos-service"];function yHr(t){let e=t.endsWith(".jar")?t.slice(0,-4):t,r=e.match(/^(.*?)-([0-9].*)$/);return r?{artifactId:r[1],version:r[2]}:{artifactId:e,version:null}}function bHr(t,e,r){let n=E5.join(t,"agentos");return b5t.includes(e)?E5.join(n,`${e}-${r}.jar`):E5.join(n,"plugins",`${e}-${r}.jar`)}function x5t(t,e){let r=E5.join(t,"agentos");ie("AGENTOS",`Checking JAR availability (expected version: ${e})`),ie("AGENTOS",`AgentOS directory: ${r}`);let n=ip.map(o=>{let c=bHr(t,o,e),u=null,f=null;try{if(eG.existsSync(c))u=c,f=e;else{let p=b5t.includes(o)?r:E5.join(r,"plugins");try{let h=eG.readdirSync(p).filter(m=>m.endsWith(".jar"));for(let m of h){let g=yHr(m);if(g.artifactId===o){u=E5.join(p,m),f=g.version;break}}}catch{}}}catch{}let d=f===e;return u?d?ie("AGENTOS",` [OK] ${o}-${f}.jar`):ie("AGENTOS",` [MISMATCH] ${o} \u2014 found version ${f} at ${u} (expected ${e})`):ie("AGENTOS",` [MISSING] ${o} \u2014 expected at ${c}`),{artifactId:o,foundAt:u,foundVersion:f,versionMatch:d,expectedPath:c}}),i=n.filter(o=>!o.versionMatch).map(o=>o.artifactId),s=i.length===0,a=n.length-i.length;return ie("AGENTOS",s?`JAR check complete: all ${ip.length} JARs present at version ${e}.`:`JAR check complete: ${a}/${ip.length} JARs match version ${e} \u2014 missing: ${i.join(", ")}`),{allPresent:s,expectedVersion:e,artifacts:n,missing:i}}var w5t="1.1.3";function _5t(){let t=process.env.AGENTOS_VERSION;return t?(ie("VERSION",`AgentOS version from AGENTOS_VERSION env var: ${t}`),t):(ie("VERSION",`AgentOS version (bundled): ${w5t}`),w5t)}import*as E5t from"crypto";import*as Cs from"fs";import*as ku from"path";var S5t=6e4;function xHr(t,e){return`https://github.com/whoz-oss/coday/releases/download/release/${e}/${t}-${e}.jar`}function wHr(t){return`https://github.com/whoz-oss/coday/releases/download/release/${t}/checksums.sha256`}function _Hr(t,e){for(let r of t.split(`
1840
1840
  `)){let n=r.trim();if(!n)continue;let i=n.indexOf(" ");if(i===-1)continue;let s=n.slice(0,i).trim();if(n.slice(i+2).trim()===e&&s.length===64)return s}return null}function SHr(t){return E5t.createHash("sha256").update(t).digest("hex")}function YT(t,e,r){return e==="agentos-service"?ku.join(t,`${e}-${r}.jar`):ku.join(t,"plugins",`${e}-${r}.jar`)}function tG(t,e){let r=0;try{for(let n of Cs.readdirSync(t).filter(i=>i.endsWith(".jar")||i.endsWith(".tmp")))if(!e.has(n)){let i=ku.join(t,n);try{Cs.unlinkSync(i),ie("AGENTOS",` [CLEAN] Removed stale file: ${i}`),r++}catch(s){ie("AGENTOS",` [CLEAN] Failed to remove ${i}: ${s instanceof Error?s.message:s}`)}}}catch{}return r}async function A5t(t,e,r){Cs.mkdirSync(ku.join(t,"plugins"),{recursive:!0});let n=wHr(e);ie("AGENTOS",`${r} Fetching manifest for version ${e}: ${n}`);let i=new AbortController,s=setTimeout(()=>i.abort(),S5t),a;try{a=await fetch(n,{signal:i.signal})}finally{clearTimeout(s)}if(ie("AGENTOS",`${r} Manifest HTTP ${a.status}`),!a.ok)throw new Error(`Manifest HTTP ${a.status}`);let o=await a.text();ie("AGENTOS",`${r} Manifest fetched (${o.length} chars)`);let c=0;for(let u of ip){let f=`${u}-${e}.jar`,d=YT(t,u,e),p=xHr(u,e);ie("AGENTOS",`${r} Downloading ${f}...`),ie("AGENTOS",`${r} URL: ${p}`);let h=_Hr(o,f);if(!h)throw new Error(`No manifest entry for '${f}'`);ie("AGENTOS",`${r} Expected SHA-256: ${h}`);let m=new AbortController,g=setTimeout(()=>m.abort(),S5t),v;try{v=await fetch(p,{signal:m.signal})}finally{clearTimeout(g)}if(ie("AGENTOS",`${r} JAR HTTP ${v.status}`),!v.ok)throw new Error(`JAR HTTP ${v.status} for '${f}'`);let y=Buffer.from(await v.arrayBuffer());if(ie("AGENTOS",`${r} Received ${y.length} bytes`),SHr(y)!==h)throw new Error(`Checksum mismatch for '${f}'`);ie("AGENTOS",`${r} Checksum OK`);let x=`${d}.tmp`;try{Cs.writeFileSync(x,y),Cs.renameSync(x,d),ie("AGENTOS",`${r} Written to ${d} (${y.length} bytes)`),c++}catch(E){try{Cs.unlinkSync(x)}catch{}throw E}}return{downloaded:c}}function C5t(t,e){let r=ku.join(t,"agentos"),n=ku.join(r,"next"),i=ku.join(r,"plugins");if(!Cs.existsSync(n))return{outcome:"skipped:no-next",message:"No next/ directory \u2014 nothing to swap"};let s=ip.filter(a=>!Cs.existsSync(YT(n,a,e)));if(s.length>0)return ie("AGENTOS",`[SWAP] next/ incomplete for version ${e} \u2014 missing: ${s.join(", ")} \u2014 skipping`),{outcome:"skipped:incomplete",message:`next/ missing: ${s.join(", ")}`};ie("AGENTOS",`[SWAP] Promoting next/ (version ${e}) to active layout...`);try{Cs.renameSync(YT(n,"agentos-service",e),ku.join(r,`agentos-service-${e}.jar`)),ie("AGENTOS",`[SWAP] agentos-service-${e}.jar`),Cs.mkdirSync(i,{recursive:!0});for(let u of ip.filter(f=>f!=="agentos-service"))Cs.renameSync(YT(n,u,e),ku.join(i,`${u}-${e}.jar`)),ie("AGENTOS",`[SWAP] ${u}-${e}.jar`);Cs.rmSync(n,{recursive:!0,force:!0}),ie("AGENTOS","[SWAP] next/ removed");let a=new Set([`agentos-service-${e}.jar`]),o=new Set(ip.filter(u=>u!=="agentos-service").map(u=>`${u}-${e}.jar`)),c=tG(r,a)+tG(i,o);return c>0&&ie("AGENTOS",`[SWAP] Removed ${c} stale JAR(s) from previous version`),ie("AGENTOS",`[SWAP] Complete \u2014 AgentOS ${e} is now active`),{outcome:"swapped",message:`Promoted version ${e} from next/`,version:e}}catch(a){let o=a instanceof Error?a.message:String(a);return ie("AGENTOS",`[SWAP] Error during swap: ${o}`),{outcome:"error",message:o}}}async function k5t(t,e){if(e==="dev")return{outcome:"skipped:dev-version",message:"Version is 'dev' \u2014 nothing to pre-fetch"};let r=ku.join(t,"agentos","next");if(ip.every(i=>Cs.existsSync(YT(r,i,e))))return ie("AGENTOS",`[UPDATE] next/ already complete for version ${e} \u2014 skipping`),{outcome:"skipped:already-in-next",message:`next/ already complete for ${e}`};ie("AGENTOS",`[UPDATE] Pre-fetching version ${e} into next/ (background)...`);try{let{downloaded:i}=await A5t(r,e,"[UPDATE]");return ie("AGENTOS",`[UPDATE] Pre-fetch complete: ${i} JAR(s) ready in next/. Will activate on next Coday startup.`),{outcome:"success",message:`Pre-fetched ${i} JAR(s) to next/`,downloaded:i}}catch(i){let s=i instanceof Error?i.message:String(i);return ie("AGENTOS",`[UPDATE] Pre-fetch failed (non-fatal): ${s}`),{outcome:"error:download-failed",message:s}}}async function T5t(t,e,r){if(r.length===0)return ie("AGENTOS","[DOWNLOAD] All JARs already present at the expected version \u2014 skipping download"),{outcome:"skipped:all-present",message:"All JARs already present at the expected version"};if(e==="dev")return ie("AGENTOS","[DOWNLOAD] Version is 'dev' sentinel \u2014 no release to download from"),{outcome:"skipped:dev-version",message:"Version is 'dev' sentinel \u2014 no release URL available"};let n=ku.join(t,"agentos"),i=ku.join(n,"plugins");ie("AGENTOS",`[DOWNLOAD] Starting download of ${r.length} artifact(s) for version ${e}`),ie("AGENTOS",`[DOWNLOAD] Missing: ${r.join(", ")}`);try{await A5t(n,e,"[DOWNLOAD]")}catch(f){let d=f instanceof Error?f.message:String(f);return ie("AGENTOS",`[DOWNLOAD] Download failed: ${d}`),{outcome:"error:download-failed",message:d}}let s=new Set([`agentos-service-${e}.jar`]),a=new Set(ip.filter(f=>f!=="agentos-service").map(f=>`${f}-${e}.jar`));ie("AGENTOS","[DOWNLOAD] Running strict cleanup...");let o=tG(n,s),c=tG(i,a),u=o+c;return u>0?ie("AGENTOS",`[DOWNLOAD] Cleanup: removed ${u} stale file(s)`):ie("AGENTOS","[DOWNLOAD] Cleanup: no stale files found"),{outcome:"success",message:`Downloaded ${r.length} JAR(s), cleaned ${u} stale file(s)`,downloaded:r.length,cleaned:u}}import{spawn as EHr,execFileSync as AHr}from"child_process";import*as kx from"path";var q8e=25,P5t=2e3,B8e=6e4,CHr=1e4;function kHr(){let t=process.env.JAVA_HOME,e=t?kx.join(t,"bin","java"):"java";t&&ie("AGENTOS",`[RUNTIME] Using JAVA_HOME: ${t}`);try{let r=AHr(e,["--version"],{encoding:"utf8",stdio:["ignore","pipe","ignore"]}),n=r.match(/^\S+\s+(\d+)/);if(!n)return ie("AGENTOS",`[RUNTIME] java --version output could not be parsed: ${r.slice(0,200)}`),{available:!1};let i=parseInt(n[1]??"0",10),s=r.split(`
1841
1841
  `)[0]?.trim()??`Java ${i}`;return i<q8e?(ie("AGENTOS",`[RUNTIME] WARN: Java ${i} detected but >= ${q8e} is required by AgentOS toolchain. AgentOS will NOT be started. The proxy will return errors until a suitable JVM is installed.`),{available:!1,version:s}):(ie("AGENTOS",`[RUNTIME] Java ${i} detected \u2014 OK (${s})`),{available:!0,version:s})}catch{return ie("AGENTOS",`[RUNTIME] WARN: java binary not found (tried: ${t?kx.join(t,"bin","java"):"java in PATH"}). AgentOS will NOT be started. Set JAVA_HOME or ensure java >= ${q8e} is on PATH.`),{available:!1}}}async function THr(t){try{let e=`http://localhost:${t}/management/health`,r=new AbortController,n=setTimeout(()=>r.abort(),3e3),i;try{i=await fetch(e,{signal:r.signal})}finally{clearTimeout(n)}return i.ok}catch{return!1}}async function PHr(t){let e=`http://localhost:${t}/management/health`,r=Date.now()+B8e;for(;Date.now()<r;){try{let n=await fetch(e);if(n.ok)return ie("AGENTOS",`[RUNTIME] Health check passed on port ${t}`),!0;ie("AGENTOS",`[RUNTIME] Health check on port ${t} returned ${n.status}, retrying in ${P5t}ms...`)}catch{}await new Promise(n=>setTimeout(n,P5t))}return ie("AGENTOS",`[RUNTIME] Health check on port ${t} timed out after ${B8e/1e3} s`),!1}async function z8e(t,e,r){let n=await IT(r+1,10),i=await IT(n+1,10);if(ie("AGENTOS",`[RUNTIME] Selected port ${n} for AgentOS (Express is on ${r})`),ie("AGENTOS",`[RUNTIME] Selected port ${i} for Neo4j embedded Bolt`),await THr(n))return ie("AGENTOS",`[RUNTIME] An AgentOS instance is already responding at http://localhost:${n}. ADOPTING it \u2014 Coday did NOT start this process and will NOT stop it at shutdown. NOTE: it may be running an older version. If you observe unexpected behaviour, kill it manually and restart Coday.`),{port:n,spawned:!1,shutdown:async()=>{ie("AGENTOS","[RUNTIME] Adopted process \u2014 skipping shutdown")}};if(!kHr().available)return null;let o=kx.join(t,"agentos"),c=kx.join(o,`agentos-service-${e}.jar`),{existsSync:u}=await import("fs");if(!u(c))return ie("AGENTOS",`[RUNTIME] JAR not found at ${c} \u2014 skipping AgentOS startup`),null;ie("AGENTOS","[RUNTIME] Spawning AgentOS \u2014 config:"),ie("AGENTOS",`[RUNTIME] port: ${n}`),ie("AGENTOS",`[RUNTIME] JAR: ${c}`),ie("AGENTOS",`[RUNTIME] CWD: ${o}`),ie("AGENTOS",`[RUNTIME] JAVA_HOME: ${process.env.JAVA_HOME??"(not set, using PATH)"}`),ie("AGENTOS","[RUNTIME] encryption: NONE (plaintext \u2014 temporary)"),ie("AGENTOS",`[RUNTIME] OAuth redirect: http://localhost:${r}/agentos/oauth/callback`);let f=process.env.JAVA_HOME,d=f?kx.join(f,"bin","java"):"java",p=EHr(d,["-jar",c,`--server.port=${n}`],{cwd:o,env:{...process.env,AGENTOS_ENCRYPTION_KEY:process.env.AGENTOS_ENCRYPTION_KEY??"NONE",AGENTOS_ENCRYPTION_SALT:process.env.AGENTOS_ENCRYPTION_SALT??"NONE",AGENTOS_OAUTH_REDIRECT_URI:process.env.AGENTOS_OAUTH_REDIRECT_URI??`http://localhost:${r}/agentos/oauth/callback`,AGENTOS_PERSISTENCE_EMBEDDED_BOLT_PORT:process.env.AGENTOS_PERSISTENCE_EMBEDDED_BOLT_PORT??String(i),SPRING_NEO4J_URI:process.env.SPRING_NEO4J_URI??`bolt://localhost:${process.env.AGENTOS_PERSISTENCE_EMBEDDED_BOLT_PORT??i}`},stdio:["ignore","pipe","pipe"],detached:!1});p.stdout?.on("data",E=>{for(let C of E.toString().split(`
1842
1842
  `))C.trim()&&ie("AGENTOS",C.trim())}),p.stderr?.on("data",E=>{for(let C of E.toString().split(`