@vybestack/llxprt-code 0.1.18 → 0.1.19-beta

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 (206) hide show
  1. package/README.md +1 -0
  2. package/dist/package.json +6 -4
  3. package/dist/src/acp/acpPeer.js +72 -64
  4. package/dist/src/acp/acpPeer.js.map +1 -1
  5. package/dist/src/commands/mcp/add.d.ts +7 -0
  6. package/dist/src/commands/mcp/add.js +155 -0
  7. package/dist/src/commands/mcp/add.js.map +1 -0
  8. package/dist/src/commands/mcp/list.d.ts +8 -0
  9. package/dist/src/commands/mcp/list.js +110 -0
  10. package/dist/src/commands/mcp/list.js.map +1 -0
  11. package/dist/src/commands/mcp/remove.d.ts +7 -0
  12. package/dist/src/commands/mcp/remove.js +44 -0
  13. package/dist/src/commands/mcp/remove.js.map +1 -0
  14. package/dist/src/commands/mcp.d.ts +7 -0
  15. package/dist/src/commands/mcp.js +23 -0
  16. package/dist/src/commands/mcp.js.map +1 -0
  17. package/dist/src/config/auth.js +5 -0
  18. package/dist/src/config/auth.js.map +1 -1
  19. package/dist/src/config/config.js +80 -37
  20. package/dist/src/config/config.js.map +1 -1
  21. package/dist/src/config/keyBindings.d.ts +64 -0
  22. package/dist/src/config/keyBindings.js +137 -0
  23. package/dist/src/config/keyBindings.js.map +1 -0
  24. package/dist/src/config/settings.d.ts +7 -1
  25. package/dist/src/config/settings.js +20 -4
  26. package/dist/src/config/settings.js.map +1 -1
  27. package/dist/src/gemini.js +12 -109
  28. package/dist/src/gemini.js.map +1 -1
  29. package/dist/src/generated/git-commit.d.ts +1 -1
  30. package/dist/src/generated/git-commit.js +1 -1
  31. package/dist/src/nonInteractiveCli.js +0 -1
  32. package/dist/src/nonInteractiveCli.js.map +1 -1
  33. package/dist/src/providers/logging/git-stats-service-impl.d.ts +19 -0
  34. package/dist/src/providers/logging/git-stats-service-impl.js +25 -0
  35. package/dist/src/providers/logging/git-stats-service-impl.js.map +1 -0
  36. package/dist/src/providers/logging/git-stats.d.ts +43 -0
  37. package/dist/src/providers/logging/git-stats.js +137 -0
  38. package/dist/src/providers/logging/git-stats.js.map +1 -0
  39. package/dist/src/providers/providerManagerInstance.js +7 -0
  40. package/dist/src/providers/providerManagerInstance.js.map +1 -1
  41. package/dist/src/services/BuiltinCommandLoader.js +2 -0
  42. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  43. package/dist/src/services/todo-continuation/todoContinuationService.d.ts +172 -0
  44. package/dist/src/services/todo-continuation/todoContinuationService.js +387 -0
  45. package/dist/src/services/todo-continuation/todoContinuationService.js.map +1 -0
  46. package/dist/src/services/todo-continuation/todoContinuationService.spec.d.ts +6 -0
  47. package/dist/src/services/todo-continuation/todoContinuationService.spec.js +385 -0
  48. package/dist/src/services/todo-continuation/todoContinuationService.spec.js.map +1 -0
  49. package/dist/src/ui/App.js +111 -35
  50. package/dist/src/ui/App.js.map +1 -1
  51. package/dist/src/ui/IdeIntegrationNudge.d.ts +14 -0
  52. package/dist/src/ui/IdeIntegrationNudge.js +32 -0
  53. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -0
  54. package/dist/src/ui/colors.d.ts +5 -0
  55. package/dist/src/ui/colors.js +51 -0
  56. package/dist/src/ui/colors.js.map +1 -1
  57. package/dist/src/ui/commands/chatCommand.js +16 -0
  58. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  59. package/dist/src/ui/commands/diagnosticsCommand.js +9 -1
  60. package/dist/src/ui/commands/diagnosticsCommand.js.map +1 -1
  61. package/dist/src/ui/commands/ideCommand.js +67 -31
  62. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  63. package/dist/src/ui/commands/loggingCommand.d.ts +15 -0
  64. package/dist/src/ui/commands/loggingCommand.js +421 -0
  65. package/dist/src/ui/commands/loggingCommand.js.map +1 -0
  66. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  67. package/dist/src/ui/commands/privacyCommand.d.ts +3 -0
  68. package/dist/src/ui/commands/privacyCommand.js +6 -3
  69. package/dist/src/ui/commands/privacyCommand.js.map +1 -1
  70. package/dist/src/ui/commands/profileCommand.js +1 -0
  71. package/dist/src/ui/commands/profileCommand.js.map +1 -1
  72. package/dist/src/ui/commands/setCommand.js +2 -0
  73. package/dist/src/ui/commands/setCommand.js.map +1 -1
  74. package/dist/src/ui/commands/setupGithubCommand.js +90 -26
  75. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  76. package/dist/src/ui/commands/toolsCommand.js.map +1 -1
  77. package/dist/src/ui/commands/types.d.ts +14 -2
  78. package/dist/src/ui/commands/types.js.map +1 -1
  79. package/dist/src/ui/components/AuthInProgress.js +3 -3
  80. package/dist/src/ui/components/AuthInProgress.js.map +1 -1
  81. package/dist/src/ui/components/ContextUsageDisplay.d.ts +10 -0
  82. package/dist/src/ui/components/ContextUsageDisplay.js +27 -0
  83. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -0
  84. package/dist/src/ui/components/FolderTrustDialog.d.ts +16 -0
  85. package/dist/src/ui/components/FolderTrustDialog.js +38 -0
  86. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -0
  87. package/dist/src/ui/components/Footer.d.ts +0 -1
  88. package/dist/src/ui/components/Footer.js +132 -15
  89. package/dist/src/ui/components/Footer.js.map +1 -1
  90. package/dist/src/ui/components/InputPrompt.js +32 -28
  91. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  92. package/dist/src/ui/components/LoggingDialog.d.ts +37 -0
  93. package/dist/src/ui/components/LoggingDialog.js +155 -0
  94. package/dist/src/ui/components/LoggingDialog.js.map +1 -0
  95. package/dist/src/ui/components/MemoryUsageDisplay.js +6 -4
  96. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
  97. package/dist/src/ui/components/ProviderDialog.js +100 -26
  98. package/dist/src/ui/components/ProviderDialog.js.map +1 -1
  99. package/dist/src/ui/components/ProviderModelDialog.js +99 -27
  100. package/dist/src/ui/components/ProviderModelDialog.js.map +1 -1
  101. package/dist/src/ui/components/TodoPanel.d.ts +11 -0
  102. package/dist/src/ui/components/TodoPanel.js +206 -0
  103. package/dist/src/ui/components/TodoPanel.js.map +1 -0
  104. package/dist/src/ui/components/ToolsDialog.d.ts +2 -2
  105. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +116 -16
  106. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  107. package/dist/src/ui/components/messages/ToolGroupMessage.js +36 -8
  108. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  109. package/dist/src/ui/components/todo-utils.d.ts +16 -0
  110. package/dist/src/ui/components/todo-utils.js +41 -0
  111. package/dist/src/ui/components/todo-utils.js.map +1 -0
  112. package/dist/src/ui/contexts/SettingsContext.d.ts +9 -0
  113. package/dist/src/ui/contexts/SettingsContext.js +15 -0
  114. package/dist/src/ui/contexts/SettingsContext.js.map +1 -0
  115. package/dist/src/ui/contexts/TodoContext.d.ts +15 -0
  116. package/dist/src/ui/contexts/TodoContext.js +18 -0
  117. package/dist/src/ui/contexts/TodoContext.js.map +1 -0
  118. package/dist/src/ui/contexts/TodoProvider.d.ts +7 -0
  119. package/dist/src/ui/contexts/TodoProvider.js +62 -0
  120. package/dist/src/ui/contexts/TodoProvider.js.map +1 -0
  121. package/dist/src/ui/contexts/ToolCallContext.d.ts +19 -0
  122. package/dist/src/ui/contexts/ToolCallContext.js +13 -0
  123. package/dist/src/ui/contexts/ToolCallContext.js.map +1 -0
  124. package/dist/src/ui/contexts/ToolCallProvider.d.ts +12 -0
  125. package/dist/src/ui/contexts/ToolCallProvider.js +62 -0
  126. package/dist/src/ui/contexts/ToolCallProvider.js.map +1 -0
  127. package/dist/src/ui/hooks/atCommandProcessor.js +28 -4
  128. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  129. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +5 -1
  130. package/dist/src/ui/hooks/slashCommandProcessor.js +137 -112
  131. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  132. package/dist/src/ui/hooks/useAtCompletion.d.ts +23 -0
  133. package/dist/src/ui/hooks/useAtCompletion.js +180 -0
  134. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -0
  135. package/dist/src/ui/hooks/useConsoleMessages.js +7 -0
  136. package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -1
  137. package/dist/src/ui/hooks/useFolderTrust.d.ts +11 -0
  138. package/dist/src/ui/hooks/useFolderTrust.js +22 -0
  139. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -0
  140. package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
  141. package/dist/src/ui/hooks/useGeminiStream.js +16 -4
  142. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  143. package/dist/src/ui/hooks/useReactToolScheduler.js +12 -12
  144. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  145. package/dist/src/ui/hooks/useResponsive.d.ts +14 -0
  146. package/dist/src/ui/hooks/useResponsive.js +19 -0
  147. package/dist/src/ui/hooks/useResponsive.js.map +1 -0
  148. package/dist/src/ui/hooks/useTodoContinuation.d.ts +31 -0
  149. package/dist/src/ui/hooks/useTodoContinuation.js +148 -0
  150. package/dist/src/ui/hooks/useTodoContinuation.js.map +1 -0
  151. package/dist/src/ui/hooks/useTodoContinuation.spec.d.ts +6 -0
  152. package/dist/src/ui/hooks/useTodoContinuation.spec.js +378 -0
  153. package/dist/src/ui/hooks/useTodoContinuation.spec.js.map +1 -0
  154. package/dist/src/ui/hooks/useToolsDialog.d.ts +2 -2
  155. package/dist/src/ui/hooks/useToolsDialog.js.map +1 -1
  156. package/dist/src/ui/keyMatchers.d.ts +26 -0
  157. package/dist/src/ui/keyMatchers.js +68 -0
  158. package/dist/src/ui/keyMatchers.js.map +1 -0
  159. package/dist/src/ui/privacy/PrivacyNotice.js +10 -4
  160. package/dist/src/ui/privacy/PrivacyNotice.js.map +1 -1
  161. package/dist/src/ui/themes/semantic-resolver.d.ts +12 -0
  162. package/dist/src/ui/themes/semantic-resolver.js +32 -0
  163. package/dist/src/ui/themes/semantic-resolver.js.map +1 -0
  164. package/dist/src/ui/themes/semantic-tokens.d.ts +52 -0
  165. package/dist/src/ui/themes/semantic-tokens.js +7 -0
  166. package/dist/src/ui/themes/semantic-tokens.js.map +1 -0
  167. package/dist/src/ui/themes/theme-compat.d.ts +34 -0
  168. package/dist/src/ui/themes/theme-compat.js +65 -0
  169. package/dist/src/ui/themes/theme-compat.js.map +1 -0
  170. package/dist/src/ui/themes/theme-manager.d.ts +8 -0
  171. package/dist/src/ui/themes/theme-manager.js +18 -0
  172. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  173. package/dist/src/ui/types.d.ts +1 -1
  174. package/dist/src/ui/utils/CodeColorizer.d.ts +2 -1
  175. package/dist/src/ui/utils/CodeColorizer.js +4 -3
  176. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  177. package/dist/src/ui/utils/ConsolePatcher.d.ts +1 -0
  178. package/dist/src/ui/utils/ConsolePatcher.js +3 -0
  179. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
  180. package/dist/src/ui/utils/MarkdownDisplay.js +4 -2
  181. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  182. package/dist/src/ui/utils/commandUtils.d.ts +1 -0
  183. package/dist/src/ui/utils/commandUtils.js +22 -1
  184. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  185. package/dist/src/ui/utils/responsive.d.ts +16 -0
  186. package/dist/src/ui/utils/responsive.js +111 -0
  187. package/dist/src/ui/utils/responsive.js.map +1 -0
  188. package/dist/src/utils/cleanup.d.ts +2 -2
  189. package/dist/src/utils/cleanup.js +2 -2
  190. package/dist/src/utils/cleanup.js.map +1 -1
  191. package/dist/src/utils/gitUtils.d.ts +21 -1
  192. package/dist/src/utils/gitUtils.js +70 -3
  193. package/dist/src/utils/gitUtils.js.map +1 -1
  194. package/dist/src/utils/privacy/ConversationDataRedactor.d.ts +75 -0
  195. package/dist/src/utils/privacy/ConversationDataRedactor.js +412 -0
  196. package/dist/src/utils/privacy/ConversationDataRedactor.js.map +1 -0
  197. package/dist/src/utils/privacy/PrivacyManager.d.ts +58 -0
  198. package/dist/src/utils/privacy/PrivacyManager.js +133 -0
  199. package/dist/src/utils/privacy/PrivacyManager.js.map +1 -0
  200. package/dist/src/utils/sandbox.js +430 -401
  201. package/dist/src/utils/sandbox.js.map +1 -1
  202. package/dist/tsconfig.tsbuildinfo +1 -1
  203. package/package.json +6 -4
  204. package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +0 -12
  205. package/dist/src/ui/components/IDEContextDetailDisplay.js +0 -17
  206. package/dist/src/ui/components/IDEContextDetailDisplay.js.map +0 -1
