linkshell-cli 0.5.30 → 0.5.32

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.
@@ -19,6 +19,7 @@ export declare class ClaudeSdkClient {
19
19
  private claudeSessionId;
20
20
  private abortController;
21
21
  private permissionWaiters;
22
+ private sessionMetaCache;
22
23
  constructor(input: {
23
24
  command: string;
24
25
  protocol: AgentProtocol;
@@ -45,6 +46,21 @@ export declare class ClaudeSdkClient {
45
46
  /** Resolve the on-disk JSONL transcript for a session, preferring the cwd's
46
47
  * project dir and falling back to a scan of sibling project dirs. */
47
48
  private resolveSessionFile;
49
+ /** Fork a session: copy the source transcript into a NEW session file,
50
+ * truncated to include everything up to and including the turn `uptoTurnId`
51
+ * (omitted → full clone). Claude has no native fork primitive, so this
52
+ * simulates one by writing a fresh <uuid>.jsonl alongside the source. The
53
+ * source file is NEVER modified. Turn ids match the per-line uuid/id (or the
54
+ * `claude-history-<n>` fallback) that parseClaudeJsonlSession assigns, where
55
+ * <n> counts non-empty lines — replicated here so the cut lands exactly on
56
+ * the turn the client asked for. Returns the new session id, or undefined if
57
+ * the source can't be read or the new file can't be created. */
58
+ forkSession(input: {
59
+ sourceSessionId: string;
60
+ uptoTurnId?: string;
61
+ }): {
62
+ sessionId: string;
63
+ } | undefined;
48
64
  /** Read a session's last-known settings (permission mode, plan mode) straight
49
65
  * from its on-disk transcript, so opening a session LinkShell never drove
50
66
  * shows the config it actually ran with instead of UI defaults. Claude
@@ -1,5 +1,6 @@
1
1
  import { homedir } from "node:os";
2
- import { readdirSync, existsSync, readFileSync, statSync } from "node:fs";
2
+ import { readdirSync, existsSync, readFileSync, statSync, writeFileSync } from "node:fs";
3
+ import { randomUUID } from "node:crypto";
3
4
  import { isAbsolute, join, relative, resolve } from "node:path";
4
5
  function id(prefix) {
5
6
  return `${prefix}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
@@ -350,17 +351,14 @@ export function parseClaudeJsonlSession(input) {
350
351
  * stale, the driver is gone → idle.
351
352
  * Verified against real transcripts: mid-turn+fresh→running, mid-turn+stale→
352
353
  * idle, end_turn+fresh→idle, half-written-line+fresh→running. */
353
- function deriveTranscriptStatus(text, mtimeMs, nowMs) {
354
- const FRESH_MS = 10_000;
355
- // A stale file is always idle: every non-fresh path below resolves to "idle"
356
- // (end_turn → idle, and the final `midTurn && fresh` is false when !fresh).
357
- // Short-circuit so the common case — most sessions in ~/.claude/projects are
358
- // old — costs one comparison and parses nothing.
359
- if (nowMs - mtimeMs >= FRESH_MS)
360
- return "idle";
361
- // Fresh file: find the last non-empty record by scanning backward from the
362
- // end of the string, instead of text.split() materializing every line of a
363
- // possibly-huge transcript just to read its tail.
354
+ const TRANSCRIPT_FRESH_MS = 10_000;
355
+ /** The structural half of the status verdict: does the LAST record of a
356
+ * transcript indicate an in-progress turn (awaiting/producing an assistant
357
+ * response, or a half-written trailing line)? This is purely content-derived
358
+ * — it does NOT depend on the clock — so it can be cached alongside the parsed
359
+ * metadata and reused across syncs until the file's (mtime,size) changes.
360
+ * Scans backward from the end to avoid split()-ing a possibly-huge transcript. */
361
+ function deriveTranscriptMidTurn(text) {
364
362
  let last;
365
363
  let sawUnparseableTail = false;
366
364
  let end = text.length;
@@ -380,43 +378,68 @@ function deriveTranscriptStatus(text, mtimeMs, nowMs) {
380
378
  }
381
379
  }
382
380
  if (!last)
383
- return "idle";
381
+ return false;
384
382
  const message = asRecord(last.message);
385
383
  const role = stringField(message, ["role"]) ?? stringField(last, ["type"]);
386
384
  const stop = message ? message.stop_reason ?? null : null;
387
385
  if (role === "assistant" && stop === "end_turn")
388
- return "idle";
389
- const midTurn = role === "user" ||
386
+ return false;
387
+ return (role === "user" ||
390
388
  last.type === "user" ||
391
389
  (role === "assistant" && (stop === "tool_use" || stop === null)) ||
392
- sawUnparseableTail;
393
- // fresh is implied here (we returned early when stale).
390
+ sawUnparseableTail);
391
+ }
392
+ /** Combine the (clock-independent) structural verdict with the freshness signal.
393
+ * A stale file (no writes within FRESH_MS) is always idle; a mid-turn file that
394
+ * is still being appended to is running. Cheap: one comparison + one boolean. */
395
+ function statusFromMidTurn(midTurn, mtimeMs, nowMs) {
396
+ if (nowMs - mtimeMs >= TRANSCRIPT_FRESH_MS)
397
+ return "idle";
394
398
  return midTurn ? "running" : "idle";
395
399
  }
396
- function claudeSessionMetadataFromFile(filePath, cwd, sessionId) {
397
- const stat = statSync(filePath);
400
+ /** Derive whether an on-disk Claude transcript is being actively driven RIGHT
401
+ * NOW, purely from the file. See {@link deriveTranscriptMidTurn} /
402
+ * {@link statusFromMidTurn}; kept as a convenience wrapper for callers that
403
+ * hold the full text and the clock but no cache. */
404
+ function deriveTranscriptStatus(text, mtimeMs, nowMs) {
405
+ // Stale short-circuit: most sessions in ~/.claude/projects are old, so avoid
406
+ // the backward scan entirely when the file can't possibly be running.
407
+ if (nowMs - mtimeMs >= TRANSCRIPT_FRESH_MS)
408
+ return "idle";
409
+ return statusFromMidTurn(deriveTranscriptMidTurn(text), mtimeMs, nowMs);
410
+ }
411
+ /** Parse a transcript into the clock-independent, cacheable half of its list
412
+ * metadata: everything except `status` (which depends on `now`). The caller
413
+ * layers status on via {@link statusFromMidTurn}, and can cache this result
414
+ * keyed by (path, mtime, size) so an unchanged transcript is never re-read. */
415
+ function claudeSessionBaseFromFile(filePath, cwd, sessionId, mtimeMs) {
398
416
  const text = readFileSync(filePath, "utf8");
399
417
  const parsed = parseClaudeJsonlSession({
400
418
  text,
401
419
  cwd,
402
420
  sessionId,
403
- fallbackUpdatedAt: stat.mtimeMs,
421
+ fallbackUpdatedAt: mtimeMs,
404
422
  });
405
423
  const thread = asRecord(parsed.thread) ?? {};
406
- return {
424
+ const base = {
407
425
  id: sessionId,
408
426
  cwd: stringField(thread, ["cwd", "workingDirectory", "workspacePath"]) ?? cwd,
409
427
  title: stringField(thread, ["title", "preview"]),
410
428
  model: stringField(thread, ["model"]),
411
429
  createdAt: parseTimestamp(thread.createdAt),
412
- lastActivityAt: parseTimestamp(thread.updatedAt) ?? stat.mtimeMs,
413
- lastModified: stat.mtimeMs,
430
+ lastActivityAt: parseTimestamp(thread.updatedAt) ?? mtimeMs,
431
+ lastModified: mtimeMs,
414
432
  usage: asRecord(thread.usage),
415
- // Live status read straight from the transcript, so a session another
416
- // `claude` process is actively driving shows as "running" in the list
417
- // rather than the hardcoded "idle" the workspace would otherwise assign.
418
- status: deriveTranscriptStatus(text, stat.mtimeMs, Date.now()),
419
433
  };
434
+ return { base, midTurn: deriveTranscriptMidTurn(text) };
435
+ }
436
+ function claudeSessionMetadataFromFile(filePath, cwd, sessionId) {
437
+ const stat = statSync(filePath);
438
+ const { base, midTurn } = claudeSessionBaseFromFile(filePath, cwd, sessionId, stat.mtimeMs);
439
+ // Live status read straight from the transcript, so a session another
440
+ // `claude` process is actively driving shows as "running" in the list
441
+ // rather than the hardcoded "idle" the workspace would otherwise assign.
442
+ return { ...base, status: statusFromMidTurn(midTurn, stat.mtimeMs, Date.now()) };
420
443
  }
421
444
  function isInsideCwd(cwd, candidate) {
422
445
  const root = resolve(cwd);
@@ -471,6 +494,13 @@ export class ClaudeSdkClient {
471
494
  claudeSessionId;
472
495
  abortController;
473
496
  permissionWaiters = new Map();
497
+ // Per-file cache for listSessions: an unchanged transcript (same mtime+size)
498
+ // is never re-read or re-parsed. fs.watch re-syncs fire every ~1.5s while any
499
+ // session is active, and ~/.claude/projects can hold hundreds of old
500
+ // transcripts — without this, each sync would readFileSync + fully parse
501
+ // every one of them (the "scan storm"). Only the file being actively appended
502
+ // to changes, so the steady-state cost drops to stat()+status per file.
503
+ sessionMetaCache = new Map();
474
504
  constructor(input) {
475
505
  this.input = input;
476
506
  }
@@ -533,6 +563,66 @@ export class ClaudeSdkClient {
533
563
  .map((dir) => join(dir, `${sessionId}.jsonl`))
534
564
  .find((candidate) => existsSync(candidate));
535
565
  }
566
+ /** Fork a session: copy the source transcript into a NEW session file,
567
+ * truncated to include everything up to and including the turn `uptoTurnId`
568
+ * (omitted → full clone). Claude has no native fork primitive, so this
569
+ * simulates one by writing a fresh <uuid>.jsonl alongside the source. The
570
+ * source file is NEVER modified. Turn ids match the per-line uuid/id (or the
571
+ * `claude-history-<n>` fallback) that parseClaudeJsonlSession assigns, where
572
+ * <n> counts non-empty lines — replicated here so the cut lands exactly on
573
+ * the turn the client asked for. Returns the new session id, or undefined if
574
+ * the source can't be read or the new file can't be created. */
575
+ forkSession(input) {
576
+ const sourceFile = this.resolveSessionFile(input.sourceSessionId);
577
+ if (!sourceFile)
578
+ return undefined;
579
+ let text;
580
+ try {
581
+ text = readFileSync(sourceFile, "utf8");
582
+ }
583
+ catch {
584
+ return undefined;
585
+ }
586
+ const lines = text.split("\n");
587
+ let cutIndex = lines.length - 1; // default: keep everything (full clone)
588
+ if (input.uptoTurnId) {
589
+ let nonEmpty = 0;
590
+ let found = -1;
591
+ for (let i = 0; i < lines.length; i += 1) {
592
+ const line = lines[i]?.trim();
593
+ if (!line)
594
+ continue;
595
+ nonEmpty += 1;
596
+ let turnId;
597
+ try {
598
+ const rec = asRecord(JSON.parse(line));
599
+ turnId = stringField(rec, ["uuid", "id"]) ?? `claude-history-${nonEmpty}`;
600
+ }
601
+ catch {
602
+ continue; // unparseable line — parser skips it too (index still bumped)
603
+ }
604
+ if (turnId === input.uptoTurnId) {
605
+ found = i;
606
+ break;
607
+ }
608
+ }
609
+ if (found < 0)
610
+ return undefined; // turn not found — don't silently full-clone
611
+ cutIndex = found;
612
+ }
613
+ const truncated = lines.slice(0, cutIndex + 1).join("\n") + "\n";
614
+ const newId = randomUUID();
615
+ const dir = claudeProjectDir(this.input.cwd);
616
+ const newPath = join(dir, `${newId}.jsonl`);
617
+ try {
618
+ // wx: fail if it somehow already exists — never overwrite.
619
+ writeFileSync(newPath, truncated, { flag: "wx" });
620
+ }
621
+ catch {
622
+ return undefined;
623
+ }
624
+ return { sessionId: newId };
625
+ }
536
626
  /** Read a session's last-known settings (permission mode, plan mode) straight
537
627
  * from its on-disk transcript, so opening a session LinkShell never drove
538
628
  * shows the config it actually ran with instead of UI defaults. Claude
@@ -765,6 +855,8 @@ export class ClaudeSdkClient {
765
855
  async listSessions() {
766
856
  const sessions = [];
767
857
  const seen = new Set();
858
+ const now = Date.now();
859
+ const liveKeys = new Set();
768
860
  for (const projectDir of claudeProjectDirs(this.input.cwd)) {
769
861
  try {
770
862
  for (const entry of readdirSync(projectDir)) {
@@ -774,13 +866,39 @@ export class ClaudeSdkClient {
774
866
  if (seen.has(sessionId))
775
867
  continue;
776
868
  seen.add(sessionId);
777
- sessions.push(claudeSessionMetadataFromFile(join(projectDir, entry), this.input.cwd, sessionId));
869
+ const filePath = join(projectDir, entry);
870
+ let stat;
871
+ try {
872
+ stat = statSync(filePath);
873
+ }
874
+ catch {
875
+ continue; // vanished between readdir and stat
876
+ }
877
+ liveKeys.add(filePath);
878
+ let cached = this.sessionMetaCache.get(filePath);
879
+ if (!cached || cached.mtimeMs !== stat.mtimeMs || cached.size !== stat.size) {
880
+ // Miss or stale: re-read + re-parse this ONE file, refresh the cache.
881
+ const { base, midTurn } = claudeSessionBaseFromFile(filePath, this.input.cwd, sessionId, stat.mtimeMs);
882
+ cached = { mtimeMs: stat.mtimeMs, size: stat.size, base, midTurn };
883
+ this.sessionMetaCache.set(filePath, cached);
884
+ }
885
+ // status is clock-dependent, so recompute it every call (cheap) even
886
+ // on a cache hit — a running session goes idle purely by time passing.
887
+ sessions.push({ ...cached.base, status: statusFromMidTurn(cached.midTurn, stat.mtimeMs, now) });
778
888
  }
779
889
  }
780
890
  catch {
781
891
  // Ignore unreadable Claude project storage.
782
892
  }
783
893
  }
894
+ // Drop cache entries for transcripts that no longer exist so the map can't
895
+ // grow without bound across a long-lived process.
896
+ if (this.sessionMetaCache.size > liveKeys.size) {
897
+ for (const key of this.sessionMetaCache.keys()) {
898
+ if (!liveKeys.has(key))
899
+ this.sessionMetaCache.delete(key);
900
+ }
901
+ }
784
902
  return { sessions };
785
903
  }
786
904
  async listModels() {
@@ -827,6 +945,17 @@ export class ClaudeSdkClient {
827
945
  catch {
828
946
  // supportedCommands() unavailable or failed — fall back to static defaults.
829
947
  }
948
+ // Discover MCP server status the same best-effort way. Older SDKs
949
+ // without mcpServerStatus() just leave mcpServers undefined; live
950
+ // startupStatus events still populate it. Shape is passed through
951
+ // verbatim to the workspace parser, which tolerates array/record forms.
952
+ let mcpServers;
953
+ try {
954
+ mcpServers = await q.mcpServerStatus?.();
955
+ }
956
+ catch {
957
+ // mcpServerStatus() unavailable or failed — rely on live events.
958
+ }
830
959
  if (sdkModels.length > 0) {
831
960
  // Filter to admin-configured allowlist if present, then map to our format.
832
961
  const allow = availableModels;
@@ -837,16 +966,18 @@ export class ClaudeSdkClient {
837
966
  defaultModel,
838
967
  models: filtered.map((m) => ({ id: m.value, label: m.displayName || m.value })),
839
968
  ...(commands ? { commands } : {}),
969
+ ...(mcpServers ? { mcpServers } : {}),
840
970
  };
841
971
  }
842
972
  // No models surfaced, but commands may still be present — return them
843
973
  // so the command palette stays in sync even when the model list is empty.
844
- if (commands) {
974
+ if (commands || mcpServers) {
845
975
  const fallbackModels = availableModels ?? DEFAULT_FALLBACK_MODELS;
846
976
  return {
847
977
  defaultModel,
848
978
  models: toModelEntries(fallbackModels),
849
- commands,
979
+ ...(commands ? { commands } : {}),
980
+ ...(mcpServers ? { mcpServers } : {}),
850
981
  };
851
982
  }
852
983
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude-sdk-client.js","sourceRoot":"","sources":["../../../../../src/runtime/acp/claude-sdk-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-sdk-client.js","sourceRoot":"","sources":["../../../../../src/runtime/acp/claude-sdk-client.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare class ClaudeStreamJsonClient {
6
6
  private child;
7
7
  private claudeSessionId;
8
8
  private pendingCancel;
9
+ private sessionMetaCache;
9
10
  constructor(input: {
10
11
  command: string;
11
12
  protocol: AgentProtocol;
@@ -89,6 +89,10 @@ export class ClaudeStreamJsonClient {
89
89
  child;
90
90
  claudeSessionId;
91
91
  pendingCancel = false;
92
+ // Per-file cache for listSessions: skip re-reading/parsing an unchanged
93
+ // transcript (same mtime+size). fs.watch re-syncs fire every ~1.5s, so
94
+ // without this each sync would re-parse every transcript in ~/.claude/projects.
95
+ sessionMetaCache = new Map();
92
96
  constructor(input) {
93
97
  this.input = input;
94
98
  }
@@ -452,6 +456,7 @@ export class ClaudeStreamJsonClient {
452
456
  async listSessions() {
453
457
  const sessions = [];
454
458
  const seen = new Set();
459
+ const liveKeys = new Set();
455
460
  for (const projectDir of claudeProjectDirs(this.input.cwd)) {
456
461
  try {
457
462
  for (const entry of readdirSync(projectDir)) {
@@ -462,31 +467,51 @@ export class ClaudeStreamJsonClient {
462
467
  continue;
463
468
  seen.add(sessionId);
464
469
  const filePath = join(projectDir, entry);
465
- const stat = statSync(filePath);
466
- const parsed = parseClaudeJsonlSession({
467
- text: readFileSync(filePath, "utf8"),
468
- cwd: this.input.cwd,
469
- sessionId,
470
- fallbackUpdatedAt: stat.mtimeMs,
471
- });
472
- const thread = parsed.thread && typeof parsed.thread === "object"
473
- ? parsed.thread
474
- : {};
475
- sessions.push({
476
- id: sessionId,
477
- cwd: stringField(thread, ["cwd", "workingDirectory", "workspacePath"]) ?? this.input.cwd,
478
- title: stringField(thread, ["title", "preview"]),
479
- model: stringField(thread, ["model"]),
480
- createdAt: thread.createdAt,
481
- lastActivityAt: thread.updatedAt ?? stat.mtimeMs,
482
- lastModified: stat.mtimeMs,
483
- });
470
+ let stat;
471
+ try {
472
+ stat = statSync(filePath);
473
+ }
474
+ catch {
475
+ continue; // vanished between readdir and stat
476
+ }
477
+ liveKeys.add(filePath);
478
+ let cached = this.sessionMetaCache.get(filePath);
479
+ if (!cached || cached.mtimeMs !== stat.mtimeMs || cached.size !== stat.size) {
480
+ const parsed = parseClaudeJsonlSession({
481
+ text: readFileSync(filePath, "utf8"),
482
+ cwd: this.input.cwd,
483
+ sessionId,
484
+ fallbackUpdatedAt: stat.mtimeMs,
485
+ });
486
+ const thread = parsed.thread && typeof parsed.thread === "object"
487
+ ? parsed.thread
488
+ : {};
489
+ const item = {
490
+ id: sessionId,
491
+ cwd: stringField(thread, ["cwd", "workingDirectory", "workspacePath"]) ?? this.input.cwd,
492
+ title: stringField(thread, ["title", "preview"]),
493
+ model: stringField(thread, ["model"]),
494
+ createdAt: thread.createdAt,
495
+ lastActivityAt: thread.updatedAt ?? stat.mtimeMs,
496
+ lastModified: stat.mtimeMs,
497
+ };
498
+ cached = { mtimeMs: stat.mtimeMs, size: stat.size, entry: item };
499
+ this.sessionMetaCache.set(filePath, cached);
500
+ }
501
+ sessions.push(cached.entry);
484
502
  }
485
503
  }
486
504
  catch {
487
505
  // directory read failed
488
506
  }
489
507
  }
508
+ // Prune cache entries for transcripts that no longer exist.
509
+ if (this.sessionMetaCache.size > liveKeys.size) {
510
+ for (const key of this.sessionMetaCache.keys()) {
511
+ if (!liveKeys.has(key))
512
+ this.sessionMetaCache.delete(key);
513
+ }
514
+ }
490
515
  return { sessions };
491
516
  }
492
517
  async listModels() {