@sma1lboy/rove 0.9.148 → 0.9.150

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 (59) hide show
  1. package/dist/cli/{chunk-xzrqnpmh.js → chunk-0h4cfy44.js} +2 -2
  2. package/dist/cli/chunk-0kn7xxqm.js +6 -0
  3. package/dist/cli/{chunk-cbkje3aw.js → chunk-0tw42ad1.js} +1 -1
  4. package/dist/cli/{chunk-49s2zc0h.js → chunk-1cqtm24j.js} +1 -1
  5. package/dist/cli/{chunk-adez6hq4.js → chunk-1gpx52qj.js} +2 -2
  6. package/dist/cli/{chunk-dkxhmj9k.js → chunk-1ps9qzp1.js} +1 -1
  7. package/dist/cli/{chunk-bj59a9mg.js → chunk-1z9ae43v.js} +1 -1
  8. package/dist/cli/{chunk-39s1ndtm.js → chunk-2ffbcsm6.js} +6 -6
  9. package/dist/cli/{chunk-m0fz6g32.js → chunk-2hgt2esq.js} +3 -3
  10. package/dist/cli/{chunk-xbc3gcry.js → chunk-2t62vct7.js} +1 -1
  11. package/dist/cli/{chunk-91j0an0j.js → chunk-2w4zymkv.js} +1 -1
  12. package/dist/cli/{chunk-h5j8b87f.js → chunk-4d7bbh87.js} +1 -1
  13. package/dist/cli/{chunk-1x0vahnn.js → chunk-5b6940vk.js} +1 -1
  14. package/dist/cli/{chunk-3rqa4pyt.js → chunk-5gn4chrm.js} +2 -2
  15. package/dist/cli/{chunk-s66eh0pw.js → chunk-5kkm6tjz.js} +2 -2
  16. package/dist/cli/{chunk-dvabncrk.js → chunk-6h9tc9vn.js} +1 -1
  17. package/dist/cli/{chunk-jvpzy378.js → chunk-6xhtf9jx.js} +1 -1
  18. package/dist/cli/{chunk-a4a4qaa2.js → chunk-71m4ak4t.js} +1 -1
  19. package/dist/cli/chunk-7j8zpeer.js +3 -0
  20. package/dist/cli/{chunk-jfqbq12b.js → chunk-7sgtpyr0.js} +1 -1
  21. package/dist/cli/{chunk-eq5f3z2f.js → chunk-84aks78e.js} +1 -1
  22. package/dist/cli/{chunk-np07kccr.js → chunk-8x0h6rwa.js} +1 -1
  23. package/dist/cli/{chunk-me77sx3d.js → chunk-a0rxr20w.js} +1 -1
  24. package/dist/cli/{chunk-gbasmvsc.js → chunk-b24ykek8.js} +1 -1
  25. package/dist/cli/{chunk-8sbevss4.js → chunk-bjat0fyy.js} +1 -1
  26. package/dist/cli/{chunk-0dv2xssg.js → chunk-bzz4ta7g.js} +5 -7
  27. package/dist/cli/{chunk-dx6b3dv8.js → chunk-cjxwzzq7.js} +1 -1
  28. package/dist/cli/{chunk-7ngv7v9g.js → chunk-db57060b.js} +1 -1
  29. package/dist/cli/{chunk-v5893dx3.js → chunk-dk3pvrw6.js} +1 -1
  30. package/dist/cli/{chunk-y2yq6zca.js → chunk-fbg4fkmg.js} +1 -1
  31. package/dist/cli/{chunk-5ar3vspk.js → chunk-fhfqyfpf.js} +1 -1
  32. package/dist/cli/{chunk-x930m5fs.js → chunk-fyjj9ast.js} +1 -1
  33. package/dist/cli/{chunk-0b48bpkd.js → chunk-h9xpeqn6.js} +1 -1
  34. package/dist/cli/{chunk-pbqwegjy.js → chunk-hpj8xjxb.js} +1 -1
  35. package/dist/cli/{chunk-vqpa27cf.js → chunk-k2gfqqmg.js} +1 -1
  36. package/dist/cli/chunk-k5k0ecka.js +4 -0
  37. package/dist/cli/{chunk-7pfnda5z.js → chunk-khp1ga68.js} +1 -1
  38. package/dist/cli/{chunk-mggca3k4.js → chunk-mfvy10ep.js} +1 -1
  39. package/dist/cli/{chunk-8g456mmt.js → chunk-ppe5myr0.js} +1 -1
  40. package/dist/cli/{chunk-yn5a7xcv.js → chunk-r26g5ree.js} +1 -1
  41. package/dist/cli/{chunk-vzxbe80f.js → chunk-r2w8qgyd.js} +3 -3
  42. package/dist/cli/chunk-sm1vhrb6.js +3 -0
  43. package/dist/cli/{chunk-b8d162tf.js → chunk-tfdx5ve6.js} +1 -1
  44. package/dist/cli/chunk-vwjec3m6.js +3 -0
  45. package/dist/cli/{chunk-nrnjt5b6.js → chunk-vzvy1s1d.js} +1 -1
  46. package/dist/cli/{chunk-pcvk98rr.js → chunk-y34fff4t.js} +1 -1
  47. package/dist/cli/{chunk-wsvf9eka.js → chunk-yeytzg1x.js} +1 -1
  48. package/dist/cli/chunk-z3va3mt0.js +34 -0
  49. package/dist/cli/index.js +3 -3
  50. package/dist/cli/kobe.js +1 -1
  51. package/dist/cli/pty-host-node.mjs +113 -76
  52. package/dist/cli/rove.js +1 -1
  53. package/package.json +2 -2
  54. package/dist/cli/chunk-df7qe9y7.js +0 -4
  55. package/dist/cli/chunk-q7dr9eh6.js +0 -3
  56. package/dist/cli/chunk-t0kta7rb.js +0 -5
  57. package/dist/cli/chunk-yhcz2d2r.js +0 -34
  58. package/dist/cli/chunk-ykvk2546.js +0 -3
  59. package/dist/cli/chunk-ympakh8w.js +0 -6
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{NPX_MISSING_EXIT,bundledSkillDir,kobeSkillPaths,kobeSkillState,npxSkillsCommand,runNpxSkillsInstall}from"./chunk-g1ybdgad.js";import{SUBCOMMAND_VERBS}from"./chunk-s76r56rj.js";import"./chunk-k3ksts6g.js";import"./chunk-gjf604bb.js";import"./chunk-9c1e5z6a.js";import"./chunk-6dn6h640.js";import{activeCliName}from"./chunk-ef11h2am.js";import"./chunk-8ddjfc2v.js";import"./chunk-cb2fpajx.js";import"./chunk-3bfm4hrs.js";import{__require}from"./chunk-wqfp8d9w.js";import{existsSync,readFileSync}from"fs";import{join}from"path";var CLI_NAME=activeCliName(),SKILL_VERBS=SUBCOMMAND_VERBS.skill;function skillUsage(){return[`usage: ${CLI_NAME} skill <verb>`,"","verbs:"," install [--project] [--agent NAME]\u2026 Install the Rove agent skill (wraps `npx skills add`)"," status Show whether the skill is installed"," command [--project] [--agent NAME]\u2026 Print the underlying npx command without running it",` print Print the bundled SKILL.md (also: \`${CLI_NAME} --skill\`)`,"",`The skill teaches a coding agent how to drive \`${CLI_NAME} api\`. Installs are`,"global (user-level) by default; --project installs into the current project","instead. With no --agent, the agent-skills CLI detects your installed agents","and asks; repeat --agent to name them (e.g. --agent claude-code --agent codex)."].join(`
2
+ import{NPX_MISSING_EXIT,bundledSkillDir,kobeSkillPaths,kobeSkillState,npxSkillsCommand,runNpxSkillsInstall}from"./chunk-g1ybdgad.js";import{SUBCOMMAND_VERBS}from"./chunk-s76r56rj.js";import"./chunk-k3ksts6g.js";import"./chunk-gjf604bb.js";import"./chunk-9c1e5z6a.js";import"./chunk-6dn6h640.js";import{activeCliName}from"./chunk-ef11h2am.js";import"./chunk-8ddjfc2v.js";import"./chunk-cb2fpajx.js";import"./chunk-3bfm4hrs.js";import{__require}from"./chunk-wqfp8d9w.js";import{existsSync,readFileSync}from"fs";import{join}from"path";var CLI_NAME=activeCliName(),SKILL_VERBS=SUBCOMMAND_VERBS.skill;function skillUsage(){return[`usage: ${CLI_NAME} skill <verb>`,"","verbs:"," install [--global|-g | --project|-p] [--agent NAME]\u2026 Install the Rove agent skill (wraps `npx skills add`)"," status Show whether the skill is installed"," command [--global|-g | --project|-p] [--agent NAME]\u2026 Print the underlying npx command without running it",` print Print the bundled SKILL.md (also: \`${CLI_NAME} --skill\`)`,"",`The skill teaches a coding agent how to drive \`${CLI_NAME} api\`. Installs are`,"global (user-level) by default; --global/-g says so explicitly, --project/-p","installs into the current project instead. With no --agent, the agent-skills","CLI detects your installed agents and asks; repeat --agent to name them","(e.g. --agent claude-code --agent codex)."].join(`
3
3
  `)}function parseInstallFlags(rest){let global=!0,agents=[];for(let i=0;i<rest.length;i++){let arg=rest[i];if(arg==="--project"||arg==="-p")global=!1;else if(arg==="--global"||arg==="-g")global=!0;else if(arg==="--agent"){let v=rest[i+1];if(!v||v.startsWith("--"))process.stderr.write(`${CLI_NAME} skill: --agent requires a value
4
4
  `),process.exit(2);agents.push(v),i++}else if(arg.startsWith("--agent="))agents.push(arg.slice(8));else process.stderr.write(`${CLI_NAME} skill: unknown flag "${arg}"
5
5
 
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{describeAccount,detectEngineStatuses,probeableEngineIds,summarizeEngines}from"./chunk-np07kccr.js";import{t}from"./chunk-b8d162tf.js";import{createInterface}from"readline";function daemonRestartFix(cliName,reason){return{kind:"run",id:"daemon-restart",label:t(`doctor.fix.${reason}`),command:[cliName,"daemon","restart"],why:t("doctor.fix.daemonRestartWhy")}}function skillInstallFix(installCommand,stale){return{kind:"run",id:"skill-install",label:t(stale?"doctor.fix.skillStale":"doctor.fix.skillMissing"),command:installCommand.split(" "),why:t("doctor.fix.skillInstallWhy")}}function resetManualFix(cliName,reason){return{kind:"manual",id:`reset:${reason}`,label:t(`doctor.fix.${reason}`),action:`${cliName} reset`,why:t("doctor.fix.resetWhy")}}function killOrphansManualFix(cliName,count){return{kind:"manual",id:"kill-orphans",label:t("doctor.fix.orphans",{count}),action:`${cliName} doctor --kill-orphans`,why:t("doctor.fix.orphansWhy")}}function engineTabsManualFix(){return{kind:"manual",id:"engine-tabs",label:t("doctor.fix.engineTabs"),action:t("doctor.fix.engineTabsAction"),why:t("doctor.fix.engineTabsWhy")}}function reinstallManualFix(){return{kind:"manual",id:"reinstall",label:t("doctor.fix.staleInstall"),action:t("doctor.fix.staleInstallAction"),why:t("doctor.fix.staleInstallWhy")}}function spawnHelperFix(paths){return{kind:"run",id:"spawn-helper-chmod",label:t("doctor.fix.spawnHelper"),command:["chmod","755",...paths],why:t("doctor.fix.spawnHelperWhy")}}function humanOnlyFix(reason,vars){return{kind:"manual",id:reason,label:t(`doctor.fix.${reason}`),action:t(`doctor.fix.${reason}Action`,vars),why:t("doctor.fix.humanOnlyWhy")}}function noEngineFix(signedOut){return signedOut.length>0?humanOnlyFix("noEngineLogin",{list:signedOut.join(", ")}):humanOnlyFix("noEngine")}function noEngineAction(signedOut){return signedOut.length>0?t("doctor.fix.noEngineLoginAction",{list:signedOut.join(", ")}):t("doctor.fix.noEngineAction")}function dedupeFixes(fixes){let seen=new Set;return fixes.filter((fix)=>{if(seen.has(fix.id))return!1;return seen.add(fix.id),!0})}async function applyFixes(collected,rt){let fixes=dedupeFixes(collected);if(fixes.length===0){rt.out(""),rt.out(t("doctor.fix.none"));return}let runnable=fixes.filter((fix)=>fix.kind==="run");if(runnable.length>0){rt.out(""),rt.out(t("doctor.fix.header"));for(let fix of runnable){if(rt.out(` ${fix.label}`),rt.out(` ${t("doctor.fix.willRun",{command:fix.command.join(" ")})}`),rt.out(` ${fix.why}`),!rt.interactive)continue;if(!await rt.confirm(` ${t("doctor.fix.confirmPrompt")}`)){rt.out(` ${t("doctor.fix.skipped")}`);continue}let code=await rt.exec(fix.command);rt.out(code===0?` ${t("doctor.fix.done")}`:` ${t("doctor.fix.failed",{code})}`)}if(!rt.interactive)rt.out(` ${t("doctor.fix.nonInteractive")}`)}let manual=fixes.filter((fix)=>fix.kind==="manual");if(manual.length>0){rt.out(""),rt.out(t("doctor.fix.manualHeader"));for(let fix of manual)rt.out(` ${fix.label}`),rt.out(` \u2192 ${fix.action}`),rt.out(` ${fix.why}`)}}async function confirmTty(question){let readline=createInterface({input:process.stdin,output:process.stdout});try{let answer=await new Promise((resolve)=>readline.question(question,resolve));return answer.trim().toLowerCase()==="y"||answer.trim().toLowerCase()==="yes"}finally{readline.close()}}async function execInherited(command){try{return await Bun.spawn([...command],{stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited}catch{return 127}}function defaultFixRuntime(){return{confirm:confirmTty,exec:execInherited,out:(line)=>console.log(line),interactive:process.stdin.isTTY===!0}}async function probeGit(){try{let proc=Bun.spawn(["git","--version"],{stdin:"ignore",stdout:"pipe",stderr:"ignore"}),text=(await new Response(proc.stdout).text()).trim();if(await proc.exited===0&&text)return{line:`git: \u2713 ${text}`,found:!0}}catch{}return{line:"git: \u2717 not found on PATH",found:!1}}function binaryLabel(binary){return binary.found?`\u2713 ${binary.path}`:`\u2717 ${binary.error}`}async function probeEngines(){let statuses=await detectEngineStatuses(await probeableEngineIds()),lines=["engines:"];for(let status of statuses){let account=describeAccount(status.account),name=`${status.vendor.padEnd(7)} `;if(lines.push(` ${name}${binaryLabel(status.binary)}${status.binary.found?` \u2014 ${account}`:""}`),status.accountError)lines.push(` \u26A0 ${status.accountError}`)}let{usable,signedOut}=summarizeEngines(statuses);return{lines,anyUsable:usable.length>0,signedOut}}async function checkOnboardingEnv(){let[git,engines]=await Promise.all([probeGit(),probeEngines()]);return{git,engines}}
2
+ import{describeAccount,detectEngineStatuses,probeableEngineIds,summarizeEngines}from"./chunk-8x0h6rwa.js";import{t}from"./chunk-tfdx5ve6.js";import{createInterface}from"readline";function daemonRestartFix(cliName,reason){return{kind:"run",id:"daemon-restart",label:t(`doctor.fix.${reason}`),command:[cliName,"daemon","restart"],why:t("doctor.fix.daemonRestartWhy")}}function skillInstallFix(installCommand,stale){return{kind:"run",id:"skill-install",label:t(stale?"doctor.fix.skillStale":"doctor.fix.skillMissing"),command:installCommand.split(" "),why:t("doctor.fix.skillInstallWhy")}}function resetManualFix(cliName,reason){return{kind:"manual",id:`reset:${reason}`,label:t(`doctor.fix.${reason}`),action:`${cliName} reset`,why:t("doctor.fix.resetWhy")}}function killOrphansManualFix(cliName,count){return{kind:"manual",id:"kill-orphans",label:t("doctor.fix.orphans",{count}),action:`${cliName} doctor --kill-orphans`,why:t("doctor.fix.orphansWhy")}}function engineTabsManualFix(){return{kind:"manual",id:"engine-tabs",label:t("doctor.fix.engineTabs"),action:t("doctor.fix.engineTabsAction"),why:t("doctor.fix.engineTabsWhy")}}function reinstallManualFix(){return{kind:"manual",id:"reinstall",label:t("doctor.fix.staleInstall"),action:t("doctor.fix.staleInstallAction"),why:t("doctor.fix.staleInstallWhy")}}function spawnHelperFix(paths){return{kind:"run",id:"spawn-helper-chmod",label:t("doctor.fix.spawnHelper"),command:["chmod","755",...paths],why:t("doctor.fix.spawnHelperWhy")}}function humanOnlyFix(reason,vars){return{kind:"manual",id:reason,label:t(`doctor.fix.${reason}`),action:t(`doctor.fix.${reason}Action`,vars),why:t("doctor.fix.humanOnlyWhy")}}function noEngineFix(signedOut){return signedOut.length>0?humanOnlyFix("noEngineLogin",{list:signedOut.join(", ")}):humanOnlyFix("noEngine")}function noEngineAction(signedOut){return signedOut.length>0?t("doctor.fix.noEngineLoginAction",{list:signedOut.join(", ")}):t("doctor.fix.noEngineAction")}function dedupeFixes(fixes){let seen=new Set;return fixes.filter((fix)=>{if(seen.has(fix.id))return!1;return seen.add(fix.id),!0})}async function applyFixes(collected,rt){let fixes=dedupeFixes(collected);if(fixes.length===0){rt.out(""),rt.out(t("doctor.fix.none"));return}let runnable=fixes.filter((fix)=>fix.kind==="run");if(runnable.length>0){rt.out(""),rt.out(t("doctor.fix.header"));for(let fix of runnable){if(rt.out(` ${fix.label}`),rt.out(` ${t("doctor.fix.willRun",{command:fix.command.join(" ")})}`),rt.out(` ${fix.why}`),!rt.interactive)continue;if(!await rt.confirm(` ${t("doctor.fix.confirmPrompt")}`)){rt.out(` ${t("doctor.fix.skipped")}`);continue}let code=await rt.exec(fix.command);rt.out(code===0?` ${t("doctor.fix.done")}`:` ${t("doctor.fix.failed",{code})}`)}if(!rt.interactive)rt.out(` ${t("doctor.fix.nonInteractive")}`)}let manual=fixes.filter((fix)=>fix.kind==="manual");if(manual.length>0){rt.out(""),rt.out(t("doctor.fix.manualHeader"));for(let fix of manual)rt.out(` ${fix.label}`),rt.out(` \u2192 ${fix.action}`),rt.out(` ${fix.why}`)}}async function confirmTty(question){let readline=createInterface({input:process.stdin,output:process.stdout});try{let answer=await new Promise((resolve)=>readline.question(question,resolve));return answer.trim().toLowerCase()==="y"||answer.trim().toLowerCase()==="yes"}finally{readline.close()}}async function execInherited(command){try{return await Bun.spawn([...command],{stdin:"inherit",stdout:"inherit",stderr:"inherit"}).exited}catch{return 127}}function defaultFixRuntime(){return{confirm:confirmTty,exec:execInherited,out:(line)=>console.log(line),interactive:process.stdin.isTTY===!0}}async function probeGit(){try{let proc=Bun.spawn(["git","--version"],{stdin:"ignore",stdout:"pipe",stderr:"ignore"}),text=(await new Response(proc.stdout).text()).trim();if(await proc.exited===0&&text)return{line:`git: \u2713 ${text}`,found:!0}}catch{}return{line:"git: \u2717 not found on PATH",found:!1}}function binaryLabel(binary){return binary.found?`\u2713 ${binary.path}`:`\u2717 ${binary.error}`}async function probeEngines(){let statuses=await detectEngineStatuses(await probeableEngineIds()),lines=["engines:"];for(let status of statuses){let account=describeAccount(status.account),name=`${status.vendor.padEnd(7)} `;if(lines.push(` ${name}${binaryLabel(status.binary)}${status.binary.found?` \u2014 ${account}`:""}`),status.accountError)lines.push(` \u26A0 ${status.accountError}`)}let{usable,signedOut}=summarizeEngines(statuses);return{lines,anyUsable:usable.length>0,signedOut}}async function checkOnboardingEnv(){let[git,engines]=await Promise.all([probeGit(),probeEngines()]);return{git,engines}}
3
3
  export{daemonRestartFix,skillInstallFix,resetManualFix,killOrphansManualFix,engineTabsManualFix,reinstallManualFix,spawnHelperFix,humanOnlyFix,noEngineFix,noEngineAction,applyFixes,defaultFixRuntime,probeGit,probeEngines,checkOnboardingEnv};