@sma1lboy/rove 0.9.251 → 0.9.253
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-9v568ape.js → chunk-02h0488p.js} +1 -1
- package/dist/cli/{chunk-r0etyq15.js → chunk-08ycv55d.js} +1 -1
- package/dist/cli/{chunk-mdnrrj16.js → chunk-0x7zcw52.js} +1 -1
- package/dist/cli/{chunk-gaf6n1ea.js → chunk-19h18xca.js} +1 -1
- package/dist/cli/{chunk-84bmcqyz.js → chunk-1mpheecn.js} +1 -1
- package/dist/cli/chunk-1qge84t7.js +3 -0
- package/dist/cli/{chunk-md094j05.js → chunk-278sc87n.js} +1 -1
- package/dist/cli/{chunk-jfnr89qj.js → chunk-2bmebw8q.js} +2 -2
- package/dist/cli/{chunk-ncrr0fa3.js → chunk-2nfz06mq.js} +1 -1
- package/dist/cli/chunk-34vpdm19.js +2 -0
- package/dist/cli/{chunk-qyfmfpjg.js → chunk-3dgghmjv.js} +1 -1
- package/dist/cli/chunk-3j1x55tc.js +2 -0
- package/dist/cli/{chunk-q854fweb.js → chunk-3jnw3ftt.js} +1 -1
- package/dist/cli/chunk-3r4ekafa.js +2 -0
- package/dist/cli/{chunk-sgegp9x9.js → chunk-4zhmbqt3.js} +1 -1
- package/dist/cli/{chunk-bvqwgrar.js → chunk-65tbvcjj.js} +1 -1
- package/dist/cli/{chunk-zcadc92x.js → chunk-67q0qw7z.js} +1 -1
- package/dist/cli/{chunk-e1xvz3sv.js → chunk-68gxqtse.js} +1 -1
- package/dist/cli/{chunk-kb3zvtkj.js → chunk-6e54q8g5.js} +1 -1
- package/dist/cli/chunk-6k424rbf.js +2 -0
- package/dist/cli/{chunk-ga5f2pyc.js → chunk-6r84zkcz.js} +1 -1
- package/dist/cli/{chunk-s5k3g5ra.js → chunk-6ygwq4w5.js} +1 -1
- package/dist/cli/{chunk-cp5jp5mq.js → chunk-75zg2k73.js} +1 -1
- package/dist/cli/{chunk-zcwgmz5p.js → chunk-76adkzyf.js} +1 -1
- package/dist/cli/{chunk-v312167r.js → chunk-7cd1epfw.js} +1 -1
- package/dist/cli/chunk-7ghwdjdc.js +3 -0
- package/dist/cli/{chunk-86chrjqr.js → chunk-7hkkjx6g.js} +1 -1
- package/dist/cli/{chunk-8sbbzs5g.js → chunk-814ktvx2.js} +1 -1
- package/dist/cli/chunk-8je3dmzq.js +2 -0
- package/dist/cli/{chunk-719avf77.js → chunk-8wze6dnr.js} +1 -1
- package/dist/cli/{chunk-8spmjwwz.js → chunk-97vsqj97.js} +1 -1
- package/dist/cli/chunk-9g7gneek.js +30 -0
- package/dist/cli/chunk-9jbcfrse.js +2 -0
- package/dist/cli/{chunk-m4wy9ja5.js → chunk-9r6x8mh4.js} +1 -1
- package/dist/cli/chunk-9vd6fv1k.js +3 -0
- package/dist/cli/{chunk-6ahc8w4p.js → chunk-9wkf17yd.js} +1 -1
- package/dist/cli/{chunk-7z9yfnjd.js → chunk-ad5gbdcf.js} +1 -1
- package/dist/cli/{chunk-vd8qqev9.js → chunk-admwmjjy.js} +1 -1
- package/dist/cli/{chunk-tntdcyra.js → chunk-afwh7as3.js} +1 -1
- package/dist/cli/{chunk-mq06xpqr.js → chunk-avdg2rrh.js} +1 -1
- package/dist/cli/chunk-avz72132.js +3 -0
- package/dist/cli/chunk-ax7wzcam.js +2 -0
- package/dist/cli/{chunk-zk5qkkb1.js → chunk-axxf5dkq.js} +1 -1
- package/dist/cli/{chunk-p2jeq98m.js → chunk-b18pnmsv.js} +1 -1
- package/dist/cli/chunk-b1mk33gy.js +2 -0
- package/dist/cli/{chunk-a7kq09ke.js → chunk-b31cte10.js} +1 -1
- package/dist/cli/{chunk-032g0ahy.js → chunk-b3j5s2jb.js} +1 -1
- package/dist/cli/{chunk-2apszxn2.js → chunk-b7xjhgts.js} +1 -1
- package/dist/cli/{chunk-jrdwedn2.js → chunk-bdvqjzwh.js} +1 -1
- package/dist/cli/chunk-bk4pfjs0.js +31 -0
- package/dist/cli/{chunk-fktvtdkb.js → chunk-bphs6am4.js} +1 -1
- package/dist/cli/chunk-bq0xsdqx.js +3 -0
- package/dist/cli/{chunk-n52x0ehz.js → chunk-c3d36ryd.js} +1 -1
- package/dist/cli/chunk-c4e149yb.js +2 -0
- package/dist/cli/chunk-cgy92ks5.js +2 -0
- package/dist/cli/chunk-cjxvb9vg.js +2 -0
- package/dist/cli/{chunk-y5dk90tw.js → chunk-dehnv06q.js} +1 -1
- package/dist/cli/{chunk-y1cb8pj5.js → chunk-dk0hffvd.js} +1 -1
- package/dist/cli/{chunk-q5bhq11t.js → chunk-dkb8nj75.js} +1 -1
- package/dist/cli/chunk-dx72asyw.js +2 -0
- package/dist/cli/{chunk-7vv6160d.js → chunk-epyw87gt.js} +1 -1
- package/dist/cli/{chunk-s2t9acrv.js → chunk-f6836h0n.js} +1 -1
- package/dist/cli/chunk-ffjwgbck.js +3 -0
- package/dist/cli/chunk-ft6ftksv.js +2 -0
- package/dist/cli/chunk-g3wdrhxk.js +11 -0
- package/dist/cli/{chunk-ra40m849.js → chunk-gb3qb83h.js} +1 -1
- package/dist/cli/chunk-ghyz3fd7.js +4 -0
- package/dist/cli/chunk-gt1vbz3f.js +5 -0
- package/dist/cli/{chunk-8ezc1ban.js → chunk-hbq7nqnp.js} +2 -2
- package/dist/cli/{chunk-2pen6b1t.js → chunk-hm7t9gkb.js} +1 -1
- package/dist/cli/{chunk-ayr5dpgc.js → chunk-hqzgejfj.js} +1 -1
- package/dist/cli/{chunk-e003wm6d.js → chunk-j26zqrnq.js} +2 -2
- package/dist/cli/{chunk-1tebqkdv.js → chunk-jbqpyp76.js} +1 -1
- package/dist/cli/{chunk-daw4mxq3.js → chunk-jk9b9ztf.js} +1 -1
- package/dist/cli/{chunk-w2sp489k.js → chunk-k3wzznqw.js} +1 -1
- package/dist/cli/{chunk-rhq87p4r.js → chunk-k8dm013e.js} +1 -1
- package/dist/cli/{chunk-6ms5chc3.js → chunk-ke3t032y.js} +1 -1
- package/dist/cli/{chunk-a7m7w6d1.js → chunk-m6qv5rsv.js} +1 -1
- package/dist/cli/{chunk-g5rr5fpn.js → chunk-mrtfvgb2.js} +1 -1
- package/dist/cli/{chunk-mnpewdhd.js → chunk-mt8vtz20.js} +2 -2
- package/dist/cli/{chunk-dgbcpkr2.js → chunk-mw35vd6g.js} +1 -1
- package/dist/cli/{chunk-g872swb8.js → chunk-mwm63vz3.js} +9 -9
- package/dist/cli/chunk-my20q579.js +3 -0
- package/dist/cli/chunk-n7dtvega.js +2 -0
- package/dist/cli/chunk-nhpadsbv.js +2 -0
- package/dist/cli/{chunk-6h0n4b5t.js → chunk-p8d9va1w.js} +2 -2
- package/dist/cli/{chunk-7j00hbq5.js → chunk-p98w5ffk.js} +1 -1
- package/dist/cli/chunk-parvvj8h.js +2 -0
- package/dist/cli/{chunk-vwg79maj.js → chunk-pcyatg4b.js} +1 -1
- package/dist/cli/{chunk-apfzdw7g.js → chunk-pkq8n3gs.js} +2 -2
- package/dist/cli/chunk-pwybgztt.js +2 -0
- package/dist/cli/chunk-q1e0qqmd.js +3 -0
- package/dist/cli/{chunk-5q08srg6.js → chunk-q349ydch.js} +1 -1
- package/dist/cli/chunk-qb6ktr8a.js +2 -0
- package/dist/cli/chunk-qc06psqb.js +3 -0
- package/dist/cli/{chunk-mw0ysrpd.js → chunk-qk5f6p3e.js} +1 -1
- package/dist/cli/chunk-r2pd9tv9.js +3 -0
- package/dist/cli/{chunk-h7y9v8k1.js → chunk-r4bn0mtb.js} +1 -1
- package/dist/cli/{chunk-5456ttpr.js → chunk-rm2wy5hf.js} +3 -3
- package/dist/cli/chunk-rpm771v5.js +15 -0
- package/dist/cli/{chunk-8ja7jrhc.js → chunk-s21t29qn.js} +1 -1
- package/dist/cli/{chunk-w4cpkhzj.js → chunk-sb2xg6py.js} +2 -2
- package/dist/cli/{chunk-963er0h4.js → chunk-sk3h2pzj.js} +3 -3
- package/dist/cli/{chunk-nsqsvgry.js → chunk-sncjkw3g.js} +3 -3
- package/dist/cli/chunk-t6j3pmpp.js +2 -0
- package/dist/cli/{chunk-crdyt04z.js → chunk-tmz0wzq8.js} +1 -1
- package/dist/cli/{chunk-w7yg0bbz.js → chunk-tq1hrd9n.js} +1 -1
- package/dist/cli/{chunk-x0rvg54z.js → chunk-v0jvt60f.js} +1 -1
- package/dist/cli/chunk-v8s0s21v.js +2 -0
- package/dist/cli/{chunk-ny12rama.js → chunk-v9avfsxq.js} +1 -1
- package/dist/cli/chunk-v9dcyjmj.js +9 -0
- package/dist/cli/chunk-vcq9hb2a.js +3 -0
- package/dist/cli/chunk-vx4e787s.js +3 -0
- package/dist/cli/{chunk-vgknea9y.js → chunk-wbtebbrv.js} +1 -1
- package/dist/cli/{chunk-meyfwc50.js → chunk-wkk63qck.js} +1 -1
- package/dist/cli/chunk-wq6pfbek.js +6 -0
- package/dist/cli/{chunk-nep425b6.js → chunk-x2c8f2qz.js} +1 -1
- package/dist/cli/{chunk-0y4qgnby.js → chunk-x5ymh8ev.js} +1 -1
- package/dist/cli/{chunk-568q390y.js → chunk-x7r75e3p.js} +2 -2
- package/dist/cli/chunk-xg6zg6kz.js +2 -0
- package/dist/cli/chunk-xgq5ycyn.js +2 -0
- package/dist/cli/{chunk-21ek142k.js → chunk-xkr7fwvb.js} +1 -1
- package/dist/cli/{chunk-mv0hp5cv.js → chunk-xmf4053m.js} +1 -1
- package/dist/cli/{chunk-gp991c3v.js → chunk-xpxxgzw9.js} +1 -1
- package/dist/cli/{chunk-s5a5dyab.js → chunk-y33j54yr.js} +2 -2
- package/dist/cli/{chunk-hq9tbzqa.js → chunk-y55zpren.js} +1 -1
- package/dist/cli/{chunk-4rx3nhvq.js → chunk-yjk0465m.js} +1 -1
- package/dist/cli/chunk-yq99x0r6.js +2 -0
- package/dist/cli/{chunk-qstjfseh.js → chunk-yshp8cmx.js} +1 -1
- package/dist/cli/chunk-z3zaa155.js +3 -0
- package/dist/cli/{chunk-npwzmmv9.js → chunk-z7zm8h1q.js} +2 -2
- package/dist/cli/chunk-zfjqy7hp.js +52 -0
- package/dist/cli/{chunk-mre9g9vq.js → chunk-zmw0v18d.js} +1 -1
- package/dist/cli/chunk-zy20hzvh.js +4 -0
- package/dist/cli/index.js +8 -8
- package/dist/cli/pty-host-node.mjs +3 -0
- package/dist/cli/rove-run.js +1 -1
- package/dist/cli/rove.js +1 -1
- package/dist/completions/rove.bash +2 -2
- package/dist/completions/rove.fish +2 -2
- package/dist/completions/rove.zsh +2 -2
- package/dist/skills/rove/SKILL.md +50 -2
- package/dist/skills/rove/references/api-flags.md +38 -7
- package/dist/web/assets/{index-DHlgMx7L.js → index-DmRZRttZ.js} +2 -2
- package/dist/web/index.html +1 -1
- package/package.json +3 -3
- package/dist/cli/chunk-1exaxwyv.js +0 -2
- package/dist/cli/chunk-28wjmb9f.js +0 -2
- package/dist/cli/chunk-2dpr8gps.js +0 -2
- package/dist/cli/chunk-2g2w5vvn.js +0 -2
- package/dist/cli/chunk-3msnqacf.js +0 -2
- package/dist/cli/chunk-5r71q63g.js +0 -2
- package/dist/cli/chunk-6f01fsje.js +0 -2
- package/dist/cli/chunk-6rrzq5et.js +0 -3
- package/dist/cli/chunk-76n3d9x3.js +0 -2
- package/dist/cli/chunk-88czbfqx.js +0 -3
- package/dist/cli/chunk-8s0mz115.js +0 -52
- package/dist/cli/chunk-964z8ccb.js +0 -3
- package/dist/cli/chunk-9h940gnr.js +0 -2
- package/dist/cli/chunk-cb1dg7nz.js +0 -2
- package/dist/cli/chunk-d99385f2.js +0 -22
- package/dist/cli/chunk-dcjxtwdb.js +0 -7
- package/dist/cli/chunk-e1x88j3k.js +0 -3
- package/dist/cli/chunk-f7rmd4zk.js +0 -6
- package/dist/cli/chunk-fsdh66fa.js +0 -2
- package/dist/cli/chunk-h9kzwj14.js +0 -2
- package/dist/cli/chunk-k9spgfmx.js +0 -3
- package/dist/cli/chunk-mf7fb92r.js +0 -2
- package/dist/cli/chunk-mnm9n2vr.js +0 -2
- package/dist/cli/chunk-nj53wrzz.js +0 -2
- package/dist/cli/chunk-nxe45n7k.js +0 -17
- package/dist/cli/chunk-pdvyfz3n.js +0 -3
- package/dist/cli/chunk-q3xt0mqt.js +0 -3
- package/dist/cli/chunk-q6qhk171.js +0 -2
- package/dist/cli/chunk-qft75bkm.js +0 -2
- package/dist/cli/chunk-qxzrdfh7.js +0 -11
- package/dist/cli/chunk-qzsahxd9.js +0 -3
- package/dist/cli/chunk-r2c5nbcq.js +0 -4
- package/dist/cli/chunk-regtterm.js +0 -9
- package/dist/cli/chunk-rf0jrh3q.js +0 -2
- package/dist/cli/chunk-rkgnrfga.js +0 -2
- package/dist/cli/chunk-rqpwy31f.js +0 -2
- package/dist/cli/chunk-rt4tg426.js +0 -4
- package/dist/cli/chunk-sqp33pwr.js +0 -2
- package/dist/cli/chunk-t33z2kdv.js +0 -3
- package/dist/cli/chunk-v6d6kvmk.js +0 -2
- package/dist/cli/chunk-x33sm4rp.js +0 -5
- package/dist/cli/chunk-yknavm97.js +0 -3
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{DEFAULT_TASK_VENDOR}from"./chunk-xy8be792.js";import{BUILTIN_VENDORS,isBuiltinVendor}from"./chunk-h2m7em1e.js";import{getCustomEngineIds,getDisabledEngineIds,getPersistedString,setPersistedString}from"./chunk-
|
|
2
|
+
import{DEFAULT_TASK_VENDOR}from"./chunk-xy8be792.js";import{BUILTIN_VENDORS,isBuiltinVendor}from"./chunk-h2m7em1e.js";import{getCustomEngineIds,getDisabledEngineIds,getPersistedString,setPersistedString}from"./chunk-xkr7fwvb.js";var REPO_KEY_PREFIX="lastActiveVendor.";function validVendor(value,customIds){let v=value?.trim();if(!v)return;if(getDisabledEngineIds().includes(v))return;if(isBuiltinVendor(v)||customIds.includes(v))return v;return}function firstEnabledVendor(){let disabled=new Set(getDisabledEngineIds());return[...BUILTIN_VENDORS,...getCustomEngineIds()].find((id)=>!disabled.has(id))??DEFAULT_TASK_VENDOR}function getRepoLastActiveVendor(repo){return validVendor(getPersistedString(REPO_KEY_PREFIX+repo),getCustomEngineIds())}function setRepoLastActiveVendor(repo,vendor){setPersistedString(REPO_KEY_PREFIX+repo,vendor)}function getGlobalDefaultVendor(){let customIds=getCustomEngineIds();return validVendor(getPersistedString("defaultVendor"),customIds)??validVendor(getPersistedString("lastSelectedVendor"),customIds)}function setGlobalDefaultVendor(vendor){setPersistedString("defaultVendor",vendor)}function resolvePreferredVendor(repo){return(repo?getRepoLastActiveVendor(repo):void 0)??getGlobalDefaultVendor()??firstEnabledVendor()}
|
|
3
3
|
export{getRepoLastActiveVendor,setRepoLastActiveVendor,getGlobalDefaultVendor,setGlobalDefaultVendor,resolvePreferredVendor};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{interactiveEngineCommand,listPresetIds}from"./chunk-
|
|
2
|
+
import{interactiveEngineCommand,listPresetIds}from"./chunk-zmw0v18d.js";import{engineEntry}from"./chunk-hm7t9gkb.js";import{installedEngineIds}from"./chunk-sb2xg6py.js";import{spawnSync}from"child_process";import{statSync}from"fs";import path from"path";function whichOnPath(bin){let bunWhich=globalThis.Bun?.which;if(bunWhich)return bunWhich(bin);let out=spawnSync(process.platform==="win32"?"where":"which",[bin],{encoding:"utf8"});if(out.status!==0)return null;return out.stdout.split(`
|
|
3
3
|
`).map((l)=>l.trim()).find(Boolean)??null}var defaultDeps={which:whichOnPath,command:(vendor)=>interactiveEngineCommand(vendor)};function probeLaunchBinary(argv,which){let bin=argv[0]?.trim();if(!bin)return{found:!1,error:"no launch command"};if(bin.includes(path.sep)||bin.startsWith(".")){try{if(statSync(bin).isFile())return{found:!0,path:bin}}catch{}return{found:!1,error:`not found at ${bin}`}}let found=which(bin);return found?{found:!0,path:found}:{found:!1,error:"not found on PATH"}}async function detectEngineStatus(vendor,over={}){let deps={...defaultDeps,...over},detector=engineEntry(vendor).detectAccount;if(!detector)return{vendor,binary:probeLaunchBinary(deps.command(vendor),deps.which),account:null};let status=await detector(deps.accountDeps),binary=status.binary.found?status.binary:probeLaunchBinary(deps.command(vendor),deps.which);return{vendor,binary,account:status.account,accountError:status.accountError}}function detectEngineStatuses(vendors,over={}){return Promise.all(vendors.map((v)=>detectEngineStatus(v,over)))}function describeAccount(account){if(account===null)return"login not detectable";switch(account.kind){case"oauth":return"email"in account?`logged in (${account.email}${account.organization?`, ${account.organization}`:""})`:"logged in";case"chatgpt":return`logged in (${account.email}${account.plan?`, ${account.plan}`:""})`;case"apikey":return"API key";case"token":return`token (${account.source})`;default:return"no account"}}function engineUsable(status){return status.binary.found&&status.account?.kind!=="none"}async function probeableEngineIds(){return[...new Set([...listPresetIds(),...await installedEngineIds()])]}function summarizeEngines(statuses){let usable=[],signedOut=[];for(let status of statuses)if(engineUsable(status))usable.push(status.vendor);else if(status.binary.found)signedOut.push(status.vendor);return{usable,signedOut}}
|
|
4
4
|
export{detectEngineStatus,detectEngineStatuses,describeAccount,probeableEngineIds,summarizeEngines};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{preferredReleaseChannel,rememberReleaseChannel}from"./chunk-
|
|
2
|
+
import{preferredReleaseChannel,rememberReleaseChannel}from"./chunk-avdg2rrh.js";import{updaterShell,updaterShellFailureHint}from"./chunk-814ktvx2.js";import"./chunk-vjvkkrzc.js";import{BREAKING_VERSIONS,CURRENT_VERSION,DEFAULT_RELEASE_CHANNEL,RELEASE_CHANNELS,UPDATE_COMMAND,UPDATE_SCRIPT_URL,breakingVersionsCrossed,channelOf,checkLatestVersion,fetchReleaseSummaries,recommendedGlobalInstallCommand,updateCommandFor}from"./chunk-75zg2k73.js";import"./chunk-axxf5dkq.js";import"./chunk-qk5f6p3e.js";import"./chunk-b31cte10.js";import"./chunk-prqeddy7.js";import{ROVE_PRODUCT_NAME}from"./chunk-zt7wfnva.js";import"./chunk-yt15y085.js";import"./chunk-z7zm8h1q.js";import"./chunk-b39sdtt0.js";import"./chunk-nc46gddg.js";import{__require}from"./chunk-91sykzqq.js";import{spawnSync}from"child_process";var CLI_NAME=ROVE_PRODUCT_NAME;function updatePlan(target){let shell=updateCommandFor(target);return{command:updaterShell(),args:["-c",shell],display:shell}}var VERSION_SHAPE=/^\d+\.\d+\.\d+(-[0-9A-Za-z.-]+)?$/;function isReleaseChannel(value){return RELEASE_CHANNELS.includes(value)}var CHANNEL_FLAGS={"--nightly":"nightly","--stable":"latest","--latest":"latest",stable:"latest"};function parseUpdateArgs(args){let dryRun=!1,list=!1,version,channel;for(let i=0;i<args.length;i+=1){let arg=args[i];if(arg===void 0)continue;if(arg==="--help"||arg==="-h"||arg==="help")return{help:!0,dryRun,list,version,channel};if(arg==="dry-run"||arg==="--dry-run"){dryRun=!0;continue}if(arg==="list"||arg==="--list"){list=!0;continue}if(arg==="--channel"||arg.startsWith("--channel=")){let value=(arg.startsWith("--channel=")?arg.slice(10):void 0)??args[++i];if(value===void 0||!isReleaseChannel(value))process.stderr.write(`${CLI_NAME} update: --channel expects one of ${RELEASE_CHANNELS.join(", ")}${value===void 0?"":` (got "${value}")`}
|
|
3
3
|
|
|
4
4
|
`),printUsage(process.stderr),process.exit(2);channel=value;continue}let flagged=CHANNEL_FLAGS[arg];if(channel===void 0&&flagged!==void 0){channel=flagged;continue}if(channel===void 0&&isReleaseChannel(arg)){channel=arg;continue}if(version===void 0&&VERSION_SHAPE.test(arg)){version=arg;continue}process.stderr.write(`${CLI_NAME} update: unknown argument "${arg}"
|
|
5
5
|
|
|
@@ -10,7 +10,7 @@ import{preferredReleaseChannel,rememberReleaseChannel}from"./chunk-mq06xpqr.js";
|
|
|
10
10
|
install one with: ${CLI_NAME} update <version>
|
|
11
11
|
`)}async function warnBreakingCrossings(target,channel,io){if(BREAKING_VERSIONS.length===0)return;let resolved=target??(await checkLatestVersion({force:!0,channel}))?.latest;if(!resolved)return;let crossed=breakingVersionsCrossed(CURRENT_VERSION,resolved);if(crossed.length===0)return;io.stderr.write([`warning: ${CURRENT_VERSION} -> ${resolved} crosses breaking version(s): ${crossed.join(", ")}.`,`After this update, Rove will refuse to start until you run \`${CLI_NAME} reset\``,"(worktrees are never touched; add --hard only to also wipe the task index).",""].join(`
|
|
12
12
|
`))}var FOLLOW_UP_NOTE=["",`${CLI_NAME}: installed. Two background processes are still running the old build:`,` daemon \u2192 \`${CLI_NAME} daemon restart\` (safe; never touches live sessions)`,` pty host \u2192 only \`${CLI_NAME} reset\` replaces it, and that ends every live`," terminal and engine session \u2014 do it when you can afford to.",`Run \`${CLI_NAME} doctor\` to see which of the two is actually stale.`,""].join(`
|
|
13
|
-
`);async function runUpdateSubcommand(args,deps){let io={spawn:deps?.spawn??spawnSync,stdout:deps?.stdout??process.stdout,stderr:deps?.stderr??process.stderr,exit:deps?.exit??((code)=>process.exit(code)),channel:deps?.channel??{get:()=>preferredReleaseChannel(),remember:rememberReleaseChannel}},parsed=parseUpdateArgs(args);if(parsed.help){printUsage(io.stdout);return}if(parsed.list){if(deps===void 0&&process.stdout.isTTY){let{startVersionsHost}=await import("./chunk-
|
|
13
|
+
`);async function runUpdateSubcommand(args,deps){let io={spawn:deps?.spawn??spawnSync,stdout:deps?.stdout??process.stdout,stderr:deps?.stderr??process.stderr,exit:deps?.exit??((code)=>process.exit(code)),channel:deps?.channel??{get:()=>preferredReleaseChannel(),remember:rememberReleaseChannel}},parsed=parseUpdateArgs(args);if(parsed.help){printUsage(io.stdout);return}if(parsed.list){if(deps===void 0&&process.stdout.isTTY){let{startVersionsHost}=await import("./chunk-6k424rbf.js");await startVersionsHost();return}await printVersionList(io);return}let channel=parsed.channel??io.channel.get(),target=parsed.version??(channel===DEFAULT_RELEASE_CHANNEL?void 0:channel),plan=updatePlan(target),switching=parsed.version===void 0&&channel!==channelOf();if(io.stdout.write(`${CLI_NAME} ${CURRENT_VERSION} -> ${target??channel}
|
|
14
14
|
`),switching)io.stdout.write(`switching channel: ${channelOf()} -> ${channel}
|
|
15
15
|
`);if(io.stdout.write(`running: ${plan.display}
|
|
16
16
|
`),await warnBreakingCrossings(parsed.version,channel,io),parsed.dryRun)return;let result=io.spawn(plan.command,plan.args,{stdio:"inherit"});if(result.error){io.stderr.write(`${CLI_NAME} update: failed to run ${plan.command}: ${result.error.message}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{BREAKING_VERSIONS,CURRENT_VERSION,compareSemver}from"./chunk-
|
|
2
|
+
import{BREAKING_VERSIONS,CURRENT_VERSION,compareSemver}from"./chunk-75zg2k73.js";import{loadStateFile,patchStateFile}from"./chunk-axxf5dkq.js";import{ROVE_PRODUCT_NAME}from"./chunk-zt7wfnva.js";var LAST_RUN_VERSION_KEY="app.lastRunVersion";function resetGateBlockers(lastRun,current=CURRENT_VERSION,breaking=BREAKING_VERSIONS){if(typeof lastRun!=="string"||lastRun.length===0)return[];let[lo,hi]=compareSemver(lastRun,current)<=0?[lastRun,current]:[current,lastRun];return breaking.filter((b)=>compareSemver(b,lo)>0&&compareSemver(b,hi)<=0)}function enforceResetGate(){let cliName=ROVE_PRODUCT_NAME,lastRun=loadStateFile()[LAST_RUN_VERSION_KEY],blockers=resetGateBlockers(lastRun);if(blockers.length>0){let from=typeof lastRun==="string"?lastRun:"unknown";console.error([`${cliName} ${CURRENT_VERSION}: cannot start \u2014 version ${blockers.join(", ")} introduced breaking changes`,`(last run: ${from}). Your daemon/session state may be incompatible.`,"","Run:",` ${cliName} reset # stop daemon + PTY host + sessions (tasks kept)`,` ${cliName} reset --hard # additionally wipe the task index + UI state`,"","Then relaunch Rove. Worktrees are never touched."].join(`
|
|
3
3
|
`)),process.exit(1)}if(lastRun!==CURRENT_VERSION)stampResetGate()}function stampResetGate(){try{patchStateFile({[LAST_RUN_VERSION_KEY]:CURRENT_VERSION})}catch{}}
|
|
4
4
|
export{LAST_RUN_VERSION_KEY,enforceResetGate,stampResetGate};
|