@vybestack/llxprt-code 0.1.18-nightly.250808.f9b79d74 → 0.1.18-nightly.250812.12fa8ad2

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 (218) hide show
  1. package/README.md +49 -2
  2. package/dist/package.json +5 -3
  3. package/dist/src/auth/anthropic-oauth-provider.d.ts +33 -0
  4. package/dist/src/auth/anthropic-oauth-provider.js +129 -0
  5. package/dist/src/auth/anthropic-oauth-provider.js.map +1 -0
  6. package/dist/src/auth/gemini-oauth-provider.d.ts +15 -0
  7. package/dist/src/auth/gemini-oauth-provider.js +33 -0
  8. package/dist/src/auth/gemini-oauth-provider.js.map +1 -0
  9. package/dist/src/auth/oauth-manager.d.ts +109 -0
  10. package/dist/src/auth/oauth-manager.js +334 -0
  11. package/dist/src/auth/oauth-manager.js.map +1 -0
  12. package/dist/src/auth/oauth-manager.spec.d.ts +6 -0
  13. package/dist/src/auth/oauth-manager.spec.js +523 -0
  14. package/dist/src/auth/oauth-manager.spec.js.map +1 -0
  15. package/dist/src/auth/qwen-oauth-provider.d.ts +14 -0
  16. package/dist/src/auth/qwen-oauth-provider.js +75 -0
  17. package/dist/src/auth/qwen-oauth-provider.js.map +1 -0
  18. package/dist/src/auth/types.d.ts +7 -0
  19. package/dist/src/auth/types.js +7 -0
  20. package/dist/src/auth/types.js.map +1 -0
  21. package/dist/src/config/auth.js +11 -0
  22. package/dist/src/config/auth.js.map +1 -1
  23. package/dist/src/config/config.js +93 -43
  24. package/dist/src/config/config.js.map +1 -1
  25. package/dist/src/config/keyBindings.d.ts +66 -0
  26. package/dist/src/config/keyBindings.js +136 -0
  27. package/dist/src/config/keyBindings.js.map +1 -0
  28. package/dist/src/config/settings.d.ts +3 -59
  29. package/dist/src/config/settings.js +17 -1
  30. package/dist/src/config/settings.js.map +1 -1
  31. package/dist/src/config/settingsSchema.d.ts +587 -0
  32. package/dist/src/config/settingsSchema.js +565 -0
  33. package/dist/src/config/settingsSchema.js.map +1 -0
  34. package/dist/src/gemini.js +12 -109
  35. package/dist/src/gemini.js.map +1 -1
  36. package/dist/src/generated/git-commit.d.ts +1 -1
  37. package/dist/src/generated/git-commit.js +1 -1
  38. package/dist/src/nonInteractiveCli.js +0 -1
  39. package/dist/src/nonInteractiveCli.js.map +1 -1
  40. package/dist/src/providers/logging/git-stats-service-impl.d.ts +19 -0
  41. package/dist/src/providers/logging/git-stats-service-impl.js +25 -0
  42. package/dist/src/providers/logging/git-stats-service-impl.js.map +1 -0
  43. package/dist/src/providers/logging/git-stats.d.ts +43 -0
  44. package/dist/src/providers/logging/git-stats.js +137 -0
  45. package/dist/src/providers/logging/git-stats.js.map +1 -0
  46. package/dist/src/providers/providerManagerInstance.d.ts +2 -0
  47. package/dist/src/providers/providerManagerInstance.js +49 -5
  48. package/dist/src/providers/providerManagerInstance.js.map +1 -1
  49. package/dist/src/services/BuiltinCommandLoader.js +4 -0
  50. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  51. package/dist/src/services/todo-continuation/todoContinuationService.d.ts +172 -0
  52. package/dist/src/services/todo-continuation/todoContinuationService.js +387 -0
  53. package/dist/src/services/todo-continuation/todoContinuationService.js.map +1 -0
  54. package/dist/src/services/todo-continuation/todoContinuationService.spec.d.ts +6 -0
  55. package/dist/src/services/todo-continuation/todoContinuationService.spec.js +385 -0
  56. package/dist/src/services/todo-continuation/todoContinuationService.spec.js.map +1 -0
  57. package/dist/src/ui/App.js +156 -35
  58. package/dist/src/ui/App.js.map +1 -1
  59. package/dist/src/ui/colors.d.ts +5 -0
  60. package/dist/src/ui/colors.js +51 -0
  61. package/dist/src/ui/colors.js.map +1 -1
  62. package/dist/src/ui/commands/authCommand.d.ts +11 -1
  63. package/dist/src/ui/commands/authCommand.js +145 -48
  64. package/dist/src/ui/commands/authCommand.js.map +1 -1
  65. package/dist/src/ui/commands/chatCommand.js +16 -0
  66. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  67. package/dist/src/ui/commands/diagnosticsCommand.js +94 -10
  68. package/dist/src/ui/commands/diagnosticsCommand.js.map +1 -1
  69. package/dist/src/ui/commands/ideCommand.js +67 -31
  70. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  71. package/dist/src/ui/commands/keyCommand.js +32 -2
  72. package/dist/src/ui/commands/keyCommand.js.map +1 -1
  73. package/dist/src/ui/commands/keyfileCommand.js +15 -12
  74. package/dist/src/ui/commands/keyfileCommand.js.map +1 -1
  75. package/dist/src/ui/commands/loggingCommand.d.ts +15 -0
  76. package/dist/src/ui/commands/loggingCommand.js +421 -0
  77. package/dist/src/ui/commands/loggingCommand.js.map +1 -0
  78. package/dist/src/ui/commands/modelCommand.js +21 -3
  79. package/dist/src/ui/commands/modelCommand.js.map +1 -1
  80. package/dist/src/ui/commands/privacyCommand.d.ts +3 -0
  81. package/dist/src/ui/commands/privacyCommand.js +6 -3
  82. package/dist/src/ui/commands/privacyCommand.js.map +1 -1
  83. package/dist/src/ui/commands/providerCommand.js +52 -14
  84. package/dist/src/ui/commands/providerCommand.js.map +1 -1
  85. package/dist/src/ui/commands/setCommand.js +17 -1
  86. package/dist/src/ui/commands/setCommand.js.map +1 -1
  87. package/dist/src/ui/commands/settingsCommand.d.ts +7 -0
  88. package/dist/src/ui/commands/settingsCommand.js +16 -0
  89. package/dist/src/ui/commands/settingsCommand.js.map +1 -0
  90. package/dist/src/ui/commands/setupGithubCommand.js +21 -2
  91. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  92. package/dist/src/ui/commands/toolformatCommand.js +79 -23
  93. package/dist/src/ui/commands/toolformatCommand.js.map +1 -1
  94. package/dist/src/ui/commands/types.d.ts +14 -2
  95. package/dist/src/ui/commands/types.js.map +1 -1
  96. package/dist/src/ui/components/AuthDialog.js +15 -54
  97. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  98. package/dist/src/ui/components/AuthInProgress.js +3 -3
  99. package/dist/src/ui/components/AuthInProgress.js.map +1 -1
  100. package/dist/src/ui/components/ContextUsageDisplay.d.ts +10 -0
  101. package/dist/src/ui/components/ContextUsageDisplay.js +27 -0
  102. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -0
  103. package/dist/src/ui/components/FolderTrustDialog.d.ts +16 -0
  104. package/dist/src/ui/components/FolderTrustDialog.js +38 -0
  105. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -0
  106. package/dist/src/ui/components/Footer.js +132 -15
  107. package/dist/src/ui/components/Footer.js.map +1 -1
  108. package/dist/src/ui/components/InputPrompt.d.ts +1 -0
  109. package/dist/src/ui/components/InputPrompt.js +87 -31
  110. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  111. package/dist/src/ui/components/LoggingDialog.d.ts +37 -0
  112. package/dist/src/ui/components/LoggingDialog.js +155 -0
  113. package/dist/src/ui/components/LoggingDialog.js.map +1 -0
  114. package/dist/src/ui/components/MemoryUsageDisplay.js +6 -4
  115. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
  116. package/dist/src/ui/components/OAuthCodeDialog.d.ts +13 -0
  117. package/dist/src/ui/components/OAuthCodeDialog.js +54 -0
  118. package/dist/src/ui/components/OAuthCodeDialog.js.map +1 -0
  119. package/dist/src/ui/components/ProviderDialog.js +100 -26
  120. package/dist/src/ui/components/ProviderDialog.js.map +1 -1
  121. package/dist/src/ui/components/ProviderModelDialog.js +99 -27
  122. package/dist/src/ui/components/ProviderModelDialog.js.map +1 -1
  123. package/dist/src/ui/components/SettingsDialog.d.ts +14 -0
  124. package/dist/src/ui/components/SettingsDialog.js +247 -0
  125. package/dist/src/ui/components/SettingsDialog.js.map +1 -0
  126. package/dist/src/ui/components/ThemeDialog.js +4 -15
  127. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  128. package/dist/src/ui/components/TodoPanel.js +93 -18
  129. package/dist/src/ui/components/TodoPanel.js.map +1 -1
  130. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +85 -7
  131. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  132. package/dist/src/ui/contexts/SettingsContext.d.ts +9 -0
  133. package/dist/src/ui/contexts/SettingsContext.js +15 -0
  134. package/dist/src/ui/contexts/SettingsContext.js.map +1 -0
  135. package/dist/src/ui/hooks/atCommandProcessor.js +21 -0
  136. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  137. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +6 -2
  138. package/dist/src/ui/hooks/slashCommandProcessor.js +142 -113
  139. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  140. package/dist/src/ui/hooks/useAtCompletion.js +1 -1
  141. package/dist/src/ui/hooks/useAuthCommand.js +48 -2
  142. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
  143. package/dist/src/ui/hooks/useConsoleMessages.js +7 -0
  144. package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -1
  145. package/dist/src/ui/hooks/useFolderTrust.d.ts +11 -0
  146. package/dist/src/ui/hooks/useFolderTrust.js +22 -0
  147. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -0
  148. package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
  149. package/dist/src/ui/hooks/useGeminiStream.js +35 -10
  150. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  151. package/dist/src/ui/hooks/useResponsive.d.ts +14 -0
  152. package/dist/src/ui/hooks/useResponsive.js +19 -0
  153. package/dist/src/ui/hooks/useResponsive.js.map +1 -0
  154. package/dist/src/ui/hooks/useSettingsCommand.d.ts +10 -0
  155. package/dist/src/ui/hooks/useSettingsCommand.js +21 -0
  156. package/dist/src/ui/hooks/useSettingsCommand.js.map +1 -0
  157. package/dist/src/ui/hooks/useTodoContinuation.d.ts +31 -0
  158. package/dist/src/ui/hooks/useTodoContinuation.js +148 -0
  159. package/dist/src/ui/hooks/useTodoContinuation.js.map +1 -0
  160. package/dist/src/ui/hooks/useTodoContinuation.spec.d.ts +6 -0
  161. package/dist/src/ui/hooks/useTodoContinuation.spec.js +378 -0
  162. package/dist/src/ui/hooks/useTodoContinuation.spec.js.map +1 -0
  163. package/dist/src/ui/keyMatchers.d.ts +26 -0
  164. package/dist/src/ui/keyMatchers.js +68 -0
  165. package/dist/src/ui/keyMatchers.js.map +1 -0
  166. package/dist/src/ui/privacy/PrivacyNotice.js +10 -4
  167. package/dist/src/ui/privacy/PrivacyNotice.js.map +1 -1
  168. package/dist/src/ui/reducers/appReducer.d.ts +3 -2
  169. package/dist/src/ui/reducers/appReducer.js +1 -0
  170. package/dist/src/ui/reducers/appReducer.js.map +1 -1
  171. package/dist/src/ui/themes/semantic-resolver.d.ts +12 -0
  172. package/dist/src/ui/themes/semantic-resolver.js +32 -0
  173. package/dist/src/ui/themes/semantic-resolver.js.map +1 -0
  174. package/dist/src/ui/themes/semantic-tokens.d.ts +52 -0
  175. package/dist/src/ui/themes/semantic-tokens.js +7 -0
  176. package/dist/src/ui/themes/semantic-tokens.js.map +1 -0
  177. package/dist/src/ui/themes/theme-compat.d.ts +34 -0
  178. package/dist/src/ui/themes/theme-compat.js +65 -0
  179. package/dist/src/ui/themes/theme-compat.js.map +1 -0
  180. package/dist/src/ui/themes/theme-manager.d.ts +8 -0
  181. package/dist/src/ui/themes/theme-manager.js +18 -0
  182. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  183. package/dist/src/ui/utils/CodeColorizer.d.ts +2 -1
  184. package/dist/src/ui/utils/CodeColorizer.js +4 -3
  185. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  186. package/dist/src/ui/utils/MarkdownDisplay.js +4 -2
  187. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  188. package/dist/src/ui/utils/commandUtils.d.ts +1 -0
  189. package/dist/src/ui/utils/commandUtils.js +22 -1
  190. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  191. package/dist/src/ui/utils/responsive.d.ts +16 -0
  192. package/dist/src/ui/utils/responsive.js +111 -0
  193. package/dist/src/ui/utils/responsive.js.map +1 -0
  194. package/dist/src/utils/cleanup.d.ts +2 -2
  195. package/dist/src/utils/cleanup.js +2 -2
  196. package/dist/src/utils/cleanup.js.map +1 -1
  197. package/dist/src/utils/dialogScopeUtils.d.ts +31 -0
  198. package/dist/src/utils/dialogScopeUtils.js +48 -0
  199. package/dist/src/utils/dialogScopeUtils.js.map +1 -0
  200. package/dist/src/utils/gitUtils.d.ts +9 -0
  201. package/dist/src/utils/gitUtils.js +17 -0
  202. package/dist/src/utils/gitUtils.js.map +1 -1
  203. package/dist/src/utils/privacy/ConversationDataRedactor.d.ts +75 -0
  204. package/dist/src/utils/privacy/ConversationDataRedactor.js +412 -0
  205. package/dist/src/utils/privacy/ConversationDataRedactor.js.map +1 -0
  206. package/dist/src/utils/privacy/PrivacyManager.d.ts +58 -0
  207. package/dist/src/utils/privacy/PrivacyManager.js +133 -0
  208. package/dist/src/utils/privacy/PrivacyManager.js.map +1 -0
  209. package/dist/src/utils/sandbox.js +10 -0
  210. package/dist/src/utils/sandbox.js.map +1 -1
  211. package/dist/src/utils/settingsUtils.d.ts +126 -0
  212. package/dist/src/utils/settingsUtils.js +327 -0
  213. package/dist/src/utils/settingsUtils.js.map +1 -0
  214. package/dist/tsconfig.tsbuildinfo +1 -1
  215. package/package.json +5 -3
  216. package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +0 -12
  217. package/dist/src/ui/components/IDEContextDetailDisplay.js +0 -17
  218. package/dist/src/ui/components/IDEContextDetailDisplay.js.map +0 -1
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Vybestack LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import React from 'react';
7
+ interface LogEntry {
8
+ timestamp: string;
9
+ type: 'request' | 'response' | 'tool_call';
10
+ provider: string;
11
+ model?: string;
12
+ conversationId?: string;
13
+ messages?: Array<{
14
+ role: string;
15
+ content: string;
16
+ }>;
17
+ response?: string;
18
+ tokens?: {
19
+ input?: number;
20
+ output?: number;
21
+ };
22
+ error?: string;
23
+ tool?: string;
24
+ duration?: number;
25
+ success?: boolean;
26
+ gitStats?: {
27
+ linesAdded: number;
28
+ linesRemoved: number;
29
+ filesChanged: number;
30
+ };
31
+ }
32
+ interface LoggingDialogProps {
33
+ entries: LogEntry[];
34
+ onClose: () => void;
35
+ }
36
+ export declare const LoggingDialog: React.FC<LoggingDialogProps>;
37
+ export {};
@@ -0,0 +1,155 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * @license
4
+ * Copyright 2025 Vybestack LLC
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */
7
+ import { useState, useMemo, useEffect } from 'react';
8
+ import { Box, Text, useInput } from 'ink';
9
+ import { SemanticColors } from '../colors.js';
10
+ import { useResponsive } from '../hooks/useResponsive.js';
11
+ import { useTerminalSize } from '../hooks/useTerminalSize.js';
12
+ const formatTimestamp = (timestamp, isNarrow) => {
13
+ const date = new Date(timestamp);
14
+ if (isNarrow) {
15
+ // Short format for narrow screens: HH:MM
16
+ return date.toLocaleTimeString('en-US', {
17
+ hour: '2-digit',
18
+ minute: '2-digit',
19
+ hour12: false,
20
+ });
21
+ }
22
+ else {
23
+ // Full format for wider screens
24
+ return date.toLocaleString('en-US', {
25
+ month: 'short',
26
+ day: '2-digit',
27
+ hour: '2-digit',
28
+ minute: '2-digit',
29
+ second: '2-digit',
30
+ hour12: false,
31
+ });
32
+ }
33
+ };
34
+ const formatContent = (content, maxLength) => {
35
+ // Remove excess whitespace and newlines
36
+ const cleaned = content.replace(/\s+/g, ' ').trim();
37
+ if (cleaned.length <= maxLength) {
38
+ return cleaned;
39
+ }
40
+ return cleaned.substring(0, maxLength - 3) + '...';
41
+ };
42
+ const formatTokenCount = (tokens) => {
43
+ if (!tokens)
44
+ return '';
45
+ const parts = [];
46
+ if (tokens.input)
47
+ parts.push(`in:${tokens.input}`);
48
+ if (tokens.output)
49
+ parts.push(`out:${tokens.output}`);
50
+ return parts.length > 0 ? `[${parts.join(' ')}]` : '';
51
+ };
52
+ export const LoggingDialog = ({ entries, onClose, }) => {
53
+ const { isNarrow, width } = useResponsive();
54
+ const { rows: height } = useTerminalSize();
55
+ const [selectedIndex, setSelectedIndex] = useState(0);
56
+ const [scrollOffset, setScrollOffset] = useState(0);
57
+ // Calculate dialog dimensions
58
+ const dialogWidth = isNarrow ? width - 4 : Math.min(width - 8, 120);
59
+ const dialogHeight = Math.min(height - 6, 30);
60
+ const contentHeight = dialogHeight - 6; // Account for header, footer, borders
61
+ // Reverse entries to show newest first
62
+ const reversedEntries = useMemo(() => [...entries].reverse(), [entries]);
63
+ // Calculate visible range based on scroll
64
+ const visibleEntries = useMemo(() => {
65
+ const start = scrollOffset;
66
+ const end = Math.min(start + contentHeight, reversedEntries.length);
67
+ return reversedEntries.slice(start, end);
68
+ }, [reversedEntries, scrollOffset, contentHeight]);
69
+ // Adjust scroll when selection moves out of view
70
+ useEffect(() => {
71
+ const relativeIndex = selectedIndex - scrollOffset;
72
+ if (relativeIndex < 0) {
73
+ setScrollOffset(selectedIndex);
74
+ }
75
+ else if (relativeIndex >= contentHeight) {
76
+ setScrollOffset(Math.max(0, selectedIndex - contentHeight + 1));
77
+ }
78
+ }, [selectedIndex, scrollOffset, contentHeight]);
79
+ useInput((input, key) => {
80
+ if (key.escape || input === 'q') {
81
+ return onClose();
82
+ }
83
+ if (key.upArrow || input === 'k') {
84
+ setSelectedIndex((prev) => Math.max(0, prev - 1));
85
+ }
86
+ if (key.downArrow || input === 'j') {
87
+ setSelectedIndex((prev) => Math.min(reversedEntries.length - 1, prev + 1));
88
+ }
89
+ if (key.pageUp) {
90
+ setSelectedIndex((prev) => Math.max(0, prev - Math.floor(contentHeight / 2)));
91
+ }
92
+ if (key.pageDown) {
93
+ setSelectedIndex((prev) => Math.min(reversedEntries.length - 1, prev + Math.floor(contentHeight / 2)));
94
+ }
95
+ if (input === 'g') {
96
+ setSelectedIndex(0);
97
+ }
98
+ if (input === 'G') {
99
+ setSelectedIndex(reversedEntries.length - 1);
100
+ }
101
+ });
102
+ const renderEntry = (entry, index, isSelected) => {
103
+ const globalIndex = scrollOffset + index;
104
+ const timestamp = formatTimestamp(entry.timestamp, isNarrow);
105
+ const typeIcon = entry.type === 'request' ? '→' : entry.type === 'tool_call' ? '🔧' : '←';
106
+ const typeColor = entry.type === 'request'
107
+ ? SemanticColors.text.accent
108
+ : entry.type === 'tool_call'
109
+ ? SemanticColors.status.warning
110
+ : SemanticColors.status.success;
111
+ // Calculate available width for content
112
+ const metadataWidth = timestamp.length + entry.provider.length + 10; // Icons, spacing
113
+ const contentWidth = dialogWidth - metadataWidth - 4; // Padding
114
+ // Format the main content
115
+ let mainContent = '';
116
+ if (entry.type === 'request' && entry.messages) {
117
+ const lastMessage = entry.messages[entry.messages.length - 1];
118
+ if (lastMessage) {
119
+ mainContent = formatContent(lastMessage.content, contentWidth);
120
+ }
121
+ }
122
+ else if (entry.type === 'response' && entry.response) {
123
+ mainContent = formatContent(entry.response, contentWidth);
124
+ }
125
+ else if (entry.type === 'tool_call') {
126
+ // Format tool call content
127
+ let toolContent = `${entry.tool || 'Unknown tool'}`;
128
+ if (entry.duration) {
129
+ toolContent += ` (${entry.duration}ms)`;
130
+ }
131
+ if (entry.success === false) {
132
+ toolContent += ' FAILED';
133
+ }
134
+ // Add git stats if present
135
+ if (entry.gitStats) {
136
+ const { linesAdded, linesRemoved, filesChanged } = entry.gitStats;
137
+ toolContent += ` [+${linesAdded} -${linesRemoved} in ${filesChanged} files]`;
138
+ }
139
+ mainContent = formatContent(toolContent, contentWidth);
140
+ }
141
+ else if (entry.error) {
142
+ mainContent = `Error: ${entry.error}`;
143
+ }
144
+ const tokens = formatTokenCount(entry.tokens);
145
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: isNarrow ? 0 : 1, children: [_jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: isSelected ? SemanticColors.status.warning : undefined, children: isSelected ? '▶' : ' ' }), _jsx(Text, { color: SemanticColors.text.secondary, children: timestamp }), _jsx(Text, { color: typeColor, children: typeIcon }), _jsxs(Text, { color: SemanticColors.text.primary, children: [entry.provider, entry.model && !isNarrow && ` (${entry.model})`] }), tokens && !isNarrow && (_jsx(Text, { color: SemanticColors.text.secondary, children: tokens }))] }), mainContent && (_jsx(Box, { paddingLeft: 2, children: _jsx(Text, { color: entry.error
146
+ ? SemanticColors.status.error
147
+ : SemanticColors.text.secondary, wrap: "wrap", children: mainContent }) }))] }, `entry-${globalIndex}`));
148
+ };
149
+ const hasScroll = reversedEntries.length > contentHeight;
150
+ const scrollPercentage = hasScroll
151
+ ? Math.round(((scrollOffset + contentHeight) / reversedEntries.length) * 100)
152
+ : 100;
153
+ return (_jsxs(Box, { flexDirection: "column", width: dialogWidth, borderStyle: "round", borderColor: SemanticColors.border.default, children: [_jsx(Box, { paddingX: 1, paddingY: 0, borderStyle: "round", borderBottom: false, borderLeft: false, borderRight: false, borderTop: false, children: _jsxs(Box, { flexDirection: "row", justifyContent: "space-between", width: "100%", children: [_jsx(Text, { color: SemanticColors.text.primary, bold: true, children: "Conversation Logs" }), _jsxs(Text, { color: SemanticColors.text.secondary, children: [reversedEntries.length, " entries"] })] }) }), _jsx(Box, { paddingX: 1, children: _jsx(Text, { color: SemanticColors.border.default, children: '─'.repeat(dialogWidth - 4) }) }), _jsx(Box, { flexDirection: "column", height: contentHeight, paddingX: 1, overflow: "hidden", children: visibleEntries.length > 0 ? (visibleEntries.map((entry, index) => renderEntry(entry, index, scrollOffset + index === selectedIndex))) : (_jsx(Box, { justifyContent: "center", alignItems: "center", height: "100%", children: _jsx(Text, { color: SemanticColors.text.secondary, children: "No log entries found" }) })) }), _jsx(Box, { paddingX: 1, children: _jsx(Text, { color: SemanticColors.border.default, children: '─'.repeat(dialogWidth - 4) }) }), _jsx(Box, { paddingX: 1, paddingBottom: 0, children: _jsxs(Box, { flexDirection: "row", justifyContent: "space-between", width: "100%", children: [_jsxs(Text, { color: SemanticColors.text.secondary, children: [isNarrow ? '↑↓ Nav' : '↑↓ Navigate', ' ', !isNarrow && 'g/G Top/Bottom ', "ESC Close"] }), hasScroll && (_jsxs(Text, { color: SemanticColors.text.secondary, children: [scrollPercentage, "%"] }))] }) })] }));
154
+ };
155
+ //# sourceMappingURL=LoggingDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoggingDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/LoggingDialog.tsx"],"names":[],"mappings":"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"}
@@ -6,22 +6,24 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
6
  */
