@vybestack/llxprt-code 0.1.13-nightly.250727.2261021c → 0.1.14

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 (204) hide show
  1. package/README.md +24 -0
  2. package/dist/package.json +7 -5
  3. package/dist/src/acp/acpPeer.js +1 -0
  4. package/dist/src/acp/acpPeer.js.map +1 -1
  5. package/dist/src/config/config.d.ts +3 -2
  6. package/dist/src/config/config.js +19 -32
  7. package/dist/src/config/config.js.map +1 -1
  8. package/dist/src/config/settings.d.ts +7 -2
  9. package/dist/src/config/settings.js +25 -10
  10. package/dist/src/config/settings.js.map +1 -1
  11. package/dist/src/gemini.js +7 -33
  12. package/dist/src/gemini.js.map +1 -1
  13. package/dist/src/generated/git-commit.d.ts +1 -1
  14. package/dist/src/generated/git-commit.js +1 -1
  15. package/dist/src/patches/is-in-ci.d.ts +7 -0
  16. package/dist/src/patches/is-in-ci.js +15 -0
  17. package/dist/src/patches/is-in-ci.js.map +1 -0
  18. package/dist/src/services/BuiltinCommandLoader.d.ts +24 -0
  19. package/dist/src/services/BuiltinCommandLoader.js +82 -0
  20. package/dist/src/services/BuiltinCommandLoader.js.map +1 -0
  21. package/dist/src/services/CommandService.d.ts +43 -7
  22. package/dist/src/services/CommandService.js +61 -64
  23. package/dist/src/services/CommandService.js.map +1 -1
  24. package/dist/src/services/FileCommandLoader.d.ts +37 -0
  25. package/dist/src/services/FileCommandLoader.js +156 -0
  26. package/dist/src/services/FileCommandLoader.js.map +1 -0
  27. package/dist/src/services/prompt-processors/argumentProcessor.d.ts +21 -0
  28. package/dist/src/services/prompt-processors/argumentProcessor.js +28 -0
  29. package/dist/src/services/prompt-processors/argumentProcessor.js.map +1 -0
  30. package/dist/src/services/prompt-processors/types.d.ts +34 -0
  31. package/dist/src/services/prompt-processors/types.js +10 -0
  32. package/dist/src/services/prompt-processors/types.js.map +1 -0
  33. package/dist/src/services/types.d.ts +22 -0
  34. package/dist/src/services/types.js +7 -0
  35. package/dist/src/services/types.js.map +1 -0
  36. package/dist/src/ui/App.js +19 -10
  37. package/dist/src/ui/App.js.map +1 -1
  38. package/dist/src/ui/colors.js +6 -0
  39. package/dist/src/ui/colors.js.map +1 -1
  40. package/dist/src/ui/commands/aboutCommand.js +2 -0
  41. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  42. package/dist/src/ui/commands/authCommand.js +66 -4
  43. package/dist/src/ui/commands/authCommand.js.map +1 -1
  44. package/dist/src/ui/commands/baseurlCommand.js +2 -0
  45. package/dist/src/ui/commands/baseurlCommand.js.map +1 -1
  46. package/dist/src/ui/commands/bugCommand.js +3 -1
  47. package/dist/src/ui/commands/bugCommand.js.map +1 -1
  48. package/dist/src/ui/commands/chatCommand.js +12 -2
  49. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  50. package/dist/src/ui/commands/clearCommand.js +2 -0
  51. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  52. package/dist/src/ui/commands/compressCommand.js +3 -1
  53. package/dist/src/ui/commands/compressCommand.js.map +1 -1
  54. package/dist/src/ui/commands/copyCommand.d.ts +7 -0
  55. package/dist/src/ui/commands/copyCommand.js +59 -0
  56. package/dist/src/ui/commands/copyCommand.js.map +1 -0
  57. package/dist/src/ui/commands/docsCommand.js +2 -0
  58. package/dist/src/ui/commands/docsCommand.js.map +1 -1
  59. package/dist/src/ui/commands/editorCommand.js +2 -0
  60. package/dist/src/ui/commands/editorCommand.js.map +1 -1
  61. package/dist/src/ui/commands/extensionsCommand.js +2 -0
  62. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  63. package/dist/src/ui/commands/helpCommand.js +3 -1
  64. package/dist/src/ui/commands/helpCommand.js.map +1 -1
  65. package/dist/src/ui/commands/ideCommand.js +21 -23
  66. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  67. package/dist/src/ui/commands/keyCommand.js +2 -0
  68. package/dist/src/ui/commands/keyCommand.js.map +1 -1
  69. package/dist/src/ui/commands/keyfileCommand.js +2 -0
  70. package/dist/src/ui/commands/keyfileCommand.js.map +1 -1
  71. package/dist/src/ui/commands/mcpCommand.js +181 -5
  72. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  73. package/dist/src/ui/commands/memoryCommand.js +11 -4
  74. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  75. package/dist/src/ui/commands/modelCommand.js +2 -0
  76. package/dist/src/ui/commands/modelCommand.js.map +1 -1
  77. package/dist/src/ui/commands/privacyCommand.js +2 -0
  78. package/dist/src/ui/commands/privacyCommand.js.map +1 -1
  79. package/dist/src/ui/commands/providerCommand.js +2 -0
  80. package/dist/src/ui/commands/providerCommand.js.map +1 -1
  81. package/dist/src/ui/commands/quitCommand.js +3 -1
  82. package/dist/src/ui/commands/quitCommand.js.map +1 -1
  83. package/dist/src/ui/commands/restoreCommand.js +2 -0
  84. package/dist/src/ui/commands/restoreCommand.js.map +1 -1
  85. package/dist/src/ui/commands/statsCommand.js +5 -1
  86. package/dist/src/ui/commands/statsCommand.js.map +1 -1
  87. package/dist/src/ui/commands/themeCommand.js +2 -0
  88. package/dist/src/ui/commands/themeCommand.js.map +1 -1
  89. package/dist/src/ui/commands/toolformatCommand.d.ts +7 -0
  90. package/dist/src/ui/commands/toolformatCommand.js +89 -0
  91. package/dist/src/ui/commands/toolformatCommand.js.map +1 -0
  92. package/dist/src/ui/commands/toolsCommand.js +2 -0
  93. package/dist/src/ui/commands/toolsCommand.js.map +1 -1
  94. package/dist/src/ui/commands/types.d.ts +30 -3
  95. package/dist/src/ui/commands/types.js +5 -1
  96. package/dist/src/ui/commands/types.js.map +1 -1
  97. package/dist/src/ui/commands/vimCommand.d.ts +7 -0
  98. package/dist/src/ui/commands/vimCommand.js +30 -0
  99. package/dist/src/ui/commands/vimCommand.js.map +1 -0
  100. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +3 -2
  101. package/dist/src/ui/components/ContextSummaryDisplay.js +10 -10
  102. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  103. package/dist/src/ui/components/Footer.js +12 -1
  104. package/dist/src/ui/components/Footer.js.map +1 -1
  105. package/dist/src/ui/components/Help.d.ts +1 -1
  106. package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +11 -0
  107. package/dist/src/ui/components/IDEContextDetailDisplay.js +19 -0
  108. package/dist/src/ui/components/IDEContextDetailDisplay.js.map +1 -0
  109. package/dist/src/ui/components/InputPrompt.d.ts +1 -1
  110. package/dist/src/ui/components/InputPrompt.js +9 -99
  111. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  112. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
  113. package/dist/src/ui/components/ThemeDialog.js +49 -18
  114. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  115. package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -1
  116. package/dist/src/ui/components/messages/DiffRenderer.d.ts +1 -0
  117. package/dist/src/ui/components/messages/DiffRenderer.js +12 -11
  118. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
  119. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +5 -4
  120. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  121. package/dist/src/ui/components/shared/text-buffer.d.ts +3 -1
  122. package/dist/src/ui/components/shared/text-buffer.js +10 -9
  123. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  124. package/dist/src/ui/containers/SessionController.js +42 -31
  125. package/dist/src/ui/containers/SessionController.js.map +1 -1
  126. package/dist/src/ui/contexts/VimModeContext.d.ts +19 -0
  127. package/dist/src/ui/contexts/VimModeContext.js +51 -0
  128. package/dist/src/ui/contexts/VimModeContext.js.map +1 -0
  129. package/dist/src/ui/hooks/atCommandProcessor.js +54 -15
  130. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  131. package/dist/src/ui/hooks/shellCommandProcessor.js +22 -8
  132. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  133. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +2 -2
  134. package/dist/src/ui/hooks/slashCommandProcessor.js +43 -605
  135. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  136. package/dist/src/ui/hooks/useAuthCommand.js +2 -2
  137. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
  138. package/dist/src/ui/hooks/useCompletion.d.ts +3 -1
  139. package/dist/src/ui/hooks/useCompletion.js +113 -24
  140. package/dist/src/ui/hooks/useCompletion.js.map +1 -1
  141. package/dist/src/ui/hooks/useGeminiStream.js +57 -11
  142. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  143. package/dist/src/ui/hooks/useInputHistory.d.ts +1 -1
  144. package/dist/src/ui/hooks/usePhraseCycler.js +27 -131
  145. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  146. package/dist/src/ui/hooks/useShellHistory.d.ts +3 -2
  147. package/dist/src/ui/hooks/useShellHistory.js.map +1 -1
  148. package/dist/src/ui/hooks/useThemeCommand.js +22 -2
  149. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
  150. package/dist/src/ui/privacy/PrivacyNotice.js +16 -2
  151. package/dist/src/ui/privacy/PrivacyNotice.js.map +1 -1
  152. package/dist/src/ui/themes/ansi-light.js +2 -0
  153. package/dist/src/ui/themes/ansi-light.js.map +1 -1
  154. package/dist/src/ui/themes/ansi.js +2 -0
  155. package/dist/src/ui/themes/ansi.js.map +1 -1
  156. package/dist/src/ui/themes/atom-one-dark.js +2 -0
  157. package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
  158. package/dist/src/ui/themes/ayu-light.js +3 -1
  159. package/dist/src/ui/themes/ayu-light.js.map +1 -1
  160. package/dist/src/ui/themes/ayu.js +3 -1
  161. package/dist/src/ui/themes/ayu.js.map +1 -1
  162. package/dist/src/ui/themes/color-utils.d.ts +21 -0
  163. package/dist/src/ui/themes/color-utils.js +221 -0
  164. package/dist/src/ui/themes/color-utils.js.map +1 -0
  165. package/dist/src/ui/themes/dracula.js +2 -0
  166. package/dist/src/ui/themes/dracula.js.map +1 -1
  167. package/dist/src/ui/themes/github-dark.js +2 -0
  168. package/dist/src/ui/themes/github-dark.js.map +1 -1
  169. package/dist/src/ui/themes/github-light.js +2 -0
  170. package/dist/src/ui/themes/github-light.js.map +1 -1
  171. package/dist/src/ui/themes/googlecode.js +2 -0
  172. package/dist/src/ui/themes/googlecode.js.map +1 -1
  173. package/dist/src/ui/themes/green-screen.js +2 -0
  174. package/dist/src/ui/themes/green-screen.js.map +1 -1
  175. package/dist/src/ui/themes/no-color.js +3 -1
  176. package/dist/src/ui/themes/no-color.js.map +1 -1
  177. package/dist/src/ui/themes/shades-of-purple.d.ts +1 -1
  178. package/dist/src/ui/themes/shades-of-purple.js +3 -1
  179. package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
  180. package/dist/src/ui/themes/theme-manager.d.ts +31 -6
  181. package/dist/src/ui/themes/theme-manager.js +104 -34
  182. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  183. package/dist/src/ui/themes/theme.d.ts +22 -3
  184. package/dist/src/ui/themes/theme.js +229 -182
  185. package/dist/src/ui/themes/theme.js.map +1 -1
  186. package/dist/src/ui/themes/xcode.js +2 -0
  187. package/dist/src/ui/themes/xcode.js.map +1 -1
  188. package/dist/src/ui/types.d.ts +9 -1
  189. package/dist/src/ui/utils/CodeColorizer.d.ts +3 -1
  190. package/dist/src/ui/utils/CodeColorizer.js +23 -11
  191. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  192. package/dist/src/ui/utils/commandUtils.d.ts +1 -0
  193. package/dist/src/ui/utils/commandUtils.js +47 -0
  194. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  195. package/dist/src/ui/utils/markdownUtilities.js +1 -1
  196. package/dist/src/utils/sandbox.js +19 -19
  197. package/dist/src/utils/sandbox.js.map +1 -1
  198. package/dist/src/utils/userStartupWarnings.js +22 -1
  199. package/dist/src/utils/userStartupWarnings.js.map +1 -1
  200. package/dist/src/validateNonInterActiveAuth.d.ts +7 -0
  201. package/dist/src/validateNonInterActiveAuth.js +61 -0
  202. package/dist/src/validateNonInterActiveAuth.js.map +1 -0
  203. package/dist/tsconfig.tsbuildinfo +1 -1
  204. package/package.json +7 -5