@@ -5,13 +5,14 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
5
5
  * SPDX-License-Identifier: Apache-2.0
6
6
  */
7
7
  import { useCallback, useEffect, useMemo, useState, useRef, useReducer, } from 'react';
8
- import { Box, measureElement, Static, Text, useStdin, useStdout, useInput, } from 'ink';
8
+ import { Box, measureElement, Static, Text, useStdin, useStdout, } from 'ink';
9
9
  import { StreamingState, MessageType } from './types.js';
10
10
  import { useTerminalSize } from './hooks/useTerminalSize.js';
11
11
  import { useGeminiStream } from './hooks/useGeminiStream.js';
12
12
  import { useLoadingIndicator } from './hooks/useLoadingIndicator.js';
13
13
  import { useThemeCommand } from './hooks/useThemeCommand.js';
14
14
  import { useAuthCommand } from './hooks/useAuthCommand.js';
15
+ import { useFolderTrust } from './hooks/useFolderTrust.js';
15
16
  import { useEditorSettings } from './hooks/useEditorSettings.js';
16
17
  import { useSlashCommandProcessor } from './hooks/slashCommandProcessor.js';
17
18
  import { useAutoAcceptIndicator } from './hooks/useAutoAcceptIndicator.js';
@@ -26,20 +27,23 @@ import { ThemeDialog } from './components/ThemeDialog.js';
26
27
  import { AuthDialog } from './components/AuthDialog.js';