7
7
  import { useEffect, useState } from 'react';
8
8
  import { Box, Text } from 'ink';
9
- import { Colors } from '../colors.js';
9
+ import { SemanticColors } from '../colors.js';
10
10
  import process from 'node:process';
11
11
  import { formatMemoryUsage } from '../utils/formatters.js';
12
12
  export const MemoryUsageDisplay = () => {
13
13
  const [memoryUsage, setMemoryUsage] = useState('');
14
- const [memoryUsageColor, setMemoryUsageColor] = useState(Colors.Gray);
14
+ const [memoryUsageColor, setMemoryUsageColor] = useState(SemanticColors.text.secondary);
15
15
  useEffect(() => {
16
16
  const updateMemory = () => {
17
17
  const usage = process.memoryUsage().rss;
18
18
  setMemoryUsage(formatMemoryUsage(usage));
19
- setMemoryUsageColor(usage >= 2 * 1024 * 1024 * 1024 ? Colors.AccentRed : Colors.Gray);
19
+ setMemoryUsageColor(usage >= 2 * 1024 * 1024 * 1024
20
+ ? SemanticColors.status.error
21
+ : SemanticColors.text.secondary);
20
22
  };
21
23
  const intervalId = setInterval(updateMemory, 2000);
22
24
  updateMemory(); // Initial update
23
25
  return () => clearInterval(intervalId);
24
26
  }, []);
25
- return (_jsxs(Box, { children: [_jsx(Text, { color: Colors.Gray, children: "| " }), _jsx(Text, { color: memoryUsageColor, children: memoryUsage })] }));
27
+ return (_jsxs(Box, { children: [_jsx(Text, { color: SemanticColors.text.secondary, children: "| " }), _jsx(Text, { color: memoryUsageColor, children: memoryUsage })] }));
26
28
  };