@@ -1 +1 @@
1
- {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/gemini.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/gemini.tsx"],"names":[],"mappings":"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"}
@@ -3,4 +3,4 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export declare const GIT_COMMIT_INFO = "2261021c (local modifications)";
6
+ export declare const GIT_COMMIT_INFO = "2076f7c6 (local modifications)";
@@ -5,5 +5,5 @@
5
5
  */
6
6
  // This file is auto-generated by the build script (scripts/build.js)
7
7
  // Do not edit this file manually.
8
- export const GIT_COMMIT_INFO = '2261021c (local modifications)';
8
+ export const GIT_COMMIT_INFO = '2076f7c6 (local modifications)';
9
9
  //# sourceMappingURL=git-commit.js.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ declare const isInCi = false;
7
+ export default isInCi;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ // This is a replacement for the `is-in-ci` package that always returns false.
7
+ // We are doing this to avoid the issue where `ink` does not render the UI
8
+ // when it detects that it is running in a CI environment.
9
+ // This is safe because `ink` (and thus `is-in-ci`) is only used in the
10
+ // interactive code path of the CLI.
11
+ // See issue #1563 for more details.
12
+ const isInCi = false;
13
+ // eslint-disable-next-line import/no-default-export
14
+ export default isInCi;
15
+ //# sourceMappingURL=is-in-ci.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-in-ci.js","sourceRoot":"","sources":["../../../src/patches/is-in-ci.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,8EAA8E;AAC9E,0EAA0E;AAC1E,0DAA0D;AAC1D,uEAAuE;AACvE,oCAAoC;AACpC,oCAAoC;AAEpC,MAAM,MAAM,GAAG,KAAK,CAAC;AAErB,oDAAoD;AACpD,eAAe,MAAM,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ICommandLoader } from './types.js';
7
+ import { SlashCommand } from '../ui/commands/types.js';
8
+ import { Config } from '@vybestack/llxprt-code-core';
9
+ /**
10
+ * Loads the core, hard-coded slash commands that are an integral part
11
+ * of the Gemini CLI application.
12
+ */
13
+ export declare class BuiltinCommandLoader implements ICommandLoader {
14
+ private config;
15
+ constructor(config: Config | null);
16
+ /**
17
+ * Gathers all raw built-in command definitions, injects dependencies where
18
+ * needed (e.g., config) and filters out any that are not available.
19
+ *
20
+ * @param _signal An AbortSignal (unused for this synchronous loader).
21
+ * @returns A promise that resolves to an array of `SlashCommand` objects.
22
+ */
23
+ loadCommands(_signal: AbortSignal): Promise<SlashCommand[]>;
24
+ }
@@ -0,0 +1,82 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { aboutCommand } from '../ui/commands/aboutCommand.js';
7
+ import { authCommand } from '../ui/commands/authCommand.js';
8
+ import { bugCommand } from '../ui/commands/bugCommand.js';
9
+ import { chatCommand } from '../ui/commands/chatCommand.js';
10
+ import { clearCommand } from '../ui/commands/clearCommand.js';
11
+ import { compressCommand } from '../ui/commands/compressCommand.js';
12
+ import { copyCommand } from '../ui/commands/copyCommand.js';
13
+ import { docsCommand } from '../ui/commands/docsCommand.js';
14
+ import { editorCommand } from '../ui/commands/editorCommand.js';
15
+ import { extensionsCommand } from '../ui/commands/extensionsCommand.js';
16
+ import { helpCommand } from '../ui/commands/helpCommand.js';
17
+ import { ideCommand } from '../ui/commands/ideCommand.js';
18
+ import { mcpCommand } from '../ui/commands/mcpCommand.js';
19
+ import { memoryCommand } from '../ui/commands/memoryCommand.js';
20
+ import { privacyCommand } from '../ui/commands/privacyCommand.js';
21
+ import { quitCommand } from '../ui/commands/quitCommand.js';
22
+ import { restoreCommand } from '../ui/commands/restoreCommand.js';
23
+ import { statsCommand } from '../ui/commands/statsCommand.js';
24
+ import { themeCommand } from '../ui/commands/themeCommand.js';
25
+ import { toolsCommand } from '../ui/commands/toolsCommand.js';
26
+ import { vimCommand } from '../ui/commands/vimCommand.js';
27
+ import { providerCommand } from '../ui/commands/providerCommand.js';
28
+ import { modelCommand } from '../ui/commands/modelCommand.js';
29
+ import { keyCommand } from '../ui/commands/keyCommand.js';
30
+ import { keyfileCommand } from '../ui/commands/keyfileCommand.js';
31
+ import { baseurlCommand } from '../ui/commands/baseurlCommand.js';
32
+ import { toolformatCommand } from '../ui/commands/toolformatCommand.js';
33
+ /**
34
+ * Loads the core, hard-coded slash commands that are an integral part
35
+ * of the Gemini CLI application.
36
+ */
37
+ export class BuiltinCommandLoader {
38
+ config;
39
+ constructor(config) {
40
+ this.config = config;
41
+ }
42
+ /**
43
+ * Gathers all raw built-in command definitions, injects dependencies where
44
+ * needed (e.g., config) and filters out any that are not available.
45
+ *
46
+ * @param _signal An AbortSignal (unused for this synchronous loader).
47
+ * @returns A promise that resolves to an array of `SlashCommand` objects.
48
+ */
49
+ async loadCommands(_signal) {
50
+ const allDefinitions = [
51
+ aboutCommand,
52
+ authCommand,
53
+ bugCommand,
54
+ chatCommand,
55
+ clearCommand,
56
+ compressCommand,
57
+ copyCommand,
58
+ docsCommand,
59
+ editorCommand,
60
+ extensionsCommand,
61
+ helpCommand,
62
+ ideCommand(this.config),
63
+ mcpCommand,
64
+ memoryCommand,
65
+ privacyCommand,
66
+ quitCommand,
67
+ restoreCommand(this.config),
68
+ statsCommand,
69
+ themeCommand,
70
+ toolsCommand,
71
+ vimCommand,
72
+ providerCommand,
73
+ modelCommand,
74
+ keyCommand,
75
+ keyfileCommand,
76
+ baseurlCommand,
77
+ toolformatCommand,
78
+ ];
79
+ return allDefinitions.filter((cmd) => cmd !== null);
80
+ }
81
+ }
82
+ //# sourceMappingURL=BuiltinCommandLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BuiltinCommandLoader.js","sourceRoot":"","sources":["../../../src/services/BuiltinCommandLoader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACX;IAApB,YAAoB,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE7C;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,OAAoB;QACrC,MAAM,cAAc,GAA+B;YACjD,YAAY;YACZ,WAAW;YACX,UAAU;YACV,WAAW;YACX,YAAY;YACZ,eAAe;YACf,WAAW;YACX,WAAW;YACX,aAAa;YACb,iBAAiB;YACjB,WAAW;YACX,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YACvB,UAAU;YACV,aAAa;YACb,cAAc;YACd,WAAW;YACX,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,UAAU;YACV,eAAe;YACf,YAAY;YACZ,UAAU;YACV,cAAc;YACd,cAAc;YACd,iBAAiB;SAClB,CAAC;QAEF,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAuB,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IAC3E,CAAC;CACF"}
@@ -3,13 +3,49 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Config } from '@vybestack/llxprt-code-core';
7
6
  import { SlashCommand } from '../ui/commands/types.js';
