oh-my-agent 19.0.2 → 20.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli-main.js +7 -7
- 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 Dr.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()}`,Dr.env[e.envVar]);else this.emit(`optionEnv:${e.name()}`)}})}_parseOptionsImplied(){let e=new wV(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=AV(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=AV(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)=>M_(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=k4.basename(e,k4.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(Dr.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 PKr;var gm=v(()=>{D_();N7e();Qv();kV();xV();PKr=new Nu});var w4;var eb=v(()=>{w4={name:"oh-my-agent",version:"19.0.2",description:"Portable multi-agent harness for .agents-based skills and workflows across Antigravity, Claude Code, Codex, OpenCode, and 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 F7e}from"node:os";import{isAbsolute as Kkt,join as Jkt,resolve as Xkt}from"node:path";function z7e(e,t){let r=Array.from(e).some((n)=>{let i=n.charCodeAt(0);return i<32||i===127});if(!Kkt(e)||r)throw Error(`${t} must be an absolute path without control characters`);return Xkt(e)}function qr(e=process.env,t=F7e()){return z7e(e.OMA_HOME||Jkt(t,".oma"),"OMA_HOME")}function fs(e=process.env,t=F7e()){return e.OMA_STATE_HOME===void 0?qr(e,t):z7e(e.OMA_STATE_HOME,"OMA_STATE_HOME")}var N_=()=>{};import{homedir as Ykt}from"node:os";import{join as tb}from"node:path";function cc(e=process.env,t=Ykt()){let r=qr(e,t),n=tb(r,"state");return{home:r,definitions:tb(r,".agents"),state:n,serena:tb(n,"serena"),schedule:tb(r,"schedule"),backup:tb(r,"backup")}}var ci=v(()=>{N_();N_()});import*as Fu from"node:fs";import{homedir as Zkt}from"node:os";import*as xl from"node:path";function U7e(e){if(F_)throw Error("install context already set in this process");F_=e}function H7e(){if(F_===null)throw Error("install context not set — entry point must call setInstallContext()");return F_}function x4(){return H7e().installRoot}function yi(){return H7e().mode}function kt(){try{return yi()}catch{return"project"}}function cg(){try{return x4()}catch{return process.cwd()}}function z_(e,t,r=Zkt()){return t==="project"&&xl.resolve(e)===xl.resolve(r)}function G7e(e){if(e.global===!0||process.env.OMA_INSTALL_GLOBAL==="1"){let r=qr();return Qkt(r),{installRoot:r,mode:"global"}}return{installRoot:process.cwd(),mode:"project"}}function Qkt(e){if(!xl.isAbsolute(e))throw Error("OMA_HOME must be absolute path");for(let n of B7e)if(e===n||e.startsWith(n+xl.sep))throw Error(`OMA_HOME=${e} is forbidden (system path ${n})`);let t,r=xl.resolve(e);try{while(!Fu.existsSync(r)){let n=xl.dirname(r);if(n===r)break;r=n}if(t=Fu.realpathSync(r),!Fu.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 B7e)if(t===n||t.startsWith(n+xl.sep))throw Error(`OMA_HOME=${e} is forbidden (system path ${n})`);try{Fu.accessSync(t,Fu.constants.W_OK)}catch{throw Error(`OMA_HOME=${e} is not writable`)}}var F_=null,B7e;var vi=v(()=>{ci();B7e=["/etc","/usr","/bin","/boot","/sys","/proc"]});import{join as owt}from"node:path";function vm(e){return e.endsWith("/")?e:`${e}/`}function l2(e,t){let r=t.split("/").filter((n)=>n.length>0);return owt(e,...r)}var nr=".agents",ym,bi,S1,XKr,YKr,ZKr,swt=".antigravitycli",V7e,awt=".migration-backup",cwt="docs/plans",lwt=".qwen/tmp",uwt,dwt,pwt,fwt,mwt,hwt,gwt,EV;var un=v(()=>{ym=`${nr}/skills`,bi=`${nr}/results`,S1=`${nr}/state`,XKr=`${S1}/sessions`,YKr=`${S1}/retry`,ZKr=`${S1}/archive`,V7e=`${nr}/backup`;uwt=vm(bi),dwt=vm(S1),pwt=vm(swt),fwt=vm(V7e),mwt=vm(awt),hwt=vm(cwt),gwt=vm(lwt),EV=[".agents/oma-config.local.cue",".agents/oma-config.local.yaml",pwt,uwt,dwt,fwt,hwt,mwt,gwt]});var dn="first-fluke/oh-my-agent",Ht,Al,$V,ywt,vwt,A4,Zn;var u2=v(()=>{un();Ht=ym,Al=["antigravity","claude","codex","commandcode","cursor","grok","kimi","kiro","qwen"],$V=["pi","opencode"],ywt=["copilot","hermes"],vwt=["zcode"],A4=[...Al,...$V,...ywt,...vwt].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 ue(e,t="Output as JSON"){return e.option("--json",t).option("--output <format>","Output format (text/json)",(r)=>{let n=r.trim().toLowerCase();if(!rb.includes(n))throw Error(`Invalid output format: ${r}. Expected one of ${rb.join(", ")}`);return n})}function bwt(e){if(e?.json)return"json";let t=e?.output?.trim().toLowerCase();if(t&&rb.includes(t))return t;if(process.env[J7e]?.trim().toLowerCase()==="json")return"json";return"text"}function de(e){return bwt(e)==="json"}function X7e(e){let t=e.at(-1);return t instanceof Nu?t:null}function kwt(e){let t=X7e(e);if(t)return t.opts();let r=e.at(-1);return r&&typeof r==="object"?r:{}}function wwt(e){if(e instanceof Error)return e.message;return String(e)}function E1(e){throw Error(e)}function _V(e,t){for(let r of e){let n=r.charCodeAt(0);if(n>=0&&n<=31||n===127)E1(`${t} must not contain control characters`)}}function xwt(e,t){if(_V(e,t),/[?#%]/.test(e))E1(`${t} must not contain ?, #, or %`);if(e.includes(".."))E1(`${t} must not contain '..'`)}function Awt(e,t){_V(e,t);try{new URL(e)}catch{E1(`${t} must be a valid absolute URL`)}}function CV(e,t,r="text"){if(typeof e==="string"){if(r==="identifier"){xwt(e,t);return}if(r==="url"){Awt(e,t);return}_V(e,t);return}if(Array.isArray(e))for(let[n,i]of e.entries())CV(i,`${t}[${n}]`,r)}function K7e(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 Swt(e){let t=e.vendor;if(typeof t==="string"){if(t.split(",").map((o)=>o.trim()).filter(Boolean).filter((o)=>!A4.includes(o)).length>0)E1(`vendor must be one of ${A4.join(", ")}`)}let r=e.output;if(typeof r==="string"&&!rb.includes(r))E1(`output must be one of ${rb.join(", ")}`)}function Ewt(e){let t=e.processedArgs??e.args??[];(e.registeredArguments??[]).forEach((i,o)=>{let s=i.name?.()||String(o),a=t[o];if(CV(a,s,K7e(s)),s==="agent-type"&&typeof a==="string"&&!q7e.includes(a))E1(`agent-type must be one of ${q7e.join(", ")}`)});let n=e.opts();Swt(n);for(let[i,o]of Object.entries(n))CV(o,i,K7e(i))}function $wt(e){return(e.registeredArguments??[]).map((t)=>({name:t.name?.()||"",required:!!t.required,variadic:!!t.variadic}))}function Cwt(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 Y7e(e){let t=[],r=e;while(r?.parent)t.unshift(r.name()),r=r.parent;return t.join(" ")}function _wt(e){return e.options.some((t)=>t.long==="--json"||t.long==="--output")}function Twt(e){return e.options.some((t)=>t.long==="--dry-run")}function Z7e(e){return{name:e.name(),path:Y7e(e),summary:e.summary()||void 0,description:e.description(),arguments:$wt(e),options:Cwt(e),supportsJsonOutput:_wt(e),supportsDryRun:Twt(e),subcommands:e.commands.map((t)=>Z7e(t))}}function Rwt(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||Y7e(i)===r)return i;n.push(...i.commands)}return null}function Q7e(e,t){let r=Rwt(e,t);if(!r)E1(`Unknown command: ${t}`);let n={name:e.name(),version:e.version(),description:e.description(),env:{[J7e]:"Set to json to force machine-readable output on commands that support it."},command:Z7e(r)};console.log(JSON.stringify(n,null,2))}function J(e,t={}){return async(...r)=>{let n=X7e(r);if(n&&r.length>=2)r[r.length-2]=n.optsWithGlobals();let i=kwt(r);try{if(n)Ewt(n);await e(...r)}catch(o){let s=wwt(o);if(t.supportsJsonOutput&&de(i))console.log(JSON.stringify({error:s},null,2));else console.error(s);process.exitCode=1}}}var J7e="OH_MY_AG_OUTPUT_FORMAT",rb,q7e;var $t=v(()=>{gm();u2();rb=["text","json"],q7e=["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 d2(e){if(e)Object.assign(lg,e);return lg}var ege,oJr,S4,nb,lg;var bm=v(()=>{oJr=Symbol("zod_brand");S4=class S4 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};nb=class nb extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}};(ege=globalThis).__zod_globalConfig??(ege.__zod_globalConfig={});lg=globalThis.__zod_globalConfig});function U_(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 RV(e,t="|"){return e.map((r)=>MV(r)).join(t)}function ob(e,t){if(typeof t==="bigint")return t.toString();return t}function H_(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw Error("cached value already set")}}}function G_(e){return e===null||e===void 0}function W_(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function rge(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 lr(e,t,r){let n=void 0;Object.defineProperty(e,t,{get(){if(n===tge)return;if(n===void 0)n=tge,n=r();return n},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function km(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function $1(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function PV(e){return JSON.stringify(e)}function nge(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function ib(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function wm(e){if(ib(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(ib(r)===!1)return!1;if(Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)return!1;return!0}function OV(e){if(wm(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 C1(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function zu(e,t,r){let n=new e._zod.constr(t??e._zod.def);if(!t||r?.parent)n._zod.parent=e;return n}function We(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 MV(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function sge(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}function Pwt(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=$1(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 km(this,"shape",s),s},checks:[]});return zu(e,o)}function Iwt(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=$1(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 km(this,"shape",s),s},checks:[]});return zu(e,o)}function Owt(e,t){if(!wm(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=$1(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return km(this,"shape",o),o}});return zu(e,i)}function Mwt(e,t){if(!wm(t))throw Error("Invalid input to safeExtend: expected a plain object");let r=$1(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return km(this,"shape",n),n}});return zu(e,r)}function Dwt(e,t){if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=$1(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return km(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return zu(e,r)}function jwt(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=$1(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 km(this,"shape",c),c},checks:[]});return zu(t,s)}function Lwt(e,t,r){let n=$1(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 km(this,"shape",o),o}});return zu(t,n)}function xm(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 cge(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 _1(e,t){return t.map((r)=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function B_(e){return typeof e==="string"?e:e?.message}function Sl(e,t,r){let n=e.message?e.message:B_(e.inst?._zod.def?.error?.(e))??B_(t?.error?.(e))??B_(r.customError?.(e))??B_(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 V_(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function lge(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 Am(...e){let[t,r,n]=e;if(typeof t==="string")return{message:t,code:"custom",input:r,inst:n};return{...t}}var tge,IV,ige,oge,age;var El=v(()=>{bm();tge=Symbol("evaluating");IV="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};ige=H_(()=>{if(lg.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});oge=new Set(["string","number","symbol"]);age={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 dge(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 pge(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 uge=(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,ob,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},q_,DV;var jV=v(()=>{bm();El();q_=ne("$ZodError",uge),DV=ne("$ZodError",uge,{Parent:Error})});var K_=(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 S4;if(s.issues.length){let a=new(i?.Err??e)(s.issues.map((c)=>Sl(c,o,d2())));throw IV(a,i?.callee),a}return s.value},J_=(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)=>Sl(c,o,d2())));throw IV(a,i?.callee),a}return s.value},sb=(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 S4;return o.issues.length?{success:!1,error:new(e??q_)(o.issues.map((s)=>Sl(s,i,d2())))}:{success:!0,data:o.value}},fge,ab=(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)=>Sl(s,i,d2())))}:{success:!0,data:o.value}},mge,hge=(e)=>(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return K_(e)(t,r,i)},gge=(e)=>(t,r,n)=>K_(e)(t,r,n),yge=(e)=>async(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return J_(e)(t,r,i)},vge=(e)=>async(t,r,n)=>J_(e)(t,r,n),bge=(e)=>(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return sb(e)(t,r,i)},kge=(e)=>(t,r,n)=>sb(e)(t,r,n),wge=(e)=>async(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return ab(e)(t,r,i)},xge=(e)=>async(t,r,n)=>ab(e)(t,r,n);var LV=v(()=>{bm();jV();El();fge=sb(DV),mge=ab(DV)});function Ige(){return new RegExp(Fwt,"u")}function Uge(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 Hge(e){return new RegExp(`^${Uge(e)}$`)}function Gge(e){let t=Uge({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(`^${zge}T(?:${n})$`)}var Age,Sge,Ege,$ge,Cge,_ge,Tge,Rge,NV=(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})$`)},Pge,Fwt="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Oge,Mge,Dge,jge,Lge,FV,Nge,Fge,zge="(?:(?:\\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])))",Bge,Wge=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Vge,zV,qge,Kge,Jge,Xge;var Y_=v(()=>{Age=/^[cC][0-9a-z]{6,}$/,Sge=/^[0-9a-z]+$/,Ege=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,$ge=/^[0-9a-vA-V]{20}$/,Cge=/^[A-Za-z0-9]{27}$/,_ge=/^[a-zA-Z0-9_-]{21}$/,Tge=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Rge=/^([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})$/,Pge=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;Oge=/^(?:(?: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])$/,Mge=/^(([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}|:))$/,Dge=/^((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])$/,jge=/^(([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])$/,Lge=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,FV=/^[A-Za-z0-9_-]*$/,Nge=/^https?$/,Fge=/^\+[1-9]\d{6,14}$/,Bge=new RegExp(`^${zge}$`);Vge=/^-?\d+$/,zV=/^-?\d+(?:\.\d+)?$/,qge=/^(?:true|false)$/i,Kge=/^null$/i,Jge=/^[^A-Z]*$/,Xge=/^[^a-z]*$/});var Ho,Yge,BV,UV,Zge,Qge,e6e,t6e,r6e,cb,n6e,i6e,o6e,s6e,a6e,c6e,l6e;var Z_=v(()=>{bm();Y_();El();Ho=ne("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Yge={number:"number",bigint:"bigint",object:"date"},BV=ne("$ZodCheckLessThan",(e,t)=>{Ho.init(e,t);let r=Yge[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})}}),UV=ne("$ZodCheckGreaterThan",(e,t)=>{Ho.init(e,t);let r=Yge[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})}}),Zge=ne("$ZodCheckMultipleOf",(e,t)=>{Ho.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):rge(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})}}),Qge=ne("$ZodCheckNumberFormat",(e,t)=>{Ho.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[i,o]=age[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=Vge}),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})}}),e6e=ne("$ZodCheckMaxLength",(e,t)=>{var r;Ho.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!G_(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=V_(i);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),t6e=ne("$ZodCheckMinLength",(e,t)=>{var r;Ho.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!G_(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=V_(i);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),r6e=ne("$ZodCheckLengthEquals",(e,t)=>{var r;Ho.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!G_(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=V_(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})}}),cb=ne("$ZodCheckStringFormat",(e,t)=>{var r,n;if(Ho.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=()=>{})}),n6e=ne("$ZodCheckRegex",(e,t)=>{cb.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})}}),i6e=ne("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Jge),cb.init(e,t)}),o6e=ne("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Xge),cb.init(e,t)}),s6e=ne("$ZodCheckIncludes",(e,t)=>{Ho.init(e,t);let r=C1(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})}}),a6e=ne("$ZodCheckStartsWith",(e,t)=>{Ho.init(e,t);let r=new RegExp(`^${C1(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})}}),c6e=ne("$ZodCheckEndsWith",(e,t)=>{Ho.init(e,t);let r=new RegExp(`.*${C1(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})}}),l6e=ne("$ZodCheckOverwrite",(e,t)=>{Ho.init(e,t),e._zod.check=(r)=>{r.value=t.tx(r.value)}})});class HV{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 PKr;var gm=v(()=>{D_();N7e();Qv();kV();xV();PKr=new Nu});var w4;var eb=v(()=>{w4={name:"oh-my-agent",version:"20.0.0",description:"Portable multi-agent harness for .agents-based skills and workflows across Antigravity, Claude Code, Codex, OpenCode, and 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 F7e}from"node:os";import{isAbsolute as Kkt,join as Jkt,resolve as Xkt}from"node:path";function z7e(e,t){let r=Array.from(e).some((n)=>{let i=n.charCodeAt(0);return i<32||i===127});if(!Kkt(e)||r)throw Error(`${t} must be an absolute path without control characters`);return Xkt(e)}function qr(e=process.env,t=F7e()){return z7e(e.OMA_HOME||Jkt(t,".oma"),"OMA_HOME")}function fs(e=process.env,t=F7e()){return e.OMA_STATE_HOME===void 0?qr(e,t):z7e(e.OMA_STATE_HOME,"OMA_STATE_HOME")}var N_=()=>{};import{homedir as Ykt}from"node:os";import{join as tb}from"node:path";function cc(e=process.env,t=Ykt()){let r=qr(e,t),n=tb(r,"state");return{home:r,definitions:tb(r,".agents"),state:n,serena:tb(n,"serena"),schedule:tb(r,"schedule"),backup:tb(r,"backup")}}var ci=v(()=>{N_();N_()});import*as Fu from"node:fs";import{homedir as Zkt}from"node:os";import*as xl from"node:path";function U7e(e){if(F_)throw Error("install context already set in this process");F_=e}function H7e(){if(F_===null)throw Error("install context not set — entry point must call setInstallContext()");return F_}function x4(){return H7e().installRoot}function yi(){return H7e().mode}function kt(){try{return yi()}catch{return"project"}}function cg(){try{return x4()}catch{return process.cwd()}}function z_(e,t,r=Zkt()){return t==="project"&&xl.resolve(e)===xl.resolve(r)}function G7e(e){if(e.global===!0||process.env.OMA_INSTALL_GLOBAL==="1"){let r=qr();return Qkt(r),{installRoot:r,mode:"global"}}return{installRoot:process.cwd(),mode:"project"}}function Qkt(e){if(!xl.isAbsolute(e))throw Error("OMA_HOME must be absolute path");for(let n of B7e)if(e===n||e.startsWith(n+xl.sep))throw Error(`OMA_HOME=${e} is forbidden (system path ${n})`);let t,r=xl.resolve(e);try{while(!Fu.existsSync(r)){let n=xl.dirname(r);if(n===r)break;r=n}if(t=Fu.realpathSync(r),!Fu.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 B7e)if(t===n||t.startsWith(n+xl.sep))throw Error(`OMA_HOME=${e} is forbidden (system path ${n})`);try{Fu.accessSync(t,Fu.constants.W_OK)}catch{throw Error(`OMA_HOME=${e} is not writable`)}}var F_=null,B7e;var vi=v(()=>{ci();B7e=["/etc","/usr","/bin","/boot","/sys","/proc"]});import{join as owt}from"node:path";function vm(e){return e.endsWith("/")?e:`${e}/`}function l2(e,t){let r=t.split("/").filter((n)=>n.length>0);return owt(e,...r)}var nr=".agents",ym,bi,S1,XKr,YKr,ZKr,swt=".antigravitycli",V7e,awt=".migration-backup",cwt="docs/plans",lwt=".qwen/tmp",uwt,dwt,pwt,fwt,mwt,hwt,gwt,EV;var un=v(()=>{ym=`${nr}/skills`,bi=`${nr}/results`,S1=`${nr}/state`,XKr=`${S1}/sessions`,YKr=`${S1}/retry`,ZKr=`${S1}/archive`,V7e=`${nr}/backup`;uwt=vm(bi),dwt=vm(S1),pwt=vm(swt),fwt=vm(V7e),mwt=vm(awt),hwt=vm(cwt),gwt=vm(lwt),EV=[".agents/oma-config.local.cue",".agents/oma-config.local.yaml",pwt,uwt,dwt,fwt,hwt,mwt,gwt]});var dn="first-fluke/oh-my-agent",Ht,Al,$V,ywt,vwt,A4,Zn;var u2=v(()=>{un();Ht=ym,Al=["antigravity","claude","codex","commandcode","cursor","grok","kimi","kiro","qwen"],$V=["pi","opencode"],ywt=["copilot","hermes"],vwt=["zcode"],A4=[...Al,...$V,...ywt,...vwt].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 ue(e,t="Output as JSON"){return e.option("--json",t).option("--output <format>","Output format (text/json)",(r)=>{let n=r.trim().toLowerCase();if(!rb.includes(n))throw Error(`Invalid output format: ${r}. Expected one of ${rb.join(", ")}`);return n})}function bwt(e){if(e?.json)return"json";let t=e?.output?.trim().toLowerCase();if(t&&rb.includes(t))return t;if(process.env[J7e]?.trim().toLowerCase()==="json")return"json";return"text"}function de(e){return bwt(e)==="json"}function X7e(e){let t=e.at(-1);return t instanceof Nu?t:null}function kwt(e){let t=X7e(e);if(t)return t.opts();let r=e.at(-1);return r&&typeof r==="object"?r:{}}function wwt(e){if(e instanceof Error)return e.message;return String(e)}function E1(e){throw Error(e)}function _V(e,t){for(let r of e){let n=r.charCodeAt(0);if(n>=0&&n<=31||n===127)E1(`${t} must not contain control characters`)}}function xwt(e,t){if(_V(e,t),/[?#%]/.test(e))E1(`${t} must not contain ?, #, or %`);if(e.includes(".."))E1(`${t} must not contain '..'`)}function Awt(e,t){_V(e,t);try{new URL(e)}catch{E1(`${t} must be a valid absolute URL`)}}function CV(e,t,r="text"){if(typeof e==="string"){if(r==="identifier"){xwt(e,t);return}if(r==="url"){Awt(e,t);return}_V(e,t);return}if(Array.isArray(e))for(let[n,i]of e.entries())CV(i,`${t}[${n}]`,r)}function K7e(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 Swt(e){let t=e.vendor;if(typeof t==="string"){if(t.split(",").map((o)=>o.trim()).filter(Boolean).filter((o)=>!A4.includes(o)).length>0)E1(`vendor must be one of ${A4.join(", ")}`)}let r=e.output;if(typeof r==="string"&&!rb.includes(r))E1(`output must be one of ${rb.join(", ")}`)}function Ewt(e){let t=e.processedArgs??e.args??[];(e.registeredArguments??[]).forEach((i,o)=>{let s=i.name?.()||String(o),a=t[o];if(CV(a,s,K7e(s)),s==="agent-type"&&typeof a==="string"&&!q7e.includes(a))E1(`agent-type must be one of ${q7e.join(", ")}`)});let n=e.opts();Swt(n);for(let[i,o]of Object.entries(n))CV(o,i,K7e(i))}function $wt(e){return(e.registeredArguments??[]).map((t)=>({name:t.name?.()||"",required:!!t.required,variadic:!!t.variadic}))}function Cwt(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 Y7e(e){let t=[],r=e;while(r?.parent)t.unshift(r.name()),r=r.parent;return t.join(" ")}function _wt(e){return e.options.some((t)=>t.long==="--json"||t.long==="--output")}function Twt(e){return e.options.some((t)=>t.long==="--dry-run")}function Z7e(e){return{name:e.name(),path:Y7e(e),summary:e.summary()||void 0,description:e.description(),arguments:$wt(e),options:Cwt(e),supportsJsonOutput:_wt(e),supportsDryRun:Twt(e),subcommands:e.commands.map((t)=>Z7e(t))}}function Rwt(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||Y7e(i)===r)return i;n.push(...i.commands)}return null}function Q7e(e,t){let r=Rwt(e,t);if(!r)E1(`Unknown command: ${t}`);let n={name:e.name(),version:e.version(),description:e.description(),env:{[J7e]:"Set to json to force machine-readable output on commands that support it."},command:Z7e(r)};console.log(JSON.stringify(n,null,2))}function J(e,t={}){return async(...r)=>{let n=X7e(r);if(n&&r.length>=2)r[r.length-2]=n.optsWithGlobals();let i=kwt(r);try{if(n)Ewt(n);await e(...r)}catch(o){let s=wwt(o);if(t.supportsJsonOutput&&de(i))console.log(JSON.stringify({error:s},null,2));else console.error(s);process.exitCode=1}}}var J7e="OH_MY_AG_OUTPUT_FORMAT",rb,q7e;var $t=v(()=>{gm();u2();rb=["text","json"],q7e=["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 d2(e){if(e)Object.assign(lg,e);return lg}var ege,oJr,S4,nb,lg;var bm=v(()=>{oJr=Symbol("zod_brand");S4=class S4 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};nb=class nb extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}};(ege=globalThis).__zod_globalConfig??(ege.__zod_globalConfig={});lg=globalThis.__zod_globalConfig});function U_(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 RV(e,t="|"){return e.map((r)=>MV(r)).join(t)}function ob(e,t){if(typeof t==="bigint")return t.toString();return t}function H_(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw Error("cached value already set")}}}function G_(e){return e===null||e===void 0}function W_(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function rge(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 lr(e,t,r){let n=void 0;Object.defineProperty(e,t,{get(){if(n===tge)return;if(n===void 0)n=tge,n=r();return n},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function km(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function $1(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function PV(e){return JSON.stringify(e)}function nge(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function ib(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function wm(e){if(ib(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(ib(r)===!1)return!1;if(Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)return!1;return!0}function OV(e){if(wm(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 C1(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function zu(e,t,r){let n=new e._zod.constr(t??e._zod.def);if(!t||r?.parent)n._zod.parent=e;return n}function We(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 MV(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function sge(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}function Pwt(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=$1(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 km(this,"shape",s),s},checks:[]});return zu(e,o)}function Iwt(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=$1(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 km(this,"shape",s),s},checks:[]});return zu(e,o)}function Owt(e,t){if(!wm(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=$1(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return km(this,"shape",o),o}});return zu(e,i)}function Mwt(e,t){if(!wm(t))throw Error("Invalid input to safeExtend: expected a plain object");let r=$1(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return km(this,"shape",n),n}});return zu(e,r)}function Dwt(e,t){if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=$1(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return km(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return zu(e,r)}function jwt(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=$1(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 km(this,"shape",c),c},checks:[]});return zu(t,s)}function Lwt(e,t,r){let n=$1(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 km(this,"shape",o),o}});return zu(t,n)}function xm(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 cge(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 _1(e,t){return t.map((r)=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function B_(e){return typeof e==="string"?e:e?.message}function Sl(e,t,r){let n=e.message?e.message:B_(e.inst?._zod.def?.error?.(e))??B_(t?.error?.(e))??B_(r.customError?.(e))??B_(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 V_(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function lge(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 Am(...e){let[t,r,n]=e;if(typeof t==="string")return{message:t,code:"custom",input:r,inst:n};return{...t}}var tge,IV,ige,oge,age;var El=v(()=>{bm();tge=Symbol("evaluating");IV="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};ige=H_(()=>{if(lg.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});oge=new Set(["string","number","symbol"]);age={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 dge(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 pge(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 uge=(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,ob,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},q_,DV;var jV=v(()=>{bm();El();q_=ne("$ZodError",uge),DV=ne("$ZodError",uge,{Parent:Error})});var K_=(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 S4;if(s.issues.length){let a=new(i?.Err??e)(s.issues.map((c)=>Sl(c,o,d2())));throw IV(a,i?.callee),a}return s.value},J_=(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)=>Sl(c,o,d2())));throw IV(a,i?.callee),a}return s.value},sb=(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 S4;return o.issues.length?{success:!1,error:new(e??q_)(o.issues.map((s)=>Sl(s,i,d2())))}:{success:!0,data:o.value}},fge,ab=(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)=>Sl(s,i,d2())))}:{success:!0,data:o.value}},mge,hge=(e)=>(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return K_(e)(t,r,i)},gge=(e)=>(t,r,n)=>K_(e)(t,r,n),yge=(e)=>async(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return J_(e)(t,r,i)},vge=(e)=>async(t,r,n)=>J_(e)(t,r,n),bge=(e)=>(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return sb(e)(t,r,i)},kge=(e)=>(t,r,n)=>sb(e)(t,r,n),wge=(e)=>async(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return ab(e)(t,r,i)},xge=(e)=>async(t,r,n)=>ab(e)(t,r,n);var LV=v(()=>{bm();jV();El();fge=sb(DV),mge=ab(DV)});function Ige(){return new RegExp(Fwt,"u")}function Uge(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 Hge(e){return new RegExp(`^${Uge(e)}$`)}function Gge(e){let t=Uge({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(`^${zge}T(?:${n})$`)}var Age,Sge,Ege,$ge,Cge,_ge,Tge,Rge,NV=(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})$`)},Pge,Fwt="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Oge,Mge,Dge,jge,Lge,FV,Nge,Fge,zge="(?:(?:\\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])))",Bge,Wge=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Vge,zV,qge,Kge,Jge,Xge;var Y_=v(()=>{Age=/^[cC][0-9a-z]{6,}$/,Sge=/^[0-9a-z]+$/,Ege=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,$ge=/^[0-9a-vA-V]{20}$/,Cge=/^[A-Za-z0-9]{27}$/,_ge=/^[a-zA-Z0-9_-]{21}$/,Tge=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,Rge=/^([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})$/,Pge=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;Oge=/^(?:(?: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])$/,Mge=/^(([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}|:))$/,Dge=/^((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])$/,jge=/^(([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])$/,Lge=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,FV=/^[A-Za-z0-9_-]*$/,Nge=/^https?$/,Fge=/^\+[1-9]\d{6,14}$/,Bge=new RegExp(`^${zge}$`);Vge=/^-?\d+$/,zV=/^-?\d+(?:\.\d+)?$/,qge=/^(?:true|false)$/i,Kge=/^null$/i,Jge=/^[^A-Z]*$/,Xge=/^[^a-z]*$/});var Ho,Yge,BV,UV,Zge,Qge,e6e,t6e,r6e,cb,n6e,i6e,o6e,s6e,a6e,c6e,l6e;var Z_=v(()=>{bm();Y_();El();Ho=ne("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Yge={number:"number",bigint:"bigint",object:"date"},BV=ne("$ZodCheckLessThan",(e,t)=>{Ho.init(e,t);let r=Yge[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})}}),UV=ne("$ZodCheckGreaterThan",(e,t)=>{Ho.init(e,t);let r=Yge[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})}}),Zge=ne("$ZodCheckMultipleOf",(e,t)=>{Ho.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):rge(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})}}),Qge=ne("$ZodCheckNumberFormat",(e,t)=>{Ho.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[i,o]=age[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=Vge}),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})}}),e6e=ne("$ZodCheckMaxLength",(e,t)=>{var r;Ho.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!G_(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=V_(i);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),t6e=ne("$ZodCheckMinLength",(e,t)=>{var r;Ho.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!G_(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=V_(i);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),r6e=ne("$ZodCheckLengthEquals",(e,t)=>{var r;Ho.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!G_(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=V_(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})}}),cb=ne("$ZodCheckStringFormat",(e,t)=>{var r,n;if(Ho.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=()=>{})}),n6e=ne("$ZodCheckRegex",(e,t)=>{cb.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})}}),i6e=ne("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Jge),cb.init(e,t)}),o6e=ne("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Xge),cb.init(e,t)}),s6e=ne("$ZodCheckIncludes",(e,t)=>{Ho.init(e,t);let r=C1(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})}}),a6e=ne("$ZodCheckStartsWith",(e,t)=>{Ho.init(e,t);let r=new RegExp(`^${C1(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})}}),c6e=ne("$ZodCheckEndsWith",(e,t)=>{Ho.init(e,t);let r=new RegExp(`.*${C1(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})}}),l6e=ne("$ZodCheckOverwrite",(e,t)=>{Ho.init(e,t),e._zod.check=(r)=>{r.value=t.tx(r.value)}})});class HV{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 d6e;var GV=v(()=>{d6e={major:4,minor:4,patch:3}});function F6e(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 zwt(e){if(!FV.test(e))return!1;let t=e.replace(/[-_]/g,(n)=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return F6e(r)}function Bwt(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 p6e(e,t,r){if(e.issues.length)t.issues.push(..._1(r,e.issues));t.value[r]=e.value}function eT(e,t,r,n,i,o){let s=r in n;if(e.issues.length){if(i&&o&&!s)return;t.issues.push(..._1(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 X6e(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=sge(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function Y6e(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)=>eT(m,r,p,t,u,d)));else eT(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 f6e(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)=>!xm(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)=>Sl(s,n,d2())))}),t}function WV(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(wm(e)&&wm(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=WV(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=WV(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 m6e(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(xm(e))return e;let s=WV(t.value,r.value);if(!s.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}function h6e(e,t){if(t===void 0&&(e.issues.length||e.fallback))return{issues:[],value:void 0};return e}function g6e(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}function y6e(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 Q_(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 v6e(e){return e.value=Object.freeze(e.value),e}function b6e(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(Am(i))}}var En,tT,Pn,k6e,w6e,x6e,A6e,S6e,E6e,$6e,C6e,_6e,T6e,R6e,P6e,I6e,O6e,M6e,D6e,j6e,L6e,N6e,z6e,B6e,U6e,H6e,VV,G6e,W6e,V6e,q6e,K6e,J6e,Uwt,Z6e,Q6e,e9e,t9e,r9e,n9e,i9e,qV,o9e,s9e,a9e,c9e,l9e,u9e,d9e,p9e,f9e,m9e;var h9e=v(()=>{Z_();bm();LV();Y_();El();GV();El();En=ne("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=d6e;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=xm(s),u;for(let d of a){if(d._zod.def.when){if(cge(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 S4;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{if(await f,s.issues.length===p)return;if(!l)l=xm(s,p)});else{if(s.issues.length===p)continue;if(!l)l=xm(s,p)}}if(u)return u.then(()=>s);return s},o=(s,a,c)=>{if(xm(s))return s.aborted=!0,s;let l=i(a,n,c);if(l instanceof Promise){if(c.async===!1)throw new S4;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 S4;return c.then((l)=>i(l,n,a))}return i(c,n,a)}}lr(e,"~standard",()=>({validate:(i)=>{try{let o=fge(e,i);return o.success?{value:o.data}:{issues:o.error?.issues}}catch(o){return mge(e,i).then((s)=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),tT=ne("$ZodString",(e,t)=>{En.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Wge(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}}),Pn=ne("$ZodStringFormat",(e,t)=>{cb.init(e,t),tT.init(e,t)}),k6e=ne("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=Rge),Pn.init(e,t)}),w6e=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=NV(n))}else t.pattern??(t.pattern=NV());Pn.init(e,t)}),x6e=ne("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=Pge),Pn.init(e,t)}),A6e=ne("$ZodURL",(e,t)=>{Pn.init(e,t),e._zod.check=(r)=>{try{let n=r.value.trim();if(!t.normalize&&t.protocol?.source===Nge.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})}}}),S6e=ne("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=Ige()),Pn.init(e,t)}),E6e=ne("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=_ge),Pn.init(e,t)}),$6e=ne("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=Age),Pn.init(e,t)}),C6e=ne("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=Sge),Pn.init(e,t)}),_6e=ne("$ZodULID",(e,t)=>{t.pattern??(t.pattern=Ege),Pn.init(e,t)}),T6e=ne("$ZodXID",(e,t)=>{t.pattern??(t.pattern=$ge),Pn.init(e,t)}),R6e=ne("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=Cge),Pn.init(e,t)}),P6e=ne("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=Gge(t)),Pn.init(e,t)}),I6e=ne("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=Bge),Pn.init(e,t)}),O6e=ne("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=Hge(t)),Pn.init(e,t)}),M6e=ne("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=Tge),Pn.init(e,t)}),D6e=ne("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=Oge),Pn.init(e,t),e._zod.bag.format="ipv4"}),j6e=ne("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=Mge),Pn.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})}}}),L6e=ne("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=Dge),Pn.init(e,t)}),N6e=ne("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=jge),Pn.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})}}});z6e=ne("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=Lge),Pn.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(r)=>{if(F6e(r.value))return;r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});B6e=ne("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=FV),Pn.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(r)=>{if(zwt(r.value))return;r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),U6e=ne("$ZodE164",(e,t)=>{t.pattern??(t.pattern=Fge),Pn.init(e,t)});H6e=ne("$ZodJWT",(e,t)=>{Pn.init(e,t),e._zod.check=(r)=>{if(Bwt(r.value,t.alg))return;r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),VV=ne("$ZodNumber",(e,t)=>{En.init(e,t),e._zod.pattern=e._zod.bag.pattern??zV,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}}),G6e=ne("$ZodNumberFormat",(e,t)=>{Qge.init(e,t),VV.init(e,t)}),W6e=ne("$ZodBoolean",(e,t)=>{En.init(e,t),e._zod.pattern=qge,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}}),V6e=ne("$ZodNull",(e,t)=>{En.init(e,t),e._zod.pattern=Kge,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}}),q6e=ne("$ZodUnknown",(e,t)=>{En.init(e,t),e._zod.parse=(r)=>r}),K6e=ne("$ZodNever",(e,t)=>{En.init(e,t),e._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:e}),r)});J6e=ne("$ZodArray",(e,t)=>{En.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)=>p6e(l,r,s)));else p6e(c,r,s)}if(o.length)return Promise.all(o).then(()=>r);return r}});Uwt=ne("$ZodObject",(e,t)=>{if(En.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=H_(()=>X6e(t));lr(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=ib,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)=>eT(y,a,p,l,m,h)));else eT(g,a,p,l,m,h)}if(!o)return u.length?Promise.all(u).then(()=>a):a;return Y6e(u,l,a,c,n.value,e)}}),Z6e=ne("$ZodObjectJIT",(e,t)=>{Uwt.init(e,t);let r=e._zod.parse,n=H_(()=>X6e(t)),i=(p)=>{let f=new HV(["shape","payload","ctx"]),m=n.value,h=(b)=>{let w=PV(b);return`shape[${w}]._zod.run({ value: input[${w}], 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 w=g[b],A=PV(b),S=p[b],E=S?._zod?.optin==="optional",x=S?._zod?.optout==="optional";if(f.write(`const ${w} = ${h(b)};`),E&&x)f.write(`
|
|
30
30
|
if (${w}.issues.length) {
|
|
@@ -2390,12 +2390,12 @@ ${JSON.stringify(a)}
|
|
|
2390
2390
|
`),"Recent Commits");if(s.length>0)ce(s.join(`
|
|
2391
2391
|
`),"Changed Files");let a=await Lm({message:"What did you accomplish in this session?",placeholder:"e.g., Implemented user authentication flow"});if(st(a)){Zt("Cancelled.");return}let c=await Lm({message:"Key learnings? (comma-separated)",placeholder:"e.g., JWT needs refresh token, bcrypt is slow"});if(st(c)){Zt("Cancelled.");return}let l=await Lm({message:"Next steps? (comma-separated)",placeholder:"e.g., Add password reset, Write tests"});if(st(l)){Zt("Cancelled.");return}let u={id:Math.random().toString(36).slice(2,8),date:new Date().toISOString(),summary:a,keyLearnings:c.split(",").map((d)=>d.trim()).filter(Boolean),filesChanged:s,nextSteps:l.split(",").map((d)=>d.trim()).filter(Boolean)};vet(e,u),ce(jo.default.green("Retrospective saved!"),"Done"),Qe(jo.default.dim(`Stored in: ${t}`))}var jo;var wet=v(()=>{ir();mae();ua();jo=ye(Re(),1)});function xet(e,t,r,n,i,o=[]){if(console.log(Wi.default.bold(Wi.default.cyan(jae(e)))),console.log(),ce(Pae(e.metrics),"Summary"),i)ce(cF(e,i),"Trends vs Last Retro");if(e.metrics.contributors>0)ce(Iae(e.authors,n),"Contributors");if(ce(Rae(r),"Commit Time Distribution"),t.length>0)ce(Oae(t),"Work Sessions");if(o.length>0)ce(Nae(o),"Harness Refine Signals");if(ce(Dae(e.commitTypes,e.metrics.commits),"Commit Types"),e.hotspots.length>0){let l=e.metrics.commits>0?Math.round((e.commitTypes.fix||0)/e.metrics.commits*100):0,u=Mae(e.hotspots);if(l>50)u+=`
|
|
2392
2392
|
|
|
2393
|
-
${Wi.default.yellow(`Fix ratio ${l}% — ship-fast-fix-fast pattern detected`)}`;ce(u,"File Hotspots (Top 10)")}let{focusScore:s,focusArea:a}=e.metrics,c=s>=60?Wi.default.green:s>=40?Wi.default.yellow:Wi.default.red;if(ce(` ${c(`${s}%`)} — primary area: ${Wi.default.bold(a)}`,"Focus Score"),ce(` ${Wi.default.bold(String(e.metrics.streakDays))} consecutive days with commits`,"Shipping Streak"),e.metrics.aiAssistedCommits>0){let l=e.metrics.commits>0?Math.round(e.metrics.aiAssistedCommits/e.metrics.commits*100):0;ce(` ${e.metrics.aiAssistedCommits} commits (${l}%) AI-assisted`,"AI Collaboration")}}async function Aet(e,t={}){let r=process.cwd();if(t.interactive){await Promise.resolve().then(() => wet());await ket();return}console.clear(),fn(Wi.default.bgMagenta(Wi.default.white(" retro ")));let n
|
|
2394
|
-
Comparing: ${
|
|
2395
|
-
`)),ce(cF(
|
|
2393
|
+
${Wi.default.yellow(`Fix ratio ${l}% — ship-fast-fix-fast pattern detected`)}`;ce(u,"File Hotspots (Top 10)")}let{focusScore:s,focusArea:a}=e.metrics,c=s>=60?Wi.default.green:s>=40?Wi.default.yellow:Wi.default.red;if(ce(` ${c(`${s}%`)} — primary area: ${Wi.default.bold(a)}`,"Focus Score"),ce(` ${Wi.default.bold(String(e.metrics.streakDays))} consecutive days with commits`,"Shipping Streak"),e.metrics.aiAssistedCommits>0){let l=e.metrics.commits>0?Math.round(e.metrics.aiAssistedCommits/e.metrics.commits*100):0;ce(` ${e.metrics.aiAssistedCommits} commits (${l}%) AI-assisted`,"AI Collaboration")}}async function Aet(e,t={}){let r=process.cwd();if(t.interactive){await Promise.resolve().then(() => wet());await ket();return}let n=t.json===!0;if(!n)console.clear(),fn(Wi.default.bgMagenta(Wi.default.white(" retro ")));let i=n?{start:(p)=>{},stop:(p)=>{}}:fc();i.start("Fetching origin..."),bae(r),i.stop("Origin fetched");let o=kae(r);if(t.compare){let{current:p,previous:f}=ire(e);i.start(`Analyzing current window (${p.label})...`);let m=tE(r,p),h=aF(r,p);i.stop("Current window analyzed"),i.start(`Analyzing previous window (${f.label})...`);let g=tE(r,f);if(i.stop("Previous window analyzed"),n){console.log(JSON.stringify({current:m,previous:g},null,2));return}if(m.metrics.commits===0&&g.metrics.commits===0){ce(Wi.default.yellow("No commits found in either window."),"Empty"),Qe(Wi.default.dim("Try a wider window: oma retro --compare 30d"));return}console.log(Wi.default.bold(`
|
|
2394
|
+
Comparing: ${p.label} (current) vs ${f.label} (prior)
|
|
2395
|
+
`)),ce(cF(m,g),"Period Comparison"),console.log(Wi.default.bold(`
|
|
2396
2396
|
--- Current Period ---
|
|
2397
|
-
`)),xet(
|
|
2398
|
-
`),"Usage"),Qe(Wi.default.dim(
|
|
2397
|
+
`)),xet(m,h.sessions,h.hourly,o,null);let y=lF(r,m);Qe(Wi.default.dim(`Snapshot saved: ${y}`));return}let s;try{s=gx(e)}catch(p){if(n)throw p;ce(["Usage: oma retro [window]",""," oma retro last 7 days (default)"," oma retro 24h last 24 hours"," oma retro 14d last 14 days"," oma retro 30d last 30 days"," oma retro 2w last 2 weeks"," oma retro --compare compare current vs prior period"," oma retro --compare 14d"].join(`
|
|
2398
|
+
`),"Usage"),Qe(Wi.default.dim(p.message));return}i.start(`Analyzing ${s.label} window...`);let a=tE(r,s),c=aF(r,s),l=Lae(r,s.days);if(i.stop(`Analysis complete (${a.metrics.commits} commits)`),n){console.log(JSON.stringify({...a,harnessSignals:l},null,2));return}if(a.metrics.commits===0){ce(Wi.default.yellow("No commits found in this window."),"Empty"),Qe(Wi.default.dim("Try a wider window: oma retro 30d"));return}let u=zae(r);xet(a,c.sessions,c.hourly,o,u,l);let d=lF(r,a);Qe(Wi.default.dim(`Snapshot saved: ${d}`))}var Wi;var Eet=v(()=>{ir();yet();Wi=ye(Re(),1)});function Chr(e){ue(e.command("retro [window]").description("Engineering retrospective with metrics & trends").option("--interactive","Interactive mode (manual entry)").option("--compare","Compare current window vs prior same-length window")).action(J(async(t,r)=>{await Aet(t,{json:de(r),compare:r.compare,interactive:r.interactive})},{supportsJsonOutput:!0}))}var $et=v(()=>{$t();Eet()});function Cet(e){return JSON.stringify(e,null,2)}function _hr(e){return x9(new $s(e,Hae),"HH:mm")}function _et(e){return x9(new $s(e,Hae),"yyyy-MM-dd")}function Thr(e){if(e.length===0)return[];let t=[...e].sort((o,s)=>o.timestamp-s.timestamp),r=[],n=t[0];if(!n)return[];let i={tool:n.tool,project:n.project||"(unknown)",start:n.timestamp,end:n.timestamp};for(let o=1;o<t.length;o++){let s=t[o];if(!s)continue;let a=s.timestamp-i.end;if(s.tool===i.tool&&(s.project||"(unknown)")===i.project&&a<1800000)i.end=s.timestamp;else r.push({...i}),i={tool:s.tool,project:s.project||"(unknown)",start:s.timestamp,end:s.timestamp}}return r.push(i),r.map((o)=>({...o,end:Math.max(o.end,o.start+300000)}))}function Rhr(e){return e.replace(/[;#:]/g," ")}function Tet(e){Hae=e.timezone;let{entries:t,window:r}=e;if(t.length===0)return"No data to visualize.";let n=_et(r.start),i=_et(r.end),o=n===i?n:`${n} ~ ${i}`,s=Thr(t),a=new Map;for(let l of s){let u=a.get(l.tool)||[];u.push(l),a.set(l.tool,u)}let c=["gantt",` title ${o} AI Tool Activity`," dateFormat HH:mm"," axisFormat %H:%M"];for(let[l,u]of a){c.push(` section ${l}`);for(let d of u){let p=Rhr(d.project),f=_hr(d.start),m=Math.max(5,Math.round((d.end-d.start)/60000));c.push(` ${p} :${f}, ${m}m`)}}return c.join(`
|
|
2399
2399
|
`)}var Hae;var Ret=v(()=>{cx();hx()});function Pet(e){let t=Phr[e];return t(`[${e}]`)}function Ihr(e){return x9(new $s(e,Wae),"HH:mm")}function Gae(e){return x9(new $s(e,Wae),"yyyy-MM-dd")}function Ohr(e){if(e<60000)return"<1min";let{hours:t=0,minutes:r=0}=$Le({start:0,end:e});if(t>0)return`${t}h ${r}m`;return`${r}min`}function Iet(e,t,r=20){let n=t>0?Math.round(e/t*r):0;return`${"█".repeat(n)}${"░".repeat(r-n)}`}function Oet(e){Wae=e.timezone;let{stats:t,entries:r,window:n}=e,i=Gae(n.start),o=Gae(n.end),s=i===o?`Recap for ${i}`:`Recap for ${i} ~ ${o}`;if(fn(ts.default.bgMagenta(ts.default.white(` ${s} `))),t.totalPrompts===0){ce("No prompts found in the given window.","Empty"),Qe(ts.default.dim("Try a wider window with --window"));return}let a=Math.max(...Object.values(t.byTool)),c=Object.entries(t.byTool).sort(([,d],[,p])=>p-d).map(([d,p])=>`${Pet(d)} ${Iet(p,a)} ${p}`).join(`
|
|
2400
2400
|
`);if(ce(`Total prompts: ${ts.default.bold(String(t.totalPrompts))}
|
|
2401
2401
|
|
|
@@ -4554,7 +4554,7 @@ ${e??""}`.trim().split(`
|
|
|
4554
4554
|
${r.syntax}
|
|
4555
4555
|
|
|
4556
4556
|
Example:
|
|
4557
|
-
${r.example}`);return 0}if(t.json)return console.log(JSON.stringify(Xv.map(({render:r,...n})=>n),null,2)),0;for(let r of Xv)console.log(`${oc.default.bold(r.name.padEnd(10))}${r.summary}`);return console.log(oc.default.dim("\n`oma explain components <name>` prints the syntax and an example.\nAny other fenced block (```ts, ```diff, …) is shown as code.")),0}var oc,Uqr,Hqr=120000;var $7e=v(()=>{Q3e();zN();H0t();f7e();dV();g7e();vkt();oc=ye(Re(),1),Uqr=Vs.join(".agents","results","explain")});import A1 from"node:fs";import yV from"node:path";function _7e(e,t=new Set){let r=e;try{r=A1.realpathSync(e)}catch{return[]}if(t.has(r)||!A1.existsSync(e))return[];t.add(r);let n=[],i=A1.readdirSync(e,{withFileTypes:!0});for(let o of i){let s=yV.join(e,o.name);if(o.isSymbolicLink())try{let a=A1.realpathSync(s);if(A1.statSync(a).isDirectory())n.push(..._7e(s,t));else if(a.endsWith(".html"))n.push(s)}catch{}else if(o.isDirectory())n.push(..._7e(s,t));else if(o.isFile()&&o.name.endsWith(".html")&&!o.name.endsWith(".archify.html"))n.push(s)}return n}function qqr(e,t){let r=[],n=yV.basename(e);if(!/^\d{4}-\d{2}-\d{2}-[a-z0-9-]+\.html$/i.test(n))r.push({rule:"filename-format",severity:"error",message:`Filename '${n}' does not match format {YYYY-MM-DD}-{slug}.html`});let o=/<pre[\s>]/i.test(t),s=/white-space:\s*(pre|pre-wrap)/i.test(t);if(!o&&!s)r.push({rule:"code-container-compliance",severity:"error",message:"Missing code container formatting (<pre> tags or white-space: pre/pre-wrap)"});let a=t.replace(/<pre\b[^>]*>[\s\S]*?<\/pre>/gi,"").replace(/<code\b[^>]*>[\s\S]*?<\/code>/gi,""),c=/<script\b[^>]*\bsrc=["'](https?:)?\/\/[^"']+["']/i.test(a),l=/<link\b[^>]*\bhref=["'](https?:)?\/\/[^"']+["']/i.test(a),u=/@import\s+(?:url\(['"]?(https?:)?\/\/[^'"]+['"]?\)|['"](https?:)?\/\/[^'"]+['"])/i.test(a),d=/url\(['"]?(https?:)?\/\/[^'")]+['"]?\)/i.test(a),p=/<(img|iframe|video|audio|embed|object)\b[^>]*(src|data)=["'](https?:)?\/\/[^"']+["']/i.test(a);if(c||l||u||d||p)r.push({rule:"self-contained",severity:"error",message:"External resource load detected (live external script, stylesheet, image, media, @import, or url)"});if(!(t.match(/<script\b[^>]*>[\s\S]*?<\/script>/gi)||[]).some((k)=>/quiz|checkAnswer|questions|score|selectOption/i.test(k)))r.push({rule:"quiz-script-presence",severity:"error",message:"Quiz script missing or no quiz logic found in <script> tag"});if([/\bsk-[a-zA-Z0-9_-]{20,}\b/,/\bghp_[a-zA-Z0-9]{36}\b/,/\bgithub_pat_[a-zA-Z0-9_]{30,}\b/,/\bxox[baprs]-[a-zA-Z0-9_-]{10,}\b/,/\bAKIA[0-9A-Z]{16}\b/,/\b(?:api_key|api-key|secret|password|token|auth[-_]?token|bearer[-_]?token|access[-_]?token|private[-_]key|connection[-_]string)\s*[:=]\s*["']?[A-Za-z0-9\-_]{16,}["']?/i].some((k)=>k.test(a)))r.push({rule:"secret-scan",severity:"error",message:"Potential API key or secret token detected outside code blocks"});let y=r.filter((k)=>k.severity==="error").length===0;return{file:e,valid:y,issues:r}}async function T7e(e={}){let t=e.format==="json"?"json":"concise",r=[];if(e.file){if(!A1.existsSync(e.file)){let c={valid:!1,totalFiles:1,passedFiles:0,failedFiles:1,results:[{file:e.file,valid:!1,issues:[{rule:"file-exists",severity:"error",message:`File not found: ${e.file}`}]}]};return C7e(c,t,e.outFile),1}r=[e.file]}else{let c=e.dir||yV.join(".agents","results","explain");if(r=_7e(c),r.length===0){let l={valid:!1,totalFiles:1,passedFiles:0,failedFiles:1,results:[{file:c,valid:!1,issues:[{rule:"directory-scan",severity:"error",message:`No HTML files found under '${c}'`}]}]};return C7e(l,t,e.outFile),1}}let n=[];for(let c of r){let l=A1.readFileSync(c,"utf-8");n.push(qqr(c,l))}let i=n.filter((c)=>c.valid).length,o=n.length-i,s=o===0&&n.length>0,a={valid:s,totalFiles:n.length,passedFiles:i,failedFiles:o,results:n};return C7e(a,t,e.outFile),s?0:1}function C7e(e,t,r){if(r)A1.mkdirSync(yV.dirname(r),{recursive:!0}),A1.writeFileSync(r,JSON.stringify(e,null,2),"utf-8");if(t==="json")console.log(JSON.stringify(e,null,2));else if(e.valid)console.log(gV.default.green(`✔ Explain validation passed: ${e.passedFiles}/${e.totalFiles} file(s) valid`));else{console.log(gV.default.red(`✖ Explain validation failed: ${e.failedFiles}/${e.totalFiles} file(s) failed`));for(let n of e.results)if(!n.valid||n.issues.length>0){console.log(gV.default.yellow(`File: ${n.file}`));for(let i of n.issues)console.log(` - [${i.severity}] ${i.rule}: ${i.message}`)}}}var gV;var R7e=v(()=>{gV=ye(Re(),1)});function wkt(e){let t=e.command("explain").description("Explain artifact management and quality validation tools"),r=t.command("validate [file]").description("Validate self-contained explain HTML report artifacts").option("--dir <path>","Directory containing HTML files to validate").option("--format <fmt>","Output format: concise | json (default: concise)","concise").option("--out-file <path>","Write JSON validation report to file");ue(r),r.action(J(async(a,c)=>{let u=de(c)||c.format==="json"?"json":"concise";try{let d=await T7e({file:a,dir:c.dir,format:u,outFile:c.outFile});process.exitCode=d}catch(d){console.error(kkt.default.red(d.message)),process.exitCode=1}},{supportsJsonOutput:!0}));let n=t.command("render [file]").description("Render a Markdown draft (file or stdin) into one self-contained HTML explanation").option("--out <path>","Output file (default: .agents/results/explain/{YYYY-MM-DD}-{slug}.html)").option("--template <name>","Template: sheet (panel grid) | doc (one column with contents)").option("--theme <name>","Theme: blueprint | card").option("--mode <mode>","Colour mode: auto | light | dark").option("--style <level>","Prose check: off | warn | strict").option("--lang <code>","Page language: en | ko | ja | zh (default: detected)").option("--archify","Also build and link an interactive archify diagram").option("--no-archify","Skip the archify diagram even when the config enables it").option("--open","Open the page in the browser");ue(n),n.action(J(async(a,c)=>{process.exitCode=await x7e({...c,file:a,json:de(c)})},{supportsJsonOutput:!0}));let i=t.command("patch <html> [file]").description("Replace one panel of a rendered page from its embedded draft (new panel from file or stdin)").requiredOption("--panel <id>",'Panel to replace: its letter (B) or its title ("Call order")').option("--open","Open the page in the browser");ue(i),i.action(J(async(a,c,l)=>{process.exitCode=await A7e({html:a,file:c,panel:l.panel,open:l.open,json:de(l)})},{supportsJsonOutput:!0}));let o=t.command("lint [file]").description("Check the prose of a draft (file or stdin) without rendering").option("--style <level>","warn | strict (strict exits 1 on a warning)").option("--lang <code>","Draft language: en | ko | ja | zh (default: detected)");ue(o),o.action(J(async(a,c)=>{process.exitCode=S7e({...c,file:a,json:de(c)})},{supportsJsonOutput:!0}));let s=t.command("components [name]").description("List the components a draft can use, or print one component's syntax");ue(s),s.action(J(async(a,c)=>{process.exitCode=E7e(a,{json:de(c)})},{supportsJsonOutput:!0}))}var kkt;var xkt=v(()=>{$t();$7e();R7e();$7e();R7e();kkt=ye(Re(),1)});var Akt=v(()=>{xkt()});import{spawnSync as Kqr}from"node:child_process";function Jqr(e){let t=e.engine==="archify"?mm.default.green("archify"):mm.default.yellow("mermaid");if(console.log(`engine: ${t} (requested: ${e.requested})`),console.log(`reason: ${e.reason}`),e.archify){if(console.log(`root: ${e.archify.root}`),console.log(`bin: ${e.archify.bin}`),e.archify.version)console.log(`version: ${e.archify.version}`);console.log(`quality: ${e.quality}`)}console.log(`sidecar: ${e.explainSidecar?"on":"off"} (explain)`)}async function Xqr(e,t={}){let r=t.cwd??process.cwd(),n=await zv({cwd:r,engine:t.engine??"archify"});if(!n.archify)return console.error(mm.default.red(n.reason)),2;let i=Kqr(process.execPath,[n.archify.bin,...e],{cwd:r,stdio:"inherit",env:{...process.env,[GW]:"1"}});if(i.error)return console.error(mm.default.red(i.error.message)),1;return i.status??1}function Yqr(e){let t=e.command("diagram").description("Diagram engine helpers (archify interactive HTML or Mermaid fallback)"),r=t.command("resolve").description("Report which diagram engine workflows should use, and where archify lives").option("--engine <engine>","Override diagram.engine for this call: auto | archify | mermaid").option("--refresh","Re-check the latest archify release now").option("--offline","Do not touch the network; use cached copies only");ue(r),r.action(J(async(i)=>{let o=i.engine;if(o&&!["auto","archify","mermaid"].includes(o)){console.error(mm.default.red(`unknown engine: ${o}`)),process.exitCode=1;return}let s=await zv({cwd:process.cwd(),engine:o,refresh:i.refresh,offline:i.offline});if(de(i)){let{ok:a,...c}=s;console.log(JSON.stringify({ok:a,...c},null,2))}else Jqr(s);if(!s.ok)process.exitCode=1},{supportsJsonOutput:!0}));let n=t.command("update").description("Download the latest archify release into oma's managed cache (~/.cache/oma-diagram/archify)");ue(n),n.action(J(async(i)=>{let o=await zv({cwd:process.cwd(),engine:"archify",refresh:!0});if(de(i))console.log(JSON.stringify(o,null,2));else if(o.archify)console.log(`${mm.default.green("archify")} ${o.archify.version??o.archify.source} ready — ${o.reason}`);else console.error(mm.default.red(o.reason));if(!o.ok)process.exitCode=1},{supportsJsonOutput:!0})),t.command("archify [args...]").description("Run the installed archify CLI (doctor | guide | validate | deliver | visual-check …) with update checks disabled").allowUnknownOption(!0).allowExcessArguments(!0).helpOption(!1).action(async(i,o,s)=>{process.exitCode=await Xqr(s.args)})}var mm;var Skt=v(()=>{Q3e();$t();mm=ye(Re(),1)});function P7e(e,t,r=!1){let n=/^(\d+(?:\.\d+)?)(ms|s|m|h|d)?$/.exec(e);if(!n||r&&!n[2])throw Error(`Invalid duration: ${e}. Include a unit, e.g. 30s or 2m.`);if(!n[2])return e;let i={ms:1,s:1000,m:60000,h:3600000,d:86400000},o=Number(n[1])*(i[n[2]]??Number.NaN)/t;if(!Number.isFinite(o)||!Number.isInteger(o))throw Error(`Duration ${e} must resolve to a whole number of legacy units.`);return String(o)}function vV(e,t){let r=t.long??t.short??t.flags,n={flags:t.flags,legacy:r};if(r==="--model"&&t.flags.includes("<vendor>"))n.flags="--vendor <vendor>";else if(r==="--root")n.flags="--project-root <path>";else if(["--sid","--session"].includes(r))n.flags="--session-id <id>";else if(r==="--format"&&e!=="search media")n.flags="--output <format>";else if(r==="--out")n.flags=t.flags.includes("<dir>")?"--output-dir <path>":e==="slide validate"?"--report-file <path>":"--output-file <path>";else if(r==="--out-dir")n.flags="--output-dir <path>";else if(r==="--out-file")n.flags=e==="explain validate"?"--report-file <path>":"--output-file <path>";else if(r==="--dir")n.flags=e==="slide new"?"--output-dir <path>":e.startsWith("slide ")?"--workspace <path>":"--input-dir <path>";else if(r==="--max"&&e==="scholar search")n.flags="--limit <n>";else if(r==="--allow-external-out")n.flags="--allow-external-output";else if(r==="--timeout"){n.flags="--timeout <duration>";let i=t.flags.includes("<ms>");n.convert=(o)=>P7e(o,i?1:1000,i)}else if(r==="--timeout-minutes")n.flags="--timeout <duration>",n.convert=(i)=>P7e(i,60000,!0);else if(r==="--max-age-days")n.flags=e==="schedule:add"?"--expires-after <duration>":"--max-age <duration>",n.convert=(i)=>i==="0"?i:P7e(i,86400000,!0);return n}function $kt(e){return Zqr[e]??e.replaceAll(":"," ")}var Zqr,Ekt,Ckt;var _kt=v(()=>{Zqr={dashboard:"dashboard terminal","dashboard:web":"dashboard web","intel run":"intel suggest",hook:"hook run",state:"state list","state:get":"state get","state:required-decisions":"state decisions list","state:inject-log":"state inject-log list",stats:"stats get","memory:retry-drain":"memory retry drain","vault rm":"vault delete","search api":"search api fetch","search rss":"search rss fetch",skills:"skill","skills audit":"skill audit","skills lint":"skill lint","skills eval":"skill eval","skills opt":"skill optimize","skills promotions":"skill promotions","skills rollback":"skill rollback","skills procedure":"skill procedure","skills meta-optimize":"skill meta-optimize","skills evolution-stats":"skill evolution-stats","slide new":"slide create","slide viewer":"slide preview","slide pdf":"slide export pdf","slide png":"slide export png","slide pptx":"slide export pptx","slide import-pptx":"slide import pptx","slide fetch-video":"slide asset fetch-video","slide styles":"slide style","slide styles list":"slide style list","slide styles preview":"slide style preview","slide styles get":"slide style get","image list-vendors":"image vendor list","video list-providers":"video provider list","schedule:add":"schedule create","schedule:remove":"schedule delete"},Ekt={"schedule:run":"schedule run","serena daemon:gc":"serena daemon gc"};Ckt=[{path:"state activate",source:"state",prefix:["--activate"],args:"<session-id>"},{path:"state archive",source:"state",prefix:["--archive"],args:""},{path:"state purge",source:"state",prefix:["--purge"],args:""},{path:"stats reset",source:"stats",prefix:["--reset"],args:""},{path:"memory maintain backup",source:"memory:maintain",prefix:["backup"],args:""},{path:"memory maintain prune",source:"memory:maintain",prefix:["prune"],args:""},{path:"memory maintain vacuum",source:"memory:maintain",prefix:["vacuum"],args:""},{path:"state inject-log get",source:"state:inject-log",prefix:[],args:"<session-id> <file>"}]});function Qqr(e){return`${e.required?"<":"["}${e.name()}${e.variadic?"...":""}${e.required?">":"]"}`}function O7e(e){let t=[];for(let r=e;r;r=r.parent)t.push(...r.options);return t}function bV(e,t){let r=0;while(r<e.length&&e[r]?.startsWith("-")){let n=e[r]??"",i=n.split("=")[0],o=t.options.find((s)=>s.long===i||s.short===i);if(!o)break;if(r++,o.required&&!n.includes("="))r++}return r}function eKr(e,t,r){return r.split(" ").every((n,i)=>e[t+i]===n)}function tKr(e,t,r){let i=O7e(e.source).map((l)=>({source:l,standard:vV(e.sourcePath,l)})),o=[],s=0,a,c=!1;for(let l=0;l<t.length;l++){let u=t[l]??"";if(u==="--"){o.push(...t.slice(l));break}if(!u.startsWith("-")){if(s++,e.sourcePath==="agent:verify"&&s>=2){o.push(...t.slice(l));break}o.push(u);continue}let d=u.indexOf("="),p=d<0?u:u.slice(0,d),f=i.find((S)=>S.source.long===p||S.source.short===p),m=i.find((S)=>new vn(S.standard.flags).long===p);if(f){let S=new vn(f.standard.flags);if(p!==S.long&&p!==S.short)throw Error(`Removed option ${p}. Use ${S.long}.`)}if(e.sourcePath==="state"&&["--activate","--archive","--purge"].includes(p)||e.sourcePath==="stats"&&p==="--reset"||e.path.startsWith("state inject-log ")&&p==="--entry")throw Error(`Removed option ${p}. Use an explicit action; see oma --help.`);let h=f??m,g=d<0?t[l+1]:u.slice(d+1);if(p==="--output"&&g==="concise")h=i.find((S)=>S.source.long==="--format")??h;if(!h){let S=i.find((E)=>E.source.short&&u.startsWith(E.source.short)&&new vn(E.standard.flags).short!==E.source.short);if(S)throw Error(`Removed option ${S.source.short}. Use ${new vn(S.standard.flags).long}.`);o.push(u);continue}let{source:y,standard:k}=h,b=new vn(k.flags).long===p,w=b&&(!f||r||/[a-z]$/i.test(g??"")),A=b?k.legacy:p;if(p==="--json")c=!0;if(p==="--output")a=g;if(y.required||y.optional){let S=d<0&&g!==void 0&&(y.required||!g.startsWith("-"));if(g!==void 0&&(d>=0||S)){if(w&&k.convert)g=k.convert(g);if(d>=0)o.push(`${A}=${g}`);else o.push(A,g),l++;if(y.variadic)while(t[l+1]!==void 0&&!t[l+1]?.startsWith("-"))o.push(t[++l]??"")}else o.push(A)}else o.push(d>=0?`${A}=${u.slice(d+1)}`:A)}if(r&&c&&a&&a!=="json")throw Error("--json conflicts with --output. Choose one output format.");return o}function I7e(e,t){let r=[],n=O7e(t);for(let i=0;i<e.length;i++){let o=e[i]??"";if(o==="--"){for(let a=i+1;a<e.length;a++)r.push(a);break}if(!o.startsWith("-")){r.push(i);continue}let s=n.find((a)=>a.long===o.split("=")[0]||a.short===o);if(s?.required&&!o.includes("=")){if(i++,s.variadic)while(e[i+1]!==void 0&&!e[i+1]?.startsWith("-"))i++}}return r}function Tkt(e){let t=new Map;function r(l,u=""){for(let d of l.commands){let p=`${u} ${d.name()}`.trim();t.set(p,d),r(d,p)}}r(e);let n=[...t].map(([l,u])=>({path:$kt(l),sourcePath:l,source:u}));for(let l of Ckt){let u=t.get(l.source);if(u)n.push({path:l.path,sourcePath:l.source,source:u,prefix:l.prefix,args:l.args})}n.sort((l,u)=>Number(u.path===u.sourcePath)-Number(l.path===l.sourcePath));let i=new Map;for(let l of n)if(!i.has(l.path))i.set(l.path,l);let o=new Nu(e.name()).description(e.description());if(e.version())o.version(e.version()??"");for(let l of e.options)if(!o.options.some((u)=>u.long===l.long))o.addOption(l);let s=new Map([["",o]]);for(let l of i.values()){let u=o,d="";for(let p of l.path.split(" ")){d=`${d} ${p}`.trim();let f=s.get(d);if(!f)f=u.command(p),s.set(d,f);u=f}if(u.description(l.source.description()),l.args!==void 0){if(l.args)u.arguments(l.args)}else if(l.sourcePath!=="state")for(let p of l.source.registeredArguments)u.addArgument(new ag(Qqr(p),p.description));for(let p of l.source.options){if(l.sourcePath==="state"&&["--activate","--archive","--purge"].includes(p.long??""))continue;if(l.sourcePath==="stats"&&p.long==="--reset")continue;if(l.path==="state inject-log get"&&p.long==="--entry")continue;let f=vV(l.sourcePath,p),m=new vn(f.flags,p.description).makeOptionMandatory(p.mandatory);if(u.options.some((h)=>h.long===m.long))continue;if(p.defaultValue!==void 0){let h=p.flags.includes("<ms>")?"ms":p.long==="--timeout-minutes"?"m":p.long==="--max-age-days"?"d":"s";m.default(f.flags.includes("<duration>")?`${p.defaultValue}${h}`:p.defaultValue)}u.addOption(m)}}let a=[...i.values()].sort((l,u)=>u.path.split(" ").length-l.path.split(" ").length);function c(l){let u=bV(l,e),d=a.find((p)=>eKr(l,u,p.path));return d?{offset:u,length:d.path.split(" ").length,canonical:!0,route:d}:null}return{help:o,describePath:(l)=>l,normalize(l){let u=bV(l,e);for(let k of[2,1]){let b=Ekt[l.slice(u,u+k).join(" ")];if(!b)continue;l=[...l.slice(0,u),...b.split(" "),...l.slice(u+k)];break}let d=c(l);if(!d){let k=bV(l,e);if(l[k]&&!l[k]?.startsWith("-"))throw Error(`Unknown command: ${l.slice(k).join(" ")}. Use oma --help.`);return l}let{offset:p,length:f,route:m,canonical:h}=d,g=tKr(m,l.slice(p+f),h),y=s.get(m.path);if(y&&!y.registeredArguments.length){if(I7e(g,m.source).length>y.registeredArguments.length)throw Error(`Unexpected argument for oma ${m.path}. Use --help.`)}if(m.path==="state activate"){let k=I7e(g,m.source);if(k.length!==1)throw Error("Usage: oma state activate <session-id>");g=[g.splice(k[0]??0,1)[0]??"",...g]}if(m.path==="state inject-log get"){let k=I7e(g,m.source);if(k.length!==2)throw Error("Usage: oma state inject-log get <session-id> <file>");let b=k[1]??0,w=g[b]??"";g.splice(b,1),g=["--entry",w,...g]}return[...l.slice(0,p),...m.sourcePath.split(" "),...m.prefix??[],...g]},showHelp(l){let u=bV(l,e),d=l[u]==="help",p=d?l.slice(u+1):l.slice(u),f=c(l),m=d||p[0]==="--help"||p[0]==="-h"||f&&(()=>{let A=p.slice(f.length),S=O7e(f.route.source);for(let E=0;E<A.length;E++){if(A[E]==="--")return!1;if(A[E]==="--help"||A[E]==="-h")return!0;if(S.find((_)=>_.long===A[E]||_.short===A[E]||new vn(vV(f.route.sourcePath,_).flags).long===A[E])?.required)E++;else if(A[E]&&!A[E]?.startsWith("-")&&f.route.sourcePath==="agent:verify")return!1}return!1})(),h=p.filter((A)=>A!=="--help"&&A!=="-h").join(" "),g=p.at(-1)==="--help"&&s.has(h),y=i.get(h)?.source,k=h.length>0&&s.get(h)?.commands.length&&!y?._actionHandler;if(!m&&!g&&!k)return!1;let b=d?p.join(" "):g||k?h:f?.route.path??"",w=s.get(b);if(!w)return!1;return w.outputHelp(),!0}}}var Rkt=v(()=>{gm();_kt()});gm();eb();vi();import{writeSync as ewt}from"node:fs";import{isatty as twt}from"node:tty";import{format as rwt}from"node:util";var nwt=new Int32Array(new SharedArrayBuffer(4));function iwt(e,t){let r=Buffer.from(t,"utf-8"),n=0;while(n<r.length)try{n+=ewt(e,r,n)}catch(i){let o=i.code;if(o==="EAGAIN"){Atomics.wait(nwt,0,0,1);continue}if(o==="EPIPE")return;throw i}}function W7e(){if(!process.versions.bun||twt(1))return;let e=(...t)=>{iwt(1,`${rwt(...t)}
|
|
4557
|
+
${r.example}`);return 0}if(t.json)return console.log(JSON.stringify(Xv.map(({render:r,...n})=>n),null,2)),0;for(let r of Xv)console.log(`${oc.default.bold(r.name.padEnd(10))}${r.summary}`);return console.log(oc.default.dim("\n`oma explain components <name>` prints the syntax and an example.\nAny other fenced block (```ts, ```diff, …) is shown as code.")),0}var oc,Uqr,Hqr=120000;var $7e=v(()=>{Q3e();zN();H0t();f7e();dV();g7e();vkt();oc=ye(Re(),1),Uqr=Vs.join(".agents","results","explain")});import A1 from"node:fs";import yV from"node:path";function _7e(e,t=new Set){let r=e;try{r=A1.realpathSync(e)}catch{return[]}if(t.has(r)||!A1.existsSync(e))return[];t.add(r);let n=[],i=A1.readdirSync(e,{withFileTypes:!0});for(let o of i){let s=yV.join(e,o.name);if(o.isSymbolicLink())try{let a=A1.realpathSync(s);if(A1.statSync(a).isDirectory())n.push(..._7e(s,t));else if(a.endsWith(".html"))n.push(s)}catch{}else if(o.isDirectory())n.push(..._7e(s,t));else if(o.isFile()&&o.name.endsWith(".html")&&!o.name.endsWith(".archify.html"))n.push(s)}return n}function qqr(e,t){let r=[],n=yV.basename(e);if(!/^\d{4}-\d{2}-\d{2}-[a-z0-9-]+\.html$/i.test(n))r.push({rule:"filename-format",severity:"error",message:`Filename '${n}' does not match format {YYYY-MM-DD}-{slug}.html`});let o=/<pre[\s>]/i.test(t),s=/white-space:\s*(pre|pre-wrap)/i.test(t);if(!o&&!s)r.push({rule:"code-container-compliance",severity:"error",message:"Missing code container formatting (<pre> tags or white-space: pre/pre-wrap)"});let a=t.replace(/<pre\b[^>]*>[\s\S]*?<\/pre>/gi,"").replace(/<code\b[^>]*>[\s\S]*?<\/code>/gi,""),c=/<script\b[^>]*\bsrc=["'](https?:)?\/\/[^"']+["']/i.test(a),l=/<link\b[^>]*\bhref=["'](https?:)?\/\/[^"']+["']/i.test(a),u=/@import\s+(?:url\(['"]?(https?:)?\/\/[^'"]+['"]?\)|['"](https?:)?\/\/[^'"]+['"])/i.test(a),d=/url\(['"]?(https?:)?\/\/[^'")]+['"]?\)/i.test(a),p=/<(img|iframe|video|audio|embed|object)\b[^>]*(src|data)=["'](https?:)?\/\/[^"']+["']/i.test(a);if(c||l||u||d||p)r.push({rule:"self-contained",severity:"error",message:"External resource load detected (live external script, stylesheet, image, media, @import, or url)"});if(!(t.match(/<script\b[^>]*>[\s\S]*?<\/script>/gi)||[]).some((k)=>/quiz|checkAnswer|questions|score|selectOption/i.test(k)))r.push({rule:"quiz-script-presence",severity:"error",message:"Quiz script missing or no quiz logic found in <script> tag"});if([/\bsk-[a-zA-Z0-9_-]{20,}\b/,/\bghp_[a-zA-Z0-9]{36}\b/,/\bgithub_pat_[a-zA-Z0-9_]{30,}\b/,/\bxox[baprs]-[a-zA-Z0-9_-]{10,}\b/,/\bAKIA[0-9A-Z]{16}\b/,/\b(?:api_key|api-key|secret|password|token|auth[-_]?token|bearer[-_]?token|access[-_]?token|private[-_]key|connection[-_]string)\s*[:=]\s*["']?[A-Za-z0-9\-_]{16,}["']?/i].some((k)=>k.test(a)))r.push({rule:"secret-scan",severity:"error",message:"Potential API key or secret token detected outside code blocks"});let y=r.filter((k)=>k.severity==="error").length===0;return{file:e,valid:y,issues:r}}async function T7e(e={}){let t=e.format==="json"?"json":"concise",r=[];if(e.file){if(!A1.existsSync(e.file)){let c={valid:!1,totalFiles:1,passedFiles:0,failedFiles:1,results:[{file:e.file,valid:!1,issues:[{rule:"file-exists",severity:"error",message:`File not found: ${e.file}`}]}]};return C7e(c,t,e.outFile),1}r=[e.file]}else{let c=e.dir||yV.join(".agents","results","explain");if(r=_7e(c),r.length===0){let l={valid:!1,totalFiles:1,passedFiles:0,failedFiles:1,results:[{file:c,valid:!1,issues:[{rule:"directory-scan",severity:"error",message:`No HTML files found under '${c}'`}]}]};return C7e(l,t,e.outFile),1}}let n=[];for(let c of r){let l=A1.readFileSync(c,"utf-8");n.push(qqr(c,l))}let i=n.filter((c)=>c.valid).length,o=n.length-i,s=o===0&&n.length>0,a={valid:s,totalFiles:n.length,passedFiles:i,failedFiles:o,results:n};return C7e(a,t,e.outFile),s?0:1}function C7e(e,t,r){if(r)A1.mkdirSync(yV.dirname(r),{recursive:!0}),A1.writeFileSync(r,JSON.stringify(e,null,2),"utf-8");if(t==="json")console.log(JSON.stringify(e,null,2));else if(e.valid)console.log(gV.default.green(`✔ Explain validation passed: ${e.passedFiles}/${e.totalFiles} file(s) valid`));else{console.log(gV.default.red(`✖ Explain validation failed: ${e.failedFiles}/${e.totalFiles} file(s) failed`));for(let n of e.results)if(!n.valid||n.issues.length>0){console.log(gV.default.yellow(`File: ${n.file}`));for(let i of n.issues)console.log(` - [${i.severity}] ${i.rule}: ${i.message}`)}}}var gV;var R7e=v(()=>{gV=ye(Re(),1)});function wkt(e){let t=e.command("explain").description("Explain artifact management and quality validation tools"),r=t.command("validate [file]").description("Validate self-contained explain HTML report artifacts").option("--dir <path>","Directory containing HTML files to validate").option("--format <fmt>","Output format: concise | json (default: concise)","concise").option("--out-file <path>","Write JSON validation report to file");ue(r),r.action(J(async(a,c)=>{let u=de(c)||c.format==="json"?"json":"concise";try{let d=await T7e({file:a,dir:c.dir,format:u,outFile:c.outFile});process.exitCode=d}catch(d){console.error(kkt.default.red(d.message)),process.exitCode=1}},{supportsJsonOutput:!0}));let n=t.command("render [file]").description("Render a Markdown draft (file or stdin) into one self-contained HTML explanation").option("--out <path>","Output file (default: .agents/results/explain/{YYYY-MM-DD}-{slug}.html)").option("--template <name>","Template: sheet (panel grid) | doc (one column with contents)").option("--theme <name>","Theme: blueprint | card").option("--mode <mode>","Colour mode: auto | light | dark").option("--style <level>","Prose check: off | warn | strict").option("--lang <code>","Page language: en | ko | ja | zh (default: detected)").option("--archify","Also build and link an interactive archify diagram").option("--no-archify","Skip the archify diagram even when the config enables it").option("--open","Open the page in the browser");ue(n),n.action(J(async(a,c)=>{process.exitCode=await x7e({...c,file:a,json:de(c)})},{supportsJsonOutput:!0}));let i=t.command("patch <html> [file]").description("Replace one panel of a rendered page from its embedded draft (new panel from file or stdin)").requiredOption("--panel <id>",'Panel to replace: its letter (B) or its title ("Call order")').option("--open","Open the page in the browser");ue(i),i.action(J(async(a,c,l)=>{process.exitCode=await A7e({html:a,file:c,panel:l.panel,open:l.open,json:de(l)})},{supportsJsonOutput:!0}));let o=t.command("lint [file]").description("Check the prose of a draft (file or stdin) without rendering").option("--style <level>","warn | strict (strict exits 1 on a warning)").option("--lang <code>","Draft language: en | ko | ja | zh (default: detected)");ue(o),o.action(J(async(a,c)=>{process.exitCode=S7e({...c,file:a,json:de(c)})},{supportsJsonOutput:!0}));let s=t.command("components [name]").description("List the components a draft can use, or print one component's syntax");ue(s),s.action(J(async(a,c)=>{process.exitCode=E7e(a,{json:de(c)})},{supportsJsonOutput:!0}))}var kkt;var xkt=v(()=>{$t();$7e();R7e();$7e();R7e();kkt=ye(Re(),1)});var Akt=v(()=>{xkt()});import{spawnSync as Kqr}from"node:child_process";function Jqr(e){let t=e.engine==="archify"?mm.default.green("archify"):mm.default.yellow("mermaid");if(console.log(`engine: ${t} (requested: ${e.requested})`),console.log(`reason: ${e.reason}`),e.archify){if(console.log(`root: ${e.archify.root}`),console.log(`bin: ${e.archify.bin}`),e.archify.version)console.log(`version: ${e.archify.version}`);console.log(`quality: ${e.quality}`)}console.log(`sidecar: ${e.explainSidecar?"on":"off"} (explain)`)}async function Xqr(e,t={}){let r=t.cwd??process.cwd(),n=await zv({cwd:r,engine:t.engine??"archify"});if(!n.archify)return console.error(mm.default.red(n.reason)),2;let i=Kqr(process.execPath,[n.archify.bin,...e],{cwd:r,stdio:"inherit",env:{...process.env,[GW]:"1"}});if(i.error)return console.error(mm.default.red(i.error.message)),1;return i.status??1}function Yqr(e){let t=e.command("diagram").description("Diagram engine helpers (archify interactive HTML or Mermaid fallback)"),r=t.command("resolve").description("Report which diagram engine workflows should use, and where archify lives").option("--engine <engine>","Override diagram.engine for this call: auto | archify | mermaid").option("--refresh","Re-check the latest archify release now").option("--offline","Do not touch the network; use cached copies only");ue(r),r.action(J(async(i)=>{let o=i.engine;if(o&&!["auto","archify","mermaid"].includes(o)){console.error(mm.default.red(`unknown engine: ${o}`)),process.exitCode=1;return}let s=await zv({cwd:process.cwd(),engine:o,refresh:i.refresh,offline:i.offline});if(de(i)){let{ok:a,...c}=s;console.log(JSON.stringify({ok:a,...c},null,2))}else Jqr(s);if(!s.ok)process.exitCode=1},{supportsJsonOutput:!0}));let n=t.command("update").description("Download the latest archify release into oma's managed cache (~/.cache/oma-diagram/archify)");ue(n),n.action(J(async(i)=>{let o=await zv({cwd:process.cwd(),engine:"archify",refresh:!0});if(de(i))console.log(JSON.stringify(o,null,2));else if(o.archify)console.log(`${mm.default.green("archify")} ${o.archify.version??o.archify.source} ready — ${o.reason}`);else console.error(mm.default.red(o.reason));if(!o.ok)process.exitCode=1},{supportsJsonOutput:!0})),t.command("archify [args...]").description("Run the installed archify CLI (doctor | guide | validate | deliver | visual-check …) with update checks disabled").allowUnknownOption(!0).allowExcessArguments(!0).helpOption(!1).action(async(i,o,s)=>{process.exitCode=await Xqr(s.args)})}var mm;var Skt=v(()=>{Q3e();$t();mm=ye(Re(),1)});function P7e(e,t,r=!1){let n=/^(\d+(?:\.\d+)?)(ms|s|m|h|d)?$/.exec(e);if(!n||r&&!n[2])throw Error(`Invalid duration: ${e}. Include a unit, e.g. 30s or 2m.`);if(!n[2])return e;let i={ms:1,s:1000,m:60000,h:3600000,d:86400000},o=Number(n[1])*(i[n[2]]??Number.NaN)/t;if(!Number.isFinite(o)||!Number.isInteger(o))throw Error(`Duration ${e} must resolve to a whole number of legacy units.`);return String(o)}function vV(e,t){let r=t.long??t.short??t.flags,n={flags:t.flags,legacy:r};if(r==="--model"&&t.flags.includes("<vendor>"))n.flags="--vendor <vendor>";else if(r==="--root")n.flags="--project-root <path>";else if(["--sid","--session"].includes(r))n.flags="--session-id <id>";else if(r==="--format"&&e!=="search media")n.flags="--output <format>";else if(r==="--out")n.flags=t.flags.includes("<dir>")?"--output-dir <path>":e==="slide validate"?"--report-file <path>":"--output-file <path>";else if(r==="--out-dir")n.flags="--output-dir <path>";else if(r==="--out-file")n.flags=e==="explain validate"?"--report-file <path>":"--output-file <path>";else if(r==="--dir")n.flags=e==="slide new"?"--output-dir <path>":e.startsWith("slide ")?"--workspace <path>":"--input-dir <path>";else if(r==="--max"&&e==="scholar search")n.flags="--limit <n>";else if(r==="--allow-external-out")n.flags="--allow-external-output";else if(r==="--timeout"){n.flags="--timeout <duration>";let i=t.flags.includes("<ms>");n.convert=(o)=>P7e(o,i?1:1000,i)}else if(r==="--timeout-minutes")n.flags="--timeout <duration>",n.convert=(i)=>P7e(i,60000,!0);else if(r==="--max-age-days")n.flags=e==="schedule:add"?"--expires-after <duration>":"--max-age <duration>",n.convert=(i)=>i==="0"?i:P7e(i,86400000,!0);return n}function $kt(e){return Zqr[e]??e.replaceAll(":"," ")}var Zqr,Ekt,Ckt;var _kt=v(()=>{Zqr={dashboard:"dashboard terminal","dashboard:web":"dashboard web","intel run":"intel suggest",hook:"hook run",state:"state list","state:get":"state get","state:required-decisions":"state decisions list","state:inject-log":"state inject-log list",stats:"stats get","memory:retry-drain":"memory retry drain","vault rm":"vault delete","search api":"search api fetch","search rss":"search rss fetch",skills:"skill","skills audit":"skill audit","skills lint":"skill lint","skills eval":"skill eval","skills opt":"skill optimize","skills promotions":"skill promotions","skills rollback":"skill rollback","skills procedure":"skill procedure","skills meta-optimize":"skill meta-optimize","skills evolution-stats":"skill evolution-stats","skills matrix":"skill matrix","slide new":"slide create","slide viewer":"slide preview","slide pdf":"slide export pdf","slide png":"slide export png","slide pptx":"slide export pptx","slide import-pptx":"slide import pptx","slide fetch-video":"slide asset fetch-video","slide styles":"slide style","slide styles list":"slide style list","slide styles preview":"slide style preview","slide styles get":"slide style get","image list-vendors":"image vendor list","video list-providers":"video provider list","schedule:add":"schedule create","schedule:remove":"schedule delete"},Ekt={"schedule:run":"schedule run","serena daemon:gc":"serena daemon gc"};Ckt=[{path:"state activate",source:"state",prefix:["--activate"],args:"<session-id>"},{path:"state archive",source:"state",prefix:["--archive"],args:""},{path:"state purge",source:"state",prefix:["--purge"],args:""},{path:"stats reset",source:"stats",prefix:["--reset"],args:""},{path:"memory maintain backup",source:"memory:maintain",prefix:["backup"],args:""},{path:"memory maintain prune",source:"memory:maintain",prefix:["prune"],args:""},{path:"memory maintain vacuum",source:"memory:maintain",prefix:["vacuum"],args:""},{path:"state inject-log get",source:"state:inject-log",prefix:[],args:"<session-id> <file>"}]});function Qqr(e){return`${e.required?"<":"["}${e.name()}${e.variadic?"...":""}${e.required?">":"]"}`}function O7e(e){let t=[];for(let r=e;r;r=r.parent)t.push(...r.options);return t}function bV(e,t){let r=0;while(r<e.length&&e[r]?.startsWith("-")){let n=e[r]??"",i=n.split("=")[0],o=t.options.find((s)=>s.long===i||s.short===i);if(!o)break;if(r++,o.required&&!n.includes("="))r++}return r}function eKr(e,t,r){return r.split(" ").every((n,i)=>e[t+i]===n)}function tKr(e,t,r){let i=O7e(e.source).map((l)=>({source:l,standard:vV(e.sourcePath,l)})),o=[],s=0,a,c=!1;for(let l=0;l<t.length;l++){let u=t[l]??"";if(u==="--"){o.push(...t.slice(l));break}if(!u.startsWith("-")){if(s++,e.sourcePath==="agent:verify"&&s>=2){o.push(...t.slice(l));break}o.push(u);continue}let d=u.indexOf("="),p=d<0?u:u.slice(0,d),f=i.find((S)=>S.source.long===p||S.source.short===p),m=i.find((S)=>new vn(S.standard.flags).long===p);if(f){let S=new vn(f.standard.flags);if(p!==S.long&&p!==S.short)throw Error(`Removed option ${p}. Use ${S.long}.`)}if(e.sourcePath==="state"&&["--activate","--archive","--purge"].includes(p)||e.sourcePath==="stats"&&p==="--reset"||e.path.startsWith("state inject-log ")&&p==="--entry")throw Error(`Removed option ${p}. Use an explicit action; see oma --help.`);let h=f??m,g=d<0?t[l+1]:u.slice(d+1);if(p==="--output"&&g==="concise")h=i.find((S)=>S.source.long==="--format")??h;if(!h){let S=i.find((E)=>E.source.short&&u.startsWith(E.source.short)&&new vn(E.standard.flags).short!==E.source.short);if(S)throw Error(`Removed option ${S.source.short}. Use ${new vn(S.standard.flags).long}.`);o.push(u);continue}let{source:y,standard:k}=h,b=new vn(k.flags).long===p,w=b&&(!f||r||/[a-z]$/i.test(g??"")),A=b?k.legacy:p;if(p==="--json")c=!0;if(p==="--output")a=g;if(y.required||y.optional){let S=d<0&&g!==void 0&&(y.required||!g.startsWith("-"));if(g!==void 0&&(d>=0||S)){if(w&&k.convert)g=k.convert(g);if(d>=0)o.push(`${A}=${g}`);else o.push(A,g),l++;if(y.variadic)while(t[l+1]!==void 0&&!t[l+1]?.startsWith("-"))o.push(t[++l]??"")}else o.push(A)}else o.push(d>=0?`${A}=${u.slice(d+1)}`:A)}if(r&&c&&a&&a!=="json")throw Error("--json conflicts with --output. Choose one output format.");return o}function I7e(e,t){let r=[],n=O7e(t);for(let i=0;i<e.length;i++){let o=e[i]??"";if(o==="--"){for(let a=i+1;a<e.length;a++)r.push(a);break}if(!o.startsWith("-")){r.push(i);continue}let s=n.find((a)=>a.long===o.split("=")[0]||a.short===o);if(s?.required&&!o.includes("=")){if(i++,s.variadic)while(e[i+1]!==void 0&&!e[i+1]?.startsWith("-"))i++}}return r}function Tkt(e){let t=new Map;function r(l,u=""){for(let d of l.commands){let p=`${u} ${d.name()}`.trim();t.set(p,d),r(d,p)}}r(e);let n=[...t].map(([l,u])=>({path:$kt(l),sourcePath:l,source:u}));for(let l of Ckt){let u=t.get(l.source);if(u)n.push({path:l.path,sourcePath:l.source,source:u,prefix:l.prefix,args:l.args})}n.sort((l,u)=>Number(u.path===u.sourcePath)-Number(l.path===l.sourcePath));let i=new Map;for(let l of n)if(!i.has(l.path))i.set(l.path,l);let o=new Nu(e.name()).description(e.description());if(e.version())o.version(e.version()??"");for(let l of e.options)if(!o.options.some((u)=>u.long===l.long))o.addOption(l);let s=new Map([["",o]]);for(let l of i.values()){let u=o,d="";for(let p of l.path.split(" ")){d=`${d} ${p}`.trim();let f=s.get(d);if(!f)f=u.command(p),s.set(d,f);u=f}if(u.description(l.source.description()),l.args!==void 0){if(l.args)u.arguments(l.args)}else if(l.sourcePath!=="state")for(let p of l.source.registeredArguments)u.addArgument(new ag(Qqr(p),p.description));for(let p of l.source.options){if(l.sourcePath==="state"&&["--activate","--archive","--purge"].includes(p.long??""))continue;if(l.sourcePath==="stats"&&p.long==="--reset")continue;if(l.path==="state inject-log get"&&p.long==="--entry")continue;let f=vV(l.sourcePath,p),m=new vn(f.flags,p.description).makeOptionMandatory(p.mandatory);if(u.options.some((h)=>h.long===m.long))continue;if(p.defaultValue!==void 0){let h=p.flags.includes("<ms>")?"ms":p.long==="--timeout-minutes"?"m":p.long==="--max-age-days"?"d":"s";m.default(f.flags.includes("<duration>")&&/^\d+(?:\.\d+)?$/.test(String(p.defaultValue))?`${p.defaultValue}${h}`:p.defaultValue)}u.addOption(m)}}let a=[...i.values()].sort((l,u)=>u.path.split(" ").length-l.path.split(" ").length);function c(l){let u=bV(l,e),d=a.find((p)=>eKr(l,u,p.path));return d?{offset:u,length:d.path.split(" ").length,canonical:!0,route:d}:null}return{help:o,describePath:(l)=>l,normalize(l){let u=bV(l,e);for(let k of[2,1]){let b=Ekt[l.slice(u,u+k).join(" ")];if(!b)continue;l=[...l.slice(0,u),...b.split(" "),...l.slice(u+k)];break}let d=c(l);if(!d){let k=bV(l,e);if(l[k]&&!l[k]?.startsWith("-"))throw Error(`Unknown command: ${l.slice(k).join(" ")}. Use oma --help.`);return l}let{offset:p,length:f,route:m,canonical:h}=d,g=tKr(m,l.slice(p+f),h),y=s.get(m.path);if(y&&!y.registeredArguments.length){if(I7e(g,m.source).length>y.registeredArguments.length)throw Error(`Unexpected argument for oma ${m.path}. Use --help.`)}if(m.path==="state activate"){let k=I7e(g,m.source);if(k.length!==1)throw Error("Usage: oma state activate <session-id>");g=[g.splice(k[0]??0,1)[0]??"",...g]}if(m.path==="state inject-log get"){let k=I7e(g,m.source);if(k.length!==2)throw Error("Usage: oma state inject-log get <session-id> <file>");let b=k[1]??0,w=g[b]??"";g.splice(b,1),g=["--entry",w,...g]}return[...l.slice(0,p),...m.sourcePath.split(" "),...m.prefix??[],...g]},showHelp(l){let u=bV(l,e),d=l[u]==="help",p=d?l.slice(u+1):l.slice(u),f=c(l),m=d||p[0]==="--help"||p[0]==="-h"||f&&(()=>{let A=p.slice(f.length),S=O7e(f.route.source);for(let E=0;E<A.length;E++){if(A[E]==="--")return!1;if(A[E]==="--help"||A[E]==="-h")return!0;if(S.find((_)=>_.long===A[E]||_.short===A[E]||new vn(vV(f.route.sourcePath,_).flags).long===A[E])?.required)E++;else if(A[E]&&!A[E]?.startsWith("-")&&f.route.sourcePath==="agent:verify")return!1}return!1})(),h=p.filter((A)=>A!=="--help"&&A!=="-h").join(" "),g=p.at(-1)==="--help"&&s.has(h),y=i.get(h)?.source,k=h.length>0&&s.get(h)?.commands.length&&!y?._actionHandler;if(!m&&!g&&!k)return!1;let b=d?p.join(" "):g||k?h:f?.route.path??"",w=s.get(b);if(!w)return!1;return w.outputHelp(),!0}}}var Rkt=v(()=>{gm();_kt()});gm();eb();vi();import{writeSync as ewt}from"node:fs";import{isatty as twt}from"node:tty";import{format as rwt}from"node:util";var nwt=new Int32Array(new SharedArrayBuffer(4));function iwt(e,t){let r=Buffer.from(t,"utf-8"),n=0;while(n<r.length)try{n+=ewt(e,r,n)}catch(i){let o=i.code;if(o==="EAGAIN"){Atomics.wait(nwt,0,0,1);continue}if(o==="EPIPE")return;throw i}}function W7e(){if(!process.versions.bun||twt(1))return;let e=(...t)=>{iwt(1,`${rwt(...t)}
|
|
4558
4558
|
`)};console.log=e,console.info=e}var Pkt=w4.version;W7e();var ps=new Nu,I_;ps.name("oh-my-agent").description("Multi-Agent Orchestrator for AI IDEs").version(Pkt).option("-g, --global","operate on the OMA global install ($OMA_HOME/.agents, default ~/.oma/.agents)").addOption(new vn("--oma-home <path>","Global storage root for OS executors").hideHelp()).addOption(new vn("--oma-state-home <path>","Explicit profile root for OS executors").hideHelp()).showSuggestionAfterError().showHelpAfterError().addHelpText("after",`
|
|
4559
4559
|
Aliases:
|
|
4560
4560
|
oma Alias for oh-my-agent after global installation.
|
package/package.json
CHANGED