27
29
  //# sourceMappingURL=MemoryUsageDisplay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryUsageDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/MemoryUsageDisplay.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,kBAAkB,GAAa,GAAG,EAAE;IAC/C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAS,MAAM,CAAC,IAAI,CAAC,CAAC;IAE9E,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC;YACxC,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,mBAAmB,CACjB,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CACjE,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACnD,YAAY,EAAE,CAAC,CAAC,iBAAiB;QACjC,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,mBAAW,EACnC,KAAC,IAAI,IAAC,KAAK,EAAE,gBAAgB,YAAG,WAAW,GAAQ,IAC/C,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"MemoryUsageDisplay.js","sourceRoot":"","sources":["../../../../src/ui/components/MemoryUsageDisplay.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,CAAC,MAAM,kBAAkB,GAAa,GAAG,EAAE;IAC/C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CACtD,cAAc,CAAC,IAAI,CAAC,SAAS,CAC9B,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC;YACxC,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;YACzC,mBAAmB,CACjB,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;gBAC7B,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK;gBAC7B,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAClC,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,UAAU,GAAG,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACnD,YAAY,EAAE,CAAC,CAAC,iBAAiB;QACjC,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,SAAS,mBAAW,EACrD,KAAC,IAAI,IAAC,KAAK,EAAE,gBAAgB,YAAG,WAAW,GAAQ,IAC/C,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * OAuth Code Input Dialog Component
