@vybestack/llxprt-code 0.1.13-nightly.250728.2261021c → 0.1.14-nightly.250729.2076f7c6

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
@@ -16,7 +16,7 @@ import os from 'node:os';
16
16
  import { spawn } from 'node:child_process';
17
17
  import { start_sandbox } from './utils/sandbox.js';
18
18
  import chalk from 'chalk';
19
- import { loadSettings, USER_SETTINGS_PATH, SettingScope, } from './config/settings.js';
19
+ import { loadSettings, SettingScope, } from './config/settings.js';
20
20
  import { themeManager } from './ui/themes/theme-manager.js';
21
21
  import { getStartupWarnings } from './utils/startupWarnings.js';
22
22
  import { getUserStartupWarnings } from './utils/userStartupWarnings.js';
@@ -26,11 +26,12 @@ import { cleanupCheckpoints, registerCleanup } from './utils/cleanup.js';
26
26
  import { getCliVersion } from './utils/version.js';
27
27
  import { EditTool, ShellTool, WriteFileTool, sessionId,
28
28
  // TELEMETRY REMOVED: logUserPrompt disabled
29
- AuthType, getOauthClient, shouldAttemptBrowserLaunch, } from '@vybestack/llxprt-code-core';
29
+ AuthType, getOauthClient, } from '@vybestack/llxprt-code-core';
30
30
  import { validateAuthMethod } from './config/auth.js';
31
31
  import { setMaxSizedBoxDebugging } from './ui/components/shared/MaxSizedBox.js';
32
32
  import { getProviderManager } from './providers/providerManagerInstance.js';
33
33
  import { setProviderApiKey, setProviderApiKeyFromFile, setProviderBaseUrl, } from './providers/providerConfigUtils.js';
34
+ import { validateNonInteractiveAuth } from './validateNonInterActiveAuth.js';
34
35
  function getNodeMemoryArgs(config) {
35
36
  const totalMemoryMB = os.totalmem() / (1024 * 1024);
36
37
  const heapStats = v8.getHeapStatistics();
@@ -114,6 +115,8 @@ export async function main() {
114
115
  }
115
116
  setMaxSizedBoxDebugging(config.getDebugMode());
116
117
  await config.initialize();
118
+ // Load custom themes from settings
119
+ themeManager.loadCustomThemes(settings.merged.customThemes);
117
120
  // If a provider is specified via CLI, activate it after initialization
118
121
  const configProvider = config.getProvider();
119
122
  if (configProvider) {
@@ -210,7 +213,7 @@ export async function main() {
210
213
  }
211
214
  }
212
215
  if (settings.merged.selectedAuthType === AuthType.LOGIN_WITH_GOOGLE &&
213
- (config.getNoBrowser() || !shouldAttemptBrowserLaunch())) {
216
+ config.isBrowserLaunchSuppressed()) {
214
217
  // Do oauth before app renders to make copying the link possible.
215
218
  await getOauthClient(settings.merged.selectedAuthType, config);
216
219
  }
@@ -385,35 +388,6 @@ async function loadNonInteractiveConfig(config, extensions, settings, argv) {
385
388
  }
386
389
  }
387
390
  }
388
- return await validateNonInterActiveAuth(settings.merged.selectedAuthType, finalConfig);
389
- }
390
- async function validateNonInterActiveAuth(selectedAuthType, nonInteractiveConfig) {
391
- // Check if a provider is specified via command line
392
- const configProvider = nonInteractiveConfig.getProvider();
393
- if (!configProvider && !selectedAuthType && !process.env.LLXPRT_API_KEY) {
394
- // making a special case for the cli. many headless environments might not have a settings.json set
395
- // so if GEMINI_API_KEY is set, we'll use that. However since the oauth things are interactive anyway, we'll
396
- // still expect that exists
397
- console.error(`Please set an Auth method in your ${USER_SETTINGS_PATH} OR specify GEMINI_API_KEY env variable file before running`);
398
- process.exit(1);
399
- }
400
- selectedAuthType = selectedAuthType || AuthType.USE_GEMINI;
401
- const err = validateAuthMethod(selectedAuthType);
402
- if (err != null) {
403
- console.error(err);
404
- process.exit(1);
405
- }
406
- await nonInteractiveConfig.refreshAuth(selectedAuthType);
407
- // Ensure serverToolsProvider (Gemini) has config set if it's not the active provider
408
- const providerManager = nonInteractiveConfig.getProviderManager();
409
- if (providerManager) {
410
- const serverToolsProvider = providerManager.getServerToolsProvider();
411
- if (serverToolsProvider &&
412
- serverToolsProvider.name === 'gemini' &&
413
- serverToolsProvider.setConfig) {
414
- serverToolsProvider.setConfig(nonInteractiveConfig);
415
- }
416
- }
417
- return nonInteractiveConfig;
391
+ return await validateNonInteractiveAuth(settings.merged.selectedAuthType, finalConfig);
418
392
  }
419
393
  //# sourceMappingURL=gemini.js.map
@@ -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
+ }