27
28
  import { AuthInProgress } from './components/AuthInProgress.js';
28
29
  import { EditorSettingsDialog } from './components/EditorSettingsDialog.js';
30
+ import { FolderTrustDialog } from './components/FolderTrustDialog.js';
29
31
  import { ShellConfirmationDialog } from './components/ShellConfirmationDialog.js';
32
+ import { RadioButtonSelect } from './components/shared/RadioButtonSelect.js';
30
33
  import { Colors } from './colors.js';
31
34
  import { Help } from './components/Help.js';
32
35
  import { loadHierarchicalLlxprtMemory } from '../config/config.js';
36
+ import { SettingScope } from '../config/settings.js';
33
37
  import { Tips } from './components/Tips.js';
34
38
  import { ConsolePatcher } from './utils/ConsolePatcher.js';
35
39
  import { registerCleanup } from '../utils/cleanup.js';
36
40
  import { DetailedMessagesDisplay } from './components/DetailedMessagesDisplay.js';
37
41
  import { HistoryItemDisplay } from './components/HistoryItemDisplay.js';
38
42
  import { ContextSummaryDisplay } from './components/ContextSummaryDisplay.js';
39
- import { IDEContextDetailDisplay } from './components/IDEContextDetailDisplay.js';
40
43
  import { useHistory } from './hooks/useHistoryManager.js';
41
44
  import process from 'node:process';
42
45
  import { getErrorMessage, getAllLlxprtMdFilenames, ApprovalMode, isEditorAvailable, FlashFallbackEvent, logFlashFallback, AuthType, ideContext, } from '@vybestack/llxprt-code-core';
46
+ import { IdeIntegrationNudge, } from './IdeIntegrationNudge.js';
43
47
  import { validateAuthMethod } from '../config/auth.js';
44
48
  import { useLogger } from './hooks/useLogger.js';
45
49
  import { StreamingContext } from './contexts/StreamingContext.js';
@@ -50,6 +54,8 @@ import { useBracketedPaste } from './hooks/useBracketedPaste.js';
50
54
  import { useTextBuffer } from './components/shared/text-buffer.js';
51
55
  import { useVimMode, VimModeProvider } from './contexts/VimModeContext.js';
52
56
  import { useVim } from './hooks/vim.js';
57
+ import { useKeypress } from './hooks/useKeypress.js';
58
+ import { keyMatchers, Command } from './keyMatchers.js';
53
59
  import * as fs from 'fs';
54
60
  import { appReducer, initialAppState, } from './reducers/appReducer.js';
55
61
  import { AppDispatchProvider } from './contexts/AppDispatchContext.js';
@@ -70,8 +76,13 @@ import { ProviderModelDialog } from './components/ProviderModelDialog.js';
70
76
  import { ProviderDialog } from './components/ProviderDialog.js';
71
77
  import { LoadProfileDialog } from './components/LoadProfileDialog.js';
