ccompactor 0.1.10 → 0.1.11

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/README.md CHANGED
@@ -58,6 +58,24 @@ Every claim carries a pointer, and the pointer works:
58
58
  ccompactor expand claude:7c1e8f82 4122..4381 --context 3
59
59
  ```
60
60
 
61
+ ## The interactive browser
62
+
63
+ ```sh
64
+ ccompactor --tui
65
+ ```
66
+
67
+ Every shortcut is also a button on the top bar, so nothing has to be memorised:
68
+
69
+ ```
70
+ ccompactor 352 of 720 all claude 352 codex 194 pi 174
71
+ [/ search] [0 all agents] [↵ quick look] [a actions] [q quit]
72
+ ```
73
+
74
+ The agent chips filter. The bar shows every action on the current screen, and the keys are printed
75
+ on the buttons so you learn them by using them. On a narrow terminal the captions drop and the keys
76
+ stay — `[a]` is still a button. Rows, chips, buttons and menu items are all clickable, and the wheel
77
+ scrolls the list and the quick look.
78
+
61
79
  ## The model is optional
62
80
 
63
81
  ```sh
package/dist/triage.js CHANGED
@@ -123,9 +123,50 @@ export function extractConstraints(ir) {
123
123
  found.push({ text, evt: message.eventIndex, markers });
124
124
  }
125
125
  }
126
- return found
127
- .sort((a, b) => b.markers.length - a.markers.length || b.evt - a.evt)
128
- .slice(0, MAX_CONSTRAINTS);
126
+ const ranked = found.sort((a, b) => b.markers.length - a.markers.length || b.evt - a.evt);
127
+ return sameRules(ranked).slice(0, MAX_CONSTRAINTS);
128
+ }
129
+ /**
130
+ * Collapse rules that were stated more than once.
131
+ *
132
+ * A standing rule is usually restated — once when it is given, again when it is
133
+ * nearly broken, again in a summary — and each restatement is worded a little
134
+ * differently, so comparing the text exactly kept all of them. The brief read:
135
+ *
136
+ * - "Never stage with git add -A or git add .; always use explicit file paths"
137
+ * - "Never git add -A/git add .; always explicit file paths"
138
+ *
139
+ * One rule, two lines, at the top of the block a reader is meant to skim. Two
140
+ * statements are the same rule when nearly all of the shorter one's words appear
141
+ * in the longer: a restatement is contained by the thing it restates, whereas
142
+ * two genuinely different rules share only the words "never" and "the".
143
+ *
144
+ * The highest-ranked wording keeps its place and the fullest wording wins, so
145
+ * merging cannot reorder the block.
146
+ */
147
+ function sameRules(constraints) {
148
+ const words = (text) => new Set(normalize(text).split(' ').filter((w) => w.length > 0));
149
+ const out = [];
150
+ for (const constraint of constraints) {
151
+ const next = words(constraint.text);
152
+ const twin = out.find((kept) => {
153
+ let shared = 0;
154
+ for (const word of next)
155
+ if (kept.words.has(word))
156
+ shared += 1;
157
+ const smaller = Math.min(kept.words.size, next.size);
158
+ return shared >= 3 && shared / smaller >= 0.8;
159
+ });
160
+ if (!twin) {
161
+ out.push({ constraint, words: next });
162
+ continue;
163
+ }
164
+ if (constraint.text.length > twin.constraint.text.length) {
165
+ twin.constraint = { ...twin.constraint, text: constraint.text, evt: constraint.evt };
166
+ twin.words = next;
167
+ }
168
+ }
169
+ return out.map((entry) => entry.constraint);
129
170
  }
130
171
  /** The clause with the pleasantries removed, so the directive can be tested. */
131
172
  function directiveHead(lower) {
@@ -1 +1 @@
1
- {"version":3,"file":"triage.js","sourceRoot":"","sources":["../src/triage.ts"],"names":[],"mappings":"AAyBA,6EAA6E;AAC7E,MAAM,UAAU,GAA8B;IAC5C,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACnD;QACE,oBAAoB;QACpB;YACE,SAAS;YACT,QAAQ;YACR,OAAO;YACP,eAAe;YACf,iBAAiB;YACjB,cAAc;YACd,iBAAiB;YACjB,gBAAgB;YAChB,mBAAmB;YACnB,WAAW;SACZ;KACF;IACD;QACE,oBAAoB;QACpB,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,kBAAkB,CAAC;KACxF;IACD;QACE,aAAa;QACb;YACE,cAAc;YACd,aAAa;YACb,aAAa;YACb,eAAe;YACf,cAAc;YACd,eAAe;YACf,cAAc;YACd,eAAe;YACf,cAAc;YACd,WAAW;SACZ;KACF;IACD,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,uBAAuB,EAAE,oBAAoB,CAAC,CAAC;IACpH,CAAC,UAAU,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC,aAAa,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;CAC1D,CAAA;AAED,8DAA8D;AAC9D,MAAM,OAAO,GAAG;IACd,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,IAAI;IACJ,MAAM;IACN,SAAS;IACT,QAAQ;IACR,aAAa;IACb,SAAS;IACT,MAAM;CACP,CAAA;AAED;;;;;;;GAOG;AACH;;;;;;;;;;;;;GAaG;AACH,MAAM,kBAAkB,GAAG;IACzB,wBAAwB;IACxB,yBAAyB;IACzB,uCAAuC;IACvC,8CAA8C;CAC/C,CAAA;AAED,MAAM,aAAa,GAAG;IACpB,wCAAwC;IACxC,yDAAyD;CAC1D,CAAA;AAED,2EAA2E;AAC3E,MAAM,SAAS,GAAG,GAAG,CAAA;AACrB,MAAM,eAAe,GAAG,EAAE,CAAA;AAE1B,MAAM,UAAU,kBAAkB,CAAC,EAAa;IAC9C,MAAM,KAAK,GAAiB,EAAE,CAAA;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAE9B,KAAK,MAAM,OAAO,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,OAAO,CAAC,IAAI;YAAE,SAAQ;QACnD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC5B,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAQ;YACrE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;YAChC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAQ;YACxD,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAE,SAAQ;YAClE,IAAI,SAAS,CAAC,IAAI,CAAC;gBAAE,SAAQ;YAC7B,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAAE,SAAQ;YACtE,wEAAwE;YACxE,uBAAuB;YACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAQ;YACzD,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;YACjC,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAChD,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAClD,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAA;YAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAQ;YAClC,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;YAC3B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAQ;YAC/C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACb,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAED,OAAO,KAAK;SACT,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;SACpE,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAA;AAC9B,CAAC;AAED,gFAAgF;AAChF,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;IAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1C,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBACtC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;oBACtC,OAAO,GAAG,IAAI,CAAA;oBACd,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,MAAK;IACrB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,sEAAsE;AACtE,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAA;IACrF,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;AACvE,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,GAAG,CAAC,OAAO,CAAA;YAClB,SAAQ;QACV,CAAC;QACD,IAAI,OAAO;YAAE,SAAQ;QACrB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,KAAK,CAAC,QAAgB;IAC7B,OAAO,QAAQ;SACZ,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;SAC/B,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;SACtB,IAAI,EAAE,CAAA;AACX,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,IAAI,EAAE,CAAA;AACX,CAAC"}
1
+ {"version":3,"file":"triage.js","sourceRoot":"","sources":["../src/triage.ts"],"names":[],"mappings":"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"}
package/dist/tui/App.js CHANGED
@@ -25,9 +25,20 @@ import { extractSession } from '../extract.js';
25
25
  import { plan, installed } from '../handoff/index.js';
26
26
  import { THEME, hazard, sizeLabel } from './theme.js';
27
27
  import { enableMouse, readMouse } from './mouse.js';
28
+ import { barCells, inSpan, layoutCells } from './bar.js';
28
29
  import { loadDetails } from './details.js';
29
- /** The terminal row the first session row occupies. Fixed, so a click maps. */
30
- const LIST_TOP = 4;
30
+ /**
31
+ * Terminal rows, 1-based, that a click is measured against.
32
+ *
33
+ * Every screen puts the stripe, the title chips and the action bar on rows 1-3,
34
+ * so a click means the same thing on all of them and the arithmetic stays in one
35
+ * place. The row below the bar is a column header on the browse screen and a
36
+ * question on the menu screens; either way the first thing you can click is 5.
37
+ */
38
+ const ROW_CHIPS = 2;
39
+ const ROW_BAR = 3;
40
+ const LIST_TOP = 5;
41
+ const MENU_TOP = 5;
31
42
  /**
32
43
  * How large a transcript may be before the table stops reading it in the
33
44
  * background. Above this the row shows a size and a date, and the rest arrives
@@ -37,8 +48,13 @@ const PREFILL_MAX_BYTES = 32 * 1024 * 1024;
37
48
  export function App({ outDir, anyProject, onDone }) {
38
49
  const { exit } = useApp();
39
50
  const { stdout } = useStdout();
40
- const columns = stdout?.columns ?? 100;
41
- const rows = stdout?.rows ?? 30;
51
+ // Not `?? 100`: a pty with no window size reports 0, and 0 is not nullish, so
52
+ // every layout decision saw a zero-width terminal and collapsed to a single
53
+ // button. A width too small to draw anything is a width we do not know.
54
+ const rawColumns = stdout?.columns;
55
+ const columns = rawColumns !== undefined && rawColumns >= 20 ? rawColumns : 100;
56
+ const rawRows = stdout?.rows;
57
+ const rows = rawRows !== undefined && rawRows >= 8 ? rawRows : 30;
42
58
  const [sessions, setSessions] = useState([]);
43
59
  const [loading, setLoading] = useState('scanning agent stores …');
44
60
  const [query, setQuery] = useState('');
@@ -286,23 +302,131 @@ export function App({ outDir, anyProject, onDone }) {
286
302
  setPreviewScroll(0);
287
303
  setScreen('preview');
288
304
  }, []);
289
- // ---- mouse --------------------------------------------------------------
290
- useEffect(() => {
291
- const stop = enableMouse(process.stdout);
292
- const onData = (chunk) => {
293
- const text = typeof chunk === 'string' ? chunk : chunk.toString('utf8');
294
- const { events } = readMouse(text);
295
- for (const event of events)
296
- handleMouse(event);
297
- };
298
- process.stdin.on('data', onData);
299
- return () => {
300
- process.stdin.off('data', onData);
301
- stop();
302
- };
303
- // eslint-disable-next-line react-hooks/exhaustive-deps
304
- }, [screen, cursor, offset, filtered.length, previewScroll, cache]);
305
+ // ---- the top bar --------------------------------------------------------
306
+ const runSelectedAction = useCallback(() => {
307
+ const action = actions[actionIndex];
308
+ if (!action)
309
+ return;
310
+ if (action.id === 'handoff' || action.id === 'handoff-run') {
311
+ setTargetIndex(0);
312
+ setScreen('target');
313
+ return;
314
+ }
315
+ void run(action.id);
316
+ }, [actions, actionIndex, run]);
317
+ const runSelectedTarget = useCallback(() => {
318
+ const action = actions[actionIndex];
319
+ const target = targets[targetIndex];
320
+ if (action && target)
321
+ void run(action.id, target);
322
+ }, [actions, actionIndex, targetIndex, targets, run]);
323
+ /**
324
+ * The buttons for this screen. The key handler calls these same functions, so
325
+ * a click and a keystroke cannot drift apart — there is one implementation per
326
+ * action and two ways to reach it.
327
+ */
328
+ const barButtons = (() => {
329
+ if (screen === 'browse') {
330
+ return [
331
+ {
332
+ id: 'search',
333
+ key: '/',
334
+ label: 'search',
335
+ run: () => {
336
+ setSearching(true);
337
+ setQuery('');
338
+ },
339
+ },
340
+ {
341
+ id: 'all',
342
+ key: '0',
343
+ label: 'all agents',
344
+ run: () => {
345
+ setAgentsOff(new Set());
346
+ setCursor(0);
347
+ },
348
+ },
349
+ { id: 'open', key: '↵', label: 'quick look', run: openPreview },
350
+ { id: 'actions', key: 'a', label: 'actions', run: openActions },
351
+ {
352
+ id: 'quit',
353
+ key: 'q',
354
+ label: 'quit',
355
+ run: () => {
356
+ exit();
357
+ onDone(0);
358
+ },
359
+ },
360
+ ];
361
+ }
362
+ if (screen === 'preview') {
363
+ return [
364
+ { id: 'actions', key: 'a', label: 'actions', run: openActions },
365
+ { id: 'back', key: 'esc', label: 'back to the list', run: () => setScreen('browse') },
366
+ ];
367
+ }
368
+ if (screen === 'actions') {
369
+ return [
370
+ { id: 'run', key: '↵', label: 'run this', run: runSelectedAction },
371
+ { id: 'back', key: 'esc', label: 'back to the list', run: () => setScreen('browse') },
372
+ ];
373
+ }
374
+ if (screen === 'target') {
375
+ return [
376
+ { id: 'fork', key: '↵', label: 'continue in this agent', run: runSelectedTarget },
377
+ { id: 'back', key: 'esc', label: 'back', run: () => setScreen('actions') },
378
+ ];
379
+ }
380
+ if (screen === 'done') {
381
+ return [{ id: 'back', key: '↵', label: 'back to the list', run: () => setScreen('browse') }];
382
+ }
383
+ return [];
384
+ })();
385
+ const barSpans = barCells(barButtons, columns);
386
+ // The title and the counts are cells too, so the chips that follow are drawn
387
+ // and hit-tested at the same columns.
388
+ const chipCells = [
389
+ { id: 'title', text: ' ccompactor ' },
390
+ { id: 'count', text: ` ${filtered.length} of ${sessions.length} ` },
391
+ { id: 'agent:all', text: ' all ' },
392
+ ...agents.map(([agent, count]) => ({ id: `agent:${agent}`, text: ` ${agent} ${count} ` })),
393
+ ];
394
+ const chipSpans = layoutCells(chipCells, columns);
395
+ /**
396
+ * Act on a click at `x` on terminal row `row`.
397
+ *
398
+ * The row has to select which row's spans are searched. Looking through all of
399
+ * them and taking the first whose columns match sent a click on the `claude`
400
+ * chip at column 38 to the `[↵ quick look]` button, which happens to cover the
401
+ * same columns one row down — so filtering by agent opened the preview instead.
402
+ */
403
+ function clickCell(row, x) {
404
+ if (row === ROW_BAR) {
405
+ const bar = barSpans.find((span) => inSpan(span, x));
406
+ if (bar)
407
+ barButtons.find((b) => b.id === bar.id)?.run();
408
+ return;
409
+ }
410
+ const chip = chipSpans.find((span) => inSpan(span, x));
411
+ if (!chip || !chip.id.startsWith('agent:'))
412
+ return;
413
+ const agent = chip.id.slice('agent:'.length);
414
+ if (agent === 'all') {
415
+ setAgentsOff(new Set());
416
+ setCursor(0);
417
+ return;
418
+ }
419
+ setAgentFilter(agent);
420
+ }
305
421
  function handleMouse(event) {
422
+ if (event.kind === 'click') {
423
+ // The bar and the chips first: they sit on every screen, and a click that
424
+ // lands on one must not also be read as a list row.
425
+ if (event.y === ROW_BAR || event.y === ROW_CHIPS) {
426
+ clickCell(event.y, event.x);
427
+ return;
428
+ }
429
+ }
306
430
  if (screen === 'browse') {
307
431
  if (event.kind === 'wheel-up') {
308
432
  setCursor((c) => Math.max(0, c - 3));
@@ -326,10 +450,80 @@ export function App({ outDir, anyProject, onDone }) {
326
450
  setPreviewScroll((s) => Math.max(0, s - 3));
327
451
  if (event.kind === 'wheel-down')
328
452
  setPreviewScroll((s) => s + 3);
453
+ return;
454
+ }
455
+ if (screen === 'actions' || screen === 'target') {
456
+ const both = screen === 'actions' ? actions.length : targets.length;
457
+ if (event.kind === 'wheel-up') {
458
+ const step = (i) => Math.max(0, i - 1);
459
+ if (screen === 'actions')
460
+ setActionIndex(step);
461
+ else
462
+ setTargetIndex(step);
463
+ return;
464
+ }
465
+ if (event.kind === 'wheel-down') {
466
+ const step = (i) => Math.min(both - 1, i + 1);
467
+ if (screen === 'actions')
468
+ setActionIndex(step);
469
+ else
470
+ setTargetIndex(step);
471
+ return;
472
+ }
473
+ if (event.kind === 'click') {
474
+ const row = event.y - MENU_TOP;
475
+ if (row < 0 || row >= both)
476
+ return;
477
+ // A click on a menu item runs it, which is what clicking a menu item
478
+ // does everywhere else.
479
+ if (screen === 'actions') {
480
+ setActionIndex(row);
481
+ const action = actions[row];
482
+ if (!action)
483
+ return;
484
+ if (action.id === 'handoff' || action.id === 'handoff-run') {
485
+ setTargetIndex(0);
486
+ setScreen('target');
487
+ return;
488
+ }
489
+ void run(action.id);
490
+ }
491
+ else {
492
+ setTargetIndex(row);
493
+ const target = targets[row];
494
+ const action = actions[actionIndex];
495
+ if (action && target)
496
+ void run(action.id, target);
497
+ }
498
+ }
329
499
  }
330
500
  }
501
+ // The listener is installed once and reads the handler through a ref. Written
502
+ // the other way it has to list every value the handler closes over, and a
503
+ // missed dependency silently freezes a click on a stale screen.
504
+ const mouseRef = useRef(handleMouse);
505
+ mouseRef.current = handleMouse;
506
+ useEffect(() => {
507
+ const stop = enableMouse(process.stdout);
508
+ const onData = (chunk) => {
509
+ const text = typeof chunk === 'string' ? chunk : chunk.toString('utf8');
510
+ for (const event of readMouse(text).events)
511
+ mouseRef.current(event);
512
+ };
513
+ process.stdin.on('data', onData);
514
+ return () => {
515
+ process.stdin.off('data', onData);
516
+ stop();
517
+ };
518
+ }, []);
331
519
  // ---- keys ---------------------------------------------------------------
332
520
  useInput((input, key) => {
521
+ // Mouse sequences arrive on the same stream and Ink's key parser hands the
522
+ // unrecognised remainder through as typed text, so a click while the search
523
+ // box is open spelled `[<0;3;3M` into the query. `mouse.ts` consumes them
524
+ // for its own use; this stops the leftovers reaching a text field.
525
+ if (/\u001b?\[<\d+;\d+;\d+[Mm]/.test(input))
526
+ return;
333
527
  if (key.ctrl && input === 'c') {
334
528
  exit();
335
529
  onDone(0);
@@ -350,17 +544,8 @@ export function App({ outDir, anyProject, onDone }) {
350
544
  setActionIndex((i) => Math.min(actions.length - 1, i + 1));
351
545
  if (key.escape)
352
546
  setScreen('browse');
353
- if (key.return) {
354
- const action = actions[actionIndex];
355
- if (!action)
356
- return;
357
- if (action.id === 'handoff' || action.id === 'handoff-run') {
358
- setTargetIndex(0);
359
- setScreen('target');
360
- return;
361
- }
362
- void run(action.id);
363
- }
547
+ if (key.return)
548
+ runSelectedAction();
364
549
  return;
365
550
  }
366
551
  if (screen === 'target') {
@@ -370,12 +555,8 @@ export function App({ outDir, anyProject, onDone }) {
370
555
  setTargetIndex((i) => Math.min(targets.length - 1, i + 1));
371
556
  if (key.escape)
372
557
  setScreen('actions');
373
- if (key.return) {
374
- const action = actions[actionIndex];
375
- const target = targets[targetIndex];
376
- if (action && target)
377
- void run(action.id, target);
378
- }
558
+ if (key.return)
559
+ runSelectedTarget();
379
560
  return;
380
561
  }
381
562
  if (screen === 'preview') {
@@ -452,29 +633,40 @@ export function App({ outDir, anyProject, onDone }) {
452
633
  if (loading)
453
634
  return _jsx(Text, { color: THEME.yellow, children: loading });
454
635
  const layout = layoutFor(columns, filtered.length > 0 ? filtered : sessions);
455
- const chips = (_jsxs(Box, { children: [_jsx(Text, { bold: true, backgroundColor: THEME.yellow, color: THEME.onYellow, children: ' ccompactor ' }), _jsxs(Text, { color: THEME.muted, children: [' ', filtered.length, " of ", sessions.length, ' '] }), agents.map(([agent, count]) => {
456
- const off = agentsOff.has(agent);
457
- return (_jsx(Text, { ...(off
458
- ? { color: THEME.muted }
459
- : { backgroundColor: THEME.yellow, color: THEME.onYellow, bold: true }), children: ` ${agent} ${count} ` }, agent));
460
- }), _jsx(Text, { color: THEME.muted, children: agentsOff.size > 0 ? ' press 0 for all' : '' })] }));
636
+ const chips = (_jsx(Box, { children: chipSpans.map((span, i) => {
637
+ const prefix = i > 0 ? ' ' : '';
638
+ if (span.id === 'title') {
639
+ return (_jsx(Text, { bold: true, backgroundColor: THEME.yellow, color: THEME.onYellow, children: span.text }, span.id));
640
+ }
641
+ if (span.id === 'count') {
642
+ return (_jsx(Text, { color: THEME.muted, children: span.text }, span.id));
643
+ }
644
+ const agent = span.id.slice('agent:'.length);
645
+ const on = agent === 'all' ? agentsOff.size === 0 : !agentsOff.has(agent);
646
+ return (_jsx(Text, { ...(on
647
+ ? { backgroundColor: THEME.yellow, color: THEME.onYellow, bold: true }
648
+ : { color: THEME.muted }), children: prefix + span.text }, span.id));
649
+ }) }));
650
+ // The action bar. Every shortcut on this screen is also a button, so the
651
+ // screen can be driven without knowing any of them.
652
+ const actionBar = (_jsxs(Box, { children: [barSpans.map((span, i) => (_jsx(Text, { backgroundColor: THEME.yellow, color: THEME.onYellow, bold: true, children: (i > 0 ? ' ' : '') + span.text }, span.id))), barSpans.length === 0 && _jsx(Text, { children: " " })] }));
653
+ // The bar carries the actions, so this line only has to explain the things
654
+ // that are not buttons: moving around.
461
655
  const hints = screen === 'browse'
462
- ? 'c/x/p filter agent · 0 all · / search · ↑↓ wheel · enter or click quick look · a actions · q quit'
656
+ ? `${sessions.length > visibleRows ? `${cursor + 1}/${filtered.length} · ` : ''}click a row, scroll, or type c/x/p// to narrow`
463
657
  : screen === 'preview'
464
- ? '↑↓ or wheel scroll · a actions · esc back'
465
- : screen === 'actions'
466
- ? '↑↓ choose · enter run · esc back'
467
- : screen === 'target'
468
- ? '↑↓ choose the agent to continue in · enter fork · esc back'
469
- : '';
470
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { children: hazard(columns).map((cell, i) => (_jsx(Text, { color: cell.dim ? THEME.stripeDim : THEME.yellow, children: cell.ch }, i))) }), chips, screen === 'browse' && (_jsxs(_Fragment, { children: [_jsx(Columns, { layout: layout, width: columns }), _jsx(Box, { flexDirection: "column", children: filtered.slice(offset, offset + visibleRows).map((ref, i) => {
658
+ ? 'scroll with the wheel or ↑↓'
659
+ : screen === 'actions' || screen === 'target'
660
+ ? 'click an item, or ↑↓ then enter'
661
+ : '';
662
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { children: hazard(columns).map((cell, i) => (_jsx(Text, { color: cell.dim ? THEME.stripeDim : THEME.yellow, children: cell.ch }, i))) }), chips, actionBar, screen === 'browse' && (_jsxs(_Fragment, { children: [_jsx(Columns, { layout: layout, width: columns }), _jsx(Box, { flexDirection: "column", children: filtered.slice(offset, offset + visibleRows).map((ref, i) => {
471
663
  const index = offset + i;
472
664
  const active = index === cursor;
473
665
  const meta = cache.get(`${ref.agent}:${ref.id}`);
474
666
  return (_jsx(Row, { ref_: ref, active: active, layout: layout, details: meta }, ref.path));
475
- }) })] })), screen === 'preview' && selected && (_jsx(Preview, { ref_: selected, details: cache.get(`${selected.agent}:${selected.id}`), scroll: previewScroll, height: visibleRows + 2, width: columns })), screen === 'actions' && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { bold: true, color: THEME.yellowInk, children: ["What do you want to do with ", selected?.agent, ":", selected?.id.slice(0, 8), "?"] }), actions.map((action, i) => (_jsxs(Text, { ...(i === actionIndex
667
+ }) })] })), screen === 'preview' && selected && (_jsx(Preview, { ref_: selected, details: cache.get(`${selected.agent}:${selected.id}`), scroll: previewScroll, height: visibleRows + 2, width: columns })), screen === 'actions' && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { bold: true, color: THEME.yellowInk, children: ["What do you want to do with ", selected?.agent, ":", selected?.id.slice(0, 8), "?"] }), actions.map((action, i) => (_jsxs(Text, { ...(i === actionIndex
476
668
  ? { backgroundColor: THEME.yellow, color: THEME.onYellow, bold: true }
477
- : {}), children: [i === actionIndex ? '❯ ' : ' ', action.label, _jsxs(Text, { color: i === actionIndex ? THEME.onYellow : THEME.muted, children: [' ', action.detail] })] }, action.id)))] })), screen === 'target' && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, color: THEME.yellowInk, children: "Continue this session in which agent?" }), targets.length === 0 && _jsx(Text, { color: THEME.muted, children: "none found on PATH" }), targets.map((target, i) => (_jsxs(Text, { ...(i === targetIndex
669
+ : {}), children: [i === actionIndex ? '❯ ' : ' ', action.label, _jsxs(Text, { color: i === actionIndex ? THEME.onYellow : THEME.muted, children: [' ', action.detail] })] }, action.id)))] })), screen === 'target' && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: THEME.yellowInk, children: "Continue this session in which agent?" }), targets.length === 0 && _jsx(Text, { color: THEME.muted, children: "none found on PATH" }), targets.map((target, i) => (_jsxs(Text, { ...(i === targetIndex
478
670
  ? { backgroundColor: THEME.yellow, color: THEME.onYellow, bold: true }
479
671
  : {}), children: [i === targetIndex ? '❯ ' : ' ', target] }, target)))] })), screen === 'running' && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { bold: true, color: THEME.yellowInk, children: ["working on ", selected?.agent, ":", selected?.id.slice(0, 8), " \u2026 ", elapsedLabel()] }), progress.slice(-6).map((line, i) => (_jsxs(Text, { color: THEME.muted, children: [' ', line] }, i)))] })), screen === 'done' && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [error ? (_jsxs(Text, { color: "#FF6B6B", children: ["error: ", error] })) : (_jsx(Text, { bold: true, color: THEME.yellowInk, children: "done" })), results.map((line, i) => (_jsxs(Text, { color: THEME.muted, children: [' ', line] }, i))), lastArtifact && (_jsxs(Text, { color: THEME.muted, children: [' ', "read it: ", lastArtifact] })), _jsx(Text, { color: THEME.muted, children: "press enter to go back" })] })), status.length > 0 && _jsx(Text, { color: THEME.yellowInk, children: status }), searching && screen === 'browse' && (_jsxs(Box, { children: [_jsxs(Text, { bold: true, color: THEME.yellow, children: ["search:", ' '] }), _jsx(Text, { children: query }), _jsx(Text, { color: THEME.yellowInk, children: "\u258F" })] })), screen !== 'done' && screen !== 'running' && hints.length > 0 && (_jsx(Text, { color: THEME.muted, children: hints }))] }));
480
672
  function elapsedLabel() {
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * The clickable top bar.
3
+ *
4
+ * Kept out of `App.tsx` so the arithmetic can be tested without a terminal: the
5
+ * bug this replaces was a click landing on a button one row below the one it was
6
+ * drawn on, and that is a column calculation, not a rendering question.
7
+ */
8
+ /** One clickable cell of the top bar. */
9
+ export interface BarButton {
10
+ id: string;
11
+ /** The key that does the same thing, shown so the shortcut is learned. */
12
+ key: string;
13
+ label: string;
14
+ run: () => void;
15
+ }
16
+ /** Where a cell landed on a row, in 0-based columns. */
17
+ export interface Span {
18
+ id: string;
19
+ text: string;
20
+ start: number;
21
+ end: number;
22
+ }
23
+ export declare function measure(cells: string[]): number;
24
+ /**
25
+ * Lay cells out on one row and remember where each one landed.
26
+ *
27
+ * The rendering and the hit-testing both read this result rather than each
28
+ * computing its own idea of the columns: a button drawn in one place and
29
+ * clicked in another is worse than no button at all.
30
+ */
31
+ export declare function layoutCells(cells: Array<{
32
+ id: string;
33
+ text: string;
34
+ }>, columns: number): Span[];
35
+ /**
36
+ * The action bar's cells.
37
+ *
38
+ * A narrow terminal loses the caption before it loses the button: `[a actions]`
39
+ * becomes `[a]`, which is still a target you can hit, just a less explanatory
40
+ * one. Only when even that overflows does a button drop off the end.
41
+ */
42
+ export declare function barCells(buttons: BarButton[], columns: number): Span[];
43
+ /** Is a 1-based terminal column inside a span? */
44
+ export declare function inSpan(span: Span, x: number): boolean;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * The clickable top bar.
3
+ *
4
+ * Kept out of `App.tsx` so the arithmetic can be tested without a terminal: the
5
+ * bug this replaces was a click landing on a button one row below the one it was
6
+ * drawn on, and that is a column calculation, not a rendering question.
7
+ */
8
+ export function measure(cells) {
9
+ return cells.reduce((n, c) => n + c.length, 0) + cells.length - 1;
10
+ }
11
+ /**
12
+ * Lay cells out on one row and remember where each one landed.
13
+ *
14
+ * The rendering and the hit-testing both read this result rather than each
15
+ * computing its own idea of the columns: a button drawn in one place and
16
+ * clicked in another is worse than no button at all.
17
+ */
18
+ export function layoutCells(cells, columns) {
19
+ let chosen = cells;
20
+ if (measure(chosen.map((c) => c.text)) > columns) {
21
+ // Drop whole cells off the end rather than let Ink wrap them onto a row the
22
+ // mouse is not measuring. The keyboard still reaches what is dropped.
23
+ chosen = chosen.slice();
24
+ while (chosen.length > 1 && measure(chosen.map((c) => c.text)) > columns)
25
+ chosen.pop();
26
+ }
27
+ const spans = [];
28
+ let at = 0;
29
+ chosen.forEach((cell, i) => {
30
+ if (i > 0)
31
+ at += 1;
32
+ spans.push({ id: cell.id, text: cell.text, start: at, end: at + cell.text.length - 1 });
33
+ at += cell.text.length;
34
+ });
35
+ return spans;
36
+ }
37
+ /**
38
+ * The action bar's cells.
39
+ *
40
+ * A narrow terminal loses the caption before it loses the button: `[a actions]`
41
+ * becomes `[a]`, which is still a target you can hit, just a less explanatory
42
+ * one. Only when even that overflows does a button drop off the end.
43
+ */
44
+ export function barCells(buttons, columns) {
45
+ const full = buttons.map((b) => ({ id: b.id, text: `[${b.key} ${b.label}]` }));
46
+ const short = buttons.map((b) => ({ id: b.id, text: `[${b.key}]` }));
47
+ return layoutCells(measure(full.map((c) => c.text)) <= columns ? full : short, columns);
48
+ }
49
+ /** Is a 1-based terminal column inside a span? */
50
+ export function inSpan(span, x) {
51
+ return x - 1 >= span.start && x - 1 <= span.end;
52
+ }
53
+ //# sourceMappingURL=bar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bar.js","sourceRoot":"","sources":["../../src/tui/bar.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmBH,MAAM,UAAU,OAAO,CAAC,KAAe;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;AACnE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CACzB,KAA0C,EAC1C,OAAe;IAEf,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC;QACjD,4EAA4E;QAC5E,sEAAsE;QACtE,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;QACvB,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO;YAAE,MAAM,CAAC,GAAG,EAAE,CAAA;IACxF,CAAC;IACD,MAAM,KAAK,GAAW,EAAE,CAAA;IACxB,IAAI,EAAE,GAAG,CAAC,CAAA;IACV,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACzB,IAAI,CAAC,GAAG,CAAC;YAAE,EAAE,IAAI,CAAC,CAAA;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAA;QACvF,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;IACxB,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAoB,EAAE,OAAe;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAA;IAC9E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAA;IACpE,OAAO,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AACzF,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,MAAM,CAAC,IAAU,EAAE,CAAS;IAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAA;AACjD,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "0.1.10";
1
+ export declare const VERSION = "0.1.11";
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  // Generated by scripts/gen-version.mjs from package.json. Do not edit.
2
- export const VERSION = '0.1.10';
2
+ export const VERSION = '0.1.11';
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccompactor",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "description": "Extract any coding-agent session (Claude Code, Codex, Pi) into a compact, verified, provenance-linked handoff that any other agent can continue from.",
5
5
  "type": "module",
6
6
  "license": "MIT",