joonecli 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/README.md +12 -12
  2. package/dist/__tests__/optimizations.test.js.map +1 -1
  3. package/dist/__tests__/promptBuilder.test.js +14 -20
  4. package/dist/__tests__/promptBuilder.test.js.map +1 -1
  5. package/dist/agents/agentRegistry.d.ts +37 -0
  6. package/dist/agents/agentRegistry.js +58 -0
  7. package/dist/agents/agentRegistry.js.map +1 -0
  8. package/dist/agents/agentSpec.d.ts +54 -0
  9. package/dist/agents/agentSpec.js +9 -0
  10. package/dist/agents/agentSpec.js.map +1 -0
  11. package/dist/agents/builtinAgents.d.ts +20 -0
  12. package/dist/agents/builtinAgents.js +125 -0
  13. package/dist/agents/builtinAgents.js.map +1 -0
  14. package/dist/cli/config.d.ts +4 -0
  15. package/dist/cli/config.js.map +1 -1
  16. package/dist/cli/index.js +25 -1
  17. package/dist/cli/index.js.map +1 -1
  18. package/dist/cli/postinstall.d.ts +2 -0
  19. package/dist/cli/postinstall.js +25 -0
  20. package/dist/cli/postinstall.js.map +1 -0
  21. package/dist/commands/builtinCommands.d.ts +21 -0
  22. package/dist/commands/builtinCommands.js +241 -0
  23. package/dist/commands/builtinCommands.js.map +1 -0
  24. package/dist/commands/commandRegistry.d.ts +90 -0
  25. package/dist/commands/commandRegistry.js +128 -0
  26. package/dist/commands/commandRegistry.js.map +1 -0
  27. package/dist/core/agentLoop.d.ts +4 -1
  28. package/dist/core/agentLoop.js +21 -9
  29. package/dist/core/agentLoop.js.map +1 -1
  30. package/dist/core/autoSave.d.ts +41 -0
  31. package/dist/core/autoSave.js +69 -0
  32. package/dist/core/autoSave.js.map +1 -0
  33. package/dist/core/compactor.d.ts +66 -0
  34. package/dist/core/compactor.js +170 -0
  35. package/dist/core/compactor.js.map +1 -0
  36. package/dist/core/contextGuard.d.ts +33 -0
  37. package/dist/core/contextGuard.js +95 -0
  38. package/dist/core/contextGuard.js.map +1 -0
  39. package/dist/core/promptBuilder.d.ts +16 -1
  40. package/dist/core/promptBuilder.js +27 -14
  41. package/dist/core/promptBuilder.js.map +1 -1
  42. package/dist/core/sessionResumer.js +3 -3
  43. package/dist/core/sessionResumer.js.map +1 -1
  44. package/dist/core/subAgent.d.ts +56 -0
  45. package/dist/core/subAgent.js +240 -0
  46. package/dist/core/subAgent.js.map +1 -0
  47. package/dist/debug_google.d.ts +1 -0
  48. package/dist/debug_google.js +23 -0
  49. package/dist/debug_google.js.map +1 -0
  50. package/dist/test_google.d.ts +1 -0
  51. package/dist/test_google.js +32 -89
  52. package/dist/test_google.js.map +1 -0
  53. package/dist/tools/router.js +2 -0
  54. package/dist/tools/router.js.map +1 -1
  55. package/dist/tools/spawnAgent.d.ts +19 -0
  56. package/dist/tools/spawnAgent.js +130 -0
  57. package/dist/tools/spawnAgent.js.map +1 -0
  58. package/dist/ui/App.js +88 -5
  59. package/dist/ui/App.js.map +1 -1
  60. package/package.json +3 -2
  61. package/src/cli/index.ts +12 -0
  62. package/src/cli/postinstall.ts +28 -0
  63. package/src/core/compactor.ts +2 -2
  64. package/src/core/contextGuard.ts +4 -4
  65. package/src/core/sessionStore.ts +2 -1
  66. package/src/core/subAgent.ts +2 -2
  67. package/tests/core/sessionStore.test.ts +2 -2
  68. package/src/test_google.js +0 -40
  69. package/src/test_google.ts +0 -40
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env node
2
+ // We only want to show the banner on post-install if this is an interactive terminal
3
+ // and we are not in a CI environment.
4
+ if (process.stdout.isTTY && !process.env.CI) {
5
+ // Determine if it was installed globally
6
+ const npmConfigPrefix = process.env.npm_config_global === "true" || process.env.npm_config_global === "";
7
+ const green = "\x1b[32m";
8
+ const cyan = "\x1b[36m";
9
+ const bold = "\x1b[1m";
10
+ const reset = "\x1b[0m";
11
+ console.log("");
12
+ console.log(` ╭───────────────────────────────────────────────────╮`);
13
+ console.log(` │ │`);
14
+ console.log(` │ 🚀 ${green}${bold}Joone installed successfully!${reset} │`);
15
+ console.log(` │ │`);
16
+ console.log(` │ To complete setup and start the agent, │`);
17
+ console.log(` │ run the following command in your terminal: │`);
18
+ console.log(` │ │`);
19
+ console.log(` │ $ ${cyan}joone${reset} │`);
20
+ console.log(` │ │`);
21
+ console.log(` ╰───────────────────────────────────────────────────╯`);
22
+ console.log("");
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=postinstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postinstall.js","sourceRoot":"","sources":["../../src/cli/postinstall.ts"],"names":[],"mappings":";AAIA,qFAAqF;AACrF,sCAAsC;AACtC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IAC5C,yCAAyC;IACzC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,EAAE,CAAC;IAEzG,MAAM,KAAK,GAAG,UAAU,CAAC;IACzB,MAAM,IAAI,GAAG,UAAU,CAAC;IACxB,MAAM,IAAI,GAAG,SAAS,CAAC;IACvB,MAAM,KAAK,GAAG,SAAS,CAAC;IAExB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,GAAG,IAAI,gCAAgC,KAAK,mBAAmB,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,QAAQ,KAAK,4CAA4C,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Built-in Slash Commands
3
+ *
4
+ * All default commands that ship with Joone. Each command is a self-contained
5
+ * SlashCommand object registered into the CommandRegistry at session start.
6
+ */
7
+ import { SlashCommand } from "./commandRegistry.js";
8
+ export declare const HelpCommand: SlashCommand;
9
+ export declare const ModelCommand: SlashCommand;
10
+ export declare const ClearCommand: SlashCommand;
11
+ export declare const CompactCommand: SlashCommand;
12
+ export declare const TokensCommand: SlashCommand;
13
+ export declare const StatusCommand: SlashCommand;
14
+ export declare const HistoryCommand: SlashCommand;
15
+ export declare const UndoCommand: SlashCommand;
16
+ export declare const ExitCommand: SlashCommand;
17
+ import { CommandRegistry } from "./commandRegistry.js";
18
+ /**
19
+ * Creates a CommandRegistry pre-loaded with all built-in commands.
20
+ */
21
+ export declare function createDefaultRegistry(): CommandRegistry;
@@ -0,0 +1,241 @@
1
+ /**
2
+ * Built-in Slash Commands
3
+ *
4
+ * All default commands that ship with Joone. Each command is a self-contained
5
+ * SlashCommand object registered into the CommandRegistry at session start.
6
+ */
7
+ import { countMessageTokens, estimateTokens } from "../core/tokenCounter.js";
8
+ // ─── /help ──────────────────────────────────────────────────────────────────────
9
+ export const HelpCommand = {
10
+ name: "help",
11
+ aliases: ["h", "?"],
12
+ description: "Show all available commands",
13
+ execute: async (_args, ctx) => {
14
+ // We import the registry's getHelp via context indirectly.
15
+ // The registry is responsible for calling this, so we return a static list.
16
+ const lines = [
17
+ "Available commands:\n",
18
+ " /help (h, ?) — Show this help message",
19
+ " /model (m) [name] — Switch model or show current model",
20
+ " /clear (c) — Clear conversation history",
21
+ " /compact — Manually trigger context compaction",
22
+ " /tokens (t) — Show current token usage",
23
+ " /status (s) — Show session status",
24
+ " /history — Show conversation summary",
25
+ " /undo — Remove last user+agent exchange",
26
+ " /exit (quit, q) — Exit the session",
27
+ ];
28
+ return lines.join("\n");
29
+ },
30
+ };
31
+ // ─── /model ─────────────────────────────────────────────────────────────────────
32
+ export const ModelCommand = {
33
+ name: "model",
34
+ aliases: ["m"],
35
+ description: "Switch LLM model or show current model",
36
+ execute: async (args, ctx) => {
37
+ if (!args.trim()) {
38
+ return `Current model: ${ctx.model} (provider: ${ctx.provider})\n` +
39
+ `To switch: /model <model-name>`;
40
+ }
41
+ // We can't hot-swap the LLM instance without re-creating the harness,
42
+ // so we update the config and inform the user to restart.
43
+ // In the future, this could support live reloading.
44
+ const newModel = args.trim();
45
+ return `⚠ Model switching requires a session restart.\n` +
46
+ `To use "${newModel}", update your config:\n` +
47
+ ` joone config\n` +
48
+ `Or restart with: joone start\n\n` +
49
+ `Current model: ${ctx.model}`;
50
+ },
51
+ };
52
+ // ─── /clear ─────────────────────────────────────────────────────────────────────
53
+ export const ClearCommand = {
54
+ name: "clear",
55
+ aliases: ["c"],
56
+ description: "Clear conversation history (keeps system prompt)",
57
+ execute: async (_args, ctx) => {
58
+ const prevCount = ctx.contextState.conversationHistory.length;
59
+ ctx.setContextState({
60
+ ...ctx.contextState,
61
+ conversationHistory: [],
62
+ });
63
+ return `✓ Cleared ${prevCount} messages from conversation history.\n` +
64
+ `System prompt and project context preserved.`;
65
+ },
66
+ };
67
+ // ─── /compact ───────────────────────────────────────────────────────────────────
68
+ export const CompactCommand = {
69
+ name: "compact",
70
+ description: "Manually trigger context compaction",
71
+ execute: async (_args, ctx) => {
72
+ const history = ctx.contextState.conversationHistory;
73
+ if (history.length <= 6) {
74
+ return `Not enough history to compact (${history.length} messages). Need > 6.`;
75
+ }
76
+ const allMessages = [
77
+ ...history, // Simplified — the full prompt builder would add system messages too
78
+ ];
79
+ const currentTokens = countMessageTokens(allMessages);
80
+ const pct = Math.round((currentTokens / ctx.maxTokens) * 100);
81
+ if (pct < 50) {
82
+ return `Context at ${pct}% capacity (${currentTokens} tokens). ` +
83
+ `Compaction not needed yet — typically triggers at 80%.`;
84
+ }
85
+ // For now, do a basic compaction. M12 will replace this with LLM-powered compaction.
86
+ const keepLastN = 8;
87
+ const recent = history.slice(-keepLastN);
88
+ const evictedCount = history.length - keepLastN;
89
+ // Simple string summary (M12 will upgrade to LLM summary)
90
+ const { HumanMessage } = await import("@langchain/core/messages");
91
+ const summaryMsg = new HumanMessage(`<system-summary>\n[Compacted: ${evictedCount} messages removed. ` +
92
+ `Use /history for details. Conversation continues below.]\n</system-summary>`);
93
+ ctx.setContextState({
94
+ ...ctx.contextState,
95
+ conversationHistory: [summaryMsg, ...recent],
96
+ });
97
+ const newTokens = countMessageTokens([summaryMsg, ...recent]);
98
+ return `✓ Compacted ${evictedCount} messages. ` +
99
+ `Tokens: ${currentTokens} → ${newTokens} (${Math.round((newTokens / ctx.maxTokens) * 100)}%)`;
100
+ },
101
+ };
102
+ // ─── /tokens ────────────────────────────────────────────────────────────────────
103
+ export const TokensCommand = {
104
+ name: "tokens",
105
+ aliases: ["t"],
106
+ description: "Show current token usage and context capacity",
107
+ execute: async (_args, ctx) => {
108
+ const history = ctx.contextState.conversationHistory;
109
+ const historyTokens = countMessageTokens(history);
110
+ const systemTokens = estimateTokens(ctx.contextState.globalSystemInstructions) +
111
+ estimateTokens(ctx.contextState.projectMemory) +
112
+ estimateTokens(ctx.contextState.sessionContext);
113
+ const totalTokens = systemTokens + historyTokens;
114
+ const pct = Math.round((totalTokens / ctx.maxTokens) * 100);
115
+ const bar = generateBar(pct);
116
+ return [
117
+ `Token Usage:`,
118
+ ` System prompt: ~${systemTokens} tokens`,
119
+ ` Conversation: ~${historyTokens} tokens (${history.length} messages)`,
120
+ ` Total: ~${totalTokens} / ${ctx.maxTokens} tokens`,
121
+ ` Capacity: ${bar} ${pct}%`,
122
+ pct >= 80 ? ` ⚠ Near capacity — consider /compact` : "",
123
+ ].filter(Boolean).join("\n");
124
+ },
125
+ };
126
+ /**
127
+ * Generates a simple text progress bar.
128
+ */
129
+ function generateBar(pct) {
130
+ const filled = Math.round(pct / 5); // 20 chars total
131
+ const empty = 20 - filled;
132
+ return `[${"█".repeat(filled)}${"░".repeat(Math.max(0, empty))}]`;
133
+ }
134
+ // ─── /status ────────────────────────────────────────────────────────────────────
135
+ export const StatusCommand = {
136
+ name: "status",
137
+ aliases: ["s"],
138
+ description: "Show current session status",
139
+ execute: async (_args, ctx) => {
140
+ const history = ctx.contextState.conversationHistory;
141
+ const tokens = countMessageTokens(history);
142
+ const pct = Math.round((tokens / ctx.maxTokens) * 100);
143
+ return [
144
+ `Session Status:`,
145
+ ` Provider: ${ctx.provider}`,
146
+ ` Model: ${ctx.model}`,
147
+ ` Messages: ${history.length}`,
148
+ ` Token Usage: ~${tokens} / ${ctx.maxTokens} (${pct}%)`,
149
+ ` CWD: ${process.cwd()}`,
150
+ ].join("\n");
151
+ },
152
+ };
153
+ // ─── /history ───────────────────────────────────────────────────────────────────
154
+ export const HistoryCommand = {
155
+ name: "history",
156
+ description: "Show conversation history summary",
157
+ execute: async (_args, ctx) => {
158
+ const history = ctx.contextState.conversationHistory;
159
+ if (history.length === 0) {
160
+ return "No conversation history yet.";
161
+ }
162
+ const lines = [`Conversation History (${history.length} messages):\n`];
163
+ // Show last 20 messages max
164
+ const start = Math.max(0, history.length - 20);
165
+ if (start > 0) {
166
+ lines.push(` ... (${start} earlier messages omitted)\n`);
167
+ }
168
+ for (let i = start; i < history.length; i++) {
169
+ const msg = history[i];
170
+ const role = msg._getType();
171
+ const content = typeof msg.content === "string"
172
+ ? msg.content.slice(0, 80)
173
+ : "[complex content]";
174
+ const suffix = typeof msg.content === "string" && msg.content.length > 80 ? "..." : "";
175
+ lines.push(` ${i + 1}. [${role}] ${content}${suffix}`);
176
+ }
177
+ return lines.join("\n");
178
+ },
179
+ };
180
+ // ─── /undo ──────────────────────────────────────────────────────────────────────
181
+ export const UndoCommand = {
182
+ name: "undo",
183
+ description: "Remove last user message and agent response",
184
+ execute: async (_args, ctx) => {
185
+ const history = ctx.contextState.conversationHistory;
186
+ if (history.length === 0) {
187
+ return "Nothing to undo — conversation history is empty.";
188
+ }
189
+ // Walk backwards to remove the last user→agent exchange.
190
+ // An exchange is: HumanMessage → [AIMessage + ToolMessages...]
191
+ let removeCount = 0;
192
+ let hitHuman = false;
193
+ for (let i = history.length - 1; i >= 0; i--) {
194
+ const type = history[i]._getType();
195
+ removeCount++;
196
+ if (type === "human") {
197
+ hitHuman = true;
198
+ break;
199
+ }
200
+ }
201
+ if (!hitHuman) {
202
+ // No HumanMessage found — remove the last message only
203
+ removeCount = 1;
204
+ }
205
+ const newHistory = history.slice(0, history.length - removeCount);
206
+ ctx.setContextState({
207
+ ...ctx.contextState,
208
+ conversationHistory: newHistory,
209
+ });
210
+ return `✓ Removed ${removeCount} message(s). History now has ${newHistory.length} messages.`;
211
+ },
212
+ };
213
+ // ─── /exit ──────────────────────────────────────────────────────────────────────
214
+ export const ExitCommand = {
215
+ name: "exit",
216
+ aliases: ["quit", "q"],
217
+ description: "Exit the Joone session",
218
+ execute: async (_args, _ctx) => {
219
+ // The TUI will handle the actual exit. We return a signal message.
220
+ return "__EXIT__";
221
+ },
222
+ };
223
+ // ─── Registration Helper ────────────────────────────────────────────────────────
224
+ import { CommandRegistry } from "./commandRegistry.js";
225
+ /**
226
+ * Creates a CommandRegistry pre-loaded with all built-in commands.
227
+ */
228
+ export function createDefaultRegistry() {
229
+ const registry = new CommandRegistry();
230
+ registry.register(HelpCommand);
231
+ registry.register(ModelCommand);
232
+ registry.register(ClearCommand);
233
+ registry.register(CompactCommand);
234
+ registry.register(TokensCommand);
235
+ registry.register(StatusCommand);
236
+ registry.register(HistoryCommand);
237
+ registry.register(UndoCommand);
238
+ registry.register(ExitCommand);
239
+ return registry;
240
+ }
241
+ //# sourceMappingURL=builtinCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builtinCommands.js","sourceRoot":"","sources":["../../src/commands/builtinCommands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Slash Command Registry
3
+ *
4
+ * Intercepts user input starting with "/" in the TUI and routes it to
5
+ * registered command handlers. This bypasses the agent loop entirely,
6
+ * making slash commands zero-cost (no LLM tokens consumed).
7
+ *
8
+ * Architecture:
9
+ * - Commands are self-contained objects implementing SlashCommand
10
+ * - The registry supports aliases (e.g., /m → /model)
11
+ * - Unknown commands suggest similar names via Levenshtein distance
12
+ */
13
+ import { ContextState } from "../core/promptBuilder.js";
14
+ import { ExecutionHarness } from "../core/agentLoop.js";
15
+ import { JooneConfig } from "../cli/config.js";
16
+ /**
17
+ * Context passed to every slash command handler.
18
+ * Provides read/write access to session state, config, and UI.
19
+ */
20
+ export interface CommandContext {
21
+ /** Current Joone configuration. */
22
+ config: JooneConfig;
23
+ /** Path to the config file (for commands that modify config). */
24
+ configPath: string;
25
+ /** The execution harness (for commands that need LLM access, e.g., /compact). */
26
+ harness: ExecutionHarness;
27
+ /** Current conversation/context state. */
28
+ contextState: ContextState;
29
+ /** Setter for updating context state from a command. */
30
+ setContextState: (state: ContextState) => void;
31
+ /** Setter for pushing UI messages. */
32
+ addSystemMessage: (content: string) => void;
33
+ /** Current provider name. */
34
+ provider: string;
35
+ /** Current model name. */
36
+ model: string;
37
+ /** Max tokens (context window). */
38
+ maxTokens: number;
39
+ }
40
+ /**
41
+ * A registered slash command.
42
+ */
43
+ export interface SlashCommand {
44
+ /** Primary name (without the leading /). */
45
+ name: string;
46
+ /** Optional aliases (e.g., ["m"] for /model). */
47
+ aliases?: string[];
48
+ /** Short description shown in /help. */
49
+ description: string;
50
+ /** Execute the command. Returns an optional string to display. */
51
+ execute: (args: string, context: CommandContext) => Promise<string | void>;
52
+ }
53
+ /**
54
+ * Computes the Levenshtein edit distance between two strings.
55
+ * Used for "did you mean?" suggestions on unknown commands.
56
+ */
57
+ export declare function levenshteinDistance(a: string, b: string): number;
58
+ export declare class CommandRegistry {
59
+ private commands;
60
+ private aliasMap;
61
+ /**
62
+ * Register a slash command. Overwrites if name already exists.
63
+ */
64
+ register(command: SlashCommand): void;
65
+ /**
66
+ * Returns true if the input looks like a slash command.
67
+ */
68
+ isCommand(input: string): boolean;
69
+ /**
70
+ * Parse user input into command name and arguments.
71
+ */
72
+ private parse;
73
+ /**
74
+ * Execute a slash command from raw user input.
75
+ * Returns the command output string, or an error/suggestion message.
76
+ */
77
+ execute(input: string, context: CommandContext): Promise<string>;
78
+ /**
79
+ * Returns all registered commands.
80
+ */
81
+ getAll(): SlashCommand[];
82
+ /**
83
+ * Returns all command names AND aliases (for suggestion matching).
84
+ */
85
+ getAllNames(): string[];
86
+ /**
87
+ * Generates formatted help text for all registered commands.
88
+ */
89
+ getHelp(): string;
90
+ }
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Slash Command Registry
3
+ *
4
+ * Intercepts user input starting with "/" in the TUI and routes it to
5
+ * registered command handlers. This bypasses the agent loop entirely,
6
+ * making slash commands zero-cost (no LLM tokens consumed).
7
+ *
8
+ * Architecture:
9
+ * - Commands are self-contained objects implementing SlashCommand
10
+ * - The registry supports aliases (e.g., /m → /model)
11
+ * - Unknown commands suggest similar names via Levenshtein distance
12
+ */
13
+ // ─── Levenshtein Distance ───────────────────────────────────────────────────────
14
+ /**
15
+ * Computes the Levenshtein edit distance between two strings.
16
+ * Used for "did you mean?" suggestions on unknown commands.
17
+ */
18
+ export function levenshteinDistance(a, b) {
19
+ const matrix = [];
20
+ for (let i = 0; i <= b.length; i++) {
21
+ matrix[i] = [i];
22
+ }
23
+ for (let j = 0; j <= a.length; j++) {
24
+ matrix[0][j] = j;
25
+ }
26
+ for (let i = 1; i <= b.length; i++) {
27
+ for (let j = 1; j <= a.length; j++) {
28
+ const cost = b.charAt(i - 1) === a.charAt(j - 1) ? 0 : 1;
29
+ matrix[i][j] = Math.min(matrix[i - 1][j] + 1, // deletion
30
+ matrix[i][j - 1] + 1, // insertion
31
+ matrix[i - 1][j - 1] + cost // substitution
32
+ );
33
+ }
34
+ }
35
+ return matrix[b.length][a.length];
36
+ }
37
+ // ─── Registry ───────────────────────────────────────────────────────────────────
38
+ export class CommandRegistry {
39
+ commands = new Map();
40
+ aliasMap = new Map();
41
+ /**
42
+ * Register a slash command. Overwrites if name already exists.
43
+ */
44
+ register(command) {
45
+ this.commands.set(command.name, command);
46
+ if (command.aliases) {
47
+ for (const alias of command.aliases) {
48
+ this.aliasMap.set(alias, command.name);
49
+ }
50
+ }
51
+ }
52
+ /**
53
+ * Returns true if the input looks like a slash command.
54
+ */
55
+ isCommand(input) {
56
+ return input.trimStart().startsWith("/");
57
+ }
58
+ /**
59
+ * Parse user input into command name and arguments.
60
+ */
61
+ parse(input) {
62
+ const trimmed = input.trimStart().slice(1); // Remove leading "/"
63
+ const spaceIdx = trimmed.indexOf(" ");
64
+ if (spaceIdx === -1) {
65
+ return { name: trimmed.toLowerCase(), args: "" };
66
+ }
67
+ return {
68
+ name: trimmed.slice(0, spaceIdx).toLowerCase(),
69
+ args: trimmed.slice(spaceIdx + 1).trim(),
70
+ };
71
+ }
72
+ /**
73
+ * Execute a slash command from raw user input.
74
+ * Returns the command output string, or an error/suggestion message.
75
+ */
76
+ async execute(input, context) {
77
+ const { name, args } = this.parse(input);
78
+ // Resolve alias → primary name
79
+ const resolvedName = this.aliasMap.get(name) ?? name;
80
+ const command = this.commands.get(resolvedName);
81
+ if (command) {
82
+ const result = await command.execute(args, context);
83
+ return result ?? "";
84
+ }
85
+ // Unknown command — find suggestions
86
+ const allNames = this.getAllNames();
87
+ const suggestions = allNames
88
+ .map((n) => ({ name: n, dist: levenshteinDistance(name, n) }))
89
+ .filter((s) => s.dist <= 2) // Max 2 edits
90
+ .sort((a, b) => a.dist - b.dist)
91
+ .slice(0, 3)
92
+ .map((s) => `/${s.name}`);
93
+ let msg = `Unknown command: /${name}.`;
94
+ if (suggestions.length > 0) {
95
+ msg += ` Did you mean: ${suggestions.join(", ")}?`;
96
+ }
97
+ msg += ` Type /help for all commands.`;
98
+ return msg;
99
+ }
100
+ /**
101
+ * Returns all registered commands.
102
+ */
103
+ getAll() {
104
+ return Array.from(this.commands.values());
105
+ }
106
+ /**
107
+ * Returns all command names AND aliases (for suggestion matching).
108
+ */
109
+ getAllNames() {
110
+ const names = Array.from(this.commands.keys());
111
+ const aliases = Array.from(this.aliasMap.keys());
112
+ return [...names, ...aliases];
113
+ }
114
+ /**
115
+ * Generates formatted help text for all registered commands.
116
+ */
117
+ getHelp() {
118
+ const lines = ["Available commands:\n"];
119
+ for (const cmd of this.commands.values()) {
120
+ const aliases = cmd.aliases?.length
121
+ ? ` (${cmd.aliases.map((a) => `/${a}`).join(", ")})`
122
+ : "";
123
+ lines.push(` /${cmd.name}${aliases} — ${cmd.description}`);
124
+ }
125
+ return lines.join("\n");
126
+ }
127
+ }
128
+ //# sourceMappingURL=commandRegistry.js.map