oh-my-agent 20.10.5 → 20.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli-main.js +2 -2
- package/package.json +1 -1
package/bin/cli-main.js
CHANGED
|
@@ -24,7 +24,7 @@ Expecting one of '${r.join("', '")}'`);if(this._lifeCycleHooks[e])this._lifeCycl
|
|
|
24
24
|
`),this.outputHelp({error:!0});let r=t||{},n=r.exitCode||1,i=r.code||"commander.error";this._exit(n,i,e)}_parseOptionsEnv(){this.options.forEach((e)=>{if(e.envVar&&e.envVar in Lr.env){let t=e.attributeName();if(this.getOptionValue(t)===void 0||["default","config","env"].includes(this.getOptionValueSource(t)))if(e.required||e.optional)this.emit(`optionEnv:${e.name()}`,Lr.env[e.envVar]);else this.emit(`optionEnv:${e.name()}`)}})}_parseOptionsImplied(){let e=new Eq(this.options),t=(r)=>this.getOptionValue(r)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(r));this.options.filter((r)=>r.implied!==void 0&&t(r.attributeName())&&e.valueFromOption(this.getOptionValue(r.attributeName()),r)).forEach((r)=>{Object.keys(r.implied).filter((n)=>!t(n)).forEach((n)=>{this.setOptionValueWithSource(n,r.implied[n],"implied")})})}missingArgument(e){let t=`error: missing required argument '${e}'`;this.error(t,{code:"commander.missingArgument"})}optionMissingArgument(e){let t=`error: option '${e.flags}' argument missing`;this.error(t,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(e){let t=`error: required option '${e.flags}' not specified`;this.error(t,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(e,t){let r=(o)=>{let s=o.attributeName(),a=this.getOptionValue(s),c=this.options.find((u)=>u.negate&&s===u.attributeName()),l=this.options.find((u)=>!u.negate&&s===u.attributeName());if(c&&(c.presetArg===void 0&&a===!1||c.presetArg!==void 0&&a===c.presetArg))return c;return l||o},n=(o)=>{let s=r(o),a=s.attributeName();if(this.getOptionValueSource(a)==="env")return`environment variable '${s.envVar}'`;return`option '${s.flags}'`},i=`error: ${n(e)} cannot be used with ${n(t)}`;this.error(i,{code:"commander.conflictingOption"})}unknownOption(e){if(this._allowUnknownOption)return;let t="";if(e.startsWith("--")&&this._showSuggestionAfterError){let n=[],i=this;do{let o=i.createHelp().visibleOptions(i).filter((s)=>s.long).map((s)=>s.long);n=n.concat(o),i=i.parent}while(i&&!i._enablePositionalOptions);t=Cq(e,n)}let r=`error: unknown option '${e}'${t}`;this.error(r,{code:"commander.unknownOption"})}_excessArguments(e){if(this._allowExcessArguments)return;let t=this.registeredArguments.length,r=t===1?"":"s",n=e.length,i=this.parent?` for '${this.name()}'`:"",o=e.join(", "),s=`error: too many arguments${i}. Expected ${t} argument${r} but got ${n}: ${o}.`;this.error(s,{code:"commander.excessArguments"})}unknownCommand(){let e=this.args[0],t="";if(this._showSuggestionAfterError){let n=[];this.createHelp().visibleCommands(this).forEach((i)=>{if(n.push(i.name()),i.alias())n.push(i.alias())}),t=Cq(e,n)}let r=`error: unknown command '${e}'${t}`;this.error(r,{code:"commander.unknownCommand"})}version(e,t,r){if(e===void 0)return this._version;this._version=e,t=t||"-V, --version",r=r||"output the version number";let n=this.createOption(t,r);return this._versionOptionName=n.attributeName(),this._registerOption(n),this.on("option:"+n.name(),()=>{this._outputConfiguration.writeOut(`${e}
|
|
25
25
|
`),this._exit(0,"commander.version",e)}),this}description(e,t){if(e===void 0&&t===void 0)return this._description;if(this._description=e,t)this._argsDescription=t;return this}summary(e){if(e===void 0)return this._summary;return this._summary=e,this}alias(e){if(e===void 0)return this._aliases[0];let t=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)t=this.commands[this.commands.length-1];if(e===t._name)throw Error("Command alias can't be the same as its name");let r=this.parent?._findCommand(e);if(r){let n=[r.name()].concat(r.aliases()).join("|");throw Error(`cannot add alias '${e}' to command '${this.name()}' as already have command '${n}'`)}return t._aliases.push(e),this}aliases(e){if(e===void 0)return this._aliases;return e.forEach((t)=>this.alias(t)),this}usage(e){if(e===void 0){if(this._usage)return this._usage;let t=this.registeredArguments.map((r)=>bT(r));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?t:[]).join(" ")}return this._usage=e,this}name(e){if(e===void 0)return this._name;return this._name=e,this}helpGroup(e){if(e===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=e,this}commandsGroup(e){if(e===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=e,this}optionsGroup(e){if(e===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=e,this}_initOptionGroup(e){if(this._defaultOptionGroup&&!e.helpGroupHeading)e.helpGroup(this._defaultOptionGroup)}_initCommandGroup(e){if(this._defaultCommandGroup&&!e.helpGroup())e.helpGroup(this._defaultCommandGroup)}nameFromFilename(e){return this._name=_4.basename(e,_4.extname(e)),this}executableDir(e){if(e===void 0)return this._executableDir;return this._executableDir=e,this}helpInformation(e){let t=this.createHelp(),r=this._getOutputContext(e);t.prepareContext({error:r.error,helpWidth:r.helpWidth,outputHasColors:r.hasColors});let n=t.formatHelp(this,t);if(r.hasColors)return n;return this._outputConfiguration.stripColor(n)}_getOutputContext(e){e=e||{};let t=!!e.error,r,n,i;if(t)r=(s)=>this._outputConfiguration.writeErr(s),n=this._outputConfiguration.getErrHasColors(),i=this._outputConfiguration.getErrHelpWidth();else r=(s)=>this._outputConfiguration.writeOut(s),n=this._outputConfiguration.getOutHasColors(),i=this._outputConfiguration.getOutHelpWidth();return{error:t,write:(s)=>{if(!n)s=this._outputConfiguration.stripColor(s);return r(s)},hasColors:n,helpWidth:i}}outputHelp(e){let t;if(typeof e==="function")t=e,e=void 0;let r=this._getOutputContext(e),n={error:r.error,write:r.write,command:this};this._getCommandAndAncestors().reverse().forEach((o)=>o.emit("beforeAllHelp",n)),this.emit("beforeHelp",n);let i=this.helpInformation({error:r.error});if(t){if(i=t(i),typeof i!=="string"&&!Buffer.isBuffer(i))throw Error("outputHelp callback must return a string or a Buffer")}if(r.write(i),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",n),this._getCommandAndAncestors().forEach((o)=>o.emit("afterAllHelp",n))}helpOption(e,t){if(typeof e==="boolean"){if(e){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(e??"-h, --help",t??"display help for command"),e||t)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(e){return this._helpOption=e,this._initOptionGroup(e),this}help(e){this.outputHelp(e);let t=Number(Lr.exitCode??0);if(t===0&&e&&typeof e!=="function"&&e.error)t=1;this._exit(t,"commander.help","(outputHelp)")}addHelpText(e,t){let r=["beforeAll","before","after","afterAll"];if(!r.includes(e))throw Error(`Unexpected value for position to addHelpText.
|
|
26
26
|
Expecting one of '${r.join("', '")}'`);let n=`${e}Help`;return this.on(n,(i)=>{let o;if(typeof t==="function")o=t({error:i.error,command:i.command});else o=t;if(o)i.write(`${o}
|
|
27
|
-
`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();if(t&&e.find((n)=>t.is(n)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}});var VZr;var Mm=v(()=>{kT();$6e();Ib();Sq();$q();VZr=new qu});var T4;var Ob=v(()=>{T4={name:"oh-my-agent",version:"20.10.5",description:"A specialist team for the coding agent you already use: 12 roles, 21 workflows and 33 skills that plan, build in parallel, review and debug, leaving plans, ADRs and results as files. Gates wait for your own tests. Also research, slides and video. One .agents/ folder for Claude Code, Codex, Cursor and 11 more.",type:"module",bin:{"oh-my-agent":"./bin/cli.js",oma:"./bin/cli.js"},files:["bin","assets/serena"],keywords:["oh-my-agent","antigravity",".agents","agent","skills","agent-skills","multi-agent","orchestrator","claude","claude-code","codex","opencode","copilot","cursor","chatgpt","pm","frontend","backend","mobile","qa","debug","terraform","database","workflow","bug-fixing"],author:"our.first.fluke <our.first.fluke@gmail.com>",contributors:["gracefullight <gracefullight.dev@gmail.com>","gahyun-git <go4it.gh@gmail.com>"],license:"MIT",funding:[{type:"github",url:"https://github.com/sponsors/first-fluke"},{type:"buymeacoffee",url:"https://buymeacoffee.com/firstfluke"}],scripts:{"sync:readme":"node ./scripts/sync-readme.mjs","generate:skill-data":"node ./scripts/generate-skill-data.mjs",build:"bun run generate:skill-data && bun run sync:readme && bun build cli.ts --outfile bin/cli-main.js --target node --minify --external @napi-rs/keyring --external jsonc-parser && node ./scripts/write-bin-entry.mjs && bun run check:bundle",dev:"bun run generate:skill-data && bun run cli.ts",lint:"biome check .","lint:fix":"biome check --write --unsafe .","check:boundaries":"node ./scripts/check-boundaries.mjs","check:bundle":"node ./scripts/check-bundle.mjs","check:emit-drift":"node ./scripts/check-emit-drift.mjs",test:"vitest run","test:coverage":"vitest run --coverage",prepublishOnly:"bun run build"},dependencies:{"@clack/prompts":"^1.7.0","@dagrejs/dagre":"^3.1.1","@date-fns/tz":"^1.5.0","@napi-rs/keyring":"^1.3.0",axios:"^1.18.1","better-sqlite3":"^13.0.2",chokidar:"^5.0.0",commander:"^15.0.0","date-fns":"^4.4.0",eld:"^2.0.3","fast-xml-parser":"^5.10.1","jsonc-parser":"^3.3.1",minimatch:"^10.2.6","p-map":"^7.0.6",picocolors:"^1.1.1","puppeteer-core":"^25.4.0",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1","remark-parse":"^11.0.0","smol-toml":"^1.7.1",unified:"^11.0.5",ws:"^8.21.1",yaml:"^2.9.0",zod:"^4.4.3"},optionalDependencies:{pptxgenjs:"^4.0.1"},devDependencies:{"@babel/parser":"7.29.3","@biomejs/biome":"^2.5.6","@types/better-sqlite3":"^7.6.13","@types/mdast":"^4.0.4","@types/node":"^26.1.2","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.1.10",typescript:"^7.0.2",vitest:"^4.1.10"},repository:{type:"git",url:"https://github.com/first-fluke/oh-my-agent"},homepage:"https://firstfluke.com/oh-my-agent",bugs:{url:"https://github.com/first-fluke/oh-my-agent/issues"},antigravity:{skillsPath:".agents/skills",skills:["oma-architecture","oma-brainstorm","oma-coordination","oma-pm","oma-frontend","oma-backend","oma-db","oma-mobile","oma-qa","oma-debug","oma-orchestration","oma-dev-workflow","oma-tf-infra","oma-scm","oma-pdf","oma-recap"]}}});import{homedir as C6e}from"node:os";import{isAbsolute as UAt,join as HAt,resolve as GAt}from"node:path";function _6e(e,t){let r=Array.from(e).some((n)=>{let i=n.charCodeAt(0);return i<32||i===127});if(!UAt(e)||r)throw Error(`${t} must be an absolute path without control characters`);return GAt(e)}function Jr(e=process.env,t=C6e()){return _6e(e.OMA_HOME||HAt(t,".oma"),"OMA_HOME")}function xs(e=process.env,t=C6e()){return e.OMA_STATE_HOME===void 0?Jr(e,t):_6e(e.OMA_STATE_HOME,"OMA_STATE_HOME")}var AT=()=>{};import{homedir as WAt}from"node:os";import{join as Mb}from"node:path";function gc(e=process.env,t=WAt()){let r=Jr(e,t),n=Mb(r,"state");return{home:r,definitions:Mb(r,".agents"),state:n,serena:Mb(n,"serena"),schedule:Mb(r,"schedule"),backup:Mb(r,"backup")}}var pi=v(()=>{AT();AT()});import*as Ku from"node:fs";import{homedir as VAt}from"node:os";import*as Tl from"node:path";function R6e(e){if(ST)throw Error("install context already set in this process");ST=e}function P6e(){if(ST===null)throw Error("install context not set — entry point must call setInstallContext()");return ST}function R4(){return P6e().installRoot}function fi(){return P6e().mode}function wt(){try{return fi()}catch{return"project"}}function Ng(){try{return R4()}catch{return process.cwd()}}function ET(e,t,r=VAt()){return t==="project"&&Tl.resolve(e)===Tl.resolve(r)}function I6e(e){if(e.global===!0||process.env.OMA_INSTALL_GLOBAL==="1"){let r=Jr();return qAt(r),{installRoot:r,mode:"global"}}return{installRoot:process.cwd(),mode:"project"}}function qAt(e){if(!Tl.isAbsolute(e))throw Error("OMA_HOME must be absolute path");for(let n of T6e)if(e===n||e.startsWith(n+Tl.sep))throw Error(`OMA_HOME=${e} is forbidden (system path ${n})`);let t,r=Tl.resolve(e);try{while(!Ku.existsSync(r)){let n=Tl.dirname(r);if(n===r)break;r=n}if(t=Ku.realpathSync(r),!Ku.statSync(t).isDirectory())throw Error("nearest existing ancestor is not a directory")}catch(n){let i=n instanceof Error?n.message:String(n);throw Error(`OMA_HOME=${e}: ${i}`)}for(let n of T6e)if(t===n||t.startsWith(n+Tl.sep))throw Error(`OMA_HOME=${e} is forbidden (system path ${n})`);try{Ku.accessSync(t,Ku.constants.W_OK)}catch{throw Error(`OMA_HOME=${e} is not writable`)}}var ST=null,T6e;var mi=v(()=>{pi();T6e=["/etc","/usr","/bin","/boot","/sys","/proc"]});import{join as QAt}from"node:path";function jm(e){return e.endsWith("/")?e:`${e}/`}function h2(e,t){let r=t.split("/").filter((n)=>n.length>0);return QAt(e,...r)}var lr=".agents",Dm,On,jp,dQr,pQr,fQr,eSt=".antigravitycli",M6e,tSt=".migration-backup",rSt="docs/plans",nSt=".qwen/tmp",iSt,oSt,sSt,aSt,cSt,lSt,uSt,Tq;var Yr=v(()=>{Dm=`${lr}/skills`,On=`${lr}/results`,jp=`${lr}/state`,dQr=`${jp}/sessions`,pQr=`${jp}/retry`,fQr=`${jp}/archive`,M6e=`${lr}/backup`;iSt=jm(On),oSt=jm(jp),sSt=jm(eSt),aSt=jm(M6e),cSt=jm(tSt),lSt=jm(rSt),uSt=jm(nSt),Tq=[".agents/oma-config.local.cue",".agents/oma-config.local.yaml",sSt,iSt,oSt,aSt,lSt,cSt,uSt]});var cn="first-fluke/oh-my-agent",qt,Rl,Rq,dSt,pSt,P4,Zn;var g2=v(()=>{Yr();qt=Dm,Rl=["antigravity","claude","codex","commandcode","cursor","grok","kimi","kiro","qwen"],Rq=["pi","opencode"],dSt=["copilot","hermes"],pSt=["zcode"],P4=[...Rl,...Rq,...dSt,...pSt].sort(),Zn={antigravity:{projectPath:".gemini/antigravity-cli/skills",homePath:".gemini/antigravity-cli/skills",requiresHomeConsent:!0},claude:{projectPath:".claude/skills",homePath:".claude/skills"},codex:{projectPath:".codex/skills",homePath:".codex/skills"},commandcode:{projectPath:".commandcode/skills",homePath:".commandcode/skills",optIn:!0},copilot:{projectPath:".github/skills",homePath:".copilot/skills"},cursor:{projectPath:".cursor/skills",homePath:".cursor/skills"},hermes:{projectPath:".hermes/skills/oma",homePath:".hermes/skills/oma",requiresHomeConsent:!0},kimi:{projectPath:".kimi-code/skills",homePath:".kimi-code/skills",requiresHomeConsent:!0,optIn:!0},kiro:{projectPath:".kiro/skills",homePath:".kiro/skills",optIn:!0},opencode:{projectPath:".opencode/skills",homePath:".opencode/skills"},qwen:{projectPath:".qwen/skills",homePath:".qwen/skills"}}});function de(e,t="Output as JSON"){return e.option("--json",t).option("--output <format>","Output format (text/json)",(r)=>{let n=r.trim().toLowerCase();if(!Db.includes(n))throw Error(`Invalid output format: ${r}. Expected one of ${Db.join(", ")}`);return n})}function fSt(e){if(e?.json)return"json";let t=e?.output?.trim().toLowerCase();if(t&&Db.includes(t))return t;if(process.env[L6e]?.trim().toLowerCase()==="json")return"json";return"text"}function pe(e){return fSt(e)==="json"}function N6e(e){let t=e.at(-1);return t instanceof qu?t:null}function mSt(e){let t=N6e(e);if(t)return t.opts();let r=e.at(-1);return r&&typeof r==="object"?r:{}}function hSt(e){if(e instanceof Error)return e.message;return String(e)}function Lp(e){throw Error(e)}function Iq(e,t){for(let r of e){let n=r.charCodeAt(0);if(n>=0&&n<=31||n===127)Lp(`${t} must not contain control characters`)}}function gSt(e,t){if(Iq(e,t),/[?#%]/.test(e))Lp(`${t} must not contain ?, #, or %`);if(e.includes(".."))Lp(`${t} must not contain '..'`)}function ySt(e,t){Iq(e,t);try{new URL(e)}catch{Lp(`${t} must be a valid absolute URL`)}}function Pq(e,t,r="text"){if(typeof e==="string"){if(r==="identifier"){gSt(e,t);return}if(r==="url"){ySt(e,t);return}Iq(e,t);return}if(Array.isArray(e))for(let[n,i]of e.entries())Pq(i,`${t}[${n}]`,r)}function j6e(e){let t=e.toLowerCase();if(t==="url"||t.endsWith("url"))return"url";if(t.includes("id")||t.includes("type")||t.includes("vendor")||t.includes("session"))return"identifier";return"text"}function vSt(e){let t=e.vendor;if(typeof t==="string"){if(t.split(",").map((o)=>o.trim()).filter(Boolean).filter((o)=>!P4.includes(o)).length>0)Lp(`vendor must be one of ${P4.join(", ")}`)}let r=e.output;if(typeof r==="string"&&!Db.includes(r))Lp(`output must be one of ${Db.join(", ")}`)}function bSt(e){let t=e.processedArgs??e.args??[];(e.registeredArguments??[]).forEach((i,o)=>{let s=i.name?.()||String(o),a=t[o];if(Pq(a,s,j6e(s)),s==="agent-type"&&typeof a==="string"&&!D6e.includes(a))Lp(`agent-type must be one of ${D6e.join(", ")}`)});let n=e.opts();vSt(n);for(let[i,o]of Object.entries(n))Pq(o,i,j6e(i))}function kSt(e){return(e.registeredArguments??[]).map((t)=>({name:t.name?.()||"",required:!!t.required,variadic:!!t.variadic}))}function wSt(e){return e.options.map((t)=>({flags:t.flags,long:t.long||void 0,short:t.short||void 0,description:t.description||"",required:!!t.required||!!t.mandatory,optional:!!t.optional,defaultValue:t.defaultValue}))}function F6e(e){let t=[],r=e;while(r?.parent)t.unshift(r.name()),r=r.parent;return t.join(" ")}function xSt(e){return e.options.some((t)=>t.long==="--json"||t.long==="--output")}function ASt(e){return e.options.some((t)=>t.long==="--dry-run")}function z6e(e){return{name:e.name(),path:F6e(e),summary:e.summary()||void 0,description:e.description(),arguments:kSt(e),options:wSt(e),supportsJsonOutput:xSt(e),supportsDryRun:ASt(e),subcommands:e.commands.filter((t)=>!t._hidden).map((t)=>z6e(t))}}function SSt(e,t){if(!t?.trim())return e;let r=t.trim(),n=[...e.commands];while(n.length>0){let i=n.shift();if(!i)continue;if(i.name()===r||F6e(i)===r)return i;n.push(...i.commands)}return null}function B6e(e,t){let r=SSt(e,t);if(!r)Lp(`Unknown command: ${t}`);let n={name:e.name(),version:e.version(),description:e.description(),env:{[L6e]:"Set to json to force machine-readable output on commands that support it."},command:z6e(r)};console.log(JSON.stringify(n,null,2))}function Y(e,t={}){return async(...r)=>{let n=N6e(r);if(n&&r.length>=2)r[r.length-2]=n.optsWithGlobals();let i=mSt(r);try{if(n)bSt(n);await e(...r)}catch(o){let s=hSt(o);if(t.supportsJsonOutput&&pe(i))console.log(JSON.stringify({error:s},null,2));else console.error(s);process.exitCode=1}}}var L6e="OH_MY_AG_OUTPUT_FORMAT",Db,D6e;var Et=v(()=>{Mm();g2();Db=["text","json"],D6e=["backend","frontend","mobile","qa","debug","pm"]});function ne(e,t,r){function n(a,c){if(!a._zod)Object.defineProperty(a,"_zod",{value:{def:c,constr:s,traits:new Set},enumerable:!1});if(a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,c);let l=s.prototype,u=Object.keys(l);for(let d=0;d<u.length;d++){let p=u[d];if(!(p in a))a[p]=l[p].bind(a)}}let i=r?.Parent??Object;class o extends i{}Object.defineProperty(o,"name",{value:e});function s(a){var c;let l=r?.Parent?new o:this;n(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:(a)=>{if(r?.Parent&&a instanceof r.Parent)return!0;return a?._zod?.traits?.has(e)}}),Object.defineProperty(s,"name",{value:e}),s}function y2(e){if(e)Object.assign(Fg,e);return Fg}var U6e,kQr,I4,jb,Fg;var Lm=v(()=>{kQr=Symbol("zod_brand");I4=class I4 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};jb=class jb extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}};(U6e=globalThis).__zod_globalConfig??(U6e.__zod_globalConfig={});Fg=globalThis.__zod_globalConfig});function CT(e){let t=Object.values(e).filter((n)=>typeof n==="number");return Object.entries(e).filter(([n,i])=>t.indexOf(+n)===-1).map(([n,i])=>i)}function Mq(e,t="|"){return e.map((r)=>Nq(r)).join(t)}function Nb(e,t){if(typeof t==="bigint")return t.toString();return t}function _T(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw Error("cached value already set")}}}function TT(e){return e===null||e===void 0}function RT(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function G6e(e,t){let r=e/t,n=Math.round(r),i=Number.EPSILON*Math.max(Math.abs(r),1);if(Math.abs(r-n)<i)return 0;return r-n}function hr(e,t,r){let n=void 0;Object.defineProperty(e,t,{get(){if(n===H6e)return;if(n===void 0)n=H6e,n=r();return n},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function Nm(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Np(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function Dq(e){return JSON.stringify(e)}function W6e(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Lb(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Fm(e){if(Lb(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let r=t.prototype;if(Lb(r)===!1)return!1;if(Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)return!1;return!0}function Lq(e){if(Fm(e))return{...e};if(Array.isArray(e))return[...e];if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);return e}function Fp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ju(e,t,r){let n=new e._zod.constr(t??e._zod.def);if(!t||r?.parent)n._zod.parent=e;return n}function Ge(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function Nq(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function K6e(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}function ESt(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let o=Np(e._zod.def,{get shape(){let s={};for(let a in t){if(!(a in r.shape))throw Error(`Unrecognized key: "${a}"`);if(!t[a])continue;s[a]=r.shape[a]}return Nm(this,"shape",s),s},checks:[]});return Ju(e,o)}function $St(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let o=Np(e._zod.def,{get shape(){let s={...e._zod.def.shape};for(let a in t){if(!(a in r.shape))throw Error(`Unrecognized key: "${a}"`);if(!t[a])continue;delete s[a]}return Nm(this,"shape",s),s},checks:[]});return Ju(e,o)}function CSt(e,t){if(!Fm(t))throw Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let o=e._zod.def.shape;for(let s in t)if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let i=Np(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return Nm(this,"shape",o),o}});return Ju(e,i)}function _St(e,t){if(!Fm(t))throw Error("Invalid input to safeExtend: expected a plain object");let r=Np(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Nm(this,"shape",n),n}});return Ju(e,r)}function TSt(e,t){if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=Np(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Nm(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return Ju(e,r)}function RSt(e,t,r){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let s=Np(t._zod.def,{get shape(){let a=t._zod.def.shape,c={...a};if(r)for(let l in r){if(!(l in a))throw Error(`Unrecognized key: "${l}"`);if(!r[l])continue;c[l]=e?new e({type:"optional",innerType:a[l]}):a[l]}else for(let l in a)c[l]=e?new e({type:"optional",innerType:a[l]}):a[l];return Nm(this,"shape",c),c},checks:[]});return Ju(t,s)}function PSt(e,t,r){let n=Np(t._zod.def,{get shape(){let i=t._zod.def.shape,o={...i};if(r)for(let s in r){if(!(s in o))throw Error(`Unrecognized key: "${s}"`);if(!r[s])continue;o[s]=new e({type:"nonoptional",innerType:i[s]})}else for(let s in i)o[s]=new e({type:"nonoptional",innerType:i[s]});return Nm(this,"shape",o),o}});return Ju(t,n)}function zm(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Y6e(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function zp(e,t){return t.map((r)=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function $T(e){return typeof e==="string"?e:e?.message}function Pl(e,t,r){let n=e.message?e.message:$T(e.inst?._zod.def?.error?.(e))??$T(t?.error?.(e))??$T(r.customError?.(e))??$T(r.localeError?.(e))??"Invalid input",{inst:i,continue:o,input:s,...a}=e;if(a.path??(a.path=[]),a.message=n,t?.reportInput)a.input=s;return a}function PT(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function X6e(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function Bm(...e){let[t,r,n]=e;if(typeof t==="string")return{message:t,code:"custom",input:r,inst:n};return{...t}}var H6e,jq,V6e,q6e,J6e;var Il=v(()=>{Lm();H6e=Symbol("evaluating");jq="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};V6e=_T(()=>{if(Fg.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});q6e=new Set(["string","number","symbol"]);J6e={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]}});function Q6e(e,t=(r)=>r.message){let r={},n=[];for(let i of e.issues)if(i.path.length>0)r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(t(i));else n.push(t(i));return{formErrors:n,fieldErrors:r}}function e9e(e,t=(r)=>r.message){let r={_errors:[]},n=(i,o=[])=>{for(let s of i.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map((a)=>n({issues:a},[...o,...s.path]));else if(s.code==="invalid_key")n({issues:s.issues},[...o,...s.path]);else if(s.code==="invalid_element")n({issues:s.issues},[...o,...s.path]);else{let a=[...o,...s.path];if(a.length===0)r._errors.push(t(s));else{let c=r,l=0;while(l<a.length){let u=a[l];if(l!==a.length-1)c[u]=c[u]||{_errors:[]};else c[u]=c[u]||{_errors:[]},c[u]._errors.push(t(s));c=c[u],l++}}}};return n(e),r}var Z6e=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Nb,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},IT,Fq;var zq=v(()=>{Lm();Il();IT=ne("$ZodError",Z6e),Fq=ne("$ZodError",Z6e,{Parent:Error})});var OT=(e)=>(t,r,n,i)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new I4;if(s.issues.length){let a=new(i?.Err??e)(s.issues.map((c)=>Pl(c,o,y2())));throw jq(a,i?.callee),a}return s.value},MT=(e)=>async(t,r,n,i)=>{let o=n?{...n,async:!0}:{async:!0},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)s=await s;if(s.issues.length){let a=new(i?.Err??e)(s.issues.map((c)=>Pl(c,o,y2())));throw jq(a,i?.callee),a}return s.value},Fb=(e)=>(t,r,n)=>{let i=n?{...n,async:!1}:{async:!1},o=t._zod.run({value:r,issues:[]},i);if(o instanceof Promise)throw new I4;return o.issues.length?{success:!1,error:new(e??IT)(o.issues.map((s)=>Pl(s,i,y2())))}:{success:!0,data:o.value}},t9e,zb=(e)=>async(t,r,n)=>{let i=n?{...n,async:!0}:{async:!0},o=t._zod.run({value:r,issues:[]},i);if(o instanceof Promise)o=await o;return o.issues.length?{success:!1,error:new e(o.issues.map((s)=>Pl(s,i,y2())))}:{success:!0,data:o.value}},r9e,n9e=(e)=>(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return OT(e)(t,r,i)},i9e=(e)=>(t,r,n)=>OT(e)(t,r,n),o9e=(e)=>async(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return MT(e)(t,r,i)},s9e=(e)=>async(t,r,n)=>MT(e)(t,r,n),a9e=(e)=>(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return Fb(e)(t,r,i)},c9e=(e)=>(t,r,n)=>Fb(e)(t,r,n),l9e=(e)=>async(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return zb(e)(t,r,i)},u9e=(e)=>async(t,r,n)=>zb(e)(t,r,n);var Bq=v(()=>{Lm();zq();Il();t9e=Fb(Fq),r9e=zb(Fq)});function k9e(){return new RegExp(OSt,"u")}function R9e(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function P9e(e){return new RegExp(`^${R9e(e)}$`)}function I9e(e){let t=R9e({precision:e.precision}),r=["Z"];if(e.local)r.push("");if(e.offset)r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${_9e}T(?:${n})$`)}var d9e,p9e,f9e,m9e,h9e,g9e,y9e,v9e,Uq=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},b9e,OSt="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",w9e,x9e,A9e,S9e,E9e,Hq,$9e,C9e,_9e="(?:(?:\\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])))",T9e,O9e=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},M9e,Gq,D9e,j9e,L9e,N9e;var jT=v(()=>{d9e=/^[cC][0-9a-z]{6,}$/,p9e=/^[0-9a-z]+$/,f9e=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,m9e=/^[0-9a-vA-V]{20}$/,h9e=/^[A-Za-z0-9]{27}$/,g9e=/^[a-zA-Z0-9_-]{21}$/,y9e=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,v9e=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,b9e=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;w9e=/^(?:(?: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])$/,x9e=/^(([0-9a-fA-F]{1,4}:){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}|:))$/,A9e=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,S9e=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,E9e=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Hq=/^[A-Za-z0-9_-]*$/,$9e=/^https?$/,C9e=/^\+[1-9]\d{6,14}$/,T9e=new RegExp(`^${_9e}$`);M9e=/^-?\d+$/,Gq=/^-?\d+(?:\.\d+)?$/,D9e=/^(?:true|false)$/i,j9e=/^null$/i,L9e=/^[^A-Z]*$/,N9e=/^[^a-z]*$/});var Yo,F9e,Wq,Vq,z9e,B9e,U9e,H9e,G9e,Bb,W9e,V9e,q9e,K9e,J9e,Y9e,X9e;var LT=v(()=>{Lm();jT();Il();Yo=ne("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),F9e={number:"number",bigint:"bigint",object:"date"},Wq=ne("$ZodCheckLessThan",(e,t)=>{Yo.init(e,t);let r=F9e[typeof t.value];e._zod.onattach.push((n)=>{let i=n._zod.bag,o=(t.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<o)if(t.inclusive)i.maximum=t.value;else i.exclusiveMaximum=t.value}),e._zod.check=(n)=>{if(t.inclusive?n.value<=t.value:n.value<t.value)return;n.issues.push({origin:r,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Vq=ne("$ZodCheckGreaterThan",(e,t)=>{Yo.init(e,t);let r=F9e[typeof t.value];e._zod.onattach.push((n)=>{let i=n._zod.bag,o=(t.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>o)if(t.inclusive)i.minimum=t.value;else i.exclusiveMinimum=t.value}),e._zod.check=(n)=>{if(t.inclusive?n.value>=t.value:n.value>t.value)return;n.issues.push({origin:r,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),z9e=ne("$ZodCheckMultipleOf",(e,t)=>{Yo.init(e,t),e._zod.onattach.push((r)=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=(r)=>{if(typeof r.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof r.value==="bigint"?r.value%t.value===BigInt(0):G6e(r.value,t.value)===0)return;r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),B9e=ne("$ZodCheckNumberFormat",(e,t)=>{Yo.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[i,o]=J6e[t.format];e._zod.onattach.push((s)=>{let a=s._zod.bag;if(a.format=t.format,a.minimum=i,a.maximum=o,r)a.pattern=M9e}),e._zod.check=(s)=>{let a=s.value;if(r){if(!Number.isInteger(a)){s.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){if(a>0)s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});else s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}if(a<i)s.issues.push({origin:"number",input:a,code:"too_small",minimum:i,inclusive:!0,inst:e,continue:!t.abort});if(a>o)s.issues.push({origin:"number",input:a,code:"too_big",maximum:o,inclusive:!0,inst:e,continue:!t.abort})}}),U9e=ne("$ZodCheckMaxLength",(e,t)=>{var r;Yo.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!TT(i)&&i.length!==void 0}),e._zod.onattach.push((n)=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<i)n._zod.bag.maximum=t.maximum}),e._zod.check=(n)=>{let i=n.value;if(i.length<=t.maximum)return;let s=PT(i);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),H9e=ne("$ZodCheckMinLength",(e,t)=>{var r;Yo.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!TT(i)&&i.length!==void 0}),e._zod.onattach.push((n)=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>i)n._zod.bag.minimum=t.minimum}),e._zod.check=(n)=>{let i=n.value;if(i.length>=t.minimum)return;let s=PT(i);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),G9e=ne("$ZodCheckLengthEquals",(e,t)=>{var r;Yo.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!TT(i)&&i.length!==void 0}),e._zod.onattach.push((n)=>{let i=n._zod.bag;i.minimum=t.length,i.maximum=t.length,i.length=t.length}),e._zod.check=(n)=>{let i=n.value,o=i.length;if(o===t.length)return;let s=PT(i),a=o>t.length;n.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Bb=ne("$ZodCheckStringFormat",(e,t)=>{var r,n;if(Yo.init(e,t),e._zod.onattach.push((i)=>{let o=i._zod.bag;if(o.format=t.format,t.pattern)o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern)}),t.pattern)(r=e._zod).check??(r.check=(i)=>{if(t.pattern.lastIndex=0,t.pattern.test(i.value))return;i.issues.push({origin:"string",code:"invalid_format",format:t.format,input:i.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(n=e._zod).check??(n.check=()=>{})}),W9e=ne("$ZodCheckRegex",(e,t)=>{Bb.init(e,t),e._zod.check=(r)=>{if(t.pattern.lastIndex=0,t.pattern.test(r.value))return;r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),V9e=ne("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=L9e),Bb.init(e,t)}),q9e=ne("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=N9e),Bb.init(e,t)}),K9e=ne("$ZodCheckIncludes",(e,t)=>{Yo.init(e,t);let r=Fp(t.includes),n=new RegExp(typeof t.position==="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push((i)=>{let o=i._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(i)=>{if(i.value.includes(t.includes,t.position))return;i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:i.value,inst:e,continue:!t.abort})}}),J9e=ne("$ZodCheckStartsWith",(e,t)=>{Yo.init(e,t);let r=new RegExp(`^${Fp(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push((n)=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=(n)=>{if(n.value.startsWith(t.prefix))return;n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Y9e=ne("$ZodCheckEndsWith",(e,t)=>{Yo.init(e,t);let r=new RegExp(`.*${Fp(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push((n)=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=(n)=>{if(n.value.endsWith(t.suffix))return;n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),X9e=ne("$ZodCheckOverwrite",(e,t)=>{Yo.init(e,t),e._zod.check=(r)=>{r.value=t.tx(r.value)}})});class qq{constructor(e=[]){if(this.content=[],this.indent=0,this)this.args=e}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let r=e.split(`
|
|
27
|
+
`)}),this}_outputHelpIfRequested(e){let t=this._getHelpOption();if(t&&e.find((n)=>t.is(n)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}});var VZr;var Mm=v(()=>{kT();$6e();Ib();Sq();$q();VZr=new qu});var T4;var Ob=v(()=>{T4={name:"oh-my-agent",version:"20.11.1",description:"A specialist team for the coding agent you already use: 12 roles, 21 workflows and 33 skills that plan, build in parallel, review and debug, leaving plans, ADRs and results as files. Gates wait for your own tests. Also research, slides and video. One .agents/ folder for Claude Code, Codex, Cursor and 11 more.",type:"module",bin:{"oh-my-agent":"./bin/cli.js",oma:"./bin/cli.js"},files:["bin","assets/serena"],keywords:["oh-my-agent","antigravity",".agents","agent","skills","agent-skills","multi-agent","orchestrator","claude","claude-code","codex","opencode","copilot","cursor","chatgpt","pm","frontend","backend","mobile","qa","debug","terraform","database","workflow","bug-fixing"],author:"our.first.fluke <our.first.fluke@gmail.com>",contributors:["gracefullight <gracefullight.dev@gmail.com>","gahyun-git <go4it.gh@gmail.com>"],license:"MIT",funding:[{type:"github",url:"https://github.com/sponsors/first-fluke"},{type:"buymeacoffee",url:"https://buymeacoffee.com/firstfluke"}],scripts:{"sync:readme":"node ./scripts/sync-readme.mjs","generate:skill-data":"node ./scripts/generate-skill-data.mjs",build:"bun run generate:skill-data && bun run sync:readme && bun build cli.ts --outfile bin/cli-main.js --target node --minify --external @napi-rs/keyring --external jsonc-parser && node ./scripts/write-bin-entry.mjs && bun run check:bundle",dev:"bun run generate:skill-data && bun run cli.ts",lint:"biome check .","lint:fix":"biome check --write --unsafe .","check:boundaries":"node ./scripts/check-boundaries.mjs","check:bundle":"node ./scripts/check-bundle.mjs","check:emit-drift":"node ./scripts/check-emit-drift.mjs",test:"vitest run","test:coverage":"vitest run --coverage",prepublishOnly:"bun run build"},dependencies:{"@clack/prompts":"^1.7.0","@dagrejs/dagre":"^3.1.1","@date-fns/tz":"^1.5.0","@napi-rs/keyring":"^1.3.0",axios:"^1.18.1","better-sqlite3":"^13.0.2",chokidar:"^5.0.0",commander:"^15.0.0","date-fns":"^4.4.0",eld:"^2.0.3","fast-xml-parser":"^5.10.1","jsonc-parser":"^3.3.1",minimatch:"^10.2.6","p-map":"^7.0.6",picocolors:"^1.1.1","puppeteer-core":"^25.4.0",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1","remark-parse":"^11.0.0","smol-toml":"^1.7.1",unified:"^11.0.5",ws:"^8.21.1",yaml:"^2.9.0",zod:"^4.4.3"},optionalDependencies:{pptxgenjs:"^4.0.1"},devDependencies:{"@babel/parser":"7.29.3","@biomejs/biome":"^2.5.6","@types/better-sqlite3":"^7.6.13","@types/mdast":"^4.0.4","@types/node":"^26.1.2","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.1.10",typescript:"^7.0.2",vitest:"^4.1.10"},repository:{type:"git",url:"https://github.com/first-fluke/oh-my-agent"},homepage:"https://firstfluke.com/oh-my-agent",bugs:{url:"https://github.com/first-fluke/oh-my-agent/issues"},antigravity:{skillsPath:".agents/skills",skills:["oma-architecture","oma-brainstorm","oma-coordination","oma-pm","oma-frontend","oma-backend","oma-db","oma-mobile","oma-qa","oma-debug","oma-orchestration","oma-dev-workflow","oma-tf-infra","oma-scm","oma-pdf","oma-recap"]}}});import{homedir as C6e}from"node:os";import{isAbsolute as UAt,join as HAt,resolve as GAt}from"node:path";function _6e(e,t){let r=Array.from(e).some((n)=>{let i=n.charCodeAt(0);return i<32||i===127});if(!UAt(e)||r)throw Error(`${t} must be an absolute path without control characters`);return GAt(e)}function Jr(e=process.env,t=C6e()){return _6e(e.OMA_HOME||HAt(t,".oma"),"OMA_HOME")}function xs(e=process.env,t=C6e()){return e.OMA_STATE_HOME===void 0?Jr(e,t):_6e(e.OMA_STATE_HOME,"OMA_STATE_HOME")}var AT=()=>{};import{homedir as WAt}from"node:os";import{join as Mb}from"node:path";function gc(e=process.env,t=WAt()){let r=Jr(e,t),n=Mb(r,"state");return{home:r,definitions:Mb(r,".agents"),state:n,serena:Mb(n,"serena"),schedule:Mb(r,"schedule"),backup:Mb(r,"backup")}}var pi=v(()=>{AT();AT()});import*as Ku from"node:fs";import{homedir as VAt}from"node:os";import*as Tl from"node:path";function R6e(e){if(ST)throw Error("install context already set in this process");ST=e}function P6e(){if(ST===null)throw Error("install context not set — entry point must call setInstallContext()");return ST}function R4(){return P6e().installRoot}function fi(){return P6e().mode}function wt(){try{return fi()}catch{return"project"}}function Ng(){try{return R4()}catch{return process.cwd()}}function ET(e,t,r=VAt()){return t==="project"&&Tl.resolve(e)===Tl.resolve(r)}function I6e(e){if(e.global===!0||process.env.OMA_INSTALL_GLOBAL==="1"){let r=Jr();return qAt(r),{installRoot:r,mode:"global"}}return{installRoot:process.cwd(),mode:"project"}}function qAt(e){if(!Tl.isAbsolute(e))throw Error("OMA_HOME must be absolute path");for(let n of T6e)if(e===n||e.startsWith(n+Tl.sep))throw Error(`OMA_HOME=${e} is forbidden (system path ${n})`);let t,r=Tl.resolve(e);try{while(!Ku.existsSync(r)){let n=Tl.dirname(r);if(n===r)break;r=n}if(t=Ku.realpathSync(r),!Ku.statSync(t).isDirectory())throw Error("nearest existing ancestor is not a directory")}catch(n){let i=n instanceof Error?n.message:String(n);throw Error(`OMA_HOME=${e}: ${i}`)}for(let n of T6e)if(t===n||t.startsWith(n+Tl.sep))throw Error(`OMA_HOME=${e} is forbidden (system path ${n})`);try{Ku.accessSync(t,Ku.constants.W_OK)}catch{throw Error(`OMA_HOME=${e} is not writable`)}}var ST=null,T6e;var mi=v(()=>{pi();T6e=["/etc","/usr","/bin","/boot","/sys","/proc"]});import{join as QAt}from"node:path";function jm(e){return e.endsWith("/")?e:`${e}/`}function h2(e,t){let r=t.split("/").filter((n)=>n.length>0);return QAt(e,...r)}var lr=".agents",Dm,On,jp,dQr,pQr,fQr,eSt=".antigravitycli",M6e,tSt=".migration-backup",rSt="docs/plans",nSt=".qwen/tmp",iSt,oSt,sSt,aSt,cSt,lSt,uSt,Tq;var Yr=v(()=>{Dm=`${lr}/skills`,On=`${lr}/results`,jp=`${lr}/state`,dQr=`${jp}/sessions`,pQr=`${jp}/retry`,fQr=`${jp}/archive`,M6e=`${lr}/backup`;iSt=jm(On),oSt=jm(jp),sSt=jm(eSt),aSt=jm(M6e),cSt=jm(tSt),lSt=jm(rSt),uSt=jm(nSt),Tq=[".agents/oma-config.local.cue",".agents/oma-config.local.yaml",sSt,iSt,oSt,aSt,lSt,cSt,uSt]});var cn="first-fluke/oh-my-agent",qt,Rl,Rq,dSt,pSt,P4,Zn;var g2=v(()=>{Yr();qt=Dm,Rl=["antigravity","claude","codex","commandcode","cursor","grok","kimi","kiro","qwen"],Rq=["pi","opencode"],dSt=["copilot","hermes"],pSt=["zcode"],P4=[...Rl,...Rq,...dSt,...pSt].sort(),Zn={antigravity:{projectPath:".gemini/antigravity-cli/skills",homePath:".gemini/antigravity-cli/skills",requiresHomeConsent:!0},claude:{projectPath:".claude/skills",homePath:".claude/skills"},codex:{projectPath:".codex/skills",homePath:".codex/skills"},commandcode:{projectPath:".commandcode/skills",homePath:".commandcode/skills",optIn:!0},copilot:{projectPath:".github/skills",homePath:".copilot/skills"},cursor:{projectPath:".cursor/skills",homePath:".cursor/skills"},hermes:{projectPath:".hermes/skills/oma",homePath:".hermes/skills/oma",requiresHomeConsent:!0},kimi:{projectPath:".kimi-code/skills",homePath:".kimi-code/skills",requiresHomeConsent:!0,optIn:!0},kiro:{projectPath:".kiro/skills",homePath:".kiro/skills",optIn:!0},opencode:{projectPath:".opencode/skills",homePath:".opencode/skills"},qwen:{projectPath:".qwen/skills",homePath:".qwen/skills"}}});function de(e,t="Output as JSON"){return e.option("--json",t).option("--output <format>","Output format (text/json)",(r)=>{let n=r.trim().toLowerCase();if(!Db.includes(n))throw Error(`Invalid output format: ${r}. Expected one of ${Db.join(", ")}`);return n})}function fSt(e){if(e?.json)return"json";let t=e?.output?.trim().toLowerCase();if(t&&Db.includes(t))return t;if(process.env[L6e]?.trim().toLowerCase()==="json")return"json";return"text"}function pe(e){return fSt(e)==="json"}function N6e(e){let t=e.at(-1);return t instanceof qu?t:null}function mSt(e){let t=N6e(e);if(t)return t.opts();let r=e.at(-1);return r&&typeof r==="object"?r:{}}function hSt(e){if(e instanceof Error)return e.message;return String(e)}function Lp(e){throw Error(e)}function Iq(e,t){for(let r of e){let n=r.charCodeAt(0);if(n>=0&&n<=31||n===127)Lp(`${t} must not contain control characters`)}}function gSt(e,t){if(Iq(e,t),/[?#%]/.test(e))Lp(`${t} must not contain ?, #, or %`);if(e.includes(".."))Lp(`${t} must not contain '..'`)}function ySt(e,t){Iq(e,t);try{new URL(e)}catch{Lp(`${t} must be a valid absolute URL`)}}function Pq(e,t,r="text"){if(typeof e==="string"){if(r==="identifier"){gSt(e,t);return}if(r==="url"){ySt(e,t);return}Iq(e,t);return}if(Array.isArray(e))for(let[n,i]of e.entries())Pq(i,`${t}[${n}]`,r)}function j6e(e){let t=e.toLowerCase();if(t==="url"||t.endsWith("url"))return"url";if(t.includes("id")||t.includes("type")||t.includes("vendor")||t.includes("session"))return"identifier";return"text"}function vSt(e){let t=e.vendor;if(typeof t==="string"){if(t.split(",").map((o)=>o.trim()).filter(Boolean).filter((o)=>!P4.includes(o)).length>0)Lp(`vendor must be one of ${P4.join(", ")}`)}let r=e.output;if(typeof r==="string"&&!Db.includes(r))Lp(`output must be one of ${Db.join(", ")}`)}function bSt(e){let t=e.processedArgs??e.args??[];(e.registeredArguments??[]).forEach((i,o)=>{let s=i.name?.()||String(o),a=t[o];if(Pq(a,s,j6e(s)),s==="agent-type"&&typeof a==="string"&&!D6e.includes(a))Lp(`agent-type must be one of ${D6e.join(", ")}`)});let n=e.opts();vSt(n);for(let[i,o]of Object.entries(n))Pq(o,i,j6e(i))}function kSt(e){return(e.registeredArguments??[]).map((t)=>({name:t.name?.()||"",required:!!t.required,variadic:!!t.variadic}))}function wSt(e){return e.options.map((t)=>({flags:t.flags,long:t.long||void 0,short:t.short||void 0,description:t.description||"",required:!!t.required||!!t.mandatory,optional:!!t.optional,defaultValue:t.defaultValue}))}function F6e(e){let t=[],r=e;while(r?.parent)t.unshift(r.name()),r=r.parent;return t.join(" ")}function xSt(e){return e.options.some((t)=>t.long==="--json"||t.long==="--output")}function ASt(e){return e.options.some((t)=>t.long==="--dry-run")}function z6e(e){return{name:e.name(),path:F6e(e),summary:e.summary()||void 0,description:e.description(),arguments:kSt(e),options:wSt(e),supportsJsonOutput:xSt(e),supportsDryRun:ASt(e),subcommands:e.commands.filter((t)=>!t._hidden).map((t)=>z6e(t))}}function SSt(e,t){if(!t?.trim())return e;let r=t.trim(),n=[...e.commands];while(n.length>0){let i=n.shift();if(!i)continue;if(i.name()===r||F6e(i)===r)return i;n.push(...i.commands)}return null}function B6e(e,t){let r=SSt(e,t);if(!r)Lp(`Unknown command: ${t}`);let n={name:e.name(),version:e.version(),description:e.description(),env:{[L6e]:"Set to json to force machine-readable output on commands that support it."},command:z6e(r)};console.log(JSON.stringify(n,null,2))}function Y(e,t={}){return async(...r)=>{let n=N6e(r);if(n&&r.length>=2)r[r.length-2]=n.optsWithGlobals();let i=mSt(r);try{if(n)bSt(n);await e(...r)}catch(o){let s=hSt(o);if(t.supportsJsonOutput&&pe(i))console.log(JSON.stringify({error:s},null,2));else console.error(s);process.exitCode=1}}}var L6e="OH_MY_AG_OUTPUT_FORMAT",Db,D6e;var Et=v(()=>{Mm();g2();Db=["text","json"],D6e=["backend","frontend","mobile","qa","debug","pm"]});function ne(e,t,r){function n(a,c){if(!a._zod)Object.defineProperty(a,"_zod",{value:{def:c,constr:s,traits:new Set},enumerable:!1});if(a._zod.traits.has(e))return;a._zod.traits.add(e),t(a,c);let l=s.prototype,u=Object.keys(l);for(let d=0;d<u.length;d++){let p=u[d];if(!(p in a))a[p]=l[p].bind(a)}}let i=r?.Parent??Object;class o extends i{}Object.defineProperty(o,"name",{value:e});function s(a){var c;let l=r?.Parent?new o:this;n(l,a),(c=l._zod).deferred??(c.deferred=[]);for(let u of l._zod.deferred)u();return l}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:(a)=>{if(r?.Parent&&a instanceof r.Parent)return!0;return a?._zod?.traits?.has(e)}}),Object.defineProperty(s,"name",{value:e}),s}function y2(e){if(e)Object.assign(Fg,e);return Fg}var U6e,kQr,I4,jb,Fg;var Lm=v(()=>{kQr=Symbol("zod_brand");I4=class I4 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};jb=class jb extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}};(U6e=globalThis).__zod_globalConfig??(U6e.__zod_globalConfig={});Fg=globalThis.__zod_globalConfig});function CT(e){let t=Object.values(e).filter((n)=>typeof n==="number");return Object.entries(e).filter(([n,i])=>t.indexOf(+n)===-1).map(([n,i])=>i)}function Mq(e,t="|"){return e.map((r)=>Nq(r)).join(t)}function Nb(e,t){if(typeof t==="bigint")return t.toString();return t}function _T(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw Error("cached value already set")}}}function TT(e){return e===null||e===void 0}function RT(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function G6e(e,t){let r=e/t,n=Math.round(r),i=Number.EPSILON*Math.max(Math.abs(r),1);if(Math.abs(r-n)<i)return 0;return r-n}function hr(e,t,r){let n=void 0;Object.defineProperty(e,t,{get(){if(n===H6e)return;if(n===void 0)n=H6e,n=r();return n},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function Nm(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function Np(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function Dq(e){return JSON.stringify(e)}function W6e(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Lb(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Fm(e){if(Lb(e)===!1)return!1;let t=e.constructor;if(t===void 0)return!0;if(typeof t!=="function")return!0;let r=t.prototype;if(Lb(r)===!1)return!1;if(Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)return!1;return!0}function Lq(e){if(Fm(e))return{...e};if(Array.isArray(e))return[...e];if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);return e}function Fp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ju(e,t,r){let n=new e._zod.constr(t??e._zod.def);if(!t||r?.parent)n._zod.parent=e;return n}function Ge(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function Nq(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function K6e(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}function ESt(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".pick() cannot be used on object schemas containing refinements");let o=Np(e._zod.def,{get shape(){let s={};for(let a in t){if(!(a in r.shape))throw Error(`Unrecognized key: "${a}"`);if(!t[a])continue;s[a]=r.shape[a]}return Nm(this,"shape",s),s},checks:[]});return Ju(e,o)}function $St(e,t){let r=e._zod.def,n=r.checks;if(n&&n.length>0)throw Error(".omit() cannot be used on object schemas containing refinements");let o=Np(e._zod.def,{get shape(){let s={...e._zod.def.shape};for(let a in t){if(!(a in r.shape))throw Error(`Unrecognized key: "${a}"`);if(!t[a])continue;delete s[a]}return Nm(this,"shape",s),s},checks:[]});return Ju(e,o)}function CSt(e,t){if(!Fm(t))throw Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let o=e._zod.def.shape;for(let s in t)if(Object.getOwnPropertyDescriptor(o,s)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}let i=Np(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return Nm(this,"shape",o),o}});return Ju(e,i)}function _St(e,t){if(!Fm(t))throw Error("Invalid input to safeExtend: expected a plain object");let r=Np(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return Nm(this,"shape",n),n}});return Ju(e,r)}function TSt(e,t){if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=Np(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return Nm(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return Ju(e,r)}function RSt(e,t,r){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(".partial() cannot be used on object schemas containing refinements");let s=Np(t._zod.def,{get shape(){let a=t._zod.def.shape,c={...a};if(r)for(let l in r){if(!(l in a))throw Error(`Unrecognized key: "${l}"`);if(!r[l])continue;c[l]=e?new e({type:"optional",innerType:a[l]}):a[l]}else for(let l in a)c[l]=e?new e({type:"optional",innerType:a[l]}):a[l];return Nm(this,"shape",c),c},checks:[]});return Ju(t,s)}function PSt(e,t,r){let n=Np(t._zod.def,{get shape(){let i=t._zod.def.shape,o={...i};if(r)for(let s in r){if(!(s in o))throw Error(`Unrecognized key: "${s}"`);if(!r[s])continue;o[s]=new e({type:"nonoptional",innerType:i[s]})}else for(let s in i)o[s]=new e({type:"nonoptional",innerType:i[s]});return Nm(this,"shape",o),o}});return Ju(t,n)}function zm(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Y6e(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function zp(e,t){return t.map((r)=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function $T(e){return typeof e==="string"?e:e?.message}function Pl(e,t,r){let n=e.message?e.message:$T(e.inst?._zod.def?.error?.(e))??$T(t?.error?.(e))??$T(r.customError?.(e))??$T(r.localeError?.(e))??"Invalid input",{inst:i,continue:o,input:s,...a}=e;if(a.path??(a.path=[]),a.message=n,t?.reportInput)a.input=s;return a}function PT(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function X6e(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function Bm(...e){let[t,r,n]=e;if(typeof t==="string")return{message:t,code:"custom",input:r,inst:n};return{...t}}var H6e,jq,V6e,q6e,J6e;var Il=v(()=>{Lm();H6e=Symbol("evaluating");jq="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};V6e=_T(()=>{if(Fg.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});q6e=new Set(["string","number","symbol"]);J6e={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-340282346638528860000000000000000000000,340282346638528860000000000000000000000],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]}});function Q6e(e,t=(r)=>r.message){let r={},n=[];for(let i of e.issues)if(i.path.length>0)r[i.path[0]]=r[i.path[0]]||[],r[i.path[0]].push(t(i));else n.push(t(i));return{formErrors:n,fieldErrors:r}}function e9e(e,t=(r)=>r.message){let r={_errors:[]},n=(i,o=[])=>{for(let s of i.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map((a)=>n({issues:a},[...o,...s.path]));else if(s.code==="invalid_key")n({issues:s.issues},[...o,...s.path]);else if(s.code==="invalid_element")n({issues:s.issues},[...o,...s.path]);else{let a=[...o,...s.path];if(a.length===0)r._errors.push(t(s));else{let c=r,l=0;while(l<a.length){let u=a[l];if(l!==a.length-1)c[u]=c[u]||{_errors:[]};else c[u]=c[u]||{_errors:[]},c[u]._errors.push(t(s));c=c[u],l++}}}};return n(e),r}var Z6e=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Nb,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},IT,Fq;var zq=v(()=>{Lm();Il();IT=ne("$ZodError",Z6e),Fq=ne("$ZodError",Z6e,{Parent:Error})});var OT=(e)=>(t,r,n,i)=>{let o=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new I4;if(s.issues.length){let a=new(i?.Err??e)(s.issues.map((c)=>Pl(c,o,y2())));throw jq(a,i?.callee),a}return s.value},MT=(e)=>async(t,r,n,i)=>{let o=n?{...n,async:!0}:{async:!0},s=t._zod.run({value:r,issues:[]},o);if(s instanceof Promise)s=await s;if(s.issues.length){let a=new(i?.Err??e)(s.issues.map((c)=>Pl(c,o,y2())));throw jq(a,i?.callee),a}return s.value},Fb=(e)=>(t,r,n)=>{let i=n?{...n,async:!1}:{async:!1},o=t._zod.run({value:r,issues:[]},i);if(o instanceof Promise)throw new I4;return o.issues.length?{success:!1,error:new(e??IT)(o.issues.map((s)=>Pl(s,i,y2())))}:{success:!0,data:o.value}},t9e,zb=(e)=>async(t,r,n)=>{let i=n?{...n,async:!0}:{async:!0},o=t._zod.run({value:r,issues:[]},i);if(o instanceof Promise)o=await o;return o.issues.length?{success:!1,error:new e(o.issues.map((s)=>Pl(s,i,y2())))}:{success:!0,data:o.value}},r9e,n9e=(e)=>(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return OT(e)(t,r,i)},i9e=(e)=>(t,r,n)=>OT(e)(t,r,n),o9e=(e)=>async(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return MT(e)(t,r,i)},s9e=(e)=>async(t,r,n)=>MT(e)(t,r,n),a9e=(e)=>(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return Fb(e)(t,r,i)},c9e=(e)=>(t,r,n)=>Fb(e)(t,r,n),l9e=(e)=>async(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return zb(e)(t,r,i)},u9e=(e)=>async(t,r,n)=>zb(e)(t,r,n);var Bq=v(()=>{Lm();zq();Il();t9e=Fb(Fq),r9e=zb(Fq)});function k9e(){return new RegExp(OSt,"u")}function R9e(e){return typeof e.precision==="number"?e.precision===-1?"(?:[01]\\d|2[0-3]):[0-5]\\d":e.precision===0?"(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d":`(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{${e.precision}}`:"(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?"}function P9e(e){return new RegExp(`^${R9e(e)}$`)}function I9e(e){let t=R9e({precision:e.precision}),r=["Z"];if(e.local)r.push("");if(e.offset)r.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let n=`${t}(?:${r.join("|")})`;return new RegExp(`^${_9e}T(?:${n})$`)}var d9e,p9e,f9e,m9e,h9e,g9e,y9e,v9e,Uq=(e)=>{if(!e)return/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;return new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`)},b9e,OSt="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",w9e,x9e,A9e,S9e,E9e,Hq,$9e,C9e,_9e="(?:(?:\\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])))",T9e,O9e=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},M9e,Gq,D9e,j9e,L9e,N9e;var jT=v(()=>{d9e=/^[cC][0-9a-z]{6,}$/,p9e=/^[0-9a-z]+$/,f9e=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,m9e=/^[0-9a-vA-V]{20}$/,h9e=/^[A-Za-z0-9]{27}$/,g9e=/^[a-zA-Z0-9_-]{21}$/,y9e=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,v9e=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,b9e=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;w9e=/^(?:(?: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])$/,x9e=/^(([0-9a-fA-F]{1,4}:){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}|:))$/,A9e=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,S9e=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,E9e=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Hq=/^[A-Za-z0-9_-]*$/,$9e=/^https?$/,C9e=/^\+[1-9]\d{6,14}$/,T9e=new RegExp(`^${_9e}$`);M9e=/^-?\d+$/,Gq=/^-?\d+(?:\.\d+)?$/,D9e=/^(?:true|false)$/i,j9e=/^null$/i,L9e=/^[^A-Z]*$/,N9e=/^[^a-z]*$/});var Yo,F9e,Wq,Vq,z9e,B9e,U9e,H9e,G9e,Bb,W9e,V9e,q9e,K9e,J9e,Y9e,X9e;var LT=v(()=>{Lm();jT();Il();Yo=ne("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),F9e={number:"number",bigint:"bigint",object:"date"},Wq=ne("$ZodCheckLessThan",(e,t)=>{Yo.init(e,t);let r=F9e[typeof t.value];e._zod.onattach.push((n)=>{let i=n._zod.bag,o=(t.inclusive?i.maximum:i.exclusiveMaximum)??Number.POSITIVE_INFINITY;if(t.value<o)if(t.inclusive)i.maximum=t.value;else i.exclusiveMaximum=t.value}),e._zod.check=(n)=>{if(t.inclusive?n.value<=t.value:n.value<t.value)return;n.issues.push({origin:r,code:"too_big",maximum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Vq=ne("$ZodCheckGreaterThan",(e,t)=>{Yo.init(e,t);let r=F9e[typeof t.value];e._zod.onattach.push((n)=>{let i=n._zod.bag,o=(t.inclusive?i.minimum:i.exclusiveMinimum)??Number.NEGATIVE_INFINITY;if(t.value>o)if(t.inclusive)i.minimum=t.value;else i.exclusiveMinimum=t.value}),e._zod.check=(n)=>{if(t.inclusive?n.value>=t.value:n.value>t.value)return;n.issues.push({origin:r,code:"too_small",minimum:typeof t.value==="object"?t.value.getTime():t.value,input:n.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),z9e=ne("$ZodCheckMultipleOf",(e,t)=>{Yo.init(e,t),e._zod.onattach.push((r)=>{var n;(n=r._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=(r)=>{if(typeof r.value!==typeof t.value)throw Error("Cannot mix number and bigint in multiple_of check.");if(typeof r.value==="bigint"?r.value%t.value===BigInt(0):G6e(r.value,t.value)===0)return;r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),B9e=ne("$ZodCheckNumberFormat",(e,t)=>{Yo.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[i,o]=J6e[t.format];e._zod.onattach.push((s)=>{let a=s._zod.bag;if(a.format=t.format,a.minimum=i,a.maximum=o,r)a.pattern=M9e}),e._zod.check=(s)=>{let a=s.value;if(r){if(!Number.isInteger(a)){s.issues.push({expected:n,format:t.format,code:"invalid_type",continue:!1,input:a,inst:e});return}if(!Number.isSafeInteger(a)){if(a>0)s.issues.push({input:a,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});else s.issues.push({input:a,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:n,inclusive:!0,continue:!t.abort});return}}if(a<i)s.issues.push({origin:"number",input:a,code:"too_small",minimum:i,inclusive:!0,inst:e,continue:!t.abort});if(a>o)s.issues.push({origin:"number",input:a,code:"too_big",maximum:o,inclusive:!0,inst:e,continue:!t.abort})}}),U9e=ne("$ZodCheckMaxLength",(e,t)=>{var r;Yo.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!TT(i)&&i.length!==void 0}),e._zod.onattach.push((n)=>{let i=n._zod.bag.maximum??Number.POSITIVE_INFINITY;if(t.maximum<i)n._zod.bag.maximum=t.maximum}),e._zod.check=(n)=>{let i=n.value;if(i.length<=t.maximum)return;let s=PT(i);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),H9e=ne("$ZodCheckMinLength",(e,t)=>{var r;Yo.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!TT(i)&&i.length!==void 0}),e._zod.onattach.push((n)=>{let i=n._zod.bag.minimum??Number.NEGATIVE_INFINITY;if(t.minimum>i)n._zod.bag.minimum=t.minimum}),e._zod.check=(n)=>{let i=n.value;if(i.length>=t.minimum)return;let s=PT(i);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),G9e=ne("$ZodCheckLengthEquals",(e,t)=>{var r;Yo.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!TT(i)&&i.length!==void 0}),e._zod.onattach.push((n)=>{let i=n._zod.bag;i.minimum=t.length,i.maximum=t.length,i.length=t.length}),e._zod.check=(n)=>{let i=n.value,o=i.length;if(o===t.length)return;let s=PT(i),a=o>t.length;n.issues.push({origin:s,...a?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Bb=ne("$ZodCheckStringFormat",(e,t)=>{var r,n;if(Yo.init(e,t),e._zod.onattach.push((i)=>{let o=i._zod.bag;if(o.format=t.format,t.pattern)o.patterns??(o.patterns=new Set),o.patterns.add(t.pattern)}),t.pattern)(r=e._zod).check??(r.check=(i)=>{if(t.pattern.lastIndex=0,t.pattern.test(i.value))return;i.issues.push({origin:"string",code:"invalid_format",format:t.format,input:i.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})});else(n=e._zod).check??(n.check=()=>{})}),W9e=ne("$ZodCheckRegex",(e,t)=>{Bb.init(e,t),e._zod.check=(r)=>{if(t.pattern.lastIndex=0,t.pattern.test(r.value))return;r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),V9e=ne("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=L9e),Bb.init(e,t)}),q9e=ne("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=N9e),Bb.init(e,t)}),K9e=ne("$ZodCheckIncludes",(e,t)=>{Yo.init(e,t);let r=Fp(t.includes),n=new RegExp(typeof t.position==="number"?`^.{${t.position}}${r}`:r);t.pattern=n,e._zod.onattach.push((i)=>{let o=i._zod.bag;o.patterns??(o.patterns=new Set),o.patterns.add(n)}),e._zod.check=(i)=>{if(i.value.includes(t.includes,t.position))return;i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:i.value,inst:e,continue:!t.abort})}}),J9e=ne("$ZodCheckStartsWith",(e,t)=>{Yo.init(e,t);let r=new RegExp(`^${Fp(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.onattach.push((n)=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=(n)=>{if(n.value.startsWith(t.prefix))return;n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Y9e=ne("$ZodCheckEndsWith",(e,t)=>{Yo.init(e,t);let r=new RegExp(`.*${Fp(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.onattach.push((n)=>{let i=n._zod.bag;i.patterns??(i.patterns=new Set),i.patterns.add(r)}),e._zod.check=(n)=>{if(n.value.endsWith(t.suffix))return;n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),X9e=ne("$ZodCheckOverwrite",(e,t)=>{Yo.init(e,t),e._zod.check=(r)=>{r.value=t.tx(r.value)}})});class qq{constructor(e=[]){if(this.content=[],this.indent=0,this)this.args=e}indented(e){this.indent+=1,e(this),this.indent-=1}write(e){if(typeof e==="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}let r=e.split(`
|
|
28
28
|
`).filter((o)=>o),n=Math.min(...r.map((o)=>o.length-o.trimStart().length)),i=r.map((o)=>o.slice(n)).map((o)=>" ".repeat(this.indent*2)+o);for(let o of i)this.content.push(o)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[""]).map((i)=>` ${i}`)];return new e(...t,n.join(`
|
|
29
29
|
`))}}var Q9e;var Kq=v(()=>{Q9e={major:4,minor:4,patch:3}});function Cye(e){if(e==="")return!0;if(/\s/.test(e))return!1;if(e.length%4!==0)return!1;try{return atob(e),!0}catch{return!1}}function MSt(e){if(!Hq.test(e))return!1;let t=e.replace(/[-_]/g,(n)=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return Cye(r)}function DSt(e,t=null){try{let r=e.split(".");if(r.length!==3)return!1;let[n]=r;if(!n)return!1;let i=JSON.parse(atob(n));if("typ"in i&&i?.typ!=="JWT")return!1;if(!i.alg)return!1;if(t&&(!("alg"in i)||i.alg!==t))return!1;return!0}catch{return!1}}function eye(e,t,r){if(e.issues.length)t.issues.push(...zp(r,e.issues));t.value[r]=e.value}function FT(e,t,r,n,i,o){let s=r in n;if(e.issues.length){if(i&&o&&!s)return;t.issues.push(...zp(r,e.issues))}if(!s&&!i){if(!e.issues.length)t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}if(e.value===void 0){if(s)t.value[r]=void 0}else t.value[r]=e.value}function Nye(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let r=K6e(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function Fye(e,t,r,n,i,o){let s=[],a=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin==="optional",d=c.optout==="optional";for(let p in t){if(p==="__proto__")continue;if(a.has(p))continue;if(l==="never"){s.push(p);continue}let f=c.run({value:t[p],issues:[]},n);if(f instanceof Promise)e.push(f.then((m)=>FT(m,r,p,t,u,d)));else FT(f,r,p,t,u,d)}if(s.length)r.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:o});if(!e.length)return r;return Promise.all(e).then(()=>r)}function tye(e,t,r,n){for(let o of e)if(o.issues.length===0)return t.value=o.value,t;let i=e.filter((o)=>!zm(o));if(i.length===1)return t.value=i[0].value,i[0];return t.issues.push({code:"invalid_union",input:t.value,inst:r,errors:e.map((o)=>o.issues.map((s)=>Pl(s,n,y2())))}),t}function Jq(e,t){if(e===t)return{valid:!0,data:e};if(e instanceof Date&&t instanceof Date&&+e===+t)return{valid:!0,data:e};if(Fm(e)&&Fm(t)){let r=Object.keys(t),n=Object.keys(e).filter((o)=>r.indexOf(o)!==-1),i={...e,...t};for(let o of n){let s=Jq(e[o],t[o]);if(!s.valid)return{valid:!1,mergeErrorPath:[o,...s.mergeErrorPath]};i[o]=s.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let r=[];for(let n=0;n<e.length;n++){let i=e[n],o=t[n],s=Jq(i,o);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function rye(e,t,r){let n=new Map,i;for(let a of t.issues)if(a.code==="unrecognized_keys"){i??(i=a);for(let c of a.keys){if(!n.has(c))n.set(c,{});n.get(c).l=!0}}else e.issues.push(a);for(let a of r.issues)if(a.code==="unrecognized_keys")for(let c of a.keys){if(!n.has(c))n.set(c,{});n.get(c).r=!0}else e.issues.push(a);let o=[...n].filter(([,a])=>a.l&&a.r).map(([a])=>a);if(o.length&&i)e.issues.push({...i,keys:o});if(zm(e))return e;let s=Jq(t.value,r.value);if(!s.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}function nye(e,t){if(t===void 0&&(e.issues.length||e.fallback))return{issues:[],value:void 0};return e}function iye(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}function oye(e,t){if(!e.issues.length&&e.value===void 0)e.issues.push({code:"invalid_type",expected:"nonoptional",input:e.value,inst:t});return e}function NT(e,t,r){if(e.issues.length)return e.aborted=!0,e;return t._zod.run({value:e.value,issues:e.issues,fallback:e.fallback},r)}function sye(e){return e.value=Object.freeze(e.value),e}function aye(e,t,r,n){if(!e){let i={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};if(n._zod.def.params)i.params=n._zod.def.params;t.issues.push(Bm(i))}}var Cn,zT,Mn,cye,lye,uye,dye,pye,fye,mye,hye,gye,yye,vye,bye,kye,wye,xye,Aye,Sye,Eye,$ye,_ye,Tye,Rye,Pye,Yq,Iye,Oye,Mye,Dye,jye,Lye,jSt,zye,Bye,Uye,Hye,Gye,Wye,Vye,Xq,qye,Kye,Jye,Yye,Xye,Zye,Qye,e0e,t0e,r0e;var n0e=v(()=>{LT();Lm();Bq();jT();Il();Kq();Il();Cn=ne("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Q9e;let n=[...e._zod.def.checks??[]];if(e._zod.traits.has("$ZodCheck"))n.unshift(e);for(let i of n)for(let o of i._zod.onattach)o(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let i=(s,a,c)=>{let l=zm(s),u;for(let d of a){if(d._zod.def.when){if(Y6e(s))continue;if(!d._zod.def.when(s))continue}else if(l)continue;let p=s.issues.length,f=d._zod.check(s);if(f instanceof Promise&&c?.async===!1)throw new I4;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{if(await f,s.issues.length===p)return;if(!l)l=zm(s,p)});else{if(s.issues.length===p)continue;if(!l)l=zm(s,p)}}if(u)return u.then(()=>s);return s},o=(s,a,c)=>{if(zm(s))return s.aborted=!0,s;let l=i(a,n,c);if(l instanceof Promise){if(c.async===!1)throw new I4;return l.then((u)=>e._zod.parse(u,c))}return e._zod.parse(l,c)};e._zod.run=(s,a)=>{if(a.skipChecks)return e._zod.parse(s,a);if(a.direction==="backward"){let l=e._zod.parse({value:s.value,issues:[]},{...a,skipChecks:!0});if(l instanceof Promise)return l.then((u)=>o(u,s,a));return o(l,s,a)}let c=e._zod.parse(s,a);if(c instanceof Promise){if(a.async===!1)throw new I4;return c.then((l)=>i(l,n,a))}return i(c,n,a)}}hr(e,"~standard",()=>({validate:(i)=>{try{let o=t9e(e,i);return o.success?{value:o.data}:{issues:o.error?.issues}}catch(o){return r9e(e,i).then((s)=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),zT=ne("$ZodString",(e,t)=>{Cn.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??O9e(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch(i){}if(typeof r.value==="string")return r;return r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),Mn=ne("$ZodStringFormat",(e,t)=>{Bb.init(e,t),zT.init(e,t)}),cye=ne("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=v9e),Mn.init(e,t)}),lye=ne("$ZodUUID",(e,t)=>{if(t.version){let n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(n===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??(t.pattern=Uq(n))}else t.pattern??(t.pattern=Uq());Mn.init(e,t)}),uye=ne("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=b9e),Mn.init(e,t)}),dye=ne("$ZodURL",(e,t)=>{Mn.init(e,t),e._zod.check=(r)=>{try{let n=r.value.trim();if(!t.normalize&&t.protocol?.source===$9e.source){if(!/^https?:\/\//i.test(n)){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:e,continue:!t.abort});return}}let i=new URL(n);if(t.hostname){if(t.hostname.lastIndex=0,!t.hostname.test(i.hostname))r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:t.hostname.source,input:r.value,inst:e,continue:!t.abort})}if(t.protocol){if(t.protocol.lastIndex=0,!t.protocol.test(i.protocol.endsWith(":")?i.protocol.slice(0,-1):i.protocol))r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:t.protocol.source,input:r.value,inst:e,continue:!t.abort})}if(t.normalize)r.value=i.href;else r.value=n;return}catch(n){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:e,continue:!t.abort})}}}),pye=ne("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=k9e()),Mn.init(e,t)}),fye=ne("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=g9e),Mn.init(e,t)}),mye=ne("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=d9e),Mn.init(e,t)}),hye=ne("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=p9e),Mn.init(e,t)}),gye=ne("$ZodULID",(e,t)=>{t.pattern??(t.pattern=f9e),Mn.init(e,t)}),yye=ne("$ZodXID",(e,t)=>{t.pattern??(t.pattern=m9e),Mn.init(e,t)}),vye=ne("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=h9e),Mn.init(e,t)}),bye=ne("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=I9e(t)),Mn.init(e,t)}),kye=ne("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=T9e),Mn.init(e,t)}),wye=ne("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=P9e(t)),Mn.init(e,t)}),xye=ne("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=y9e),Mn.init(e,t)}),Aye=ne("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=w9e),Mn.init(e,t),e._zod.bag.format="ipv4"}),Sye=ne("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=x9e),Mn.init(e,t),e._zod.bag.format="ipv6",e._zod.check=(r)=>{try{new URL(`http://[${r.value}]`)}catch{r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:e,continue:!t.abort})}}}),Eye=ne("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=A9e),Mn.init(e,t)}),$ye=ne("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=S9e),Mn.init(e,t),e._zod.check=(r)=>{let n=r.value.split("/");try{if(n.length!==2)throw Error();let[i,o]=n;if(!o)throw Error();let s=Number(o);if(`${s}`!==o)throw Error();if(s<0||s>128)throw Error();new URL(`http://[${i}]`)}catch{r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:e,continue:!t.abort})}}});_ye=ne("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=E9e),Mn.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(r)=>{if(Cye(r.value))return;r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});Tye=ne("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=Hq),Mn.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(r)=>{if(MSt(r.value))return;r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),Rye=ne("$ZodE164",(e,t)=>{t.pattern??(t.pattern=C9e),Mn.init(e,t)});Pye=ne("$ZodJWT",(e,t)=>{Mn.init(e,t),e._zod.check=(r)=>{if(DSt(r.value,t.alg))return;r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),Yq=ne("$ZodNumber",(e,t)=>{Cn.init(e,t),e._zod.pattern=e._zod.bag.pattern??Gq,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch(s){}let i=r.value;if(typeof i==="number"&&!Number.isNaN(i)&&Number.isFinite(i))return r;let o=typeof i==="number"?Number.isNaN(i)?"NaN":!Number.isFinite(i)?"Infinity":void 0:void 0;return r.issues.push({expected:"number",code:"invalid_type",input:i,inst:e,...o?{received:o}:{}}),r}}),Iye=ne("$ZodNumberFormat",(e,t)=>{B9e.init(e,t),Yq.init(e,t)}),Oye=ne("$ZodBoolean",(e,t)=>{Cn.init(e,t),e._zod.pattern=D9e,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Boolean(r.value)}catch(o){}let i=r.value;if(typeof i==="boolean")return r;return r.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:e}),r}}),Mye=ne("$ZodNull",(e,t)=>{Cn.init(e,t),e._zod.pattern=j9e,e._zod.values=new Set([null]),e._zod.parse=(r,n)=>{let i=r.value;if(i===null)return r;return r.issues.push({expected:"null",code:"invalid_type",input:i,inst:e}),r}}),Dye=ne("$ZodUnknown",(e,t)=>{Cn.init(e,t),e._zod.parse=(r)=>r}),jye=ne("$ZodNever",(e,t)=>{Cn.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});Lye=ne("$ZodArray",(e,t)=>{Cn.init(e,t),e._zod.parse=(r,n)=>{let i=r.value;if(!Array.isArray(i))return r.issues.push({expected:"array",code:"invalid_type",input:i,inst:e}),r;r.value=Array(i.length);let o=[];for(let s=0;s<i.length;s++){let a=i[s],c=t.element._zod.run({value:a,issues:[]},n);if(c instanceof Promise)o.push(c.then((l)=>eye(l,r,s)));else eye(c,r,s)}if(o.length)return Promise.all(o).then(()=>r);return r}});jSt=ne("$ZodObject",(e,t)=>{if(Cn.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let a=t.shape;Object.defineProperty(t,"shape",{get:()=>{let c={...a};return Object.defineProperty(t,"shape",{value:c}),c}})}let n=_T(()=>Nye(t));hr(e._zod,"propValues",()=>{let a=t.shape,c={};for(let l in a){let u=a[l]._zod;if(u.values){c[l]??(c[l]=new Set);for(let d of u.values)c[l].add(d)}}return c});let i=Lb,o=t.catchall,s;e._zod.parse=(a,c)=>{s??(s=n.value);let l=a.value;if(!i(l))return a.issues.push({expected:"object",code:"invalid_type",input:l,inst:e}),a;a.value={};let u=[],d=s.shape;for(let p of s.keys){let f=d[p],m=f._zod.optin==="optional",h=f._zod.optout==="optional",g=f._zod.run({value:l[p],issues:[]},c);if(g instanceof Promise)u.push(g.then((y)=>FT(y,a,p,l,m,h)));else FT(g,a,p,l,m,h)}if(!o)return u.length?Promise.all(u).then(()=>a):a;return Fye(u,l,a,c,n.value,e)}}),zye=ne("$ZodObjectJIT",(e,t)=>{jSt.init(e,t);let r=e._zod.parse,n=_T(()=>Nye(t)),i=(p)=>{let f=new qq(["shape","payload","ctx"]),m=n.value,h=(b)=>{let x=Dq(b);return`shape[${x}]._zod.run({ value: input[${x}], issues: [] }, ctx)`};f.write("const input = payload.value;");let g=Object.create(null),y=0;for(let b of m.keys)g[b]=`key_${y++}`;f.write("const newResult = {};");for(let b of m.keys){let x=g[b],S=Dq(b),A=p[b],E=A?._zod?.optin==="optional",w=A?._zod?.optout==="optional";if(f.write(`const ${x} = ${h(b)};`),E&&w)f.write(`
|
|
30
30
|
if (${x}.issues.length) {
|
|
@@ -424,7 +424,7 @@ WantedBy=default.target
|
|
|
424
424
|
`+i}}catch(o){}}throw r}}_request(e,t){if(typeof e==="string")t=t||{},t.url=e;else t=e||{};t=Hl(this.defaults,t);let{transitional:r,paramsSerializer:n,headers:i}=t;if(r!==void 0)Xk.assertOptions(r,{silentJSONParsing:Es.transitional(Es.boolean),forcedJSONParsing:Es.transitional(Es.boolean),clarifyTimeoutError:Es.transitional(Es.boolean),legacyInterceptorReqResOrdering:Es.transitional(Es.boolean),advertiseZstdAcceptEncoding:Es.transitional(Es.boolean),validateStatusUndefinedResolves:Es.transitional(Es.boolean)},!1);if(n!=null)if(H.isFunction(n))t.paramsSerializer={serialize:n};else Xk.assertOptions(n,{encode:Es.function,serialize:Es.function},!0);if(t.allowAbsoluteUrls!==void 0);else if(this.defaults.allowAbsoluteUrls!==void 0)t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls;else t.allowAbsoluteUrls=!0;Xk.assertOptions(t,{baseUrl:Es.spelling("baseURL"),withXsrfToken:Es.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=i&&H.merge(i.common,i[t.method]);i&&H.forEach(["delete","get","head","post","put","patch","query","common"],(f)=>{delete i[f]}),t.headers=Tn.concat(o,i);let s=[],a=!0;this.interceptors.request.forEach(function(m){if(typeof m.runWhen==="function"&&m.runWhen(t)===!1)return;a=a&&m.synchronous;let h=t.transitional||n1;if(h&&h.legacyInterceptorReqResOrdering)s.unshift(m.fulfilled,m.rejected);else s.push(m.fulfilled,m.rejected)});let c=[];this.interceptors.response.forEach(function(m){c.push(m.fulfilled,m.rejected)});let l,u=0,d;if(!a){let f=[_P.bind(this),void 0];f.unshift(...s),f.push(...c),d=f.length,l=Promise.resolve(t);while(u<d)l=l.then(f[u++],f[u++]);return l}d=s.length;let p=t;while(u<d){let f=s[u++],m=s[u++];try{p=f(p)}catch(h){m.call(this,h);break}}try{l=_P.call(this,p)}catch(f){return Promise.reject(f)}u=0,d=c.length;while(u<d)l=l.then(c[u++],c[u++]);return l}getUri(e){e=Hl(this.defaults,e);let t=l3(e.baseURL,e.url,e.allowAbsoluteUrls,e);return a3(t,e.params,e.paramsSerializer)}}var Es,Qk;var VEe=v(()=>{kn();uP();KAe();HEe();SP();mP();WEe();Fl();jk();Es=Xk.validators;H.forEach(["delete","get","head","options"],function(t){Zk.prototype[t]=function(r,n){return this.request(Hl(n||{},{method:t,url:r,data:n&&H.hasOwnProp(n,"data")?n.data:void 0}))}});H.forEach(["post","put","patch","query"],function(t){function r(n){return function(o,s,a){return this.request(Hl(a||{},{method:t,headers:n?{"Content-Type":"multipart/form-data"}:{},url:o,data:s}))}}if(Zk.prototype[t]=r(),t!=="query")Zk.prototype[t+"Form"]=r(!0)});Qk=Zk});class zX{constructor(e){if(typeof e!=="function")throw TypeError("executor must be a function.");let t;this.promise=new Promise(function(i){t=i});let r=this;this.promise.then((n)=>{if(!r._listeners)return;let i=r._listeners.length;while(i-- >0)r._listeners[i](n);r._listeners=null}),this.promise.then=(n)=>{let i,o=new Promise((s)=>{r.subscribe(s),i=s}).then(n);return o.cancel=function(){r.unsubscribe(i)},o},e(function(i,o,s){if(r.reason)return;r.reason=new k2(i,o,s),t(r.reason)})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}if(this._listeners)this._listeners.push(e);else this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;let t=this._listeners.indexOf(e);if(t!==-1)this._listeners.splice(t,1)}toAbortSignal(){let e=new AbortController,t=(r)=>{e.abort(r)};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return{token:new zX(function(n){e=n}),cancel:e}}}var qEe;var KEe=v(()=>{c3();qEe=zX});function BX(e){return function(r){return e.apply(null,r)}}function UX(e){return H.isObject(e)&&e.isAxiosError===!0}var JEe=v(()=>{kn()});var HX,YEe;var XEe=v(()=>{HX={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(HX).forEach(([e,t])=>{HX[t]=e});YEe=HX});function ZEe(e){let t=new Qk(e),r=Ek(Qk.prototype.request,t);return H.extend(r,Qk.prototype,t,{allOwnKeys:!0}),H.extend(r,t,null,{allOwnKeys:!0}),r.create=function(i){return ZEe(Hl(e,i))},r}var Hi,ew;var QEe=v(()=>{kn();VEe();SP();pP();ZY();c3();KEe();p6();Ss();JEe();Fl();NX();XEe();Hi=ZEe(m6);Hi.Axios=Qk;Hi.CanceledError=k2;Hi.CancelToken=qEe;Hi.isCancel=Nk;Hi.VERSION=F4;Hi.toFormData=r1;Hi.AxiosError=se;Hi.Cancel=Hi.CanceledError;Hi.all=function(t){return Promise.all(t)};Hi.spread=BX;Hi.isAxiosError=UX;Hi.mergeConfig=Hl;Hi.AxiosHeaders=Tn;Hi.formToJSON=(e)=>dP(H.isHTMLForm(e)?new FormData(e):e);Hi.getAdapter=CP.getAdapter;Hi.HttpStatusCode=YEe;Hi.default=Hi;ew=Hi});var jcn,Lcn,Ncn,Fcn,zcn,Bcn,Ucn,Hcn,Gcn,Wcn,Vcn,qcn,Kcn,Jcn,Ycn,Xcn,Zcn;var e$e=v(()=>{QEe();({Axios:jcn,AxiosError:Lcn,CanceledError:Ncn,isCancel:Fcn,CancelToken:zcn,VERSION:Bcn,all:Ucn,Cancel:Hcn,isAxiosError:Gcn,spread:Wcn,toFormData:Vcn,AxiosHeaders:qcn,HttpStatusCode:Kcn,formToJSON:Jcn,getAdapter:Ycn,mergeConfig:Xcn,create:Zcn}=ew)});import iBt from"node:http";import oBt from"node:https";var t$e,Xt,GX;var Na=v(()=>{e$e();t$e={family:4,keepAlive:!0,maxSockets:24},Xt=ew.create({httpAgent:new iBt.Agent(t$e),httpsAgent:new oBt.Agent(t$e)}),{isAxiosError:GX}=ew});import{createHash as sBt,randomBytes as aBt,randomUUID as n$e}from"node:crypto";import{existsSync as B4,linkSync as cBt,mkdirSync as lBt,readdirSync as r$e,readFileSync as i$e,realpathSync as uBt,unlinkSync as dBt,writeFileSync as pBt}from"node:fs";import{basename as fBt,dirname as o$e,join as jo,resolve as mBt}from"node:path";function Ln(){let e=process.env.OMA_PROFILE??"0";if(!/^(0|[1-9][0-9]{0,9})$/.test(e))throw Error("OMA_PROFILE must be a non-negative profile number");return e}function g3(){return jo(xs(),"u",Ln())}function dn(e){let t=mBt(e),r=[],n=t;while(!0)try{n=jo(uBt(t),...r);break}catch{let i=o$e(t);if(i===t)break;r.unshift(fBt(t)),t=i}return{schemaVersion:1,projectId:sBt("sha256").update(n).digest("hex"),projectDir:n,profile:Ln()}}function a5(e){return jo(g3(),"projects",dn(e).projectId)}function Gl(e){return jo(e,s$e)}function c5(e){return jo(g3(),"sessions")}function Ec(e){return jo(a5(e),"_index.json")}function tw(e){return jo(a5(e),"archive")}function RP(e){return[tw(e),...Ln()==="0"?[jo(e,".agents","state","archive")]:[]]}function x6(e){let t=Ec(e);if(B4(t)||Ln()!=="0")return t;let r=jo(Gl(e),"_index.json");return B4(r)?r:t}function $s(e){return e.length>0&&e.length<=128&&!e.includes("..")&&/^[A-Za-z0-9._-]+$/.test(e)}function hBt(e){if(!$s(e))throw Error(`Invalid session id: ${e}`)}function PP(e=new Date){return`${e.toISOString().slice(0,10)}_${aBt(12).toString("base64url")}`}function WX(e){try{return JSON.parse(i$e(jo(e,"context.json"),"utf-8"))}catch{return null}}function Nn(e,t){hBt(t);let r=jo(Gl(e),t);if(Ln()==="0"&&B4(r))return r;let n=jo(c5(),t),i=WX(n);if(!i&&B4(jo(n,"events.jsonl")))throw Error(`Session ${t} has missing or invalid project ownership`);if(i&&(i.projectId!==dn(e).projectId||i.profile!==Ln()))throw Error(`Session ${t} belongs to another project`);return n}function a$e(e,t){lBt(o$e(e),{recursive:!0,mode:448});let r=`${e}.${n$e()}.tmp`;try{pBt(r,`${JSON.stringify(t,null,2)}
|
|
425
425
|
`,{mode:384});try{cBt(r,e)}catch(n){if(n.code!=="EEXIST")throw n}}finally{if(B4(r))dBt(r)}}function A6(){let e=jo(g3(),"profile.json");if(!B4(e))a$e(e,{schemaVersion:1,slot:Ln(),profileId:n$e(),createdAt:new Date().toISOString(),account:null});let t=JSON.parse(i$e(e,"utf-8"));if(t.schemaVersion!==1||t.slot!==Ln()||typeof t.profileId!=="string"||!t.profileId)throw Error(`Invalid local profile: ${e}`);return t}function rw(e,t){let r=Nn(e,t);if(r===jo(Gl(e),t))return;A6();let n=dn(e);if(!B4(jo(r,"context.json")))a$e(jo(r,"context.json"),n);let i=WX(r);if(i?.projectId!==n.projectId||i.profile!==n.profile)throw Error(`Session ${t} has invalid or conflicting project ownership`)}function Zo(e){let t=new Set,r=c5(),n=dn(e);if(B4(r))for(let o of r$e(r,{withFileTypes:!0})){if(!o.isDirectory()||!$s(o.name))continue;let s=WX(jo(r,o.name));if(s?.projectId===n.projectId&&s.profile===n.profile)t.add(o.name)}let i=Gl(e);if(Ln()==="0"&&B4(i)){for(let o of r$e(i,{withFileTypes:!0}))if(o.isDirectory()&&$s(o.name))t.add(o.name)}return[...t]}var s$e=".agents/state/sessions";var ia=v(()=>{AT()});import{existsSync as l$e}from"node:fs";import{homedir as gBt}from"node:os";import{dirname as yBt,join as IP,resolve as u$e,sep as c$e}from"node:path";function S6(e){return c$e==="/"?e:e.split(c$e).join("/")}function kBt(e){let t=IP(e,".agents");return bBt.some((r)=>l$e(IP(t,r)))}function wBt(){try{return u$e(gBt())}catch{return null}}function y3(e){let t=u$e(e),r=wBt(),n=t;for(let i=0;i<vBt;i++){let o=l$e(IP(n,".git"));if(n===r&&!o)break;if(o||kBt(n))return n;let s=yBt(n);if(s===n)break;n=s}return t}var vBt=20,bBt;var v3=v(()=>{bBt=["oma-config.yaml","oma-config.cue","oma-config.local.yaml","oma-config.local.cue",IP("skills","_version.json")]});import*as b3 from"node:fs";import{dirname as xBt,join as ABt,parse as SBt,resolve as EBt,sep as d$e}from"node:path";function oa(e){return d$e==="/"?e:e.split(d$e).join("/")}function Fa(e){try{if(!b3.lstatSync(e).isDirectory())b3.unlinkSync(e)}catch{}}function Pe(e=process.cwd()){return y3(e)}function U4(e,t){let r=EBt(e),n=SBt(r).root;while(r!==n){let i=ABt(r,t);if(b3.existsSync(i))return i;r=xBt(r)}return null}var Ct=v(()=>{v3()});function o1(e,t=process.env){let r=dn(e??Pe()),n=t.OMA_PROFILE??r.profile;if(!/^(0|[1-9][0-9]{0,9})$/.test(n))throw Error("OMA_PROFILE must be a non-negative profile number");return{project:`oma:${n}:${r.projectId}`,projectDir:r.projectDir,profile:n,projectId:r.projectId,concept:`oma-project:${n}:${r.projectId}`}}function qX(e,t){return`${e.project}:${t}`}function VX(e){return e&&typeof e==="object"&&!Array.isArray(e)?e:void 0}function p$e(e,t){let r=VX(e)?.results;if(!Array.isArray(r))return{results:[]};let n=`${t.project}:`;return{results:r.filter((i)=>{let o=VX(i),s=VX(o?.observation);if(!o||!s)return!1;let c=(Array.isArray(s.concepts)?s.concepts.filter((p)=>typeof p==="string"):[]).filter((p)=>p.startsWith("oma-project:"));if(c.some((p)=>p!==t.concept))return!1;let l=[o.sessionId,s.sessionId].filter((p)=>typeof p==="string"&&p.length>0),u=(p)=>p.startsWith(n)&&p.length>n.length;if(l.some((p)=>p!=="memory"&&!u(p)))return!1;if([o.project,s.project].filter((p)=>p!==void 0&&p!==null).some((p)=>p!==t.project))return!1;return c.includes(t.concept)||l.some(u)})}}var nw=v(()=>{ia();Ct()});async function OP(e){let t=e.query.trim();if(!t)return{results:[]};let r=await Xt.post(`${e.endpoint.replace(/\/+$/,"")}/agentmemory/search`,{query:t,limit:e.limit,project:e.scope.project,cwd:e.scope.projectDir,format:"full"},{timeout:e.timeoutMs??2000,validateStatus:()=>!0});if(r.status<200||r.status>=300)return{results:[]};return p$e(r.data,e.scope)}var KX=v(()=>{Na();nw()});import{createHash as $Bt}from"node:crypto";import{isAbsolute as CBt}from"node:path";function E6(e){if(!e)return null;try{let t=new URL(e);if(!["http:","https:"].includes(t.protocol))return null;if(t.username||t.password||t.search||t.hash)return null;return t.toString().replace(/\/+$/,"")}catch{return null}}function _Bt(e){return{...e.endpoint!==void 0?{endpoint:E6(e.endpoint)}:{},...e.workspace!==void 0?{workspace:e.workspace}:{},...e.session!==void 0?{session:e.session}:{},...e.identity!==void 0?{identity:e.identity}:{}}}function JX(e,t){let r=dn(e);return{version:1,provider:t.name,profile:r.profile,projectId:r.projectId,projectDir:r.projectDir,destination:_Bt(t.deliveryIdentity??{identity:"injected"})}}function iw(e){if(!e||typeof e!=="object")return!1;if(Object.keys(e).some((n)=>!["version","provider","profile","projectId","projectDir","destination"].includes(n)))return!1;let t=e;if(t.version!==1||!["agentmemory","honcho","none"].includes(t.provider??"")||typeof t.profile!=="string"||!/^(0|[1-9][0-9]{0,9})$/.test(t.profile)||typeof t.projectId!=="string"||!/^[a-f0-9]{64}$/.test(t.projectId)||typeof t.projectDir!=="string"||!CBt(t.projectDir)||!t.destination||typeof t.destination!=="object"||Array.isArray(t.destination))return!1;let r=t.destination;if(Object.keys(r).some((n)=>!["endpoint","workspace","session","identity"].includes(n)))return!1;for(let n of["workspace","session","identity"])if(r[n]!==void 0&&typeof r[n]!=="string")return!1;if(r.endpoint!==void 0&&r.endpoint!==null&&typeof r.endpoint!=="string")return!1;if(r.endpoint!==void 0&&E6(r.endpoint)!==r.endpoint)return!1;return!0}function ow(e,t){return s1(e)===s1(t)}function s1(e){let{destination:t}=e;return $Bt("sha256").update(JSON.stringify([e.version,e.provider,e.profile,e.projectId,e.projectDir,t.endpoint??null,t.workspace??null,t.session??null,t.identity??null])).digest("hex")}function f$e(e,t,r){if(t.destination.endpoint===null)return!1;return ow(t,JX(e,r))}var k3=v(()=>{ia()});import{existsSync as TBt,readFileSync as RBt}from"node:fs";import{homedir as PBt}from"node:os";import{join as IBt}from"node:path";function OBt(e){if(Array.isArray(e))return e[0];return e}function MBt(e){if(!e||typeof e!=="object")return{isAgentMemory:!1};let t=e,r=t.service==="agentmemory"||t.status==="healthy"||t.status==="ok",n=typeof t.version==="string"?t.version:void 0;return{isAgentMemory:r,version:n}}function DBt(e,t){if(!e||typeof e!=="object")return[];let r=e.results;if(!Array.isArray(r))return[];let n=[];for(let i of r){if(!i||typeof i!=="object")continue;let o=i,s=o.observation??{},a=typeof s.narrative==="string"?s.narrative.trim():"",c=Array.isArray(s.facts)?s.facts.filter((d)=>typeof d==="string").join("; ").trim():"",l=typeof s.title==="string"?s.title.trim():"",u=a||c||l;if(!u)continue;if(n.push({text:u,score:typeof o.score==="number"?o.score:0,source:typeof s.type==="string"?s.type:void 0}),n.length>=t)break}return n}function w3(e){let t=e.env??process.env;if(t.OMA_NO_AGENTMEMORY==="1")return null;if(t.AGENTMEMORY_URL)return t.AGENTMEMORY_URL;let r=IBt(e.homeDir??PBt(),".agentmemory","endpoint.json");if(!TBt(r))return null;try{let n=JSON.parse(RBt(r,"utf-8"));if(typeof n.port==="number")return`http://127.0.0.1:${n.port}`;if(typeof n.url==="string"&&n.url.trim())return n.url;return null}catch{return null}}function $6(){return{name:"none",deliveryIdentity:{identity:"none"},enabled:!1,async status(){return{provider:"none",reachable:!1,reason:"disabled"}},async observe(){return!1},async remember(){return!1},async recall(){return[]}}}function a1(e={}){let t=e.env??process.env,r=w3({env:t,homeDir:e.homeDir}),n={OMA_PROFILE:t.OMA_PROFILE??process.env.OMA_PROFILE??"0"},i,o=()=>i??=o1(e.projectDir,n);function s(l,u){let d=l?o1(l,n):o();if(u!==void 0&&u!==d.profile)return null;if(e.projectDir&&d.project!==o().project)return null;return d}let a=null;async function c(){if(a)return a;if(t.OMA_NO_AGENTMEMORY==="1")return a={provider:"agentmemory",reachable:!1,reason:"disabled by OMA_NO_AGENTMEMORY"},a;if(!r)return a={provider:"agentmemory",reachable:!1,reason:"endpoint not configured"},a;try{let l=await Xt.get(`${r}/agentmemory/health`,{timeout:e.healthTimeoutMs??500,validateStatus:()=>!0}),u=MBt(l.data),d=OBt(l.headers["x-agentmemory-version"])??u.version;if(l.status<200||l.status>=300)return a={provider:"agentmemory",endpoint:r,reachable:!1,version:d,reason:`health returned ${l.status}`},a;return a={provider:"agentmemory",endpoint:r,reachable:!0,version:d,...u.isAgentMemory?{}:{reason:`unrecognized health payload (version ${d??"unknown"}) — proceeding`}},a}catch(l){return a={provider:"agentmemory",endpoint:r,reachable:!1,reason:l instanceof Error?l.message:String(l)},a}}return{name:"agentmemory",deliveryIdentity:{endpoint:E6(r)},get enabled(){return t.OMA_NO_AGENTMEMORY!=="1"},status:c,async observe(l){let u=await c();if(!u.reachable||!u.endpoint)return!1;try{let d=s(l.projectDir,l.profile);if(!d)return!1;let p=await Xt.post(`${u.endpoint}/agentmemory/observe`,{hookType:l.source,sessionId:qX(d,l.sessionId),project:d.project,cwd:d.projectDir,timestamp:new Date().toISOString(),data:{content:l.content}},{headers:{"content-type":"application/json"},timeout:e.observeTimeoutMs??500,validateStatus:()=>!0});return p.status>=200&&p.status<300}catch{return!1}},async remember(l){let u=await c();if(!u.reachable||!u.endpoint)return!1;try{let d=s(l.projectDir,l.profile);if(!d)return!1;let p=await Xt.post(`${u.endpoint}/agentmemory/remember`,{sessionId:qX(d,l.sessionId),content:l.content,importance:l.importance??5,project:d.project,concepts:[d.concept]},{headers:{"content-type":"application/json"},timeout:e.rememberTimeoutMs??500,validateStatus:()=>!0});return p.status>=200&&p.status<300}catch{return!1}},async recall(l){let u=l.query.trim();if(!u)return[];let d=await c();if(!d.reachable||!d.endpoint)return[];let p=Math.max(1,Math.min(l.limit??8,50));try{let f=await OP({endpoint:d.endpoint,scope:o(),query:u,limit:p,timeoutMs:e.recallTimeoutMs});return DBt(f,p)}catch{return[]}}}}var c1=v(()=>{Na();nw();KX();k3()});import{closeSync as jBt,constants as YX,existsSync as Dln,mkdirSync as LBt,openSync as NBt,readFileSync as FBt,unlinkSync as XX,writeSync as zBt}from"node:fs";import{hostname as g$e}from"node:os";import{join as y$e}from"node:path";function C6(e){return y$e(e,".agents","_install.lock")}function BBt(e){try{return process.kill(e,0),!0}catch(t){if(t.code==="ESRCH")return!1;return!0}}function m$e(e){let t={pid:process.pid,hostname:g$e(),startedAt:new Date().toISOString(),uid:typeof process.getuid==="function"?process.getuid():0},r=y$e(e,"..");LBt(r,{recursive:!0});let n=NBt(e,YX.O_WRONLY|YX.O_CREAT|YX.O_EXCL,384);try{let i=JSON.stringify(t,null,2);zBt(n,i)}finally{jBt(n)}}function UBt(e){try{let t=FBt(e,"utf-8"),r=JSON.parse(t);if(r&&typeof r==="object"&&!Array.isArray(r)&&typeof r.pid==="number"&&typeof r.hostname==="string"&&typeof r.startedAt==="string"&&typeof r.uid==="number")return r;return null}catch{return null}}function l1(e){let t=C6(e);return(()=>{try{return m$e(t),{ok:!0,release:()=>{try{XX(t)}catch{}}}}catch(n){if(n.code!=="EEXIST")throw n;let i=UBt(t);if(!i)return{ok:!1,held:{pid:-1,hostname:"unknown",startedAt:new Date().toISOString(),uid:0},reason:"active"};if(i.hostname!==g$e())return{ok:!1,held:i,reason:"active"};let o=BBt(i.pid),s=Date.now()-new Date(i.startedAt).getTime();if(!o&&s>x3){try{XX(t)}catch{return{ok:!1,held:i,reason:"stale-but-uncleared"}}try{return m$e(t),{ok:!0,release:()=>{try{XX(t)}catch{}}}}catch{return{ok:!1,held:i,reason:"stale-but-uncleared"}}}return{ok:!1,held:i,reason:"active"}}})()}function _6(e){let t=!1,r=new Map,n=()=>{if(t)return;t=!0;for(let i of h$e){let o=r.get(i);if(o)process.removeListener(i,o)}r.clear(),e()};for(let i of h$e){let o=()=>{n(),process.exit(HBt[i])};r.set(i,o),process.once(i,o)}return n}var x3=60000,h$e,HBt;var T6=v(()=>{h$e=["SIGINT","SIGTERM"],HBt={SIGINT:130,SIGTERM:143}});import{randomUUID as GBt}from"node:crypto";import{mkdirSync as v$e,readdirSync as WBt,readFileSync as VBt,renameSync as qBt,rmdirSync as b$e,unlinkSync as KBt,writeFileSync as JBt}from"node:fs";import{hostname as k$e}from"node:os";import{basename as YBt,dirname as XBt,join as MP}from"node:path";function ZX(e,t){try{KBt(MP(e,t))}catch(r){if(r.code!=="ENOENT")throw r}try{b$e(e)}catch(r){if(!["ENOENT","ENOTEMPTY","EEXIST"].includes(r.code??""))throw r}}function QBt(e){try{let t=WBt(e);if(t.length===0){b$e(e);return}for(let r of t){if(!r.startsWith("owner-"))continue;let n=JSON.parse(VBt(MP(e,r),"utf-8"));if(!n||typeof n!=="object")continue;let{pid:i,hostname:o,startedAt:s}=n;if(o!==k$e()||typeof i!=="number"||!Number.isSafeInteger(i)||i<=0||typeof s!=="string")continue;let a=Date.parse(s);if(!Number.isFinite(a)||Date.now()-a<=x3)continue;try{process.kill(i,0)}catch(c){if(c.code==="ESRCH")ZX(e,r)}}}catch{}}function $c(e){let t=XBt(e);v$e(t,{recursive:!0,mode:448});let r=`owner-${process.pid}-${GBt()}`,n=MP(t,`.${YBt(e)}-${r}`);v$e(n,{mode:448});let i=!1;try{JBt(MP(n,r),JSON.stringify({pid:process.pid,hostname:k$e(),startedAt:new Date().toISOString()}),{encoding:"utf-8",mode:384});for(let o=0;o<2;o++)try{qBt(n,e),i=!0;let s=!1;return{ok:!0,release(){if(s)return;ZX(e,r),s=!0}}}catch(s){if(!ZBt.has(s.code??""))throw s;if(o===0)QBt(e)}return{ok:!1}}finally{if(!i)ZX(n,r)}}var ZBt;var R6=v(()=>{T6();ZBt=new Set(["EEXIST","ENOTEMPTY","ENOTDIR","EPERM","EACCES"])});import{existsSync as eUt,mkdirSync as tUt,readFileSync as rUt,writeFileSync as nUt}from"node:fs";import{dirname as iUt,join as DP}from"node:path";function za(e){return DP(e,".agentmemory")}function A3(e){return DP(za(e),"endpoint.json")}function aw(e){return DP(za(e),jP)}function QX(e){return DP(za(e),sw)}function cw(e){if(typeof e.port==="number")return`http://127.0.0.1:${e.port}`;if(typeof e.url==="string"&&e.url.trim())return e.url;return null}function eZ(e){if(typeof e?.port==="number")return e.port;if(typeof e?.url!=="string")return null;try{let t=new URL(e.url);if((t.hostname==="127.0.0.1"||t.hostname==="localhost")&&t.port)return Number(t.port)}catch{return null}return null}function u1(e){let t=A3(e);if(!eUt(t))return null;try{return JSON.parse(rUt(t,"utf-8"))}catch{return null}}function d1(e,t){let r=A3(e);tUt(iUt(r),{recursive:!0,mode:448}),nUt(r,`${JSON.stringify(t,null,2)}
|
|
426
426
|
`,{encoding:"utf-8",mode:384})}var jP="oma-agentmemory.pid",sw="backups";var lw=()=>{};import{spawn as oUt,spawnSync as w$e}from"node:child_process";import{existsSync as sUt,mkdirSync as x$e,readFileSync as aUt,writeFileSync as cUt}from"node:fs";import{homedir as lUt}from"node:os";import{dirname as uUt}from"node:path";function A$e(e){let t=aw(e);if(!sUt(t))return;let r=Number(aUt(t,"utf-8").trim());if(!Number.isInteger(r)||r<=0)return;return r}function S$e(e){if(!e)return!1;try{return process.kill(e,0),!0}catch{return!1}}function dUt(e,t){let r=aw(e);x$e(uUt(r),{recursive:!0,mode:448}),cUt(r,`${t}
|
|
427
|
-
`,{encoding:"utf-8",mode:384})}async function P6(e){let t=A$e(e.homeDir),n=await a1({env:e.env,homeDir:e.homeDir}).status();return{action:e.action??"status",homeDir:e.homeDir,pidPath:aw(e.homeDir),ownedPid:t,ownedProcessRunning:S$e(t),endpoint:w3({env:e.env,homeDir:e.homeDir}),status:n,dryRun:e.dryRun===!0,message:e.message}}async function w2(e){let t=e.homeDir??lUt(),r=e.env??process.env,n=e.bin??r.AGENTMEMORY_BIN??"agentmemory",i=N4(e.port)??o5;if(e.action==="status")return P6({homeDir:t,env:r,action:"status",dryRun:e.dryRun});if(e.action==="stop"||e.action==="restart"){let o=A$e(t),s,a=!1,c;if(!e.dryRun){if(a=!0,c=w$e(n,["stop"],{env:r,timeout:1e4,encoding:"utf-8"}).status,o&&S$e(o)){try{process.kill(o,"SIGTERM")}catch{}s=o}}if(e.action==="stop")return{...await P6({homeDir:t,env:r,action:"stop",dryRun:e.dryRun}),stoppedPid:s,attemptedFallbackStop:a,fallbackStopCode:c}}if(e.action==="start"||e.action==="restart"){if(e.dryRun)return P6({homeDir:t,env:r,action:e.action,dryRun:!0,message:`${n} would be started on port ${i}`});if(e.action==="start"){let a=await P6({homeDir:t,env:r,action:"start"});if(a.status.reachable)return{...a,message:`AgentMemory already running on ${a.endpoint??`port ${i}`}; reusing`};w$e(n,["stop"],{env:r,timeout:1e4,encoding:"utf-8"})}x$e(za(t),{recursive:!0,mode:448}),d1(t,{port:i,source:"oma",updatedAt:new Date().toISOString()});let o=oUt(n,[],{detached:!0,cwd:za(t),env:{...r,III_REST_PORT:String(i)},stdio:"ignore"}),s=await new Promise((a,c)=>{let l=!1,u=(d)=>{if(l)return;l=!0,d()};o.once("error",(d)=>{u(()=>c(d))}),o.once("exit",(d)=>{u(()=>c(Error(`agentmemory exited during startup with code ${d}`)))}),setTimeout(()=>{u(()=>a(o.pid??0))},250)});if(s>0)o.unref(),dUt(t,s);return{...await P6({homeDir:t,env:r,action:e.action,dryRun:!1}),startedPid:s}}return P6({homeDir:t,env:r,action:e.action,dryRun:e.dryRun})}var LP=v(()=>{e1();c1();lw()});import{spawnSync as pUt}from"node:child_process";import{mkdirSync as fUt}from"node:fs";import{homedir as mUt}from"node:os";function tZ(){let e=pUt("bun",["install","-g","@agentmemory/agentmemory"],{encoding:"utf-8",stdio:"inherit"});return Promise.resolve({status:e.status,error:e.error?.message})}async function NP(e={}){let t=e.homeDir??mUt(),r=za(t),n=A3(t),i=N4(e.port),o=!1,s,a,c,l,u,d=e.endpoint?{url:e.endpoint,source:"oma",updatedAt:new Date().toISOString()}:i?{port:i,source:"oma",updatedAt:new Date().toISOString()}:null;if(!e.dryRun){if(fUt(r,{recursive:!0,mode:448}),d)d1(t,d),o=!0}if(e.install){if(e.dryRun)a=!0;else{let h=await(e.installer??tZ)();if(s=h.status,c=h.error,s!==0)throw Error(c??`AgentMemory install failed with exit code ${s}`)}if(e.dryRun||s===0)l=n3({homeDir:t,platform:e.platform??process.platform,dryRun:e.dryRun,port:i??o5,runner:e.serviceRunner})}if(e.start)u=await w2({action:"start",homeDir:t,env:e.env,port:i??o5,dryRun:e.dryRun});let p=cw(d??u1(t)??{})??w3({env:e.env,homeDir:t}),m=await a1({env:e.env,homeDir:t}).status();return{homeDir:t,configDir:r,endpointPath:n,endpoint:p,endpointConfigured:p!==null,wroteEndpoint:o,dryRun:e.dryRun===!0,installRequested:e.install===!0,installExitCode:s,installSkipped:a,installError:c,service:l,startRequested:e.start===!0,daemon:u,installCommand:E$e,startCommand:$$e,status:m}}var E$e="bun install -g @agentmemory/agentmemory",$$e="agentmemory";var rZ=v(()=>{e1();c1();LP();lw()});import{accessSync as hUt,constants as gUt,existsSync as yUt,mkdirSync as vUt,statSync as bUt}from"node:fs";import{homedir as _$e}from"node:os";import{dirname as kUt,join as FP,resolve as T$e}from"node:path";function R$e(e,t){let r=t==="win32"?Object.keys(e).find((n)=>n.toLowerCase()==="path"):"PATH";return e.PATH??(r?e[r]:void 0)??""}function wUt(e){let t=e.env.AGENTMEMORY_BIN||"agentmemory",r=e.platform==="win32"?";":":";return(t.includes("/")||t.includes("\\")?[t]:[...R$e(e.env,e.platform).split(r),FP(e.homeDir,".bun","bin"),FP(e.homeDir,".local","bin")].filter(Boolean).flatMap((i)=>(e.platform==="win32"?["",".exe",".cmd",".bat"]:[""]).map((o)=>FP(i,`${t}${o}`)))).map((i)=>T$e(i)).find((i)=>{try{return hUt(i,gUt.X_OK),bUt(i).isFile()}catch{return!1}})}function P$e(e,t,r){return!t.AGENTMEMORY_URL&&(!r&&!yUt(A3(e))||r?.source==="oma"&&typeof r.port==="number"&&!r.url&&!r.socket)}async function zP(e={},t={}){let r=e.env??process.env;if(r.OMA_NO_AGENTMEMORY==="1")return{state:"disabled",installed:!1,started:!1,reused:!1};let n={...xUt,...t},i=e.homeDir??_$e();if(!P$e(i,r,u1(i)))return C$e(e,n);let o=FP(za(i),"oma-lifecycle.lock");vUt(za(i),{recursive:!0,mode:448});let s=n.now()+(e.lockTimeoutMs??90000);for(;;){let a=$c(o);if(a.ok)try{return await C$e(e,n)}finally{a.release()}let c=s-n.now();if(c<=0)throw Error("Timed out waiting for the shared AgentMemory lifecycle lock; another install or update is still running.");await n.sleep(Math.min(250,c))}}async function C$e(e,t){let r=e.env??process.env,n=e.homeDir??_$e(),i=e.platform??process.platform,o=u1(n),s=r.AGENTMEMORY_URL||o&&cw(o),a=P$e(n,r,o);if(!a&&!s)throw Error("AgentMemory endpoint configuration is invalid; repair ~/.agentmemory/endpoint.json before installing OMA.");let c=a?N4(o?.port)??o5:void 0,l=s||`http://127.0.0.1:${c}`,u={homeDir:n,platform:i,env:{...r,AGENTMEMORY_URL:l}},d=await t.status(u);if(d.reachable){if(!s)d1(n,{port:c,source:"oma",updatedAt:new Date().toISOString()});return{state:"ready",endpoint:l,installed:!1,started:!1,reused:!0}}if(!a)throw Error(`Configured AgentMemory service is unavailable: ${d.reason??"health check failed"}. Check the configured endpoint; OMA did not change it or start a local daemon.`);if(!s)d1(n,{port:c,source:"oma",updatedAt:new Date().toISOString()});let p=t.findBinary(u),f=!1;if(!p){e.onProgress?.("Installing the default AgentMemory service package...");let y=await t.installPackage();if(y.status!==0)throw Error(`AgentMemory package installation failed: ${y.error??`exit code ${y.status}`}. Run oma memory setup --install --start to retry.`);if(f=!0,p=t.findBinary(u),!p)throw Error("AgentMemory was installed but its executable was not found. Check the Bun global binary path, then run oma memory setup --install --start.")}if(t.servicePresence({homeDir:n,platform:i}).supported){e.onProgress?.("Installing and starting the AgentMemory background service...");let y=t.installService({homeDir:n,platform:i,port:c,executable:p,runtimePath:[...new Set([...R$e(r,i).split(i==="win32"?";":":").filter(Boolean).map((k)=>T$e(k)),kUt(process.execPath)])].join(i==="win32"?";":":")});if(!y.activated)throw Error(`AgentMemory service activation failed: ${y.commandError??y.message}. Run oma memory setup --install --start to retry.`)}else{e.onProgress?.("Starting AgentMemory...");try{await t.startDaemon({action:"start",homeDir:n,env:u.env,bin:p,port:c})}catch(y){throw Error(`AgentMemory startup failed: ${y instanceof Error?y.message:String(y)}. Run oma memory setup --start to retry.`)}}let h=t.now()+(e.healthTimeoutMs??15000),g;do{if(g=await t.status(u),g.reachable)return{state:"ready",endpoint:l,installed:f,started:!0,reused:!1};let y=h-t.now();if(y<=0)break;await t.sleep(Math.min(250,y))}while(t.now()<=h);throw Error(`AgentMemory did not become ready: ${g.reason??"health check timed out"}. Run oma memory status and oma memory setup --start to diagnose and retry.`)}var xUt;var nZ=v(()=>{e1();c1();R6();LP();lw();rZ();xUt={status:(e)=>a1({homeDir:e.homeDir,env:e.env,healthTimeoutMs:500}).status(),findBinary:wUt,installPackage:tZ,servicePresence:Sk,installService:n3,startDaemon:w2,now:Date.now,sleep:(e)=>new Promise((t)=>setTimeout(t,e))}});import{execFileSync as iZ}from"node:child_process";function SUt(e){try{let t=iZ("git",["config","--get",e],{encoding:"utf-8",stdio:["pipe","pipe","ignore"]}).trim();return t.length>0?t:null}catch{return null}}function EUt(e,t){iZ("git",["config","--global",e,t],{encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}function $Ut(){try{return iZ("git",["--version"],{encoding:"utf-8",stdio:["pipe","pipe","ignore"]}),!0}catch{return!1}}function oZ(){if(!$Ut())return{available:!1,items:[],allOk:!1,issueCount:0};let e=AUt.map((r)=>{let n=SUt(r.key),i=n===r.desired;return{key:r.key,desired:r.desired,current:n,ok:i,promptMessage:r.promptMessage,fixHint:`git config --global ${r.key} ${r.desired}`}}),t=e.filter((r)=>!r.ok).length;return{available:!0,items:e,allOk:t===0,issueCount:t}}async function O6(e={}){let t=e.nonInteractive===!0,r=oZ();if(!r.available)return fe.info(I6.default.dim("Git not available — skipped recommended git config.")),{available:!1,applied:[],skipped:[],alreadyOk:[]};let n=r.items.filter((a)=>a.ok).map((a)=>a.key),i=r.items.filter((a)=>!a.ok);if(i.length===0)return fe.success(I6.default.green("Recommended git config OK (rerere.enabled, init.defaultBranch).")),{available:!0,applied:[],skipped:[],alreadyOk:n};if(t){let a=i.map((c)=>c.fixHint).join("; ");return fe.info(I6.default.dim(`Skipped recommended git config (${i.map((c)=>c.key).join(", ")}). Run interactively or: ${a}`)),{available:!0,applied:[],skipped:i.map((c)=>c.key),alreadyOk:n}}let o=[],s=[];for(let a of i){let c=a.current===null?"unset":`currently ${JSON.stringify(a.current)}`,l=await bn({message:`${a.promptMessage} (${c})`,initialValue:!0});if(at(l)||!l){s.push(a.key),fe.info(I6.default.dim(`Skipped ${a.key}. Fix later: ${a.fixHint}`));continue}try{EUt(a.key,a.desired),o.push(a.key),fe.success(I6.default.green(`Set git config --global ${a.key} ${a.desired}`))}catch(u){s.push(a.key),fe.error(`Failed to set ${a.key}: ${u instanceof Error?u.message:String(u)}`)}}return{available:!0,applied:o,skipped:s,alreadyOk:n}}var I6,AUt;var uw=v(()=>{Lt();I6=be(_e(),1),AUt=[{key:"rerere.enabled",desired:"true",promptMessage:"Enable git rerere? (Recommended for multi-agent merge conflict reuse)"},{key:"init.defaultBranch",desired:"main",promptMessage:"Set git init.defaultBranch to main? (Recommended global default)"}]});var sa,I$e;var sZ=v(()=>{sa={domain:[{name:"oma-architecture",desc:"Evaluate system boundaries and architectural tradeoffs. Use for architecture decisions, design reviews, and ADRs."},{name:"oma-backend",desc:"Implement server APIs, authentication, and application data access. Schema modeling and query tuning use oma-db."},{name:"oma-db",desc:"Design schemas and migrations, tune queries, or plan vector retrieval and database operations. Application API implementation uses oma-backend."},{name:"oma-frontend",desc:"Implement or modify web UI in React, Next.js, or Angular. Use for components, pages, styles, forms, and frontend state or data flows."},{name:"oma-mobile",desc:"Implement Flutter, React Native, or native Swift apps. Use for mobile screens, widgets, platform integrations, and application data flows."}],design:[{name:"oma-design",desc:"Define or review a visual system, DESIGN.md, or redesign direction. Use for typography, layout, color, motion, and interaction design decisions."}],coordination:[{name:"oma-brainstorm",desc:"Explore goals, constraints, and alternative approaches before choosing a design. Use when the user requests ideation or design exploration."},{name:"oma-coordination",desc:"Coordinate assigned specialist tasks and handoffs manually. Use when supervising a multi-agent project step by step."},{name:"oma-orchestration",desc:"Dispatch and supervise parallel specialist agents with durable task state. Use when automated multi-agent execution is requested."},{name:"oma-pm",desc:"Turn product requirements into scoped tasks with dependencies and acceptance criteria. Use for implementation planning and prioritization."},{name:"oma-qa",desc:"Review changes for correctness, security, accessibility, and performance. Use for scoped quality reviews or verification plans; bug fixes use oma-debug."}],utility:[{name:"oma-academic-writing",desc:"Draft and revise academic prose against a rubric, evidence, and citation requirements. Use for essays, reports, literature reviews, or academic style audits."},{name:"oma-debug",desc:"Diagnose a reproducible failure, fix its cause, and verify the regression. Use for crashes, incorrect behavior, and failing tests."},{name:"oma-docs",desc:"Check documentation references, sync docs to code changes, and detect translation drift. Use for documentation maintenance in a repository."},{name:"oma-explanation",desc:"Create an offline HTML explanation of a code change (diff, PR, branch) or of a topic, system, or question. Use when a visual walkthrough document is requested."},{name:"oma-hwp",desc:"Convert Hangul HWP, HWPX, or HWPML documents to Markdown with kordoc. Use for text, table, and image extraction from these formats."},{name:"oma-image",desc:"Generate raster images or reference-guided variations through the OMA image CLI. Use for image assets or explicit vendor comparisons; pixel editing uses an editor."},{name:"oma-market",desc:"Research customer pain points, trends, and competitors through the OMA market engine. Use for market discovery or voice-of-customer analysis."},{name:"oma-pdf",desc:"Extract PDF text, headings, tables, and images into Markdown using opendataloader-pdf. Use for PDF parsing, not PDF layout creation."},{name:"oma-recap",desc:"Summarize AI conversation histories for a specified date or period. Use for daily work recaps and cross-tool activity summaries."},{name:"oma-refactor",desc:"Restructure existing code while preserving observable behavior. Use for targeted technical debt or hotspot work with characterization tests."},{name:"oma-scholar",desc:"Search academic literature and generate, validate, or compare Knows paper sidecars. Use for claim/evidence analysis and literature synthesis."},{name:"oma-scm",desc:"Manage Git branches, merges, conflicts, commits, and release baselines. Use for repository history and change-management operations."},{name:"oma-search",desc:"Find external documentation, web sources, or remote code with citations. Local code navigation uses the configured code tools."},{name:"oma-security",desc:"Scan application source, agent skills, and MCP components; run penetration tests against scoped web test deployments, validate findings, and configure scan gates. Use oma-qa for broad quality reviews and domain skills for remediation."},{name:"oma-skill-creation",desc:"Create or revise OMA skills and their references. Use for skill routing, execution contracts, conditional loading, and authoring validation."},{name:"oma-slide",desc:"Create, import, revise, or export presentation decks through the OMA slide CLI. Use for HTML slides and PDF, PNG, or PPTX deck delivery."},{name:"oma-translation",desc:"Translate or revise localized UI strings and prose while preserving meaning, terminology, placeholders, and structure."},{name:"oma-video",desc:"Create short, explainer, or recorded-demo videos through the OMA video CLI. Use for scripts, narration, assets, composition, and video delivery."},{name:"oma-voice",desc:"Generate speech or transcribe audio locally with Voicebox. Use for narration, voice assets, dictation, and meeting transcription."}],infrastructure:[{name:"oma-dev-workflow",desc:"Configure development tasks, git hooks, CI/CD, or release automation. Use when creating or fixing a repository development workflow."},{name:"oma-observability",desc:"Design or troubleshoot telemetry, SLOs, and incident diagnostics. Route to the relevant signal, system boundary, or vendor guide."},{name:"oma-tf-infra",desc:"Create or review Terraform infrastructure and plans. Use for cloud resources, IAM, networking, state management, and infrastructure changes."}]},I$e={fullstack:["oma-architecture","oma-brainstorm","oma-design","oma-frontend","oma-backend","oma-mobile","oma-db","oma-pm","oma-qa","oma-debug","oma-scm","oma-tf-infra","oma-dev-workflow"],"fullstack-web":["oma-architecture","oma-brainstorm","oma-design","oma-frontend","oma-backend","oma-db","oma-pm","oma-qa","oma-debug","oma-scm","oma-dev-workflow"],"fullstack-mobile":["oma-architecture","oma-brainstorm","oma-design","oma-mobile","oma-backend","oma-db","oma-pm","oma-qa","oma-debug","oma-scm","oma-dev-workflow"],frontend:["oma-architecture","oma-brainstorm","oma-design","oma-frontend","oma-pm","oma-qa","oma-debug","oma-scm"],backend:["oma-architecture","oma-brainstorm","oma-backend","oma-db","oma-pm","oma-qa","oma-debug","oma-scm","oma-dev-workflow"],mobile:["oma-architecture","oma-brainstorm","oma-mobile","oma-pm","oma-qa","oma-debug","oma-scm"],devops:["oma-architecture","oma-brainstorm","oma-tf-infra","oma-dev-workflow","oma-observability","oma-pm","oma-qa","oma-debug","oma-scm"],research:["oma-scholar","oma-market","oma-pdf","oma-hwp","oma-academic-writing","oma-search","oma-translation","oma-scm"],content:["oma-design","oma-image","oma-voice","oma-academic-writing","oma-translation","oma-scm"],all:[...sa.domain,...sa.design,...sa.coordination,...sa.utility,...sa.infrastructure].map((e)=>e.name)}});import{existsSync as M$e,readdirSync as CUt,rmSync as _Ut,statSync as TUt}from"node:fs";import{homedir as D$e}from"node:os";import{dirname as aZ,join as S3,relative as RUt,resolve as BP,sep as O$e}from"node:path";function cZ(e){if([Jr(),D$e()].some((t)=>BP(t)===BP(e)))return gc().backup;return S3(e,".agents","backup")}function Gi(e,...t){return S3(cZ(e),...t)}function lZ(e){let t=aZ(e);for(let r=0;r<64;r++){if([Jr(),D$e()].some((i)=>BP(i)===BP(t)))return t;if(M$e(S3(t,".agents")))return t;let n=aZ(t);if(n===t)break;t=n}return null}function uZ(e){let t=lZ(e);if(t){let i=RUt(t,e).split(O$e).join("__"),o=S3(cZ(t),j$e);return{dir:o,prefix:`${i}.backup-`,original:S3(o,`${i}.original`)}}let r=e.split(O$e).pop()??e,n=aZ(e);return{dir:n,prefix:`.${r}.backup-`,original:S3(n,`.${r}.original`)}}function L$e(e,t={}){let r=cZ(e);if(!M$e(r))return[];let n=t.maxAgeMs??PUt,i=t.nowMs??Date.now(),o=[];for(let s of CUt(r)){if(s===j$e)continue;let a=S3(r,s);try{if(i-TUt(a).mtimeMs<n)continue;_Ut(a,{recursive:!0,force:!0}),o.push(a)}catch{}}return o}var j$e="safe-write",PUt=2592000000;var x2=v(()=>{pi();Yr()});import*as $r from"node:fs";import*as A2 from"node:path";function Qo(e,t){l5(e,`${JSON.stringify(t,null,2)}
|
|
427
|
+
`,{encoding:"utf-8",mode:384})}async function P6(e){let t=A$e(e.homeDir),n=await a1({env:e.env,homeDir:e.homeDir}).status();return{action:e.action??"status",homeDir:e.homeDir,pidPath:aw(e.homeDir),ownedPid:t,ownedProcessRunning:S$e(t),endpoint:w3({env:e.env,homeDir:e.homeDir}),status:n,dryRun:e.dryRun===!0,message:e.message}}async function w2(e){let t=e.homeDir??lUt(),r=e.env??process.env,n=e.bin??r.AGENTMEMORY_BIN??"agentmemory",i=N4(e.port)??o5;if(e.action==="status")return P6({homeDir:t,env:r,action:"status",dryRun:e.dryRun});if(e.action==="stop"||e.action==="restart"){let o=A$e(t),s,a=!1,c;if(!e.dryRun){if(a=!0,c=w$e(n,["stop"],{env:r,timeout:1e4,encoding:"utf-8"}).status,o&&S$e(o)){try{process.kill(o,"SIGTERM")}catch{}s=o}}if(e.action==="stop")return{...await P6({homeDir:t,env:r,action:"stop",dryRun:e.dryRun}),stoppedPid:s,attemptedFallbackStop:a,fallbackStopCode:c}}if(e.action==="start"||e.action==="restart"){if(e.dryRun)return P6({homeDir:t,env:r,action:e.action,dryRun:!0,message:`${n} would be started on port ${i}`});if(e.action==="start"){let a=await P6({homeDir:t,env:r,action:"start"});if(a.status.reachable)return{...a,message:`AgentMemory already running on ${a.endpoint??`port ${i}`}; reusing`};w$e(n,["stop"],{env:r,timeout:1e4,encoding:"utf-8"})}x$e(za(t),{recursive:!0,mode:448}),d1(t,{port:i,source:"oma",updatedAt:new Date().toISOString()});let o=oUt(n,[],{detached:!0,cwd:za(t),env:{...r,III_REST_PORT:String(i)},stdio:"ignore"}),s=await new Promise((a,c)=>{let l=!1,u=(d)=>{if(l)return;l=!0,d()};o.once("error",(d)=>{u(()=>c(d))}),o.once("exit",(d)=>{u(()=>c(Error(`agentmemory exited during startup with code ${d}`)))}),setTimeout(()=>{u(()=>a(o.pid??0))},250)});if(s>0)o.unref(),dUt(t,s);return{...await P6({homeDir:t,env:r,action:e.action,dryRun:!1}),startedPid:s}}return P6({homeDir:t,env:r,action:e.action,dryRun:e.dryRun})}var LP=v(()=>{e1();c1();lw()});import{spawnSync as pUt}from"node:child_process";import{mkdirSync as fUt}from"node:fs";import{homedir as mUt}from"node:os";function tZ(){let e=pUt("bun",["install","-g","@agentmemory/agentmemory"],{encoding:"utf-8",stdio:"inherit"});return Promise.resolve({status:e.status,error:e.error?.message})}async function NP(e={}){let t=e.homeDir??mUt(),r=za(t),n=A3(t),i=N4(e.port),o=!1,s,a,c,l,u,d=e.endpoint?{url:e.endpoint,source:"oma",updatedAt:new Date().toISOString()}:i?{port:i,source:"oma",updatedAt:new Date().toISOString()}:null;if(!e.dryRun){if(fUt(r,{recursive:!0,mode:448}),d)d1(t,d),o=!0}if(e.install){if(e.dryRun)a=!0;else{let h=await(e.installer??tZ)();if(s=h.status,c=h.error,s!==0)throw Error(c??`AgentMemory install failed with exit code ${s}`)}if(e.dryRun||s===0)l=n3({homeDir:t,platform:e.platform??process.platform,dryRun:e.dryRun,port:i??o5,runner:e.serviceRunner})}if(e.start)u=await w2({action:"start",homeDir:t,env:e.env,port:i??o5,dryRun:e.dryRun});let p=cw(d??u1(t)??{})??w3({env:e.env,homeDir:t}),m=await a1({env:e.env,homeDir:t}).status();return{homeDir:t,configDir:r,endpointPath:n,endpoint:p,endpointConfigured:p!==null,wroteEndpoint:o,dryRun:e.dryRun===!0,installRequested:e.install===!0,installExitCode:s,installSkipped:a,installError:c,service:l,startRequested:e.start===!0,daemon:u,installCommand:E$e,startCommand:$$e,status:m}}var E$e="bun install -g @agentmemory/agentmemory",$$e="agentmemory";var rZ=v(()=>{e1();c1();LP();lw()});import{accessSync as hUt,constants as gUt,existsSync as yUt,mkdirSync as vUt,statSync as bUt}from"node:fs";import{homedir as _$e}from"node:os";import{dirname as kUt,join as FP,resolve as T$e}from"node:path";function R$e(e,t){let r=t==="win32"?Object.keys(e).find((n)=>n.toLowerCase()==="path"):"PATH";return e.PATH??(r?e[r]:void 0)??""}function wUt(e){let t=e.env.AGENTMEMORY_BIN||"agentmemory",r=e.platform==="win32"?";":":";return(t.includes("/")||t.includes("\\")?[t]:[...R$e(e.env,e.platform).split(r),FP(e.homeDir,".bun","bin"),FP(e.homeDir,".local","bin")].filter(Boolean).flatMap((i)=>(e.platform==="win32"?["",".exe",".cmd",".bat"]:[""]).map((o)=>FP(i,`${t}${o}`)))).map((i)=>T$e(i)).find((i)=>{try{return hUt(i,gUt.X_OK),bUt(i).isFile()}catch{return!1}})}function P$e(e,t,r){return!t.AGENTMEMORY_URL&&(!r&&!yUt(A3(e))||r?.source==="oma"&&typeof r.port==="number"&&!r.url&&!r.socket)}async function zP(e={},t={}){let r=e.env??process.env;if(r.OMA_NO_AGENTMEMORY==="1")return{state:"disabled",installed:!1,started:!1,reused:!1};let n={...xUt,...t},i=e.homeDir??_$e();if(!P$e(i,r,u1(i)))return C$e(e,n);let o=FP(za(i),"oma-lifecycle.lock");vUt(za(i),{recursive:!0,mode:448});let s=n.now()+(e.lockTimeoutMs??90000);for(;;){let a=$c(o);if(a.ok)try{return await C$e(e,n)}finally{a.release()}let c=s-n.now();if(c<=0)throw Error("Timed out waiting for the shared AgentMemory lifecycle lock; another install or update is still running.");await n.sleep(Math.min(250,c))}}async function C$e(e,t){let r=e.env??process.env,n=e.homeDir??_$e(),i=e.platform??process.platform,o=u1(n),s=r.AGENTMEMORY_URL||o&&cw(o),a=P$e(n,r,o);if(!a&&!s)throw Error("AgentMemory endpoint configuration is invalid; repair ~/.agentmemory/endpoint.json before installing OMA.");let c=a?N4(o?.port)??o5:void 0,l=s||`http://127.0.0.1:${c}`,u={homeDir:n,platform:i,env:{...r,AGENTMEMORY_URL:l}},d=await t.status(u);if(d.reachable){if(!s)d1(n,{port:c,source:"oma",updatedAt:new Date().toISOString()});return{state:"ready",endpoint:l,installed:!1,started:!1,reused:!0}}if(!a)throw Error(`Configured AgentMemory service is unavailable: ${d.reason??"health check failed"}. Check the configured endpoint; OMA did not change it or start a local daemon.`);if(!s)d1(n,{port:c,source:"oma",updatedAt:new Date().toISOString()});let p=t.findBinary(u),f=!1;if(!p){e.onProgress?.("Installing the default AgentMemory service package...");let y=await t.installPackage();if(y.status!==0)throw Error(`AgentMemory package installation failed: ${y.error??`exit code ${y.status}`}. Run oma memory setup --install --start to retry.`);if(f=!0,p=t.findBinary(u),!p)throw Error("AgentMemory was installed but its executable was not found. Check the Bun global binary path, then run oma memory setup --install --start.")}if(t.servicePresence({homeDir:n,platform:i}).supported){e.onProgress?.("Installing and starting the AgentMemory background service...");let y=t.installService({homeDir:n,platform:i,port:c,executable:p,runtimePath:[...new Set([...R$e(r,i).split(i==="win32"?";":":").filter(Boolean).map((k)=>T$e(k)),kUt(process.execPath)])].join(i==="win32"?";":":")});if(!y.activated)throw Error(`AgentMemory service activation failed: ${y.commandError??y.message}. Run oma memory setup --install --start to retry.`)}else{e.onProgress?.("Starting AgentMemory...");try{await t.startDaemon({action:"start",homeDir:n,env:u.env,bin:p,port:c})}catch(y){throw Error(`AgentMemory startup failed: ${y instanceof Error?y.message:String(y)}. Run oma memory setup --start to retry.`)}}let h=t.now()+(e.healthTimeoutMs??15000),g;do{if(g=await t.status(u),g.reachable)return{state:"ready",endpoint:l,installed:f,started:!0,reused:!1};let y=h-t.now();if(y<=0)break;await t.sleep(Math.min(250,y))}while(t.now()<=h);throw Error(`AgentMemory did not become ready: ${g.reason??"health check timed out"}. Run oma memory status and oma memory setup --start to diagnose and retry.`)}var xUt;var nZ=v(()=>{e1();c1();R6();LP();lw();rZ();xUt={status:(e)=>a1({homeDir:e.homeDir,env:e.env,healthTimeoutMs:500}).status(),findBinary:wUt,installPackage:tZ,servicePresence:Sk,installService:n3,startDaemon:w2,now:Date.now,sleep:(e)=>new Promise((t)=>setTimeout(t,e))}});import{execFileSync as iZ}from"node:child_process";function SUt(e){try{let t=iZ("git",["config","--get",e],{encoding:"utf-8",stdio:["pipe","pipe","ignore"]}).trim();return t.length>0?t:null}catch{return null}}function EUt(e,t){iZ("git",["config","--global",e,t],{encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}function $Ut(){try{return iZ("git",["--version"],{encoding:"utf-8",stdio:["pipe","pipe","ignore"]}),!0}catch{return!1}}function oZ(){if(!$Ut())return{available:!1,items:[],allOk:!1,issueCount:0};let e=AUt.map((r)=>{let n=SUt(r.key),i=n===r.desired;return{key:r.key,desired:r.desired,current:n,ok:i,promptMessage:r.promptMessage,fixHint:`git config --global ${r.key} ${r.desired}`}}),t=e.filter((r)=>!r.ok).length;return{available:!0,items:e,allOk:t===0,issueCount:t}}async function O6(e={}){let t=e.nonInteractive===!0,r=oZ();if(!r.available)return fe.info(I6.default.dim("Git not available — skipped recommended git config.")),{available:!1,applied:[],skipped:[],alreadyOk:[]};let n=r.items.filter((a)=>a.ok).map((a)=>a.key),i=r.items.filter((a)=>!a.ok);if(i.length===0)return fe.success(I6.default.green("Recommended git config OK (rerere.enabled, init.defaultBranch).")),{available:!0,applied:[],skipped:[],alreadyOk:n};if(t){let a=i.map((c)=>c.fixHint).join("; ");return fe.info(I6.default.dim(`Skipped recommended git config (${i.map((c)=>c.key).join(", ")}). Run interactively or: ${a}`)),{available:!0,applied:[],skipped:i.map((c)=>c.key),alreadyOk:n}}let o=[],s=[];for(let a of i){let c=a.current===null?"unset":`currently ${JSON.stringify(a.current)}`,l=await bn({message:`${a.promptMessage} (${c})`,initialValue:!0});if(at(l)||!l){s.push(a.key),fe.info(I6.default.dim(`Skipped ${a.key}. Fix later: ${a.fixHint}`));continue}try{EUt(a.key,a.desired),o.push(a.key),fe.success(I6.default.green(`Set git config --global ${a.key} ${a.desired}`))}catch(u){s.push(a.key),fe.error(`Failed to set ${a.key}: ${u instanceof Error?u.message:String(u)}`)}}return{available:!0,applied:o,skipped:s,alreadyOk:n}}var I6,AUt;var uw=v(()=>{Lt();I6=be(_e(),1),AUt=[{key:"rerere.enabled",desired:"true",promptMessage:"Enable git rerere? (Recommended for multi-agent merge conflict reuse)"},{key:"init.defaultBranch",desired:"main",promptMessage:"Set git init.defaultBranch to main? (Recommended global default)"}]});var sa,I$e;var sZ=v(()=>{sa={domain:[{name:"oma-architecture",desc:"Evaluate system boundaries and architectural tradeoffs. Use for architecture decisions, design reviews, and ADRs."},{name:"oma-backend",desc:"Implement server APIs, authentication, and application data access. Schema modeling and query tuning use oma-db."},{name:"oma-db",desc:"Design schemas and migrations, tune queries, or plan vector retrieval and database operations. Application API implementation uses oma-backend."},{name:"oma-frontend",desc:"Implement or modify web UI in React, Next.js, or Angular. Use for components, pages, styles, forms, and frontend state or data flows."},{name:"oma-mobile",desc:"Implement Flutter, React Native, or native Swift apps. Use for mobile screens, widgets, platform integrations, and application data flows."}],design:[{name:"oma-design",desc:"Define or review a visual system, DESIGN.md, or redesign direction. Use for typography, layout, color, motion, and interaction design decisions."}],coordination:[{name:"oma-brainstorm",desc:"Explore goals, constraints, and alternative approaches before choosing a design. Use when the user requests ideation or design exploration."},{name:"oma-coordination",desc:"Coordinate assigned specialist tasks and handoffs manually. Use when supervising a multi-agent project step by step."},{name:"oma-orchestration",desc:"Dispatch and supervise parallel specialist agents with durable task state. Use when automated multi-agent execution is requested."},{name:"oma-pm",desc:"Turn product requirements into scoped tasks with dependencies and acceptance criteria. Use for implementation planning and prioritization."},{name:"oma-qa",desc:"Review changes for correctness, security, accessibility, and performance. Use for scoped quality reviews or verification plans; bug fixes use oma-debug."}],utility:[{name:"oma-academic-writing",desc:"Draft and revise academic prose against a rubric, evidence, and citation requirements. Use for essays, reports, literature reviews, or academic style audits."},{name:"oma-debug",desc:"Diagnose a reproducible failure, fix its cause, and verify the regression. Use for crashes, incorrect behavior, and failing tests."},{name:"oma-docs",desc:"Check documentation references, sync docs to code changes, and detect translation drift. Use for documentation maintenance in a repository."},{name:"oma-explanation",desc:"Create an offline HTML explanation of a code change (diff, PR, branch) or of a topic, system, or question. Use when a visual walkthrough document is requested."},{name:"oma-hwp",desc:"Convert Hangul HWP, HWPX, or HWPML documents to Markdown with kordoc. Use for text, table, and image extraction from these formats."},{name:"oma-image",desc:"Generate raster images or reference-guided variations through the OMA image CLI. Use for image assets or explicit vendor comparisons; pixel editing uses an editor."},{name:"oma-market",desc:"Research customer pain points, trends, and competitors through the OMA market engine. Use for market discovery or voice-of-customer analysis."},{name:"oma-pdf",desc:"Extract PDF text, headings, tables, and images into Markdown using opendataloader-pdf. Use for PDF parsing, not PDF layout creation."},{name:"oma-recap",desc:"Summarize AI conversation histories for a specified date or period. Use for daily work recaps and cross-tool activity summaries."},{name:"oma-refactor",desc:"Restructure existing code while preserving observable behavior. Use for targeted technical debt or hotspot work with characterization tests."},{name:"oma-scholar",desc:"Search academic literature and generate, validate, or compare Knows paper sidecars. Use for claim/evidence analysis and literature synthesis."},{name:"oma-scm",desc:"Manage Git branches, merges, conflicts, commits, and release baselines. Use for repository history and change-management operations."},{name:"oma-search",desc:"Find external documentation, web sources, or remote code with citations. Local code navigation uses the configured code tools."},{name:"oma-security",desc:"Scan application source, agent skills, and MCP components; run penetration tests against scoped web test deployments, validate findings, and configure scan gates. Use oma-qa for broad quality reviews and domain skills for remediation."},{name:"oma-skill-creation",desc:"Create or revise OMA skills and their references. Use for skill routing, execution contracts, conditional loading, and authoring validation."},{name:"oma-slide",desc:"Create, import, revise, or export presentation decks through the OMA slide CLI. Use for HTML slides and PDF, PNG, or PPTX deck delivery."},{name:"oma-translation",desc:"Translate or revise localized UI strings and prose while preserving meaning, terminology, placeholders, and structure."},{name:"oma-video",desc:"Create videos through the OMA video CLI, or analyze and edit existing clips with media tools. Use for frame extraction, visual analysis, silence cuts, dubbing assembly, scripts, and composition; audio-only work uses oma-voice."},{name:"oma-voice",desc:"Generate or transcribe speech with Voicebox, or process existing audio locally. Use for narration, transcripts, timed speech, and loudness conversion; video editing uses oma-video."}],infrastructure:[{name:"oma-dev-workflow",desc:"Configure development tasks, git hooks, CI/CD, or release automation. Use when creating or fixing a repository development workflow."},{name:"oma-observability",desc:"Design or troubleshoot telemetry, SLOs, and incident diagnostics. Route to the relevant signal, system boundary, or vendor guide."},{name:"oma-tf-infra",desc:"Create or review Terraform infrastructure and plans. Use for cloud resources, IAM, networking, state management, and infrastructure changes."}]},I$e={fullstack:["oma-architecture","oma-brainstorm","oma-design","oma-frontend","oma-backend","oma-mobile","oma-db","oma-pm","oma-qa","oma-debug","oma-scm","oma-tf-infra","oma-dev-workflow"],"fullstack-web":["oma-architecture","oma-brainstorm","oma-design","oma-frontend","oma-backend","oma-db","oma-pm","oma-qa","oma-debug","oma-scm","oma-dev-workflow"],"fullstack-mobile":["oma-architecture","oma-brainstorm","oma-design","oma-mobile","oma-backend","oma-db","oma-pm","oma-qa","oma-debug","oma-scm","oma-dev-workflow"],frontend:["oma-architecture","oma-brainstorm","oma-design","oma-frontend","oma-pm","oma-qa","oma-debug","oma-scm"],backend:["oma-architecture","oma-brainstorm","oma-backend","oma-db","oma-pm","oma-qa","oma-debug","oma-scm","oma-dev-workflow"],mobile:["oma-architecture","oma-brainstorm","oma-mobile","oma-pm","oma-qa","oma-debug","oma-scm"],devops:["oma-architecture","oma-brainstorm","oma-tf-infra","oma-dev-workflow","oma-observability","oma-pm","oma-qa","oma-debug","oma-scm"],research:["oma-scholar","oma-market","oma-pdf","oma-hwp","oma-academic-writing","oma-search","oma-translation","oma-scm"],content:["oma-design","oma-image","oma-voice","oma-academic-writing","oma-translation","oma-scm"],all:[...sa.domain,...sa.design,...sa.coordination,...sa.utility,...sa.infrastructure].map((e)=>e.name)}});import{existsSync as M$e,readdirSync as CUt,rmSync as _Ut,statSync as TUt}from"node:fs";import{homedir as D$e}from"node:os";import{dirname as aZ,join as S3,relative as RUt,resolve as BP,sep as O$e}from"node:path";function cZ(e){if([Jr(),D$e()].some((t)=>BP(t)===BP(e)))return gc().backup;return S3(e,".agents","backup")}function Gi(e,...t){return S3(cZ(e),...t)}function lZ(e){let t=aZ(e);for(let r=0;r<64;r++){if([Jr(),D$e()].some((i)=>BP(i)===BP(t)))return t;if(M$e(S3(t,".agents")))return t;let n=aZ(t);if(n===t)break;t=n}return null}function uZ(e){let t=lZ(e);if(t){let i=RUt(t,e).split(O$e).join("__"),o=S3(cZ(t),j$e);return{dir:o,prefix:`${i}.backup-`,original:S3(o,`${i}.original`)}}let r=e.split(O$e).pop()??e,n=aZ(e);return{dir:n,prefix:`.${r}.backup-`,original:S3(n,`.${r}.original`)}}function L$e(e,t={}){let r=cZ(e);if(!M$e(r))return[];let n=t.maxAgeMs??PUt,i=t.nowMs??Date.now(),o=[];for(let s of CUt(r)){if(s===j$e)continue;let a=S3(r,s);try{if(i-TUt(a).mtimeMs<n)continue;_Ut(a,{recursive:!0,force:!0}),o.push(a)}catch{}}return o}var j$e="safe-write",PUt=2592000000;var x2=v(()=>{pi();Yr()});import*as $r from"node:fs";import*as A2 from"node:path";function Qo(e,t){l5(e,`${JSON.stringify(t,null,2)}
|
|
428
428
|
`)}function ir(e,t,r={}){let n=DUt(e),i=A2.dirname(n),o=A2.basename(n),s=`${Date.now()}-${process.pid}-${MUt++}`,a=A2.join(i,`.${o}.tmp-${s}`);$r.mkdirSync(i,{recursive:!0}),$r.writeFileSync(a,t,{encoding:"utf-8",mode:r.mode});try{if(r.mode!==void 0)$r.chmodSync(a,r.mode);$r.renameSync(a,n)}catch(c){if(c instanceof Error&&c.code==="EXDEV"){if($r.copyFileSync(a,n),r.mode!==void 0)$r.chmodSync(n,r.mode);$r.unlinkSync(a);return}try{$r.unlinkSync(a)}catch{}throw c}}function DUt(e){try{if(!$r.lstatSync(e).isSymbolicLink())return e}catch{return e}try{return $r.realpathSync(e)}catch{return A2.resolve(A2.dirname(e),$r.readlinkSync(e))}}function l5(e,t){let r=A2.basename(e);if(OUt.has(r))throw Error(`safeWriteFile: refusing to write ${r} — vendor-owned file (FORBIDDEN_VENDOR_FILES). targetPath=${e}`);if($r.mkdirSync(A2.dirname(e),{recursive:!0}),$r.existsSync(e)){let n=uZ(e);if($r.mkdirSync(n.dir,{recursive:!0}),!$r.existsSync(n.original))$r.copyFileSync(e,n.original);$r.copyFileSync(e,A2.join(n.dir,`${n.prefix}${Date.now()}-${process.pid}`))}ir(e,t),LUt(e)}function jUt(e){let{dir:t,prefix:r}=uZ(e),n;try{n=$r.readdirSync(t,{withFileTypes:!0})}catch{return[]}let i=n.filter((o)=>o.isFile()&&o.name.startsWith(r)).map((o)=>A2.join(t,o.name));if(i.length===0)return[];return i.sort((o,s)=>{try{let a=$r.statSync(o).mtimeMs;return $r.statSync(s).mtimeMs-a}catch{return 0}})}function LUt(e){let r=jUt(e).slice(IUt);for(let n of r)try{$r.unlinkSync(n)}catch{}}var IUt=3,OUt,MUt=0;var Qn=v(()=>{x2();OUt=new Set([".claude.json"])});import{existsSync as NUt,lstatSync as FUt,readdirSync as zUt,readFileSync as BUt}from"node:fs";import{join as UP}from"node:path";function H4(e){try{let t=JSON.parse(BUt(UP(e,HP),"utf8"));if(t?.schemaVersion===1&&Array.isArray(t.skills))return new Set(t.skills.filter(dZ))}catch{}return new Set}function GP(e,t){let r=H4(e);for(let n of t)if(dZ(n))r.add(n);ir(UP(e,HP),`${JSON.stringify({schemaVersion:1,skills:[...r].sort()},null,2)}
|
|
429
429
|
`)}function N$e(e,t){let r=UP(e,".agents/skills");if(!NUt(r))return;let n=zUt(r,{withFileTypes:!0}).filter((i)=>{if(!i.isDirectory()||!dZ(i.name))return!1;try{return FUt(UP(t,".agents/skills",i.name)).isDirectory()}catch{return!1}}).map((i)=>i.name);GP(t,n)}var HP=".agents/state/managed-skills.json",dZ=(e)=>typeof e==="string"&&/^(?:_shared|[A-Za-z0-9][A-Za-z0-9._-]*)$/.test(e);var M6=v(()=>{Qn()});import{lstatSync as F$e,readFileSync as z$e,unlinkSync as UUt}from"node:fs";function dw(e){try{let t=F$e(e);if(!t.isFile())throw Error("Invalid Serena lock file");let r=z$e(e,"utf8");if(r.trim()===""){if(Date.now()-t.mtimeMs<=pZ)return!0;let i=F$e(e);if(!i.isFile()||i.dev!==t.dev||i.ino!==t.ino||i.mtimeMs!==t.mtimeMs||i.ctimeMs!==t.ctimeMs||z$e(e,"utf8")!==r)return!0;return UUt(e),!1}let n=Number(r);if(!Number.isSafeInteger(n)||n<=0)throw Error("Invalid process ID");try{return process.kill(n,0),!0}catch(i){return i.code!=="ESRCH"}}catch(t){if(t.code==="ENOENT")return!1;throw t}}var pZ=60000;var fZ=()=>{};import{randomUUID as HUt}from"node:crypto";import{existsSync as B$e,mkdirSync as U$e,readFileSync as GUt,renameSync as WUt,unlinkSync as VUt,writeFileSync as qUt}from"node:fs";import mZ from"node:path";function H$e(){return gc().state}function G$e(){return mZ.join(H$e(),"vault-index.json")}function W$e(){let e=G$e();if(!B$e(e))return{version:1,entries:[]};try{let t=JSON.parse(GUt(e,"utf-8"));if(t&&t.version===1&&Array.isArray(t.entries))return t}catch{}return{version:1,entries:[]}}function hZ(e,t){let r=mZ.dirname(e);if(!B$e(r))U$e(r,{recursive:!0,mode:448});let n=mZ.join(r,`.vault-index-${process.pid}-${HUt()}.tmp`);try{qUt(n,`${JSON.stringify(t,null,2)}
|
|
430
430
|
`,{encoding:"utf-8",mode:384,flag:"wx"}),WUt(n,e)}finally{try{VUt(n)}catch{}}}function V$e(e){let t=G$e();U$e(H$e(),{recursive:!0,mode:448});let r=$c(`${t}.lock`);if(!r.ok)throw Error("Vault index is being updated; retry this command.");try{let n=W$e();if(e(n))hZ(t,n)}finally{r.release()}}async function gZ(e){try{let t=await import("@napi-rs/keyring");return new t.Entry(KUt,e)}catch(t){throw Error(`oma vault requires @napi-rs/keyring and an OS credential store. On headless Linux, install and start libsecret/gnome-keyring. Underlying error: ${String(t)}`)}}function pw(e){return/^[A-Za-z0-9._-]{1,64}$/.test(e)}function yZ(e){if(!pw(e))throw Error(`Invalid vault key name ${JSON.stringify(e)}. Must be 1-64 chars of alphanumeric, dot, underscore, or hyphen.`)}async function WP(e,t){if(yZ(e),t.length===0)throw Error("Refusing to store empty value in vault.");let r=await gZ(e),n=null;return V$e((i)=>{if(n=r.getPassword(),r.setPassword(t),i.entries.some((o)=>o.name===e))return!1;return i.entries.push({name:e,createdAt:new Date().toISOString()}),!0}),{overwrote:n!==null}}async function D6(e){return yZ(e),(await gZ(e)).getPassword()}async function q$e(e){yZ(e);let t=await gZ(e),r=!1;return V$e((n)=>{r=t.deletePassword();let i=n.entries.filter((o)=>o.name!==e);if(i.length===n.entries.length)return!1;return n.entries=i,!0}),r}function K$e(){return W$e().entries.slice().sort((e,t)=>e.name.localeCompare(t.name))}var KUt="oh-my-agent";var j6=v(()=>{pi();R6()});import{execFileSync as J$e}from"node:child_process";import{createHash as JUt,randomUUID as Y$e}from"node:crypto";import{chmodSync as VP,closeSync as YUt,existsSync as es,fstatSync as XUt,linkSync as ZUt,lstatSync as aa,mkdirSync as QUt,openSync as eHt,readdirSync as qP,readFileSync as Cc,realpathSync as E3,renameSync as tHt,unlinkSync as KP,writeFileSync as vZ}from"node:fs";import{hostname as X$e}from"node:os";import{dirname as L6,isAbsolute as rHt,join as Fr,relative as Q$e,resolve as Z$e,sep as nHt}from"node:path";import{isDeepStrictEqual as bZ}from"node:util";function iHt(e){if(!Number.isSafeInteger(e)||e<=0)return!1;try{return process.kill(e,0),!0}catch(t){return t.code!=="ESRCH"}}function oHt(){if(process.platform==="win32")return J$e("powershell.exe",["-NoProfile","-NonInteractive","-Command",'Get-CimInstance Win32_Process | ForEach-Object { "{0} {1}" -f $_.ProcessId, $_.CommandLine }'],{encoding:"utf8",timeout:5000});return J$e("ps",["-axo","pid=,command="],{encoding:"utf8",timeout:5000})}function p1(e,t){let r=Q$e(e,t);return r===""||!rHt(r)&&r!==".."&&!r.startsWith(`..${nHt}`)}function fw(e){try{return E3(e)}catch(t){if(t.code!=="ENOENT")throw t;let r=L6(e);if(r===e)throw t;return Fr(fw(r),Q$e(r,e))}}async function eCe(e){let t={copied:[],conflicts:[],deferred:[]},r=Z$e(e.homeDir),n=Z$e(e.destinationHome),i=Fr(r,".config","oma"),o=Fr(r,".agents","schedule"),s=Fr(r,".agents","backup"),a=Fr(n,"state","migrations"),c=e.isProcessAlive??iHt,l=JUt("sha256").update(r).digest("hex").slice(0,16),u,d;function p(w){return d??=(e.listProcesses??oHt)(),d.split(`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oh-my-agent",
|
|
3
|
-
"version": "20.
|
|
3
|
+
"version": "20.11.1",
|
|
4
4
|
"description": "A specialist team for the coding agent you already use: 12 roles, 21 workflows and 33 skills that plan, build in parallel, review and debug, leaving plans, ADRs and results as files. Gates wait for your own tests. Also research, slides and video. One .agents/ folder for Claude Code, Codex, Cursor and 11 more.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|