codebase-cli 2.0.0-pre.4 → 2.0.0-pre.41

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 (111) hide show
  1. package/dist/agent/agent.js +43 -15
  2. package/dist/agent/agent.js.map +1 -1
  3. package/dist/agent/config.js +61 -20
  4. package/dist/agent/config.js.map +1 -1
  5. package/dist/agent/events.bench.js +84 -0
  6. package/dist/agent/events.bench.js.map +1 -0
  7. package/dist/agent/prompt-suggestion.js +141 -0
  8. package/dist/agent/prompt-suggestion.js.map +1 -0
  9. package/dist/agent/system-prompt.js +15 -0
  10. package/dist/agent/system-prompt.js.map +1 -1
  11. package/dist/app-server/protocol.js +7 -0
  12. package/dist/app-server/protocol.js.map +1 -0
  13. package/dist/app-server/server.js +241 -0
  14. package/dist/app-server/server.js.map +1 -0
  15. package/dist/auth/cli.js +1 -1
  16. package/dist/auth/cli.js.map +1 -1
  17. package/dist/auth/credentials.js +33 -2
  18. package/dist/auth/credentials.js.map +1 -1
  19. package/dist/auth/flow.js +145 -24
  20. package/dist/auth/flow.js.map +1 -1
  21. package/dist/auth/token-manager.js +122 -0
  22. package/dist/auth/token-manager.js.map +1 -0
  23. package/dist/cli.js +56 -1
  24. package/dist/cli.js.map +1 -1
  25. package/dist/commands/builtins.js +160 -14
  26. package/dist/commands/builtins.js.map +1 -1
  27. package/dist/commands/registry.js +46 -1
  28. package/dist/commands/registry.js.map +1 -1
  29. package/dist/compaction/monitor.js +38 -0
  30. package/dist/compaction/monitor.js.map +1 -0
  31. package/dist/config/types.js.map +1 -1
  32. package/dist/glue/client.js +12 -2
  33. package/dist/glue/client.js.map +1 -1
  34. package/dist/hooks/manager.js +8 -2
  35. package/dist/hooks/manager.js.map +1 -1
  36. package/dist/memory/store.js +2 -3
  37. package/dist/memory/store.js.map +1 -1
  38. package/dist/plan/run-flow.js +89 -0
  39. package/dist/plan/run-flow.js.map +1 -0
  40. package/dist/projects/cli.js +92 -0
  41. package/dist/projects/cli.js.map +1 -0
  42. package/dist/projects/client.js +120 -0
  43. package/dist/projects/client.js.map +1 -0
  44. package/dist/projects/types.js +2 -0
  45. package/dist/projects/types.js.map +1 -0
  46. package/dist/skills/platform-loader.js +133 -38
  47. package/dist/skills/platform-loader.js.map +1 -1
  48. package/dist/tools/__test__/mock-tool-context.js +31 -0
  49. package/dist/tools/__test__/mock-tool-context.js.map +1 -0
  50. package/dist/tools/file-state-cache.js.map +1 -1
  51. package/dist/tools/read-file.js +7 -2
  52. package/dist/tools/read-file.js.map +1 -1
  53. package/dist/ui/App.js +109 -110
  54. package/dist/ui/App.js.map +1 -1
  55. package/dist/ui/CompactionBanner.js +23 -0
  56. package/dist/ui/CompactionBanner.js.map +1 -0
  57. package/dist/ui/FirstRunSetup.js +66 -14
  58. package/dist/ui/FirstRunSetup.js.map +1 -1
  59. package/dist/ui/Input.js +370 -20
  60. package/dist/ui/Input.js.map +1 -1
  61. package/dist/ui/Markdown.js +286 -0
  62. package/dist/ui/Markdown.js.map +1 -0
  63. package/dist/ui/Message.js +110 -48
  64. package/dist/ui/Message.js.map +1 -1
  65. package/dist/ui/MessageList.js +100 -3
  66. package/dist/ui/MessageList.js.map +1 -1
  67. package/dist/ui/Permission.js +43 -20
  68. package/dist/ui/Permission.js.map +1 -1
  69. package/dist/ui/PixelC.js +25 -0
  70. package/dist/ui/PixelC.js.map +1 -0
  71. package/dist/ui/Status.js +267 -7
  72. package/dist/ui/Status.js.map +1 -1
  73. package/dist/ui/Throbber.js +11 -7
  74. package/dist/ui/Throbber.js.map +1 -1
  75. package/dist/ui/Welcome.js +59 -0
  76. package/dist/ui/Welcome.js.map +1 -0
  77. package/dist/ui/attachments.js +68 -0
  78. package/dist/ui/attachments.js.map +1 -0
  79. package/dist/ui/debug-input.js +44 -0
  80. package/dist/ui/debug-input.js.map +1 -0
  81. package/dist/ui/diff-summary.js +171 -0
  82. package/dist/ui/diff-summary.js.map +1 -0
  83. package/dist/ui/highlight.js +324 -0
  84. package/dist/ui/highlight.js.map +1 -0
  85. package/dist/ui/history-store.js +60 -0
  86. package/dist/ui/history-store.js.map +1 -0
  87. package/dist/ui/input-state.js +125 -1
  88. package/dist/ui/input-state.js.map +1 -1
  89. package/dist/ui/path-complete.js +102 -0
  90. package/dist/ui/path-complete.js.map +1 -0
  91. package/dist/ui/paths.js +41 -0
  92. package/dist/ui/paths.js.map +1 -0
  93. package/dist/ui/shell-escape.js +42 -0
  94. package/dist/ui/shell-escape.js.map +1 -0
  95. package/dist/ui/terminal-restore.js +83 -0
  96. package/dist/ui/terminal-restore.js.map +1 -0
  97. package/dist/ui/terminal-title.js +21 -0
  98. package/dist/ui/terminal-title.js.map +1 -0
  99. package/dist/ui/tool-call-line.js +83 -0
  100. package/dist/ui/tool-call-line.js.map +1 -0
  101. package/dist/ui/tool-labels.js +194 -0
  102. package/dist/ui/tool-labels.js.map +1 -0
  103. package/dist/ui/truncated-output.js +42 -0
  104. package/dist/ui/truncated-output.js.map +1 -0
  105. package/dist/ui/use-coalesced-agent-events.js +70 -0
  106. package/dist/ui/use-coalesced-agent-events.js.map +1 -0
  107. package/dist/ui/use-prompt-suggestion.js +52 -0
  108. package/dist/ui/use-prompt-suggestion.js.map +1 -0
  109. package/dist/ui/wrapped-lines.js +18 -0
  110. package/dist/ui/wrapped-lines.js.map +1 -0
  111. package/package.json +6 -1
