@lamemind/loom-deck 0.23.0 → 0.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cli.js +12 -2
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -410,6 +410,12 @@ const WARN = sanitize('⚠');
410
410
  // largo 1 sia per string-width sia per il terminale. Corto +
411
411
  // wrap="truncate-end" così non va mai a capo nel pane al 50%.
412
412
  const SESSION_SEP = '─'.repeat(16);
413
+ // Prefisso del sessionId mostrato in lista: stesso dato e stessa lunghezza del
414
+ // widget `⛓ <8 char>` della statusline, così le due superfici si confrontano a
415
+ // occhio. `SID_W` include lo spazio che segue → è quello che il budget della
416
+ // label deve scalare.
417
+ const SID_CHARS = 8;
418
+ const SID_W = SID_CHARS + 1;
413
419
  // Marker Done per il DISPLAY. `task.prog` resta il `✔️` letto da tasks.md —
414
420
  // `isDone()` e le lookup di `view.ts` ci confrontano sopra, e `task-edit` lo
415
421
  // riscrive sul file: è una chiave semantica, non testo. Qui `sanitize` lo
@@ -1935,11 +1941,15 @@ function SessionsPane({ parentLabel, isSpot, rows, total, pinnedCount, hidden, s
1935
1941
  // di una colonna per emoji e si mangia il bordo destro.
1936
1942
  const meta = ` · ${s.gitBranch || '-'} · ${relTime(s.ts)}`;
1937
1943
  const labelBudget = Math.max(12, paneTextWidth(columns) -
1938
- (2 /* caret */ + 2 /* icona */ + 1 /* spazio */ + (forked ? 2 : 0)) -
1944
+ (2 /* caret */ +
1945
+ 2 /* icona */ +
1946
+ 1 /* spazio */ +
1947
+ SID_W /* hash + spazio */ +
1948
+ (forked ? 2 : 0)) -
1939
1949
  termWidth(meta) -
1940
1950
  1 /* spazio prima del meta */);
1941
1951
  const label = rowLabel(s.title, sessionNotes.get(s.sessionId), projectCore, labelBudget);
1942
- return (_jsxs(Text, { inverse: sel && focused, bold: sel && !focused, wrap: "truncate-end", children: [sel ? CARET : CARET_OFF, isPinnedRow ? (_jsx(Text, { color: "yellow", children: "\uD83D\uDCCC" })) : isSpot ? (_jsx(Text, { dimColor: true, children: "\u25CB" })) : (_jsx(Text, { color: "green", children: "\uD83D\uDD17" })), ' ', forked ? _jsx(Text, { color: "magenta", children: "\u2442 " }) : null, label.note ? (_jsxs(Text, { color: "yellow", bold: true, children: ["\u00AB", label.note, "\u00BB"] })) : null, label.note && label.rest ? ' ' : null, label.rest ? _jsx(Text, { dimColor: Boolean(label.note), children: label.rest }) : null, ' ', _jsxs(Text, { dimColor: true, children: ["\u00B7 ", s.gitBranch || '-', " \u00B7 ", relTime(s.ts)] })] }, s.sessionId));
1952
+ return (_jsxs(Text, { inverse: sel && focused, bold: sel && !focused, wrap: "truncate-end", children: [sel ? CARET : CARET_OFF, isPinnedRow ? (_jsx(Text, { color: "yellow", children: "\uD83D\uDCCC" })) : isSpot ? (_jsx(Text, { dimColor: true, children: "\u25CB" })) : (_jsx(Text, { color: "green", children: "\uD83D\uDD17" })), ' ', _jsx(Text, { color: "cyan", children: s.sessionId.slice(0, SID_CHARS) }), ' ', forked ? _jsx(Text, { color: "magenta", children: "\u2442 " }) : null, label.note ? (_jsxs(Text, { color: "yellow", bold: true, children: ["\u00AB", label.note, "\u00BB"] })) : null, label.note && label.rest ? ' ' : null, label.rest ? _jsx(Text, { dimColor: Boolean(label.note), children: label.rest }) : null, ' ', _jsxs(Text, { dimColor: true, children: ["\u00B7 ", s.gitBranch || '-', " \u00B7 ", relTime(s.ts)] })] }, s.sessionId));
1943
1953
  })), detail ? (_jsx(SessionDetailPane, { s: detail, firstLines: firstLines, lastLines: lastLines, columns: columns, origin: forkOf.get(detail.sessionId) ?? null, note: sessionNotes.get(detail.sessionId) ?? '' })) : null] }));
1944
1954
  }
1945
1955
  // T49 — detail pane della sessione selezionata (hover), gemello del DetailPane
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lamemind/loom-deck",
3
- "version": "0.23.0",
3
+ "version": "0.23.1",
4
4
  "description": "Deck TUI Ink per-progetto della famiglia loom: legge tasks.md e spawna sessioni Claude Code bound via LOOM_TASK",
5
5
  "type": "module",
6
6
  "bin": {