72
78
  import { ToolsDialog } from './components/ToolsDialog.js';
79
+ // Todo UI imports
80
+ import { TodoPanel } from './components/TodoPanel.js';
81
+ import { useTodoContext } from './contexts/TodoContext.js';
73
82
  const CTRL_EXIT_PROMPT_DURATION_MS = 1000;
74
- export const AppWrapper = (props) => (_jsx(SessionStatsProvider, { children: _jsx(VimModeProvider, { settings: props.settings, children: _jsx(AppWithState, { ...props }) }) }));
83
+ import { TodoProvider } from './contexts/TodoProvider.js';
84
+ import { ToolCallProvider } from './contexts/ToolCallProvider.js';
85
+ export const AppWrapper = (props) => (_jsx(SessionStatsProvider, { children: _jsx(VimModeProvider, { settings: props.settings, children: _jsx(ToolCallProvider, { sessionId: props.config.getSessionId(), children: _jsx(TodoProvider, { sessionId: props.config.getSessionId(), children: _jsx(AppWithState, { ...props }) }) }) }) }));
75
86
  // New intermediate component that manages state and provides context
76
87
  const AppWithState = (props) => {
77
88
  const [appState, appDispatch] = useReducer(appReducer, initialAppState);
@@ -85,6 +96,20 @@ const App = (props) => {
85
96
  const { stdout } = useStdout();
86
97
  const nightly = version.includes('nightly');
87
98
  const { history, addItem, clearItems, loadHistory } = useHistory();
99
+ const { updateTodos } = useTodoContext();
100
+ const [idePromptAnswered, setIdePromptAnswered] = useState(false);
101
+ const currentIDE = config.getIdeClient()?.getCurrentIde();
102
+ useEffect(() => {
103
+ const ideClient = config.getIdeClient();
104
+ if (ideClient) {
105
+ registerCleanup(() => ideClient.disconnect());
106
+ }
107
+ }, [config]);
108
+ const shouldShowIdePrompt = config.getIdeModeFeature() &&
109
+ currentIDE &&
110
+ !config.getIdeMode() &&
111
+ !settings.merged.hasSeenIdeIntegrationNudge &&
112
+ !idePromptAnswered;
88
113
  useEffect(() => {
89
114
  const cleanup = setUpdateHandler(addItem, setUpdateInfo);
90
115
  return cleanup;
@@ -117,7 +142,6 @@ const App = (props) => {
117
142
  const [shellModeActive, setShellModeActive] = useState(false);
118
143
  const [showErrorDetails, setShowErrorDetails] = useState(false);
119
144
  const [showToolDescriptions, setShowToolDescriptions] = useState(false);
120
- const [showIDEContextDetail, setShowIDEContextDetail] = useState(false);
121
145
  const [ctrlCPressedOnce, setCtrlCPressedOnce] = useState(false);
122
146
  const [quittingMessages, setQuittingMessages] = useState(null);
123
147
  const ctrlCTimerRef = useRef(null);
@@ -163,6 +187,7 @@ const App = (props) => {
163
187
  .filter((msg) => msg.type === 'error')
164
188
  .reduce((total, msg) => total + msg.count, 0), [consoleMessages]);
165
189
  const { isThemeDialogOpen, openThemeDialog, handleThemeSelect, handleThemeHighlight, } = useThemeCommand(settings, appState, addItem);
190
+ const { isFolderTrustDialogOpen, handleFolderTrustSelect } = useFolderTrust(settings);
166
191
  const { isAuthDialogOpen, openAuthDialog, handleAuthSelect, isAuthenticating, cancelAuthentication, } = useAuthCommand(settings, appState, config);
167
192
  useEffect(() => {
168
193
  if (settings.merged.selectedAuthType && !settings.merged.useExternalAuth) {
@@ -391,15 +416,7 @@ const App = (props) => {
391
416
  }, []);
392
417
  // Core hooks and processors
393
418
  const { vimEnabled: vimModeEnabled, vimMode, toggleVimEnabled, } = useVimMode();
394
- const { handleSlashCommand, slashCommands, pendingHistoryItems: pendingSlashCommandHistoryItems, commandContext, shellConfirmationRequest, } = useSlashCommandProcessor(config, settings, addItem, clearItems, loadHistory, refreshStatic, setShowHelp, setDebugMessage, openThemeDialog, openAuthDialog, openEditorDialog, openProviderDialog, openProviderModelDialog, openLoadProfileDialog, openToolsDialog, toggleCorgiMode, setQuittingMessages, openPrivacyNotice, toggleVimEnabled, setIsProcessing, setLlxprtMdFileCount);
395
- const { streamingState, submitQuery, initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, } = useGeminiStream(config.getGeminiClient(), history, addItem, setShowHelp, config, setDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, refreshStatic);
396
- // Input handling
397
- const handleFinalSubmit = useCallback((submittedValue) => {
398
- const trimmedValue = submittedValue.trim();
399
- if (trimmedValue.length > 0) {
400
- submitQuery(trimmedValue);
401
- }
402
- }, [submitQuery]);
419
+ const { handleSlashCommand, slashCommands, pendingHistoryItems: pendingSlashCommandHistoryItems, commandContext, shellConfirmationRequest, confirmationRequest, } = useSlashCommandProcessor(config, settings, addItem, clearItems, loadHistory, refreshStatic, setShowHelp, setDebugMessage, openThemeDialog, openAuthDialog, openEditorDialog, openProviderDialog, openProviderModelDialog, openLoadProfileDialog, openToolsDialog, toggleCorgiMode, setQuittingMessages, openPrivacyNotice, toggleVimEnabled, setIsProcessing, setLlxprtMdFileCount);
403
420
  const buffer = useTextBuffer({
404
421
  initialText: '',
405
422
  viewport: { height: 10, width: inputWidth },
@@ -408,7 +425,37 @@ const App = (props) => {
408
425
  isValidPath,
409
426
  shellModeActive,
410
427
  });
411
- const { handleInput: vimHandleInput } = useVim(buffer, handleFinalSubmit);
428
+ const [userMessages, setUserMessages] = useState([]);
429
+ const handleUserCancel = useCallback(() => {
430
+ const lastUserMessage = userMessages.at(-1);
431
+ if (lastUserMessage) {
432
+ buffer.setText(lastUserMessage);
433
+ }
434
+ }, [buffer, userMessages]);
435
+ const { streamingState, submitQuery, initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, } = useGeminiStream(config.getGeminiClient(), history, addItem, setShowHelp, config, setDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, refreshStatic, handleUserCancel);
436
+ // Input handling
437
+ const handleFinalSubmit = useCallback((submittedValue) => {
438
+ const trimmedValue = submittedValue.trim();
439
+ if (trimmedValue.length > 0) {
440
+ submitQuery(trimmedValue);
441
+ }
442
+ }, [submitQuery]);
443
+ const handleUserInputSubmit = useCallback((submittedValue) => {
444
+ // Clear todos only when user types and submits
445
+ updateTodos([]);
446
+ handleFinalSubmit(submittedValue);
447
+ }, [handleFinalSubmit, updateTodos]);
448
+ const handleIdePromptComplete = useCallback((result) => {
449
+ if (result === 'yes') {
450
+ handleSlashCommand('/ide install');
451
+ settings.setValue(SettingScope.User, 'hasSeenIdeIntegrationNudge', true);
452
+ }
453
+ else if (result === 'dismiss') {
454
+ settings.setValue(SettingScope.User, 'hasSeenIdeIntegrationNudge', true);
455
+ }
456
+ setIdePromptAnswered(true);
457
+ }, [handleSlashCommand, settings]);
458
+ const { handleInput: vimHandleInput } = useVim(buffer, handleUserInputSubmit);
412
459
  const pendingHistoryItems = [...pendingSlashCommandHistoryItems];
413
460
  pendingHistoryItems.push(...pendingGeminiHistoryItems);
414
461
  const { elapsedTime, currentLoadingPhrase } = useLoadingIndicator(streamingState);
@@ -429,20 +476,16 @@ const App = (props) => {
429
476
  }, CTRL_EXIT_PROMPT_DURATION_MS);
430
477
  }
431
478
  }, [handleSlashCommand]);
432
- useInput((input, key) => {
479
+ const handleGlobalKeypress = useCallback((key) => {
433
480
  let enteringConstrainHeightMode = false;
434
481
  if (!constrainHeight) {
435
- // Automatically re-enter constrain height mode if the user types
436
- // anything. When constrainHeight==false, the user will experience
437
- // significant flickering so it is best to disable it immediately when
438
- // the user starts interacting with the app.
439
482
  enteringConstrainHeightMode = true;
440
483
  setConstrainHeight(true);
441
484
  }
442
- if (key.ctrl && input === 'o') {
485
+ if (keyMatchers[Command.SHOW_ERROR_DETAILS](key)) {
443
486
  setShowErrorDetails((prev) => !prev);
444
487
  }
445
- else if (key.ctrl && input === 't') {
488
+ else if (keyMatchers[Command.TOGGLE_TOOL_DESCRIPTIONS](key)) {
446
489
  const newValue = !showToolDescriptions;
447
490
  setShowToolDescriptions(newValue);
448
491
  const mcpServers = config.getMcpServers();
@@ -450,33 +493,55 @@ const App = (props) => {
450
493
  handleSlashCommand(newValue ? '/mcp desc' : '/mcp nodesc');
451
494
  }
452
495
  }
453
- else if (key.ctrl &&
454
- input === 'e' &&
496
+ else if (keyMatchers[Command.TOGGLE_IDE_CONTEXT_DETAIL](key) &&
455
497
  config.getIdeMode() &&
456
498
  ideContextState) {
457
- setShowIDEContextDetail((prev) => !prev);
499
+ // Show IDE status when in IDE mode and context is available.
500
+ handleSlashCommand('/ide status');
458
501
  }
459
- else if (key.ctrl && (input === 'c' || input === 'C')) {
502
+ else if (keyMatchers[Command.QUIT](key)) {
503
+ // When authenticating, let AuthInProgress component handle Ctrl+C.
504
+ if (isAuthenticating) {
505
+ return;
506
+ }
460
507
  handleExit(ctrlCPressedOnce, setCtrlCPressedOnce, ctrlCTimerRef);
461
508
  }
462
- else if (key.ctrl && (input === 'd' || input === 'D')) {
509
+ else if (keyMatchers[Command.EXIT](key)) {
463
510
  if (buffer.text.length > 0) {
464
- // Do nothing if there is text in the input.
465
511
  return;
466
512
  }
467
513
  handleExit(ctrlDPressedOnce, setCtrlDPressedOnce, ctrlDTimerRef);
468
514
  }
469
- else if (key.ctrl && input === 's' && !enteringConstrainHeightMode) {
515
+ else if (keyMatchers[Command.SHOW_MORE_LINES](key) &&
516
+ !enteringConstrainHeightMode) {
470
517
  setConstrainHeight(false);
471
518
  }
472
- });
519
+ }, [
520
+ constrainHeight,
521
+ setConstrainHeight,
522
+ setShowErrorDetails,
523
+ showToolDescriptions,
524
+ setShowToolDescriptions,
525
+ config,
526
+ ideContextState,
527
+ handleExit,
528
+ ctrlCPressedOnce,
529
+ setCtrlCPressedOnce,
530
+ ctrlCTimerRef,
531
+ buffer.text.length,
532
+ ctrlDPressedOnce,
533
+ setCtrlDPressedOnce,
534
+ ctrlDTimerRef,
535
+ handleSlashCommand,
536
+ isAuthenticating,
537
+ ]);
538
+ useKeypress(handleGlobalKeypress, { isActive: true });
473
539
  useEffect(() => {
474
540
  if (config) {
475
541
  setLlxprtMdFileCount(config.getLlxprtMdFileCount());
476
542
  }
477
543
  }, [config, config.getLlxprtMdFileCount]);
478
544
  const logger = useLogger();
479
- const [userMessages, setUserMessages] = useState([]);
480
545
  useEffect(() => {
481
546
  const fetchUserMessages = async () => {
482
547
  const pastMessagesRaw = (await logger?.getPreviousUserMessages()) || []; // Newest first
@@ -513,6 +578,11 @@ const App = (props) => {
513
578
  console.clear();
514
579
  refreshStatic();
515
580
  }, [clearItems, clearConsoleMessagesState, refreshStatic]);
581
+ const handleConfirmationSelect = useCallback((value) => {
582
+ if (confirmationRequest) {
583
+ confirmationRequest.onConfirm(value);
584
+ }
585
+ }, [confirmationRequest]);
516
586
  const mainControlsRef = useRef(null);
517
587
  const pendingHistoryItemRef = useRef(null);
518
588
  useEffect(() => {
@@ -596,16 +666,24 @@ const App = (props) => {
596
666
  // Arbitrary threshold to ensure that items in the static area are large
597
667
  // enough but not too large to make the terminal hard to use.
598
668
  const staticAreaMaxItemHeight = Math.max(terminalHeight * 4, 100);
669
+ // Detect PowerShell for file reference syntax tip
670
+ const isPowerShell = process.env.PSModulePath !== undefined ||
671
+ process.env.PSVERSION !== undefined;
599
672
  const placeholder = vimModeEnabled
600
673
  ? " Press 'i' for INSERT mode and 'Esc' for NORMAL mode."
601
- : ' Type your message or @path/to/file';
674
+ : isPowerShell
675
+ ? ' Type your message, @path/to/file or +path/to/file'
676
+ : ' Type your message or @path/to/file';
602
677
  return (_jsx(StreamingContext.Provider, { value: streamingState, children: _jsxs(Box, { flexDirection: "column", width: "90%", children: [_jsx(Static, { items: [
603
678
  _jsxs(Box, { flexDirection: "column", children: [!settings.merged.hideBanner && (_jsx(Header, { terminalWidth: terminalWidth, version: version, nightly: nightly })), !settings.merged.hideTips && _jsx(Tips, { config: config })] }, "header"),
604
679
  ...history.map((h) => (_jsx(HistoryItemDisplay, { terminalWidth: mainAreaWidth, availableTerminalHeight: staticAreaMaxItemHeight, item: h, isPending: false, config: config }, h.id))),
605
680
  ], children: (item) => item }, staticKey), _jsx(OverflowProvider, { children: _jsxs(Box, { ref: pendingHistoryItemRef, flexDirection: "column", children: [pendingHistoryItems.map((item, i) => (_jsx(HistoryItemDisplay, { availableTerminalHeight: constrainHeight ? availableTerminalHeight : undefined, terminalWidth: mainAreaWidth,
606
681
  // TODO(taehykim): It seems like references to ids aren't necessary in
607
682
  // HistoryItemDisplay. Refactor later. Use a fake id for now.
608
- item: { ...item, id: 0 }, isPending: true, config: config, isFocused: !isEditorDialogOpen }, i))), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) }), showHelp && _jsx(Help, { commands: slashCommands }), _jsxs(Box, { flexDirection: "column", ref: mainControlsRef, children: [updateInfo && _jsx(UpdateNotification, { message: updateInfo.message }), startupWarnings.length > 0 && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentYellow, paddingX: 1, marginY: 1, flexDirection: "column", children: startupWarnings.map((warning, index) => (_jsx(Text, { color: Colors.AccentYellow, children: warning }, index))) })), shellConfirmationRequest ? (_jsx(ShellConfirmationDialog, { request: shellConfirmationRequest })) : isThemeDialogOpen ? (_jsxs(Box, { flexDirection: "column", children: [_themeError && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: Colors.AccentRed, children: _themeError }) })), _jsx(ThemeDialog, { onSelect: handleThemeSelect, onHighlight: handleThemeHighlight, settings: settings, availableTerminalHeight: constrainHeight
683
+ item: { ...item, id: 0 }, isPending: true, config: config, isFocused: !isEditorDialogOpen }, i))), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) }), showHelp && _jsx(Help, { commands: slashCommands }), _jsxs(Box, { flexDirection: "column", ref: mainControlsRef, children: [updateInfo && _jsx(UpdateNotification, { message: updateInfo.message }), startupWarnings.length > 0 && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentYellow, paddingX: 1, marginY: 1, flexDirection: "column", children: startupWarnings.map((warning, index) => (_jsx(Text, { color: Colors.AccentYellow, children: warning }, index))) })), _jsx(TodoPanel, { width: inputWidth }), shouldShowIdePrompt ? (_jsx(IdeIntegrationNudge, { question: "Do you want to connect your VS Code editor to LLxprt Code?", description: "If you select Yes, we'll install an extension that allows the CLI to access your open files and display diffs directly in VS Code.", onComplete: handleIdePromptComplete })) : isFolderTrustDialogOpen ? (_jsx(FolderTrustDialog, { onSelect: handleFolderTrustSelect })) : shellConfirmationRequest ? (_jsx(ShellConfirmationDialog, { request: shellConfirmationRequest })) : confirmationRequest ? (_jsxs(Box, { flexDirection: "column", children: [confirmationRequest.prompt, _jsx(Box, { paddingY: 1, children: _jsx(RadioButtonSelect, { items: [
684
+ { label: 'Yes', value: true },
685
+ { label: 'No', value: false },
686
+ ], onSelect: handleConfirmationSelect }) })] })) : isThemeDialogOpen ? (_jsxs(Box, { flexDirection: "column", children: [_themeError && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: Colors.AccentRed, children: _themeError }) })), _jsx(ThemeDialog, { onSelect: handleThemeSelect, onHighlight: handleThemeHighlight, settings: settings, availableTerminalHeight: constrainHeight
609
687
  ? terminalHeight - staticExtraHeight
610
688
  : undefined, terminalWidth: mainAreaWidth })] })) : isAuthenticating ? (_jsxs(_Fragment, { children: [_jsx(AuthInProgress, { onTimeout: handleAuthTimeout }), showErrorDetails && (_jsx(OverflowProvider, { children: _jsxs(Box, { flexDirection: "column", children: [_jsx(DetailedMessagesDisplay, { messages: filteredConsoleMessages, maxHeight: constrainHeight ? debugConsoleMaxHeight : undefined, width: inputWidth }), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) }))] })) : isAuthDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(AuthDialog, { onSelect: handleAuthSelect, settings: settings, initialErrorMessage: authError }) })) : isEditorDialogOpen ? (_jsxs(Box, { flexDirection: "column", children: [_editorError && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: Colors.AccentRed, children: _editorError }) })), _jsx(EditorSettingsDialog, { onSelect: handleEditorSelect, settings: settings, onExit: exitEditorDialog })] })) : isProviderDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(ProviderDialog, { providers: providerManager.listProviders(), currentProvider: providerManager.getActiveProviderName(), onSelect: handleProviderSelect, onClose: exitProviderDialog }) })) : isProviderModelDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(ProviderModelDialog, { models: providerModels, currentModel: currentModel, onSelect: handleProviderModelChange, onClose: exitProviderModelDialog }) })) : isLoadProfileDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(LoadProfileDialog, { profiles: profiles, onSelect: handleProfileSelect, onClose: exitLoadProfileDialog }) })) : isToolsDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(ToolsDialog, { tools: toolsDialogTools, action: toolsDialogAction, disabledTools: toolsDialogDisabledTools, onSelect: handleToolsSelect, onClose: exitToolsDialog }) })) : showPrivacyNotice ? (_jsx(PrivacyNotice, { onExit: handlePrivacyNoticeExit, config: config })) : (_jsxs(_Fragment, { children: [_jsx(LoadingIndicator, { thought: streamingState === StreamingState.WaitingForConfirmation ||
611
689
  config.getAccessibility()?.disableLoadingPhrases
@@ -613,8 +691,6 @@ const App = (props) => {
613
691
  : thought, currentLoadingPhrase: config.getAccessibility()?.disableLoadingPhrases
614
692
  ? undefined
615
693
  : currentLoadingPhrase, elapsedTime: elapsedTime }), _jsxs(Box, { marginTop: 1, display: "flex", justifyContent: "space-between", width: "100%", children: [_jsxs(Box, { children: [process.env.GEMINI_SYSTEM_MD && (_jsx(Text, { color: Colors.AccentRed, children: "|\u2310\u25A0_\u25A0| " })), ctrlCPressedOnce ? (_jsx(Text, { color: Colors.AccentYellow, children: "Press Ctrl+C again to exit." })) : ctrlDPressedOnce ? (_jsx(Text, { color: Colors.AccentYellow, children: "Press Ctrl+D again to exit." })) : (_jsx(ContextSummaryDisplay, { ideContext: ideContextState, llxprtMdFileCount: llxprtMdFileCount, contextFileNames: contextFileNames, mcpServers: config.getMcpServers(), blockedMcpServers: config.getBlockedMcpServers(), showToolDescriptions: showToolDescriptions }))] }), _jsxs(Box, { children: [showAutoAcceptIndicator !== ApprovalMode.DEFAULT &&
616
- !shellModeActive && (_jsx(AutoAcceptIndicator, { approvalMode: showAutoAcceptIndicator })), shellModeActive && _jsx(ShellModeIndicator, {})] })] }), showIDEContextDetail && (_jsx(IDEContextDetailDisplay, { ideContext: ideContextState, detectedIdeDisplay: config
617
- .getIdeClient()
618
- ?.getDetectedIdeDisplayName() })), showErrorDetails && (_jsx(OverflowProvider, { children: _jsxs(Box, { flexDirection: "column", children: [_jsx(DetailedMessagesDisplay, { messages: filteredConsoleMessages, maxHeight: constrainHeight ? debugConsoleMaxHeight : undefined, width: inputWidth }), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) })), isInputActive && (_jsx(InputPrompt, { buffer: buffer, inputWidth: inputWidth, suggestionsWidth: suggestionsWidth, onSubmit: handleFinalSubmit, userMessages: userMessages, onClearScreen: handleClearScreen, config: config, slashCommands: slashCommands, commandContext: commandContext, shellModeActive: shellModeActive, setShellModeActive: setShellModeActive, focus: isFocused, vimHandleInput: vimHandleInput, placeholder: placeholder }))] })), initError && streamingState !== StreamingState.Responding && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentRed, paddingX: 1, marginBottom: 1, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text ? (_jsx(Text, { color: Colors.AccentRed, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { color: Colors.AccentRed, children: ["Initialization Error: ", initError] }), _jsxs(Text, { color: Colors.AccentRed, children: [' ', "Please check API key and configuration."] })] })) })), _jsx(Footer, { model: currentModel, targetDir: config.getTargetDir(), debugMode: config.getDebugMode(), branchName: branchName, debugMessage: debugMessage, errorCount: errorCount, showErrorDetails: showErrorDetails, showMemoryUsage: config.getDebugMode() || config.getShowMemoryUsage(), promptTokenCount: sessionStats.lastPromptTokenCount, nightly: nightly, vimMode: vimModeEnabled ? vimMode : undefined, contextLimit: config.getEphemeralSetting('context-limit') })] })] }) }));
694
+ !shellModeActive && (_jsx(AutoAcceptIndicator, { approvalMode: showAutoAcceptIndicator })), shellModeActive && _jsx(ShellModeIndicator, {})] })] }), showErrorDetails && (_jsx(OverflowProvider, { children: _jsxs(Box, { flexDirection: "column", children: [_jsx(DetailedMessagesDisplay, { messages: filteredConsoleMessages, maxHeight: constrainHeight ? debugConsoleMaxHeight : undefined, width: inputWidth }), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) })), isInputActive && (_jsx(_Fragment, { children: _jsx(InputPrompt, { buffer: buffer, inputWidth: inputWidth, suggestionsWidth: suggestionsWidth, onSubmit: handleUserInputSubmit, userMessages: userMessages, onClearScreen: handleClearScreen, config: config, slashCommands: slashCommands, commandContext: commandContext, shellModeActive: shellModeActive, setShellModeActive: setShellModeActive, focus: isFocused, vimHandleInput: vimHandleInput, placeholder: placeholder }) }))] })), initError && streamingState !== StreamingState.Responding && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentRed, paddingX: 1, marginBottom: 1, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text ? (_jsx(Text, { color: Colors.AccentRed, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { color: Colors.AccentRed, children: ["Initialization Error: ", initError] }), _jsxs(Text, { color: Colors.AccentRed, children: [' ', "Please check API key and configuration."] })] })) })), _jsx(Footer, { model: currentModel, targetDir: config.getTargetDir(), debugMode: config.getDebugMode(), branchName: branchName, debugMessage: debugMessage, errorCount: errorCount, showErrorDetails: showErrorDetails, promptTokenCount: sessionStats.lastPromptTokenCount, nightly: nightly, vimMode: vimModeEnabled ? vimMode : undefined, contextLimit: config.getEphemeralSetting('context-limit') })] })] }) }));
619
695
  };