@@ -0,0 +1,122 @@
1
+ import { mkdirSync } from "node:fs";
2
+ import { dirname } from "node:path";
3
+ import * as lockfile from "proper-lockfile";
4
+ import { refreshAccessToken } from "./flow.js";
5
+ /**
6
+ * Read-through, refresh-aware accessor for the OAuth access token.
7
+ *
8
+ * Two coordination layers:
9
+ * 1. In-memory single-flight (`pending`) — multiple awaits within ONE
10
+ * process collapse into one refresh round-trip.
11
+ * 2. Filesystem lockfile on the credentials directory — multiple
12
+ * `codebase` processes on the same machine coordinate so only one
13
+ * refreshes at a time. The others wait, re-read the rotated token,
14
+ * and skip their own refresh. Necessary because refresh tokens are
15
+ * often one-time-use: two parallel refreshes burn the shared refresh
16
+ * token and one process gets logged out.
17
+ *
18
+ * Pi-mono's `getApiKey` runs on every API call, so the cached-token fast
19
+ * path stays branch-free; the slow path only fires near expiry.
20
+ */
21
+ export class TokenManager {
22
+ store;
23
+ oauthConfig;
24
+ refreshSkewMs;
25
+ lockTimeoutMs;
26
+ pending = null;
27
+ constructor(options) {
28
+ this.store = options.store;
29
+ this.oauthConfig = options.oauthConfig;
30
+ this.refreshSkewMs = options.refreshSkewMs ?? 5 * 60_000;
31
+ this.lockTimeoutMs = options.lockTimeoutMs ?? 30_000;
32
+ }
33
+ /**
34
+ * Return a valid access token, refreshing if the stored one is within
35
+ * `refreshSkewMs` of expiry. Throws when no credentials exist or when
36
+ * a refresh fails (network or expired refresh token); the caller turns
37
+ * that into a user-facing "please run `codebase auth login`" message.
38
+ */
39
+ async getAccessToken() {
40
+ const creds = this.store.load();
41
+ if (!creds)
42
+ throw new Error("not signed in — run `codebase auth login`");
43
+ if (!this.needsRefresh(creds))
44
+ return creds.accessToken;
45
+ if (!creds.refreshToken) {
46
+ throw new Error("access token expired and no refresh token saved — run `codebase auth login`");
47
+ }
48
+ return this.refresh();
49
+ }
50
+ needsRefresh(creds) {
51
+ if (!creds.expiresAt)
52
+ return false;
53
+ return creds.expiresAt - this.refreshSkewMs <= Date.now();
54
+ }
55
+ refresh() {
56
+ if (this.pending)
57
+ return this.pending;
58
+ this.pending = (async () => {
59
+ try {
60
+ return await this.refreshWithLock();
61
+ }
62
+ finally {
63
+ this.pending = null;
64
+ }
65
+ })();
66
+ return this.pending;
67
+ }
68
+ /**
69
+ * Acquire a cross-process lock, then re-check (another process may have
70
+ * already refreshed by the time we get the lock), then refresh + save.
71
+ * The double-check is the whole point of taking the lock — it converts
72
+ * N parallel refreshes into 1 refresh + N-1 reads of the fresh token.
73
+ */
74
+ async refreshWithLock() {
75
+ const lockDir = dirname(this.store.filePath);
76
+ mkdirSync(lockDir, { recursive: true });
77
+ const release = await lockfile.lock(lockDir, {
78
+ retries: {
79
+ retries: Math.max(1, Math.ceil(this.lockTimeoutMs / 500)),
80
+ minTimeout: 250,
81
+ maxTimeout: 1000,
82
+ factor: 1.5,
83
+ randomize: true,
84
+ },
85
+ // 30s — stale-lock window. Survives a normal refresh; releases
86
+ // quickly enough that a crashed peer doesn't wedge us for long.
87
+ stale: 30_000,
88
+ });
89
+ try {
90
+ const reread = this.store.load();
91
+ if (reread && !this.needsRefresh(reread))
92
+ return reread.accessToken;
93
+ if (!reread?.refreshToken) {
94
+ throw new Error("access token expired and no refresh token saved — run `codebase auth login`");
95
+ }
96
+ const next = await refreshAccessToken(this.oauthConfig, reread.refreshToken);
97
+ // Preserve fields the refresh response doesn't echo back (source,
98
+ // email, userId) so they survive every rotation. The refresh
99
+ // response is authoritative for tokens + expiry; we layer the
100
+ // stable metadata back on top.
101
+ this.store.save({
102
+ accessToken: next.accessToken,
103
+ refreshToken: next.refreshToken ?? reread.refreshToken,
104
+ expiresAt: next.expiresAt,
105
+ scopes: next.scopes,
106
+ source: reread.source ?? next.source,
107
+ userId: reread.userId ?? next.userId,
108
+ email: reread.email ?? next.email,
109
+ provider: reread.provider ?? next.provider,
110
+ });
111
+ return next.accessToken;
112
+ }
113
+ finally {
114
+ await release().catch(() => {
115
+ // Release can fail if the lock was stale-released by another
116
+ // process while we held it. The credentials are already saved
117
+ // at that point — there's nothing useful to do here.
118
+ });
119
+ }
120
+ }
121
+ }
122
+ //# sourceMappingURL=token-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-manager.js","sourceRoot":"","sources":["../../src/auth/token-manager.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -2,14 +2,37 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { readFileSync } from "node:fs";
4
4
  import { render } from "ink";
