@sma1lboy/rove 0.9.176 → 0.9.178
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-nbqetnzt.js → chunk-0s7e3cnc.js} +2 -2
- package/dist/cli/chunk-1b0cmce4.js +2 -0
- package/dist/cli/{chunk-32xxbweh.js → chunk-1mrjn8dj.js} +1 -1
- package/dist/cli/{chunk-sxpwjce6.js → chunk-1nta5wc3.js} +7 -7
- package/dist/cli/{chunk-s73wg3kw.js → chunk-2ze11xhe.js} +1 -1
- package/dist/cli/{chunk-fyvef32b.js → chunk-3dexjt11.js} +1 -1
- package/dist/cli/chunk-534se0f6.js +4 -0
- package/dist/cli/chunk-55qxr553.js +2 -0
- package/dist/cli/{chunk-c8qp0sy8.js → chunk-5msatcjn.js} +1 -1
- package/dist/cli/{chunk-z4zqbpnr.js → chunk-5rztnh8g.js} +1 -1
- package/dist/cli/{chunk-v7mrhwk1.js → chunk-5zh5fcpe.js} +1 -1
- package/dist/cli/chunk-63wmhbqs.js +3 -0
- package/dist/cli/chunk-6btgvytm.js +2 -0
- package/dist/cli/{chunk-fg1k7p5r.js → chunk-6p1qv979.js} +1 -1
- package/dist/cli/{chunk-8v58vj5w.js → chunk-753gvvhj.js} +1 -1
- package/dist/cli/{chunk-14gcp2af.js → chunk-80hf0bbr.js} +9 -9
- package/dist/cli/chunk-81p6mm0p.js +3 -0
- package/dist/cli/chunk-8npdrpq2.js +4 -0
- package/dist/cli/{chunk-6zre8p23.js → chunk-8zn7pdc2.js} +1 -1
- package/dist/cli/{chunk-vwjzw4e5.js → chunk-92d2t5sk.js} +1 -1
- package/dist/cli/{chunk-0xqpzy2b.js → chunk-95f55p39.js} +1 -1
- package/dist/cli/{chunk-edz3rt42.js → chunk-9sa6vtp0.js} +1 -1
- package/dist/cli/{chunk-jfg12mxf.js → chunk-9vgmrf5t.js} +1 -1
- package/dist/cli/chunk-a66g3dea.js +2 -0
- package/dist/cli/{chunk-b6aadyde.js → chunk-ajtxh7kg.js} +1 -1
- package/dist/cli/{chunk-p1x376mx.js → chunk-ax8t5m5s.js} +1 -1
- package/dist/cli/{chunk-w6z05g8a.js → chunk-b5mbpv97.js} +1 -1
- package/dist/cli/chunk-b8wqsg37.js +2 -0
- package/dist/cli/chunk-ba4c8qjw.js +2 -0
- package/dist/cli/{chunk-w469vwsm.js → chunk-bkm7vxr5.js} +1 -1
- package/dist/cli/{chunk-7rpm6k3k.js → chunk-br6dggaa.js} +1 -1
- package/dist/cli/{chunk-x8h7b96n.js → chunk-by1wyk0p.js} +1 -1
- package/dist/cli/chunk-ccwc3h8y.js +2 -0
- package/dist/cli/chunk-cr5vmwmj.js +3 -0
- package/dist/cli/chunk-cv6zwad5.js +2 -0
- package/dist/cli/{chunk-st3x0ehf.js → chunk-ea9t4hh5.js} +4 -4
- package/dist/cli/{chunk-q3m9dzxf.js → chunk-earr7hwp.js} +1 -1
- package/dist/cli/chunk-ejqs2ta9.js +3 -0
- package/dist/cli/{chunk-6yhtfs6j.js → chunk-emkfynn5.js} +1 -1
- package/dist/cli/{chunk-yw4cj66m.js → chunk-esgxxnwn.js} +1 -1
- package/dist/cli/chunk-f10n6063.js +3 -0
- package/dist/cli/{chunk-eqfprq4t.js → chunk-fbc5d1fq.js} +1 -1
- package/dist/cli/chunk-fczqwtmq.js +3 -0
- package/dist/cli/{chunk-js6nktck.js → chunk-fne9vb02.js} +1 -1
- package/dist/cli/{chunk-95ymwsma.js → chunk-fx0gh17g.js} +1 -1
- package/dist/cli/chunk-g7baby60.js +3 -0
- package/dist/cli/chunk-garjd34w.js +2 -0
- package/dist/cli/chunk-gkdy1skt.js +2 -0
- package/dist/cli/chunk-hcsfp7z7.js +2 -0
- package/dist/cli/{chunk-jywrajew.js → chunk-hfpmeck1.js} +1 -1
- package/dist/cli/chunk-hkzx3t2h.js +3 -0
- package/dist/cli/chunk-hses07jj.js +8 -0
- package/dist/cli/{chunk-f5qab80g.js → chunk-hsggj5yh.js} +3 -3
- package/dist/cli/{chunk-7an5n9mk.js → chunk-hxgkx142.js} +1 -1
- package/dist/cli/{chunk-592kjpyz.js → chunk-jg61s3ce.js} +1 -1
- package/dist/cli/chunk-khsq49yp.js +2 -0
- package/dist/cli/{chunk-4g18ynjm.js → chunk-km4hx6kc.js} +1 -1
- package/dist/cli/{chunk-vkzy1j14.js → chunk-kxarx5r4.js} +2 -2
- package/dist/cli/{chunk-ct2tf2t9.js → chunk-kyr0cyq1.js} +1 -1
- package/dist/cli/chunk-n2r1ngzj.js +2 -0
- package/dist/cli/chunk-ndtbxgyp.js +2 -0
- package/dist/cli/{chunk-sc1jq2zy.js → chunk-p6rbbgct.js} +2 -2
- package/dist/cli/chunk-pbrpzt04.js +2 -0
- package/dist/cli/{chunk-9v1sa0t2.js → chunk-pcrv3eyw.js} +2 -2
- package/dist/cli/{chunk-64tw0fqp.js → chunk-pn96m962.js} +1 -1
- package/dist/cli/{chunk-kes8k7gd.js → chunk-q797ryhf.js} +1 -1
- package/dist/cli/{chunk-x23p7asn.js → chunk-q8h41zg7.js} +1 -1
- package/dist/cli/{chunk-hz25s1jj.js → chunk-qcb0mkzz.js} +1 -1
- package/dist/cli/chunk-re5ke4fz.js +4 -0
- package/dist/cli/chunk-rwsh6m4e.js +8 -0
- package/dist/cli/{chunk-k1k62hh8.js → chunk-s72y2s88.js} +1 -1
- package/dist/cli/{chunk-acmzdf15.js → chunk-tzy85y5k.js} +1 -1
- package/dist/cli/chunk-wdzhfbye.js +2 -0
- package/dist/cli/{chunk-wn8zhs65.js → chunk-wqyq6481.js} +1 -1
- package/dist/cli/{chunk-26ta488k.js → chunk-wvq6kgcp.js} +2 -2
- package/dist/cli/{chunk-dsnph7ht.js → chunk-xr30vfgt.js} +1 -1
- package/dist/cli/chunk-xrqaqj84.js +2 -0
- package/dist/cli/{chunk-zqxynd2e.js → chunk-y13681dw.js} +1 -1
- package/dist/cli/chunk-ydhngxy3.js +2 -0
- package/dist/cli/chunk-yvmz8cts.js +4 -0
- package/dist/cli/{chunk-61xhnc6p.js → chunk-z5x3cd7j.js} +2 -2
- package/dist/cli/index.js +7 -7
- package/dist/cli/kobe.js +1 -1
- package/dist/cli/rove.js +1 -1
- package/package.json +1 -1
- package/dist/cli/chunk-01s8k0kg.js +0 -2
- package/dist/cli/chunk-1452mw6e.js +0 -2
- package/dist/cli/chunk-1anv5sx4.js +0 -2
- package/dist/cli/chunk-1vt2mxv0.js +0 -2
- package/dist/cli/chunk-2fw5yz69.js +0 -4
- package/dist/cli/chunk-5rsttrmg.js +0 -2
- package/dist/cli/chunk-6ssj0adp.js +0 -3
- package/dist/cli/chunk-71wagt0n.js +0 -2
- package/dist/cli/chunk-72n17wac.js +0 -2
- package/dist/cli/chunk-7ezddcvf.js +0 -2
- package/dist/cli/chunk-8002w78e.js +0 -2
- package/dist/cli/chunk-97hd11fg.js +0 -8
- package/dist/cli/chunk-fysbm6gg.js +0 -2
- package/dist/cli/chunk-g35aq0ka.js +0 -2
- package/dist/cli/chunk-hrrv8y83.js +0 -3
- package/dist/cli/chunk-jk7gega5.js +0 -2
- package/dist/cli/chunk-kwbkdfvb.js +0 -3
- package/dist/cli/chunk-m8f8gv2w.js +0 -2
- package/dist/cli/chunk-ndm62s2f.js +0 -3
- package/dist/cli/chunk-nk21m1v0.js +0 -4
- package/dist/cli/chunk-p4yf9ym8.js +0 -3
- package/dist/cli/chunk-q16da5py.js +0 -2
- package/dist/cli/chunk-qhkag7ad.js +0 -3
- package/dist/cli/chunk-qqxw72nh.js +0 -8
- package/dist/cli/chunk-snydvexr.js +0 -2
- package/dist/cli/chunk-vra4m3zy.js +0 -4
- package/dist/cli/chunk-vrx73eyf.js +0 -4
- package/dist/cli/chunk-xzargt6y.js +0 -2
- package/dist/cli/chunk-ygtkanm0.js +0 -3
- package/dist/cli/chunk-z0ds727b.js +0 -2
- package/dist/cli/chunk-zwkedme6.js +0 -2
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{PsProbeUnavailableError,serializeProcRows}from"./chunk-pxk2c2vj.js";import"./chunk-wqfp8d9w.js";import{existsSync}from"fs";import{createRequire}from"module";import{dirname,join}from"path";var WIN_PROCESS_LIST_COMMAND=`[Console]::OutputEncoding=[System.Text.Encoding]::UTF8; Get-CimInstance -ClassName Win32_Process -Property ProcessId,ParentProcessId,CommandLine,Name | ForEach-Object { $c = $_.CommandLine; if (-not $c) { $c = $_.Name }; "$($_.ProcessId) $($_.ParentProcessId) $($c -replace '[\\r\\n\\t]+', ' ')" }`;function winBasename(path){let parts=path.split(/[\\/]+/);return parts[parts.length-1]||path}function normalizeWindowsArgs(commandLine){let line=commandLine.trim();if(!line)return"";if(line.startsWith('"')){let end=line.indexOf('"',1);if(end===-1)return winBasename(line.slice(1));return`${winBasename(line.slice(1,end))}${line.slice(end+1)}`}let space=line.search(/\s/);if(space===-1)return winBasename(line);return`${winBasename(line.slice(0,space))}${line.slice(space)}`}function parseWinProcessList(text){let rows=[];for(let line of text.split(`
|
|
3
|
-
`)){let m=/^\s*(\d+)\s+(\d+)\s+(\S.*?)\s*$/.exec(line);if(m)rows.push({pid:Number(m[1]),ppid:Number(m[2]),args:normalizeWindowsArgs(m[3])})}return rows}function repairConsoleParentage(rows,cohorts){let byPid=new Map(rows.map((r)=>[r.pid,r])),reparent=new Map;for(let[anchor,members]of cohorts){if(!members||!byPid.has(anchor))continue;let cohort=new Set(members.filter((pid)=>byPid.has(pid)));for(let pid of cohort){if(pid===anchor||reparent.has(pid))continue;let row=byPid.get(pid);if(!row||cohort.has(row.ppid))continue;reparent.set(pid,anchor)}}if(reparent.size===0)return[...rows];return rows.map((row)=>{let ppid=reparent.get(row.pid);return ppid===void 0||ppid===row.ppid?row:{...row,ppid}})}function powershellPath(){let root=process.env.SystemRoot||process.env.windir||"C:\\Windows",absolute=join(root,"System32","WindowsPowerShell","v1.0","powershell.exe");return existsSync(absolute)?absolute:"powershell.exe"}var WIN_PROBE_TIMEOUT_MS=1e4;async function capture(cmd,what,deadline){let remaining=deadline-Date.now();if(remaining<=0)throw new PsProbeUnavailableError(`${what} had no time left in the probe budget`);let proc=Bun.spawn(cmd,{stdout:"pipe",stderr:"pipe"}),timedOut=!1,timer=setTimeout(()=>{timedOut=!0;try{proc.kill()}catch{}},remaining);try{let[out,err,code]=await Promise.all([new Response(proc.stdout).text(),new Response(proc.stderr).text(),proc.exited]);if(timedOut)throw new PsProbeUnavailableError(`${what} did not answer within ${remaining}ms`);if(code!==0)throw new PsProbeUnavailableError(`${what} exited ${code}: ${err.trim().slice(0,200)||"no output"}`);return out}catch(err){if(err instanceof PsProbeUnavailableError)throw err;throw new PsProbeUnavailableError(`${what} failed: ${err instanceof Error?err.message:String(err)}`)}finally{clearTimeout(timer)}}function consoleListAddonPath(){let pkg;try{pkg=dirname(createRequire(import.meta.url).resolve("node-pty/package.json"))}catch(err){throw new PsProbeUnavailableError(`node-pty is not resolvable: ${err instanceof Error?err.message:String(err)}`)}let found=[join(pkg,"prebuilds",`${process.platform}-${process.arch}`,"conpty_console_list.node"),join(pkg,"build","Release","conpty_console_list.node"),join(pkg,"build","Debug","conpty_console_list.node")].find((c)=>existsSync(c));if(!found)throw new PsProbeUnavailableError(`node-pty ships no conpty_console_list addon for ${process.arch}`);return found}function agentScript(addon,anchors){return`const native = require(${JSON.stringify(addon)})
|
|
4
|
-
const lists = {}
|
|
5
|
-
for (const pid of ${JSON.stringify([...anchors])}) {
|
|
6
|
-
try { lists[pid] = Array.from(native.getConsoleProcessList(pid)) } catch { lists[pid] = null }
|
|
7
|
-
}
|
|
8
|
-
process.stdout.write(JSON.stringify({ self: process.pid, lists }))`}function parseCohorts(json,anchors){let parsed=JSON.parse(json),self=typeof parsed.self==="number"?parsed.self:-1,out=new Map;for(let anchor of anchors){let list=parsed.lists?.[String(anchor)];out.set(anchor,Array.isArray(list)?list.filter((pid)=>pid>0&&pid!==self):null)}return out}function defaultWinProcessProbe(budgetMs=WIN_PROBE_TIMEOUT_MS){let deadline=Date.now()+budgetMs;return{processList:()=>capture([powershellPath(),"-NoProfile","-NonInteractive","-NoLogo","-Command",WIN_PROCESS_LIST_COMMAND],"Get-CimInstance Win32_Process",deadline),consoleCohorts:async(anchors)=>{let script=agentScript(consoleListAddonPath(),anchors),json=await capture([process.execPath,"-e",script],"console process list",deadline);return parseCohorts(json,anchors)}}}async function winProcessSnapshot(anchors,probe){let rows=parseWinProcessList(await probe.processList());if(rows.length===0)throw new PsProbeUnavailableError("Win32_Process returned no rows");if(anchors.length===0)return serializeProcRows(rows);return serializeProcRows(repairConsoleParentage(rows,await probe.consoleCohorts(anchors)))}export{winProcessSnapshot,repairConsoleParentage,parseWinProcessList,normalizeWindowsArgs,defaultWinProcessProbe,WIN_PROCESS_LIST_COMMAND,WIN_PROBE_TIMEOUT_MS};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{releaseBodyLines,runShellUpdater}from"./chunk-32xxbweh.js";import{$jsx,$jsxs,bootPaneHost,pageCloseBindings,require_react_production,useBindings,useRenderer,useT,useTheme}from"./chunk-x23p7asn.js";import"./chunk-764bsyb0.js";import"./chunk-64tw0fqp.js";import"./chunk-xqw5d5rv.js";import"./chunk-h4n8ffqy.js";import"./chunk-6xppe9bj.js";import"./chunk-ygtkanm0.js";import{BREAKING_VERSIONS,CURRENT_VERSION,UPDATE_COMMAND,breakingVersionsCrossed,fetchReleaseNotes,fetchReleaseSummaries}from"./chunk-p1x376mx.js";import"./chunk-6tvs0r4z.js";import"./chunk-z7c6nap0.js";import"./chunk-fa7s3d1e.js";import"./chunk-dazqahfp.js";import"./chunk-sdyzxayr.js";import"./chunk-b99tf0jr.js";import"./chunk-eqfprq4t.js";import"./chunk-zqxynd2e.js";import"./chunk-w6z05g8a.js";import"./chunk-vrx73eyf.js";import"./chunk-mnqxgvyb.js";import"./chunk-xy8be792.js";import"./chunk-3jh78dmc.js";import"./chunk-ddcxvbme.js";import"./chunk-2brn8e1y.js";import"./chunk-q5jhy3t8.js";import"./chunk-t915by6w.js";import"./chunk-9prawccj.js";import"./chunk-sb0ns0c7.js";import"./chunk-0q6h4vt4.js";import"./chunk-pw6yfj10.js";import"./chunk-8cjr5ypt.js";import"./chunk-hq4b3fca.js";import{__toESM}from"./chunk-wqfp8d9w.js";import{TextAttributes}from"@opentui/core";var import_react2=__toESM(require_react_production(),1);var RELEASE_LIMIT=20;function VersionsPage(props){let{theme}=useTheme(),t=useT(),renderer=useRenderer(),[releases,setReleases]=import_react2.useState(null),[cursor,setCursor]=import_react2.useState(0),[notes,setNotes]=import_react2.useState({}),[status,setStatus]=import_react2.useState(null),selected=releases?.[cursor],crossings=selected?breakingVersionsCrossed(CURRENT_VERSION,selected.version):[];import_react2.useEffect(()=>{fetchReleaseSummaries(RELEASE_LIMIT).then((fetched)=>setReleases(fetched))},[]);let selectedVersion=selected?.version;import_react2.useEffect(()=>{if(selectedVersion===void 0||notes[selectedVersion]!==void 0)return;setNotes((cache)=>({...cache,[selectedVersion]:"loading"})),fetchReleaseNotes(selectedVersion).then((fetched)=>{setNotes((cache)=>({...cache,[selectedVersion]:fetched??"missing"}))})},[selectedVersion,notes]);function move(delta){let count=releases?.length??0;if(count===0)return;setCursor((index)=>(index+delta+count)%count)}async function installSelected(){if(!selected)return;setStatus(t("update.statusRunningUpdater")),await new Promise((resolve)=>setTimeout(resolve,30)),await runShellUpdater({renderer,t,targetLabel:selected.version,command:`${UPDATE_COMMAND} -s -- ${selected.version}`})}useBindings(()=>({bindings:[{key:"up",cmd:()=>move(-1)},{key:"down",cmd:()=>move(1)},{key:"k",cmd:()=>move(-1)},{key:"j",cmd:()=>move(1)},{key:"return",cmd:()=>void installSelected()},{key:"u",cmd:()=>void installSelected()},...pageCloseBindings(props.onClose)]}));let selectedNotes=selectedVersion===void 0?void 0:notes[selectedVersion];return $jsxs("box",{flexDirection:"column",flexGrow:1,paddingTop:1,paddingLeft:2,paddingRight:2,children:[$jsxs("box",{flexDirection:"row",justifyContent:"space-between",flexShrink:0,children:[$jsx("text",{fg:theme.text,attributes:TextAttributes.BOLD,wrapMode:"none",children:t("update.versions.pageTitle")}),$jsx("text",{fg:theme.textMuted,wrapMode:"none",onMouseUp:props.onClose,children:t("update.versions.closeHint")})]}),$jsxs("box",{flexDirection:"row",flexGrow:1,paddingTop:1,gap:2,children:[$jsxs("box",{flexDirection:"column",width:26,flexShrink:0,children:[releases===null?$jsx("text",{fg:theme.textMuted,children:t("update.versions.loading")}):null,releases!==null&&releases.length===0?$jsx("text",{fg:theme.textMuted,wrapMode:"word",children:t("update.versions.unavailable")}):null,(releases??[]).map((release,index)=>{let active=index===cursor,tags=[release.version===CURRENT_VERSION?t("update.versions.tagCurrent"):"",index===0?t("update.versions.tagLatest"):"",BREAKING_VERSIONS.includes(release.version)?t("update.versions.tagBreaking"):""].filter(Boolean).join(" ");return $jsxs("box",{flexDirection:"row",gap:1,paddingLeft:1,backgroundColor:active?theme.primary:void 0,onMouseUp:()=>setCursor(index),children:[$jsxs("text",{fg:active?theme.selectedListItemText:theme.text,attributes:release.version===CURRENT_VERSION?TextAttributes.BOLD:void 0,wrapMode:"none",children:["v",release.version]}),tags?$jsx("text",{fg:active?theme.selectedListItemText:theme.textMuted,wrapMode:"none",children:tags}):null]},release.version)})]}),$jsxs("box",{flexDirection:"column",flexGrow:1,flexShrink:1,children:[$jsx("scrollbox",{flexGrow:1,flexShrink:1,stickyScroll:!1,verticalScrollbarOptions:{trackOptions:{foregroundColor:"transparent"}},children:$jsxs("box",{flexDirection:"column",paddingRight:1,paddingBottom:1,gap:0,children:[selectedNotes==="loading"?$jsx("text",{fg:theme.textMuted,children:t("update.loadingNotes")}):null,selectedNotes==="missing"?$jsx("text",{fg:theme.textMuted,wrapMode:"word",children:t("update.notesUnavailable")}):null,selectedNotes!==void 0&&selectedNotes!=="loading"&&selectedNotes!=="missing"?releaseBodyLines(selectedNotes.body).map((line,i)=>$jsx("text",{fg:theme.textMuted,wrapMode:"word",children:line},`${i}:${line}`)):null]})}),crossings.length>0?$jsx("text",{fg:theme.warning,wrapMode:"word",children:t("update.versions.breakingWarning",{versions:crossings.join(", ")})}):null]})]}),status?$jsx("text",{fg:theme.info,wrapMode:"word",children:status}):null,$jsx("box",{flexShrink:0,paddingTop:1,children:$jsx("text",{fg:theme.textMuted,attributes:TextAttributes.DIM,wrapMode:"none",children:t("update.versions.footerHint")})})]})}var INLINE_ROWS=24;async function startVersionsHost(){await bootPaneHost({inlineRows:INLINE_ROWS,setup:()=>({root:()=>$jsx(VersionsPage,{onClose:()=>process.exit(0)})})})}export{startVersionsHost};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{installedSkillDirs}from"./chunk-26ta488k.js";import{CLAUDE_HOOK_EVENT_MAP,claudeSettingsPath,hasKobeActivityHooks,isObject}from"./chunk-v61s3fps.js";import"./chunk-7jkf3tvr.js";import"./chunk-2fypr41w.js";import"./chunk-r9gfh1zz.js";import"./chunk-xy8be792.js";import"./chunk-p4yf9ym8.js";import"./chunk-3jh78dmc.js";import"./chunk-ddcxvbme.js";import"./chunk-bq3fyc0p.js";import"./chunk-ndm62s2f.js";import"./chunk-q5jhy3t8.js";import"./chunk-t915by6w.js";import"./chunk-9prawccj.js";import"./chunk-00ehck55.js";import"./chunk-fxs82dsx.js";import"./chunk-sb0ns0c7.js";import"./chunk-0q6h4vt4.js";import"./chunk-pw6yfj10.js";import"./chunk-8cjr5ypt.js";import"./chunk-hq4b3fca.js";import"./chunk-wqfp8d9w.js";import{readFileSync}from"fs";import{homedir}from"os";var PLUGIN_NAME="rove";function readSettings(path){try{let parsed=JSON.parse(readFileSync(path,"utf8"));return isObject(parsed)?parsed:null}catch{return null}}function isRovePluginEnabled(settingsFilePath=claudeSettingsPath()){let settings=readSettings(settingsFilePath);if(!settings||!isObject(settings.enabledPlugins))return!1;return Object.entries(settings.enabledPlugins).some(([key,on])=>on===!0&&key.split("@")[0]===PLUGIN_NAME)}function detectLegacyInstalls(opts={}){let settingsFilePath=opts.settingsFilePath??claudeSettingsPath(),home=opts.home??homedir(),settings=readSettings(settingsFilePath),legacyHooks=settings!==null&&(hasKobeActivityHooks(settings,CLAUDE_HOOK_EVENT_MAP)||settingsHasWorktreeWatch(settings)),legacySkillDirs=installedSkillDirs(home);return{legacyHooks,legacySkillDirs}}function settingsHasWorktreeWatch(settings){let hooks=isObject(settings.hooks)?settings.hooks:{};return Object.values(hooks).some((groups)=>Array.isArray(groups)&&groups.some((g)=>isObject(g)&&Array.isArray(g.hooks)&&g.hooks.some((h)=>isObject(h)&&typeof h.command==="string"&&h.command.includes("worktree-created")&&!h.command.includes("CLAUDE_PLUGIN_ROOT"))))}function migrationHint(findings,cliName){if(!findings.legacyHooks&&findings.legacySkillDirs.length===0)return null;let lines=[`${cliName}: the Rove Claude Code plugin is enabled, but legacy installs remain:`];if(findings.legacyHooks)lines.push(" \u2022 ~/.claude/settings.json still has the settings-managed Rove hooks (every event fires TWICE).",` Run \`${cliName} hook cleanup\` to remove them (only Rove's own entries are touched).`);for(let dir of findings.legacySkillDirs)lines.push(` \u2022 legacy skill copy at ${dir} (the plugin bundles the skill \u2014 two copies double-register).`," Remove that directory to keep the plugin's copy only.");return lines.push(" Reading this inside a session? Just ask your agent to run the cleanup for you."),`${lines.join(`
|
|
3
|
-
`)}
|
|
4
|
-
`}export{migrationHint,isRovePluginEnabled,detectLegacyInstalls};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{DAEMON_CHANNELS}from"./chunk-mnqxgvyb.js";var DAEMON_PROTOCOL_VERSION=5,MIN_COMPATIBLE_PROTOCOL_VERSION=2;function isProtocolCompatible(args){return args.remoteVersion>=args.localMin&&args.localVersion>=args.remoteMin}function isDaemonVersionStale(daemonVersion,clientVersion){if(!daemonVersion)return!1;return daemonVersion!==clientVersion}function isForeignDaemonHome(daemonHome,clientHome){if(!daemonHome)return!1;let strip=(value)=>value.replace(/[/\\]+$/,"");return strip(daemonHome)!==strip(clientHome)}function automationRunNeedsAttention(status){return status==="dispatch_failed"||status==="skipped_unavailable"}var ATTENTION_INBOX_STATES=["turn_complete","permission_needed","error","rate_limited","dead","routine_failed"];function isAttentionInboxState(value){return typeof value==="string"&&ATTENTION_INBOX_STATES.includes(value)}function attentionInboxItemKey(item){if(item.state==="routine_failed"&&item.detail?.routine)return`\x00routine\x00${item.detail.routine.automationId}`;return`${item.taskId}\x00${item.tabId??""}`}var CHANNEL_NAMES=DAEMON_CHANNELS;var CHANNEL_NAME_SET=new Set(CHANNEL_NAMES);function isChannelName(value){return typeof value==="string"&&CHANNEL_NAME_SET.has(value)}function normalizeChannelFilter(value){if(!Array.isArray(value))return null;let set=new Set;for(let name of value)if(isChannelName(name))set.add(name);return set.size>0?set:null}var BLOCKING_RPCS=new Set(["ui.prompt","task.land","workitem.start","automation.runNow","task.ensureWorktree","task.ensureMain","worktree.discoverAdoptable","worktree.adopt","worktree.list","worktree.remove"]);function parseDaemonStopReason(value){return value==="restart"||value==="stop"||value==="idle"||value==="socket-lost"?value:void 0}function displayTaskTitle(task){return task.title||task.branch||task.worktreePath||task.repo||"scratch"}function serializeTask(task){return{id:task.id,title:displayTaskTitle(task),repo:task.repo,branch:task.branch,worktreePath:task.worktreePath,kind:task.kind??"task",...task.scratch?{scratch:!0}:{},...task.routine?{routine:task.routine}:{},status:task.status,pinned:task.pinned??!1,vendor:task.vendor,command:task.command,prStatus:task.prStatus,modelEffort:task.modelEffort,groupId:task.groupId,observedLanguage:task.observedLanguage,deletion:task.deletion,quotaResume:task.quotaResume,linkedWorkItem:task.linkedWorkItem,dispatcher:task.dispatcher,prompt:task.prompt,baseRef:task.baseRef,worktreeName:task.worktreeName,report:task.report,createdAt:task.createdAt,updatedAt:task.updatedAt}}function frameToLine(frame){return`${JSON.stringify(frame)}
|
|
3
|
-
`}
|
|
4
|
-
export{automationRunNeedsAttention,isAttentionInboxState,attentionInboxItemKey,CHANNEL_NAMES,normalizeChannelFilter,DAEMON_PROTOCOL_VERSION,MIN_COMPATIBLE_PROTOCOL_VERSION,isProtocolCompatible,isDaemonVersionStale,isForeignDaemonHome,BLOCKING_RPCS,parseDaemonStopReason,displayTaskTitle,serializeTask,frameToLine};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{Orchestrator}from"./chunk-nk21m1v0.js";import"./chunk-jywrajew.js";import"./chunk-2kb4z64z.js";import"./chunk-yw4cj66m.js";import"./chunk-w469vwsm.js";import{PLACEHOLDER_TASK_TITLE}from"./chunk-xb9b93ts.js";import"./chunk-hrrv8y83.js";import"./chunk-qhkag7ad.js";import"./chunk-6xppe9bj.js";import"./chunk-592kjpyz.js";import"./chunk-bkba9c4n.js";import"./chunk-g2advs8t.js";import"./chunk-hape5vwj.js";import"./chunk-sdyzxayr.js";import"./chunk-khj0apc7.js";import"./chunk-2fypr41w.js";import"./chunk-xy8be792.js";import"./chunk-p4yf9ym8.js";import"./chunk-3jh78dmc.js";import"./chunk-ddcxvbme.js";import"./chunk-2brn8e1y.js";import"./chunk-bq3fyc0p.js";import"./chunk-ndm62s2f.js";import"./chunk-q5jhy3t8.js";import"./chunk-t915by6w.js";import"./chunk-9prawccj.js";import"./chunk-sb0ns0c7.js";import"./chunk-8cjr5ypt.js";import"./chunk-hq4b3fca.js";import"./chunk-wqfp8d9w.js";export{PLACEHOLDER_TASK_TITLE,Orchestrator};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{homeDir}from"./chunk-q5jhy3t8.js";import{homedir as osHomedir}from"os";import{join}from"path";function tildify(path,home=osHomedir()){return home&&(path===home||path.startsWith(`${home}/`))?`~${path.slice(home.length)}`:path}function expandTilde(path){if(path==="~")return homeDir();if(path.startsWith("~/"))return join(homeDir(),path.slice(2));return path}
|
|
3
|
-
export{tildify,expandTilde};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{addRemoteRepo,addSavedRepo,backfillSavedReposFromProjects,getCustomEngineIds,getDisabledEngineIds,getPersistedString,getRemoteRepoConfig,getRemoteRepos,getRepoInitOverride,getSavedRepos,isGitRepo,isRemoteProjectsEnabled,isRemoteRepoKey,isValidBranchName,normalizeSavedRepos,remoteRepoKey,removeSavedRepo,resolveMainRepoRoot,resolveRepoRoot,setPersistedString,setRepoInitOverride,statePath}from"./chunk-p4yf9ym8.js";import"./chunk-3jh78dmc.js";import"./chunk-ddcxvbme.js";import"./chunk-ndm62s2f.js";import"./chunk-q5jhy3t8.js";import"./chunk-t915by6w.js";import"./chunk-9prawccj.js";import"./chunk-sb0ns0c7.js";import"./chunk-8cjr5ypt.js";import"./chunk-hq4b3fca.js";import"./chunk-wqfp8d9w.js";export{statePath,setRepoInitOverride,setPersistedString,resolveRepoRoot,resolveMainRepoRoot,removeSavedRepo,remoteRepoKey,normalizeSavedRepos,isValidBranchName,isRemoteRepoKey,isRemoteProjectsEnabled,isGitRepo,getSavedRepos,getRepoInitOverride,getRemoteRepos,getRemoteRepoConfig,getPersistedString,getDisabledEngineIds,getCustomEngineIds,backfillSavedReposFromProjects,addSavedRepo,addRemoteRepo};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
// @bun
|
|
2
|
-
import{openDaemonSession,resolveActiveTaskId}from"./chunk-b6aadyde.js";import"./chunk-eqfprq4t.js";import"./chunk-zqxynd2e.js";import"./chunk-w6z05g8a.js";import"./chunk-vrx73eyf.js";import"./chunk-mnqxgvyb.js";import"./chunk-t915by6w.js";import"./chunk-9prawccj.js";import"./chunk-0q6h4vt4.js";import"./chunk-pw6yfj10.js";import"./chunk-8cjr5ypt.js";import"./chunk-hq4b3fca.js";import"./chunk-wqfp8d9w.js";export{resolveActiveTaskId,openDaemonSession};
|