7
+ import { ICommandLoader } from './types.js';
8
+ /**
9
+ * Orchestrates the discovery and loading of all slash commands for the CLI.
10
+ *
11
+ * This service operates on a provider-based loader pattern. It is initialized
12
+ * with an array of `ICommandLoader` instances, each responsible for fetching
13
+ * commands from a specific source (e.g., built-in code, local files).
14
+ *
15
+ * The CommandService is responsible for invoking these loaders, aggregating their
16
+ * results, and resolving any name conflicts. This architecture allows the command
17
+ * system to be extended with new sources without modifying the service itself.
18
+ */
8
19
  export declare class CommandService {
9
- private config;
10
- private commandLoader;
11
- private commands;
12
- constructor(config: Config | null, commandLoader?: (config: Config | null) => Promise<SlashCommand[]>);
13
- loadCommands(): Promise<void>;
14
- getCommands(): SlashCommand[];
20
+ private readonly commands;
21
+ /**
22
+ * Private constructor to enforce the use of the async factory.
23
+ * @param commands A readonly array of the fully loaded and de-duplicated commands.
24
+ */
25
+ private constructor();
26
+ /**
27
+ * Asynchronously creates and initializes a new CommandService instance.
28
+ *
29
+ * This factory method orchestrates the entire command loading process. It
30
+ * runs all provided loaders in parallel, aggregates their results, handles
31
+ * name conflicts by letting the last-loaded command win, and then returns a
32
+ * fully constructed `CommandService` instance.
33
+ *
34
+ * @param loaders An array of objects that conform to the `ICommandLoader`
35
+ * interface. The order of loaders is significant: if multiple loaders
36
+ * provide a command with the same name, the command from the loader that
37
+ * appears later in the array will take precedence.
38
+ * @param signal An AbortSignal to cancel the loading process.
39
+ * @returns A promise that resolves to a new, fully initialized `CommandService` instance.
40
+ */
41
+ static create(loaders: ICommandLoader[], signal: AbortSignal): Promise<CommandService>;
42
+ /**
43
+ * Retrieves the currently loaded and de-duplicated list of slash commands.
44
+ *
45
+ * This method is a safe accessor for the service's state. It returns a
46
+ * readonly array, preventing consumers from modifying the service's internal state.
47
+ *
48
+ * @returns A readonly, unified array of available `SlashCommand` objects.
49
+ */
50
+ getCommands(): readonly SlashCommand[];
15
51
  }