3
+ *
4
+ * Allows users to paste authorization code from browser
5
+ */
6
+ import React from 'react';
7
+ interface OAuthCodeDialogProps {
8
+ provider: string;
9
+ onClose: () => void;
10
+ onSubmit: (code: string) => void;
11
+ }
12
+ export declare const OAuthCodeDialog: React.FC<OAuthCodeDialogProps>;
13
+ export {};
@@ -0,0 +1,54 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * OAuth Code Input Dialog Component
4
+ *
5
+ * Allows users to paste authorization code from browser
6
+ */
7
+ import { useState, useCallback } from 'react';
8
+ import { Box, Text } from 'ink';
9
+ import { Colors } from '../colors.js';
10
+ import { useKeypress } from '../hooks/useKeypress.js';
11
+ export const OAuthCodeDialog = ({ provider, onClose, onSubmit, }) => {
12
+ const [code, setCode] = useState('');
13
+ const handleInput = useCallback((key) => {
14
+ // Handle escape to close
15
+ if (key.name === 'escape') {
16
+ onClose();
17
+ return;
18
+ }
19
+ // Handle enter to submit
20
+ if (key.name === 'return') {
21
+ if (code.trim()) {
22
+ onSubmit(code.trim());
23
+ onClose();
24
+ }
25
+ return;
26
+ }
27
+ // Handle backspace
28
+ if (key.name === 'backspace') {
29
+ setCode((prev) => prev.slice(0, -1));
30
+ return;
31
+ }
32
+ // Handle paste - the useKeypress hook properly handles bracketed paste
33
+ if (key.paste && key.sequence) {
34
+ // The sequence already has the paste content without escape codes
35
+ // Just filter to only allow valid OAuth code characters
36
+ const cleanInput = key.sequence.replace(/[^a-zA-Z0-9\-_#]/g, '');
37
+ if (cleanInput) {
38
+ setCode((prev) => prev + cleanInput);
39
+ }
40
+ return;
41
+ }
42
+ // Handle regular character input
43
+ if (key.sequence && !key.ctrl && !key.meta) {
44
+ // Only allow valid OAuth code characters
45
+ const cleanInput = key.sequence.replace(/[^a-zA-Z0-9\-_#]/g, '');
46
+ if (cleanInput) {
47
+ setCode((prev) => prev + cleanInput);
48
+ }
49
+ }
50
+ }, [code, onClose, onSubmit]);
51
+ useKeypress(handleInput, { isActive: true });
52
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: Colors.AccentCyan, paddingX: 2, paddingY: 1, marginX: 2, marginY: 1, children: [_jsxs(Text, { bold: true, color: Colors.AccentCyan, children: [provider.charAt(0).toUpperCase() + provider.slice(1), " OAuth Authentication"] }), _jsx(Text, { color: Colors.Foreground, children: "Please check your browser and authorize the application." }), _jsx(Text, { color: Colors.Foreground, children: "After authorizing, paste the authorization code below:" }), _jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: Colors.AccentCyan, children: "Code: " }), _jsx(Text, { color: Colors.Foreground, children: code || '(paste code here)' })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "Press Enter to submit or Escape to cancel" }) })] }));
53
+ };
54
+ //# sourceMappingURL=OAuthCodeDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OAuthCodeDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/OAuthCodeDialog.tsx"],"names":[],"mappings":"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"}
@@ -4,51 +4,125 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
4
4
  * Copyright 2025 Google LLC
