oh-my-agent 10.10.0 → 10.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/bin/cli.js +1 -1
  2. package/package.json +1 -1
package/bin/cli.js CHANGED
@@ -24,7 +24,7 @@ Expecting one of '${G.join("', '")}'`);if(this._lifeCycleHooks[$])this._lifeCycl
24
24
  `),this.outputHelp({error:!0});let G=z||{},J=G.exitCode||1,Q=G.code||"commander.error";this._exit(J,Q,$)}_parseOptionsEnv(){this.options.forEach(($)=>{if($.envVar&&$.envVar in u4.env){let z=$.attributeName();if(this.getOptionValue(z)===void 0||["default","config","env"].includes(this.getOptionValueSource(z)))if($.required||$.optional)this.emit(`optionEnv:${$.name()}`,u4.env[$.envVar]);else this.emit(`optionEnv:${$.name()}`)}})}_parseOptionsImplied(){let $=new xF5(this.options),z=(G)=>{return this.getOptionValue(G)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(G))};this.options.filter((G)=>G.implied!==void 0&&z(G.attributeName())&&$.valueFromOption(this.getOptionValue(G.attributeName()),G)).forEach((G)=>{Object.keys(G.implied).filter((J)=>!z(J)).forEach((J)=>{this.setOptionValueWithSource(J,G.implied[J],"implied")})})}missingArgument($){let z=`error: missing required argument '${$}'`;this.error(z,{code:"commander.missingArgument"})}optionMissingArgument($){let z=`error: option '${$.flags}' argument missing`;this.error(z,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue($){let z=`error: required option '${$.flags}' not specified`;this.error(z,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption($,z){let G=(K)=>{let Z=K.attributeName(),U=this.getOptionValue(Z),Y=this.options.find((V)=>V.negate&&Z===V.attributeName()),W=this.options.find((V)=>!V.negate&&Z===V.attributeName());if(Y&&(Y.presetArg===void 0&&U===!1||Y.presetArg!==void 0&&U===Y.presetArg))return Y;return W||K},J=(K)=>{let Z=G(K),U=Z.attributeName();if(this.getOptionValueSource(U)==="env")return`environment variable '${Z.envVar}'`;return`option '${Z.flags}'`},Q=`error: ${J($)} cannot be used with ${J(z)}`;this.error(Q,{code:"commander.conflictingOption"})}unknownOption($){if(this._allowUnknownOption)return;let z="";if($.startsWith("--")&&this._showSuggestionAfterError){let J=[],Q=this;do{let K=Q.createHelp().visibleOptions(Q).filter((Z)=>Z.long).map((Z)=>Z.long);J=J.concat(K),Q=Q.parent}while(Q&&!Q._enablePositionalOptions);z=sU2($,J)}let G=`error: unknown option '${$}'${z}`;this.error(G,{code:"commander.unknownOption"})}_excessArguments($){if(this._allowExcessArguments)return;let z=this.registeredArguments.length,G=z===1?"":"s",Q=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${z} argument${G} but got ${$.length}.`;this.error(Q,{code:"commander.excessArguments"})}unknownCommand(){let $=this.args[0],z="";if(this._showSuggestionAfterError){let J=[];this.createHelp().visibleCommands(this).forEach((Q)=>{if(J.push(Q.name()),Q.alias())J.push(Q.alias())}),z=sU2($,J)}let G=`error: unknown command '${$}'${z}`;this.error(G,{code:"commander.unknownCommand"})}version($,z,G){if($===void 0)return this._version;this._version=$,z=z||"-V, --version",G=G||"output the version number";let J=this.createOption(z,G);return this._versionOptionName=J.attributeName(),this._registerOption(J),this.on("option:"+J.name(),()=>{this._outputConfiguration.writeOut(`${$}
25
25
  `),this._exit(0,"commander.version",$)}),this}description($,z){if($===void 0&&z===void 0)return this._description;if(this._description=$,z)this._argsDescription=z;return this}summary($){if($===void 0)return this._summary;return this._summary=$,this}alias($){if($===void 0)return this._aliases[0];let z=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)z=this.commands[this.commands.length-1];if($===z._name)throw Error("Command alias can't be the same as its name");let G=this.parent?._findCommand($);if(G){let J=[G.name()].concat(G.aliases()).join("|");throw Error(`cannot add alias '${$}' to command '${this.name()}' as already have command '${J}'`)}return z._aliases.push($),this}aliases($){if($===void 0)return this._aliases;return $.forEach((z)=>this.alias(z)),this}usage($){if($===void 0){if(this._usage)return this._usage;let z=this.registeredArguments.map((G)=>{return bF5(G)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?z:[]).join(" ")}return this._usage=$,this}name($){if($===void 0)return this._name;return this._name=$,this}helpGroup($){if($===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=$,this}commandsGroup($){if($===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=$,this}optionsGroup($){if($===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=$,this}_initOptionGroup($){if(this._defaultOptionGroup&&!$.helpGroupHeading)$.helpGroup(this._defaultOptionGroup)}_initCommandGroup($){if(this._defaultCommandGroup&&!$.helpGroup())$.helpGroup(this._defaultCommandGroup)}nameFromFilename($){return this._name=az.basename($,az.extname($)),this}executableDir($){if($===void 0)return this._executableDir;return this._executableDir=$,this}helpInformation($){let z=this.createHelp(),G=this._getOutputContext($);z.prepareContext({error:G.error,helpWidth:G.helpWidth,outputHasColors:G.hasColors});let J=z.formatHelp(this,z);if(G.hasColors)return J;return this._outputConfiguration.stripColor(J)}_getOutputContext($){$=$||{};let z=!!$.error,G,J,Q;if(z)G=(Z)=>this._outputConfiguration.writeErr(Z),J=this._outputConfiguration.getErrHasColors(),Q=this._outputConfiguration.getErrHelpWidth();else G=(Z)=>this._outputConfiguration.writeOut(Z),J=this._outputConfiguration.getOutHasColors(),Q=this._outputConfiguration.getOutHelpWidth();return{error:z,write:(Z)=>{if(!J)Z=this._outputConfiguration.stripColor(Z);return G(Z)},hasColors:J,helpWidth:Q}}outputHelp($){let z;if(typeof $==="function")z=$,$=void 0;let G=this._getOutputContext($),J={error:G.error,write:G.write,command:this};this._getCommandAndAncestors().reverse().forEach((K)=>K.emit("beforeAllHelp",J)),this.emit("beforeHelp",J);let Q=this.helpInformation({error:G.error});if(z){if(Q=z(Q),typeof Q!=="string"&&!Buffer.isBuffer(Q))throw Error("outputHelp callback must return a string or a Buffer")}if(G.write(Q),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",J),this._getCommandAndAncestors().forEach((K)=>K.emit("afterAllHelp",J))}helpOption($,z){if(typeof $==="boolean"){if($){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($??"-h, --help",z??"display help for command"),$||z)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption($){return this._helpOption=$,this._initOptionGroup($),this}help($){this.outputHelp($);let z=Number(u4.exitCode??0);if(z===0&&$&&typeof $!=="function"&&$.error)z=1;this._exit(z,"commander.help","(outputHelp)")}addHelpText($,z){let G=["beforeAll","before","after","afterAll"];if(!G.includes($))throw Error(`Unexpected value for position to addHelpText.
26
26
  Expecting one of '${G.join("', '")}'`);let J=`${$}Help`;return this.on(J,(Q)=>{let K;if(typeof z==="function")K=z({error:Q.error,command:Q.command});else K=z;if(K)Q.write(`${K}
27
- `)}),this}_outputHelpIfRequested($){let z=this._getHelpOption();if(z&&$.find((J)=>z.is(J)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function tU2($){return $.map((z)=>{if(!z.startsWith("--inspect"))return z;let G,J="127.0.0.1",Q="9229",K;if((K=z.match(/^(--inspect(-brk)?)$/))!==null)G=K[1];else if((K=z.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(G=K[1],/^\d+$/.test(K[3]))Q=K[3];else J=K[3];else if((K=z.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)G=K[1],J=K[3],Q=K[4];if(G&&Q!=="0")return`${G}=${J}:${parseInt(Q)+1}`;return z})}function Wf(){if(u4.env.NO_COLOR||u4.env.FORCE_COLOR==="0"||u4.env.FORCE_COLOR==="false")return!1;if(u4.env.FORCE_COLOR||u4.env.CLICOLOR_FORCE!==void 0)return!0;return}yF5.Command=Yf;yF5.useColor=Wf});var JW2=C((mF5)=>{var{Argument:$W2}=LR(),{Command:Vf}=eU2(),{CommanderError:hF5,InvalidArgumentError:zW2}=cq(),{Help:fF5}=Qf(),{Option:GW2}=Kf();mF5.program=new Vf;mF5.createCommand=($)=>new Vf($);mF5.createOption=($,z)=>new GW2($,z);mF5.createArgument=($,z)=>new $W2($,z);mF5.Command=Vf;mF5.Option=GW2;mF5.Argument=$W2;mF5.Help=fF5;mF5.CommanderError=hF5;mF5.InvalidArgumentError=zW2;mF5.InvalidOptionArgumentError=zW2});var QW2,Wp4,Yp4,Vp4,Bp4,Xp4,Lp4,Hp4,qR,qp4,Fp4,kp4;var Bf=N(()=>{QW2=E2(JW2(),1),{program:Wp4,createCommand:Yp4,createArgument:Vp4,createOption:Bp4,CommanderError:Xp4,InvalidArgumentError:Lp4,InvalidOptionArgumentError:Hp4,Command:qR,Argument:qp4,Option:Fp4,Help:kp4}=QW2.default});var FR;var Xf=N(()=>{FR={name:"oh-my-agent",version:"10.10.0",description:"Portable multi-agent harness for .agents-based skills and workflows across Antigravity, Claude Code, Codex, OpenCode, and more",type:"module",bin:{"oh-my-agent":"./bin/cli.js",oma:"./bin/cli.js"},files:["bin"],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.js --target node --minify --external @napi-rs/keyring",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",test:"vitest run","test:coverage":"vitest run --coverage",prepublishOnly:"bun run build"},dependencies:{"@clack/prompts":"^1.1.0","@date-fns/tz":"^1.4.1","@napi-rs/keyring":"^1.3.0",axios:"^1.15.0","better-sqlite3":"^12.9.0",chokidar:"^5.0.0",commander:"^14.0.3","date-fns":"^4.2.1",eld:"^2.0.3","fast-xml-parser":"^5",minimatch:"^10.2.5","p-map":"^7.0.4",picocolors:"^1.1.1","puppeteer-core":"^24",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-parse":"^11.0.0","smol-toml":"^1.6.1",unified:"^11.0.5",ws:"^8.18.0",yaml:"^2.8.2",zod:"^4.3.6"},optionalDependencies:{pptxgenjs:"^3.12.0"},devDependencies:{"@biomejs/biome":"^2.4.15","@types/better-sqlite3":"^7.6.13","@types/mdast":"^4.0.4","@types/node":"^24","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.1.4",typescript:"^6",vitest:"^4.0.18"},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-orchestrator","oma-dev-workflow","oma-tf-infra","oma-scm","oma-pdf","oma-recap"]}}});import*as wY from"node:fs";import{homedir as $k5}from"node:os";import*as iq from"node:path";function ZW2($){if(kR)throw Error("install context already set in this process");kR=$}function UW2(){if(kR===null)throw Error("install context not set — entry point must call setInstallContext()");return kR}function CY(){return UW2().installRoot}function G6(){return UW2().mode}function PY(){try{return G6()}catch{return"project"}}function WW2($){let z=process.env.OMA_HOME,G=$.global===!0||process.env.OMA_INSTALL_GLOBAL==="1";if(z!==void 0&&z!=="")return zk5(z),{installRoot:z,mode:G?"global":"project"};if(G)return{installRoot:$k5(),mode:"global"};return{installRoot:process.cwd(),mode:"project"}}function zk5($){if(!iq.isAbsolute($))throw Error("OMA_HOME must be absolute path");for(let G of KW2)if($===G||$.startsWith(G+iq.sep))throw Error(`OMA_HOME=${$} is forbidden (system path ${G})`);let z;try{z=wY.realpathSync($)}catch(G){let J=G instanceof Error?G.message:String(G);throw Error(`OMA_HOME=${$}: ${J}`)}for(let G of KW2)if(z===G||z.startsWith(G+iq.sep))throw Error(`OMA_HOME=${z} is forbidden (system path ${G})`);try{wY.accessSync(z,wY.constants.W_OK)}catch{throw Error(`OMA_HOME=${z} is not writable`)}}var kR=null,KW2;var oz=N(()=>{KW2=["/etc","/usr","/bin","/boot","/sys","/proc"]});import{join as Gk5}from"node:path";function lq($){return $.endsWith("/")?$:`${$}/`}function C7($,z){let G=z.split("/").filter((J)=>J.length>0);return Gk5($,...G)}var R0=".agents",NR,C3,EJ,YW2,VW2,AR,Jk5=".antigravitycli",BW2,Qk5=".migration-backup",Kk5,Zk5,Uk5,Wk5,Yk5,Lf;var P3=N(()=>{NR=`${R0}/skills`,C3=`${R0}/results`,EJ=`${R0}/state`,YW2=`${EJ}/sessions`,VW2=`${EJ}/retry`,AR=`${EJ}/archive`,BW2=`${R0}/backup`;Kk5=lq(C3),Zk5=lq(EJ),Uk5=lq(Jk5),Wk5=lq(BW2),Yk5=lq(Qk5),Lf=[Uk5,Kk5,Zk5,Wk5,Yk5]});var m1="first-fluke/oh-my-agent",$1,D0,jR,Vk5,Bk5,rz,z3;var sz=N(()=>{P3();$1=NR,D0=["antigravity","claude","codex","commandcode","cursor","grok","kimi","kiro","qwen"],jR=["pi","opencode"],Vk5=["copilot","hermes"],Bk5=["zcode"],rz=[...D0,...Vk5,...Bk5].sort(),z3={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"}}});var NW2={};z5(NW2,{runAction:()=>T2,resolveJsonMode:()=>A5,printDescribe:()=>Rk5,addOutputOptions:()=>M5});function M5($,z="Output as JSON"){return $.option("--json",z).option("--output <format>","Output format (text/json)",(G)=>{let J=G.trim().toLowerCase();if(!pq.includes(J))throw Error(`Invalid output format: ${G}. Expected one of ${pq.join(", ")}`);return J})}function Xk5($){if($?.json)return"json";let z=$?.output?.trim().toLowerCase();if(z&&pq.includes(z))return z;if(process.env[HW2]?.trim().toLowerCase()==="json")return"json";return"text"}function A5($){return Xk5($)==="json"}function qW2($){let z=$.at(-1);return z instanceof qR?z:null}function Lk5($){let z=qW2($);if(z)return z.opts();let G=$.at(-1);return G&&typeof G==="object"?G:{}}function Hk5($){if($ instanceof Error)return $.message;return String($)}function wJ($){throw Error($)}function qf($,z){for(let G of $){let J=G.charCodeAt(0);if(J>=0&&J<=31||J===127)wJ(`${z} must not contain control characters`)}}function qk5($,z){if(qf($,z),/[?#%]/.test($))wJ(`${z} must not contain ?, #, or %`);if($.includes(".."))wJ(`${z} must not contain '..'`)}function Fk5($,z){qf($,z);try{new URL($)}catch{wJ(`${z} must be a valid absolute URL`)}}function Hf($,z,G="text"){if(typeof $==="string"){if(G==="identifier"){qk5($,z);return}if(G==="url"){Fk5($,z);return}qf($,z);return}if(Array.isArray($))for(let[J,Q]of $.entries())Hf(Q,`${z}[${J}]`,G)}function LW2($){let z=$.toLowerCase();if(z==="url"||z.endsWith("url"))return"url";if(z.includes("id")||z.includes("type")||z.includes("vendor")||z.includes("session"))return"identifier";return"text"}function kk5($){let z=$.vendor;if(typeof z==="string"){if(z.split(",").map((K)=>K.trim()).filter(Boolean).filter((K)=>!rz.includes(K)).length>0)wJ(`vendor must be one of ${rz.join(", ")}`)}let G=$.output;if(typeof G==="string"&&!pq.includes(G))wJ(`output must be one of ${pq.join(", ")}`)}function Nk5($){let z=$.processedArgs??$.args??[];($.registeredArguments??[]).forEach((Q,K)=>{let Z=Q.name?.()||String(K),U=z[K];if(Hf(U,Z,LW2(Z)),Z==="agent-type"&&typeof U==="string"&&!XW2.includes(U))wJ(`agent-type must be one of ${XW2.join(", ")}`)});let J=$.opts();kk5(J);for(let[Q,K]of Object.entries(J))Hf(K,Q,LW2(Q))}function Ak5($){return($.registeredArguments??[]).map((z)=>({name:z.name?.()||"",required:!!z.required,variadic:!!z.variadic}))}function jk5($){return $.options.map((z)=>({flags:z.flags,long:z.long||void 0,short:z.short||void 0,description:z.description||"",required:!!z.required||!!z.mandatory,optional:!!z.optional,defaultValue:z.defaultValue}))}function FW2($){let z=[],G=$;while(G?.parent)z.unshift(G.name()),G=G.parent;return z.join(" ")}function Mk5($){return $.options.some((z)=>z.long==="--json"||z.long==="--output")}function Ok5($){return $.options.some((z)=>z.long==="--dry-run")}function kW2($){return{name:$.name(),path:FW2($),summary:$.summary()||void 0,description:$.description(),arguments:Ak5($),options:jk5($),supportsJsonOutput:Mk5($),supportsDryRun:Ok5($),subcommands:$.commands.map((z)=>kW2(z))}}function Ik5($,z){if(!z?.trim())return $;let G=z.trim(),J=[...$.commands];while(J.length>0){let Q=J.shift();if(!Q)continue;if(Q.name()===G||FW2(Q)===G)return Q;J.push(...Q.commands)}return null}function Rk5($,z){let G=Ik5($,z);if(!G)wJ(`Unknown command: ${z}`);let J={name:$.name(),version:$.version(),description:$.description(),env:{[HW2]:"Set to json to force machine-readable output on commands that support it."},command:kW2(G)};console.log(JSON.stringify(J,null,2))}function T2($,z={}){return async(...G)=>{let J=qW2(G);if(J&&G.length>=2)G[G.length-2]=J.optsWithGlobals();let Q=Lk5(G);try{if(J)Nk5(J);await $(...G)}catch(K){let Z=Hk5(K);if(z.supportsJsonOutput&&A5(Q))console.log(JSON.stringify({error:Z},null,2));else console.error(Z);process.exitCode=1}}}var HW2="OH_MY_AG_OUTPUT_FORMAT",pq,XW2;var r4=N(()=>{Bf();sz();pq=["text","json"],XW2=["backend","frontend","mobile","qa","debug","pm"]});var AW2,jW2=($)=>{return $===12288||$>=65281&&$<=65376||$>=65504&&$<=65510},MW2=($)=>{return $===8987||$===9001||$>=12272&&$<=12287||$>=12289&&$<=12350||$>=12441&&$<=12543||$>=12549&&$<=12591||$>=12593&&$<=12686||$>=12688&&$<=12771||$>=12783&&$<=12830||$>=12832&&$<=12871||$>=12880&&$<=19903||$>=65040&&$<=65049||$>=65072&&$<=65106||$>=65108&&$<=65126||$>=65128&&$<=65131||$>=127488&&$<=127490||$>=127504&&$<=127547||$>=127552&&$<=127560||$>=131072&&$<=196605||$>=196608&&$<=262141};var OW2=N(()=>{AW2=(()=>{let $=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return(z)=>{let G=0;$.lastIndex=0;while($.test(z))G+=1;return z.length-G}})()});var Dk5,vk5,IW2,Ek5,RW2,wk5,Ck5,Pk5,DW2=($,z={},G={})=>{let J=z.limit??1/0,Q=z.ellipsis??"",K=z?.ellipsisWidth??(Q?DW2(Q,Pk5,G).width:0),Z=0,U=G.controlWidth??0,Y=G.tabWidth??8,W=G.emojiWidth??2,V=2,B=G.regularWidth??1,L=G.wideWidth??2,X=[[wk5,B],[Dk5,0],[vk5,U],[Ek5,Y],[RW2,W],[IW2,L]],H=0,q=0,F=$.length,k=0,A=!1,j=F,M=Math.max(0,J-K),O=0,D=0,R=0,I=0;$:while(!0){if(D>O||q>=F&&q>H){let E=$.slice(O,D)||$.slice(H,q);k=0;for(let b of E.replaceAll(Ck5,"")){let _=b.codePointAt(0)||0;if(jW2(_))I=2;else if(MW2(_))I=L;else I=B;if(R+I>M)j=Math.min(j,Math.max(O,H)+k);if(R+I>J){A=!0;break $}k+=b.length,R+=I}O=D=0}if(q>=F)break $;for(let E=0,b=X.length;E<b;E++){let[_,h]=X[E];if(_.lastIndex=q,_.test($)){if(k=_===IW2?AW2($.slice(q,_.lastIndex)):_===RW2?1:_.lastIndex-q,I=k*h,R+I>M)j=Math.min(j,q+Math.floor((M-R)/h));if(R+I>J){A=!0;break $}R+=I,O=H,D=q,q=H=_.lastIndex;continue $}}q+=1}return{width:A?M:R,index:A?j:F,truncated:A,ellipsed:A&&J>=K}},vW2;var EW2=N(()=>{OW2();Dk5=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,vk5=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,IW2=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/yu,Ek5=/\t{1,1000}/y,RW2=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,wk5=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,Ck5=/\p{M}+/gu,Pk5={limit:1/0,ellipsis:""},vW2=DW2});var Tk5,bk5=($,z={})=>{return vW2($,Tk5,z).width},D6;var Ff=N(()=>{EW2();Tk5={limit:1/0,ellipsis:"",ellipsisWidth:0},D6=bk5});function E$($,z,G){return String($).normalize().split(uk5).map((J)=>yk5(J,z,G)).join(`
27
+ `)}),this}_outputHelpIfRequested($){let z=this._getHelpOption();if(z&&$.find((J)=>z.is(J)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function tU2($){return $.map((z)=>{if(!z.startsWith("--inspect"))return z;let G,J="127.0.0.1",Q="9229",K;if((K=z.match(/^(--inspect(-brk)?)$/))!==null)G=K[1];else if((K=z.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(G=K[1],/^\d+$/.test(K[3]))Q=K[3];else J=K[3];else if((K=z.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)G=K[1],J=K[3],Q=K[4];if(G&&Q!=="0")return`${G}=${J}:${parseInt(Q)+1}`;return z})}function Wf(){if(u4.env.NO_COLOR||u4.env.FORCE_COLOR==="0"||u4.env.FORCE_COLOR==="false")return!1;if(u4.env.FORCE_COLOR||u4.env.CLICOLOR_FORCE!==void 0)return!0;return}yF5.Command=Yf;yF5.useColor=Wf});var JW2=C((mF5)=>{var{Argument:$W2}=LR(),{Command:Vf}=eU2(),{CommanderError:hF5,InvalidArgumentError:zW2}=cq(),{Help:fF5}=Qf(),{Option:GW2}=Kf();mF5.program=new Vf;mF5.createCommand=($)=>new Vf($);mF5.createOption=($,z)=>new GW2($,z);mF5.createArgument=($,z)=>new $W2($,z);mF5.Command=Vf;mF5.Option=GW2;mF5.Argument=$W2;mF5.Help=fF5;mF5.CommanderError=hF5;mF5.InvalidArgumentError=zW2;mF5.InvalidOptionArgumentError=zW2});var QW2,Wp4,Yp4,Vp4,Bp4,Xp4,Lp4,Hp4,qR,qp4,Fp4,kp4;var Bf=N(()=>{QW2=E2(JW2(),1),{program:Wp4,createCommand:Yp4,createArgument:Vp4,createOption:Bp4,CommanderError:Xp4,InvalidArgumentError:Lp4,InvalidOptionArgumentError:Hp4,Command:qR,Argument:qp4,Option:Fp4,Help:kp4}=QW2.default});var FR;var Xf=N(()=>{FR={name:"oh-my-agent",version:"10.11.0",description:"Portable multi-agent harness for .agents-based skills and workflows across Antigravity, Claude Code, Codex, OpenCode, and more",type:"module",bin:{"oh-my-agent":"./bin/cli.js",oma:"./bin/cli.js"},files:["bin"],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.js --target node --minify --external @napi-rs/keyring",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",test:"vitest run","test:coverage":"vitest run --coverage",prepublishOnly:"bun run build"},dependencies:{"@clack/prompts":"^1.1.0","@date-fns/tz":"^1.4.1","@napi-rs/keyring":"^1.3.0",axios:"^1.15.0","better-sqlite3":"^12.9.0",chokidar:"^5.0.0",commander:"^14.0.3","date-fns":"^4.2.1",eld:"^2.0.3","fast-xml-parser":"^5",minimatch:"^10.2.5","p-map":"^7.0.4",picocolors:"^1.1.1","puppeteer-core":"^24",remark:"^15.0.1","remark-frontmatter":"^5.0.0","remark-parse":"^11.0.0","smol-toml":"^1.6.1",unified:"^11.0.5",ws:"^8.18.0",yaml:"^2.8.2",zod:"^4.3.6"},optionalDependencies:{pptxgenjs:"^3.12.0"},devDependencies:{"@biomejs/biome":"^2.4.15","@types/better-sqlite3":"^7.6.13","@types/mdast":"^4.0.4","@types/node":"^24","@types/ws":"^8.18.1","@vitest/coverage-v8":"^4.1.4",typescript:"^6",vitest:"^4.0.18"},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-orchestrator","oma-dev-workflow","oma-tf-infra","oma-scm","oma-pdf","oma-recap"]}}});import*as wY from"node:fs";import{homedir as $k5}from"node:os";import*as iq from"node:path";function ZW2($){if(kR)throw Error("install context already set in this process");kR=$}function UW2(){if(kR===null)throw Error("install context not set — entry point must call setInstallContext()");return kR}function CY(){return UW2().installRoot}function G6(){return UW2().mode}function PY(){try{return G6()}catch{return"project"}}function WW2($){let z=process.env.OMA_HOME,G=$.global===!0||process.env.OMA_INSTALL_GLOBAL==="1";if(z!==void 0&&z!=="")return zk5(z),{installRoot:z,mode:G?"global":"project"};if(G)return{installRoot:$k5(),mode:"global"};return{installRoot:process.cwd(),mode:"project"}}function zk5($){if(!iq.isAbsolute($))throw Error("OMA_HOME must be absolute path");for(let G of KW2)if($===G||$.startsWith(G+iq.sep))throw Error(`OMA_HOME=${$} is forbidden (system path ${G})`);let z;try{z=wY.realpathSync($)}catch(G){let J=G instanceof Error?G.message:String(G);throw Error(`OMA_HOME=${$}: ${J}`)}for(let G of KW2)if(z===G||z.startsWith(G+iq.sep))throw Error(`OMA_HOME=${z} is forbidden (system path ${G})`);try{wY.accessSync(z,wY.constants.W_OK)}catch{throw Error(`OMA_HOME=${z} is not writable`)}}var kR=null,KW2;var oz=N(()=>{KW2=["/etc","/usr","/bin","/boot","/sys","/proc"]});import{join as Gk5}from"node:path";function lq($){return $.endsWith("/")?$:`${$}/`}function C7($,z){let G=z.split("/").filter((J)=>J.length>0);return Gk5($,...G)}var R0=".agents",NR,C3,EJ,YW2,VW2,AR,Jk5=".antigravitycli",BW2,Qk5=".migration-backup",Kk5,Zk5,Uk5,Wk5,Yk5,Lf;var P3=N(()=>{NR=`${R0}/skills`,C3=`${R0}/results`,EJ=`${R0}/state`,YW2=`${EJ}/sessions`,VW2=`${EJ}/retry`,AR=`${EJ}/archive`,BW2=`${R0}/backup`;Kk5=lq(C3),Zk5=lq(EJ),Uk5=lq(Jk5),Wk5=lq(BW2),Yk5=lq(Qk5),Lf=[Uk5,Kk5,Zk5,Wk5,Yk5]});var m1="first-fluke/oh-my-agent",$1,D0,jR,Vk5,Bk5,rz,z3;var sz=N(()=>{P3();$1=NR,D0=["antigravity","claude","codex","commandcode","cursor","grok","kimi","kiro","qwen"],jR=["pi","opencode"],Vk5=["copilot","hermes"],Bk5=["zcode"],rz=[...D0,...Vk5,...Bk5].sort(),z3={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"}}});var NW2={};z5(NW2,{runAction:()=>T2,resolveJsonMode:()=>A5,printDescribe:()=>Rk5,addOutputOptions:()=>M5});function M5($,z="Output as JSON"){return $.option("--json",z).option("--output <format>","Output format (text/json)",(G)=>{let J=G.trim().toLowerCase();if(!pq.includes(J))throw Error(`Invalid output format: ${G}. Expected one of ${pq.join(", ")}`);return J})}function Xk5($){if($?.json)return"json";let z=$?.output?.trim().toLowerCase();if(z&&pq.includes(z))return z;if(process.env[HW2]?.trim().toLowerCase()==="json")return"json";return"text"}function A5($){return Xk5($)==="json"}function qW2($){let z=$.at(-1);return z instanceof qR?z:null}function Lk5($){let z=qW2($);if(z)return z.opts();let G=$.at(-1);return G&&typeof G==="object"?G:{}}function Hk5($){if($ instanceof Error)return $.message;return String($)}function wJ($){throw Error($)}function qf($,z){for(let G of $){let J=G.charCodeAt(0);if(J>=0&&J<=31||J===127)wJ(`${z} must not contain control characters`)}}function qk5($,z){if(qf($,z),/[?#%]/.test($))wJ(`${z} must not contain ?, #, or %`);if($.includes(".."))wJ(`${z} must not contain '..'`)}function Fk5($,z){qf($,z);try{new URL($)}catch{wJ(`${z} must be a valid absolute URL`)}}function Hf($,z,G="text"){if(typeof $==="string"){if(G==="identifier"){qk5($,z);return}if(G==="url"){Fk5($,z);return}qf($,z);return}if(Array.isArray($))for(let[J,Q]of $.entries())Hf(Q,`${z}[${J}]`,G)}function LW2($){let z=$.toLowerCase();if(z==="url"||z.endsWith("url"))return"url";if(z.includes("id")||z.includes("type")||z.includes("vendor")||z.includes("session"))return"identifier";return"text"}function kk5($){let z=$.vendor;if(typeof z==="string"){if(z.split(",").map((K)=>K.trim()).filter(Boolean).filter((K)=>!rz.includes(K)).length>0)wJ(`vendor must be one of ${rz.join(", ")}`)}let G=$.output;if(typeof G==="string"&&!pq.includes(G))wJ(`output must be one of ${pq.join(", ")}`)}function Nk5($){let z=$.processedArgs??$.args??[];($.registeredArguments??[]).forEach((Q,K)=>{let Z=Q.name?.()||String(K),U=z[K];if(Hf(U,Z,LW2(Z)),Z==="agent-type"&&typeof U==="string"&&!XW2.includes(U))wJ(`agent-type must be one of ${XW2.join(", ")}`)});let J=$.opts();kk5(J);for(let[Q,K]of Object.entries(J))Hf(K,Q,LW2(Q))}function Ak5($){return($.registeredArguments??[]).map((z)=>({name:z.name?.()||"",required:!!z.required,variadic:!!z.variadic}))}function jk5($){return $.options.map((z)=>({flags:z.flags,long:z.long||void 0,short:z.short||void 0,description:z.description||"",required:!!z.required||!!z.mandatory,optional:!!z.optional,defaultValue:z.defaultValue}))}function FW2($){let z=[],G=$;while(G?.parent)z.unshift(G.name()),G=G.parent;return z.join(" ")}function Mk5($){return $.options.some((z)=>z.long==="--json"||z.long==="--output")}function Ok5($){return $.options.some((z)=>z.long==="--dry-run")}function kW2($){return{name:$.name(),path:FW2($),summary:$.summary()||void 0,description:$.description(),arguments:Ak5($),options:jk5($),supportsJsonOutput:Mk5($),supportsDryRun:Ok5($),subcommands:$.commands.map((z)=>kW2(z))}}function Ik5($,z){if(!z?.trim())return $;let G=z.trim(),J=[...$.commands];while(J.length>0){let Q=J.shift();if(!Q)continue;if(Q.name()===G||FW2(Q)===G)return Q;J.push(...Q.commands)}return null}function Rk5($,z){let G=Ik5($,z);if(!G)wJ(`Unknown command: ${z}`);let J={name:$.name(),version:$.version(),description:$.description(),env:{[HW2]:"Set to json to force machine-readable output on commands that support it."},command:kW2(G)};console.log(JSON.stringify(J,null,2))}function T2($,z={}){return async(...G)=>{let J=qW2(G);if(J&&G.length>=2)G[G.length-2]=J.optsWithGlobals();let Q=Lk5(G);try{if(J)Nk5(J);await $(...G)}catch(K){let Z=Hk5(K);if(z.supportsJsonOutput&&A5(Q))console.log(JSON.stringify({error:Z},null,2));else console.error(Z);process.exitCode=1}}}var HW2="OH_MY_AG_OUTPUT_FORMAT",pq,XW2;var r4=N(()=>{Bf();sz();pq=["text","json"],XW2=["backend","frontend","mobile","qa","debug","pm"]});var AW2,jW2=($)=>{return $===12288||$>=65281&&$<=65376||$>=65504&&$<=65510},MW2=($)=>{return $===8987||$===9001||$>=12272&&$<=12287||$>=12289&&$<=12350||$>=12441&&$<=12543||$>=12549&&$<=12591||$>=12593&&$<=12686||$>=12688&&$<=12771||$>=12783&&$<=12830||$>=12832&&$<=12871||$>=12880&&$<=19903||$>=65040&&$<=65049||$>=65072&&$<=65106||$>=65108&&$<=65126||$>=65128&&$<=65131||$>=127488&&$<=127490||$>=127504&&$<=127547||$>=127552&&$<=127560||$>=131072&&$<=196605||$>=196608&&$<=262141};var OW2=N(()=>{AW2=(()=>{let $=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return(z)=>{let G=0;$.lastIndex=0;while($.test(z))G+=1;return z.length-G}})()});var Dk5,vk5,IW2,Ek5,RW2,wk5,Ck5,Pk5,DW2=($,z={},G={})=>{let J=z.limit??1/0,Q=z.ellipsis??"",K=z?.ellipsisWidth??(Q?DW2(Q,Pk5,G).width:0),Z=0,U=G.controlWidth??0,Y=G.tabWidth??8,W=G.emojiWidth??2,V=2,B=G.regularWidth??1,L=G.wideWidth??2,X=[[wk5,B],[Dk5,0],[vk5,U],[Ek5,Y],[RW2,W],[IW2,L]],H=0,q=0,F=$.length,k=0,A=!1,j=F,M=Math.max(0,J-K),O=0,D=0,R=0,I=0;$:while(!0){if(D>O||q>=F&&q>H){let E=$.slice(O,D)||$.slice(H,q);k=0;for(let b of E.replaceAll(Ck5,"")){let _=b.codePointAt(0)||0;if(jW2(_))I=2;else if(MW2(_))I=L;else I=B;if(R+I>M)j=Math.min(j,Math.max(O,H)+k);if(R+I>J){A=!0;break $}k+=b.length,R+=I}O=D=0}if(q>=F)break $;for(let E=0,b=X.length;E<b;E++){let[_,h]=X[E];if(_.lastIndex=q,_.test($)){if(k=_===IW2?AW2($.slice(q,_.lastIndex)):_===RW2?1:_.lastIndex-q,I=k*h,R+I>M)j=Math.min(j,q+Math.floor((M-R)/h));if(R+I>J){A=!0;break $}R+=I,O=H,D=q,q=H=_.lastIndex;continue $}}q+=1}return{width:A?M:R,index:A?j:F,truncated:A,ellipsed:A&&J>=K}},vW2;var EW2=N(()=>{OW2();Dk5=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,vk5=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,IW2=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/yu,Ek5=/\t{1,1000}/y,RW2=/[\u{1F1E6}-\u{1F1FF}]{2}|\u{1F3F4}[\u{E0061}-\u{E007A}]{2}[\u{E0030}-\u{E0039}\u{E0061}-\u{E007A}]{1,3}\u{E007F}|(?:\p{Emoji}\uFE0F\u20E3?|\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation})(?:\u200D(?:\p{Emoji_Modifier_Base}\p{Emoji_Modifier}?|\p{Emoji_Presentation}|\p{Emoji}\uFE0F\u20E3?))*/yu,wk5=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,Ck5=/\p{M}+/gu,Pk5={limit:1/0,ellipsis:""},vW2=DW2});var Tk5,bk5=($,z={})=>{return vW2($,Tk5,z).width},D6;var Ff=N(()=>{EW2();Tk5={limit:1/0,ellipsis:"",ellipsisWidth:0},D6=bk5});function E$($,z,G){return String($).normalize().split(uk5).map((J)=>yk5(J,z,G)).join(`
28
28
  `)}var MR="\x1B",bW2="›",_k5=39,Nf="\x07",_W2="[",Sk5="]",SW2="m",Af,wW2,CW2=($)=>{if($>=30&&$<=37)return 39;if($>=90&&$<=97)return 39;if($>=40&&$<=47)return 49;if($>=100&&$<=107)return 49;if($===1||$===2)return 22;if($===3)return 23;if($===4)return 24;if($===7)return 27;if($===8)return 28;if($===9)return 29;if($===0)return 0;return},PW2=($)=>`${MR}${_W2}${$}${SW2}`,TW2=($)=>`${MR}${Af}${$}${Nf}`,kf=($,z,G)=>{let J=z[Symbol.iterator](),Q=!1,K=!1,Z=$.at(-1),U=Z===void 0?0:D6(Z),Y=J.next(),W=J.next(),V=0;while(!Y.done){let B=Y.value,L=D6(B);if(U+L<=G)$[$.length-1]+=B;else $.push(B),U=0;if(B===MR||B===bW2)Q=!0,K=z.startsWith(Af,V+1);if(Q){if(K){if(B===Nf)Q=!1,K=!1}else if(B===SW2)Q=!1}else if(U+=L,U===G&&!W.done)$.push(""),U=0;Y=W,W=J.next(),V+=B.length}if(Z=$.at(-1),!U&&Z!==void 0&&Z.length&&$.length>1)$[$.length-2]+=$.pop()},xk5=($)=>{let z=$.split(" "),G=z.length;while(G){if(D6(z[G-1]))break;G--}if(G===z.length)return $;return z.slice(0,G).join(" ")+z.slice(G).join("")},yk5=($,z,G={})=>{if(G.trim!==!1&&$.trim()==="")return"";let J="",Q,K,Z=$.split(" "),U=[""],Y=0;for(let B=0;B<Z.length;B++){let L=Z[B];if(G.trim!==!1){let H=U.at(-1)??"",q=H.trimStart();if(H.length!==q.length)U[U.length-1]=q,Y=D6(q)}if(B!==0){if(Y>=z&&(G.wordWrap===!1||G.trim===!1))U.push(""),Y=0;if(Y||G.trim===!1)U[U.length-1]+=" ",Y++}let X=D6(L);if(G.hard&&X>z){let H=z-Y,q=1+Math.floor((X-H-1)/z);if(Math.floor((X-1)/z)<q)U.push("");kf(U,L,z),Y=D6(U.at(-1)??"");continue}if(Y+X>z&&Y&&X){if(G.wordWrap===!1&&Y<z){kf(U,L,z),Y=D6(U.at(-1)??"");continue}U.push(""),Y=0}if(Y+X>z&&G.wordWrap===!1){kf(U,L,z),Y=D6(U.at(-1)??"");continue}U[U.length-1]+=L,Y+=X}if(G.trim!==!1)U=U.map((B)=>xk5(B));let W=U.join(`
29
29
  `),V=!1;for(let B=0;B<W.length;B++){let L=W[B];if(J+=L,!V){if(V=L>="\uD800"&&L<="\uDBFF",V)continue}else V=!1;if(L===MR||L===bW2){wW2.lastIndex=B+1;let H=wW2.exec(W)?.groups;if(H?.code!==void 0){let q=Number.parseFloat(H.code);Q=q===_k5?void 0:q}else if(H?.uri!==void 0)K=H.uri.length===0?void 0:H.uri}if(W[B+1]===`
30
30
  `){if(K)J+=TW2("");let X=Q?CW2(Q):void 0;if(Q&&X)J+=PW2(X)}else if(L===`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oh-my-agent",
3
- "version": "10.10.0",
3
+ "version": "10.11.0",
4
4
  "description": "Portable multi-agent harness for .agents-based skills and workflows across Antigravity, Claude Code, Codex, OpenCode, and more",
5
5
  "type": "module",
6
6
  "bin": {