@chances-ai/cli 16.0.0 → 18.0.0

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 (78) hide show
  1. package/dist/boot/dispose.d.ts.map +1 -1
  2. package/dist/boot/dispose.js +11 -0
  3. package/dist/boot/dispose.js.map +1 -1
  4. package/dist/boot/load-runtime.d.ts +8 -0
  5. package/dist/boot/load-runtime.d.ts.map +1 -1
  6. package/dist/boot/load-runtime.js +2 -37
  7. package/dist/boot/load-runtime.js.map +1 -1
  8. package/dist/boot/open-browser.d.ts +10 -0
  9. package/dist/boot/open-browser.d.ts.map +1 -0
  10. package/dist/boot/open-browser.js +39 -0
  11. package/dist/boot/open-browser.js.map +1 -0
  12. package/dist/boot/web-assets.d.ts +11 -0
  13. package/dist/boot/web-assets.d.ts.map +1 -0
  14. package/dist/boot/web-assets.js +23 -0
  15. package/dist/boot/web-assets.js.map +1 -0
  16. package/dist/commands/chat.d.ts +2 -2
  17. package/dist/commands/chat.d.ts.map +1 -1
  18. package/dist/commands/chat.js +15 -4
  19. package/dist/commands/chat.js.map +1 -1
  20. package/dist/commands/config.d.ts +4 -1
  21. package/dist/commands/config.d.ts.map +1 -1
  22. package/dist/commands/config.js +8 -3
  23. package/dist/commands/config.js.map +1 -1
  24. package/dist/commands/doctor.d.ts +4 -1
  25. package/dist/commands/doctor.d.ts.map +1 -1
  26. package/dist/commands/doctor.js +8 -3
  27. package/dist/commands/doctor.js.map +1 -1
  28. package/dist/commands/help-text.d.ts +43 -0
  29. package/dist/commands/help-text.d.ts.map +1 -0
  30. package/dist/commands/help-text.js +87 -0
  31. package/dist/commands/help-text.js.map +1 -0
  32. package/dist/commands/prompt.d.ts +4 -1
  33. package/dist/commands/prompt.d.ts.map +1 -1
  34. package/dist/commands/prompt.js +10 -4
  35. package/dist/commands/prompt.js.map +1 -1
  36. package/dist/commands/serve.d.ts +17 -0
  37. package/dist/commands/serve.d.ts.map +1 -0
  38. package/dist/commands/serve.js +64 -0
  39. package/dist/commands/serve.js.map +1 -0
  40. package/dist/commands/stats.d.ts +4 -0
  41. package/dist/commands/stats.d.ts.map +1 -1
  42. package/dist/commands/stats.js +18 -0
  43. package/dist/commands/stats.js.map +1 -1
  44. package/dist/commands/version.d.ts.map +1 -1
  45. package/dist/commands/version.js +7 -17
  46. package/dist/commands/version.js.map +1 -1
  47. package/dist/entrypoints/cli.d.ts.map +1 -1
  48. package/dist/entrypoints/cli.js +2 -0
  49. package/dist/entrypoints/cli.js.map +1 -1
  50. package/dist/slash/config.d.ts +10 -0
  51. package/dist/slash/config.d.ts.map +1 -0
  52. package/dist/slash/config.js +22 -0
  53. package/dist/slash/config.js.map +1 -0
  54. package/dist/slash/doctor.d.ts +9 -0
  55. package/dist/slash/doctor.d.ts.map +1 -0
  56. package/dist/slash/doctor.js +21 -0
  57. package/dist/slash/doctor.js.map +1 -0
  58. package/dist/slash/help.d.ts +9 -8
  59. package/dist/slash/help.d.ts.map +1 -1
  60. package/dist/slash/help.js +36 -18
  61. package/dist/slash/help.js.map +1 -1
  62. package/dist/slash/index.d.ts +6 -0
  63. package/dist/slash/index.d.ts.map +1 -1
  64. package/dist/slash/index.js +11 -1
  65. package/dist/slash/index.js.map +1 -1
  66. package/dist/slash/stats.d.ts +10 -0
  67. package/dist/slash/stats.d.ts.map +1 -0
  68. package/dist/slash/stats.js +23 -0
  69. package/dist/slash/stats.js.map +1 -0
  70. package/dist/slash/web.d.ts +25 -0
  71. package/dist/slash/web.d.ts.map +1 -0
  72. package/dist/slash/web.js +79 -0
  73. package/dist/slash/web.js.map +1 -0
  74. package/dist/web/assets/index-C060taGU.css +1 -0
  75. package/dist/web/assets/index-DGs1rWta.js +110 -0
  76. package/dist/web/assets/index-DGs1rWta.js.map +1 -0
  77. package/dist/web/index.html +13 -0
  78. package/package.json +21 -20
