@sma1lboy/rove 0.9.225 → 0.9.227
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/{chunk-k42pvhga.js → chunk-12n1vt01.js} +2 -2
- package/dist/cli/{chunk-1f8c92xt.js → chunk-1arwygap.js} +6 -4
- package/dist/cli/{chunk-3yh71rdr.js → chunk-1ksrew4v.js} +1 -1
- package/dist/cli/{chunk-dc82mtts.js → chunk-28wqt1yd.js} +2 -2
- package/dist/cli/{chunk-87hjfmx4.js → chunk-3xadm235.js} +1 -1
- package/dist/cli/{chunk-83cjdv26.js → chunk-3z591cqs.js} +1 -1
- package/dist/cli/chunk-4eds24az.js +3 -0
- package/dist/cli/{chunk-8h0q0gy3.js → chunk-4qa2ag80.js} +1 -1
- package/dist/cli/chunk-544bwsss.js +4 -0
- package/dist/cli/{chunk-57qnjcre.js → chunk-5r04ekqn.js} +1 -1
- package/dist/cli/chunk-5vknqr2f.js +3 -0
- package/dist/cli/{chunk-d8z70z0n.js → chunk-67tf0kj3.js} +1 -1
- package/dist/cli/{chunk-2kh0qk5f.js → chunk-6czys6yf.js} +5 -5
- package/dist/cli/chunk-7b8bjams.js +2 -0
- package/dist/cli/{chunk-sn2r47e9.js → chunk-857xzvfh.js} +1 -1
- package/dist/cli/{chunk-2c47eey6.js → chunk-85m905dp.js} +1 -1
- package/dist/cli/{chunk-qv5y4xb3.js → chunk-a3yyrabb.js} +1 -1
- package/dist/cli/{chunk-0aj86zz1.js → chunk-an4n7ycx.js} +1 -1
- package/dist/cli/{chunk-tr4xzm5w.js → chunk-ay2gaz2s.js} +1 -1
- package/dist/cli/{chunk-r0y0tazs.js → chunk-bza1kg36.js} +2 -2
- package/dist/cli/{chunk-hybs0rpr.js → chunk-ca5g8vdg.js} +1 -1
- package/dist/cli/{chunk-ctnactxq.js → chunk-cgxvfvg6.js} +1 -1
- package/dist/cli/{chunk-j648y3vt.js → chunk-cv6r89jp.js} +1 -1
- package/dist/cli/{chunk-90dvfjrd.js → chunk-d0dqgk8f.js} +1 -1
- package/dist/cli/{chunk-pej4e17m.js → chunk-dk5p4tca.js} +3 -3
- package/dist/cli/{chunk-9n6d80fb.js → chunk-eat8zp3e.js} +1 -1
- package/dist/cli/{chunk-kbsrbpbf.js → chunk-eawt4n4g.js} +1 -1
- package/dist/cli/chunk-exfyqsdd.js +3 -0
- package/dist/cli/{chunk-122vhkba.js → chunk-f5e3dcxe.js} +1 -1
- package/dist/cli/{chunk-e32bx30h.js → chunk-fa1vhm98.js} +1 -1
- package/dist/cli/{chunk-xmdbky9n.js → chunk-fx127943.js} +1 -1
- package/dist/cli/{chunk-1dhbsn9f.js → chunk-g1v0cxqq.js} +1 -1
- package/dist/cli/{chunk-ke26my5r.js → chunk-he76emdm.js} +1 -1
- package/dist/cli/{chunk-wwb57kcp.js → chunk-hp3gw824.js} +2 -2
- package/dist/cli/{chunk-vwf847fy.js → chunk-kpst4rs7.js} +1 -1
- package/dist/cli/{chunk-v99665ht.js → chunk-m5et7bfg.js} +2 -2
- package/dist/cli/{chunk-3h73z1x9.js → chunk-m9y3ehq9.js} +1 -1
- package/dist/cli/chunk-nhakrm1f.js +4 -0
- package/dist/cli/{chunk-z62bf0dh.js → chunk-pgk4dzdb.js} +1 -1
- package/dist/cli/{chunk-wenasn1h.js → chunk-pz907kve.js} +1 -1
- package/dist/cli/{chunk-6m3xjvp7.js → chunk-pzdn97gj.js} +16 -17
- package/dist/cli/{chunk-mjdt28x6.js → chunk-qagek3wg.js} +1 -1
- package/dist/cli/{chunk-jd8c23wq.js → chunk-r4dcqkm2.js} +1 -1
- package/dist/cli/{chunk-aqmzfwd5.js → chunk-r9dxatnp.js} +1 -1
- package/dist/cli/{chunk-gfwxx6mh.js → chunk-rdj6ffbz.js} +1 -1
- package/dist/cli/{chunk-vnh0f2xw.js → chunk-rkbhxb1c.js} +1 -1
- package/dist/cli/{chunk-jnrxqadn.js → chunk-sdkkvfb9.js} +1 -1
- package/dist/cli/{chunk-kh6v3cq1.js → chunk-snjte1rd.js} +1 -1
- package/dist/cli/{chunk-whwv8dgk.js → chunk-tg33489x.js} +1 -1
- package/dist/cli/{chunk-benjgjtt.js → chunk-vg760v5a.js} +1 -1
- package/dist/cli/{chunk-jd4v771h.js → chunk-w0qzs0c7.js} +1 -1
- package/dist/cli/{chunk-4esn0bed.js → chunk-wapcw2dp.js} +1 -1
- package/dist/cli/{chunk-5t8cazgm.js → chunk-wtqxv2rv.js} +1 -1
- package/dist/cli/{chunk-wc8axd0v.js → chunk-x3d3nzyk.js} +1 -1
- package/dist/cli/{chunk-2r75ny8q.js → chunk-xexjb8b2.js} +1 -1
- package/dist/cli/chunk-z1g9et2v.js +9 -0
- package/dist/cli/{chunk-wrnv7sn7.js → chunk-z6ef9wfc.js} +1 -1
- package/dist/cli/{chunk-d3phpprk.js → chunk-za69sqys.js} +1 -1
- package/dist/cli/index.js +3 -3
- package/dist/cli/kobe.js +1 -1
- package/dist/cli/pty-host-node.mjs +9 -1
- package/dist/cli/rove.js +1 -1
- package/dist/completions/kobe.bash +1 -1
- package/dist/completions/kobe.fish +1 -1
- package/dist/completions/kobe.zsh +1 -1
- package/dist/completions/rove.bash +1 -1
- package/dist/completions/rove.fish +1 -1
- package/dist/completions/rove.zsh +1 -1
- package/dist/skills/rove/SKILL.md +1 -1
- package/dist/skills/rove/references/api-flags.md +7 -0
- package/package.json +1 -1
- package/dist/cli/chunk-255fberx.js +0 -9
- package/dist/cli/chunk-b99tf0jr.js +0 -3
- package/dist/cli/chunk-hrx15eky.js +0 -3
- package/dist/cli/chunk-p1zab1sy.js +0 -4
- package/dist/cli/chunk-rv421ny3.js +0 -2
- package/dist/cli/chunk-sdyzxayr.js +0 -3
- package/dist/cli/chunk-smc5n94s.js +0 -3
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{getPersistedString,setPersistedString}from"./chunk-hg87p5n8.js";import{activeCliName}from"./chunk-ppwpjm39.js";import{ROVE_PRODUCT_NAME}from"./chunk-sb0ns0c7.js";import{__require}from"./chunk-wqfp8d9w.js";import{accessSync,existsSync,constants as fsConstants,readFileSync,statSync}from"fs";import{homedir}from"os";import{delimiter,dirname,join,resolve}from"path";import{fileURLToPath}from"url";var KOBE_SKILL_VERSION=
|
|
2
|
+
import{getPersistedString,setPersistedString}from"./chunk-hg87p5n8.js";import{activeCliName}from"./chunk-ppwpjm39.js";import{ROVE_PRODUCT_NAME}from"./chunk-sb0ns0c7.js";import{__require}from"./chunk-wqfp8d9w.js";import{accessSync,existsSync,constants as fsConstants,readFileSync,statSync}from"fs";import{homedir}from"os";import{delimiter,dirname,join,resolve}from"path";import{fileURLToPath}from"url";var KOBE_SKILL_VERSION=52,ROVE_SKILL_REL_PATHS=[".agents/skills/rove/SKILL.md",".claude/skills/rove/SKILL.md"],LEGACY_SKILL_REL_PATHS=[".agents/skills/kobe/SKILL.md",".claude/skills/kobe/SKILL.md"],SKILL_REL_PATHS=[...ROVE_SKILL_REL_PATHS,...LEGACY_SKILL_REL_PATHS];function skillInstallCommand(env=process.env){return`${activeCliName(env)} skill install`}var SKILL_SOURCE_SLUG="Sma1lboy/rove";function bundledSkillDir(){let here=fileURLToPath(import.meta.url);return[resolve(here,"../../../../../.agents/skills/kobe"),resolve(here,"../../skills/rove")].find((dir)=>existsSync(join(dir,"SKILL.md")))??null}function npxSkillsArgv(opts={}){let source=opts.source!==void 0?opts.source:bundledSkillDir(),agents=opts.agent===void 0?[]:typeof opts.agent==="string"?[opts.agent]:opts.agent;return["skills","add",source??SKILL_SOURCE_SLUG,"--skill",ROVE_PRODUCT_NAME,...opts.global===!1?[]:["--global"],...agents.flatMap((a)=>["--agent",a])]}function npxSkillsCommand(opts={}){return`npx ${npxSkillsArgv(opts).join(" ")}`}var NPX_MISSING_EXIT=127;function isNpxMissing(){let parts=(process.env.PATH??"").split(delimiter).filter(Boolean);if(parts.length===0)return!1;return!parts.some((dir)=>{try{return accessSync(join(dir,"npx"),fsConstants.X_OK),!0}catch{return!1}})}function npxMissingMessage(){return`${activeCliName()} skill install needs \`npx\` (part of Node.js), which isn't on your PATH.
|
|
3
3
|
Install Node.js (https://nodejs.org) and run it again \u2014 the Rove installer only installs Bun and Rove.`}async function runNpxSkillsInstall(agent,global){if(isNpxMissing())return process.stderr.write(`
|
|
4
4
|
${npxMissingMessage()}
|
|
5
5
|
|
|
6
|
-
`),NPX_MISSING_EXIT;return await Bun.spawn(["npx",...npxSkillsArgv({...agent===void 0?{}:{agent},global})],{stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited}var HINT_SEEN_KEY="skillHintSeen";function markSkillHintSeen(){setPersistedString(HINT_SEEN_KEY,"1")}function kobeSkillPaths(opts={}){let home=opts.home??homedir(),cwd=opts.cwd??process.cwd();return[home,cwd].flatMap((root)=>SKILL_REL_PATHS.map((rel)=>join(root,rel)))}function parseSkillVersion(content){let m=content.match(/(?:rove|kobe)-skill-version:\s*(\d+)/);return m?Number.parseInt(m[1],10):null}function skillVersionAt(path){try{return parseSkillVersion(readFileSync(path,"utf8"))}catch{return null}}function inodeKey(path){try{let stat=statSync(path);return`${stat.dev}:${stat.ino}`}catch{return path}}function distinctSkillFiles(roots,rels){let seen=new Set,out=[];for(let root of roots)for(let rel of rels){let path=join(root,rel);if(!existsSync(path))continue;let key=inodeKey(path);if(seen.has(key))continue;seen.add(key),out.push(path)}return out}function installedSkillDirs(home=homedir()){return distinctSkillFiles([home],SKILL_REL_PATHS).map((path)=>dirname(path))}function kobeSkillState(opts={}){let roots=[opts.home??homedir(),opts.cwd??process.cwd()],roveCopies=distinctSkillFiles(roots,ROVE_SKILL_REL_PATHS).map((path)=>({path,version:skillVersionAt(path)})),legacy=distinctSkillFiles(roots,LEGACY_SKILL_REL_PATHS).map((path)=>({path,version:skillVersionAt(path)})),best=[...roveCopies].sort((a,b)=>(b.version??-1)-(a.version??-1))[0]??legacy[0];if(!best)return{installed:!1,installedVersion:null,currentVersion:KOBE_SKILL_VERSION,stale:!1,legacyCopies:[],path:null};let stale=best.version===null||best.version<KOBE_SKILL_VERSION;return{installed:!0,installedVersion:best.version,currentVersion:KOBE_SKILL_VERSION,stale,legacyCopies:legacy.filter((copy)=>copy.path!==best.path),path:best.path}}function installedSkillDiffersFromBundled(installedPath){let bundled=bundledSkillDir();if(!bundled)return!1;try{return readFileSync(join(bundled,"SKILL.md"),"utf8")!==readFileSync(installedPath,"utf8")}catch{return!1}}function describeLegacyCopies(copies){return copies.map((c)=>`${c.path}${c.version===null?"":` (v${c.version})`}`).join(", ")}function promptLine(){return new Promise((resolve2)=>{process.stdin.resume(),process.stdin.once("data",(d)=>{process.stdin.pause(),resolve2(String(d))})})}async function maybeHintSkillInstall(io={}){let{isRovePluginEnabled}=await import("./chunk-
|
|
6
|
+
`),NPX_MISSING_EXIT;return await Bun.spawn(["npx",...npxSkillsArgv({...agent===void 0?{}:{agent},global})],{stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited}var HINT_SEEN_KEY="skillHintSeen";function markSkillHintSeen(){setPersistedString(HINT_SEEN_KEY,"1")}function kobeSkillPaths(opts={}){let home=opts.home??homedir(),cwd=opts.cwd??process.cwd();return[home,cwd].flatMap((root)=>SKILL_REL_PATHS.map((rel)=>join(root,rel)))}function parseSkillVersion(content){let m=content.match(/(?:rove|kobe)-skill-version:\s*(\d+)/);return m?Number.parseInt(m[1],10):null}function skillVersionAt(path){try{return parseSkillVersion(readFileSync(path,"utf8"))}catch{return null}}function inodeKey(path){try{let stat=statSync(path);return`${stat.dev}:${stat.ino}`}catch{return path}}function distinctSkillFiles(roots,rels){let seen=new Set,out=[];for(let root of roots)for(let rel of rels){let path=join(root,rel);if(!existsSync(path))continue;let key=inodeKey(path);if(seen.has(key))continue;seen.add(key),out.push(path)}return out}function installedSkillDirs(home=homedir()){return distinctSkillFiles([home],SKILL_REL_PATHS).map((path)=>dirname(path))}function kobeSkillState(opts={}){let roots=[opts.home??homedir(),opts.cwd??process.cwd()],roveCopies=distinctSkillFiles(roots,ROVE_SKILL_REL_PATHS).map((path)=>({path,version:skillVersionAt(path)})),legacy=distinctSkillFiles(roots,LEGACY_SKILL_REL_PATHS).map((path)=>({path,version:skillVersionAt(path)})),best=[...roveCopies].sort((a,b)=>(b.version??-1)-(a.version??-1))[0]??legacy[0];if(!best)return{installed:!1,installedVersion:null,currentVersion:KOBE_SKILL_VERSION,stale:!1,legacyCopies:[],path:null};let stale=best.version===null||best.version<KOBE_SKILL_VERSION;return{installed:!0,installedVersion:best.version,currentVersion:KOBE_SKILL_VERSION,stale,legacyCopies:legacy.filter((copy)=>copy.path!==best.path),path:best.path}}function installedSkillDiffersFromBundled(installedPath){let bundled=bundledSkillDir();if(!bundled)return!1;try{return readFileSync(join(bundled,"SKILL.md"),"utf8")!==readFileSync(installedPath,"utf8")}catch{return!1}}function describeLegacyCopies(copies){return copies.map((c)=>`${c.path}${c.version===null?"":` (v${c.version})`}`).join(", ")}function promptLine(){return new Promise((resolve2)=>{process.stdin.resume(),process.stdin.once("data",(d)=>{process.stdin.pause(),resolve2(String(d))})})}async function maybeHintSkillInstall(io={}){let{isRovePluginEnabled}=await import("./chunk-ca5g8vdg.js");if(isRovePluginEnabled())return;let cliName=activeCliName(),installCommand=skillInstallCommand(),state=kobeSkillState();if(!state.installed){if(getPersistedString(HINT_SEEN_KEY)==="1")return;setPersistedString(HINT_SEEN_KEY,"1"),process.stderr.write(`
|
|
7
7
|
${cliName}: the Rove agent skill isn't installed \u2014 install it so your coding agent can drive Rove via \`${cliName} api\`:
|
|
8
8
|
${installCommand}
|
|
9
9
|
(wraps \`${npxSkillsCommand()}\`; check anytime with \`${cliName} doctor\`)
|