5
5
  * SPDX-License-Identifier: Apache-2.0
6
6
  */
7
- import { useState } from 'react';
7
+ import React, { useState, useMemo } from 'react';
8
8
  import { Box, Text, useInput } from 'ink';
9
- import { Colors } from '../colors.js';
9
+ import { SemanticColors } from '../colors.js';
10
+ import { useResponsive } from '../hooks/useResponsive.js';
11
+ import { truncateEnd } from '../utils/responsive.js';
10
12
  export const ProviderDialog = ({ providers, currentProvider, onSelect, onClose, }) => {
11
- const [index, setIndex] = useState(() => Math.max(0, providers.findIndex((p) => p === currentProvider)));
12
- const columns = 3;
13
- const longest = providers.reduce((len, p) => Math.max(len, p.length), 0);
14
- const colWidth = Math.max(longest + 4, 20);
15
- const rows = Math.ceil(providers.length / columns);
13
+ const { isNarrow, isWide, width } = useResponsive();
14
+ const [searchTerm, setSearchTerm] = useState('');
15
+ const [isSearching, setIsSearching] = useState(isNarrow);
16
+ // Filter providers based on search term
17
+ const filteredProviders = useMemo(() => providers.filter((p) => p.toLowerCase().includes(searchTerm.toLowerCase())), [providers, searchTerm]);
18
+ const [index, setIndex] = useState(() => {
19
+ const currentIndex = providers.findIndex((p) => p === currentProvider);
20
+ return Math.max(0, currentIndex);
21
+ });
22
+ // Reset index when search term changes
23
+ React.useEffect(() => {
24
+ if (searchTerm.length === 0) {
25
+ const currentIndex = providers.findIndex((p) => p === currentProvider);
26
+ setIndex(Math.max(0, currentIndex));
27
+ }
28
+ else {
29
+ setIndex(0);
30
+ }
31
+ }, [searchTerm, providers, currentProvider]);
32
+ // Responsive layout calculations
33
+ const columns = isNarrow ? 1 : 3;
34
+ const longest = filteredProviders.reduce((len, p) => Math.max(len, p.length), 0);
35
+ const colWidth = isWide
36
+ ? Math.max(longest + 4, 30)
37
+ : Math.max(longest + 4, 20);
38
+ const rows = Math.ceil(filteredProviders.length / columns);
16
39
  const move = (delta) => {
17
40
  let next = index + delta;
18
41
  if (next < 0)
19
42
  next = 0;
20
- if (next >= providers.length)
21
- next = providers.length - 1;
43
+ if (next >= filteredProviders.length)
44
+ next = filteredProviders.length - 1;
22
45
  setIndex(next);
23
46
  };
24
47
  useInput((input, key) => {
25
- if (key.escape)
26
- return onClose();
27
- if (key.return)
28
- return onSelect(providers[index]);
29
- if (key.leftArrow)
30
- move(-1);
31
- if (key.rightArrow)
32
- move(1);
33
- if (key.upArrow)
34
- move(-columns);
35
- if (key.downArrow)
36
- move(columns);
48
+ if (key.escape) {
49
+ if (isSearching && searchTerm.length > 0) {
50
+ setSearchTerm('');
51
+ }
52
+ else {
53
+ return onClose();
54
+ }
55
+ }
56
+ if (isSearching || isNarrow) {
57
+ if (key.return) {
58
+ if (filteredProviders.length > 0) {
59
+ if (isNarrow) {
60
+ return onSelect(filteredProviders[index]);
61
+ }
62
+ setIsSearching(false);
63
+ }
64
+ }
65
+ else if (key.tab && !isNarrow) {
66
+ setIsSearching(false);
67
+ }
68
+ else if (key.backspace || key.delete) {
69
+ setSearchTerm((prev) => prev.slice(0, -1));
70
+ }
71
+ else if (input && !key.ctrl && !key.meta) {
72
+ setSearchTerm((prev) => prev + input);
73
+ }
74
+ }
75
+ else {
76
+ if (key.return && filteredProviders.length > 0) {
77
+ return onSelect(filteredProviders[index]);
78
+ }
79
+ if (key.tab) {
80
+ setIsSearching(true);
81
+ }
82
+ if (key.leftArrow)
83
+ move(-1);
84
+ if (key.rightArrow)
85
+ move(1);
86
+ if (key.upArrow)
87
+ move(-columns);
88
+ if (key.downArrow)
89
+ move(columns);
90
+ }
37
91
  });
38
92
  const renderItem = (name, i) => {
39
- const selected = i === index;
40
- return (_jsx(Box, { width: colWidth, marginRight: 2, children: _jsxs(Text, { color: selected ? '#00ff00' : Colors.Foreground, children: [selected ? '● ' : '○ ', name] }) }, name));
93
+ const selected = i === index && (!isSearching || isNarrow);
94
+ // In wide mode, don't truncate. In standard/narrow, truncate reasonably
95
+ const displayName = isWide
96
+ ? name
97
+ : name.length > 20
98
+ ? truncateEnd(name, 20)
99
+ : name;
100
+ return (_jsx(Box, { width: isWide ? undefined : colWidth, marginRight: 2, children: _jsxs(Text, { color: selected
101
+ ? SemanticColors.text.accent
102
+ : isSearching && !isNarrow
103
+ ? SemanticColors.text.secondary
104
+ : SemanticColors.text.primary, children: [selected ? '● ' : '○ ', displayName] }) }, name));
41
105
  };
42
106
  const grid = [];
43
107
  for (let r = 0; r < rows; r++) {
44
108
  const rowItems = [];
45
109
  for (let c = 0; c < columns; c++) {
46
110
  const i = r * columns + c;
47
- if (i < providers.length)
48
- rowItems.push(renderItem(providers[i], i));
111
+ if (i < filteredProviders.length)
112
+ rowItems.push(renderItem(filteredProviders[i], i));
49
113
  }
50
114
  grid.push(_jsx(Box, { children: rowItems }, r));
51
115
  }
52
- return (_jsxs(Box, { borderStyle: "round", borderColor: Colors.Gray, flexDirection: "column", padding: 1, children: [_jsx(Text, { bold: true, color: Colors.Foreground, children: "Select Provider (\u2190/\u2192/\u2191/\u2193, Enter to choose, Esc to cancel)" }), grid] }));
116
+ const renderContent = () => {
117
+ if (isNarrow) {
118
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: SemanticColors.text.primary, children: "Select Provider" }), _jsxs(Box, { marginY: 1, children: [_jsxs(Text, { color: SemanticColors.text.primary, children: ["Search: ", _jsx(Text, { color: SemanticColors.text.accent, children: "\u258C" })] }), _jsx(Text, { color: SemanticColors.text.primary, children: searchTerm })] }), _jsx(Text, { color: SemanticColors.text.secondary, children: "Type to filter, Enter to select, Esc to cancel" }), _jsxs(Text, { color: SemanticColors.text.secondary, children: [filteredProviders.length, " providers", searchTerm && ` found`] }), filteredProviders.length > 0 ? (grid) : (_jsx(Box, { marginY: 1, children: _jsxs(Text, { color: SemanticColors.text.secondary, children: ["No providers match \"", searchTerm, "\""] }) }))] }));
119
+ }
120
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: SemanticColors.text.primary, children: isSearching
121
+ ? 'Search Providers'
122
+ : 'Select Provider (←/→/↑/↓, Enter to choose, Esc to cancel)' }), !isNarrow && (_jsxs(Box, { marginY: 1, children: [_jsxs(Text, { color: isSearching
123
+ ? SemanticColors.text.primary
124
+ : SemanticColors.text.secondary, children: ["Search:", ' ', isSearching && _jsx(Text, { color: SemanticColors.text.accent, children: "\u258C" })] }), _jsx(Text, { color: SemanticColors.text.primary, children: searchTerm }), searchTerm && (_jsxs(Text, { color: SemanticColors.text.secondary, children: [' ', "(Found ", filteredProviders.length, " of ", providers.length, ' ', "providers)"] }))] })), filteredProviders.length > 0 ? (grid) : (_jsx(Box, { marginY: 1, children: _jsxs(Text, { color: SemanticColors.text.secondary, children: ["No providers match \"", searchTerm, "\""] }) })), filteredProviders.length > 0 && !isSearching && (_jsxs(Text, { color: SemanticColors.text.secondary, children: ["Selected: ", filteredProviders[index]] })), !isNarrow && (_jsx(Text, { color: SemanticColors.text.secondary, children: "Tab to switch modes" }))] }));
125
+ };
126
+ return isNarrow ? (_jsx(Box, { flexDirection: "column", padding: 1, children: renderContent() })) : (_jsx(Box, { borderStyle: "round", borderColor: SemanticColors.border.default, flexDirection: "column", padding: 1, width: Math.min(width, 100), children: renderContent() }));
53
127
  };
54
128
  //# sourceMappingURL=ProviderDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/ProviderDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProviderDialog.js","sourceRoot":"","sources":["../../../../src/ui/components/ProviderDialog.tsx"],"names":[],"mappings":"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"}