@@ -0,0 +1,87 @@
1
+ /**
2
+ * (v19) Single source of truth for the `chances` help CONTENT, shared by three
3
+ * surfaces so they never drift:
4
+ * - `chances --help` / `chances help` (text — {@link renderHelpText})
5
+ * - text-mode `/help` (rpc / `-p`, where there's no TUI modal)
6
+ * - the in-chat `/help` overlay (the `HelpView` modal, fed the same data)
7
+ *
8
+ * The CLI command list is always read LIVE from the `CommandRegistry`; slash
9
+ * command descriptions are read live from `host.slashCommands()` in chat, and
10
+ * fall back to {@link BUILTIN_SLASH_COMMANDS} for `--help` (which runs before the
11
+ * chat PluginHost exists). Keep {@link BUILTIN_SLASH_COMMANDS} in sync with
12
+ * `apps/cli/src/slash/index.ts`.
13
+ */
14
+ /** Docs / source. */
15
+ export const MORE_URL = "https://github.com/codeweiz/chances-cli";
16
+ /** "Getting started" numbered steps (the renderers add "1. ", "2. ", …). */
17
+ export const GETTING_STARTED = [
18
+ "Ask a question or describe a task — chances explores your code and responds.",
19
+ "Review and approve edits or commands when prompted (Shift+Tab cycles the approval mode).",
20
+ "Type /web to open the web UI, /help for commands, or / to browse slash commands.",
21
+ ];
22
+ /** Keyboard shortcuts, derived from `packages/ink-ext/src/keys.ts` bindings. */
23
+ export const SHORTCUTS = [
24
+ { keys: "enter", description: "submit your message" },
25
+ { keys: "shift+tab", description: "cycle approval mode (default · auto-edit · plan · yolo)" },
26
+ { keys: "/", description: "open the slash-command menu" },
27
+ { keys: "@", description: "mention a file or MCP resource" },
28
+ { keys: "↑ ↓", description: "navigate lists and menus" },
29
+ { keys: "← →", description: "switch tabs (pickers and this help)" },
30
+ { keys: "esc", description: "cancel a menu or dismiss" },
31
+ { keys: "ctrl+c", description: "quit (press twice)" },
32
+ ];
33
+ /**
34
+ * The built-in slash commands, for `chances --help` (which has no live chat
35
+ * PluginHost). The in-chat `/help` uses the LIVE registry instead, so plugin
36
+ * commands show up there. KEEP IN SYNC with `apps/cli/src/slash/index.ts`.
37
+ */
38
+ export const BUILTIN_SLASH_COMMANDS = [
39
+ { name: "help", description: "Show this help." },
40
+ { name: "model", description: "Show or switch the active model.", argumentHint: "[id]" },
41
+ { name: "provider", description: "Manage providers and API keys.", argumentHint: "[add]" },
42
+ { name: "agents", description: "List available subagents." },
43
+ { name: "approval", description: "Show or set the approval mode.", argumentHint: "[mode]" },
44
+ { name: "mcp", description: "Show MCP server status." },
45
+ { name: "doctor", description: "Print runtime, provider, and workspace diagnostics." },
46
+ { name: "stats", description: "Show token usage and estimated cost." },
47
+ { name: "config", description: "Show the active configuration." },
48
+ { name: "web", description: "Open the web UI in your browser.", argumentHint: "[stop]" },
49
+ { name: "compact", description: "Compact the conversation to free up context." },
50
+ { name: "clear", description: "Clear the conversation." },
51
+ { name: "resume", description: "Resume a previous session.", argumentHint: "[id]" },
52
+ { name: "logout", description: "Remove stored provider credentials." },
53
+ { name: "terminal", description: "Open an interactive terminal (tmux)." },
54
+ ];
55
+ /** Render the full `chances --help` / text-mode `/help` output. */
56
+ export function renderHelpText({ version, cliCommands, slashCommands }) {
57
+ const lines = [
58
+ `chances v${version} — a multi-provider terminal coding agent`,
59
+ "",
60
+ "Usage",
61
+ " chances start interactive chat",
62
+ ' chances -p "<prompt>" run a single prompt (non-interactive)',
63
+ " chances <command> [args] run a sub-command (see below)",
64
+ "",
65
+ "Getting started",
66
+ ...GETTING_STARTED.map((line, i) => ` ${i + 1}. ${line}`),
67
+ "",
68
+ ];
69
+ const cliShown = cliCommands.filter((c) => c.name !== "chat");
70
+ if (cliShown.length > 0) {
71
+ const pad = Math.max(...cliShown.map((c) => c.name.length));
72
+ lines.push("CLI commands (chances <command>)");
73
+ for (const c of cliShown)
74
+ lines.push(` ${c.name.padEnd(pad)} ${c.description}`);
75
+ lines.push("");
76
+ }
77
+ if (slashCommands.length > 0) {
78
+ const labels = slashCommands.map((c) => `/${c.name}${c.argumentHint ? ` ${c.argumentHint}` : ""}`);
79
+ const pad = Math.max(...labels.map((l) => l.length));
80
+ lines.push("Slash commands (type in chat)");
81
+ slashCommands.forEach((c, i) => lines.push(` ${labels[i].padEnd(pad)} ${c.description}`));
82
+ lines.push("");
83
+ }
84
+ lines.push("Options", " -p, --prompt <text> non-interactive prompt", " --json emit a single final JSON object", " --ndjson emit one event frame per line", " --yes auto-approve permission prompts", " --approval-mode <mode> initial approval mode (default|auto-edit|plan|yolo)", " --dangerously-skip-permissions start in yolo (auto-approve all tools)", " --provider <id> override provider", " --model <id> override model", " -h, --help show this help", " --version print the CLI version", "", "Shortcuts", ...SHORTCUTS.map((s) => ` ${s.keys.padEnd(10)} ${s.description}`), "", `More: ${MORE_URL}`, "");
85
+ return lines.join("\n");
86
+ }
87
+ //# sourceMappingURL=help-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-text.js","sourceRoot":"","sources":["../../src/commands/help-text.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import type { AppContext } from "../boot/load-runtime.js";
2
2
  export type OutputFormat = "text" | "json" | "ndjson";