620
696
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/ui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/ui/App.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * Copyright 2025 Google LLC
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */
7
+ export type IdeIntegrationNudgeResult = 'yes' | 'no' | 'dismiss';
8
+ interface IdeIntegrationNudgeProps {
9
+ question: string;
10
+ description?: string;
11
+ onComplete: (result: IdeIntegrationNudgeResult) => void;
12
+ }
13
+ export declare function IdeIntegrationNudge({ question, description, onComplete, }: IdeIntegrationNudgeProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * @license
4
+ * Copyright 2025 Vybestack LLC
5
+ * Copyright 2025 Google LLC
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ import { Box, Text, useInput } from 'ink';
9
+ import { RadioButtonSelect, } from './components/shared/RadioButtonSelect.js';
10
+ export function IdeIntegrationNudge({ question, description, onComplete, }) {
11
+ useInput((_input, key) => {
12
+ if (key.escape) {
13
+ onComplete('no');
14
+ }
15
+ });
16
+ const OPTIONS = [
17
+ {
18
+ label: 'Yes',
19
+ value: 'yes',
20
+ },
21
+ {
22
+ label: 'No (esc)',
23
+ value: 'no',
24
+ },
25
+ {
26
+ label: "No, don't ask again",
27
+ value: 'dismiss',
28
+ },
29
+ ];
30
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "yellow", padding: 1, width: "100%", marginLeft: 1, children: [_jsxs(Box, { marginBottom: 1, flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: "yellow", children: '> ' }), question] }), description && _jsx(Text, { dimColor: true, children: description })] }), _jsx(RadioButtonSelect, { items: OPTIONS, onSelect: onComplete, isFocused: true })] }));
31
+ }
32
+ //# sourceMappingURL=IdeIntegrationNudge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdeIntegrationNudge.js","sourceRoot":"","sources":["../../../src/ui/IdeIntegrationNudge.tsx"],"names":[],"mappings":";AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EACL,iBAAiB,GAElB,MAAM,0CAA0C,CAAC;AAUlD,MAAM,UAAU,mBAAmB,CAAC,EAClC,QAAQ,EACR,WAAW,EACX,UAAU,GACe;IACzB,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACvB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAsD;QACjE;YACE,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,KAAK;SACb;QACD;YACE,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,IAAI;SACZ;QACD;YACE,KAAK,EAAE,qBAAqB;YAC5B,KAAK,EAAE,SAAS;SACjB;KACF,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,QAAQ,EACpB,OAAO,EAAE,CAAC,EACV,KAAK,EAAC,MAAM,EACZ,UAAU,EAAE,CAAC,aAEb,MAAC,GAAG,IAAC,YAAY,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aAC1C,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,IAAI,GAAQ,EACjC,QAAQ,IACJ,EACN,WAAW,IAAI,KAAC,IAAI,IAAC,QAAQ,kBAAE,WAAW,GAAQ,IAC/C,EACN,KAAC,iBAAiB,IAChB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,IAAI,GACf,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -4,7 +4,12 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { ColorsTheme } from './themes/theme.js';
7
+ import { SemanticColors as SemanticColorsInterface } from './themes/semantic-tokens.js';
7
8
  export declare const Colors: ColorsTheme;