5
+ import { runAppServer } from "./app-server/server.js";
5
6
  import { runAuthSubcommand } from "./auth/cli.js";
6
7
  import { loadDotEnv } from "./dotenv/loader.js";
7
8
  import { runHeadless } from "./headless/run.js";
9
+ import { runProjectSubcommand } from "./projects/cli.js";
8
10
  import { App } from "./ui/App.js";
11
+ import { installTerminalRestoreHandlers } from "./ui/terminal-restore.js";
12
+ import { setTerminalTitle } from "./ui/terminal-title.js";
9
13
  // Auto-load .env files before any subsystem reads process.env.
10
14
  loadDotEnv();
11
15
  const VALID_OUTPUT_FORMATS = new Set(["text", "json", "stream-json"]);
12
- const argv = process.argv.slice(2);
16
+ const rawArgv = process.argv.slice(2);
17
+ // Strip flags consumed at the top-level dispatcher before subcommand
18
+ // matching. `--debug-input` is one of those: it sets an env var that
19
+ // the Input component picks up, then disappears from argv so it can't
20
+ // confuse downstream parsers.
21
+ const argv = [];
22
+ for (const a of rawArgv) {
23
+ if (a === "--debug-input") {
24
+ process.env.CODEBASE_DEBUG_INPUT = "1";
25
+ continue;
26
+ }
27
+ if (a === "--new" || a === "--fresh") {
28
+ // Skip the auto-resume that the interactive TUI does by default —
29
+ // useful when the prior session is no longer relevant or after a
30
+ // destructive change to the working tree.
31
+ process.env.CODEBASE_FRESH = "1";
32
+ continue;
33
+ }
34
+ argv.push(a);
35
+ }
13
36
  if (argv[0] === "--version" || argv[0] === "-v") {
14
37
  process.stdout.write(`${readPackageVersion()}\n`);
15
38
  process.exit(0);
@@ -21,6 +44,19 @@ else if (argv[0] === "--help" || argv[0] === "-h") {
21
44
  else if (argv[0] === "auth") {
22
45
  runAuthSubcommand(argv).then((code) => process.exit(code));
23
46
  }
47
+ else if (argv[0] === "project" || argv[0] === "projects") {
48
+ runProjectSubcommand(argv).then((code) => process.exit(code));
49
+ }
50
+ else if (argv[0] === "app-server") {
51
+ // JSON-RPC-ish over stdio for IDE extensions. Auto-approve permissions
52
+ // by default — IDE clients render approval UIs themselves and we don't
53
+ // want the server to hang waiting on a TUI prompt no one's watching.
54
+ // The `--no-auto-approve` flag is for clients that DO implement their
55
+ // own approval flow via the `permission_request` event.
56
+ const noAutoApprove = argv.includes("--no-auto-approve");
57
+ const resume = argv.includes("--resume");
58
+ runAppServer({ autoApprove: !noAutoApprove, resume }).then((code) => process.exit(code));
59
+ }
24
60
  else if (argv[0] === "run") {
25
61
  const { prompt, outputFormat, autoApprove, error } = parseRunArgs(argv.slice(1));
26
62
  if (error) {
@@ -34,7 +70,15 @@ else if (argv[0] === "run") {
34
70
  runHeadless({ prompt, outputFormat, autoApprove }).then((code) => process.exit(code));
35
71
  }
36
72
  else {
73
+ setTerminalTitle("codebase");
74
+ // Enable bracketed paste mode so the terminal wraps pasted content in
75
+ // CSI 200~ / 201~ markers. The Input component listens for them and
76
+ // collapses the content into a placeholder. terminal-restore.ts emits
77
+ // the matching disable sequence on every exit path.
78
+ if (process.stdout.isTTY)
79
+ process.stdout.write("\x1b[?2004h");
37
80
  const instance = render(_jsx(App, {}));
81
+ installTerminalRestoreHandlers(instance);
38
82
  instance.waitUntilExit().catch(() => {
39
83
  process.exit(1);
40
84
  });
@@ -98,9 +142,20 @@ function printHelp() {
98
142
  " codebase auth status show current sign-in",
99
143
  " codebase auth refresh force-refresh the access token",
100
144
  " codebase auth <cbk_xxx> save a manual API key (for SSH / headless)",
145
+ " codebase project list list your projects on codebase.design",
146
+ " codebase project pull <id> download a project as a ZIP",
147
+ " codebase app-server JSON-RPC server on stdio (for IDE extensions)",
101
148
  " codebase --version print version and exit",
102
149
  " codebase --help show this message",
103
150
  "",
151
+ "Session:",
152
+ " codebase resume the prior session for this directory if recent (≤7d)",
153
+ " codebase --new start a fresh session, ignoring saved history",
154
+ "",
155
+ "Diagnostics:",
156
+ " --debug-input log every keystroke to ~/.codebase/logs/input.log",
157
+ " (use when reporting a keyboard/terminal issue)",
158
+ "",
104
159
  "More: https://github.com/codebase-foundation/codebase-cli",
105
160
  "",
106
161
  ].join("\n"));
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":"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"}
@@ -4,20 +4,24 @@ import { homedir } from "node:os";
4
4
  import { join } from "node:path";
5
5
  import { CredentialsStore } from "../auth/credentials.js";
6
6
  import { copyToClipboard, extractLastCodeBlock } from "../clipboard/copy.js";
7
+ import { NotAuthenticatedError, ProjectClient, ProjectClientError } from "../projects/client.js";
7
8
  const help = {
8
9
  name: "help",
9
- description: "List available slash commands.",
10
+ description: "List available slash commands and keyboard shortcuts.",
10
11
  handler: (_args, ctx) => {
11
- const lines = ["available slash commands:"];
12
- const reg = ctx.registry;
13
- // builtins() is built before registry is constructed, so the registry
14
- // reference is injected via ctx by the App. If absent (e.g. in tests),
15
- // we print just this message.
16
- if (reg) {
17
- for (const cmd of reg.list()) {
18
- const aliasPart = cmd.aliases?.length ? ` (${cmd.aliases.map((a) => `/${a}`).join(", ")})` : "";
19
- lines.push(` /${cmd.name}${aliasPart} — ${cmd.description}`);
20
- }
12
+ const lines = [];
13
+ lines.push("Keyboard shortcuts:");
14
+ lines.push(" / slash-command autocomplete (Tab to complete, ↑↓ to choose)");
15
+ lines.push(" !cmd run a shell command directly (e.g. !git status)");
16
+ lines.push(" @path inline a file's contents into the next prompt");
17
+ lines.push(" ↑/↓ recall prior prompts (at line start)");
18
+ lines.push(" \\<Enter> insert a newline instead of submitting");
19
+ lines.push(" Ctrl-C cancel turn (busy) · twice to exit (idle)");
20
+ lines.push("");
21
+ lines.push("Slash commands:");
22
+ for (const cmd of ctx.registry.list()) {
23
+ const aliasPart = cmd.aliases?.length ? ` (${cmd.aliases.map((a) => `/${a}`).join(", ")})` : "";
24
+ lines.push(` /${cmd.name}${aliasPart} — ${cmd.description}`);
21
25
  }
22
26
  ctx.emit(lines.join("\n"));
23
27
  return { handled: true };
@@ -32,6 +36,23 @@ const clear = {
32
36
  return { handled: true };
33
37
  },
34
38
  };
39
+ /**
40
+ * Hard reset: drop both the display transcript AND the agent's internal
41
+ * message history, so the next turn starts with zero context. Use after a
42
+ * topic shift, when the model's gotten stuck in a stale plan, or to free
43
+ * up context space without waiting for compaction.
44
+ */
45
+ const fresh = {
46
+ name: "new",
47
+ description: "Start a fresh conversation — wipes both display history and agent context.",
48
+ mutates: true,
49
+ handler: (_args, ctx) => {
50
+ ctx.bundle.agent.state.messages = [];
51
+ ctx.clearDisplay();
52
+ ctx.emit("Started a fresh conversation. Prior context is gone for this and the next turn.");
53
+ return { handled: true };
54
+ },
55
+ };
35
56
  const compact = {
36
57
  name: "compact",
37
58
  description: "Force a compaction pass on the running transcript.",
@@ -315,6 +336,54 @@ const context = {
315
336
  return { handled: true };
316
337
  },
317
338
  };
339
+ /**
340
+ * Diagnostic for "the model isn't remembering what I told it earlier."
341
+ * Compares the UI's display state (what the user sees in the transcript)
342
+ * with the agent's internal _state.messages (what actually ships to the
343
+ * model on the next turn). If those diverge, that's the bug. If they
344
+ * match but the model still acts amnesiac, the issue is in the wire
345
+ * call — pi-ai's openai-completions builder, the proxy, or the upstream.
346
+ */
347
+ const debug = {
348
+ name: "debug",
349
+ description: "Inspect internal agent state — message count, token estimate, last few roles.",
350
+ handler: (_args, ctx) => {
351
+ const display = ctx.state.messages;
352
+ const internal = ctx.bundle.agent.state.messages;
353
+ const rolesTail = (msgs, n) => msgs
354
+ .slice(-n)
355
+ .map((m) => m.role)
356
+ .join(" → ") || "(empty)";
357
+ const u = ctx.state.usage;
358
+ const used = u.input + u.cacheRead;
359
+ const compactAt = ctx.bundle.compaction.threshold();
360
+ const divergent = display.length !== internal.length;
361
+ const lines = [
362
+ "Internal state inspection:",
363
+ "",
364
+ ` Display messages (UI): ${display.length}`,
365
+ ` Agent state messages: ${internal.length}${divergent ? " ← MISMATCH!" : ""}`,
366
+ "",
367
+ ` Last 5 display roles: ${rolesTail(display, 5)}`,
368
+ ` Last 5 agent state roles: ${rolesTail(internal, 5)}`,
369
+ "",
370
+ ` Estimated tokens used: ${used.toLocaleString()}`,
371
+ ` Compaction triggers at: ${compactAt.toLocaleString()}`,
372
+ ` Streaming in progress: ${ctx.state.streaming ? "yes" : "no"}`,
373
+ "",
374
+ divergent
375
+ ? "Mismatch means the agent and the UI disagree about what's been said. " +
376
+ "That's the source of 'the model forgot' — the next turn ships internal " +
377
+ "messages, not display messages. Report this with a `codebase --debug-input` " +
378
+ "transcript so we can see how it happened."
379
+ : "Display and agent state match. If the model is still acting amnesiac, the " +
380
+ "context is leaving the CLI correctly but something on the wire is dropping " +
381
+ "it — capture with OPENAI_LOG=debug codebase to see the raw HTTP request body.",
382
+ ];
383
+ ctx.emit(lines.join("\n"));
384
+ return { handled: true };
385
+ },
386
+ };
318
387
  // ─── auth / session ───────────────────────────────────────────────────
319
388
  const login = {
320
389
  name: "login",
@@ -367,7 +436,7 @@ const init = {
367
436
  const template = [
368
437
  "# Project Instructions",
369
438
  "",
370
- "This file is auto-loaded by `codebase` (and Claude Code) on session start.",
439
+ "This file is auto-loaded by `codebase` on session start.",
371
440
  "Use it to capture project-specific rules and context the agent should follow.",
372
441
  "",
373
442
  "## What this project is",
@@ -395,20 +464,93 @@ const init = {
395
464
  return { handled: true };
396
465
  },
397
466
  };
467
+ const projects = {
468
+ name: "projects",
469
+ aliases: ["project"],
470
+ description: "List your projects from codebase.design (requires sign-in via `codebase auth login`).",
471
+ handler: async (_args, ctx) => {
472
+ const client = new ProjectClient();
473
+ if (!client.hasCredentials()) {
474
+ ctx.emit("not signed in. Run `codebase auth login` from a fresh terminal, then come back. " +
475
+ "Env-var providers (ANTHROPIC_API_KEY etc.) work fine for inference but the projects " +
476
+ "endpoint is gated on a codebase.design account.");
477
+ return { handled: true };
478
+ }
479
+ try {
480
+ const list = await client.list();
481
+ if (list.length === 0) {
482
+ ctx.emit("(no projects yet — build one at https://codebase.design)");
483
+ return { handled: true };
484
+ }
485
+ const lines = [`${list.length} project${list.length === 1 ? "" : "s"} on your account:`, ""];
486
+ for (const p of list) {
487
+ const tag = p.source === "storage-only" ? " [storage]" : "";
488
+ const date = p.publishedAt ? ` · ${p.publishedAt.slice(0, 10)}` : "";
489
+ lines.push(` ${p.id} ${p.title ?? "(untitled)"}${tag}${date}`);
490
+ }
491
+ lines.push("");
492
+ lines.push("pull one with: codebase project pull <id>");
493
+ ctx.emit(lines.join("\n"));
494
+ }
495
+ catch (err) {
496
+ if (err instanceof NotAuthenticatedError) {
497
+ ctx.emit(err.message);
498
+ }
499
+ else if (err instanceof ProjectClientError) {
500
+ ctx.emit(`/projects failed: ${err.message}`);
501
+ }
502
+ else {
503
+ ctx.emit(`/projects failed: ${err instanceof Error ? err.message : String(err)}`);
504
+ }
505
+ }
506
+ return { handled: true };
507
+ },
508
+ };
398
509
  const mcp = {
399
510
  name: "mcp",
400
511
  description: "Manage MCP (Model Context Protocol) servers — placeholder until Phase 9 lands.",
401
512
  handler: (_args, ctx) => {
402
513
  const configPath = join(homedir(), ".codebase", "config.json");
403
514
  ctx.emit("MCP support is on the Phase 9 roadmap; the runtime hasn't shipped it yet.\n" +
404
- `when it lands, server config will live at ${configPath} under "mcp_servers", ` +
405
- "matching Claude Code's shape so existing config files port over.");
515
+ `When it lands, server config will live at ${configPath} under "mcp_servers".`);
516
+ return { handled: true };
517
+ },
518
+ };
519
+ const redo = {
520
+ name: "redo",
521
+ aliases: ["retry"],
522
+ description: "Resend the last user prompt to the agent (e.g. after an error or aborted turn).",
523
+ handler: (_args, ctx) => {
524
+ const lastUser = [...ctx.state.messages].reverse().find((m) => m.role === "user");
525
+ if (!lastUser) {
526
+ ctx.emit("nothing to redo — no prior user prompts.");
527
+ return { handled: true };
528
+ }
529
+ const text = typeof lastUser.content === "string" ? lastUser.content : "";
530
+ if (!text) {
531
+ ctx.emit("can't redo — the last user message had non-text content.");
532
+ return { handled: true };
533
+ }
534
+ ctx.emit(`(redo) ${text.slice(0, 80)}${text.length > 80 ? "…" : ""}`);
535
+ void ctx.bundle.agent.prompt(text).catch(() => undefined);
536
+ return { handled: true };
537
+ },
538
+ };
539
+ const pwd = {
540
+ name: "pwd",
541
+ aliases: ["cwd"],
542
+ description: "Print the current working directory and copy it to the clipboard.",
543
+ handler: async (_args, ctx) => {
544
+ const cwd = ctx.bundle.toolContext.cwd;
545
+ const copied = await copyToClipboard(cwd).catch(() => false);
546
+ ctx.emit(copied ? `${cwd}\n(copied to clipboard)` : cwd);
406
547
  return { handled: true };
407
548
  },
408
549
  };
409
550
  export const BUILTIN_COMMANDS = [
410
551
  help,
411
552
  clear,
553
+ fresh,
412
554
  compact,
413
555
  session,
414
556
  cost,
@@ -424,7 +566,11 @@ export const BUILTIN_COMMANDS = [
424
566
  logout,
425
567
  resume,
426
568
  init,
569
+ projects,
427
570
  mcp,
571
+ pwd,
572
+ redo,
573
+ debug,
428
574
  exit,
429
575
  ];
430
576
  //# sourceMappingURL=builtins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/commands/builtins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtins.js","sourceRoot":"","sources":["../../src/commands/builtins.ts"],"names":[],"mappings":"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"}
@@ -53,11 +53,56 @@ export class CommandRegistry {
53
53
  const args = splitIdx === -1 ? "" : trimmed.slice(splitIdx + 1).trim();
54
54
  const command = this.get(name);
55
55
  if (!command) {
56
- ctx.emit(`unknown command: /${name}. Try /help.`);
56
+ const suggestion = this.suggestClosest(name);
57
+ ctx.emit(suggestion
58
+ ? `unknown command: /${name}. Did you mean /${suggestion}?`
59
+ : `unknown command: /${name}. Try /help.`);
57
60
  return { handled: true };
58
61
  }
59
62
  return command.handler(args, ctx);
60
63
  }
64
+ /**
65
+ * Return the registered command name with the smallest edit distance
66
+ * to `query` when it's a likely typo (distance ≤ 2 or ≤ ceil(len/3),
67
+ * whichever is greater). Returns undefined when nothing's close
68
+ * enough — better to print "Try /help" than to mis-suggest.
69
+ */
70
+ suggestClosest(query) {
71
+ const q = normalize(query);
72
+ if (!q)
73
+ return undefined;
74
+ const threshold = Math.max(2, Math.ceil(q.length / 3));
75
+ let best;
76
+ for (const name of new Set(Array.from(this.commands.values()).map((c) => c.name))) {
77
+ const dist = levenshtein(q, name);
78
+ if (dist <= threshold && (!best || dist < best.dist)) {
79
+ best = { name, dist };
80
+ }
81
+ }
82
+ return best?.name;
83
+ }
84
+ }
85
+ function levenshtein(a, b) {
86
+ if (a === b)
87
+ return 0;
88
+ if (a.length === 0)
89
+ return b.length;
90
+ if (b.length === 0)
91
+ return a.length;
92
+ const prev = new Array(b.length + 1);
93
+ const curr = new Array(b.length + 1);
94
+ for (let j = 0; j <= b.length; j++)
95
+ prev[j] = j;
96
+ for (let i = 1; i <= a.length; i++) {
97
+ curr[0] = i;
98
+ for (let j = 1; j <= b.length; j++) {
99
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
100
+ curr[j] = Math.min(curr[j - 1] + 1, prev[j] + 1, prev[j - 1] + cost);
101
+ }
102
+ for (let j = 0; j <= b.length; j++)
103
+ prev[j] = curr[j];
104
+ }
105
+ return prev[b.length];
61
106
  }
62
107
  function normalize(name) {
63
108
  return name.replace(/^\/+/, "").trim().toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/commands/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/commands/registry.ts"],"names":[],"mappings":"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"}