oh-my-agent 20.8.0 → 20.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/bin/cli-main.js +4 -4
  2. package/package.json +1 -1
package/bin/cli-main.js CHANGED
@@ -24,7 +24,7 @@ Expecting one of '${r.join("', '")}'`);if(this._lifeCycleHooks[e])this._lifeCycl
24
24
  `),this.outputHelp({error:!0});let r=t||{},n=r.exitCode||1,i=r.code||"commander.error";this._exit(n,i,e)}_parseOptionsEnv(){this.options.forEach((e)=>{if(e.envVar&&e.envVar in jr.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()}`,jr.env[e.envVar]);else this.emit(`optionEnv:${e.name()}`)}})}_parseOptionsImplied(){let e=new nq(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=oq(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=oq(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)=>oR(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=C4.basename(e,C4.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(jr.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 dXr;var Im=v(()=>{sR();Uge();Ab();rq();iq();dXr=new Vu});var _4;var Sb=v(()=>{_4={name:"oh-my-agent",version:"20.8.0",description:"A specialist team for the coding agent you already use: 12 roles, 21 workflows and 33 skills that plan, build in parallel, review and debug, leaving plans, ADRs and results as files. Gates wait for your own tests. Also research, slides and video. One .agents/ folder for Claude Code, Codex, Cursor and 11 more.",type:"module",bin:{"oh-my-agent":"./bin/cli.js",oma:"./bin/cli.js"},files:["bin","assets/serena"],keywords:["oh-my-agent","antigravity",".agents","agent","skills","agent-skills","multi-agent","orchestrator","claude","claude-code","codex","opencode","copilot","cursor","chatgpt","pm","frontend","backend","mobile","qa","debug","terraform","database","workflow","bug-fixing"],author:"our.first.fluke <our.first.fluke@gmail.com>",contributors:["gracefullight <gracefullight.dev@gmail.com>","gahyun-git <go4it.gh@gmail.com>"],license:"MIT",funding:[{type:"github",url:"https://github.com/sponsors/first-fluke"},{type:"buymeacoffee",url:"https://buymeacoffee.com/firstfluke"}],scripts:{"sync:readme":"node ./scripts/sync-readme.mjs","generate:skill-data":"node ./scripts/generate-skill-data.mjs",build:"bun run generate:skill-data && bun run sync:readme && bun build cli.ts --outfile bin/cli-main.js --target node --minify --external @napi-rs/keyring --external jsonc-parser && node ./scripts/write-bin-entry.mjs && bun run check:bundle",dev:"bun run generate:skill-data && bun run cli.ts",lint:"biome check .","lint:fix":"biome check --write --unsafe .","check:boundaries":"node ./scripts/check-boundaries.mjs","check:bundle":"node ./scripts/check-bundle.mjs","check:emit-drift":"node ./scripts/check-emit-drift.mjs",test:"vitest run","test:coverage":"vitest run --coverage",prepublishOnly:"bun run build"},dependencies:{"@clack/prompts":"^1.7.0","@dagrejs/dagre":"^3.1.1","@date-fns/tz":"^1.5.0","@napi-rs/keyring":"^1.3.0",axios:"^1.18.1","better-sqlite3":"^13.0.2",chokidar:"^5.0.0",commander:"^15.0.0","date-fns":"^4.4.0",eld:"^2.0.3","fast-xml-parser":"^5.10.1","jsonc-parser":"^3.3.1",minimatch:"^10.2.6","p-map":"^7.0.6",picocolors:"^1.1.1","puppeteer-core":"^25.4.0",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1","remark-parse":"^11.0.0","smol-toml":"^1.7.1",unified:"^11.0.5",ws:"^8.21.1",yaml:"^2.9.0",zod:"^4.4.3"},optionalDependencies:{pptxgenjs:"^4.0.1"},devDependencies:{"@babel/parser":"7.29.3","@biomejs/biome":"^2.5.6","@types/better-sqlite3":"^7.6.13","@types/mdast":"^4.0.4","@types/node":"^26.1.2","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.1.10",typescript:"^7.0.2",vitest:"^4.1.10"},repository:{type:"git",url:"https://github.com/first-fluke/oh-my-agent"},homepage:"https://firstfluke.com/oh-my-agent",bugs:{url:"https://github.com/first-fluke/oh-my-agent/issues"},antigravity:{skillsPath:".agents/skills",skills:["oma-architecture","oma-brainstorm","oma-coordination","oma-pm","oma-frontend","oma-backend","oma-db","oma-mobile","oma-qa","oma-debug","oma-orchestration","oma-dev-workflow","oma-tf-infra","oma-scm","oma-pdf","oma-recap"]}}});import{homedir as Hge}from"node:os";import{isAbsolute as Uxt,join as Hxt,resolve as Gxt}from"node:path";function Gge(e,t){let r=Array.from(e).some((n)=>{let i=n.charCodeAt(0);return i<32||i===127});if(!Uxt(e)||r)throw Error(`${t} must be an absolute path without control characters`);return Gxt(e)}function Kr(e=process.env,t=Hge()){return Gge(e.OMA_HOME||Hxt(t,".oma"),"OMA_HOME")}function vs(e=process.env,t=Hge()){return e.OMA_STATE_HOME===void 0?Kr(e,t):Gge(e.OMA_STATE_HOME,"OMA_STATE_HOME")}var lR=()=>{};import{homedir as Wxt}from"node:os";import{join as Eb}from"node:path";function mc(e=process.env,t=Wxt()){let r=Kr(e,t),n=Eb(r,"state");return{home:r,definitions:Eb(r,".agents"),state:n,serena:Eb(n,"serena"),schedule:Eb(r,"schedule"),backup:Eb(r,"backup")}}var li=v(()=>{lR();lR()});import*as qu from"node:fs";import{homedir as Vxt}from"node:os";import*as _l from"node:path";function Vge(e){if(uR)throw Error("install context already set in this process");uR=e}function qge(){if(uR===null)throw Error("install context not set — entry point must call setInstallContext()");return uR}function R4(){return qge().installRoot}function ui(){return qge().mode}function wt(){try{return ui()}catch{return"project"}}function Mg(){try{return R4()}catch{return process.cwd()}}function dR(e,t,r=Vxt()){return t==="project"&&_l.resolve(e)===_l.resolve(r)}function Kge(e){if(e.global===!0||process.env.OMA_INSTALL_GLOBAL==="1"){let r=Kr();return qxt(r),{installRoot:r,mode:"global"}}return{installRoot:process.cwd(),mode:"project"}}function qxt(e){if(!_l.isAbsolute(e))throw Error("OMA_HOME must be absolute path");for(let n of Wge)if(e===n||e.startsWith(n+_l.sep))throw Error(`OMA_HOME=${e} is forbidden (system path ${n})`);let t,r=_l.resolve(e);try{while(!qu.existsSync(r)){let n=_l.dirname(r);if(n===r)break;r=n}if(t=qu.realpathSync(r),!qu.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 Wge)if(t===n||t.startsWith(n+_l.sep))throw Error(`OMA_HOME=${e} is forbidden (system path ${n})`);try{qu.accessSync(t,qu.constants.W_OK)}catch{throw Error(`OMA_HOME=${e} is not writable`)}}var uR=null,Wge;var di=v(()=>{li();Wge=["/etc","/usr","/bin","/boot","/sys","/proc"]});import{join as Qxt}from"node:path";function Mm(e){return e.endsWith("/")?e:`${e}/`}function p2(e,t){let r=t.split("/").filter((n)=>n.length>0);return Qxt(e,...r)}var sr=".agents",Om,In,Mp,TXr,PXr,IXr,eAt=".antigravitycli",Yge,tAt=".migration-backup",rAt="docs/plans",nAt=".qwen/tmp",iAt,oAt,sAt,aAt,cAt,lAt,uAt,aq;var Jr=v(()=>{Om=`${sr}/skills`,In=`${sr}/results`,Mp=`${sr}/state`,TXr=`${Mp}/sessions`,PXr=`${Mp}/retry`,IXr=`${Mp}/archive`,Yge=`${sr}/backup`;iAt=Mm(In),oAt=Mm(Mp),sAt=Mm(eAt),aAt=Mm(Yge),cAt=Mm(tAt),lAt=Mm(rAt),uAt=Mm(nAt),aq=[".agents/oma-config.local.cue",".agents/oma-config.local.yaml",sAt,iAt,oAt,aAt,lAt,cAt,uAt]});var cn="first-fluke/oh-my-agent",Wt,Rl,cq,dAt,pAt,T4,Zn;var f2=v(()=>{Jr();Wt=Om,Rl=["antigravity","claude","codex","commandcode","cursor","grok","kimi","kiro","qwen"],cq=["pi","opencode"],dAt=["copilot","hermes"],pAt=["zcode"],T4=[...Rl,...cq,...dAt,...pAt].sort(),Zn={antigravity:{projectPath:".gemini/antigravity-cli/skills",homePath:".gemini/antigravity-cli/skills",requiresHomeConsent:!0},claude:{projectPath:".claude/skills",homePath:".claude/skills"},codex:{projectPath:".codex/skills",homePath:".codex/skills"},commandcode:{projectPath:".commandcode/skills",homePath:".commandcode/skills",optIn:!0},copilot:{projectPath:".github/skills",homePath:".copilot/skills"},cursor:{projectPath:".cursor/skills",homePath:".cursor/skills"},hermes:{projectPath:".hermes/skills/oma",homePath:".hermes/skills/oma",requiresHomeConsent:!0},kimi:{projectPath:".kimi-code/skills",homePath:".kimi-code/skills",requiresHomeConsent:!0,optIn:!0},kiro:{projectPath:".kiro/skills",homePath:".kiro/skills",optIn:!0},opencode:{projectPath:".opencode/skills",homePath:".opencode/skills"},qwen:{projectPath:".qwen/skills",homePath:".qwen/skills"}}});function de(e,t="Output as JSON"){return e.option("--json",t).option("--output <format>","Output format (text/json)",(r)=>{let n=r.trim().toLowerCase();if(!$b.includes(n))throw Error(`Invalid output format: ${r}. Expected one of ${$b.join(", ")}`);return n})}function fAt(e){if(e?.json)return"json";let t=e?.output?.trim().toLowerCase();if(t&&$b.includes(t))return t;if(process.env[Qge]?.trim().toLowerCase()==="json")return"json";return"text"}function pe(e){return fAt(e)==="json"}function e6e(e){let t=e.at(-1);return t instanceof Vu?t:null}function mAt(e){let t=e6e(e);if(t)return t.opts();let r=e.at(-1);return r&&typeof r==="object"?r:{}}function hAt(e){if(e instanceof Error)return e.message;return String(e)}function Dp(e){throw Error(e)}function uq(e,t){for(let r of e){let n=r.charCodeAt(0);if(n>=0&&n<=31||n===127)Dp(`${t} must not contain control characters`)}}function gAt(e,t){if(uq(e,t),/[?#%]/.test(e))Dp(`${t} must not contain ?, #, or %`);if(e.includes(".."))Dp(`${t} must not contain '..'`)}function yAt(e,t){uq(e,t);try{new URL(e)}catch{Dp(`${t} must be a valid absolute URL`)}}function lq(e,t,r="text"){if(typeof e==="string"){if(r==="identifier"){gAt(e,t);return}if(r==="url"){yAt(e,t);return}uq(e,t);return}if(Array.isArray(e))for(let[n,i]of e.entries())lq(i,`${t}[${n}]`,r)}function Zge(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 vAt(e){let t=e.vendor;if(typeof t==="string"){if(t.split(",").map((o)=>o.trim()).filter(Boolean).filter((o)=>!T4.includes(o)).length>0)Dp(`vendor must be one of ${T4.join(", ")}`)}let r=e.output;if(typeof r==="string"&&!$b.includes(r))Dp(`output must be one of ${$b.join(", ")}`)}function bAt(e){let t=e.processedArgs??e.args??[];(e.registeredArguments??[]).forEach((i,o)=>{let s=i.name?.()||String(o),a=t[o];if(lq(a,s,Zge(s)),s==="agent-type"&&typeof a==="string"&&!Xge.includes(a))Dp(`agent-type must be one of ${Xge.join(", ")}`)});let n=e.opts();vAt(n);for(let[i,o]of Object.entries(n))lq(o,i,Zge(i))}function kAt(e){return(e.registeredArguments??[]).map((t)=>({name:t.name?.()||"",required:!!t.required,variadic:!!t.variadic}))}function wAt(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 t6e(e){let t=[],r=e;while(r?.parent)t.unshift(r.name()),r=r.parent;return t.join(" ")}function xAt(e){return e.options.some((t)=>t.long==="--json"||t.long==="--output")}function AAt(e){return e.options.some((t)=>t.long==="--dry-run")}function r6e(e){return{name:e.name(),path:t6e(e),summary:e.summary()||void 0,description:e.description(),arguments:kAt(e),options:wAt(e),supportsJsonOutput:xAt(e),supportsDryRun:AAt(e),subcommands:e.commands.filter((t)=>!t._hidden).map((t)=>r6e(t))}}function SAt(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||t6e(i)===r)return i;n.push(...i.commands)}return null}function n6e(e,t){let r=SAt(e,t);if(!r)Dp(`Unknown command: ${t}`);let n={name:e.name(),version:e.version(),description:e.description(),env:{[Qge]:"Set to json to force machine-readable output on commands that support it."},command:r6e(r)};console.log(JSON.stringify(n,null,2))}function Y(e,t={}){return async(...r)=>{let n=e6e(r);if(n&&r.length>=2)r[r.length-2]=n.optsWithGlobals();let i=mAt(r);try{if(n)bAt(n);await e(...r)}catch(o){let s=hAt(o);if(t.supportsJsonOutput&&pe(i))console.log(JSON.stringify({error:s},null,2));else console.error(s);process.exitCode=1}}}var Qge="OH_MY_AG_OUTPUT_FORMAT",$b,Xge;var $t=v(()=>{Im();f2();$b=["text","json"],Xge=["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 m2(e){if(e)Object.assign(Dg,e);return Dg}var i6e,FXr,P4,Cb,Dg;var Dm=v(()=>{FXr=Symbol("zod_brand");P4=class P4 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};Cb=class Cb extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}};(i6e=globalThis).__zod_globalConfig??(i6e.__zod_globalConfig={});Dg=globalThis.__zod_globalConfig});function fR(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 pq(e,t="|"){return e.map((r)=>gq(r)).join(t)}function Rb(e,t){if(typeof t==="bigint")return t.toString();return t}function mR(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw Error("cached value already set")}}}function hR(e){return e===null||e===void 0}function gR(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function s6e(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 dr(e,t,r){let n=void 0;Object.defineProperty(e,t,{get(){if(n===o6e)return;if(n===void 0)n=o6e,n=r();return n},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function jm(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function jp(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function fq(e){return JSON.stringify(e)}function a6e(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function _b(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Lm(e){if(_b(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(_b(r)===!1)return!1;if(Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)return!1;return!0}function hq(e){if(Lm(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 Lp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ku(e,t,r){let n=new e._zod.constr(t??e._zod.def);if(!t||r?.parent)n._zod.parent=e;return n}function Ge(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function gq(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function u6e(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}function EAt(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=jp(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 jm(this,"shape",s),s},checks:[]});return Ku(e,o)}function $At(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=jp(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 jm(this,"shape",s),s},checks:[]});return Ku(e,o)}function CAt(e,t){if(!Lm(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=jp(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return jm(this,"shape",o),o}});return Ku(e,i)}function _At(e,t){if(!Lm(t))throw Error("Invalid input to safeExtend: expected a plain object");let r=jp(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return jm(this,"shape",n),n}});return Ku(e,r)}function RAt(e,t){if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=jp(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return jm(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return Ku(e,r)}function TAt(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=jp(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 jm(this,"shape",c),c},checks:[]});return Ku(t,s)}function PAt(e,t,r){let n=jp(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 jm(this,"shape",o),o}});return Ku(t,n)}function Nm(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 p6e(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 Np(e,t){return t.map((r)=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function pR(e){return typeof e==="string"?e:e?.message}function Tl(e,t,r){let n=e.message?e.message:pR(e.inst?._zod.def?.error?.(e))??pR(t?.error?.(e))??pR(r.customError?.(e))??pR(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 yR(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function f6e(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 Fm(...e){let[t,r,n]=e;if(typeof t==="string")return{message:t,code:"custom",input:r,inst:n};return{...t}}var o6e,mq,c6e,l6e,d6e;var Pl=v(()=>{Dm();o6e=Symbol("evaluating");mq="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};c6e=mR(()=>{if(Dg.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});l6e=new Set(["string","number","symbol"]);d6e={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 h6e(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 g6e(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 m6e=(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,Rb,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},vR,yq;var vq=v(()=>{Dm();Pl();vR=ne("$ZodError",m6e),yq=ne("$ZodError",m6e,{Parent:Error})});var bR=(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 P4;if(s.issues.length){let a=new(i?.Err??e)(s.issues.map((c)=>Tl(c,o,m2())));throw mq(a,i?.callee),a}return s.value},kR=(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)=>Tl(c,o,m2())));throw mq(a,i?.callee),a}return s.value},Tb=(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 P4;return o.issues.length?{success:!1,error:new(e??vR)(o.issues.map((s)=>Tl(s,i,m2())))}:{success:!0,data:o.value}},y6e,Pb=(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)=>Tl(s,i,m2())))}:{success:!0,data:o.value}},v6e,b6e=(e)=>(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return bR(e)(t,r,i)},k6e=(e)=>(t,r,n)=>bR(e)(t,r,n),w6e=(e)=>async(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return kR(e)(t,r,i)},x6e=(e)=>async(t,r,n)=>kR(e)(t,r,n),A6e=(e)=>(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return Tb(e)(t,r,i)},S6e=(e)=>(t,r,n)=>Tb(e)(t,r,n),E6e=(e)=>async(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return Pb(e)(t,r,i)},$6e=(e)=>async(t,r,n)=>Pb(e)(t,r,n);var bq=v(()=>{Dm();vq();Pl();y6e=Tb(yq),v6e=Pb(yq)});function j6e(){return new RegExp(OAt,"u")}function V6e(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 q6e(e){return new RegExp(`^${V6e(e)}$`)}function K6e(e){let t=V6e({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(`^${G6e}T(?:${n})$`)}var C6e,_6e,R6e,T6e,P6e,I6e,O6e,M6e,kq=(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})$`)},D6e,OAt="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",L6e,N6e,F6e,z6e,B6e,wq,U6e,H6e,G6e="(?:(?:\\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])))",W6e,J6e=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Y6e,xq,X6e,Z6e,Q6e,e9e;var xR=v(()=>{C6e=/^[cC][0-9a-z]{6,}$/,_6e=/^[0-9a-z]+$/,R6e=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,T6e=/^[0-9a-vA-V]{20}$/,P6e=/^[A-Za-z0-9]{27}$/,I6e=/^[a-zA-Z0-9_-]{21}$/,O6e=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,M6e=/^([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})$/,D6e=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;L6e=/^(?:(?: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])$/,N6e=/^(([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}|:))$/,F6e=/^((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])$/,z6e=/^(([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])$/,B6e=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,wq=/^[A-Za-z0-9_-]*$/,U6e=/^https?$/,H6e=/^\+[1-9]\d{6,14}$/,W6e=new RegExp(`^${G6e}$`);Y6e=/^-?\d+$/,xq=/^-?\d+(?:\.\d+)?$/,X6e=/^(?:true|false)$/i,Z6e=/^null$/i,Q6e=/^[^A-Z]*$/,e9e=/^[^a-z]*$/});var qo,t9e,Aq,Sq,r9e,n9e,i9e,o9e,s9e,Ib,a9e,c9e,l9e,u9e,d9e,p9e,f9e;var AR=v(()=>{Dm();xR();Pl();qo=ne("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),t9e={number:"number",bigint:"bigint",object:"date"},Aq=ne("$ZodCheckLessThan",(e,t)=>{qo.init(e,t);let r=t9e[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})}}),Sq=ne("$ZodCheckGreaterThan",(e,t)=>{qo.init(e,t);let r=t9e[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})}}),r9e=ne("$ZodCheckMultipleOf",(e,t)=>{qo.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):s6e(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})}}),n9e=ne("$ZodCheckNumberFormat",(e,t)=>{qo.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[i,o]=d6e[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=Y6e}),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})}}),i9e=ne("$ZodCheckMaxLength",(e,t)=>{var r;qo.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!hR(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=yR(i);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),o9e=ne("$ZodCheckMinLength",(e,t)=>{var r;qo.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!hR(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=yR(i);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),s9e=ne("$ZodCheckLengthEquals",(e,t)=>{var r;qo.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!hR(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=yR(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})}}),Ib=ne("$ZodCheckStringFormat",(e,t)=>{var r,n;if(qo.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=()=>{})}),a9e=ne("$ZodCheckRegex",(e,t)=>{Ib.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})}}),c9e=ne("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Q6e),Ib.init(e,t)}),l9e=ne("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=e9e),Ib.init(e,t)}),u9e=ne("$ZodCheckIncludes",(e,t)=>{qo.init(e,t);let r=Lp(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})}}),d9e=ne("$ZodCheckStartsWith",(e,t)=>{qo.init(e,t);let r=new RegExp(`^${Lp(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})}}),p9e=ne("$ZodCheckEndsWith",(e,t)=>{qo.init(e,t);let r=new RegExp(`.*${Lp(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})}}),f9e=ne("$ZodCheckOverwrite",(e,t)=>{qo.init(e,t),e._zod.check=(r)=>{r.value=t.tx(r.value)}})});class Eq{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 dXr;var Im=v(()=>{sR();Uge();Ab();rq();iq();dXr=new Vu});var _4;var Sb=v(()=>{_4={name:"oh-my-agent",version:"20.8.1",description:"A specialist team for the coding agent you already use: 12 roles, 21 workflows and 33 skills that plan, build in parallel, review and debug, leaving plans, ADRs and results as files. Gates wait for your own tests. Also research, slides and video. One .agents/ folder for Claude Code, Codex, Cursor and 11 more.",type:"module",bin:{"oh-my-agent":"./bin/cli.js",oma:"./bin/cli.js"},files:["bin","assets/serena"],keywords:["oh-my-agent","antigravity",".agents","agent","skills","agent-skills","multi-agent","orchestrator","claude","claude-code","codex","opencode","copilot","cursor","chatgpt","pm","frontend","backend","mobile","qa","debug","terraform","database","workflow","bug-fixing"],author:"our.first.fluke <our.first.fluke@gmail.com>",contributors:["gracefullight <gracefullight.dev@gmail.com>","gahyun-git <go4it.gh@gmail.com>"],license:"MIT",funding:[{type:"github",url:"https://github.com/sponsors/first-fluke"},{type:"buymeacoffee",url:"https://buymeacoffee.com/firstfluke"}],scripts:{"sync:readme":"node ./scripts/sync-readme.mjs","generate:skill-data":"node ./scripts/generate-skill-data.mjs",build:"bun run generate:skill-data && bun run sync:readme && bun build cli.ts --outfile bin/cli-main.js --target node --minify --external @napi-rs/keyring --external jsonc-parser && node ./scripts/write-bin-entry.mjs && bun run check:bundle",dev:"bun run generate:skill-data && bun run cli.ts",lint:"biome check .","lint:fix":"biome check --write --unsafe .","check:boundaries":"node ./scripts/check-boundaries.mjs","check:bundle":"node ./scripts/check-bundle.mjs","check:emit-drift":"node ./scripts/check-emit-drift.mjs",test:"vitest run","test:coverage":"vitest run --coverage",prepublishOnly:"bun run build"},dependencies:{"@clack/prompts":"^1.7.0","@dagrejs/dagre":"^3.1.1","@date-fns/tz":"^1.5.0","@napi-rs/keyring":"^1.3.0",axios:"^1.18.1","better-sqlite3":"^13.0.2",chokidar:"^5.0.0",commander:"^15.0.0","date-fns":"^4.4.0",eld:"^2.0.3","fast-xml-parser":"^5.10.1","jsonc-parser":"^3.3.1",minimatch:"^10.2.6","p-map":"^7.0.6",picocolors:"^1.1.1","puppeteer-core":"^25.4.0",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-gfm":"^4.0.1","remark-parse":"^11.0.0","smol-toml":"^1.7.1",unified:"^11.0.5",ws:"^8.21.1",yaml:"^2.9.0",zod:"^4.4.3"},optionalDependencies:{pptxgenjs:"^4.0.1"},devDependencies:{"@babel/parser":"7.29.3","@biomejs/biome":"^2.5.6","@types/better-sqlite3":"^7.6.13","@types/mdast":"^4.0.4","@types/node":"^26.1.2","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.1.10",typescript:"^7.0.2",vitest:"^4.1.10"},repository:{type:"git",url:"https://github.com/first-fluke/oh-my-agent"},homepage:"https://firstfluke.com/oh-my-agent",bugs:{url:"https://github.com/first-fluke/oh-my-agent/issues"},antigravity:{skillsPath:".agents/skills",skills:["oma-architecture","oma-brainstorm","oma-coordination","oma-pm","oma-frontend","oma-backend","oma-db","oma-mobile","oma-qa","oma-debug","oma-orchestration","oma-dev-workflow","oma-tf-infra","oma-scm","oma-pdf","oma-recap"]}}});import{homedir as Hge}from"node:os";import{isAbsolute as Uxt,join as Hxt,resolve as Gxt}from"node:path";function Gge(e,t){let r=Array.from(e).some((n)=>{let i=n.charCodeAt(0);return i<32||i===127});if(!Uxt(e)||r)throw Error(`${t} must be an absolute path without control characters`);return Gxt(e)}function Kr(e=process.env,t=Hge()){return Gge(e.OMA_HOME||Hxt(t,".oma"),"OMA_HOME")}function vs(e=process.env,t=Hge()){return e.OMA_STATE_HOME===void 0?Kr(e,t):Gge(e.OMA_STATE_HOME,"OMA_STATE_HOME")}var lR=()=>{};import{homedir as Wxt}from"node:os";import{join as Eb}from"node:path";function mc(e=process.env,t=Wxt()){let r=Kr(e,t),n=Eb(r,"state");return{home:r,definitions:Eb(r,".agents"),state:n,serena:Eb(n,"serena"),schedule:Eb(r,"schedule"),backup:Eb(r,"backup")}}var li=v(()=>{lR();lR()});import*as qu from"node:fs";import{homedir as Vxt}from"node:os";import*as _l from"node:path";function Vge(e){if(uR)throw Error("install context already set in this process");uR=e}function qge(){if(uR===null)throw Error("install context not set — entry point must call setInstallContext()");return uR}function R4(){return qge().installRoot}function ui(){return qge().mode}function wt(){try{return ui()}catch{return"project"}}function Mg(){try{return R4()}catch{return process.cwd()}}function dR(e,t,r=Vxt()){return t==="project"&&_l.resolve(e)===_l.resolve(r)}function Kge(e){if(e.global===!0||process.env.OMA_INSTALL_GLOBAL==="1"){let r=Kr();return qxt(r),{installRoot:r,mode:"global"}}return{installRoot:process.cwd(),mode:"project"}}function qxt(e){if(!_l.isAbsolute(e))throw Error("OMA_HOME must be absolute path");for(let n of Wge)if(e===n||e.startsWith(n+_l.sep))throw Error(`OMA_HOME=${e} is forbidden (system path ${n})`);let t,r=_l.resolve(e);try{while(!qu.existsSync(r)){let n=_l.dirname(r);if(n===r)break;r=n}if(t=qu.realpathSync(r),!qu.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 Wge)if(t===n||t.startsWith(n+_l.sep))throw Error(`OMA_HOME=${e} is forbidden (system path ${n})`);try{qu.accessSync(t,qu.constants.W_OK)}catch{throw Error(`OMA_HOME=${e} is not writable`)}}var uR=null,Wge;var di=v(()=>{li();Wge=["/etc","/usr","/bin","/boot","/sys","/proc"]});import{join as Qxt}from"node:path";function Mm(e){return e.endsWith("/")?e:`${e}/`}function p2(e,t){let r=t.split("/").filter((n)=>n.length>0);return Qxt(e,...r)}var sr=".agents",Om,In,Mp,TXr,PXr,IXr,eAt=".antigravitycli",Yge,tAt=".migration-backup",rAt="docs/plans",nAt=".qwen/tmp",iAt,oAt,sAt,aAt,cAt,lAt,uAt,aq;var Jr=v(()=>{Om=`${sr}/skills`,In=`${sr}/results`,Mp=`${sr}/state`,TXr=`${Mp}/sessions`,PXr=`${Mp}/retry`,IXr=`${Mp}/archive`,Yge=`${sr}/backup`;iAt=Mm(In),oAt=Mm(Mp),sAt=Mm(eAt),aAt=Mm(Yge),cAt=Mm(tAt),lAt=Mm(rAt),uAt=Mm(nAt),aq=[".agents/oma-config.local.cue",".agents/oma-config.local.yaml",sAt,iAt,oAt,aAt,lAt,cAt,uAt]});var cn="first-fluke/oh-my-agent",Wt,Rl,cq,dAt,pAt,T4,Zn;var f2=v(()=>{Jr();Wt=Om,Rl=["antigravity","claude","codex","commandcode","cursor","grok","kimi","kiro","qwen"],cq=["pi","opencode"],dAt=["copilot","hermes"],pAt=["zcode"],T4=[...Rl,...cq,...dAt,...pAt].sort(),Zn={antigravity:{projectPath:".gemini/antigravity-cli/skills",homePath:".gemini/antigravity-cli/skills",requiresHomeConsent:!0},claude:{projectPath:".claude/skills",homePath:".claude/skills"},codex:{projectPath:".codex/skills",homePath:".codex/skills"},commandcode:{projectPath:".commandcode/skills",homePath:".commandcode/skills",optIn:!0},copilot:{projectPath:".github/skills",homePath:".copilot/skills"},cursor:{projectPath:".cursor/skills",homePath:".cursor/skills"},hermes:{projectPath:".hermes/skills/oma",homePath:".hermes/skills/oma",requiresHomeConsent:!0},kimi:{projectPath:".kimi-code/skills",homePath:".kimi-code/skills",requiresHomeConsent:!0,optIn:!0},kiro:{projectPath:".kiro/skills",homePath:".kiro/skills",optIn:!0},opencode:{projectPath:".opencode/skills",homePath:".opencode/skills"},qwen:{projectPath:".qwen/skills",homePath:".qwen/skills"}}});function de(e,t="Output as JSON"){return e.option("--json",t).option("--output <format>","Output format (text/json)",(r)=>{let n=r.trim().toLowerCase();if(!$b.includes(n))throw Error(`Invalid output format: ${r}. Expected one of ${$b.join(", ")}`);return n})}function fAt(e){if(e?.json)return"json";let t=e?.output?.trim().toLowerCase();if(t&&$b.includes(t))return t;if(process.env[Qge]?.trim().toLowerCase()==="json")return"json";return"text"}function pe(e){return fAt(e)==="json"}function e6e(e){let t=e.at(-1);return t instanceof Vu?t:null}function mAt(e){let t=e6e(e);if(t)return t.opts();let r=e.at(-1);return r&&typeof r==="object"?r:{}}function hAt(e){if(e instanceof Error)return e.message;return String(e)}function Dp(e){throw Error(e)}function uq(e,t){for(let r of e){let n=r.charCodeAt(0);if(n>=0&&n<=31||n===127)Dp(`${t} must not contain control characters`)}}function gAt(e,t){if(uq(e,t),/[?#%]/.test(e))Dp(`${t} must not contain ?, #, or %`);if(e.includes(".."))Dp(`${t} must not contain '..'`)}function yAt(e,t){uq(e,t);try{new URL(e)}catch{Dp(`${t} must be a valid absolute URL`)}}function lq(e,t,r="text"){if(typeof e==="string"){if(r==="identifier"){gAt(e,t);return}if(r==="url"){yAt(e,t);return}uq(e,t);return}if(Array.isArray(e))for(let[n,i]of e.entries())lq(i,`${t}[${n}]`,r)}function Zge(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 vAt(e){let t=e.vendor;if(typeof t==="string"){if(t.split(",").map((o)=>o.trim()).filter(Boolean).filter((o)=>!T4.includes(o)).length>0)Dp(`vendor must be one of ${T4.join(", ")}`)}let r=e.output;if(typeof r==="string"&&!$b.includes(r))Dp(`output must be one of ${$b.join(", ")}`)}function bAt(e){let t=e.processedArgs??e.args??[];(e.registeredArguments??[]).forEach((i,o)=>{let s=i.name?.()||String(o),a=t[o];if(lq(a,s,Zge(s)),s==="agent-type"&&typeof a==="string"&&!Xge.includes(a))Dp(`agent-type must be one of ${Xge.join(", ")}`)});let n=e.opts();vAt(n);for(let[i,o]of Object.entries(n))lq(o,i,Zge(i))}function kAt(e){return(e.registeredArguments??[]).map((t)=>({name:t.name?.()||"",required:!!t.required,variadic:!!t.variadic}))}function wAt(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 t6e(e){let t=[],r=e;while(r?.parent)t.unshift(r.name()),r=r.parent;return t.join(" ")}function xAt(e){return e.options.some((t)=>t.long==="--json"||t.long==="--output")}function AAt(e){return e.options.some((t)=>t.long==="--dry-run")}function r6e(e){return{name:e.name(),path:t6e(e),summary:e.summary()||void 0,description:e.description(),arguments:kAt(e),options:wAt(e),supportsJsonOutput:xAt(e),supportsDryRun:AAt(e),subcommands:e.commands.filter((t)=>!t._hidden).map((t)=>r6e(t))}}function SAt(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||t6e(i)===r)return i;n.push(...i.commands)}return null}function n6e(e,t){let r=SAt(e,t);if(!r)Dp(`Unknown command: ${t}`);let n={name:e.name(),version:e.version(),description:e.description(),env:{[Qge]:"Set to json to force machine-readable output on commands that support it."},command:r6e(r)};console.log(JSON.stringify(n,null,2))}function Y(e,t={}){return async(...r)=>{let n=e6e(r);if(n&&r.length>=2)r[r.length-2]=n.optsWithGlobals();let i=mAt(r);try{if(n)bAt(n);await e(...r)}catch(o){let s=hAt(o);if(t.supportsJsonOutput&&pe(i))console.log(JSON.stringify({error:s},null,2));else console.error(s);process.exitCode=1}}}var Qge="OH_MY_AG_OUTPUT_FORMAT",$b,Xge;var $t=v(()=>{Im();f2();$b=["text","json"],Xge=["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 m2(e){if(e)Object.assign(Dg,e);return Dg}var i6e,FXr,P4,Cb,Dg;var Dm=v(()=>{FXr=Symbol("zod_brand");P4=class P4 extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};Cb=class Cb extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`);this.name="ZodEncodeError"}};(i6e=globalThis).__zod_globalConfig??(i6e.__zod_globalConfig={});Dg=globalThis.__zod_globalConfig});function fR(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 pq(e,t="|"){return e.map((r)=>gq(r)).join(t)}function Rb(e,t){if(typeof t==="bigint")return t.toString();return t}function mR(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw Error("cached value already set")}}}function hR(e){return e===null||e===void 0}function gR(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function s6e(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 dr(e,t,r){let n=void 0;Object.defineProperty(e,t,{get(){if(n===o6e)return;if(n===void 0)n=o6e,n=r();return n},set(i){Object.defineProperty(e,t,{value:i})},configurable:!0})}function jm(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function jp(...e){let t={};for(let r of e){let n=Object.getOwnPropertyDescriptors(r);Object.assign(t,n)}return Object.defineProperties({},t)}function fq(e){return JSON.stringify(e)}function a6e(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function _b(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Lm(e){if(_b(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(_b(r)===!1)return!1;if(Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)return!1;return!0}function hq(e){if(Lm(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 Lp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ku(e,t,r){let n=new e._zod.constr(t??e._zod.def);if(!t||r?.parent)n._zod.parent=e;return n}function Ge(e){let t=e;if(!t)return{};if(typeof t==="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}if(delete t.message,typeof t.error==="string")return{...t,error:()=>t.error};return t}function gq(e){if(typeof e==="bigint")return e.toString()+"n";if(typeof e==="string")return`"${e}"`;return`${e}`}function u6e(e){return Object.keys(e).filter((t)=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}function EAt(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=jp(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 jm(this,"shape",s),s},checks:[]});return Ku(e,o)}function $At(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=jp(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 jm(this,"shape",s),s},checks:[]});return Ku(e,o)}function CAt(e,t){if(!Lm(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=jp(e._zod.def,{get shape(){let o={...e._zod.def.shape,...t};return jm(this,"shape",o),o}});return Ku(e,i)}function _At(e,t){if(!Lm(t))throw Error("Invalid input to safeExtend: expected a plain object");let r=jp(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return jm(this,"shape",n),n}});return Ku(e,r)}function RAt(e,t){if(e._zod.def.checks?.length)throw Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r=jp(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return jm(this,"shape",n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return Ku(e,r)}function TAt(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=jp(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 jm(this,"shape",c),c},checks:[]});return Ku(t,s)}function PAt(e,t,r){let n=jp(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 jm(this,"shape",o),o}});return Ku(t,n)}function Nm(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 p6e(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 Np(e,t){return t.map((r)=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function pR(e){return typeof e==="string"?e:e?.message}function Tl(e,t,r){let n=e.message?e.message:pR(e.inst?._zod.def?.error?.(e))??pR(t?.error?.(e))??pR(r.customError?.(e))??pR(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 yR(e){if(Array.isArray(e))return"array";if(typeof e==="string")return"string";return"unknown"}function f6e(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 Fm(...e){let[t,r,n]=e;if(typeof t==="string")return{message:t,code:"custom",input:r,inst:n};return{...t}}var o6e,mq,c6e,l6e,d6e;var Pl=v(()=>{Dm();o6e=Symbol("evaluating");mq="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};c6e=mR(()=>{if(Dg.jitless)return!1;if(typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{return new Function(""),!0}catch(e){return!1}});l6e=new Set(["string","number","symbol"]);d6e={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 h6e(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 g6e(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 m6e=(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,Rb,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},vR,yq;var vq=v(()=>{Dm();Pl();vR=ne("$ZodError",m6e),yq=ne("$ZodError",m6e,{Parent:Error})});var bR=(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 P4;if(s.issues.length){let a=new(i?.Err??e)(s.issues.map((c)=>Tl(c,o,m2())));throw mq(a,i?.callee),a}return s.value},kR=(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)=>Tl(c,o,m2())));throw mq(a,i?.callee),a}return s.value},Tb=(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 P4;return o.issues.length?{success:!1,error:new(e??vR)(o.issues.map((s)=>Tl(s,i,m2())))}:{success:!0,data:o.value}},y6e,Pb=(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)=>Tl(s,i,m2())))}:{success:!0,data:o.value}},v6e,b6e=(e)=>(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return bR(e)(t,r,i)},k6e=(e)=>(t,r,n)=>bR(e)(t,r,n),w6e=(e)=>async(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return kR(e)(t,r,i)},x6e=(e)=>async(t,r,n)=>kR(e)(t,r,n),A6e=(e)=>(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return Tb(e)(t,r,i)},S6e=(e)=>(t,r,n)=>Tb(e)(t,r,n),E6e=(e)=>async(t,r,n)=>{let i=n?{...n,direction:"backward"}:{direction:"backward"};return Pb(e)(t,r,i)},$6e=(e)=>async(t,r,n)=>Pb(e)(t,r,n);var bq=v(()=>{Dm();vq();Pl();y6e=Tb(yq),v6e=Pb(yq)});function j6e(){return new RegExp(OAt,"u")}function V6e(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 q6e(e){return new RegExp(`^${V6e(e)}$`)}function K6e(e){let t=V6e({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(`^${G6e}T(?:${n})$`)}var C6e,_6e,R6e,T6e,P6e,I6e,O6e,M6e,kq=(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})$`)},D6e,OAt="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",L6e,N6e,F6e,z6e,B6e,wq,U6e,H6e,G6e="(?:(?:\\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])))",W6e,J6e=(e)=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Y6e,xq,X6e,Z6e,Q6e,e9e;var xR=v(()=>{C6e=/^[cC][0-9a-z]{6,}$/,_6e=/^[0-9a-z]+$/,R6e=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,T6e=/^[0-9a-vA-V]{20}$/,P6e=/^[A-Za-z0-9]{27}$/,I6e=/^[a-zA-Z0-9_-]{21}$/,O6e=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,M6e=/^([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})$/,D6e=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;L6e=/^(?:(?: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])$/,N6e=/^(([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}|:))$/,F6e=/^((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])$/,z6e=/^(([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])$/,B6e=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,wq=/^[A-Za-z0-9_-]*$/,U6e=/^https?$/,H6e=/^\+[1-9]\d{6,14}$/,W6e=new RegExp(`^${G6e}$`);Y6e=/^-?\d+$/,xq=/^-?\d+(?:\.\d+)?$/,X6e=/^(?:true|false)$/i,Z6e=/^null$/i,Q6e=/^[^A-Z]*$/,e9e=/^[^a-z]*$/});var qo,t9e,Aq,Sq,r9e,n9e,i9e,o9e,s9e,Ib,a9e,c9e,l9e,u9e,d9e,p9e,f9e;var AR=v(()=>{Dm();xR();Pl();qo=ne("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),t9e={number:"number",bigint:"bigint",object:"date"},Aq=ne("$ZodCheckLessThan",(e,t)=>{qo.init(e,t);let r=t9e[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})}}),Sq=ne("$ZodCheckGreaterThan",(e,t)=>{qo.init(e,t);let r=t9e[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})}}),r9e=ne("$ZodCheckMultipleOf",(e,t)=>{qo.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):s6e(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})}}),n9e=ne("$ZodCheckNumberFormat",(e,t)=>{qo.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),n=r?"int":"number",[i,o]=d6e[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=Y6e}),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})}}),i9e=ne("$ZodCheckMaxLength",(e,t)=>{var r;qo.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!hR(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=yR(i);n.issues.push({origin:s,code:"too_big",maximum:t.maximum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),o9e=ne("$ZodCheckMinLength",(e,t)=>{var r;qo.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!hR(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=yR(i);n.issues.push({origin:s,code:"too_small",minimum:t.minimum,inclusive:!0,input:i,inst:e,continue:!t.abort})}}),s9e=ne("$ZodCheckLengthEquals",(e,t)=>{var r;qo.init(e,t),(r=e._zod.def).when??(r.when=(n)=>{let i=n.value;return!hR(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=yR(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})}}),Ib=ne("$ZodCheckStringFormat",(e,t)=>{var r,n;if(qo.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=()=>{})}),a9e=ne("$ZodCheckRegex",(e,t)=>{Ib.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})}}),c9e=ne("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Q6e),Ib.init(e,t)}),l9e=ne("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=e9e),Ib.init(e,t)}),u9e=ne("$ZodCheckIncludes",(e,t)=>{qo.init(e,t);let r=Lp(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})}}),d9e=ne("$ZodCheckStartsWith",(e,t)=>{qo.init(e,t);let r=new RegExp(`^${Lp(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})}}),p9e=ne("$ZodCheckEndsWith",(e,t)=>{qo.init(e,t);let r=new RegExp(`.*${Lp(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})}}),f9e=ne("$ZodCheckOverwrite",(e,t)=>{qo.init(e,t),e._zod.check=(r)=>{r.value=t.tx(r.value)}})});class Eq{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 h9e;var $q=v(()=>{h9e={major:4,minor:4,patch:3}});function H9e(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 MAt(e){if(!wq.test(e))return!1;let t=e.replace(/[-_]/g,(n)=>n==="-"?"+":"/"),r=t.padEnd(Math.ceil(t.length/4)*4,"=");return H9e(r)}function DAt(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 g9e(e,t,r){if(e.issues.length)t.issues.push(...Np(r,e.issues));t.value[r]=e.value}function ER(e,t,r,n,i,o){let s=r in n;if(e.issues.length){if(i&&o&&!s)return;t.issues.push(...Np(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 eye(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=u6e(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function tye(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)=>ER(m,r,p,t,u,d)));else ER(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 y9e(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)=>!Nm(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)=>Tl(s,n,m2())))}),t}function Cq(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(Lm(e)&&Lm(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=Cq(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=Cq(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 v9e(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(Nm(e))return e;let s=Cq(t.value,r.value);if(!s.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(s.mergeErrorPath)}`);return e.value=s.data,e}function b9e(e,t){if(t===void 0&&(e.issues.length||e.fallback))return{issues:[],value:void 0};return e}function k9e(e,t){if(e.value===void 0)e.value=t.defaultValue;return e}function w9e(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 SR(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 x9e(e){return e.value=Object.freeze(e.value),e}function A9e(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(Fm(i))}}var En,$R,On,S9e,E9e,$9e,C9e,_9e,R9e,T9e,P9e,I9e,O9e,M9e,D9e,j9e,L9e,N9e,F9e,z9e,B9e,U9e,G9e,W9e,V9e,q9e,_q,K9e,J9e,Y9e,X9e,Z9e,Q9e,jAt,rye,nye,iye,oye,sye,aye,cye,Rq,lye,uye,dye,pye,fye,mye,hye,gye,yye,vye;var bye=v(()=>{AR();Dm();bq();xR();Pl();$q();Pl();En=ne("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=h9e;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=Nm(s),u;for(let d of a){if(d._zod.def.when){if(p6e(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 P4;if(u||f instanceof Promise)u=(u??Promise.resolve()).then(async()=>{if(await f,s.issues.length===p)return;if(!l)l=Nm(s,p)});else{if(s.issues.length===p)continue;if(!l)l=Nm(s,p)}}if(u)return u.then(()=>s);return s},o=(s,a,c)=>{if(Nm(s))return s.aborted=!0,s;let l=i(a,n,c);if(l instanceof Promise){if(c.async===!1)throw new P4;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 P4;return c.then((l)=>i(l,n,a))}return i(c,n,a)}}dr(e,"~standard",()=>({validate:(i)=>{try{let o=y6e(e,i);return o.success?{value:o.data}:{issues:o.error?.issues}}catch(o){return v6e(e,i).then((s)=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),$R=ne("$ZodString",(e,t)=>{En.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??J6e(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}}),On=ne("$ZodStringFormat",(e,t)=>{Ib.init(e,t),$R.init(e,t)}),S9e=ne("$ZodGUID",(e,t)=>{t.pattern??(t.pattern=M6e),On.init(e,t)}),E9e=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=kq(n))}else t.pattern??(t.pattern=kq());On.init(e,t)}),$9e=ne("$ZodEmail",(e,t)=>{t.pattern??(t.pattern=D6e),On.init(e,t)}),C9e=ne("$ZodURL",(e,t)=>{On.init(e,t),e._zod.check=(r)=>{try{let n=r.value.trim();if(!t.normalize&&t.protocol?.source===U6e.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})}}}),_9e=ne("$ZodEmoji",(e,t)=>{t.pattern??(t.pattern=j6e()),On.init(e,t)}),R9e=ne("$ZodNanoID",(e,t)=>{t.pattern??(t.pattern=I6e),On.init(e,t)}),T9e=ne("$ZodCUID",(e,t)=>{t.pattern??(t.pattern=C6e),On.init(e,t)}),P9e=ne("$ZodCUID2",(e,t)=>{t.pattern??(t.pattern=_6e),On.init(e,t)}),I9e=ne("$ZodULID",(e,t)=>{t.pattern??(t.pattern=R6e),On.init(e,t)}),O9e=ne("$ZodXID",(e,t)=>{t.pattern??(t.pattern=T6e),On.init(e,t)}),M9e=ne("$ZodKSUID",(e,t)=>{t.pattern??(t.pattern=P6e),On.init(e,t)}),D9e=ne("$ZodISODateTime",(e,t)=>{t.pattern??(t.pattern=K6e(t)),On.init(e,t)}),j9e=ne("$ZodISODate",(e,t)=>{t.pattern??(t.pattern=W6e),On.init(e,t)}),L9e=ne("$ZodISOTime",(e,t)=>{t.pattern??(t.pattern=q6e(t)),On.init(e,t)}),N9e=ne("$ZodISODuration",(e,t)=>{t.pattern??(t.pattern=O6e),On.init(e,t)}),F9e=ne("$ZodIPv4",(e,t)=>{t.pattern??(t.pattern=L6e),On.init(e,t),e._zod.bag.format="ipv4"}),z9e=ne("$ZodIPv6",(e,t)=>{t.pattern??(t.pattern=N6e),On.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})}}}),B9e=ne("$ZodCIDRv4",(e,t)=>{t.pattern??(t.pattern=F6e),On.init(e,t)}),U9e=ne("$ZodCIDRv6",(e,t)=>{t.pattern??(t.pattern=z6e),On.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})}}});G9e=ne("$ZodBase64",(e,t)=>{t.pattern??(t.pattern=B6e),On.init(e,t),e._zod.bag.contentEncoding="base64",e._zod.check=(r)=>{if(H9e(r.value))return;r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:e,continue:!t.abort})}});W9e=ne("$ZodBase64URL",(e,t)=>{t.pattern??(t.pattern=wq),On.init(e,t),e._zod.bag.contentEncoding="base64url",e._zod.check=(r)=>{if(MAt(r.value))return;r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:e,continue:!t.abort})}}),V9e=ne("$ZodE164",(e,t)=>{t.pattern??(t.pattern=H6e),On.init(e,t)});q9e=ne("$ZodJWT",(e,t)=>{On.init(e,t),e._zod.check=(r)=>{if(DAt(r.value,t.alg))return;r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:e,continue:!t.abort})}}),_q=ne("$ZodNumber",(e,t)=>{En.init(e,t),e._zod.pattern=e._zod.bag.pattern??xq,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}}),K9e=ne("$ZodNumberFormat",(e,t)=>{n9e.init(e,t),_q.init(e,t)}),J9e=ne("$ZodBoolean",(e,t)=>{En.init(e,t),e._zod.pattern=X6e,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}}),Y9e=ne("$ZodNull",(e,t)=>{En.init(e,t),e._zod.pattern=Z6e,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}}),X9e=ne("$ZodUnknown",(e,t)=>{En.init(e,t),e._zod.parse=(r)=>r}),Z9e=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)});Q9e=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)=>g9e(l,r,s)));else g9e(c,r,s)}if(o.length)return Promise.all(o).then(()=>r);return r}});jAt=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=mR(()=>eye(t));dr(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=_b,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)=>ER(y,a,p,l,m,h)));else ER(g,a,p,l,m,h)}if(!o)return u.length?Promise.all(u).then(()=>a):a;return tye(u,l,a,c,n.value,e)}}),rye=ne("$ZodObjectJIT",(e,t)=>{jAt.init(e,t);let r=e._zod.parse,n=mR(()=>eye(t)),i=(p)=>{let f=new Eq(["shape","payload","ctx"]),m=n.value,h=(b)=>{let w=fq(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],S=fq(b),A=p[b],E=A?._zod?.optin==="optional",x=A?._zod?.optout==="optional";if(f.write(`const ${w} = ${h(b)};`),E&&x)f.write(`
30
30
  if (${w}.issues.length) {
@@ -506,7 +506,7 @@ ${e.replaceAll('"""',"\\\"\\\"\\\"").trim()}
506
506
  """`}function JHt(e){let t=e.indexOf(KHt),r=e.indexOf(gCe);if(t===-1||r===-1||r<t)return e;let n=r+gCe.length,i=e.slice(n).replace(/^\n/,"");return e.slice(0,t)+i}function yCe(e,t){return e.replace("Follow the vendor-specific execution protocol:",`Follow \`${t}\`:`)}function YHt(e){let t=b1(e,".agents","agents");if(!sI(t))return[];return zHt(t,{withFileTypes:!0}).filter((r)=>r.isFile()&&r.name.endsWith(".md")).map((r)=>{let n=r.name,i=n.replace(".md",""),o=BHt(b1(t,n),"utf-8"),{frontmatter:s,body:a}=Pr(o);return{agentKey:i,entry:n,frontmatter:s,body:a}})}function XHt(e,t,r,n,i,o=".agents"){let{agentKey:s,entry:a,frontmatter:c,body:l}=e,u=UHt[n]||{},d=r.tools||c.tools||t.toolsDefault,f=(Array.isArray(d)?d:String(d||"").split(",").map((A)=>A.trim()).filter(Boolean)).map((A)=>u[A.toLowerCase()]||A),m=Array.isArray(t.toolsDefault)?f:f.join(", "),h=Array.isArray(m)?m.length>0:m.trim().length>0,g=r.model||c.model||t.modelDefault,y={name:c.name||s,description:r.description||c.description,tools:h?m:void 0,model:(n==="opencode"||n==="qwen")&&g==="inherit"?void 0:g};if(t.maxTurnsDefault||r.maxTurns||c.maxTurns)y[GHt(n)]=r.maxTurns||c.maxTurns||t.maxTurnsDefault;if(r.effort)if(n==="opencode")y.variant=r.effort;else y.effort=r.effort;if(r.kind)y.kind=r.kind;if(r.temperature!==void 0)y.temperature=r.temperature;if(r.timeoutMins!==void 0)y[WHt(n)]=r.timeoutMins;if(r.mcpServers)y.mcpServers=r.mcpServers;if(c.skills&&VHt(n))y.skills=c.skills;if(r.extra)Object.assign(y,r.extra);if(n==="opencode")y.mode="subagent";let k=P3(i==="Simple"?JHt(l):l,o),b=t.protocolPath?.replace(/^\.agents\//,`${o}/`),w=`<!-- Generated by oh-my-agent CLI. Source: ${o}/agents/${a} -->
507
507
  ${yCe(k,b)}`,S=eGt(y,n);return{fileName:a,content:B6(S,w)}}function ZHt(e,t,r,n=".agents"){let{agentKey:i,entry:o,frontmatter:s,body:a}=e,c=s.name||i,l=String(r.description||s.description||c),u=String(r.model||s.model||t.modelDefault),d=r.effort||t.effortDefault||"medium",p=typeof r.extra?.sandbox_mode==="string"?r.extra.sandbox_mode:"workspace-write",f=yCe(P3(a,n),t.protocolPath?.replace(/^\.agents\//,`${n}/`)),m=Array.isArray(s.skills)?s.skills.map((g)=>String(g)).filter(Boolean):[],h=[`# Generated by oh-my-agent CLI. Source: ${n}/agents/${o}`,`name = ${I3(c)}`,`description = ${I3(l)}`,`model = ${I3(u)}`,`model_reasoning_effort = ${I3(d)}`,`sandbox_mode = ${I3(p)}`,`developer_instructions = ${qHt(f)}`];for(let g of m)h.push(""),h.push("[[skills.config]]"),h.push(`path = ${I3(`${n}/skills/${g}/SKILL.md`)}`),h.push("enabled = true");if(r.mcpServers&&Object.keys(r.mcpServers).length>0){h.push(""),h.push("[mcp_servers]");for(let[g,y]of Object.entries(r.mcpServers))h.push(`${g} = ${I3(String(y))}`)}return{fileName:`${i}.toml`,content:`${h.join(`
508
508
  `)}
509
- `}}function eGt(e,t){let r=QHt[t];if(!r)return{...e};let n=new Set(r),i={};for(let[o,s]of Object.entries(e))if(n.has(o))i[o]=s;else if(t==="claude"&&o==="effort")console.warn("[agent-composer] Dropped 'effort' from claude variant (R14: Claude subagent frontmatter does not support effort — use CLI session --effort instead)");else console.warn(`[agent-composer] Dropped '${o}' from ${t} variant (not supported by this runtime)`);return i}function tGt(e,t){try{let r=Fa(e),n=Ew(t,r);if(n.cli!=="opencode")return{};return{model:n.cliModel,effort:n.effort}}catch{return{}}}function K6(e,t,r){let n=b1(e,".agents","agents"),i=b1(n,"variants",`${r}.json`);if(!sI(n)||!sI(i)&&r!=="qwen")return 0;let o=sI(i)?oI({variantPath:i,kind:"agent",validate:(l)=>{if(!l?.destDir)return;if(f1(t,l.destDir,"agent dest dir"),l.protocolPath){if(/[`\r\n]/.test(l.protocolPath))throw Error(`protocol path "${l.protocolPath}" contains forbidden characters.`);f1(t,l.protocolPath,"protocol path")}}}):r==="qwen"?HHt:void 0;if(!o?.destDir)return 0;let s=wt()==="global"&&r==="opencode"?b1(t,".config","opencode","agents"):b1(t,o.destDir);FHt(s,{recursive:!0});let a={};try{if(a=Fa(wt()==="global"?e:t),!a.model_preset)a=Fa(e)}catch{}let c=0;for(let l of YHt(e)){let u={...o.agents[l.agentKey]||{}},d=ql(l.agentKey);if(d){let m=a.model_preset==="auto"&&!!a.agents?.[d],h=r==="qwen"&&!!a.model_preset&&a.model_preset!=="free"&&a.model_preset!=="auto";if(m||h){let g=Ew(d,a,void 0,{});if(g.cli===r&&g.cliModel){if(u.model=g.cliModel,g.effort)u.effort=g.effort}}}if(r==="opencode"&&a.model_preset!=="auto"){let m=tGt(e,l.agentKey);if(m.model&&!u.model)u.model=m.model;if(m.effort&&!u.effort)u.effort=m.effort}let p=wt()==="global"?b1(e,".agents"):".agents",f=r==="codex"?ZHt(l,o,u,p):XHt(l,o,u,r,void 0,p);xr(b1(s,f.fileName),f.content),c+=1}return c}var UHt,HHt,KHt="<!-- CHARTER_CHECK_BEGIN -->",gCe="<!-- CHARTER_CHECK_END -->",QHt;var Cw=v(()=>{C3();$w();Ss();mi();Es();di();QP();PZ();UHt={claude:{read:"Read",write:"Write",edit:"Edit",bash:"Bash",grep:"Grep",glob:"Glob"},cursor:{read:"read_file",write:"write_file",edit:"replace",bash:"run_shell_command",grep:"grep_search",glob:"glob"},grok:{read:"read_file",write:"write_file",edit:"search_replace",bash:"run_terminal_cmd",grep:"grep",glob:"list_dir",ask:"ask_user"},qwen:{read:"read_file",write:"write_file",edit:"edit",bash:"run_shell_command",grep:"grep_search",glob:"glob"}},HHt={vendor:"qwen",destDir:".qwen/agents",modelDefault:"inherit",toolsDefault:[],protocolPath:".agents/skills/_shared/runtime/execution-protocols/qwen.md",agents:{}};QHt={claude:["name","description","tools","model","maxTurns","skills","memory","permissionMode"],codex:["name","description","model","model_reasoning_effort","sandbox_mode"],antigravity:["name","description","model"],qwen:["name","description","model","tools","approvalMode","maxTurns"],opencode:["name","description","mode","model","variant","temperature","tools","permission"]}});import*as Jl from"node:fs";import{dirname as vCe,isAbsolute as bCe,resolve as kCe,sep as rGt}from"node:path";function xCe(e){if(process.platform!=="win32")return e;if(e.startsWith(wCe))return e;if(e.length<=nGt)return e;return wCe+e}function k1(e,t,r,n){if(n!==void 0){let a=bCe(e)?e:kCe(vCe(t),e),c=Jl.realpathSync(a),l=Jl.realpathSync(n);if(c!==l&&!c.startsWith(l+rGt))throw Error(`createLink: target ${c} escapes SSOT base ${l}`)}if(process.platform!=="win32")return Jl.symlinkSync(e,t,r),"symlink";try{return Jl.symlinkSync(e,t,r),"symlink"}catch(a){if(!iGt(a))throw a}let i=bCe(e)?e:kCe(vCe(t),e),o=xCe(i),s=xCe(t);if(r==="dir")return Jl.symlinkSync(o,s,"junction"),IZ("junction"),"junction";try{return Jl.linkSync(o,s),IZ("hardlink"),"hardlink"}catch{return Jl.copyFileSync(o,s),IZ("copy"),"copy"}}function iGt(e){if(!e||typeof e!=="object")return!1;let t=e.code;return t==="EPERM"||t==="EACCES"}function IZ(e){if(ACe.has(e))return;ACe.add(e);let t=oGt[e];if(t)console.warn(t)}var nGt=260,wCe="\\\\?\\",ACe,oGt;var _w=v(()=>{ACe=new Set;oGt={symlink:"",junction:"note: using directory junctions because symlinks need admin or Developer Mode",hardlink:"note: using hardlinks because symlinks need admin or Developer Mode (content stays in sync via shared inode)",copy:"note: copying files because symlinks and hardlinks both failed (likely cross-volume) — re-run install after editing .agents/* to refresh"}});function J6(e){if(e.vendor!=="qwen")return e;let t={...e.events},r=t.SessionStart,n=r?Array.isArray(r)?[...r]:[r]:[];for(let o of[{hook:"code-intelligence-primer.ts",timeout:3},{hook:"state-boundary.ts",timeout:5}])if(!n.some((s)=>s.hook===o.hook))n.push(o);t.SessionStart=n;let i=t.PostToolUse;if(i)t.PostToolUse=(Array.isArray(i)?i:[i]).map((o)=>o.matcher==="write_file|replace"?{...o,matcher:"write_file|edit|replace"}:o);return{...e,events:t}}import{existsSync as sGt,readFileSync as aGt}from"node:fs";function SCe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function OZ(e,t,r){let n="";if(sGt(e))n=aGt(e,"utf-8");let i=SCe(t),o=!1;for(let[s,a]of Object.entries(r)){let c=SCe(s);if(new RegExp(`${c}\\s*=\\s*${a}`,"i").test(n))continue;let u=new RegExp(`${c}\\s*=\\s*${!a}`,"i"),d=`${s} = ${a}`;if(u.test(n)){n=n.replace(u,()=>d),o=!0;continue}if(new RegExp(`\\[${i}\\]`,"i").test(n))n=n.replace(new RegExp(`(\\[${i}\\][^[]*)`,"i"),(f)=>`${f}${d}
509
+ `}}function eGt(e,t){let r=QHt[t];if(!r)return{...e};let n=new Set(r),i={};for(let[o,s]of Object.entries(e))if(n.has(o))i[o]=s;else if(t==="claude"&&o==="effort")console.warn("[agent-composer] Dropped 'effort' from claude variant (R14: Claude subagent frontmatter does not support effort — use CLI session --effort instead)");else console.warn(`[agent-composer] Dropped '${o}' from ${t} variant (not supported by this runtime)`);return i}function tGt(e,t){try{let r=Fa(e),n=Ew(t,r);if(n.cli!=="opencode")return{};return{model:n.cliModel,effort:n.effort}}catch{return{}}}function K6(e,t,r){let n=b1(e,".agents","agents"),i=b1(n,"variants",`${r}.json`);if(!sI(n)||!sI(i)&&r!=="qwen")return 0;let o=sI(i)?oI({variantPath:i,kind:"agent",validate:(l)=>{if(!l?.destDir)return;if(f1(t,l.destDir,"agent dest dir"),l.protocolPath){if(/[`\r\n]/.test(l.protocolPath))throw Error(`protocol path "${l.protocolPath}" contains forbidden characters.`);f1(t,l.protocolPath,"protocol path")}}}):r==="qwen"?HHt:void 0;if(!o?.destDir)return 0;let s=wt()==="global"&&r==="opencode"?b1(t,".config","opencode","agents"):b1(t,o.destDir);FHt(s,{recursive:!0});let a={};try{if(a=Fa(wt()==="global"?e:t),!a.model_preset)a=Fa(e)}catch{}let c=0;for(let l of YHt(e)){let u={...o.agents[l.agentKey]||{}},d=ql(l.agentKey);if(d){let m=a.model_preset==="auto"&&!!a.agents?.[d],h=r==="qwen"&&!!a.model_preset&&a.model_preset!=="free"&&a.model_preset!=="auto";if(m||h){let g=Ew(d,a,void 0,{});if(g.cli===r&&g.cliModel){if(u.model=g.cliModel,g.effort)u.effort=g.effort}}}if(r==="opencode"&&a.model_preset!=="auto"){let m=tGt(e,l.agentKey);if(m.model&&!u.model)u.model=m.model;if(m.effort&&!u.effort)u.effort=m.effort}let p=wt()==="global"?b1(e,".agents"):".agents",f=r==="codex"?ZHt(l,o,u,p):XHt(l,o,u,r,void 0,p);xr(b1(s,f.fileName),f.content),c+=1}return c}var UHt,HHt,KHt="<!-- CHARTER_CHECK_BEGIN -->",gCe="<!-- CHARTER_CHECK_END -->",QHt;var Cw=v(()=>{C3();$w();Ss();mi();Es();di();QP();PZ();UHt={claude:{read:"Read",write:"Write",edit:"Edit",bash:"Bash",grep:"Grep",glob:"Glob"},cursor:{read:"read_file",write:"write_file",edit:"replace",bash:"run_shell_command",grep:"grep_search",glob:"glob"},grok:{read:"read_file",write:"write_file",edit:"search_replace",bash:"run_terminal_cmd",grep:"grep",glob:"list_dir",ask:"ask_user"},qwen:{read:"read_file",write:"write_file",edit:"edit",bash:"run_shell_command",grep:"grep_search",glob:"glob"}},HHt={vendor:"qwen",destDir:".qwen/agents",modelDefault:"inherit",toolsDefault:[],protocolPath:".agents/skills/_shared/runtime/execution-protocols/qwen.md",agents:{}};QHt={claude:["name","description","tools","model","maxTurns","skills","memory","permissionMode"],codex:["name","description","model","model_reasoning_effort","sandbox_mode"],antigravity:["name","description","model"],qwen:["name","description","model","tools","approvalMode","maxTurns"],opencode:["name","description","mode","model","variant","temperature","tools","permission"]}});import*as Jl from"node:fs";import{dirname as vCe,isAbsolute as bCe,resolve as kCe,sep as rGt}from"node:path";function xCe(e){if(process.platform!=="win32")return e;if(e.startsWith(wCe))return e;if(e.length<=nGt)return e;return wCe+e}function k1(e,t,r,n){if(n!==void 0){let a=bCe(e)?e:kCe(vCe(t),e),c=Jl.realpathSync(a),l=Jl.realpathSync(n);if(c!==l&&!c.startsWith(l+rGt))throw Error(`createLink: target ${c} escapes SSOT base ${l}`)}if(process.platform!=="win32")return Jl.symlinkSync(e,t,r),"symlink";try{return Jl.symlinkSync(e,t,r),"symlink"}catch(a){if(!iGt(a))throw a}let i=bCe(e)?e:kCe(vCe(t),e),o=xCe(i),s=xCe(t);if(r==="dir")return Jl.symlinkSync(o,s,"junction"),IZ("junction"),"junction";try{return Jl.linkSync(o,s),IZ("hardlink"),"hardlink"}catch{return Jl.copyFileSync(o,s),IZ("copy"),"copy"}}function iGt(e){if(!e||typeof e!=="object")return!1;let t=e.code;return t==="EPERM"||t==="EACCES"}function IZ(e){if(ACe.has(e))return;ACe.add(e);let t=oGt[e];if(t)console.warn(t)}var nGt=260,wCe="\\\\?\\",ACe,oGt;var _w=v(()=>{ACe=new Set;oGt={symlink:"",junction:"note: using directory junctions because symlinks need admin or Developer Mode",hardlink:"note: using hardlinks because symlinks need admin or Developer Mode (content stays in sync via shared inode)",copy:"note: copying files because symlinks and hardlinks both failed (likely cross-volume) — re-run install after editing .agents/* to refresh"}});function J6(e){if(e.vendor!=="qwen")return e;let t={...e.events},r=t.SessionStart,n=r?Array.isArray(r)?[...r]:[r]:[];for(let o of[{hook:"code-intelligence-primer.ts",timeout:3},{hook:"state-boundary.ts",timeout:5}])if(!n.some((s)=>s.hook===o.hook))n.push(o);t.SessionStart=n;let i=t.PostToolUse;if(i)t.PostToolUse=(Array.isArray(i)?i:[i]).map((o)=>o.matcher==="write_file|replace"||o.matcher==="write_file|edit|replace"?{...o,matcher:"write_file|edit|replace|notebook_edit"}:o);return{...e,events:t}}import{existsSync as sGt,readFileSync as aGt}from"node:fs";function SCe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function OZ(e,t,r){let n="";if(sGt(e))n=aGt(e,"utf-8");let i=SCe(t),o=!1;for(let[s,a]of Object.entries(r)){let c=SCe(s);if(new RegExp(`${c}\\s*=\\s*${a}`,"i").test(n))continue;let u=new RegExp(`${c}\\s*=\\s*${!a}`,"i"),d=`${s} = ${a}`;if(u.test(n)){n=n.replace(u,()=>d),o=!0;continue}if(new RegExp(`\\[${i}\\]`,"i").test(n))n=n.replace(new RegExp(`(\\[${i}\\][^[]*)`,"i"),(f)=>`${f}${d}
510
510
  `);else n=`${n.trimEnd()}
511
511
 
512
512
  [${t}]
@@ -800,7 +800,7 @@ ${s}`:o||s}function Ba(e,{maxDepth:t=1000,numbersAsFloat:r=!1}={}){if(Ow(e)!=="o
800
800
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
801
801
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
802
802
  */});import{existsSync as CGt,readFileSync as _Gt}from"node:fs";import{parse as RGt,printParseErrorCode as TGt}from"jsonc-parser";function PGt(e){if(!e.trim())return{status:"ok",value:{}};try{let t=JSON.parse(e);return G(t)?{status:"ok",value:t}:{status:"invalid",reason:"top-level value is not an object"}}catch{let t=[],r=RGt(e,t,{allowTrailingComma:!0});if(t.length===0&&G(r))return{status:"ok",value:r};let n=t[0];return{status:"invalid",reason:n?`${TGt(n.error)} at offset ${n.offset}`:"top-level value is not an object"}}}function IGt(e){if(!e.trim())return{status:"ok",value:{}};try{let t=C2(e);return G(t)?{status:"ok",value:t}:{status:"invalid",reason:"top-level value is not a table"}}catch(t){return{status:"invalid",reason:(t instanceof Error?t.message:String(t)).split(`
803
- `)[0]??"invalid TOML"}}}function NCe(e,t){if(!CGt(e))return{status:"missing"};let r;try{r=_Gt(e,"utf-8")}catch(n){return{status:"invalid",reason:`unreadable (${n.code??"error"})`}}return t(r)}function _2(e){return NCe(e,PGt)}function Z6(e){return NCe(e,IGt)}function FCe(e){if(e.status==="invalid")return null;return e.status==="missing"?{}:e.value}function la(e,t){if(LCe.has(e))return;LCe.add(e),console.warn(`${KZ.default.yellow("⚠")} Skipped ${e}: could not parse it (${t}). oma left the file unchanged — fix it, then re-run ${KZ.default.cyan("oma link")}.`)}function _c(e){let t=_2(e);if(t.status==="invalid")la(e,t.reason);return FCe(t)}function J4(e){let t=Z6(e);if(t.status==="invalid")la(e,t.reason);return FCe(t)}var KZ,LCe;var Ua=v(()=>{K4();ht();KZ=ve(Re(),1);LCe=new Set});import{mkdirSync as OGt}from"node:fs";import{dirname as MGt}from"node:path";function BCe(e){if(!ak(e))return!1;let t=e.hooks;if(!Array.isArray(t))return zCe(e);return t.some((r)=>ak(r)&&zCe(r))}function zCe(e){let t=typeof e.name==="string"?e.name:"",r=typeof e.command==="string"?e.command:"";if(t.startsWith("oma-hook-")||r.includes("oma-hook.sh"))return!0;let n=r.match(/\bbun\b.*?[/\\]([\w-]+)\.(ts|js)["']?\s*$/);if(n){let i=n[1];if(i&&DGt.has(i))return!0}return!1}function UCe(e,t){return[...(Array.isArray(e)?e:[]).filter((i)=>!BCe(i)),...t]}function fI(e,t,r){let n=_2(e);if(n.status==="invalid")return la(e,n.reason),!1;OGt(MGt(e),{recursive:!0});let i=n.status==="ok"?n.value:{},o=i.hooks||{},s={...o};for(let[a,c]of Object.entries(t))if(s[a]=UCe(o[a],Array.isArray(c)?c:[c]),Array.isArray(c)&&c.length===0){if(s[a].length===0)delete s[a]}if(i.hooks=s,r)for(let[a,c]of Object.entries(r)){let l=i[a];if(ak(c)&&ak(l))i[a]={...l,...c};else i[a]=c}return Jo(e,i),!0}var DGt;var JZ=v(()=>{ht();Ua();mi();DGt=new Set(["keyword-detector","skill-injector","code-intelligence-primer","serena-primer","state-boundary","scm-guard","code-intelligence-guard","test-filter","persistent-mode","hud"])});import{mkdirSync as jGt}from"node:fs";import{dirname as LGt,join as x1}from"node:path";function YZ(e){return e.reduce((t,r)=>t+r.timeout,0)+NGt}function HCe(e,t,r){r=J6(r);let n=wt()==="global"?e:void 0,i=n?{...r,projectDirEnv:null,hookDir:x1(t,r.hookDir)}:r,o=(u)=>n?`OMA_HOME=${$2(n)} ${u}`:u,s=x1(t,r.hookDir);q4(e,x1(s,"oma"),Pw(r),{ownedNamespace:!0});let a=x1(s,jZ);xr(a,Rw(n),{mode:493});let c={};if(r.vendor==="qwen")c.SubagentStart=[],c.PostToolUseFailure=[];for(let[u,d]of Object.entries(r.events)){let p=Array.isArray(d)?d:[d];if(p.length===0)continue;let f=p.filter((y)=>y.hook!=="hud.ts"),m=f.length===0,h,g=FZ(p.map((y)=>y.matcher));if(m){if(h={hooks:p.map((k)=>({name:$Ce(k.hook),type:"command",command:o(DZ(i,k.hook)),timeout:k.timeout}))},g)h.matcher=g}else{let y=YZ(f),k=NZ(i,u,g);if(r.flatHookEntries){if(h={command:k,timeout:y},g)h.matcher=g;let b=p.find((w)=>w.loopLimit!==void 0);if(b)h.loop_limit=b.loopLimit}else if(h={hooks:[{name:`oma-hook-${u}`,type:"command",command:k,timeout:y}]},g)h.matcher=g}c[u]=[h]}let l={};if(r.statusLine){let u={type:"command",command:o(DZ(i,r.statusLine.hook))};if(r.statusLineKey)l[r.statusLineKey]={statusLine:u};else l.statusLine=u}if(r.extra)Object.assign(l,r.extra);if(r.vendor==="grok"){let u=x1(t,r.settingsFile);jGt(LGt(u),{recursive:!0}),xr(u,`${JSON.stringify({hooks:c},null,2)}
803
+ `)[0]??"invalid TOML"}}}function NCe(e,t){if(!CGt(e))return{status:"missing"};let r;try{r=_Gt(e,"utf-8")}catch(n){return{status:"invalid",reason:`unreadable (${n.code??"error"})`}}return t(r)}function _2(e){return NCe(e,PGt)}function Z6(e){return NCe(e,IGt)}function FCe(e){if(e.status==="invalid")return null;return e.status==="missing"?{}:e.value}function la(e,t){if(LCe.has(e))return;LCe.add(e),console.warn(`${KZ.default.yellow("⚠")} Skipped ${e}: could not parse it (${t}). oma left the file unchanged — fix it, then re-run ${KZ.default.cyan("oma link")}.`)}function _c(e){let t=_2(e);if(t.status==="invalid")la(e,t.reason);return FCe(t)}function J4(e){let t=Z6(e);if(t.status==="invalid")la(e,t.reason);return FCe(t)}var KZ,LCe;var Ua=v(()=>{K4();ht();KZ=ve(Re(),1);LCe=new Set});import{mkdirSync as OGt}from"node:fs";import{dirname as MGt}from"node:path";function BCe(e){if(!ak(e))return!1;let t=e.hooks;if(!Array.isArray(t))return zCe(e);return t.some((r)=>ak(r)&&zCe(r))}function zCe(e){let t=typeof e.name==="string"?e.name:"",r=typeof e.command==="string"?e.command:"";if(t.startsWith("oma-hook-")||r.includes("oma-hook.sh"))return!0;let n=r.match(/\bbun\b.*?[/\\]([\w-]+)\.(ts|js)["']?\s*$/);if(n){let i=n[1];if(i&&DGt.has(i))return!0}return!1}function UCe(e,t){return[...(Array.isArray(e)?e:[]).filter((i)=>!BCe(i)),...t]}function fI(e,t,r){let n=_2(e);if(n.status==="invalid")return la(e,n.reason),!1;OGt(MGt(e),{recursive:!0});let i=n.status==="ok"?n.value:{},o=i.hooks||{},s={...o};for(let[a,c]of Object.entries(t))if(s[a]=UCe(o[a],Array.isArray(c)?c:[c]),Array.isArray(c)&&c.length===0){if(s[a].length===0)delete s[a]}if(i.hooks=s,r)for(let[a,c]of Object.entries(r)){let l=i[a];if(ak(c)&&ak(l))i[a]={...l,...c};else i[a]=c}return Jo(e,i),!0}var DGt;var JZ=v(()=>{ht();Ua();mi();DGt=new Set(["keyword-detector","skill-injector","code-intelligence-primer","serena-primer","state-boundary","scm-guard","code-intelligence-guard","test-filter","persistent-mode","hud"])});import{mkdirSync as jGt}from"node:fs";import{dirname as LGt,join as x1}from"node:path";function YZ(e){return e.reduce((t,r)=>t+r.timeout,0)+NGt}function HCe(e,t,r){r=J6(r);let n=wt()==="global"?e:void 0,i=n?{...r,projectDirEnv:null,hookDir:x1(t,r.hookDir)}:r,o=(u)=>n?`OMA_HOME=${$2(n)} ${u}`:u,s=x1(t,r.hookDir);q4(e,x1(s,"oma"),Pw(r),{ownedNamespace:!0});let a=x1(s,jZ);xr(a,Rw(n),{mode:493});let c={};if(r.vendor==="qwen")c.SubagentStart=[],c.PostToolUseFailure=[];for(let[u,d]of Object.entries(r.events)){let p=Array.isArray(d)?d:[d];if(p.length===0)continue;let f=p.filter((y)=>y.hook!=="hud.ts"),m=f.length===0,h,g=FZ(p.map((y)=>y.matcher));if(m){if(h={hooks:p.map((k)=>({name:$Ce(k.hook),type:"command",command:o(DZ(i,k.hook)),timeout:k.timeout}))},g)h.matcher=g}else{let y=YZ(f),k=NZ(i,u,g);if(r.flatHookEntries){if(h={command:k,timeout:y},g)h.matcher=g;let b=p.find((w)=>w.loopLimit!==void 0);if(b)h.loop_limit=b.loopLimit}else if(h={hooks:[{name:`oma-hook-${u}`,type:"command",command:k,timeout:y}]},g)h.matcher=g}c[u]=[h]}let l={};if(r.statusLine){let u={...r.statusLine.options??{},type:"command",command:o(DZ(i,r.statusLine.hook))};if(r.statusLineKey)l[r.statusLineKey]={statusLine:u};else l.statusLine=u}if(r.extra)Object.assign(l,r.extra);if(r.vendor==="grok"){let u=x1(t,r.settingsFile);jGt(LGt(u),{recursive:!0}),xr(u,`${JSON.stringify({hooks:c},null,2)}
804
804
  `)}else if(r.skipSettingsMerge){if(Object.keys(l).length>0)fI(x1(t,r.settingsFile),{},l)}else fI(x1(t,r.settingsFile),c,Object.keys(l).length>0?l:void 0);if(r.featureFlags)OZ(x1(t,r.featureFlags.file),r.featureFlags.section,r.featureFlags.flags)}var NGt=5;var Q6=v(()=>{mi();MZ();Y6();aI();cI();JZ();di();MZ();Y6();aI();cI();JZ()});import{existsSync as FGt,readFileSync as zGt}from"node:fs";import{homedir as BGt}from"node:os";import{join as UGt}from"node:path";function HGt(){return UGt(BGt(),".cursor","cli-config.json")}function WCe(e=HGt()){if(!FGt(e))return!1;let t;try{let n=JSON.parse(zGt(e,"utf-8"));if(!n||typeof n!=="object"||Array.isArray(n))return!1;t=n}catch{return!1}let r=t.attribution&&typeof t.attribution==="object"&&!Array.isArray(t.attribution)?t.attribution:{};if(r.attributeCommitsToAgent===!1&&r.attributePRsToAgent===!1)return!1;return t.attribution={...r,attributeCommitsToAgent:!1,attributePRsToAgent:!1},Jo(e,t),!0}function VCe(e){let t=G(e)?e:{},r=G(t.mcpServers)?t.mcpServers:{};return t.mcpServers={...r,"chrome-devtools":r["chrome-devtools"]??GCe["chrome-devtools"],serena:{...GCe.serena}},t}var GCe;var XZ=v(()=>{br();mi();ht();gi();GCe={"chrome-devtools":As,get serena(){return Qn("ide",Vt())}}});import*as Rc from"node:fs";import{join as ZZ}from"node:path";function QZ(e,t=e){let r=ZZ(e,".agents","mcp.json");if(!Rc.existsSync(r))return;let n=ZZ(t,".cursor"),i=ZZ(n,"mcp.json"),o={};try{let u=Rc.readFileSync(r,"utf-8"),d=JSON.parse(u);if(d&&typeof d==="object"&&!Array.isArray(d))o=d}catch{return}let s={},a=!1;try{a=Rc.lstatSync(i).isSymbolicLink()}catch{}if(!a){let u=_2(i);if(u.status==="invalid"){la(i,u.reason);return}if(u.status==="ok")s=u.value}let c={...s};c.mcpServers={...G(s.mcpServers)?s.mcpServers:{},...G(o.mcpServers)?o.mcpServers:{}};let l=VCe(c);if(a)try{Rc.unlinkSync(i)}catch{}Rc.mkdirSync(n,{recursive:!0}),Rc.writeFileSync(i,`${JSON.stringify(l,null,2)}
805
805
  `)}var qCe=v(()=>{Ua();ht();XZ()});import{createHash as GGt}from"node:crypto";import{existsSync as Yl,lstatSync as vI,mkdirSync as QCe,readdirSync as WGt,readFileSync as e_e,realpathSync as KCe,renameSync as VGt,symlinkSync as qGt,unlinkSync as KGt,writeFileSync as JGt}from"node:fs";import{dirname as e9,join as uo,relative as eQ,resolve as Mw,sep as mI}from"node:path";function M3(e){return GGt("sha256").update(e).digest("hex").slice(0,16)}function t_e(e){if(!e||e.includes("..")||e.includes("/")||e.includes(mI))throw Error(`skill ID must be a simple identifier: ${e}`)}function r_e(e,t){return t_e(t),uo(e,Om,t)}function ZGt(e,t){return uo(r_e(e,t),"SKILL.md")}function D3(e,t){return t_e(t),uo(e,YGt,t)}function tQ(e,t){let r=rQ(e,t);return r?uo(D3(e,t),"versions",r.version,"SKILL.md"):uo(D3(e,t),"versions","inactive","SKILL.md")}function hI(e,t){return uo(D3(e,t),XGt)}function gI(e){if(!Yl(e))return"";try{return e_e(e,"utf-8")}catch{return""}}function rQ(e,t){let r=hI(e,t);if(!Yl(r))return;try{let n=JSON.parse(e_e(r,"utf-8"));if(n.schemaVersion!==1||n.skillId!==t||typeof n.baseHash!=="string"||typeof n.candidateHash!=="string"||typeof n.parentEffectiveHash!=="string"||typeof n.version!=="string"||!/^[a-f0-9]{16}$/.test(n.version))return;return n}catch{return}}function yI(e,t){QCe(e9(e),{recursive:!0});let r=`${e}.tmp`;JGt(r,t,"utf-8"),VGt(r,e)}function JCe(e,t){let r=eQ(Mw(e),Mw(t));if(r.startsWith(`..${mI}`)||r==="..")throw Error("[oma skill opt] overlay path escapes the workspace");let n=Mw(e);for(let i of r.split(mI).filter(Boolean))if(n=uo(n,i),Yl(n)&&vI(n).isSymbolicLink())throw Error("[oma skill opt] refusing to write through an overlay symlink");QCe(t,{recursive:!0})}function YCe(e,t){let r=eQ(Mw(t),Mw(e));return r===""||!r.startsWith(`..${mI}`)&&r!==".."}function nQ(e,t,r){let n=uo(e,Om),i=r_e(e,t),o=r;if(!Yl(i)||!vI(i).isDirectory())return;JCe(e,o);for(let a of XCe(i)){if(a==="SKILL.md")continue;ZCe(uo(i,a),uo(o,a),n)}let s=e9(o);JCe(e,s);for(let a of XCe(n)){if(a===t||a.startsWith("."))continue;let c=uo(s,a);if(Yl(c))continue;ZCe(uo(n,a),c,n)}}function XCe(e){try{return WGt(e).filter((t)=>t!=="."&&t!=="..")}catch{return[]}}function ZCe(e,t,r){if(!YCe(e,r))return;if(Yl(t))return;try{let n=vI(e),i=KCe(e),o=KCe(r);if(!YCe(i,o))return;let s=eQ(e9(t),e);qGt(s,t,n.isDirectory()?"dir":"file")}catch{}}function Xl(e,t){let r=ZGt(e,t),n=gI(r),i=M3(n),o={body:n,directory:e9(r),skillMdPath:r,kind:"base",baseHash:i,effectiveHash:i},s=rQ(e,t),a=s?uo(D3(e,t),"versions",s.version,"SKILL.md"):"",c=gI(a);if(!s&&Yl(a))return{...o,conflict:"overlay-corrupt"};if(!s)return o;if(s.baseHash!==i)return{...o,conflict:"base-changed"};if(M3(c)!==s.candidateHash)return{...o,conflict:"overlay-corrupt"};return nQ(e,t,e9(a)),{body:c,directory:e9(a),skillMdPath:a,kind:"overlay",baseHash:i,effectiveHash:s.candidateHash}}function n_e(e){let t=Xl(e.workspace,e.skillId);if(t.baseHash!==e.expectedBaseHash)throw Error("[oma skill opt] managed SKILL.md changed before overlay apply; refusing to overwrite or reuse its evaluation");if(t.effectiveHash!==e.expectedEffectiveHash||t.conflict)throw Error("[oma skill opt] effective SKILL.md changed before overlay apply; refusing to discard unknown edits");let r={schemaVersion:1,skillId:e.skillId,baseHash:t.baseHash,parentEffectiveHash:t.effectiveHash,candidateHash:M3(e.body),version:M3(e.body),appliedAt:new Date().toISOString()},n=uo(D3(e.workspace,e.skillId),"versions",r.version);if(Yl(n)){if(vI(n).isSymbolicLink()||M3(gI(uo(n,"SKILL.md")))!==r.candidateHash)throw Error("[oma skill opt] overlay version already exists with different content; refusing to replace immutable overlay evidence")}else nQ(e.workspace,e.skillId,n),yI(uo(n,"SKILL.md"),e.body);let i=`${JSON.stringify(r,null,2)}
806
806
  `;return(e._writeActivePointer??yI)(hI(e.workspace,e.skillId),i),r}function i_e(e){let t=rQ(e.workspace,e.skillId);if(!t)throw Error("[oma skill rollback] no active overlay to restore");let r=uo(D3(e.workspace,e.skillId),"versions",t.version,"SKILL.md");if(!Yl(r)||M3(gI(r))!==e.expectedCandidateHash)throw Error("[oma skill rollback] overlay differs from the promoted candidate; refusing to discard unknown edits");if(e.parentHash===t.baseHash){let o=hI(e.workspace,e.skillId);if(Yl(o))KGt(o);return}if(M3(e.parentBody)!==e.parentHash)throw Error("[oma skill rollback] overlay backup does not match the recorded parent body");let n={schemaVersion:1,skillId:e.skillId,baseHash:t.baseHash,parentEffectiveHash:e.expectedCandidateHash,candidateHash:e.parentHash,version:e.parentHash,appliedAt:new Date().toISOString()},i=uo(D3(e.workspace,e.skillId),"versions",n.version);if(!Yl(i))nQ(e.workspace,e.skillId,i),yI(uo(i,"SKILL.md"),e.parentBody);yI(hI(e.workspace,e.skillId),`${JSON.stringify(n,null,2)}
@@ -2264,7 +2264,7 @@ ${y.outputTail}`:"",`To abandon instead: delete ${d} or say "workflow done".`].f
2264
2264
  `);return[`# OMA Inject Log ${e.boundaryAt}`,"",`- from: ${e.fromVendor??"(new)"} / ${e.fromVendorSid??"(none)"}`,`- to: ${e.toVendor} / ${e.toVendorSid}`,`- recall query: ${e.recallQuery?f2e(e.recallQuery):"(none)"}`,`- facts: ${e.facts.length}`,"","## Facts",t,"","## Rendered","```",f2e(e.rendered),"```",""].join(`
2265
2265
  `)}function Aet(e,t,r){try{return rh(e,t,()=>{qk(e,t);let n=Ihr(e,t);_hr(n,{recursive:!0,mode:448});let i=xet(n,Ohr(r.boundaryAt));return Rhr(i,Mhr(r),{encoding:"utf-8",mode:384}),i})}catch{return null}}var Thr,wet="[REDACTED]";var Eet=v(()=>{na();T1();lE();Thr=[/sk-[A-Za-z0-9]{16,}/g,/xox[baprs]-[A-Za-z0-9-]{10,}/g,/gh[pousr]_[A-Za-z0-9]{20,}/g,/AKIA[0-9A-Z]{16}/g,/eyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}/g,/\bBearer\s+[A-Za-z0-9._-]{12,}/gi,/(api[_-]?key|secret|token|password|passwd|access[_-]?key)(["']?\s*[:=]\s*["']?)[A-Za-z0-9._\-/+]{8,}/gi]});import{basename as Dhr}from"node:path";function jhr(e,t,r){let n=[],i=(r??"").trim();if(i)n.push(i.slice(0,300));n.push(Dhr(e));for(let o of[...t].reverse()){let s=o.payload??{},a=(c)=>{let l=s[c];if(typeof l==="string"&&l.trim())n.push(l.trim())};if(o.kind==="decision.made")a("subject"),a("decision");else if(o.kind==="blocker.raised")a("summary");else if(o.kind==="workflow.phase")a("phase")}return n.slice(0,8).join(" ").slice(0,400).trim()}async function Lhr(e,t,r,n,i=!1){let o=fo(e),s=o.lastSession,a=!s||s.vendor!==t||s.vendorSid!==r,c=t==="kiro"&&r==="unknown";if(!a&&!c&&!i)return k9(e,t,r),null;let l=ru(o);if(!l)return k9(e,t,r),null;await p7(e,l,{kind:"boundary",vendor:t,vendorSid:r,payload:{reason:!a?c?"stateless-vendor-turn":"post-compact-rehydration":s?"vendor-session-transition":"session-created",fromVendor:s?.vendor??null,fromVendorSid:s?.vendorSid??null,toVendor:t,toVendorSid:r,previousSid:l,...jO(t)}}),k9(e,t,r);let u=Wn(e,l).slice(-10),d=jhr(e,u,n),p=d?await dQe(d,5,e):[],f=[];try{f=bet(e)}catch{}let m=IQe({vendor:t,sid:l,reason:"vendor/session boundary",recentEvents:u,facts:p,evolution:f});return Aet(e,l,{boundaryAt:new Date().toISOString(),fromVendor:s?.vendor??null,fromVendorSid:s?.vendorSid??null,toVendor:t,toVendorSid:r,recallQuery:d||null,facts:p,rendered:m}),m}async function $et(e,t){if(e.kind!=="prompt")return null;let{vendor:r,cwd:n,sid:i="unknown"}=t,o=await Lhr(n,r,i,e.prompt,e.source==="compact");if(!o)return null;return{type:"context",additionalContext:o}}var Cet=v(()=>{rF();zd();ket();Eet();n0();uE();lE();G5();o2e()});import{existsSync as Fhr,readFileSync as ysi}from"node:fs";import{join as vF}from"node:path";async function _et(e,t){if(e.kind!=="pre_tool")return null;let{toolName:r,toolInput:n}=e,{vendor:i}=t,o=t.cwd||e.cwd;if(r!=="Bash"&&r!=="run_shell_command"&&r!=="Shell"&&r!=="execute_bash")return null;let s=n.command;if(!s)return null;if(process.platform==="win32")return null;if(s.includes("filter-test-output.sh"))return null;if(!zhr.some((p)=>p.test(s)))return null;if(Bhr.some((p)=>p.test(s)))return null;let l=[vF(Lae(i),"oma"),Lae(i),vF(".opencode","plugins","oma"),vF(".agents","hooks","core")].map((p)=>vF(o,p,"filter-test-output.sh")).find((p)=>Fhr(p));if(!l)return null;let u=`set -o pipefail; (
2266
2266
  ${s}
2267
- ) 2>&1 | bash "${l}"`;return{type:"mutate",updatedInput:{...n,command:u}}}var zhr,Bhr;var Ret=v(()=>{G5();zhr=[/\bvitest\b/,/\bjest\b/,/\bmocha\b/,/\bnpm\s+(run\s+)?test\b/,/\bbun\s+(run\s+)?test\b/,/\byarn\s+test\b/,/\bpnpm\s+(run\s+)?test\b/,/\bpytest\b/,/\bpython\s+-m\s+unittest\b/,/\bgo\s+test\b/,/\bcargo\s+test\b/,/\bflutter\s+test\b/,/\bdart\s+test\b/,/\bswift\s+test\b/,/\bdotnet\s+test\b/,/\b(gradle|gradlew|\.\/gradlew)\s+test\b/,/\bmvn\s+test\b/,/\brspec\b/,/\bmix\s+test\b/,/\bphpunit\b/],Bhr=[/\b(install|add|remove|uninstall|init)\b/,/\b(cat|head|tail|less|more|wc)\b.*\.(test|spec)\./]});var Pet;var Tet=v(()=>{Pet={$schema:"./hook-variant.schema.json",vendor:"antigravity",hookDir:".agents/hooks/core",settingsFile:".agents/hooks.json",projectDirEnv:null,runtime:"bun",homeOnly:!0,events:{PreInvocation:[{hook:"keyword-detector.ts",timeout:5},{hook:"state-boundary.ts",timeout:5},{hook:"skill-injector.ts",timeout:3},{hook:"code-intelligence-primer.ts",timeout:3}],PostToolUse:[{hook:"refactor-guard.ts",matcher:"write_to_file|replace_file_content|notebook_edit",timeout:5}],Stop:[{hook:"persistent-mode.ts",timeout:30},{hook:"refactor-guard.ts",timeout:5}]},statusLine:{hook:"hud.ts"}}});var Oet;var Iet=v(()=>{Oet={$schema:"./hook-variant.schema.json",vendor:"claude",hookDir:".claude/hooks",settingsFile:".claude/settings.json",projectDirEnv:"CLAUDE_PROJECT_DIR",runtime:"bun",events:{SessionStart:[{hook:"code-intelligence-primer.ts",timeout:3},{hook:"state-boundary.ts",timeout:5}],UserPromptSubmit:[{hook:"keyword-detector.ts",timeout:2},{hook:"state-boundary.ts",timeout:4},{hook:"skill-injector.ts",timeout:2},{hook:"code-intelligence-primer.ts",timeout:2}],PreToolUse:[{hook:"scm-guard.ts",matcher:"Bash",timeout:3},{hook:"code-intelligence-guard.ts",matcher:"Grep|Glob",timeout:2},{hook:"test-filter.ts",matcher:"Bash",timeout:5}],PostToolUse:[{hook:"refactor-guard.ts",matcher:"Edit|Write|NotebookEdit",timeout:5}],Stop:[{hook:"persistent-mode.ts",timeout:30},{hook:"refactor-guard.ts",timeout:5}]},statusLine:{hook:"hud.ts"},extra:{permissions:{allow:["Bash(bun run:*)","Bash(bunx tsx:*)","Bash(git add:*)","Bash(ls *)","Bash(oma *)","mcp__serena__*"]}}}});var Det;var Met=v(()=>{Det={$schema:"./hook-variant.schema.json",vendor:"codex",hookDir:".codex/hooks",settingsFile:".codex/hooks.json",projectDirEnv:null,runtime:"bun",events:{UserPromptSubmit:[{hook:"keyword-detector.ts",timeout:5},{hook:"state-boundary.ts",timeout:5},{hook:"skill-injector.ts",timeout:3},{hook:"code-intelligence-primer.ts",timeout:3}],PreToolUse:[{hook:"scm-guard.ts",matcher:"Bash",timeout:3},{hook:"code-intelligence-guard.ts",matcher:"Bash",timeout:2},{hook:"test-filter.ts",matcher:"Bash",timeout:5}],PostToolUse:[{hook:"refactor-guard.ts",matcher:"apply_patch|Edit|Write",timeout:5}],Stop:[{hook:"persistent-mode.ts",timeout:30},{hook:"refactor-guard.ts",timeout:5}]}}});var Let;var jet=v(()=>{Let={$schema:"./hook-variant.schema.json",vendor:"commandcode",hookDir:".commandcode/hooks",settingsFile:".commandcode/settings.json",projectDirEnv:null,runtime:"bun",events:{SessionStart:[{hook:"code-intelligence-primer.ts",timeout:3},{hook:"state-boundary.ts",timeout:5}],PostToolUse:[{hook:"refactor-guard.ts",matcher:"write|edit",timeout:5}],Stop:[{hook:"persistent-mode.ts",timeout:30},{hook:"refactor-guard.ts",timeout:5}]}}});var Fet;var Net=v(()=>{Fet={$schema:"./hook-variant.schema.json",vendor:"cursor",hookDir:".cursor/hooks",settingsFile:".cursor/hooks.json",projectDirEnv:null,runtime:"bun",flatHookEntries:!0,events:{beforeSubmitPrompt:[{hook:"keyword-detector.ts",timeout:5},{hook:"state-boundary.ts",timeout:5},{hook:"skill-injector.ts",timeout:3},{hook:"code-intelligence-primer.ts",timeout:3}],preToolUse:[{hook:"scm-guard.ts",matcher:"Shell",timeout:3},{hook:"code-intelligence-guard.ts",matcher:"Shell",timeout:2},{hook:"test-filter.ts",matcher:"Shell",timeout:5}],afterFileEdit:[{hook:"refactor-guard.ts",timeout:5}],stop:[{hook:"persistent-mode.ts",timeout:30,loopLimit:null},{hook:"refactor-guard.ts",timeout:5}],sessionStart:[{hook:"code-intelligence-primer.ts",timeout:3},{hook:"state-boundary.ts",timeout:5}]},extra:{version:1}}});var Bet;var zet=v(()=>{Bet={$schema:"./hook-variant.schema.json",vendor:"grok",hookDir:".grok/hooks",settingsFile:".grok/hooks/oma-hooks.json",projectDirEnv:"GROK_WORKSPACE_ROOT",runtime:"bun",events:{UserPromptSubmit:[{hook:"keyword-detector.ts",timeout:5},{hook:"state-boundary.ts",timeout:5},{hook:"skill-injector.ts",timeout:3},{hook:"code-intelligence-primer.ts",timeout:3}],PreToolUse:[{hook:"scm-guard.ts",matcher:"Bash",timeout:3},{hook:"code-intelligence-guard.ts",matcher:"Bash",timeout:2},{hook:"test-filter.ts",matcher:"Bash",timeout:5}],PostToolUse:[{hook:"refactor-guard.ts",matcher:"hashline_edit|apply_patch|create_file|write_file|edit_file|str_replace",timeout:5}],Stop:[{hook:"persistent-mode.ts",timeout:30},{hook:"refactor-guard.ts",timeout:5}]}}});var Het;var Uet=v(()=>{Het={$schema:"./hook-variant.schema.json",vendor:"kiro",hookDir:".kiro/hooks",settingsFile:".kiro/settings/cli.json",projectDirEnv:null,runtime:"bun",skipSettingsMerge:!0,events:{userPromptSubmit:[{hook:"keyword-detector.ts",timeout:5},{hook:"state-boundary.ts",timeout:5},{hook:"skill-injector.ts",timeout:3},{hook:"code-intelligence-primer.ts",timeout:3}],preToolUse:[{hook:"scm-guard.ts",matcher:"shell",timeout:3},{hook:"code-intelligence-guard.ts",matcher:"shell",timeout:2},{hook:"test-filter.ts",matcher:"shell",timeout:5}],postToolUse:[{hook:"refactor-guard.ts",matcher:"fs_write",timeout:5}],stop:[{hook:"persistent-mode.ts",timeout:30},{hook:"refactor-guard.ts",timeout:5}]}}});var Wet;var Get=v(()=>{Wet={$schema:"./hook-variant.schema.json",vendor:"qwen",hookDir:".qwen/hooks",settingsFile:".qwen/settings.json",projectDirEnv:"QWEN_PROJECT_DIR",runtime:"bun",events:{UserPromptSubmit:[{hook:"keyword-detector.ts",timeout:5},{hook:"state-boundary.ts",timeout:5},{hook:"skill-injector.ts",timeout:3},{hook:"code-intelligence-primer.ts",timeout:3}],PreToolUse:[{hook:"scm-guard.ts",matcher:"run_shell_command",timeout:3},{hook:"code-intelligence-guard.ts",matcher:"run_shell_command",timeout:2},{hook:"test-filter.ts",matcher:"run_shell_command",timeout:5}],PostToolUse:[{hook:"refactor-guard.ts",matcher:"write_file|replace",timeout:5}],Stop:[{hook:"persistent-mode.ts",timeout:30},{hook:"refactor-guard.ts",timeout:5}]},statusLine:{hook:"hud.ts"},statusLineKey:"ui",extra:{permissions:{allow:["Bash(ls *)","Bash(oma *)"]}}}});async function Vet(e,t,r){if(!e.trim())return[];try{let n=b3({});if(!n||!await tF())return[];let i=await bP({endpoint:n,scope:n1(r),query:e,limit:t,timeoutMs:2000});return Xae(JSON.stringify(i),t).map((o)=>({...o,score:o.score??0}))}catch{return[]}}var qet=v(()=>{rF();Kk();EX();s1()});function bF(e,t,r){let n=r??Dn(e).semantic_memory,i;try{i=n==="none"?x6():O2({projectDir:e})}catch(o){console.warn(`[hook] Memory provider unavailable: ${String(o)}`)}return lQe({recall:(o,s)=>n==="agentmemory"?Vet(o,s,e):i?.recall?.({query:o,limit:s})??Promise.resolve([]),async observe(o){if(n!=="none"){let s;try{s=JSON.parse(o.content)}catch{return!0}if(Ha(s).length===0)await zO(e,s,i)}return!0}},t)}var m2e=v(()=>{Kae();ao();qet();mx();s1();ih()});function hE(e,t){switch(t){case"UserPromptSubmit":case"BeforeAgent":case"beforeSubmitPrompt":case"PreInvocation":case"userPromptSubmit":return"prompt";case"SessionStart":case"sessionStart":return e==="claude"||e==="commandcode"||e==="cursor"||e==="qwen"?"prompt":null;case"PreToolUse":case"BeforeTool":case"preToolUse":return"pre_tool";case"PostToolUse":case"postToolUse":return"post_tool";case"afterFileEdit":return e==="cursor"?"post_tool":null;case"Stop":case"stop":case"AfterAgent":return"stop";default:return null}}function kF(e,t,r){let n=hE(e,t);if(!n)return null;let i={};if(r.trim())try{i=JSON.parse(r)}catch{return null}let o=Xhr(e,i);switch(n){case"prompt":{let s=Zhr(e,i),a=typeof i.source==="string"?i.source:void 0;return a?{kind:"prompt",prompt:s,cwd:o,source:a}:{kind:"prompt",prompt:s,cwd:o}}case"pre_tool":{let s=Ket(e,i),a=Jet(e,i);return{kind:"pre_tool",toolName:s,toolInput:a,cwd:o}}case"post_tool":{if(t==="afterFileEdit"){let u=typeof i.file_path==="string"?i.file_path:"";return{kind:"post_tool",toolName:"Edit",toolInput:u?{file_path:u}:{},cwd:o}}let s=i.toolCall;if(s&&typeof s.name==="string")return{kind:"post_tool",toolName:s.name,toolInput:s.args??{},cwd:o};let a=Ket(e,i),c=Jet(e,i),l=i.tool_response??i.toolResponse;return l?{kind:"post_tool",toolName:a,toolInput:c,toolResponse:l,cwd:o}:{kind:"post_tool",toolName:a,toolInput:c,cwd:o}}case"stop":{let s=[i.prompt_response,i.response,i.content,i.message,i.transcript].filter((a)=>typeof a==="string").join(" ");return{kind:"stop",cwd:o,responseText:s||void 0}}}}function gE(e,t){if(!t.trim())return;let r;try{r=JSON.parse(t)}catch{return}if(e==="antigravity"&&t0(r)){let i=mf(r);if(i)return i}let n=r.sessionId??r.session_id??r.conversationId??r.conversation_id;return typeof n==="string"&&n.length>0?n:void 0}function Xhr(e,t){switch(e){case"antigravity":{if(t0(t))return XN(t)||t.cwd||process.env.ANTIGRAVITY_PROJECT_DIR||process.env.AGY_PROJECT_DIR||process.env.GEMINI_PROJECT_DIR||"";return t.cwd||process.env.ANTIGRAVITY_PROJECT_DIR||process.env.AGY_PROJECT_DIR||process.env.GEMINI_PROJECT_DIR||""}case"grok":return process.env.GROK_WORKSPACE_ROOT||t.cwd||"";case"kiro":return process.env.KIRO_PROJECT_DIR||t.cwd||"";case"qwen":return process.env.QWEN_PROJECT_DIR||t.cwd||"";default:return t.cwd||""}}function Zhr(e,t){if(e==="antigravity"){let r=t.invocationNum;if(typeof r==="number"&&r>1)return"";if(t0(t))return nE(t.transcriptPath)||"";return d7(t.prompt)}return d7(t.prompt)}function Ket(e,t){return t.tool_name??t.toolName??""}function Jet(e,t){return t.tool_input??t.toolInput??{}}var wF=v(()=>{zd();n0()});import{dirname as Qhr,join as e7r,resolve as Yet}from"node:path";function xF(e){let t;try{t=$n(e,process.env,{searchParents:!1})}catch(s){let a=s instanceof Error?s.message:String(s);return process.stderr.write(`[oma hook] warn: config unavailable (${a}) — hooks use built-in defaults
2267
+ ) 2>&1 | bash "${l}"`;return{type:"mutate",updatedInput:{...n,command:u}}}var zhr,Bhr;var Ret=v(()=>{G5();zhr=[/\bvitest\b/,/\bjest\b/,/\bmocha\b/,/\bnpm\s+(run\s+)?test\b/,/\bbun\s+(run\s+)?test\b/,/\byarn\s+test\b/,/\bpnpm\s+(run\s+)?test\b/,/\bpytest\b/,/\bpython\s+-m\s+unittest\b/,/\bgo\s+test\b/,/\bcargo\s+test\b/,/\bflutter\s+test\b/,/\bdart\s+test\b/,/\bswift\s+test\b/,/\bdotnet\s+test\b/,/\b(gradle|gradlew|\.\/gradlew)\s+test\b/,/\bmvn\s+test\b/,/\brspec\b/,/\bmix\s+test\b/,/\bphpunit\b/],Bhr=[/\b(install|add|remove|uninstall|init)\b/,/\b(cat|head|tail|less|more|wc)\b.*\.(test|spec)\./]});var Pet;var Tet=v(()=>{Pet={$schema:"./hook-variant.schema.json",vendor:"antigravity",hookDir:".agents/hooks/core",settingsFile:".agents/hooks.json",projectDirEnv:null,runtime:"bun",homeOnly:!0,events:{PreInvocation:[{hook:"keyword-detector.ts",timeout:5},{hook:"state-boundary.ts",timeout:5},{hook:"skill-injector.ts",timeout:3},{hook:"code-intelligence-primer.ts",timeout:3}],PostToolUse:[{hook:"refactor-guard.ts",matcher:"write_to_file|replace_file_content|notebook_edit",timeout:5}],Stop:[{hook:"persistent-mode.ts",timeout:30},{hook:"refactor-guard.ts",timeout:5}]},statusLine:{hook:"hud.ts"}}});var Oet;var Iet=v(()=>{Oet={$schema:"./hook-variant.schema.json",vendor:"claude",hookDir:".claude/hooks",settingsFile:".claude/settings.json",projectDirEnv:"CLAUDE_PROJECT_DIR",runtime:"bun",events:{SessionStart:[{hook:"code-intelligence-primer.ts",timeout:3},{hook:"state-boundary.ts",timeout:5}],UserPromptSubmit:[{hook:"keyword-detector.ts",timeout:2},{hook:"state-boundary.ts",timeout:4},{hook:"skill-injector.ts",timeout:2},{hook:"code-intelligence-primer.ts",timeout:2}],PreToolUse:[{hook:"scm-guard.ts",matcher:"Bash",timeout:3},{hook:"code-intelligence-guard.ts",matcher:"Grep|Glob",timeout:2},{hook:"test-filter.ts",matcher:"Bash",timeout:5}],PostToolUse:[{hook:"refactor-guard.ts",matcher:"Edit|Write|NotebookEdit",timeout:5}],Stop:[{hook:"persistent-mode.ts",timeout:30},{hook:"refactor-guard.ts",timeout:5}]},statusLine:{hook:"hud.ts"},extra:{permissions:{allow:["Bash(bun run:*)","Bash(bunx tsx:*)","Bash(git add:*)","Bash(ls *)","Bash(oma *)","mcp__serena__*"]}}}});var Det;var Met=v(()=>{Det={$schema:"./hook-variant.schema.json",vendor:"codex",hookDir:".codex/hooks",settingsFile:".codex/hooks.json",projectDirEnv:null,runtime:"bun",events:{UserPromptSubmit:[{hook:"keyword-detector.ts",timeout:5},{hook:"state-boundary.ts",timeout:5},{hook:"skill-injector.ts",timeout:3},{hook:"code-intelligence-primer.ts",timeout:3}],PreToolUse:[{hook:"scm-guard.ts",matcher:"Bash",timeout:3},{hook:"code-intelligence-guard.ts",matcher:"Bash",timeout:2},{hook:"test-filter.ts",matcher:"Bash",timeout:5}],PostToolUse:[{hook:"refactor-guard.ts",matcher:"apply_patch|Edit|Write",timeout:5}],Stop:[{hook:"persistent-mode.ts",timeout:30},{hook:"refactor-guard.ts",timeout:5}]}}});var Let;var jet=v(()=>{Let={$schema:"./hook-variant.schema.json",vendor:"commandcode",hookDir:".commandcode/hooks",settingsFile:".commandcode/settings.json",projectDirEnv:null,runtime:"bun",events:{SessionStart:[{hook:"code-intelligence-primer.ts",timeout:3},{hook:"state-boundary.ts",timeout:5}],PostToolUse:[{hook:"refactor-guard.ts",matcher:"write|edit",timeout:5}],Stop:[{hook:"persistent-mode.ts",timeout:30},{hook:"refactor-guard.ts",timeout:5}]}}});var Fet;var Net=v(()=>{Fet={$schema:"./hook-variant.schema.json",vendor:"cursor",hookDir:".cursor/hooks",settingsFile:".cursor/hooks.json",projectDirEnv:null,runtime:"bun",flatHookEntries:!0,events:{beforeSubmitPrompt:[{hook:"keyword-detector.ts",timeout:5},{hook:"state-boundary.ts",timeout:5},{hook:"skill-injector.ts",timeout:3},{hook:"code-intelligence-primer.ts",timeout:3}],preToolUse:[{hook:"scm-guard.ts",matcher:"Shell",timeout:3},{hook:"code-intelligence-guard.ts",matcher:"Shell",timeout:2},{hook:"test-filter.ts",matcher:"Shell",timeout:5}],afterFileEdit:[{hook:"refactor-guard.ts",timeout:5}],stop:[{hook:"persistent-mode.ts",timeout:30,loopLimit:null},{hook:"refactor-guard.ts",timeout:5}],sessionStart:[{hook:"code-intelligence-primer.ts",timeout:3},{hook:"state-boundary.ts",timeout:5}]},extra:{version:1}}});var Bet;var zet=v(()=>{Bet={$schema:"./hook-variant.schema.json",vendor:"grok",hookDir:".grok/hooks",settingsFile:".grok/hooks/oma-hooks.json",projectDirEnv:"GROK_WORKSPACE_ROOT",runtime:"bun",events:{UserPromptSubmit:[{hook:"keyword-detector.ts",timeout:5},{hook:"state-boundary.ts",timeout:5},{hook:"skill-injector.ts",timeout:3},{hook:"code-intelligence-primer.ts",timeout:3}],PreToolUse:[{hook:"scm-guard.ts",matcher:"Bash",timeout:3},{hook:"code-intelligence-guard.ts",matcher:"Bash",timeout:2},{hook:"test-filter.ts",matcher:"Bash",timeout:5}],PostToolUse:[{hook:"refactor-guard.ts",matcher:"hashline_edit|apply_patch|create_file|write_file|edit_file|str_replace",timeout:5}],Stop:[{hook:"persistent-mode.ts",timeout:30},{hook:"refactor-guard.ts",timeout:5}]}}});var Het;var Uet=v(()=>{Het={$schema:"./hook-variant.schema.json",vendor:"kiro",hookDir:".kiro/hooks",settingsFile:".kiro/settings/cli.json",projectDirEnv:null,runtime:"bun",skipSettingsMerge:!0,events:{userPromptSubmit:[{hook:"keyword-detector.ts",timeout:5},{hook:"state-boundary.ts",timeout:5},{hook:"skill-injector.ts",timeout:3},{hook:"code-intelligence-primer.ts",timeout:3}],preToolUse:[{hook:"scm-guard.ts",matcher:"shell",timeout:3},{hook:"code-intelligence-guard.ts",matcher:"shell",timeout:2},{hook:"test-filter.ts",matcher:"shell",timeout:5}],postToolUse:[{hook:"refactor-guard.ts",matcher:"fs_write",timeout:5}],stop:[{hook:"persistent-mode.ts",timeout:30},{hook:"refactor-guard.ts",timeout:5}]}}});var Wet;var Get=v(()=>{Wet={$schema:"./hook-variant.schema.json",vendor:"qwen",hookDir:".qwen/hooks",settingsFile:".qwen/settings.json",projectDirEnv:"QWEN_PROJECT_DIR",runtime:"bun",events:{UserPromptSubmit:[{hook:"keyword-detector.ts",timeout:5},{hook:"state-boundary.ts",timeout:5},{hook:"skill-injector.ts",timeout:3},{hook:"code-intelligence-primer.ts",timeout:3}],PreToolUse:[{hook:"scm-guard.ts",matcher:"run_shell_command",timeout:3},{hook:"code-intelligence-guard.ts",matcher:"run_shell_command",timeout:2},{hook:"test-filter.ts",matcher:"run_shell_command",timeout:5}],PostToolUse:[{hook:"refactor-guard.ts",matcher:"write_file|replace",timeout:5}],Stop:[{hook:"persistent-mode.ts",timeout:30},{hook:"refactor-guard.ts",timeout:5}]},statusLine:{hook:"hud.ts",options:{respectUserColors:!0,hideContextIndicator:!0}},statusLineKey:"ui",extra:{permissions:{allow:["Bash(ls *)","Bash(oma *)"]}}}});async function Vet(e,t,r){if(!e.trim())return[];try{let n=b3({});if(!n||!await tF())return[];let i=await bP({endpoint:n,scope:n1(r),query:e,limit:t,timeoutMs:2000});return Xae(JSON.stringify(i),t).map((o)=>({...o,score:o.score??0}))}catch{return[]}}var qet=v(()=>{rF();Kk();EX();s1()});function bF(e,t,r){let n=r??Dn(e).semantic_memory,i;try{i=n==="none"?x6():O2({projectDir:e})}catch(o){console.warn(`[hook] Memory provider unavailable: ${String(o)}`)}return lQe({recall:(o,s)=>n==="agentmemory"?Vet(o,s,e):i?.recall?.({query:o,limit:s})??Promise.resolve([]),async observe(o){if(n!=="none"){let s;try{s=JSON.parse(o.content)}catch{return!0}if(Ha(s).length===0)await zO(e,s,i)}return!0}},t)}var m2e=v(()=>{Kae();ao();qet();mx();s1();ih()});function hE(e,t){switch(t){case"UserPromptSubmit":case"BeforeAgent":case"beforeSubmitPrompt":case"PreInvocation":case"userPromptSubmit":return"prompt";case"SessionStart":case"sessionStart":return e==="claude"||e==="commandcode"||e==="cursor"||e==="qwen"?"prompt":null;case"PreToolUse":case"BeforeTool":case"preToolUse":return"pre_tool";case"PostToolUse":case"postToolUse":return"post_tool";case"afterFileEdit":return e==="cursor"?"post_tool":null;case"Stop":case"stop":case"AfterAgent":return"stop";default:return null}}function kF(e,t,r){let n=hE(e,t);if(!n)return null;let i={};if(r.trim())try{i=JSON.parse(r)}catch{return null}let o=Xhr(e,i);switch(n){case"prompt":{let s=Zhr(e,i),a=typeof i.source==="string"?i.source:void 0;return a?{kind:"prompt",prompt:s,cwd:o,source:a}:{kind:"prompt",prompt:s,cwd:o}}case"pre_tool":{let s=Ket(e,i),a=Jet(e,i);return{kind:"pre_tool",toolName:s,toolInput:a,cwd:o}}case"post_tool":{if(t==="afterFileEdit"){let u=typeof i.file_path==="string"?i.file_path:"";return{kind:"post_tool",toolName:"Edit",toolInput:u?{file_path:u}:{},cwd:o}}let s=i.toolCall;if(s&&typeof s.name==="string")return{kind:"post_tool",toolName:s.name,toolInput:s.args??{},cwd:o};let a=Ket(e,i),c=Jet(e,i),l=i.tool_response??i.toolResponse;return l?{kind:"post_tool",toolName:a,toolInput:c,toolResponse:l,cwd:o}:{kind:"post_tool",toolName:a,toolInput:c,cwd:o}}case"stop":{let s=[i.prompt_response,i.response,i.content,i.message,i.transcript].filter((a)=>typeof a==="string").join(" ");return{kind:"stop",cwd:o,responseText:s||void 0}}}}function gE(e,t){if(!t.trim())return;let r;try{r=JSON.parse(t)}catch{return}if(e==="antigravity"&&t0(r)){let i=mf(r);if(i)return i}let n=r.sessionId??r.session_id??r.conversationId??r.conversation_id;return typeof n==="string"&&n.length>0?n:void 0}function Xhr(e,t){switch(e){case"antigravity":{if(t0(t))return XN(t)||t.cwd||process.env.ANTIGRAVITY_PROJECT_DIR||process.env.AGY_PROJECT_DIR||process.env.GEMINI_PROJECT_DIR||"";return t.cwd||process.env.ANTIGRAVITY_PROJECT_DIR||process.env.AGY_PROJECT_DIR||process.env.GEMINI_PROJECT_DIR||""}case"grok":return process.env.GROK_WORKSPACE_ROOT||t.cwd||"";case"kiro":return process.env.KIRO_PROJECT_DIR||t.cwd||"";case"qwen":return process.env.QWEN_PROJECT_DIR||t.cwd||"";default:return t.cwd||""}}function Zhr(e,t){if(e==="antigravity"){let r=t.invocationNum;if(typeof r==="number"&&r>1)return"";if(t0(t))return nE(t.transcriptPath)||"";return d7(t.prompt)}return d7(t.prompt)}function Ket(e,t){return t.tool_name??t.toolName??""}function Jet(e,t){return t.tool_input??t.toolInput??{}}var wF=v(()=>{zd();n0()});import{dirname as Qhr,join as e7r,resolve as Yet}from"node:path";function xF(e){let t;try{t=$n(e,process.env,{searchParents:!1})}catch(s){let a=s instanceof Error?s.message:String(s);return process.stderr.write(`[oma hook] warn: config unavailable (${a}) — hooks use built-in defaults
2268
2268
  `),{memory:s instanceof so&&s.local?"none":"agentmemory"}}let r=j4.safeParse(t.config.providers??{});if(!r.success)process.stderr.write(`[oma hook] warn: invalid providers config — semantic memory disabled for this hook run
2269
2269
  `);let n=r.success?r.data.semantic_memory??"agentmemory":"none",i=t.sources.shared??t.sources.local;if(i!==void 0&&Yet(Qhr(i))===Yet(e7r(e,".agents")))return{config:t.config,memory:n};return r.success&&t.config.providers!==void 0?{config:{providers:r.data},memory:n}:{memory:n}}var h2e=v(()=>{ea();ao()});function t7r(e){return e==="SessionStart"||e==="sessionStart"?"SessionStart":"UserPromptSubmit"}function r7r(e){return y2e[e]??null}function n7r(e){if(!Number.isFinite(e)||e<=0)return Xet;return e>=1000?e:e*1000}function i7r(e,t){let r=r7r(e);if(!r)return process.stderr.write(`[oma hook] warn: no embedded variant route-table for vendor="${e}" — empty chain
2270
2270
  `),[];let n=r.events[t];if(!n)return[];let i=Array.isArray(n)?n:[n],o=[];for(let s of i){let a=s.hook.replace(/\.ts$/,""),c=g2e[a];if(!c){process.stderr.write(`[oma hook] warn: unknown handler id "${a}" in variant "${e}/${t}" — skipping
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-agent",
3
- "version": "20.8.0",
3
+ "version": "20.8.1",
4
4
  "description": "A specialist team for the coding agent you already use: 12 roles, 21 workflows and 33 skills that plan, build in parallel, review and debug, leaving plans, ADRs and results as files. Gates wait for your own tests. Also research, slides and video. One .agents/ folder for Claude Code, Codex, Cursor and 11 more.",
5
5
  "type": "module",
6
6
  "bin": {