@@ -3,73 +3,70 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { memoryCommand } from '../ui/commands/memoryCommand.js';
7
- import { helpCommand } from '../ui/commands/helpCommand.js';
8
- import { clearCommand } from '../ui/commands/clearCommand.js';
9
- import { docsCommand } from '../ui/commands/docsCommand.js';
10
- import { mcpCommand } from '../ui/commands/mcpCommand.js';
11
- import { authCommand } from '../ui/commands/authCommand.js';
12
- import { themeCommand } from '../ui/commands/themeCommand.js';
13
- import { editorCommand } from '../ui/commands/editorCommand.js';
14
- import { chatCommand } from '../ui/commands/chatCommand.js';
15
- import { statsCommand } from '../ui/commands/statsCommand.js';
16
- import { privacyCommand } from '../ui/commands/privacyCommand.js';
17
- import { aboutCommand } from '../ui/commands/aboutCommand.js';
18
- import { extensionsCommand } from '../ui/commands/extensionsCommand.js';
19
- import { toolsCommand } from '../ui/commands/toolsCommand.js';
20
- import { compressCommand } from '../ui/commands/compressCommand.js';
21
- import { ideCommand } from '../ui/commands/ideCommand.js';
22
- import { bugCommand } from '../ui/commands/bugCommand.js';
23
- import { quitCommand } from '../ui/commands/quitCommand.js';
24
- import { restoreCommand } from '../ui/commands/restoreCommand.js';
25
- import { providerCommand } from '../ui/commands/providerCommand.js';
26
- import { modelCommand } from '../ui/commands/modelCommand.js';
27
- import { keyCommand } from '../ui/commands/keyCommand.js';
28
- import { keyfileCommand } from '../ui/commands/keyfileCommand.js';
29
- import { baseurlCommand } from '../ui/commands/baseurlCommand.js';
30
- const loadBuiltInCommands = async (config) => {
31
- const allCommands = [
32
- aboutCommand,
33
- authCommand,
34
- baseurlCommand,
35
- bugCommand,
36
- chatCommand,
37
- clearCommand,
38
- compressCommand,
39
- docsCommand,
40
- editorCommand,
41
- extensionsCommand,
42
- helpCommand,
43
- ideCommand(config),
44
- keyCommand,
45
- keyfileCommand,
46
- mcpCommand,
47
- memoryCommand,
48
- modelCommand,
49
- privacyCommand,
50
- providerCommand,
51
- quitCommand,
52
- restoreCommand(config),
53
- statsCommand,
54
- themeCommand,
55
- toolsCommand,
56
- ];
57
- return allCommands.filter((command) => command !== null);
58
- };
6
+ /**
7
+ * Orchestrates the discovery and loading of all slash commands for the CLI.
8
+ *
9
+ * This service operates on a provider-based loader pattern. It is initialized
10
+ * with an array of `ICommandLoader` instances, each responsible for fetching
11
+ * commands from a specific source (e.g., built-in code, local files).
12
+ *
13
+ * The CommandService is responsible for invoking these loaders, aggregating their
14
+ * results, and resolving any name conflicts. This architecture allows the command
15
+ * system to be extended with new sources without modifying the service itself.
16
+ */
59
17
  export class CommandService {
60
- config;
61
- commandLoader;
62
- commands = [];
63
- constructor(config, commandLoader = loadBuiltInCommands) {
64
- this.config = config;
65
- this.commandLoader = commandLoader;
66
- // The constructor can be used for dependency injection in the future.
18
+ commands;
19
+ /**
20
+ * Private constructor to enforce the use of the async factory.
21
+ * @param commands A readonly array of the fully loaded and de-duplicated commands.
22
+ */
23
+ constructor(commands) {
24
+ this.commands = commands;
67
25
  }
68
- async loadCommands() {
69
- // For now, we only load the built-in commands.
70
- // File-based and remote commands will be added later.
71
- this.commands = await this.commandLoader(this.config);
26
+ /**
27
+ * Asynchronously creates and initializes a new CommandService instance.
28
+ *
29
+ * This factory method orchestrates the entire command loading process. It
30
+ * runs all provided loaders in parallel, aggregates their results, handles
31
+ * name conflicts by letting the last-loaded command win, and then returns a
32
+ * fully constructed `CommandService` instance.
33
+ *
34
+ * @param loaders An array of objects that conform to the `ICommandLoader`
35
+ * interface. The order of loaders is significant: if multiple loaders
36
+ * provide a command with the same name, the command from the loader that
37
+ * appears later in the array will take precedence.
38
+ * @param signal An AbortSignal to cancel the loading process.
39
+ * @returns A promise that resolves to a new, fully initialized `CommandService` instance.
40
+ */
41
+ static async create(loaders, signal) {
42
+ const results = await Promise.allSettled(loaders.map((loader) => loader.loadCommands(signal)));
43
+ const allCommands = [];
44
+ for (const result of results) {
45
+ if (result.status === 'fulfilled') {
46
+ allCommands.push(...result.value);
47
+ }
48
+ else {
49
+ console.debug('A command loader failed:', result.reason);
50
+ }
51
+ }
52
+ // De-duplicate commands using a Map. The last one found with a given name wins.
53
+ // This creates a natural override system based on the order of the loaders
54
+ // passed to the constructor.
55
+ const commandMap = new Map();
56
+ for (const cmd of allCommands) {
57
+ commandMap.set(cmd.name, cmd);
58
+ }
59
+ const finalCommands = Object.freeze(Array.from(commandMap.values()));
60
+ return new CommandService(finalCommands);
72
61
  }
62
+ /**
63
+ * Retrieves the currently loaded and de-duplicated list of slash commands.
64
+ *
65
+ * This method is a safe accessor for the service's state. It returns a
66
+ * readonly array, preventing consumers from modifying the service's internal state.
67
+ *
68
+ * @returns A readonly, unified array of available `SlashCommand` objects.
69
+ */
73
70
  getCommands() {
74
71
  return this.commands;
75
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CommandService.js","sourceRoot":"","sources":["../../../src/services/CommandService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAElE,MAAM,mBAAmB,GAAG,KAAK,EAC/B,MAAqB,EACI,EAAE;IAC3B,MAAM,WAAW,GAAG;QAClB,YAAY;QACZ,WAAW;QACX,cAAc;QACd,UAAU;QACV,WAAW;QACX,YAAY;QACZ,eAAe;QACf,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,WAAW;QACX,UAAU,CAAC,MAAM,CAAC;QAClB,UAAU;QACV,cAAc;QACd,UAAU;QACV,aAAa;QACb,YAAY;QACZ,cAAc;QACd,eAAe;QACf,WAAW;QACX,cAAc,CAAC,MAAM,CAAC;QACtB,YAAY;QACZ,YAAY;QACZ,YAAY;KACb,CAAC;IAEF,OAAO,WAAW,CAAC,MAAM,CACvB,CAAC,OAAO,EAA2B,EAAE,CAAC,OAAO,KAAK,IAAI,CACvD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,cAAc;IAIf;IACA;IAJF,QAAQ,GAAmB,EAAE,CAAC;IAEtC,YACU,MAAqB,EACrB,gBAEuB,mBAAmB;QAH1C,WAAM,GAAN,MAAM,CAAe;QACrB,kBAAa,GAAb,aAAa,CAE6B;QAElD,sEAAsE;IACxE,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,+CAA+C;QAC/C,sDAAsD;QACtD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
1
+ {"version":3,"file":"CommandService.js","sourceRoot":"","sources":["../../../src/services/CommandService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;;;;;;;;GAUG;AACH,MAAM,OAAO,cAAc;IAKY;IAJrC;;;OAGG;IACH,YAAqC,QAAiC;QAAjC,aAAQ,GAAR,QAAQ,CAAyB;IAAG,CAAC;IAE1E;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,OAAyB,EACzB,MAAmB;QAEnB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CACtC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CACrD,CAAC;QAEF,MAAM,WAAW,GAAmB,EAAE,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,gFAAgF;QAChF,2EAA2E;QAC3E,6BAA6B;QAC7B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwB,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrE,OAAO,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Config } from '@vybestack/llxprt-code-core';
7
+ import { ICommandLoader } from './types.js';
8
+ import { SlashCommand } from '../ui/commands/types.js';
9
+ /**
10
+ * Discovers and loads custom slash commands from .toml files in both the
11
+ * user's global config directory and the current project's directory.
12
+ *
13
+ * This loader is responsible for:
14
+ * - Recursively scanning command directories.
15
+ * - Parsing and validating TOML files.
16
+ * - Adapting valid definitions into executable SlashCommand objects.
17
+ * - Handling file system errors and malformed files gracefully.
18
+ */
19
+ export declare class FileCommandLoader implements ICommandLoader {
20
+ private readonly config;
21
+ private readonly projectRoot;
22
+ constructor(config: Config | null);
23
+ /**
24
+ * Loads all commands, applying the precedence rule where project-level
25
+ * commands override user-level commands with the same name.
26
+ * @param signal An AbortSignal to cancel the loading process.
27
+ * @returns A promise that resolves to an array of loaded SlashCommands.
28
+ */
29
+ loadCommands(signal: AbortSignal): Promise<SlashCommand[]>;
30
+ /**
31
+ * Parses a single .toml file and transforms it into a SlashCommand object.
32
+ * @param filePath The absolute path to the .toml file.
33
+ * @param baseDir The root command directory for name calculation.
34
+ * @returns A promise resolving to a SlashCommand, or null if the file is invalid.
35
+ */
36
+ private parseAndAdaptFile;
37
+ }
@@ -0,0 +1,156 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { promises as fs } from 'fs';
7
+ import path from 'path';
8
+ import toml from '@iarna/toml';
9
+ import { glob } from 'glob';
10
+ import { z } from 'zod';
11
+ import { getProjectCommandsDir, getUserCommandsDir, } from '@vybestack/llxprt-code-core';
12
+ import { CommandKind, } from '../ui/commands/types.js';
13
+ import { DefaultArgumentProcessor, ShorthandArgumentProcessor, } from './prompt-processors/argumentProcessor.js';
14
+ import { SHORTHAND_ARGS_PLACEHOLDER, } from './prompt-processors/types.js';
15
+ /**
16
+ * Defines the Zod schema for a command definition file. This serves as the
17
+ * single source of truth for both validation and type inference.
18
+ */
19
+ const TomlCommandDefSchema = z.object({
20
+ prompt: z.string({
21
+ required_error: "The 'prompt' field is required.",
22
+ invalid_type_error: "The 'prompt' field must be a string.",
23
+ }),
24
+ description: z.string().optional(),
25
+ });
26
+ /**
27
+ * Discovers and loads custom slash commands from .toml files in both the
28
+ * user's global config directory and the current project's directory.
29
+ *
30
+ * This loader is responsible for:
31
+ * - Recursively scanning command directories.
32
+ * - Parsing and validating TOML files.
33
+ * - Adapting valid definitions into executable SlashCommand objects.
34
+ * - Handling file system errors and malformed files gracefully.
35
+ */
36
+ export class FileCommandLoader {
37
+ config;
38
+ projectRoot;
39
+ constructor(config) {
40
+ this.config = config;
41
+ this.projectRoot = config?.getProjectRoot() || process.cwd();
42
+ }
43
+ /**
44
+ * Loads all commands, applying the precedence rule where project-level
45
+ * commands override user-level commands with the same name.
46
+ * @param signal An AbortSignal to cancel the loading process.
47
+ * @returns A promise that resolves to an array of loaded SlashCommands.
48
+ */
49
+ async loadCommands(signal) {
50
+ const commandMap = new Map();
51
+ const globOptions = {
52
+ nodir: true,
53
+ dot: true,
54
+ signal,
55
+ };
56
+ try {
57
+ // User Commands
58
+ const userDir = getUserCommandsDir();
59
+ const userFiles = await glob('**/*.toml', {
60
+ ...globOptions,
61
+ cwd: userDir,
62
+ });
63
+ const userCommandPromises = userFiles.map((file) => this.parseAndAdaptFile(path.join(userDir, file), userDir));
64
+ const userCommands = (await Promise.all(userCommandPromises)).filter((cmd) => cmd !== null);
65
+ for (const cmd of userCommands) {
66
+ commandMap.set(cmd.name, cmd);
67
+ }
68
+ // Project Commands (these intentionally override user commands)
69
+ const projectDir = getProjectCommandsDir(this.projectRoot);
70
+ const projectFiles = await glob('**/*.toml', {
71
+ ...globOptions,
72
+ cwd: projectDir,
73
+ });
74
+ const projectCommandPromises = projectFiles.map((file) => this.parseAndAdaptFile(path.join(projectDir, file), projectDir));
75
+ const projectCommands = (await Promise.all(projectCommandPromises)).filter((cmd) => cmd !== null);
76
+ for (const cmd of projectCommands) {
77
+ commandMap.set(cmd.name, cmd);
78
+ }
79
+ }
80
+ catch (error) {
81
+ console.error(`[FileCommandLoader] Error during file search:`, error);
82
+ }
83
+ return Array.from(commandMap.values());
84
+ }
85
+ /**
86
+ * Parses a single .toml file and transforms it into a SlashCommand object.
87
+ * @param filePath The absolute path to the .toml file.
88
+ * @param baseDir The root command directory for name calculation.
89
+ * @returns A promise resolving to a SlashCommand, or null if the file is invalid.
90
+ */
91
+ async parseAndAdaptFile(filePath, baseDir) {
92
+ let fileContent;
93
+ try {
94
+ fileContent = await fs.readFile(filePath, 'utf-8');
95
+ }
96
+ catch (error) {
97
+ console.error(`[FileCommandLoader] Failed to read file ${filePath}:`, error instanceof Error ? error.message : String(error));
98
+ return null;
99
+ }
100
+ let parsed;
101
+ try {
102
+ parsed = toml.parse(fileContent);
103
+ }
104
+ catch (error) {
105
+ console.error(`[FileCommandLoader] Failed to parse TOML file ${filePath}:`, error instanceof Error ? error.message : String(error));
106
+ return null;
107
+ }
108
+ const validationResult = TomlCommandDefSchema.safeParse(parsed);
109
+ if (!validationResult.success) {
110
+ console.error(`[FileCommandLoader] Skipping invalid command file: ${filePath}. Validation errors:`, validationResult.error.flatten());
111
+ return null;
112
+ }
113
+ const validDef = validationResult.data;
114
+ const relativePathWithExt = path.relative(baseDir, filePath);
115
+ const relativePath = relativePathWithExt.substring(0, relativePathWithExt.length - 5);
116
+ const commandName = relativePath
117
+ .split(path.sep)
118
+ // Sanitize each path segment to prevent ambiguity. Since ':' is our
119
+ // namespace separator, we replace any literal colons in filenames
120
+ // with underscores to avoid naming conflicts.
121
+ .map((segment) => segment.replaceAll(':', '_'))
122
+ .join(':');
123
+ const processors = [];
124
+ // The presence of '{{args}}' is the switch that determines the behavior.
125
+ if (validDef.prompt.includes(SHORTHAND_ARGS_PLACEHOLDER)) {
126
+ processors.push(new ShorthandArgumentProcessor());
127
+ }
128
+ else {
129
+ processors.push(new DefaultArgumentProcessor());
130
+ }
131
+ return {
132
+ name: commandName,
133
+ description: validDef.description ||
134
+ `Custom command from ${path.basename(filePath)}`,
135
+ kind: CommandKind.FILE,
136
+ action: async (context, _args) => {
137
+ if (!context.invocation) {
138
+ console.error(`[FileCommandLoader] Critical error: Command '${commandName}' was executed without invocation context.`);
139
+ return {
140
+ type: 'submit_prompt',
141
+ content: validDef.prompt, // Fallback to unprocessed prompt
142
+ };
143
+ }
144
+ let processedPrompt = validDef.prompt;
145
+ for (const processor of processors) {
146
+ processedPrompt = await processor.process(processedPrompt, context);
147
+ }
148
+ return {
149
+ type: 'submit_prompt',
150
+ content: processedPrompt,
151
+ };
152
+ },
153
+ };
154
+ }
155
+ }
156
+ //# sourceMappingURL=FileCommandLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileCommandLoader.js","sourceRoot":"","sources":["../../../src/services/FileCommandLoader.ts"],"names":[],"mappings":"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"}