3
3
  /** Single-shot, non-interactive execution for scripts/CI. */
4
- export declare function runPrompt(ctx: AppContext, prompt: string, format: OutputFormat, autoApprove: boolean): Promise<number>;
4
+ export declare function runPrompt(ctx: AppContext, prompt: string, format: OutputFormat, autoApprove: boolean, cliCommands?: {
5
+ name: string;
6
+ description: string;
7
+ }[]): Promise<number>;
5
8
  //# sourceMappingURL=prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEtD,6DAA6D;AAC7D,wBAAsB,SAAS,CAC7B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,GACnB,OAAO,CAAC,MAAM,CAAC,CAKjB"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEtD,6DAA6D;AAC7D,wBAAsB,SAAS,CAC7B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,OAAO,EACpB,WAAW,GAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EAAO,GACxD,OAAO,CAAC,MAAM,CAAC,CAKjB"}
@@ -1,3 +1,4 @@
1
+ import { homedir } from "node:os";
1
2
  import { AppError, CancellationTokenSource, ErrorCode, exitCodeFor } from "@chances-ai/runtime";
2
3
  import { SessionManager, SessionStore } from "@chances-ai/session";
3
4
  import { parseSlashInput, PluginHost } from "@chances-ai/plugin-api";
@@ -8,9 +9,9 @@ import { attachNdjson } from "../modes/ndjson.js";
8
9
  import { attachText } from "../modes/text.js";
9
10
  import { registerBuiltinSlashCommands } from "../slash/index.js";
10
11
  /** Single-shot, non-interactive execution for scripts/CI. */
11
- export async function runPrompt(ctx, prompt, format, autoApprove) {
12
+ export async function runPrompt(ctx, prompt, format, autoApprove, cliCommands = []) {
12
13
  if (prompt.startsWith("/")) {
13
- return runSlashPrompt(ctx, prompt, format, autoApprove);
14
+ return runSlashPrompt(ctx, prompt, format, autoApprove, cliCommands);
14
15
  }
15
16
  return executeTurn(ctx, SessionManager.create("prompt"), prompt, format, autoApprove);
16
17
  }
@@ -46,7 +47,7 @@ async function executeTurn(ctx, session, prompt, format, autoApprove, opts = {})
46
47
  renderer.finalize();
47
48
  return lastError ? exitCodeFor(lastError) : 0;
48
49
  }
