@staff0rd/assist 0.775.0 → 0.775.2

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/index.js CHANGED
@@ -6,7 +6,7 @@ import { Command } from "commander";
6
6
  // package.json
7
7
  var package_default = {
8
8
  name: "@staff0rd/assist",
9
- version: "0.775.0",
9
+ version: "0.775.2",
10
10
  type: "module",
11
11
  main: "dist/index.js",
12
12
  bin: {
@@ -124,7 +124,7 @@ var package_default = {
124
124
 
125
125
  // src/commands/new/registerNew/newCli.ts
126
126
  import { execSync as execSync6 } from "child_process";
127
- import { basename as basename2, resolve as resolve6 } from "path";
127
+ import { basename as basename3, resolve as resolve6 } from "path";
128
128
 
129
129
  // src/commands/verify/init.ts
130
130
  import chalk17 from "chalk";
@@ -1925,11 +1925,15 @@ import * as net from "net";
1925
1925
 
1926
1926
  // src/commands/sessions/daemon/daemonPaths.ts
1927
1927
  import { homedir as homedir2 } from "os";
1928
- import { join as join9 } from "path";
1928
+ import { basename as basename2, join as join9 } from "path";
1929
1929
  var DAEMON_DIR = join9(homedir2(), ".assist", "daemon");
1930
+ function perUserWindowsPipe() {
1931
+ const user = basename2(homedir2()).replace(/[^\w.-]/g, "_");
1932
+ return String.raw`\\.\pipe\assist-sessions-daemon-${user}`;
1933
+ }
1930
1934
  var daemonPaths = {
1931
1935
  dir: DAEMON_DIR,
1932
- socket: process.platform === "win32" ? String.raw`\\.\pipe\assist-sessions-daemon` : join9(DAEMON_DIR, "daemon.sock"),
1936
+ socket: process.platform === "win32" ? perUserWindowsPipe() : join9(DAEMON_DIR, "daemon.sock"),
1933
1937
  log: join9(DAEMON_DIR, "daemon.log"),
1934
1938
  pid: join9(DAEMON_DIR, "daemon.pid"),
1935
1939
  spawnLock: join9(DAEMON_DIR, "spawn.lock"),
@@ -2406,7 +2410,7 @@ program.parse();
2406
2410
 
2407
2411
  // src/commands/new/registerNew/newCli.ts
2408
2412
  async function newCli() {
2409
- const name = basename2(resolve6("."));
2413
+ const name = basename3(resolve6("."));
2410
2414
  initGit();
2411
2415
  initPackageJson(name);
2412
2416
  console.log("Installing dependencies...");
@@ -2768,7 +2772,7 @@ function adviceContextFor(cwd) {
2768
2772
 
2769
2773
  // src/commands/advise/loadAdviceFragments.ts
2770
2774
  import { readdirSync, readFileSync as readFileSync12 } from "fs";
2771
- import { basename as basename3, join as join13 } from "path";
2775
+ import { basename as basename4, join as join13 } from "path";
2772
2776
 
2773
2777
  // src/commands/advise/adviceDir.ts
2774
2778
  import { existsSync as existsSync17 } from "fs";
@@ -2809,7 +2813,7 @@ function parseAdviceFragment(name, content) {
2809
2813
  function loadAdviceFragments(dir = adviceDir()) {
2810
2814
  return readdirSync(dir).filter((file) => file.endsWith(".md")).sort().map(
2811
2815
  (file) => parseAdviceFragment(
2812
- basename3(file, ".md"),
2816
+ basename4(file, ".md"),
2813
2817
  readFileSync12(join13(dir, file), "utf8")
2814
2818
  )
2815
2819
  );
@@ -7416,7 +7420,7 @@ function buildArgs(prompt, options2) {
7416
7420
 
7417
7421
  // src/commands/backlog/ensureStoryBranch.ts
7418
7422
  import { execSync as execSync18 } from "child_process";
7419
- import { basename as basename5 } from "path";
7423
+ import { basename as basename6 } from "path";
7420
7424
 
7421
7425
  // src/commands/branch/createBranch.ts
7422
7426
  import { execSync as execSync17 } from "child_process";
@@ -7616,7 +7620,7 @@ function worktreeBranchInPlay() {
7616
7620
  const tree = linkedWorktree(process.cwd());
7617
7621
  if (!tree) return null;
7618
7622
  const head = currentBranch();
7619
- return head === basename5(tree.root) ? head : null;
7623
+ return head === basename6(tree.root) ? head : null;
7620
7624
  }
7621
7625
  function currentBranch() {
7622
7626
  try {
@@ -13354,16 +13358,16 @@ function handleServerRuns(req, res) {
13354
13358
  import { execFile as execFile5 } from "child_process";
13355
13359
  import { readFileSync as readFileSync21 } from "fs";
13356
13360
  import { homedir as homedir14 } from "os";
13357
- import { basename as basename11, join as join38 } from "path";
13361
+ import { basename as basename12, join as join38 } from "path";
13358
13362
  import { promisify as promisify5 } from "util";
13359
13363
 
13360
13364
  // src/commands/sessions/web/findSynthesisForBranch.ts
13361
13365
  import { existsSync as existsSync33, readdirSync as readdirSync5, statSync as statSync6 } from "fs";
13362
- import { basename as basename10, dirname as dirname22, join as join37 } from "path";
13366
+ import { basename as basename11, dirname as dirname22, join as join37 } from "path";
13363
13367
  function findSynthesisForBranch(repoReviewsDir, branch2) {
13364
13368
  const branchKeyPath = join37(repoReviewsDir, `${branch2}-`);
13365
13369
  const parent = dirname22(branchKeyPath);
13366
- const branchPrefix = basename10(branchKeyPath);
13370
+ const branchPrefix = basename11(branchKeyPath);
13367
13371
  if (!existsSync33(parent)) return null;
13368
13372
  const synthesisFiles = readdirSync5(parent).filter((name) => name.startsWith(branchPrefix)).map((name) => join37(parent, name, "synthesis.md")).filter((path106) => existsSync33(path106)).map((path106) => ({ path: path106, mtime: statSync6(path106).mtimeMs })).sort((a, b) => b.mtime - a.mtime);
13369
13373
  return synthesisFiles[0]?.path ?? null;
@@ -13387,7 +13391,7 @@ async function resolveSynthesisPath(cwd) {
13387
13391
  homedir14(),
13388
13392
  ".assist",
13389
13393
  "reviews",
13390
- basename11(repoRoot2)
13394
+ basename12(repoRoot2)
13391
13395
  );
13392
13396
  return findSynthesisForBranch(repoReviewsDir, branch2);
13393
13397
  }
@@ -13746,8 +13750,8 @@ function subsequenceScore(text17, query) {
13746
13750
  function scoreFilePath(path106, query) {
13747
13751
  const needle = query.trim().toLowerCase();
13748
13752
  if (!needle) return 0;
13749
- const basename33 = path106.slice(path106.lastIndexOf("/") + 1);
13750
- const inBasename = subsequenceScore(basename33, needle);
13753
+ const basename34 = path106.slice(path106.lastIndexOf("/") + 1);
13754
+ const inBasename = subsequenceScore(basename34, needle);
13751
13755
  if (inBasename !== null) return BASENAME_WEIGHT + inBasename;
13752
13756
  return subsequenceScore(path106, needle);
13753
13757
  }
@@ -16242,6 +16246,23 @@ function findTailscalePeer(status2, hostname2) {
16242
16246
  );
16243
16247
  }
16244
16248
 
16249
+ // src/commands/sessions/nodes/tailscaleCliFailure.ts
16250
+ function tailscaleCliFailure(error, cli) {
16251
+ const detail = describePeerError(error);
16252
+ const owner = /Tailscale already in use by (\S+?),/.exec(detail)?.[1];
16253
+ if (owner)
16254
+ return failed(
16255
+ "tailscale",
16256
+ `Tailscale on this node is signed in by Windows user ${owner}, so it is disconnected while another user is active`,
16257
+ `sign in to Windows as ${owner} and run \`${cli} up --unattended\` (or tick "Run unattended" in Tailscale's menu) so it stays connected for every user; otherwise sign ${owner} out and run \`${cli} up\` as this user`
16258
+ );
16259
+ return failed(
16260
+ "tailscale",
16261
+ detail,
16262
+ `\`${cli} status --json\` failed \u2014 install Tailscale on this node and sign in with \`${cli} up\``
16263
+ );
16264
+ }
16265
+
16245
16266
  // src/commands/sessions/nodes/tailscaleHop.ts
16246
16267
  async function tailscaleHop(spec, probes) {
16247
16268
  const cli = tailscaleCli();
@@ -16249,11 +16270,7 @@ async function tailscaleHop(spec, probes) {
16249
16270
  try {
16250
16271
  status2 = await probes.tailscale();
16251
16272
  } catch (error) {
16252
- return failed(
16253
- "tailscale",
16254
- describePeerError(error),
16255
- `\`${cli} status --json\` failed \u2014 install Tailscale on this node and sign in with \`${cli} up\``
16256
- );
16273
+ return tailscaleCliFailure(error, cli);
16257
16274
  }
16258
16275
  if (status2.BackendState !== "Running")
16259
16276
  return failed(
@@ -16273,7 +16290,7 @@ async function tailscaleHop(spec, probes) {
16273
16290
  return failed(
16274
16291
  "tailscale",
16275
16292
  `${hostname2} is offline in the tailnet`,
16276
- `is ${spec.name}'s machine awake with Tailscale running and signed in?`
16293
+ `is ${spec.name}'s machine awake with Tailscale running and signed in? On Windows, Tailscale disconnects while a user other than the one who signed it in is active unless it runs unattended \u2014 run \`assist sessions nodes doctor\` on ${spec.name}`
16277
16294
  );
16278
16295
  return passed(
16279
16296
  "tailscale",
@@ -17103,7 +17120,7 @@ function stripAnsi(text17) {
17103
17120
  // src/commands/sessions/daemon/worktree/watcherLogPath.ts
17104
17121
  import { createHash as createHash2 } from "crypto";
17105
17122
  import { homedir as homedir16 } from "os";
17106
- import { basename as basename12, join as join42 } from "path";
17123
+ import { basename as basename13, join as join42 } from "path";
17107
17124
 
17108
17125
  // src/commands/sessions/daemon/worktree/canonicalTreePath.ts
17109
17126
  import { realpathSync as realpathSync2 } from "fs";
@@ -17121,7 +17138,7 @@ function watcherLogPath(cwd) {
17121
17138
  const clone = canonicalTreePath(cwd);
17122
17139
  const key = createHash2("sha1").update(clone).digest("hex").slice(0, 8);
17123
17140
  const dir = process.env.ASSIST_WATCHER_LOG_DIR ?? join42(homedir16(), ".assist", "watchers");
17124
- return join42(dir, `${basename12(clone) || "root"}-${key}.log`);
17141
+ return join42(dir, `${basename13(clone) || "root"}-${key}.log`);
17125
17142
  }
17126
17143
 
17127
17144
  // src/commands/sessions/web/updates/readUpdateHistory.ts
@@ -18312,7 +18329,7 @@ function registerBranch(program2) {
18312
18329
  }
18313
18330
 
18314
18331
  // src/commands/cliHook.ts
18315
- import { basename as basename13 } from "path";
18332
+ import { basename as basename14 } from "path";
18316
18333
 
18317
18334
  // src/shared/splitCompound.ts
18318
18335
  import { parse } from "shell-quote";
@@ -19322,7 +19339,7 @@ async function cliHook() {
19322
19339
  logDeniedToolCall({
19323
19340
  tool: input.toolName,
19324
19341
  command: input.command,
19325
- repo: basename13(process.cwd()),
19342
+ repo: basename14(process.cwd()),
19326
19343
  sessionId: process.env.CLAUDE_SESSION_ID,
19327
19344
  denyReason: decision.permissionDecisionReason
19328
19345
  });
@@ -21618,7 +21635,7 @@ function signPreflightProblem(source) {
21618
21635
 
21619
21636
  // src/commands/criteriaExtension/stageCriteriaExtension.ts
21620
21637
  import { cp as cp3, mkdir as mkdir5, readFile as readFile5, rm, writeFile as writeFile4 } from "fs/promises";
21621
- import { basename as basename14, join as join55 } from "path";
21638
+ import { basename as basename15, join as join55 } from "path";
21622
21639
 
21623
21640
  // src/commands/criteriaExtension/stampManifestVersion.ts
21624
21641
  function stampManifestVersion(manifest, version2) {
@@ -21633,7 +21650,7 @@ async function stageCriteriaExtension(source, staging, version2) {
21633
21650
  await mkdir5(staging, { recursive: true });
21634
21651
  await cp3(source, staging, {
21635
21652
  recursive: true,
21636
- filter: (path106) => basename14(path106) !== "updates.json"
21653
+ filter: (path106) => basename15(path106) !== "updates.json"
21637
21654
  });
21638
21655
  const manifest = join55(staging, "manifest.json");
21639
21656
  const stamped = stampManifestVersion(
@@ -22007,7 +22024,7 @@ function registerDeploy(program2) {
22007
22024
 
22008
22025
  // src/commands/devlog/list.ts
22009
22026
  import { execFileSync as execFileSync6 } from "child_process";
22010
- import { basename as basename16 } from "path";
22027
+ import { basename as basename17 } from "path";
22011
22028
 
22012
22029
  // src/commands/devlog/loadBlogSkipDays.ts
22013
22030
  import { homedir as homedir22 } from "os";
@@ -22026,7 +22043,7 @@ import chalk146 from "chalk";
22026
22043
 
22027
22044
  // src/shared/getRepoName.ts
22028
22045
  import { existsSync as existsSync51, readFileSync as readFileSync33 } from "fs";
22029
- import { basename as basename15, join as join60 } from "path";
22046
+ import { basename as basename16, join as join60 } from "path";
22030
22047
  function getRepoName() {
22031
22048
  const config = loadConfig();
22032
22049
  if (config.devlog?.name) {
@@ -22043,7 +22060,7 @@ function getRepoName() {
22043
22060
  } catch {
22044
22061
  }
22045
22062
  }
22046
- return basename15(process.cwd());
22063
+ return basename16(process.cwd());
22047
22064
  }
22048
22065
 
22049
22066
  // src/commands/devlog/loadDevlogEntries.ts
@@ -22179,7 +22196,7 @@ function list2(options2) {
22179
22196
  const config = loadConfig();
22180
22197
  const days = options2.days ?? 30;
22181
22198
  const ignore3 = options2.ignore ?? config.devlog?.ignore ?? [];
22182
- const repoName = basename16(process.cwd());
22199
+ const repoName = basename17(process.cwd());
22183
22200
  const skipDays = loadBlogSkipDays(repoName);
22184
22201
  const devlogEntries = loadDevlogEntries(repoName);
22185
22202
  const args = ["log"];
@@ -25101,7 +25118,7 @@ function attachArgs(attachments) {
25101
25118
 
25102
25119
  // src/commands/prs/runGhWithAttachments.ts
25103
25120
  import { execFileSync as execFileSync10 } from "child_process";
25104
- import { basename as basename17 } from "path";
25121
+ import { basename as basename18 } from "path";
25105
25122
 
25106
25123
  // src/shared/removeStagedAttachments.ts
25107
25124
  import { rmSync as rmSync4 } from "fs";
@@ -25118,7 +25135,7 @@ function removeStagedAttachments(attachments) {
25118
25135
  var PLACED_URL = /https:\/\/\S+\/(pull|issues)\/\d+/;
25119
25136
  function reportPartialFailure(attachments, stderr) {
25120
25137
  const failed3 = attachments.filter(
25121
- ({ path: path106 }) => stderr.includes(path106) || stderr.includes(basename17(path106))
25138
+ ({ path: path106 }) => stderr.includes(path106) || stderr.includes(basename18(path106))
25122
25139
  );
25123
25140
  const named = failed3.length > 0 ? failed3 : attachments;
25124
25141
  console.error(
@@ -25904,15 +25921,15 @@ function recentDaemonLogLines(includeRelayed = true) {
25904
25921
 
25905
25922
  // src/commands/sessions/daemon/worktree/createWorktree.ts
25906
25923
  import { existsSync as existsSync57 } from "fs";
25907
- import { basename as basename19, dirname as dirname29 } from "path";
25924
+ import { basename as basename20, dirname as dirname29 } from "path";
25908
25925
 
25909
25926
  // src/commands/sessions/daemon/worktree/planAllocation.ts
25910
- import { basename as basename18, join as join67 } from "path";
25927
+ import { basename as basename19, join as join67 } from "path";
25911
25928
  function planAllocation(clone, boundTreeRoots2) {
25912
25929
  return boundTreeRoots2.has(clone) ? "spill" : "primary";
25913
25930
  }
25914
25931
  function nextWorktreePath(clone, base, isTaken) {
25915
- const name = basename18(clone);
25932
+ const name = basename19(clone);
25916
25933
  for (let n = 2; n < 1e3; n++) {
25917
25934
  const candidate = join67(base, `${name}-${n}`);
25918
25935
  if (!isTaken(candidate)) return candidate;
@@ -25950,7 +25967,7 @@ function createWorktree(clone, strategy, boundTreeRoots2, preferredPath) {
25950
25967
  const base = strategy.root ? expandTilde2(strategy.root) : dirname29(clone);
25951
25968
  const registered = new Set(listWorktreePaths(clone));
25952
25969
  const branches = new Set(listLocalBranches(clone));
25953
- const isTaken = (candidate) => registered.has(candidate) || existsSync57(candidate) || boundTreeRoots2.has(candidate) || branches.has(basename19(candidate));
25970
+ const isTaken = (candidate) => registered.has(candidate) || existsSync57(candidate) || boundTreeRoots2.has(candidate) || branches.has(basename20(candidate));
25954
25971
  const path106 = preferredPath && !isTaken(preferredPath) ? preferredPath : nextWorktreePath(clone, base, isTaken);
25955
25972
  const start2 = worktreeStartPoint(clone, strategy.trunk);
25956
25973
  gitSync(clone, [
@@ -25958,13 +25975,13 @@ function createWorktree(clone, strategy, boundTreeRoots2, preferredPath) {
25958
25975
  "add",
25959
25976
  start2.track ? "--track" : "--no-track",
25960
25977
  "-b",
25961
- basename19(path106),
25978
+ basename20(path106),
25962
25979
  path106,
25963
25980
  start2.ref
25964
25981
  ]);
25965
25982
  recordWorktree(path106, clone, getCurrentOrigin(clone));
25966
25983
  daemonLog(
25967
- start2.track ? `worktree allocated ${path106} (branch ${basename19(path106)} tracking ${start2.ref}) for clone ${clone}` : `worktree allocated ${path106} (branch ${basename19(path106)} off ${start2.ref}, no mainline tracking) for clone ${clone}`
25984
+ start2.track ? `worktree allocated ${path106} (branch ${basename20(path106)} tracking ${start2.ref}) for clone ${clone}` : `worktree allocated ${path106} (branch ${basename20(path106)} off ${start2.ref}, no mainline tracking) for clone ${clone}`
25968
25985
  );
25969
25986
  return path106;
25970
25987
  }
@@ -26752,7 +26769,7 @@ import chalk175 from "chalk";
26752
26769
 
26753
26770
  // src/commands/mermaid/exportFile.ts
26754
26771
  import { readFileSync as readFileSync39, writeFileSync as writeFileSync32 } from "fs";
26755
- import { basename as basename20, extname as extname3, resolve as resolve18 } from "path";
26772
+ import { basename as basename21, extname as extname3, resolve as resolve18 } from "path";
26756
26773
  import chalk174 from "chalk";
26757
26774
 
26758
26775
  // src/commands/mermaid/renderBlock.ts
@@ -26779,7 +26796,7 @@ async function renderBlock(krokiUrl, source) {
26779
26796
  async function exportFile(file, outDir, krokiUrl, onlyIndex) {
26780
26797
  const content = readFileSync39(file, "utf8");
26781
26798
  const blocks = extractMermaidBlocks(content);
26782
- const stem = basename20(file, extname3(file));
26799
+ const stem = basename21(file, extname3(file));
26783
26800
  if (onlyIndex !== void 0) {
26784
26801
  if (onlyIndex < 1 || onlyIndex > blocks.length) {
26785
26802
  console.error(
@@ -34186,7 +34203,7 @@ function groupFilesByDirectory(files) {
34186
34203
  }
34187
34204
 
34188
34205
  // src/commands/review/highLevel/buildHighLevelTree.ts
34189
- function basename21(path106) {
34206
+ function basename22(path106) {
34190
34207
  return path106.slice(path106.lastIndexOf("/") + 1);
34191
34208
  }
34192
34209
  function sum(nodes, key) {
@@ -34202,7 +34219,7 @@ function nodesOf(at2, prefix2) {
34202
34219
  const files = at2.files.map(
34203
34220
  (file) => ({
34204
34221
  kind: "file",
34205
- name: basename21(file.path),
34222
+ name: basename22(file.path),
34206
34223
  ...file
34207
34224
  })
34208
34225
  );
@@ -36702,13 +36719,13 @@ ${annotateDiffWithLineNumbers(context.diff.trimEnd())}
36702
36719
 
36703
36720
  // src/commands/review/buildReviewPaths.ts
36704
36721
  import { homedir as homedir25 } from "os";
36705
- import { basename as basename22, join as join83 } from "path";
36722
+ import { basename as basename23, join as join83 } from "path";
36706
36723
  function buildReviewPaths(repoRoot2, key) {
36707
36724
  const reviewDir = join83(
36708
36725
  homedir25(),
36709
36726
  ".assist",
36710
36727
  "reviews",
36711
- basename22(repoRoot2),
36728
+ basename23(repoRoot2),
36712
36729
  key
36713
36730
  );
36714
36731
  return {
@@ -38895,7 +38912,7 @@ function list3() {
38895
38912
 
38896
38913
  // src/commands/transcript/move.ts
38897
38914
  import { existsSync as existsSync77, mkdirSync as mkdirSync32, renameSync as renameSync2, writeFileSync as writeFileSync50 } from "fs";
38898
- import { basename as basename26, join as join97 } from "path";
38915
+ import { basename as basename27, join as join97 } from "path";
38899
38916
 
38900
38917
  // src/commands/transcript/convertVttToMarkdown.ts
38901
38918
  function convertVttToMarkdown(inputPath) {
@@ -38916,13 +38933,13 @@ function move(file, options2) {
38916
38933
  process.exit(1);
38917
38934
  }
38918
38935
  const { vttDir, transcriptsDir, summaryDir } = getTranscriptConfig();
38919
- const filename = basename26(file);
38936
+ const filename = basename27(file);
38920
38937
  const sourcePath = join97(vttDir, filename);
38921
38938
  if (!existsSync77(sourcePath)) {
38922
38939
  console.error(`Error: VTT file not found: ${sourcePath}`);
38923
38940
  process.exit(1);
38924
38941
  }
38925
- const base = basename26(filename, ".vtt").replace(/ Transcription$/, "");
38942
+ const base = basename27(filename, ".vtt").replace(/ Transcription$/, "");
38926
38943
  const outputName = `${date} ${base}.md`;
38927
38944
  const formattedDir = join97(transcriptsDir, client);
38928
38945
  mkdirSync32(formattedDir, { recursive: true });
@@ -38936,7 +38953,7 @@ function move(file, options2) {
38936
38953
 
38937
38954
  // src/commands/transcript/merge.ts
38938
38955
  import { existsSync as existsSync78, writeFileSync as writeFileSync51 } from "fs";
38939
- import { basename as basename27 } from "path";
38956
+ import { basename as basename28 } from "path";
38940
38957
 
38941
38958
  // src/commands/transcript/failTranscript.ts
38942
38959
  function failTranscript(message3) {
@@ -39082,7 +39099,7 @@ function readSource3(file) {
39082
39099
  if (!existsSync78(file)) failTranscript(`VTT file not found: ${file}`);
39083
39100
  const cues = readCleanedCues(file);
39084
39101
  if (cues.length === 0) failTranscript(`no cues found in: ${file}`);
39085
- return { path: file, name: basename27(file), cues };
39102
+ return { path: file, name: basename28(file), cues };
39086
39103
  }
39087
39104
  function wholePassages(sources) {
39088
39105
  return sources.map((source) => ({
@@ -39743,7 +39760,7 @@ function listMigrationFiles(dir) {
39743
39760
 
39744
39761
  // src/commands/verify/migrations/readBaselineMigrations.ts
39745
39762
  import { execSync as execSync63 } from "child_process";
39746
- import { basename as basename28 } from "path";
39763
+ import { basename as basename29 } from "path";
39747
39764
  var MIGRATION_FILE3 = /^migration\d+[A-Za-z0-9]*\.ts$/;
39748
39765
  function readBaselineMigrations(repoRelativeDir, ref) {
39749
39766
  const baseline = /* @__PURE__ */ new Map();
@@ -39756,7 +39773,7 @@ function readBaselineMigrations(repoRelativeDir, ref) {
39756
39773
  } catch {
39757
39774
  return baseline;
39758
39775
  }
39759
- const paths = listing.split("\n").map((line) => line.trim()).filter(Boolean).filter((path106) => MIGRATION_FILE3.test(basename28(path106)));
39776
+ const paths = listing.split("\n").map((line) => line.trim()).filter(Boolean).filter((path106) => MIGRATION_FILE3.test(basename29(path106)));
39760
39777
  for (const path106 of paths) {
39761
39778
  try {
39762
39779
  const content = execSync63(`git show "${ref}:${path106}"`, {
@@ -39764,7 +39781,7 @@ function readBaselineMigrations(repoRelativeDir, ref) {
39764
39781
  maxBuffer: 16 * 1024 * 1024,
39765
39782
  stdio: ["pipe", "pipe", "pipe"]
39766
39783
  });
39767
- baseline.set(basename28(path106), content);
39784
+ baseline.set(basename29(path106), content);
39768
39785
  } catch {
39769
39786
  }
39770
39787
  }
@@ -42495,7 +42512,7 @@ function setStatus2(session, newStatus) {
42495
42512
 
42496
42513
  // src/commands/sessions/daemon/worktree/reapWorktree.ts
42497
42514
  import { existsSync as existsSync87 } from "fs";
42498
- import { basename as basename29 } from "path";
42515
+ import { basename as basename30 } from "path";
42499
42516
 
42500
42517
  // src/commands/sessions/daemon/worktree/deleteStrandedTree.ts
42501
42518
  import { existsSync as existsSync86 } from "fs";
@@ -42638,7 +42655,7 @@ async function reapWorktree(worktreePath, force = false) {
42638
42655
  const clone = owningClone(worktreePath);
42639
42656
  const removal = await removeTree(clone, worktreePath, force);
42640
42657
  if (!removal.removed) return removal;
42641
- await deleteWorktreeBranch(clone, basename29(worktreePath));
42658
+ await deleteWorktreeBranch(clone, basename30(worktreePath));
42642
42659
  forgetWorktree(worktreePath);
42643
42660
  daemonLog(`worktree ${worktreePath} reaped${force ? " (forced)" : ""}`);
42644
42661
  return removal;
@@ -45543,7 +45560,7 @@ function rearmStoppedSessions(sessions, notify2) {
45543
45560
 
45544
45561
  // src/commands/sessions/daemon/worktree/reconcileWorktreesOnRestore.ts
45545
45562
  import { existsSync as existsSync93 } from "fs";
45546
- import { basename as basename31 } from "path";
45563
+ import { basename as basename32 } from "path";
45547
45564
 
45548
45565
  // src/commands/sessions/daemon/worktree/accountedTrees.ts
45549
45566
  function accountedTrees(sessions) {
@@ -45651,7 +45668,7 @@ function capped2(lines2) {
45651
45668
  }
45652
45669
 
45653
45670
  // src/commands/sessions/daemon/worktree/resurfaceOrphanedWorktree.ts
45654
- import { basename as basename30 } from "path";
45671
+ import { basename as basename31 } from "path";
45655
45672
  function resurfaceOrphanedWorktree(sessions, spawnWith, recovered, notify2) {
45656
45673
  const { orphan, reason: reason4, held } = recovered;
45657
45674
  let id;
@@ -45674,7 +45691,7 @@ function orphanedSession(id, recovered) {
45674
45691
  const { orphan, reason: reason4, held } = recovered;
45675
45692
  return {
45676
45693
  ...sessionBase(id, "stopped"),
45677
- name: `recovered ${basename30(orphan.path)}`,
45694
+ name: `recovered ${basename31(orphan.path)}`,
45678
45695
  subtitle: `${held.summary} in ${orphan.path}`,
45679
45696
  commandType: "claude",
45680
45697
  pty: null,
@@ -45735,7 +45752,7 @@ async function recoverOrphanedWorktrees(sessions, spawnWith, notify2) {
45735
45752
  logVanishedTree(sessions, path106);
45736
45753
  vanished.set(clone, [
45737
45754
  ...vanished.get(clone) ?? [],
45738
- { path: path106, branch: basename31(path106) }
45755
+ { path: path106, branch: basename32(path106) }
45739
45756
  ]);
45740
45757
  continue;
45741
45758
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@staff0rd/assist",
3
- "version": "0.775.0",
3
+ "version": "0.775.2",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {