braindump 1.0.0 → 1.1.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.
package/README.md CHANGED
@@ -35,7 +35,7 @@ npm link
35
35
  ## Quick Start
36
36
 
37
37
  ```bash
38
- # Interactive mode — run with no args in a terminal
38
+ # Interactive mode — gradient logo, agent dashboard, arrow-key menu
39
39
  braindump
40
40
 
41
41
  # Detect installed agents
@@ -44,6 +44,9 @@ braindump detect
44
44
  # Full handoff — capture, compress, generate resume prompt
45
45
  braindump handoff
46
46
 
47
+ # Shortcut — handoff a specific session (no subcommand needed)
48
+ braindump --session <id>
49
+
47
50
  # Target a specific agent for the resume format
48
51
  braindump handoff --target cursor
49
52
 
@@ -65,13 +68,39 @@ braindump watch
65
68
 
66
69
  ## Interactive TUI
67
70
 
68
- Run `braindump` with no arguments in a terminal to get an interactive session picker:
71
+ Run `braindump` with no arguments in a terminal to get the interactive dashboard:
72
+
73
+ ```
74
+ __ _ __
75
+ / /_ _________ _(_)___ ____/ /_ ______ ___ ____ ← violet
76
+ / __ \/ ___/ __ `/ / __ \/ __ / / / / __ `__ \/ __ \
77
+ / /_/ / / / /_/ / / / / / /_/ / /_/ / / / / / / /_/ /
78
+ /_.___/_/ \__,_/_/_/ /_/\__,_/\__,_/_/ /_/ /_/ .___/ ← blue
79
+ /_/
80
+
81
+ braindump v1.1.1 | Seamless AI agent handoffs
82
+
83
+ Agents
84
+ ● Claude Code 12 sessions 2m ago
85
+ ● Cursor 3 sessions 1h ago
86
+ ○ Codex installed
87
+ × Copilot not found
88
+
89
+ What would you like to do?
90
+
91
+ ❯ Handoff session Transfer to another agent
92
+ List sessions Browse all captured sessions
93
+ Detect agents Scan system for AI tools
94
+ Watch mode Monitor for rate limits
95
+ Help Show commands & options
96
+ ```
69
97
 
70
- 1. Scans all 7 agents for sessions
71
- 2. Lets you filter by project or agent
72
- 3. Pick a session from a scrollable list
73
- 4. Choose your target tool
74
- 5. Auto-launches the target with the handoff prompt
98
+ Features:
99
+ - Gradient ASCII logo (violet blue)
100
+ - Live agent dashboard scans all 7 agents for sessions, shows counts and recency
101
+ - Arrow-key and vim (j/k) navigation with scroll indicators
102
+ - Custom purple-themed `--help` output
103
+ - No external TUI dependencies — raw ANSI escape codes
75
104
 
76
105
  ## Commands
77
106
 
@@ -88,6 +117,8 @@ braindump info Show agent paths and config
88
117
 
89
118
  ### Handoff Options
90
119
 
120
+ These flags work both as `braindump handoff --flag` and as top-level shortcuts `braindump --flag`:
121
+
91
122
  ```
92
123
  -s, --source <agent> Source agent. Auto-detected if omitted.
93
124
  -t, --target <target> Target agent or "file"/"clipboard". Default: file + clipboard.
@@ -204,19 +235,22 @@ src/
204
235
  │ ├── file-provider.ts # Writes .handoff/RESUME.md
205
236
  │ └── clipboard-provider.ts # Copies to system clipboard
206
237
  ├── types/index.ts # All TypeScript interfaces
207
- └── cli/index.ts # Commander.js CLI entry point
238
+ └── cli/
239
+ ├── index.ts # Commander.js CLI entry point
240
+ ├── tui.ts # Custom ANSI select prompt (no deps)
241
+ └── utils.ts # Colors, gradient logo, dashboard, helpers
208
242
  ```
209
243
 
210
244
  ## Tests
211
245
 
212
- 125 tests passing across 15 test files:
246
+ 139 tests passing across 13 test files:
213
247
  - Adapter tests for all 7 agents with real JSONL/SQLite/YAML/JSON parsing
214
248
  - Compression engine tests across all priority layers
215
249
  - Conversation analyzer tests
216
250
  - Prompt builder tests including target-agent hints
217
251
  - Watcher tests with mocked adapters and fake timers
218
252
  - End-to-end handoff flow integration tests
219
- - Validation schema tests
253
+ - TUI tests for key parsing and option rendering
220
254
 
221
255
  ## CI
222
256
 
@@ -226,6 +260,8 @@ GitHub Actions runs on every PR and push to main:
226
260
  - Build
227
261
  - Node.js 18, 20, 22
228
262
 
263
+ Auto-publishes to npm on `v*` tags with provenance.
264
+
229
265
  ## License
230
266
 
231
267
  MIT
package/dist/cli/index.js CHANGED
@@ -12,7 +12,8 @@ import { AGENT_REGISTRY, getUsableTokenBudget } from "../core/registry.js";
12
12
  import { Watcher } from "../core/watcher.js";
13
13
  import { launchTool, getInstalledTools } from "../core/launcher.js";
14
14
  import { getCachedIndex, writeCachedIndex } from "../core/session-cache.js";
15
- import { resolveOutputPath, relativeTime, formatBox, formatErrorBox, hint, banner, intro, } from "./utils.js";
15
+ import { resolveOutputPath, relativeTime, formatBox, formatErrorBox, hint, intro, colors, gradientLogo, agentDashboard, styledHelp, } from "./utils.js";
16
+ import { select, isCancel } from "./tui.js";
16
17
  // --- verbose logger ---
17
18
  let verbose = false;
18
19
  function debug(...args) {
@@ -24,11 +25,21 @@ const program = new Command();
24
25
  program
25
26
  .name("braindump")
26
27
  .description("Capture your AI coding agent session and continue in a different agent.")
27
- .version("1.0.0");
28
+ .version("1.1.1")
29
+ .option("-s, --source <agent>", "Source agent")
30
+ .option("-t, --target <target>", "Target agent or delivery method")
31
+ .option("--session <id>", "Specific session ID")
32
+ .option("-p, --project <path>", "Project path")
33
+ .option("--tokens <n>", "Token budget override")
34
+ .option("--dry-run", "Preview what would be captured without writing files")
35
+ .option("--no-clipboard", "Skip clipboard copy")
36
+ .option("-o, --output <path>", "Custom output path for RESUME.md")
37
+ .option("--launch", "Auto-launch target tool after handoff")
38
+ .option("-v, --verbose", "Show detailed debug output");
28
39
  // --- supported agents list for error messages ---
29
40
  function supportedAgentsList() {
30
41
  return Object.values(AGENT_REGISTRY)
31
- .map((m) => ` ${chalk.dim("")} ${m.name} ${chalk.dim(`(${m.storagePaths[process.platform] || m.id})`)}`)
42
+ .map((m) => ` ${chalk.dim("\u2022")} ${m.name} ${chalk.dim(`(${m.storagePaths[process.platform] || m.id})`)}`)
32
43
  .join("\n");
33
44
  }
34
45
  // --- runHandoff (extracted for default command) ---
@@ -120,7 +131,7 @@ async function runHandoff(options) {
120
131
  const pct = Math.round((compressed.totalTokens / budget) * 100);
121
132
  if (options.dryRun) {
122
133
  const lines = [
123
- `${chalk.yellow.bold("Dry run no files written")}`,
134
+ `${chalk.yellow.bold("Dry run \u2014 no files written")}`,
124
135
  "",
125
136
  `${chalk.dim("Source:")} ${adapter.agentId}`,
126
137
  `${chalk.dim("Session:")} ${session.sessionId.slice(0, 12)}`,
@@ -159,7 +170,7 @@ async function runHandoff(options) {
159
170
  clipboardOk = true;
160
171
  }
161
172
  catch {
162
- debug("Clipboard not available skipping copy");
173
+ debug("Clipboard not available \u2014 skipping copy");
163
174
  }
164
175
  }
165
176
  else {
@@ -200,7 +211,7 @@ async function runHandoff(options) {
200
211
  console.log();
201
212
  // 9. Auto-launch target tool if --launch
202
213
  if (options.launch && target !== "clipboard" && target !== "file") {
203
- console.log(` ${chalk.cyan("Launching")} ${target}...`);
214
+ console.log(` ${colors.primary("Launching")} ${target}...`);
204
215
  try {
205
216
  launchTool(target, resume, { projectPath });
206
217
  }
@@ -223,18 +234,56 @@ async function runHandoff(options) {
223
234
  process.exit(3);
224
235
  }
225
236
  }
226
- // --- interactive TUI ---
227
- async function runInteractiveTUI() {
228
- let clack;
229
- try {
230
- clack = await import("@clack/prompts");
231
- }
232
- catch {
233
- // @clack/prompts not installed — fall back to intro
234
- console.log(intro());
235
- return;
237
+ // --- build agent dashboard entries ---
238
+ async function buildAgentDashboard() {
239
+ const adapters = getAllAdapters();
240
+ const results = await Promise.allSettled(adapters.map(async (adapter) => {
241
+ const detected = await adapter.detect();
242
+ if (!detected) {
243
+ return {
244
+ agentId: adapter.agentId,
245
+ name: AGENT_REGISTRY[adapter.agentId].name,
246
+ detected: false,
247
+ sessionCount: 0,
248
+ };
249
+ }
250
+ const sessions = await adapter.listSessions();
251
+ const latest = sessions[0];
252
+ return {
253
+ agentId: adapter.agentId,
254
+ name: AGENT_REGISTRY[adapter.agentId].name,
255
+ detected: true,
256
+ sessionCount: sessions.length,
257
+ lastActiveAt: latest?.lastActiveAt || latest?.startedAt,
258
+ };
259
+ }));
260
+ const entries = [];
261
+ for (const result of results) {
262
+ if (result.status === "fulfilled") {
263
+ entries.push(result.value);
264
+ }
236
265
  }
237
- clack.intro(chalk.cyan.bold("braindump"));
266
+ // Sort: sessions first (by recency), then installed, then not found
267
+ entries.sort((a, b) => {
268
+ if (a.sessionCount > 0 && b.sessionCount === 0)
269
+ return -1;
270
+ if (a.sessionCount === 0 && b.sessionCount > 0)
271
+ return 1;
272
+ if (a.sessionCount > 0 && b.sessionCount > 0) {
273
+ const aTime = a.lastActiveAt || "";
274
+ const bTime = b.lastActiveAt || "";
275
+ return bTime.localeCompare(aTime);
276
+ }
277
+ if (a.detected && !b.detected)
278
+ return -1;
279
+ if (!a.detected && b.detected)
280
+ return 1;
281
+ return 0;
282
+ });
283
+ return entries;
284
+ }
285
+ // --- interactive handoff flow ---
286
+ async function runHandoffFlow() {
238
287
  const spinner = ora("Loading sessions...").start();
239
288
  // Gather sessions from all adapters in parallel
240
289
  const allSessions = [];
@@ -257,20 +306,18 @@ async function runInteractiveTUI() {
257
306
  allSessions.push(...result.value);
258
307
  }
259
308
  }
260
- // Sort by recency
261
309
  allSessions.sort((a, b) => {
262
310
  const aTime = a.lastActiveAt || a.startedAt || "";
263
311
  const bTime = b.lastActiveAt || b.startedAt || "";
264
312
  return bTime.localeCompare(aTime);
265
313
  });
266
- // Cache for next time
267
314
  if (allSessions.length > 0) {
268
315
  writeCachedIndex(allSessions);
269
316
  }
270
317
  spinner.succeed(`Found ${allSessions.length} sessions`);
271
318
  }
272
319
  if (allSessions.length === 0) {
273
- clack.outro("No sessions found. Run an AI coding agent first.");
320
+ console.log(chalk.dim("\n No sessions found. Run an AI coding agent first.\n"));
274
321
  return;
275
322
  }
276
323
  // CWD sessions
@@ -280,36 +327,27 @@ async function runInteractiveTUI() {
280
327
  console.log(` ${chalk.green(`Found ${cwdSessions.length} sessions in this directory`)}`);
281
328
  }
282
329
  // Filter step
283
- const filterChoice = await clack.select({
284
- message: "Which sessions?",
285
- options: [
286
- ...(cwdSessions.length > 0
287
- ? [{ value: "cwd", label: `This directory (${cwdSessions.length})` }]
288
- : []),
289
- { value: "all", label: `All sessions (${allSessions.length})` },
290
- ],
291
- });
292
- if (clack.isCancel(filterChoice)) {
293
- clack.cancel("Cancelled.");
294
- return;
330
+ const filterOptions = [];
331
+ if (cwdSessions.length > 0) {
332
+ filterOptions.push({ value: "cwd", label: `This directory (${cwdSessions.length})` });
295
333
  }
334
+ filterOptions.push({ value: "all", label: `All sessions (${allSessions.length})` });
335
+ const filterChoice = await select({ message: "Which sessions?", options: filterOptions });
336
+ if (isCancel(filterChoice))
337
+ return;
296
338
  const filteredSessions = filterChoice === "cwd" ? cwdSessions : allSessions;
297
339
  const displaySessions = filteredSessions.slice(0, 20);
298
340
  // Session picker
299
- const sessionChoice = await clack.select({
300
- message: "Pick a session",
301
- options: displaySessions.map((s) => ({
302
- value: s,
303
- label: `[${s.agentId}] ${s.lastActiveAt ? relativeTime(s.lastActiveAt) : "unknown"} ${s.id.slice(0, 12)}`,
304
- hint: s.preview ? s.preview.slice(0, 60) : undefined,
305
- })),
306
- });
307
- if (clack.isCancel(sessionChoice)) {
308
- clack.cancel("Cancelled.");
341
+ const sessionOptions = displaySessions.map((s) => ({
342
+ value: s,
343
+ label: `[${s.agentId}] ${s.lastActiveAt ? relativeTime(s.lastActiveAt) : "unknown"} ${s.id.slice(0, 12)}`,
344
+ hint: s.preview ? s.preview.slice(0, 60) : undefined,
345
+ }));
346
+ const sessionChoice = await select({ message: "Pick a session", options: sessionOptions, maxVisible: 10 });
347
+ if (isCancel(sessionChoice))
309
348
  return;
310
- }
311
349
  const selected = sessionChoice;
312
- // Target picker — show installed tools (excluding source)
350
+ // Target picker
313
351
  const installedTools = getInstalledTools(selected.agentId);
314
352
  const targetOptions = [
315
353
  { value: "file", label: "File (.handoff/RESUME.md)" },
@@ -319,17 +357,11 @@ async function runInteractiveTUI() {
319
357
  label: `${AGENT_REGISTRY[t.id].name} (auto-launch)`,
320
358
  })),
321
359
  ];
322
- const targetChoice = await clack.select({
323
- message: "Target",
324
- options: targetOptions,
325
- });
326
- if (clack.isCancel(targetChoice)) {
327
- clack.cancel("Cancelled.");
360
+ const targetChoice = await select({ message: "Target", options: targetOptions });
361
+ if (isCancel(targetChoice))
328
362
  return;
329
- }
330
363
  const target = targetChoice;
331
364
  const shouldLaunch = target !== "file" && target !== "clipboard" && installedTools.some((t) => t.id === target);
332
- // Run handoff
333
365
  await runHandoff({
334
366
  source: selected.agentId,
335
367
  target,
@@ -338,6 +370,49 @@ async function runInteractiveTUI() {
338
370
  launch: shouldLaunch,
339
371
  });
340
372
  }
373
+ // --- default TUI ---
374
+ async function runDefaultTUI() {
375
+ // Gradient logo
376
+ console.log();
377
+ console.log(gradientLogo());
378
+ console.log();
379
+ console.log(` braindump v1.1.1 ${chalk.dim("|")} ${chalk.dim("Seamless AI agent handoffs")}`);
380
+ // Agent dashboard
381
+ const dashSpinner = ora("Scanning agents...").start();
382
+ const entries = await buildAgentDashboard();
383
+ dashSpinner.stop();
384
+ // Clear the spinner line
385
+ process.stdout.write("\x1B[1A\x1B[2K");
386
+ console.log(agentDashboard(entries));
387
+ // Main menu
388
+ const menuOptions = [
389
+ { value: "handoff", label: "Handoff session", hint: "Transfer to another agent" },
390
+ { value: "list", label: "List sessions", hint: "Browse all captured sessions" },
391
+ { value: "detect", label: "Detect agents", hint: "Scan system for AI tools" },
392
+ { value: "watch", label: "Watch mode", hint: "Monitor for rate limits" },
393
+ { value: "help", label: "Help", hint: "Show commands & options" },
394
+ ];
395
+ const choice = await select({ message: "What would you like to do?", options: menuOptions });
396
+ if (isCancel(choice))
397
+ return;
398
+ switch (choice) {
399
+ case "handoff":
400
+ await runHandoffFlow();
401
+ break;
402
+ case "list":
403
+ await program.commands.find((c) => c.name() === "list").parseAsync([], { from: "user" });
404
+ break;
405
+ case "detect":
406
+ await program.commands.find((c) => c.name() === "detect").parseAsync([], { from: "user" });
407
+ break;
408
+ case "watch":
409
+ await program.commands.find((c) => c.name() === "watch").parseAsync([], { from: "user" });
410
+ break;
411
+ case "help":
412
+ console.log(styledHelp("1.1.1", program.commands.map((c) => ({ name: c.name(), description: c.description() || "" }))));
413
+ break;
414
+ }
415
+ }
341
416
  // --- detect ---
342
417
  program
343
418
  .command("detect")
@@ -450,8 +525,8 @@ program
450
525
  console.log(` ${chalk.bold(AGENT_REGISTRY[s.agentId].name)}`);
451
526
  }
452
527
  const isLast = i === limited.length - 1 || limited[i + 1]?.agentId !== currentAgent;
453
- const prefix = isLast ? " └─" : " ├─";
454
- const idShort = chalk.cyan(s.id.slice(0, 12));
528
+ const prefix = isLast ? " \u2514\u2500" : " \u251C\u2500";
529
+ const idShort = colors.primary(s.id.slice(0, 12));
455
530
  const time = s.lastActiveAt || s.startedAt
456
531
  ? chalk.dim(relativeTime(s.lastActiveAt || s.startedAt || ""))
457
532
  : chalk.dim("unknown");
@@ -575,7 +650,7 @@ program
575
650
  const interval = parseInt(options.interval, 10) * 1000;
576
651
  const formatEvent = (event) => {
577
652
  const time = chalk.dim(new Date(event.timestamp).toLocaleTimeString());
578
- const agent = chalk.cyan(event.agentId);
653
+ const agent = colors.primary(event.agentId);
579
654
  const sid = event.sessionId ? chalk.dim(` ${event.sessionId.slice(0, 12)}`) : "";
580
655
  switch (event.type) {
581
656
  case "new-session":
@@ -585,7 +660,7 @@ program
585
660
  console.log(` ${time} ${chalk.blue("~")} ${agent}${sid} ${chalk.dim(event.details || "updated")}`);
586
661
  break;
587
662
  case "rate-limit":
588
- console.log(` ${time} ${chalk.red("!")} ${agent}${sid} ${chalk.red("possible rate limit")} run ${chalk.bold("braindump handoff")} to switch`);
663
+ console.log(` ${time} ${chalk.red("!")} ${agent}${sid} ${chalk.red("possible rate limit")} \u2014 run ${chalk.bold("braindump handoff")} to switch`);
589
664
  break;
590
665
  case "idle":
591
666
  break; // Don't spam idle events
@@ -681,7 +756,11 @@ program
681
756
  .command("info")
682
757
  .description("Show agent storage paths, context window sizes, and config")
683
758
  .action(async () => {
684
- console.log(banner("1.0.0"));
759
+ console.log();
760
+ console.log(gradientLogo());
761
+ console.log();
762
+ console.log(` braindump v1.1.1 ${chalk.dim("|")} ${chalk.dim("Seamless AI agent handoffs")}`);
763
+ console.log();
685
764
  for (const meta of Object.values(AGENT_REGISTRY)) {
686
765
  const storagePath = meta.storagePaths[process.platform] || "N/A";
687
766
  console.log(` ${chalk.bold(meta.name)} ${chalk.dim(`(${meta.id})`)}`);
@@ -696,11 +775,32 @@ program
696
775
  const args = process.argv.slice(2);
697
776
  const subcommands = [...program.commands.map((c) => c.name()), "help"];
698
777
  const hasSubcommand = args.length > 0 && subcommands.includes(args[0]);
699
- const hasHelpOrVersion = args.includes("--help") || args.includes("-h") || args.includes("--version") || args.includes("-V");
700
- if (args.length === 0) {
778
+ const hasHelpOrVersion = args.includes("--version") || args.includes("-V");
779
+ // Detect top-level handoff flags (e.g. `braindump --session <id>`)
780
+ const handoffFlags = ["--session", "--source", "-s", "--target", "-t", "--dry-run", "--launch", "--tokens", "--no-clipboard"];
781
+ const hasHandoffFlag = !hasSubcommand && args.some((a) => handoffFlags.includes(a));
782
+ // Custom --help / -h intercept
783
+ if (args.includes("--help") || args.includes("-h")) {
784
+ // If it's a subcommand help, let commander handle it
785
+ if (hasSubcommand) {
786
+ program.parse();
787
+ }
788
+ else {
789
+ console.log(styledHelp("1.1.1", program.commands.map((c) => ({ name: c.name(), description: c.description() || "" }))));
790
+ }
791
+ }
792
+ else if (hasHandoffFlag) {
793
+ // Top-level flags like --session, --source, etc. → run handoff directly
794
+ program.parse();
795
+ const opts = program.opts();
796
+ runHandoff(opts).catch((err) => {
797
+ console.error(chalk.red(err.message));
798
+ process.exit(1);
799
+ });
800
+ }
801
+ else if (args.length === 0) {
701
802
  if (process.stdout.isTTY) {
702
- // Interactive TUI
703
- runInteractiveTUI().catch((err) => {
803
+ runDefaultTUI().catch((err) => {
704
804
  console.error(chalk.red(err.message));
705
805
  process.exit(1);
706
806
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Custom interactive select prompt using raw stdin + ANSI escape codes.
3
+ * No external TUI dependencies — just readline-level control.
4
+ */
5
+ export interface SelectOption<T> {
6
+ value: T;
7
+ label: string;
8
+ hint?: string;
9
+ }
10
+ export declare const CANCEL: unique symbol;
11
+ export declare function isCancel(value: unknown): value is symbol;
12
+ /**
13
+ * Parse raw stdin buffer into a navigation action.
14
+ */
15
+ export declare function parseKey(data: Buffer): "up" | "down" | "enter" | "cancel" | null;
16
+ /**
17
+ * Render the visible slice of options with selection indicator.
18
+ * Returns an array of formatted lines.
19
+ */
20
+ export declare function renderOptions<T>(options: SelectOption<T>[], selected: number, offset: number, max: number): string[];
21
+ /**
22
+ * Interactive select prompt. Renders inline, supports arrow keys + j/k,
23
+ * returns the selected value or CANCEL symbol.
24
+ */
25
+ export declare function select<T>(opts: {
26
+ message: string;
27
+ options: SelectOption<T>[];
28
+ maxVisible?: number;
29
+ }): Promise<T | symbol>;
30
+ //# sourceMappingURL=tui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/cli/tui.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,MAAM,EAAE,OAAO,MAAyB,CAAC;AAEtD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,GACX,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,IAAI,CAe3C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,EAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GACV,MAAM,EAAE,CAwBV;AAED;;;GAGG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAiGtB"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Custom interactive select prompt using raw stdin + ANSI escape codes.
3
+ * No external TUI dependencies — just readline-level control.
4
+ */
5
+ export const CANCEL = Symbol("cancel");
6
+ export function isCancel(value) {
7
+ return value === CANCEL;
8
+ }
9
+ /**
10
+ * Parse raw stdin buffer into a navigation action.
11
+ */
12
+ export function parseKey(data) {
13
+ // Ctrl+C
14
+ if (data[0] === 0x03)
15
+ return "cancel";
16
+ // Enter / CR
17
+ if (data[0] === 0x0d)
18
+ return "enter";
19
+ // Escape sequences
20
+ if (data[0] === 0x1b && data[1] === 0x5b) {
21
+ if (data[2] === 0x41)
22
+ return "up"; // \x1B[A
23
+ if (data[2] === 0x42)
24
+ return "down"; // \x1B[B
25
+ }
26
+ // Vim-style j/k
27
+ const ch = String.fromCharCode(data[0]);
28
+ if (ch === "k")
29
+ return "up";
30
+ if (ch === "j")
31
+ return "down";
32
+ return null;
33
+ }
34
+ /**
35
+ * Render the visible slice of options with selection indicator.
36
+ * Returns an array of formatted lines.
37
+ */
38
+ export function renderOptions(options, selected, offset, max) {
39
+ const lines = [];
40
+ const end = Math.min(offset + max, options.length);
41
+ if (offset > 0) {
42
+ lines.push(` \x1B[2m\u2191 ${offset} more\x1B[0m`);
43
+ }
44
+ for (let i = offset; i < end; i++) {
45
+ const opt = options[i];
46
+ if (i === selected) {
47
+ const hint = opt.hint ? ` \x1B[2m${opt.hint}\x1B[0m` : "";
48
+ lines.push(` \x1B[1m\u276F ${opt.label}\x1B[0m${hint}`);
49
+ }
50
+ else {
51
+ const hint = opt.hint ? ` \x1B[2m${opt.hint}\x1B[0m` : "";
52
+ lines.push(` \x1B[2m ${opt.label}${hint}\x1B[0m`);
53
+ }
54
+ }
55
+ if (end < options.length) {
56
+ lines.push(` \x1B[2m\u2193 ${options.length - end} more\x1B[0m`);
57
+ }
58
+ return lines;
59
+ }
60
+ /**
61
+ * Interactive select prompt. Renders inline, supports arrow keys + j/k,
62
+ * returns the selected value or CANCEL symbol.
63
+ */
64
+ export function select(opts) {
65
+ const { message, options } = opts;
66
+ const maxVisible = opts.maxVisible ?? 8;
67
+ return new Promise((resolve) => {
68
+ const stdin = process.stdin;
69
+ const stdout = process.stdout;
70
+ let selected = 0;
71
+ let scrollOffset = 0;
72
+ let prevLineCount = 0;
73
+ let resolved = false;
74
+ // Print message (stays fixed)
75
+ stdout.write(`\n \x1B[38;2;139;92;246m${message}\x1B[0m\n`);
76
+ // Hide cursor
77
+ stdout.write("\x1B[?25l");
78
+ function render() {
79
+ // Erase previous render
80
+ if (prevLineCount > 0) {
81
+ stdout.write(`\x1B[${prevLineCount}A`);
82
+ for (let i = 0; i < prevLineCount; i++) {
83
+ stdout.write("\x1B[2K\n");
84
+ }
85
+ stdout.write(`\x1B[${prevLineCount}A`);
86
+ }
87
+ const lines = renderOptions(options, selected, scrollOffset, maxVisible);
88
+ prevLineCount = lines.length;
89
+ stdout.write(lines.join("\n") + "\n");
90
+ }
91
+ function cleanup() {
92
+ // Show cursor
93
+ stdout.write("\x1B[?25h");
94
+ if (stdin.isTTY) {
95
+ stdin.setRawMode(false);
96
+ }
97
+ stdin.pause();
98
+ stdin.removeListener("data", onData);
99
+ }
100
+ function onData(data) {
101
+ if (resolved)
102
+ return;
103
+ const key = parseKey(data);
104
+ if (!key)
105
+ return;
106
+ switch (key) {
107
+ case "up":
108
+ if (selected > 0) {
109
+ selected--;
110
+ if (selected < scrollOffset) {
111
+ scrollOffset = selected;
112
+ }
113
+ }
114
+ render();
115
+ break;
116
+ case "down":
117
+ if (selected < options.length - 1) {
118
+ selected++;
119
+ if (selected >= scrollOffset + maxVisible) {
120
+ scrollOffset = selected - maxVisible + 1;
121
+ }
122
+ }
123
+ render();
124
+ break;
125
+ case "enter":
126
+ resolved = true;
127
+ cleanup();
128
+ stdout.write("\n");
129
+ resolve(options[selected].value);
130
+ break;
131
+ case "cancel":
132
+ resolved = true;
133
+ cleanup();
134
+ stdout.write("\n");
135
+ resolve(CANCEL);
136
+ break;
137
+ }
138
+ }
139
+ // Safety: always restore terminal on exit
140
+ const onExit = () => {
141
+ stdout.write("\x1B[?25h");
142
+ };
143
+ process.on("exit", onExit);
144
+ if (stdin.isTTY) {
145
+ stdin.setRawMode(true);
146
+ }
147
+ stdin.resume();
148
+ stdin.on("data", onData);
149
+ // Initial render
150
+ render();
151
+ });
152
+ }
153
+ //# sourceMappingURL=tui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/cli/tui.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { AgentId } from "../types/index.js";
1
2
  /**
2
3
  * Resolve the output path for RESUME.md.
3
4
  * - If path is a directory or ends with `/`, write RESUME.md inside it.
@@ -23,12 +24,42 @@ export declare function formatErrorBox(content: string): string;
23
24
  * Format a dimmed hint line.
24
25
  */
25
26
  export declare function hint(text: string): string;
27
+ export declare const colors: {
28
+ primary: import("chalk").ChalkInstance;
29
+ primaryBold: import("chalk").ChalkInstance;
30
+ accent: import("chalk").ChalkInstance;
31
+ success: import("chalk").ChalkInstance;
32
+ error: import("chalk").ChalkInstance;
33
+ secondary: import("chalk").ChalkInstance;
34
+ };
35
+ /**
36
+ * Return the ASCII logo with a violet → blue gradient.
37
+ */
38
+ export declare function gradientLogo(): string;
26
39
  /**
27
40
  * Return the CLI banner string.
28
41
  */
29
42
  export declare function banner(version: string): string;
30
43
  /**
31
- * Return the ASCII art intro screen shown when braindump is run with no args.
44
+ * Return the ASCII art intro screen shown when braindump is run with no args (non-TTY).
32
45
  */
33
46
  export declare function intro(): string;
47
+ export interface AgentDashboardEntry {
48
+ agentId: AgentId;
49
+ name: string;
50
+ detected: boolean;
51
+ sessionCount: number;
52
+ lastActiveAt?: string;
53
+ }
54
+ /**
55
+ * Render a compact agent dashboard showing status, session count, and recency.
56
+ */
57
+ export declare function agentDashboard(entries: AgentDashboardEntry[]): string;
58
+ /**
59
+ * Custom styled help output with gradient logo and purple theme.
60
+ */
61
+ export declare function styledHelp(version: string, commands: Array<{
62
+ name: string;
63
+ description: string;
64
+ }>): string;
34
65
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,WAAW,EAAE,MAAM,GAClB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAgB5C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAqBvD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAU9C;AAED;;GAEG;AACH,wBAAgB,KAAK,IAAI,MAAM,CAuB9B"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,WAAW,EAAE,MAAM,GAClB;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAgB5C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAqBvD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMtD;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzC;AAID,eAAO,MAAM,MAAM;;;;;;;CAOlB,CAAC;AA0BF;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAUrC;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAO9C;AAED;;GAEG;AACH,wBAAgB,KAAK,IAAI,MAAM,CAgB9B;AAID,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,MAAM,CA+BrE;AAID;;GAEG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GACrD,MAAM,CA+BR"}
package/dist/cli/utils.js CHANGED
@@ -70,37 +70,68 @@ export function formatErrorBox(content) {
70
70
  export function hint(text) {
71
71
  return chalk.dim(`Hint: ${text}`);
72
72
  }
73
+ // --- Purple Reign color palette ---
74
+ export const colors = {
75
+ primary: chalk.hex("#8B5CF6"),
76
+ primaryBold: chalk.hex("#8B5CF6").bold,
77
+ accent: chalk.blueBright,
78
+ success: chalk.green,
79
+ error: chalk.red,
80
+ secondary: chalk.dim,
81
+ };
82
+ /**
83
+ * Interpolate between two RGB colors.
84
+ */
85
+ function lerpRgb(from, to, t) {
86
+ return [
87
+ Math.round(from[0] + (to[0] - from[0]) * t),
88
+ Math.round(from[1] + (to[1] - from[1]) * t),
89
+ Math.round(from[2] + (to[2] - from[2]) * t),
90
+ ];
91
+ }
92
+ const ASCII_LINES = [
93
+ " __ _ __",
94
+ " / /_ _________ _(_)___ ____/ /_ ______ ___ ____",
95
+ " / __ \\/ ___/ __ `/ / __ \\/ __ / / / / __ `__ \\/ __ \\",
96
+ " / /_/ / / / /_/ / / / / / /_/ / /_/ / / / / / / /_/ /",
97
+ "/_.___/_/ \\__,_/_/_/ /_/\\__,_/\\__,_/_/ /_/ /_/ .___/",
98
+ " /_/",
99
+ ];
100
+ /**
101
+ * Return the ASCII logo with a violet → blue gradient.
102
+ */
103
+ export function gradientLogo() {
104
+ const violet = [139, 92, 246]; // #8B5CF6
105
+ const blue = [59, 130, 246]; // #3B82F6
106
+ const total = ASCII_LINES.length - 1;
107
+ return ASCII_LINES.map((line, i) => {
108
+ const t = total > 0 ? i / total : 0;
109
+ const [r, g, b] = lerpRgb(violet, blue, t);
110
+ return chalk.rgb(r, g, b)(line);
111
+ }).join("\n");
112
+ }
73
113
  /**
74
114
  * Return the CLI banner string.
75
115
  */
76
116
  export function banner(version) {
77
- const platform = process.platform;
78
117
  return [
79
118
  "",
80
- ` ${chalk.cyan.bold("braindump")} ${chalk.dim(`v${version}`)}`,
81
- ` ${chalk.dim("Capture AI agent sessions for seamless handoff")}`,
82
- "",
83
- ` ${chalk.dim("Platform:")} ${platform}`,
119
+ ` ${colors.primaryBold("braindump")} ${chalk.dim(`v${version}`)}`,
120
+ ` ${chalk.dim("Seamless AI agent handoffs")}`,
84
121
  "",
85
122
  ].join("\n");
86
123
  }
87
124
  /**
88
- * Return the ASCII art intro screen shown when braindump is run with no args.
125
+ * Return the ASCII art intro screen shown when braindump is run with no args (non-TTY).
89
126
  */
90
127
  export function intro() {
91
- const art = chalk.cyan(`
92
- __ _ __
93
- / /_ _________ _(_)___ ____/ /_ ______ ___ ____
94
- / __ \\/ ___/ __ \`/ / __ \\/ __ / / / / __ \`__ \\/ __ \\
95
- / /_/ / / / /_/ / / / / / /_/ / /_/ / / / / / / /_/ /
96
- /_.___/_/ \\__,_/_/_/ /_/\\__,_/\\__,_/_/ /_/ /_/ .___/
97
- /_/`);
98
128
  return [
99
- art,
100
129
  "",
101
- ` ${chalk.dim("Capture AI agent sessions for seamless handoff.")}`,
130
+ gradientLogo(),
131
+ "",
132
+ ` ${chalk.dim("Seamless AI agent handoffs.")}`,
102
133
  "",
103
- ` ${chalk.dim("-")} GitHub ${chalk.cyan("https://github.com/Kushalwho/braindump")}`,
134
+ ` ${chalk.dim("-")} GitHub ${colors.primary("https://github.com/Kushalwho/braindump")}`,
104
135
  "",
105
136
  ` ${chalk.dim("Get started:")}`,
106
137
  ` ${chalk.bold("braindump handoff")} Capture & generate RESUME.md`,
@@ -110,4 +141,63 @@ export function intro() {
110
141
  "",
111
142
  ].join("\n");
112
143
  }
144
+ /**
145
+ * Render a compact agent dashboard showing status, session count, and recency.
146
+ */
147
+ export function agentDashboard(entries) {
148
+ const lines = ["", ` ${colors.primaryBold("Agents")}`];
149
+ // Pad agent names to align columns
150
+ const maxNameLen = Math.max(...entries.map((e) => e.name.length));
151
+ for (const entry of entries) {
152
+ const padded = entry.name.padEnd(maxNameLen);
153
+ if (entry.sessionCount > 0) {
154
+ const countStr = colors.primary(`${entry.sessionCount} ${entry.sessionCount === 1 ? "session" : "sessions"}`);
155
+ const timeStr = entry.lastActiveAt
156
+ ? chalk.dim(relativeTime(entry.lastActiveAt))
157
+ : "";
158
+ lines.push(` ${chalk.green("\u25CF")} ${chalk.white(padded)} ${countStr} ${timeStr}`);
159
+ }
160
+ else if (entry.detected) {
161
+ lines.push(` ${chalk.dim("\u25CB")} ${chalk.dim(padded)} ${chalk.dim("installed")}`);
162
+ }
163
+ else {
164
+ lines.push(` ${chalk.red("\u00D7")} ${chalk.dim(padded)} ${chalk.dim("not found")}`);
165
+ }
166
+ }
167
+ lines.push("");
168
+ return lines.join("\n");
169
+ }
170
+ // --- Styled Help ---
171
+ /**
172
+ * Custom styled help output with gradient logo and purple theme.
173
+ */
174
+ export function styledHelp(version, commands) {
175
+ const lines = [
176
+ "",
177
+ gradientLogo(),
178
+ "",
179
+ ` braindump v${version} ${chalk.dim("|")} ${chalk.dim("Seamless AI agent handoffs")}`,
180
+ "",
181
+ ` ${colors.primaryBold("USAGE")}`,
182
+ "",
183
+ ` ${chalk.white("$ braindump")} ${chalk.dim("Interactive TUI")}`,
184
+ ` ${chalk.white("$ braindump <command>")} ${chalk.dim("Run a specific command")}`,
185
+ ` ${chalk.white("$ braindump <command> --help")} ${chalk.dim("Command-specific help")}`,
186
+ "",
187
+ ` ${colors.primaryBold("COMMANDS")}`,
188
+ "",
189
+ ];
190
+ const maxCmdLen = Math.max(...commands.map((c) => c.name.length));
191
+ for (const cmd of commands) {
192
+ const padded = cmd.name.padEnd(maxCmdLen + 2);
193
+ lines.push(` ${colors.primary(padded)} ${chalk.dim(cmd.description)}`);
194
+ }
195
+ lines.push("");
196
+ lines.push(` ${colors.primaryBold("OPTIONS")}`);
197
+ lines.push("");
198
+ lines.push(` ${colors.primary("--help, -h")} ${chalk.dim("Show help")}`);
199
+ lines.push(` ${colors.primary("--version, -V")} ${chalk.dim("Show version")}`);
200
+ lines.push("");
201
+ return lines.join("\n");
202
+ }
113
203
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "braindump",
3
- "version": "1.0.0",
3
+ "version": "1.1.1",
4
4
  "description": "A CLI tool that captures your AI coding agent session and generates a portable resume prompt so you can seamlessly continue in a different agent.",
5
5
  "type": "module",
6
6
  "main": "dist/cli/index.js",
@@ -55,7 +55,6 @@
55
55
  "node": ">=18"
56
56
  },
57
57
  "dependencies": {
58
- "@clack/prompts": "^1.0.1",
59
58
  "better-sqlite3": "^11.0.0",
60
59
  "boxen": "^8.0.1",
61
60
  "chalk": "^5.3.0",