49
- async function runSlashPrompt(ctx, line, format, autoApprove) {
50
+ async function runSlashPrompt(ctx, line, format, autoApprove, cliCommands = []) {
50
51
  const { name, args } = parseSlashInput(line);
51
52
  if (!name) {
52
53
  return emitSlashError(`Unknown command: /`, format);
@@ -59,12 +60,17 @@ async function runSlashPrompt(ctx, line, format, autoApprove) {
59
60
  const builtinHost = new PluginHost(ctx.bus, ctx.logger, ctx.tools);
60
61
  const store = new SessionStore(ctx.workspaceRoot);
61
62
  const session = SessionManager.create("prompt");
62
- const vm = new ChatViewModel();
63
+ // (v17 M0, codex R1 MUST-2) Inject home so `~`-folding of tool paths matches
64
+ // the pre-extraction behavior (ui-core's view-model no longer reads os).
65
+ const vm = new ChatViewModel(undefined, { home: homedir() });
63
66
  await registerBuiltinSlashCommands(builtinHost, {
64
67
  ctx,
65
68
  vm,
66
69
  session,
67
70
  store,
71
+ // (v19 codex SHOULD-FIX) Pass the CLI command snapshot so `-p "/help"`
72
+ // renders the same unified help (CLI + slash) as `--help` and chat.
73
+ cliCommands,
68
74
  respawn: () => {
69
75
  // No-op in -p mode — a one-shot can't loop into a new session. The
70
76
  // `/resume` command's user-facing output ("resuming …") still prints
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { CliCommand } from "./registry.js";
2
+ /**
3
+ * `chances serve` — expose the agent over HTTP/WS for the web + mobile clients
4
+ * (docs/6.1). M1 wires the WS `/rpc` control loop: the relay binds each
5
+ * accepted socket to the engine through the SAME `EngineHost`/`RpcServer` seam
6
+ * `chances rpc` uses (`makeEngineHost`), so the bespoke RPC server is reused
7
+ * UNCHANGED — the relay only adapts the transport (WS ⇆ `ByteSink`/lines).
8
+ *
9
+ * Safety: default-LOOPBACK bind (no `--host`/`0.0.0.0` until auth lands in M3,
10
+ * R1 N1/§7) and a SINGLE active controller (a second `/rpc` connection is
11
+ * refused until the first closes; the controller lock/epoch + replay is M2).
12
+ * The shared runtime outlives individual sockets — per-connection shutdown is a
13
+ * no-op (`perConnectionHost`); the real teardown is `main()`'s `disposeRuntime`
14
+ * on exit, which is why this command now needs the runtime.
15
+ */
16
+ export declare const serveCommand: CliCommand;
17
+ //# sourceMappingURL=serve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,EAAE,UA+C1B,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { parsePortFlag, startRelay } from "@chances-ai/serve";
2
+ import { makeEngineHost } from "./rpc.js";
3
+ import cliPkg from "../../package.json" with { type: "json" };
4
+ /**
5
+ * `chances serve` — expose the agent over HTTP/WS for the web + mobile clients
6
+ * (docs/6.1). M1 wires the WS `/rpc` control loop: the relay binds each
7
+ * accepted socket to the engine through the SAME `EngineHost`/`RpcServer` seam
8
+ * `chances rpc` uses (`makeEngineHost`), so the bespoke RPC server is reused
9
+ * UNCHANGED — the relay only adapts the transport (WS ⇆ `ByteSink`/lines).
10
+ *
11
+ * Safety: default-LOOPBACK bind (no `--host`/`0.0.0.0` until auth lands in M3,
12
+ * R1 N1/§7) and a SINGLE active controller (a second `/rpc` connection is
13
+ * refused until the first closes; the controller lock/epoch + replay is M2).
14
+ * The shared runtime outlives individual sockets — per-connection shutdown is a
15
+ * no-op (`perConnectionHost`); the real teardown is `main()`'s `disposeRuntime`
16
+ * on exit, which is why this command now needs the runtime.
17
+ */
18
+ export const serveCommand = {
19
+ name: "serve",
20
+ description: "Serve the agent over HTTP/WS for web/mobile clients (loopback only). GET /health + WS /rpc control loop.",
21
+ async run(ctx, args) {
22
+ if (!ctx)
23
+ throw new Error("serve requires a runtime context");
24
+ const port = parsePortFlag(args.positional);
25
+ // `--web <dir>` serves a built SPA (apps/web `vite build` output) on the same
26
+ // port as the control channel — a one-port end-to-end panel. Omitted ⇒ the
27
+ // dev path (run `vite dev`, which proxies `/rpc` to this relay). The value
28
+ // must be a real path, not the next flag (`--web --port …` is an error, not
29
+ // a directory named "--port") — codex R2 SHOULD-2.
30
+ const webIdx = args.positional.indexOf("--web");
31
+ if (webIdx >= 0) {
32
+ const next = args.positional[webIdx + 1];
33
+ if (next === undefined || next.startsWith("-")) {
34
+ throw new Error("serve: --web requires a directory path (e.g. --web apps/web/dist)");
35
+ }
36
+ }
37
+ const staticDir = webIdx >= 0 ? args.positional[webIdx + 1] : undefined;
38
+ const relay = await startRelay({
39
+ version: cliPkg.version,
40
+ ...(port !== undefined ? { port } : {}),
41
+ ...(staticDir ? { staticDir } : {}),
42
+ control: {
43
+ host: makeEngineHost(ctx),
44
+ agent: { name: cliPkg.name, version: cliPkg.version },
45
+ autoApprove: args.yes,
46
+ logSink: (line) => process.stderr.write(line),
47
+ },
48
+ });
49
+ process.stderr.write(`chances serve: listening on ${relay.url} (loopback) — GET /health, WS ${relay.url.replace("http", "ws")}/rpc${staticDir ? `, SPA from ${staticDir}` : ""}.\n`);
50
+ // Keep the process alive until a termination signal; stopping the relay
51
+ // closes any live socket (its close handler runs the per-session shutdown),
52
+ // then `main()`'s finally runs the canonical `disposeRuntime` teardown.
53
+ await new Promise((resolve) => {
54
+ const stop = () => {
55
+ relay.stop();
56
+ resolve();
57
+ };
58
+ process.once("SIGINT", stop);
59
+ process.once("SIGTERM", stop);
60
+ });
61
+ return 0;
62
+ },
63
+ };
64
+ //# sourceMappingURL=serve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,MAAM,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE9D;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,YAAY,GAAe;IACtC,IAAI,EAAE,OAAO;IACb,WAAW,EACT,0GAA0G;IAC5G,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI;QACjB,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,8EAA8E;QAC9E,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,mDAAmD;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE;gBACP,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC;gBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE;gBACrD,WAAW,EAAE,IAAI,CAAC,GAAG;gBACrB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;aAC9C;SACF,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+BAA+B,KAAK,CAAC,GAAG,iCAAiC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,cAAc,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAC/J,CAAC;QACF,wEAAwE;QACxE,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,GAAS,EAAE;gBACtB,KAAK,CAAC,IAAI,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,CAAC;IACX,CAAC;CACF,CAAC"}
@@ -36,6 +36,10 @@ export interface StatsDeps {
36
36
  export declare function parseUsageJsonl(text: string): UsageRow[];
37
37
  export declare function aggregate(rows: readonly UsageRow[], opts: StatsOptions, source: string): StatsSummary;
38
38
  export declare function formatStatsText(s: StatsSummary): string;
39
+ /** Build the usage report as text (shared by the `stats` CLI command and the
40
+ * `/stats` slash command). Returns a usage-error message on a bad flag rather
41
+ * than throwing, so the slash dispatcher surfaces it inline. */
42
+ export declare function statsReport(workspaceRoot: string, positional: readonly string[]): string;
39
43
  export declare function runStats(args: CliArgs, deps: StatsDeps): number;
40
44
  export declare const statsCommand: CliCommand;
41
45
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEzD,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AA0BD;qDACqD;AACrD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAuBxD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAgDrG;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CA0BvD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CA2B/D;AAED,eAAO,MAAM,YAAY,EAAE,UAU1B,CAAC"}
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEzD,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB;AA0BD;qDACqD;AACrD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAuBxD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAgDrG;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CA0BvD;AAED;;iEAEiE;AACjE,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAYxF;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CA2B/D;AAED,eAAO,MAAM,YAAY,EAAE,UAU1B,CAAC"}
@@ -129,6 +129,24 @@ export function formatStatsText(s) {
129
129
  }
130
130
  return lines.join("\n") + "\n";
131
131
  }
132
+ /** Build the usage report as text (shared by the `stats` CLI command and the
133
+ * `/stats` slash command). Returns a usage-error message on a bad flag rather
134
+ * than throwing, so the slash dispatcher surfaces it inline. */
135
+ export function statsReport(workspaceRoot, positional) {
136
+ let opts;
137
+ try {
138
+ opts = parseFlags(positional);
139
+ }
140
+ catch (e) {
141
+ if (e instanceof StatsUsageError)
142
+ return `stats: ${e.message}`;
143
+ throw e;
144
+ }
145
+ const path = join(workspaceRoot, ".chances", "usage.jsonl");
146
+ const text = existsSync(path) ? readFileSync(path, "utf8") : "";
147
+ const summary = aggregate(parseUsageJsonl(text), opts, path);
148
+ return formatStatsText(summary).trimEnd();
149
+ }
132
150
  export function runStats(args, deps) {
133
151
  let opts;
134
152
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/commands/stats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAwCvD,MAAM,eAAgB,SAAQ,KAAK;CAAG;AAEtC,SAAS,UAAU,CAAC,IAAuB;IACzC,MAAM,IAAI,GAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACnB,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,CAAC;gBAAE,MAAM,IAAI,eAAe,CAAC,mDAAmD,CAAC,CAAC;YACvF,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,eAAe,CAAC,0BAA0B,CAAC,qCAAqC,CAAC,CAAC;YAC9F,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QACpB,CAAC;aAAM,IAAI,CAAC,KAAK,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;qDACqD;AACrD,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,IAAI,GAAe,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAC5D,MAAM,GAAG,GAAG,MAAiC,CAAC;QAC9C,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ;YAAE,SAAS;QAC1E,IAAI,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,WAAW,EAAE,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACtE,YAAY,EAAE,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACzE,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC3D,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAyB,EAAE,IAAkB,EAAE,MAAc;IACrF,6EAA6E;IAC7E,kEAAkE;IAClE,MAAM,QAAQ,GACZ,IAAI,CAAC,OAAO,KAAK,SAAS;QACxB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAChB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3B,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAQ,CAAC;QAClD,CAAC,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC;QAC7B,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC;QAC/B,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,MAAM,OAAO,GAAiB;QAC5B,MAAM;QACN,OAAO,EAAE,QAAQ,CAAC,MAAM;QACxB,WAAW;QACX,YAAY;QACZ,OAAO;KACR,CAAC;IACF,IAAI,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC3C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACjB,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC;gBACtC,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC;gBACxC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE;oBACnB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,KAAK,EAAE,CAAC;oBACR,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,OAAO,EAAE,CAAC,CAAC,OAAO;iBACnB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAe;IAC7C,MAAM,KAAK,GAAa;QACtB,eAAe;QACf,eAAe;QACf,sBAAsB,CAAC,CAAC,MAAM,EAAE;KACjC,CAAC;IACF,IAAI,CAAC,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,KAAK,CAAC,IAAI,CACR,sBAAsB,CAAC,CAAC,OAAO,EAAE,EACjC,sBAAsB,CAAC,CAAC,WAAW,CAAC,cAAc,EAAE,EAAE,EACtD,sBAAsB,CAAC,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,EACvD,uBAAuB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAC9C,CAAC;IACF,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC5B,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC1B,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,WAAW,SAAS,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CACrI,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC;AAED;;iEAEiE;AACjE,MAAM,UAAU,WAAW,CAAC,aAAqB,EAAE,UAA6B;IAC9E,IAAI,IAAkB,CAAC;IACvB,IAAI,CAAC;QACH,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,eAAe;YAAE,OAAO,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/D,MAAM,CAAC,CAAC;IACV,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7D,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,IAAa,EAAE,IAAe;IACrD,IAAI,IAAkB,CAAC;IACvB,IAAI,CAAC;QACH,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,YAAY,eAAe,EAAE,CAAC;YACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;YAC9C,OAAO,CAAC,CAAC;QACX,CAAC;QACD,MAAM,CAAC,CAAC;IACV,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE5C,yEAAyE;IACzE,yDAAyD;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;SAAM,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAe;IACtC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,kGAAkG;IAC/G,qEAAqE;IACrE,wEAAwE;IACxE,+CAA+C;IAC/C,YAAY,EAAE,KAAK;IACnB,GAAG,CAAC,IAAI,EAAE,IAAI;QACZ,OAAO,QAAQ,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAMjE,eAAO,MAAM,OAAO,QAAc,CAAC;AAEnC,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,eAAe,GAAG,MAAM,CAgC5D;AAED,eAAO,MAAM,cAAc,EAAE,UAO5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,UAOzB,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAOjE,eAAO,MAAM,OAAO,QAAc,CAAC;AAEnC,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,eAAe,GAAG,MAAM,CAU5D;AAED,eAAO,MAAM,cAAc,EAAE,UAO5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,UAOzB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import pkg from "../../package.json" with { type: "json" };
2
+ import { BUILTIN_SLASH_COMMANDS, renderHelpText } from "./help-text.js";
2
3
  // Single source of truth: the version sits in apps/cli/package.json and
3
4
  // `release.ts` bumps it there. Reading it here means `chances --version` can
4
5
  // never drift behind the published version. `bun --compile` embeds the JSON
@@ -9,23 +10,12 @@ export function printVersion() {
9
10
  return 0;
10
11
  }
11
12
  export function printHelp(registry) {
12
- const lines = [
13
- "chances a Bun-first, multi-provider terminal coding agent",
14
- "",
15
- "Usage:",
16
- " chances start interactive chat",
17
- ' chances -p "<prompt>" run a single prompt (non-interactive)',
18
- ];
19
- if (registry) {
20
- const padTo = Math.max(...registry.list().map((c) => c.name.length));
21
- for (const cmd of registry.list()) {
22
- if (cmd.name === "chat")
23
- continue; // chat is the default; documented above
24
- lines.push(` chances ${cmd.name.padEnd(padTo)} ${cmd.description}`);
25
- }
26
- }
27
- lines.push("", "Options:", " -p, --prompt <text> non-interactive prompt", " --json emit a single final JSON object", " --ndjson emit one event frame per line", " --yes auto-approve permission prompts", " --approval-mode <mode> initial approval mode (default|auto-edit|plan|yolo)", " --dangerously-skip-permissions start in yolo (auto-approve all tools)", " --provider <id> override provider (mock|anthropic|openai)", " --model <id> override model", " -h, --help show this help", " --version print the CLI version", "");
28
- process.stdout.write(lines.join("\n"));
13
+ // (v19) One shared renderer (`help-text.ts`) feeds `--help`, text-mode
14
+ // `/help`, and the in-chat HelpView so the three never drift. CLI commands are
15
+ // read live from the registry; slash descriptions fall back to the built-in
16
+ // list here (the chat PluginHost doesn't exist this early).
17
+ const cliCommands = registry ? registry.list().map((c) => ({ name: c.name, description: c.description })) : [];
18
+ process.stdout.write(renderHelpText({ version: VERSION, cliCommands, slashCommands: BUILTIN_SLASH_COMMANDS }));
29
19
  return 0;
30
20
  }
31
21
  export const versionCommand = {
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAG3D,wEAAwE;AACxE,6EAA6E;AAC7E,4EAA4E;AAC5E,mEAAmE;AACnE,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AAEnC,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAA0B;IAClD,MAAM,KAAK,GAAa;QACtB,6DAA6D;QAC7D,EAAE;QACF,QAAQ;QACR,wDAAwD;QACxD,wEAAwE;KACzE,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAS,CAAC,wCAAwC;YAC3E,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CACR,EAAE,EACF,UAAU,EACV,wDAAwD,EACxD,iEAAiE,EACjE,+DAA+D,EAC/D,iEAAiE,EACjE,qFAAqF,EACrF,8EAA8E,EAC9E,2EAA2E,EAC3E,gDAAgD,EAChD,gDAAgD,EAChD,uDAAuD,EACvD,EAAE,CACH,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,wBAAwB;IACrC,YAAY,EAAE,KAAK;IACnB,GAAG;QACD,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,KAAK;IACnB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ;QACvB,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/commands/version.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAExE,wEAAwE;AACxE,6EAA6E;AAC7E,4EAA4E;AAC5E,mEAAmE;AACnE,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AAEnC,MAAM,UAAU,YAAY;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,OAAO,IAAI,CAAC,CAAC;IAC7C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAA0B;IAClD,uEAAuE;IACvE,+EAA+E;IAC/E,4EAA4E;IAC5E,4DAA4D;IAC5D,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/G,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,sBAAsB,EAAE,CAAC,CACzF,CAAC;IACF,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAe;IACxC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,wBAAwB;IACrC,YAAY,EAAE,KAAK;IACnB,GAAG;QACD,OAAO,YAAY,EAAE,CAAC;IACxB,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,iBAAiB;IAC9B,YAAY,EAAE,KAAK;IACnB,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ;QACvB,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/entrypoints/cli.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAWvE,OAAO,EAAe,SAAS,EAAE,YAAY,EAAkB,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAqF1D,oDAAoD;AACpD,wBAAgB,oBAAoB,IAAI,eAAe,CAatD;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE1B,yEAAyE;AACzE,wBAAsB,IAAI,CACxB,IAAI,GAAE,MAAM,EAA0B,EACtC,aAAa,GAAE,aAA2B,GACzC,OAAO,CAAC,MAAM,CAAC,CAqDjB;AAED,0EAA0E;AAC1E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/entrypoints/cli.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAYvE,OAAO,EAAe,SAAS,EAAE,YAAY,EAAkB,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAqF1D,oDAAoD;AACpD,wBAAgB,oBAAoB,IAAI,eAAe,CActD;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;AAE1B,yEAAyE;AACzE,wBAAsB,IAAI,CACxB,IAAI,GAAE,MAAM,EAA0B,EACtC,aAAa,GAAE,aAA2B,GACzC,OAAO,CAAC,MAAM,CAAC,CAqDjB;AAED,0EAA0E;AAC1E,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC"}
@@ -9,6 +9,7 @@ import { statsCommand } from "../commands/stats.js";
9
9
  import { discoverCommand } from "../commands/discover.js";
10
10
  import { rpcCommand } from "../commands/rpc.js";
11
11
  import { acpCommand } from "../commands/acp.js";
12
+ import { serveCommand } from "../commands/serve.js";
12
13
  import { helpCommand, printHelp, printVersion, versionCommand } from "../commands/version.js";
13
14
  import { CommandRegistry } from "../commands/registry.js";
14
15
  /** (5.3) Accept only the four known modes; an invalid `--approval-mode` value
@@ -85,6 +86,7 @@ export function buildCommandRegistry() {
85
86
  registry.register(discoverCommand);
86
87
  registry.register(rpcCommand);
87
88
  registry.register(acpCommand);
89
+ registry.register(serveCommand);
88
90
  registry.register(helpCommand);
89
91
  registry.register(versionCommand);
90
92
  return registry;
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/entrypoints/cli.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/entrypoints/cli.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type Plugin } from "@chances-ai/plugin-api";
2
+ import type { BuiltinSlashDeps } from "./index.js";
3
+ /**
4
+ * (v19) `/config` — the in-chat form of `chances config`: the resolved
5
+ * configuration (provider, model, permissions, ready providers, feature flags)
6
+ * as JSON. Read-only; no secrets are stored in config. Shares
7
+ * {@link configReport} with the CLI command.
8
+ */
9
+ export declare function makeConfigPlugin(deps: BuiltinSlashDeps): Plugin;
10
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/slash/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAqB,MAAM,wBAAwB,CAAC;AAEtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAY/D"}
@@ -0,0 +1,22 @@
1
+ import { definePlugin } from "@chances-ai/plugin-api";
2
+ import { configReport } from "../commands/config.js";
3
+ /**
4
+ * (v19) `/config` — the in-chat form of `chances config`: the resolved
5
+ * configuration (provider, model, permissions, ready providers, feature flags)
6
+ * as JSON. Read-only; no secrets are stored in config. Shares
7
+ * {@link configReport} with the CLI command.
8
+ */
9
+ export function makeConfigPlugin(deps) {
10
+ const command = {
11
+ name: "config",
12
+ description: "Show the active configuration.",
13
+ run: () => configReport(deps.ctx),
14
+ };
15
+ return definePlugin({
16
+ name: "builtin/config",
17
+ onLoad(ctx) {
18
+ ctx.registerSlashCommand(command);
19
+ },
20
+ });
21
+ }
22
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/slash/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkC,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAsB;IACrD,MAAM,OAAO,GAAiB;QAC5B,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,gCAAgC;QAC7C,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;KAClC,CAAC;IACF,OAAO,YAAY,CAAC;QAClB,IAAI,EAAE,gBAAgB;QACtB,MAAM,CAAC,GAAG;YACR,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type Plugin } from "@chances-ai/plugin-api";
2
+ import type { BuiltinSlashDeps } from "./index.js";
3
+ /**
4
+ * (v19) `/doctor` — the in-chat form of `chances doctor`: runtime, native addon,
5
+ * provider, and workspace diagnostics. Read-only; shares {@link doctorReport}
6
+ * with the CLI command so the two never drift.
7
+ */
8
+ export declare function makeDoctorPlugin(deps: BuiltinSlashDeps): Plugin;
9
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/slash/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAqB,MAAM,wBAAwB,CAAC;AAEtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAY/D"}
@@ -0,0 +1,21 @@
1
+ import { definePlugin } from "@chances-ai/plugin-api";
2
+ import { doctorReport } from "../commands/doctor.js";
3
+ /**
4
+ * (v19) `/doctor` — the in-chat form of `chances doctor`: runtime, native addon,
5
+ * provider, and workspace diagnostics. Read-only; shares {@link doctorReport}
6
+ * with the CLI command so the two never drift.
7
+ */
8
+ export function makeDoctorPlugin(deps) {
9
+ const command = {
10
+ name: "doctor",
11
+ description: "Print runtime, provider, and workspace diagnostics.",
12
+ run: () => doctorReport(deps.ctx),
13
+ };
14
+ return definePlugin({
15
+ name: "builtin/doctor",
16
+ onLoad(ctx) {
17
+ ctx.registerSlashCommand(command);
18
+ },
19
+ });
20
+ }
21
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/slash/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAkC,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAsB;IACrD,MAAM,OAAO,GAAiB;QAC5B,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,qDAAqD;QAClE,GAAG,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;KAClC,CAAC;IACF,OAAO,YAAY,CAAC;QAClB,IAAI,EAAE,gBAAgB;QACtB,MAAM,CAAC,GAAG;YACR,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,13 +1,14 @@
1
1
  import { type Plugin, type PluginHost } from "@chances-ai/plugin-api";
2
+ import type { BuiltinSlashDeps } from "./index.js";
2
3
  /**
3
- * Lists every registered slash command built-ins and plugin-provided alike.
4
- * Sorted alphabetically; the active command itself is included for symmetry.
5
- * The output is a single multi-line string that the dispatcher renders as an
6
- * info line.
4
+ * (v19) `/help` a tabbed overlay (general · commands · shortcuts) modelled on
5
+ * claude-code's HelpV2. In a TUI it opens the {@link HelpView} modal via
6
+ * `openModal`; in text mode (rpc / `-p`) it returns the same sectioned text as
7
+ * `chances --help` (one renderer, `help-text.ts`, so the surfaces never drift).
7
8
  *
8
- * `host` is captured by closure so the listing reflects what's actually
9
- * loaded — adding a new built-in or a plugin command at any time updates the
10
- * `/help` output without changing this file.
9
+ * The command lists are LIVE: slash commands from `host.slashCommands()` (so
10
+ * plugin-provided commands appear too) and CLI sub-commands from the registry
11
+ * snapshot threaded in via {@link BuiltinSlashDeps.cliCommands}.
11
12
  */
12
- export declare function makeHelpPlugin(host: PluginHost): Plugin;
13
+ export declare function makeHelpPlugin(host: PluginHost, deps: BuiltinSlashDeps): Plugin;
13
14
  //# sourceMappingURL=help.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/slash/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,KAAK,UAAU,EAAqB,MAAM,wBAAwB,CAAC;AAEvG;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAoBvD"}
1
+ {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/slash/help.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,MAAM,EAAE,KAAK,UAAU,EAAqB,MAAM,wBAAwB,CAAC;AAIvG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAyC/E"}