9
+ /**
10
+ * Semantic color tokens that provide meaningful color abstractions
11
+ */
12
+ export declare const SemanticColors: SemanticColorsInterface;
8
13
  /**
9
14
  * ANSI-styled text using theme colors
10
15
  * For use in console output and string returns (not React components)
@@ -69,6 +69,57 @@ export const Colors = {
69
69
  return themeManager.getActiveTheme().colors.GradientColors;
70
70
  },
71
71
  };
72
+ /**
73
+ * Semantic color tokens that provide meaningful color abstractions
74
+ */
75
+ export const SemanticColors = {
76
+ get text() {
77
+ return {
78
+ get primary() {
79
+ return themeManager.getSemanticColors().text.primary;
80
+ },
81
+ get secondary() {
82
+ return themeManager.getSemanticColors().text.secondary;
83
+ },
84
+ get accent() {
85
+ return themeManager.getSemanticColors().text.accent;
86
+ },
87
+ };
88
+ },
89
+ get status() {
90
+ return {
91
+ get success() {
92
+ return themeManager.getSemanticColors().status.success;
93
+ },
94
+ get warning() {
95
+ return themeManager.getSemanticColors().status.warning;
96
+ },
97
+ get error() {
98
+ return themeManager.getSemanticColors().status.error;
99
+ },
100
+ };
101
+ },
102
+ get background() {
103
+ return {
104
+ get primary() {
105
+ return themeManager.getSemanticColors().background.primary;
106
+ },
107
+ get secondary() {
108
+ return themeManager.getSemanticColors().background.secondary;
109
+ },
110
+ };
111
+ },
112
+ get border() {
113
+ return {
114
+ get default() {
115
+ return themeManager.getSemanticColors().border.default;
116
+ },
117
+ get focused() {
118
+ return themeManager.getSemanticColors().border.focused;
119
+ },
120
+ };
121
+ },
122
+ };
72
123
  /**
73
124
  * Helper function to apply theme color to text using chalk
74
125
  * Handles both hex colors and named colors
@@ -1 +1 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../src/ui/colors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../../src/ui/colors.ts"],"names":[],"mappings":"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"}