@ask-thane/thane-cli 0.1.5 → 0.1.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"AAkMA,wBAAsB,OAAO,CAAC,cAAc,SAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA+IvE"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"AA4RA,wBAAsB,OAAO,CAAC,cAAc,SAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAsRvE"}
package/dist/chat.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { stdin as input, stdout as output } from "node:process";
2
2
  import { emitKeypressEvents } from "node:readline";
3
- import { renderSlashCommands } from "./slash-commands.js";
3
+ import { completeSlashCommand, renderSlashCommands, slashCommands } from "./slash-commands.js";
4
4
  import { ThaneStore } from "./store.js";
5
5
  const CLEAR = "\x1b[2J\x1b[H";
6
6
  const HIDE_CURSOR = "\x1b[?25l";
@@ -115,6 +115,77 @@ function renderMessage(message, width) {
115
115
  const lines = wrap(message.text, bodyWidth);
116
116
  return lines.map((line, index) => (index === 0 ? `${prefix}${line}` : `${" ".repeat(visibleLength(prefix))}${line}`));
117
117
  }
118
+ function commandMatches(inputText) {
119
+ if (!inputText.startsWith("/")) {
120
+ return [];
121
+ }
122
+ const [names] = completeSlashCommand(inputText);
123
+ return names
124
+ .map((name) => slashCommands.find((command) => command.name === name))
125
+ .filter((command) => Boolean(command));
126
+ }
127
+ function replaceTrailingToken(inputText, value) {
128
+ const match = inputText.match(/(^|\s)(\S*)$/);
129
+ if (!match || match.index === undefined) {
130
+ return value;
131
+ }
132
+ const start = match.index + (match[1]?.length ?? 0);
133
+ return `${inputText.slice(0, start)}${value}`;
134
+ }
135
+ function completionCandidates(store, inputText) {
136
+ if (inputText.startsWith("/join ")) {
137
+ const prefix = inputText.slice("/join ".length).replace(/^#/, "").toLowerCase();
138
+ return store
139
+ .listChannels()
140
+ .filter((channel) => channel.name.startsWith(prefix))
141
+ .map((channel) => ({ label: `#${channel.name}`, value: `/join ${channel.name}` }));
142
+ }
143
+ if (inputText.startsWith("/workspace ")) {
144
+ const prefix = inputText.slice("/workspace ".length).toLowerCase();
145
+ return store
146
+ .listWorkspaces()
147
+ .filter((workspace) => workspace.slug.startsWith(prefix))
148
+ .map((workspace) => ({ label: workspace.slug, value: `/workspace ${workspace.slug}` }));
149
+ }
150
+ if (inputText.startsWith("/dm ")) {
151
+ const prefix = inputText.slice("/dm ".length).replace(/^@/, "").toLowerCase();
152
+ return store
153
+ .listUsers()
154
+ .filter((user) => user.handle.startsWith(prefix) && user.id !== store.currentUser.id)
155
+ .map((user) => ({ label: `@${user.handle}`, value: `/dm ${user.handle}` }));
156
+ }
157
+ const trailingMention = inputText.match(/(^|\s)@([a-z0-9._-]*)$/i);
158
+ if (trailingMention) {
159
+ const prefix = trailingMention[2]?.toLowerCase() ?? "";
160
+ return store
161
+ .listUsers()
162
+ .filter((user) => user.handle.startsWith(prefix))
163
+ .map((user) => ({ label: `@${user.handle}`, value: replaceTrailingToken(inputText, `@${user.handle}`) }));
164
+ }
165
+ return commandMatches(inputText).map((command) => ({
166
+ label: command.usage,
167
+ value: commandInput(command)
168
+ }));
169
+ }
170
+ function renderMenuLines(selectedIndex, availableRows) {
171
+ const visibleRows = Math.max(1, availableRows - 4);
172
+ const start = Math.max(0, Math.min(selectedIndex - Math.floor(visibleRows / 2), slashCommands.length - visibleRows));
173
+ const visibleCommands = slashCommands.slice(start, start + visibleRows);
174
+ return [
175
+ `${BOLD}Command Menu${RESET}`,
176
+ `${DIM}Use arrows, Return to choose, Esc to close.${RESET}`,
177
+ "",
178
+ ...visibleCommands.map((command, index) => {
179
+ const actualIndex = start + index;
180
+ const pointer = actualIndex === selectedIndex ? "> " : " ";
181
+ const row = `${pointer}${command.usage.padEnd(26)} ${command.description}`;
182
+ return actualIndex === selectedIndex ? `${INVERSE}${row}${RESET}` : row;
183
+ })
184
+ ];
185
+ }
186
+ function commandInput(command) {
187
+ return command.needsArgument ? `${command.name} ` : command.name;
188
+ }
118
189
  function renderScreen(inputText, state) {
119
190
  const { columns, rows } = size();
120
191
  const sidebarWidth = Math.min(32, Math.max(24, Math.floor(columns * 0.28)));
@@ -127,15 +198,17 @@ function renderScreen(inputText, state) {
127
198
  lines.push(`${CLEAR}${HIDE_CURSOR}${BOLD}Thane Chat${RESET} ${DIM}${state.store.activeWorkspace.slug}${RESET}`);
128
199
  lines.push(`${"─".repeat(columns)}`);
129
200
  const renderedMessages = messages.flatMap((message) => renderMessage(message, mainWidth - 2));
130
- const helpLines = state.showHelp
131
- ? [
132
- `${BOLD}Commands${RESET}`,
133
- "/join <channel> /dm <handle> /workspace <slug>",
134
- "/commands /help /quit",
135
- "",
136
- ...renderSlashCommands().split("\n").slice(0, Math.max(0, contentRows - 5))
137
- ]
138
- : renderedMessages.slice(-contentRows);
201
+ const helpLines = state.showMenu
202
+ ? renderMenuLines(state.menuIndex, contentRows)
203
+ : state.showHelp
204
+ ? [
205
+ `${BOLD}Commands${RESET}`,
206
+ "/join <channel> /dm <handle> /workspace <slug>",
207
+ "/commands /help /quit",
208
+ "",
209
+ ...renderSlashCommands().split("\n").slice(0, Math.max(0, contentRows - 5))
210
+ ]
211
+ : renderedMessages.slice(-contentRows);
139
212
  for (let row = 0; row < contentRows; row += 1) {
140
213
  const item = items[row];
141
214
  let left = "";
@@ -157,7 +230,11 @@ function renderScreen(inputText, state) {
157
230
  const right = fit(helpLines[row] ?? "", mainWidth - 1);
158
231
  lines.push(`${left}│${right}`);
159
232
  }
160
- const status = state.status || `${active ? channelLabel(active) : "conversation"} ${DIM}Enter sends. Up/down switches. /help for commands.${RESET}`;
233
+ const matches = state.showMenu ? [] : completionCandidates(state.store, inputText).slice(0, 4);
234
+ const suggestionStatus = matches.length > 0
235
+ ? `${DIM}Tab completes:${RESET} ${matches.map((candidate) => candidate.label).join(" ")}`
236
+ : "";
237
+ const status = suggestionStatus || state.status || `${active ? channelLabel(active) : "conversation"} ${DIM}Enter sends. Up/down recalls input. Alt+up/down switches. /menu opens menu.${RESET}`;
161
238
  lines.push(`${"─".repeat(columns)}`);
162
239
  lines.push(fit(status, columns));
163
240
  lines.push(fit(`> ${inputText}`, columns));
@@ -169,10 +246,15 @@ export async function runChat(initialChannel = "general") {
169
246
  let inputText = "";
170
247
  let status = "";
171
248
  let showHelp = false;
249
+ let showMenu = false;
250
+ let menuIndex = 0;
251
+ const inputHistory = [];
252
+ let historyIndex;
253
+ let draftInput = "";
172
254
  let isOpen = true;
173
255
  const refresh = async () => {
174
256
  store = await ThaneStore.open();
175
- renderScreen(inputText, { store, activeChannelId: activeChannel.id, status, showHelp });
257
+ renderScreen(inputText, { store, activeChannelId: activeChannel.id, status, showHelp, showMenu, menuIndex });
176
258
  };
177
259
  const switchTo = async (conversationId) => {
178
260
  const channel = store.findChannel(conversationId);
@@ -181,11 +263,12 @@ export async function runChat(initialChannel = "general") {
181
263
  }
182
264
  activeChannel = channel;
183
265
  showHelp = false;
266
+ showMenu = false;
184
267
  status = `Switched to ${channelLabel(channel)}`;
185
268
  await store.markReadConversation(activeChannel.id);
186
269
  await refresh();
187
270
  };
188
- const moveSelection = async (direction) => {
271
+ const switchConversation = async (direction) => {
189
272
  const items = conversations(store, activeChannel.id);
190
273
  const index = Math.max(0, items.findIndex((item) => item.id === activeChannel.id));
191
274
  const next = items[(index + direction + items.length) % items.length];
@@ -193,6 +276,41 @@ export async function runChat(initialChannel = "general") {
193
276
  await switchTo(next.id);
194
277
  }
195
278
  };
279
+ const rememberInput = (line) => {
280
+ if (!line.trim()) {
281
+ return;
282
+ }
283
+ if (inputHistory[inputHistory.length - 1] !== line) {
284
+ inputHistory.push(line);
285
+ }
286
+ historyIndex = undefined;
287
+ draftInput = "";
288
+ };
289
+ const recallInput = (direction) => {
290
+ if (inputHistory.length === 0) {
291
+ return;
292
+ }
293
+ if (historyIndex === undefined) {
294
+ draftInput = inputText;
295
+ historyIndex = direction === -1 ? inputHistory.length - 1 : 0;
296
+ }
297
+ else {
298
+ historyIndex += direction;
299
+ }
300
+ if (historyIndex < 0) {
301
+ historyIndex = undefined;
302
+ inputText = draftInput;
303
+ draftInput = "";
304
+ return;
305
+ }
306
+ if (historyIndex >= inputHistory.length) {
307
+ historyIndex = undefined;
308
+ inputText = draftInput;
309
+ draftInput = "";
310
+ return;
311
+ }
312
+ inputText = inputHistory[historyIndex] ?? "";
313
+ };
196
314
  const runLine = async (line) => {
197
315
  const trimmed = line.trim();
198
316
  if (!trimmed) {
@@ -202,8 +320,15 @@ export async function runChat(initialChannel = "general") {
202
320
  isOpen = false;
203
321
  return;
204
322
  }
205
- if (trimmed === "/help" || trimmed === "/commands" || trimmed === "/menu") {
323
+ if (trimmed === "/menu") {
324
+ showMenu = true;
325
+ showHelp = false;
326
+ status = "Command menu";
327
+ return;
328
+ }
329
+ if (trimmed === "/help" || trimmed === "/commands") {
206
330
  showHelp = !showHelp;
331
+ showMenu = false;
207
332
  status = showHelp ? "Command help" : "";
208
333
  return;
209
334
  }
@@ -212,6 +337,7 @@ export async function runChat(initialChannel = "general") {
212
337
  await store.markReadConversation(activeChannel.id);
213
338
  status = `Joined ${channelLabel(activeChannel)}`;
214
339
  showHelp = false;
340
+ showMenu = false;
215
341
  return;
216
342
  }
217
343
  if (trimmed.startsWith("/dm ")) {
@@ -219,6 +345,7 @@ export async function runChat(initialChannel = "general") {
219
345
  await store.markReadConversation(activeChannel.id);
220
346
  status = `Opened ${channelLabel(activeChannel)}`;
221
347
  showHelp = false;
348
+ showMenu = false;
222
349
  return;
223
350
  }
224
351
  if (trimmed.startsWith("/workspace ")) {
@@ -226,6 +353,7 @@ export async function runChat(initialChannel = "general") {
226
353
  activeChannel = await selectConversation(store, "general");
227
354
  status = `Switched to workspace ${workspace.slug}`;
228
355
  showHelp = false;
356
+ showMenu = false;
229
357
  return;
230
358
  }
231
359
  if (trimmed.startsWith("/")) {
@@ -236,8 +364,46 @@ export async function runChat(initialChannel = "general") {
236
364
  const messages = store.recent(activeChannel.id, 200);
237
365
  status = messages.some((message) => message.id === sent.id) ? "" : "";
238
366
  showHelp = false;
367
+ showMenu = false;
239
368
  await store.markReadConversation(activeChannel.id);
240
369
  };
370
+ const completeInput = () => {
371
+ const matches = completionCandidates(store, inputText);
372
+ if (matches.length === 0) {
373
+ return false;
374
+ }
375
+ if (matches.length === 1) {
376
+ const match = matches[0];
377
+ if (!match) {
378
+ return false;
379
+ }
380
+ inputText = match.value;
381
+ return true;
382
+ }
383
+ const values = matches.map((candidate) => candidate.value);
384
+ let prefix = values[0] ?? inputText;
385
+ for (const value of values.slice(1)) {
386
+ while (!value.startsWith(prefix) && prefix.length > 1) {
387
+ prefix = prefix.slice(0, -1);
388
+ }
389
+ }
390
+ if (prefix.length > inputText.length) {
391
+ inputText = prefix;
392
+ }
393
+ else {
394
+ const firstCommand = commandMatches(inputText)[0];
395
+ if (firstCommand) {
396
+ menuIndex = Math.max(0, slashCommands.findIndex((command) => command.name === firstCommand.name));
397
+ showMenu = true;
398
+ showHelp = false;
399
+ status = "Command menu";
400
+ }
401
+ else {
402
+ status = `Matches: ${matches.slice(0, 4).map((candidate) => candidate.label).join(" ")}`;
403
+ }
404
+ }
405
+ return true;
406
+ };
241
407
  emitKeypressEvents(input);
242
408
  if (input.isTTY) {
243
409
  input.setRawMode?.(true);
@@ -250,28 +416,79 @@ export async function runChat(initialChannel = "general") {
250
416
  isOpen = false;
251
417
  return;
252
418
  }
419
+ if (showMenu) {
420
+ if (key.name === "escape") {
421
+ showMenu = false;
422
+ status = "";
423
+ }
424
+ else if (key.name === "up") {
425
+ menuIndex = menuIndex === 0 ? slashCommands.length - 1 : menuIndex - 1;
426
+ }
427
+ else if (key.name === "down" || key.name === "tab") {
428
+ menuIndex = menuIndex === slashCommands.length - 1 ? 0 : menuIndex + 1;
429
+ }
430
+ else if (key.name === "return") {
431
+ const selected = slashCommands[menuIndex];
432
+ if (!selected) {
433
+ showMenu = false;
434
+ status = "";
435
+ await refresh();
436
+ return;
437
+ }
438
+ showMenu = false;
439
+ if (selected.needsArgument) {
440
+ inputText = commandInput(selected);
441
+ status = `${selected.usage} ${DIM}${selected.description}${RESET}`;
442
+ }
443
+ else {
444
+ inputText = "";
445
+ await runLine(selected.name);
446
+ }
447
+ }
448
+ if (!isOpen) {
449
+ return;
450
+ }
451
+ await refresh();
452
+ return;
453
+ }
253
454
  if (key.name === "return") {
254
455
  const submitted = inputText;
255
456
  inputText = "";
457
+ rememberInput(submitted);
256
458
  await runLine(submitted);
257
459
  }
258
460
  else if (key.name === "backspace") {
259
461
  inputText = inputText.slice(0, -1);
462
+ historyIndex = undefined;
260
463
  }
261
464
  else if (key.name === "up") {
262
- await moveSelection(-1);
263
- return;
465
+ if (key.ctrl || key.meta || key.sequence === "\u001b[1;5A" || key.sequence === "\u001b[1;3A") {
466
+ await switchConversation(-1);
467
+ return;
468
+ }
469
+ recallInput(-1);
264
470
  }
265
- else if (key.name === "down" || key.name === "tab") {
266
- await moveSelection(1);
267
- return;
471
+ else if (key.name === "down") {
472
+ if (key.ctrl || key.meta || key.sequence === "\u001b[1;5B" || key.sequence === "\u001b[1;3B") {
473
+ await switchConversation(1);
474
+ return;
475
+ }
476
+ recallInput(1);
477
+ }
478
+ else if (key.name === "tab") {
479
+ if (completeInput()) {
480
+ await refresh();
481
+ return;
482
+ }
268
483
  }
269
484
  else if (key.name === "escape") {
270
485
  showHelp = false;
486
+ showMenu = false;
271
487
  status = "";
272
488
  }
273
489
  else if (key.sequence && key.sequence >= " " && !key.ctrl) {
274
490
  inputText += key.sequence;
491
+ historyIndex = undefined;
275
492
  }
276
493
  if (!isOpen) {
277
494
  return;
package/dist/chat.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,MAAM,KAAK,GAAG,eAAe,CAAC;AAC9B,MAAM,WAAW,GAAG,WAAW,CAAC;AAChC,MAAM,WAAW,GAAG,WAAW,CAAC;AAChC,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,MAAM,GAAG,GAAG,SAAS,CAAC;AACtB,MAAM,OAAO,GAAG,SAAS,CAAC;AAC1B,MAAM,IAAI,GAAG,SAAS,CAAC;AAWvB,SAAS,IAAI;IACX,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;QACpD,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;AACjC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,KAAa;IACvC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;QAC1B,OAAO,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACtD,CAAC;AAED,SAAS,IAAI,CAAC,KAAa,EAAE,KAAa;IACxC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;YAClD,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YACjC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,YAAY,CAAC,OAAqB;IACzC,OAAO,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CAAC,KAAiB,EAAE,QAAgB;IACxD,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,KAAK,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CACxF,CAAC;IACF,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACpD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzC,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;YAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,CAAC;YACtC,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,CAAC;SACd,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACpC,OAAO;YACL,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,KAAK,EAAE,YAAY,CAAC,EAAE,CAAC;YACvB,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,CAAC;YACtC,YAAY,EAAE,OAAO,EAAE,YAAY,IAAI,CAAC;SACd,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CAAC,OAAO,CAAC;gBACV,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;gBAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,CAAC;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,KAAiB,EAAE,MAAc;IACjE,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,aAAa,CAAC,OAAoB,EAAE,KAAa;IACxD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACvC,CAAC,CAAC,OAAO,CAAC,SAAS;QACnB,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACxE,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,IAAI,CAAC;IAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;AACxH,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,KAKxC;IACC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;IACjC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,OAAO,GAAG,YAAY,GAAG,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAEhE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,WAAW,GAAG,IAAI,aAAa,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;IAChH,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9F,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ;QAC9B,CAAC,CAAC;YACE,GAAG,IAAI,WAAW,KAAK,EAAE;YACzB,oDAAoD;YACpD,wCAAwC;YACxC,EAAE;YACF,GAAG,mBAAmB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;SAC5E;QACH,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,CAAC;IAEzC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7D,IAAI,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC;YACpD,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,eAAe,EAAE,CAAC;gBACtC,IAAI,GAAG,GAAG,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,KAAK,EAAE,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,KAAK,GAAG,qDAAqD,KAAK,EAAE,CAAC;IACrJ,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,cAAc,GAAG,SAAS;IACtD,IAAI,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,aAAa,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACpE,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;QACxC,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAChC,YAAY,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1F,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,cAAsB,EAAiB,EAAE;QAC/D,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,aAAa,GAAG,OAAO,CAAC;QACxB,QAAQ,GAAG,KAAK,CAAC;QACjB,MAAM,GAAG,eAAe,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,MAAM,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,OAAO,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,EAAE,SAAiB,EAAiB,EAAE;QAC/D,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;QACnF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,EAAE,IAAY,EAAiB,EAAE;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QACD,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YAC/C,MAAM,GAAG,KAAK,CAAC;YACf,OAAO;QACT,CAAC;QACD,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YAC1E,QAAQ,GAAG,CAAC,QAAQ,CAAC;YACrB,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,aAAa,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACvF,MAAM,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACnD,MAAM,GAAG,UAAU,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;YACjD,QAAQ,GAAG,KAAK,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,aAAa,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3F,MAAM,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YACnD,MAAM,GAAG,UAAU,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;YACjD,QAAQ,GAAG,KAAK,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACvF,aAAa,GAAG,MAAM,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC3D,MAAM,GAAG,yBAAyB,SAAS,CAAC,IAAI,EAAE,CAAC;YACnD,QAAQ,GAAG,KAAK,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,8BAA8B,CAAC;YACxC,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACrD,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,QAAQ,GAAG,KAAK,CAAC;QACjB,MAAM,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,MAAM,EAAE,CAAC;IAEf,MAAM,UAAU,GAAG,CAAC,MAAc,EAAE,GAAyD,EAAQ,EAAE;QACrG,KAAK,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAChE,MAAM,GAAG,KAAK,CAAC;oBACf,OAAO;gBACT,CAAC;gBACD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC1B,MAAM,SAAS,GAAG,SAAS,CAAC;oBAC5B,SAAS,GAAG,EAAE,CAAC;oBACf,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC3B,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACpC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrC,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;oBAC7B,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;oBACxB,OAAO;gBACT,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;oBACrD,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC;oBACvB,OAAO;gBACT,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjC,QAAQ,GAAG,KAAK,CAAC;oBACjB,MAAM,GAAG,EAAE,CAAC;gBACd,CAAC;qBAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;oBAC5D,SAAS,IAAI,GAAG,CAAC,QAAQ,CAAC;gBAC5B,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,MAAM,OAAO,EAAE,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,GAAI,KAAe,CAAC,OAAO,CAAC;gBAClC,MAAM,OAAO,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC;IAEF,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,OAAO,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,OAAO,EAAE,CAAC;QAChB,OAAO,MAAM,EAAE,CAAC;YACd,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;YAAS,CAAC;QACT,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,GAAG,WAAW,GAAG,KAAK,eAAe,CAAC,CAAC;IACtD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../src/chat.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"slash-commands.d.ts","sourceRoot":"","sources":["../src/slash-commands.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,EAAE,YAAY,EAmBvC,CAAC;AAEF,wBAAgB,mBAAmB,IAAI,MAAM,CAI5C;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAQrE"}
1
+ {"version":3,"file":"slash-commands.d.ts","sourceRoot":"","sources":["../src/slash-commands.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,EAAE,YAAY,EAmBvC,CAAC;AAEF,wBAAgB,mBAAmB,IAAI,MAAM,CAI5C;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CASrE"}
@@ -27,9 +27,10 @@ export function completeSlashCommand(line) {
27
27
  if (!line.startsWith("/")) {
28
28
  return [[], line];
29
29
  }
30
+ const commandPrefix = line.match(/^\/\S*/)?.[0] ?? line;
30
31
  const hits = slashCommands
31
32
  .map((command) => command.name)
32
- .filter((name) => name.startsWith(line));
33
+ .filter((name) => name.startsWith(commandPrefix));
33
34
  return [hits.length > 0 ? hits : slashCommands.map((command) => command.name), line];
34
35
  }
35
36
  //# sourceMappingURL=slash-commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slash-commands.js","sourceRoot":"","sources":["../src/slash-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slash-commands.js","sourceRoot":"","sources":["../src/slash-commands.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ask-thane/thane-cli",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "type": "module",
5
5
  "description": "Terminal-native team chat for Thane workspaces.",
6
6
  "repository": {