@chances-ai/cli 17.0.0 → 18.0.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/dist/boot/dispose.d.ts.map +1 -1
- package/dist/boot/dispose.js +11 -0
- package/dist/boot/dispose.js.map +1 -1
- package/dist/boot/load-runtime.d.ts +8 -0
- package/dist/boot/load-runtime.d.ts.map +1 -1
- package/dist/boot/load-runtime.js +2 -37
- package/dist/boot/load-runtime.js.map +1 -1
- package/dist/boot/open-browser.d.ts +10 -0
- package/dist/boot/open-browser.d.ts.map +1 -0
- package/dist/boot/open-browser.js +39 -0
- package/dist/boot/open-browser.js.map +1 -0
- package/dist/boot/web-assets.d.ts +11 -0
- package/dist/boot/web-assets.d.ts.map +1 -0
- package/dist/boot/web-assets.js +23 -0
- package/dist/boot/web-assets.js.map +1 -0
- package/dist/commands/chat.d.ts +2 -2
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +10 -4
- package/dist/commands/chat.js.map +1 -1
- package/dist/commands/config.d.ts +4 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +8 -3
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/doctor.d.ts +4 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +8 -3
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/help-text.d.ts +43 -0
- package/dist/commands/help-text.d.ts.map +1 -0
- package/dist/commands/help-text.js +87 -0
- package/dist/commands/help-text.js.map +1 -0
- package/dist/commands/prompt.d.ts +4 -1
- package/dist/commands/prompt.d.ts.map +1 -1
- package/dist/commands/prompt.js +6 -3
- package/dist/commands/prompt.js.map +1 -1
- package/dist/commands/serve.js +1 -1
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/stats.d.ts +4 -0
- package/dist/commands/stats.d.ts.map +1 -1
- package/dist/commands/stats.js +18 -0
- package/dist/commands/stats.js.map +1 -1
- package/dist/commands/version.d.ts.map +1 -1
- package/dist/commands/version.js +7 -17
- package/dist/commands/version.js.map +1 -1
- package/dist/slash/config.d.ts +10 -0
- package/dist/slash/config.d.ts.map +1 -0
- package/dist/slash/config.js +22 -0
- package/dist/slash/config.js.map +1 -0
- package/dist/slash/doctor.d.ts +9 -0
- package/dist/slash/doctor.d.ts.map +1 -0
- package/dist/slash/doctor.js +21 -0
- package/dist/slash/doctor.js.map +1 -0
- package/dist/slash/help.d.ts +9 -8
- package/dist/slash/help.d.ts.map +1 -1
- package/dist/slash/help.js +36 -18
- package/dist/slash/help.js.map +1 -1
- package/dist/slash/index.d.ts +6 -0
- package/dist/slash/index.d.ts.map +1 -1
- package/dist/slash/index.js +11 -1
- package/dist/slash/index.js.map +1 -1
- package/dist/slash/stats.d.ts +10 -0
- package/dist/slash/stats.d.ts.map +1 -0
- package/dist/slash/stats.js +23 -0
- package/dist/slash/stats.js.map +1 -0
- package/dist/slash/web.d.ts +25 -0
- package/dist/slash/web.d.ts.map +1 -0
- package/dist/slash/web.js +79 -0
- package/dist/slash/web.js.map +1 -0
- package/dist/web/assets/index-C060taGU.css +1 -0
- package/dist/web/assets/index-DGs1rWta.js +110 -0
- package/dist/web/assets/index-DGs1rWta.js.map +1 -0
- package/dist/web/index.html +13 -0
- package/package.json +21 -21
|
@@ -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
|
|
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":"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,
|
|
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"}
|
package/dist/commands/prompt.js
CHANGED
|
@@ -9,9 +9,9 @@ import { attachNdjson } from "../modes/ndjson.js";
|
|
|
9
9
|
import { attachText } from "../modes/text.js";
|
|
10
10
|
import { registerBuiltinSlashCommands } from "../slash/index.js";
|
|
11
11
|
/** Single-shot, non-interactive execution for scripts/CI. */
|
|
12
|
-
export async function runPrompt(ctx, prompt, format, autoApprove) {
|
|
12
|
+
export async function runPrompt(ctx, prompt, format, autoApprove, cliCommands = []) {
|
|
13
13
|
if (prompt.startsWith("/")) {
|
|
14
|
-
return runSlashPrompt(ctx, prompt, format, autoApprove);
|
|
14
|
+
return runSlashPrompt(ctx, prompt, format, autoApprove, cliCommands);
|
|
15
15
|
}
|
|
16
16
|
return executeTurn(ctx, SessionManager.create("prompt"), prompt, format, autoApprove);
|
|
17
17
|
}
|
|
@@ -47,7 +47,7 @@ async function executeTurn(ctx, session, prompt, format, autoApprove, opts = {})
|
|
|
47
47
|
renderer.finalize();
|
|
48
48
|
return lastError ? exitCodeFor(lastError) : 0;
|
|
49
49
|
}
|
|
50
|
-
async function runSlashPrompt(ctx, line, format, autoApprove) {
|
|
50
|
+
async function runSlashPrompt(ctx, line, format, autoApprove, cliCommands = []) {
|
|
51
51
|
const { name, args } = parseSlashInput(line);
|
|
52
52
|
if (!name) {
|
|
53
53
|
return emitSlashError(`Unknown command: /`, format);
|
|
@@ -68,6 +68,9 @@ async function runSlashPrompt(ctx, line, format, autoApprove) {
|
|
|
68
68
|
vm,
|
|
69
69
|
session,
|
|
70
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,
|
|
71
74
|
respawn: () => {
|
|
72
75
|
// No-op in -p mode — a one-shot can't loop into a new session. The
|
|
73
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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,SAAS,EAAmC,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACjI,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAKjE,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,GAAe,EACf,MAAc,EACd,MAAoB,EACpB,WAAoB;
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/serve.js
CHANGED
|
@@ -35,7 +35,7 @@ export const serveCommand = {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
const staticDir = webIdx >= 0 ? args.positional[webIdx + 1] : undefined;
|
|
38
|
-
const relay = startRelay({
|
|
38
|
+
const relay = await startRelay({
|
|
39
39
|
version: cliPkg.version,
|
|
40
40
|
...(port !== undefined ? { port } : {}),
|
|
41
41
|
...(staticDir ? { staticDir } : {}),
|
|
@@ -1 +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,UAAU,CAAC;
|
|
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"}
|
package/dist/commands/stats.d.ts
CHANGED
|
@@ -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"}
|
package/dist/commands/stats.js
CHANGED
|
@@ -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":"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"}
|
|
@@ -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;
|
|
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"}
|
package/dist/commands/version.js
CHANGED
|
@@ -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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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;
|
|
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"}
|
|
@@ -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"}
|
package/dist/slash/help.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
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
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
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
|
package/dist/slash/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/slash/help.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/slash/help.js
CHANGED
|
@@ -1,27 +1,45 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
1
2
|
import { definePlugin } from "@chances-ai/plugin-api";
|
|
3
|
+
import { HelpView } from "@chances-ai/tui";
|
|
4
|
+
import { GETTING_STARTED, MORE_URL, SHORTCUTS, renderHelpText } from "../commands/help-text.js";
|
|
5
|
+
import { VERSION } from "../commands/version.js";
|
|
2
6
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
+
* (v19) `/help` — a tabbed overlay (general · commands · shortcuts) modelled on
|
|
8
|
+
* claude-code's HelpV2. In a TUI it opens the {@link HelpView} modal via
|
|
9
|
+
* `openModal`; in text mode (rpc / `-p`) it returns the same sectioned text as
|
|
10
|
+
* `chances --help` (one renderer, `help-text.ts`, so the surfaces never drift).
|
|
7
11
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
12
|
+
* The command lists are LIVE: slash commands from `host.slashCommands()` (so
|
|
13
|
+
* plugin-provided commands appear too) and CLI sub-commands from the registry
|
|
14
|
+
* snapshot threaded in via {@link BuiltinSlashDeps.cliCommands}.
|
|
11
15
|
*/
|
|
12
|
-
export function makeHelpPlugin(host) {
|
|
16
|
+
export function makeHelpPlugin(host, deps) {
|
|
17
|
+
const cliCommands = () => deps.cliCommands.filter((c) => c.name !== "chat").map((c) => ({ name: c.name, description: c.description }));
|
|
18
|
+
// Live slash commands (built-ins + plugins), minus hidden + `help` itself.
|
|
19
|
+
const liveSlash = () => host
|
|
20
|
+
.slashCommands()
|
|
21
|
+
.filter((c) => !c.isHidden)
|
|
22
|
+
.sort((a, b) => a.name.localeCompare(b.name))
|
|
23
|
+
.map((c) => ({ name: c.name, description: c.description, argumentHint: c.argumentHint }));
|
|
13
24
|
const command = {
|
|
14
25
|
name: "help",
|
|
15
|
-
description: "
|
|
16
|
-
run: () => {
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
description: "Show all commands, shortcuts, and usage.",
|
|
27
|
+
run: async (_args, slashCtx) => {
|
|
28
|
+
const slash = liveSlash();
|
|
29
|
+
const cli = cliCommands();
|
|
30
|
+
if (slashCtx.openModal) {
|
|
31
|
+
await slashCtx.openModal((resolve) => createElement(HelpView, {
|
|
32
|
+
version: VERSION,
|
|
33
|
+
gettingStarted: GETTING_STARTED,
|
|
34
|
+
cliCommands: cli,
|
|
35
|
+
slashCommands: slash.map((c) => ({ name: c.name, description: c.description })),
|
|
36
|
+
shortcuts: SHORTCUTS,
|
|
37
|
+
moreUrl: MORE_URL,
|
|
38
|
+
onClose: () => resolve(null),
|
|
39
|
+
}));
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
return renderHelpText({ version: VERSION, cliCommands: cli, slashCommands: slash });
|
|
25
43
|
},
|
|
26
44
|
};
|
|
27
45
|
return definePlugin({
|
package/dist/slash/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/slash/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmD,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/slash/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,YAAY,EAAmD,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAoB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAkB,MAAM,0BAA0B,CAAC;AAChH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,IAAgB,EAAE,IAAsB;IACrE,MAAM,WAAW,GAAG,GAAkB,EAAE,CACtC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,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;IAE/G,2EAA2E;IAC3E,MAAM,SAAS,GAAG,GAAgB,EAAE,CAClC,IAAI;SACD,aAAa,EAAE;SACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;IAE9F,MAAM,OAAO,GAAiB;QAC5B,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,0CAA0C;QACvD,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;YAC1B,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACvB,MAAM,QAAQ,CAAC,SAAS,CAAO,CAAC,OAAO,EAAE,EAAE,CACzC,aAAa,CAAC,QAAQ,EAAE;oBACtB,OAAO,EAAE,OAAO;oBAChB,cAAc,EAAE,eAAe;oBAC/B,WAAW,EAAE,GAAG;oBAChB,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC/E,SAAS,EAAE,SAAS;oBACpB,OAAO,EAAE,QAAQ;oBACjB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;iBAC7B,CAAC,CACH,CAAC;gBACF,OAAO;YACT,CAAC;YACD,OAAO,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QACtF,CAAC;KACF,CAAC;IACF,OAAO,YAAY,CAAC;QAClB,IAAI,EAAE,cAAc;QACpB,MAAM,CAAC,GAAG;YACR,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/dist/slash/index.d.ts
CHANGED
|
@@ -23,6 +23,12 @@ export interface BuiltinSlashDeps {
|
|
|
23
23
|
store: SessionStore;
|
|
24
24
|
respawn: (resumeSessionId?: string) => void;
|
|
25
25
|
openTerminal: () => void;
|
|
26
|
+
/** (v19) The CLI sub-command registry snapshot, for `/help` to list both
|
|
27
|
+
* `chances <command>` entries and slash commands in one place. */
|
|
28
|
+
cliCommands: {
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
}[];
|
|
26
32
|
}
|
|
27
33
|
export declare function registerBuiltinSlashCommands(host: PluginHost, deps: BuiltinSlashDeps): Promise<void>;
|
|
28
34
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/slash/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/slash/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAkB1D;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,UAAU,CAAC;IAChB,EAAE,EAAE,aAAa,CAAC;IAClB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB;uEACmE;IACnE,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACtD;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,IAAI,CAAC,CAsBf"}
|
package/dist/slash/index.js
CHANGED
|
@@ -10,11 +10,15 @@ import { makeMcpPromptsPlugin } from "./mcp-prompts.js";
|
|
|
10
10
|
import { makeAgentsPlugin } from "./agents.js";
|
|
11
11
|
import { makeApprovalPlugin } from "./approval.js";
|
|
12
12
|
import { makeTerminalPlugin } from "./terminal.js";
|
|
13
|
+
import { makeDoctorPlugin } from "./doctor.js";
|
|
14
|
+
import { makeStatsPlugin } from "./stats.js";
|
|
15
|
+
import { makeConfigPlugin } from "./config.js";
|
|
16
|
+
import { makeWebPlugin } from "./web.js";
|
|
13
17
|
export async function registerBuiltinSlashCommands(host, deps) {
|
|
14
18
|
// Order doesn't matter; each plugin only mutates its own command slot.
|
|
15
19
|
// `await` so any onLoad error (e.g. duplicate registration in a buggy
|
|
16
20
|
// teardown) surfaces immediately rather than as an unhandled rejection.
|
|
17
|
-
await host.load(makeHelpPlugin(host));
|
|
21
|
+
await host.load(makeHelpPlugin(host, deps));
|
|
18
22
|
await host.load(makeModelPlugin(deps));
|
|
19
23
|
await host.load(makeProviderPlugin(deps));
|
|
20
24
|
await host.load(makeClearPlugin(deps));
|
|
@@ -26,5 +30,11 @@ export async function registerBuiltinSlashCommands(host, deps) {
|
|
|
26
30
|
await host.load(makeAgentsPlugin(deps));
|
|
27
31
|
await host.load(makeApprovalPlugin(deps));
|
|
28
32
|
await host.load(makeTerminalPlugin(deps));
|
|
33
|
+
// (v19) In-chat forms of the read-only CLI sub-commands.
|
|
34
|
+
await host.load(makeDoctorPlugin(deps));
|
|
35
|
+
await host.load(makeStatsPlugin(deps));
|
|
36
|
+
await host.load(makeConfigPlugin(deps));
|
|
37
|
+
// (v20) One-click web UI.
|
|
38
|
+
await host.load(makeWebPlugin(deps));
|
|
29
39
|
}
|
|
30
40
|
//# sourceMappingURL=index.js.map
|
package/dist/slash/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/slash/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/slash/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AA4BzC,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,IAAgB,EAChB,IAAsB;IAEtB,uEAAuE;IACvE,sEAAsE;IACtE,wEAAwE;IACxE,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,yDAAyD;IACzD,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,0BAA0B;IAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type Plugin } from "@chances-ai/plugin-api";
|
|
2
|
+
import type { BuiltinSlashDeps } from "./index.js";
|
|
3
|
+
/**
|
|
4
|
+
* (v19) `/stats [--since <date>] [--by-model]` — the in-chat form of
|
|
5
|
+
* `chances stats`: token usage + estimated cost from this workspace's
|
|
6
|
+
* `.chances/usage.jsonl`. Read-only; shares {@link statsReport} with the CLI
|
|
7
|
+
* command (bad flags come back as an inline usage message, never a throw).
|
|
8
|
+
*/
|
|
9
|
+
export declare function makeStatsPlugin(deps: BuiltinSlashDeps): Plugin;
|
|
10
|
+
//# sourceMappingURL=stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/slash/stats.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,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAa9D"}
|