centaurus-cli 2.5.2 → 2.5.3

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 (246) hide show
  1. package/AUTH_FLOW.md +138 -0
  2. package/CONFIG_GUIDE.md +249 -0
  3. package/dist/config/models.d.ts +1 -1
  4. package/dist/config/models.d.ts.map +1 -1
  5. package/dist/config/models.js +2 -0
  6. package/dist/config/models.js.map +1 -1
  7. package/dist/ui/components/App.d.ts.map +1 -1
  8. package/dist/ui/components/App.js +104 -62
  9. package/dist/ui/components/App.js.map +1 -1
  10. package/dist/ui/components/FontRecommendation.d.ts +1 -0
  11. package/dist/ui/components/FontRecommendation.d.ts.map +1 -0
  12. package/dist/ui/components/FontRecommendation.js +1 -0
  13. package/dist/ui/components/FontRecommendation.js.map +1 -0
  14. package/dist/ui/components/InputBox.d.ts.map +1 -1
  15. package/dist/ui/components/InputBox.js +3 -2
  16. package/dist/ui/components/InputBox.js.map +1 -1
  17. package/dist/ui/components/MarkdownRenderer.d.ts.map +1 -1
  18. package/dist/ui/components/MarkdownRenderer.js +34 -9
  19. package/dist/ui/components/MarkdownRenderer.js.map +1 -1
  20. package/dist/ui/components/MessageDisplay.js +2 -2
  21. package/dist/ui/components/StreamingMessageDisplay.d.ts.map +1 -1
  22. package/dist/ui/components/StreamingMessageDisplay.js +3 -3
  23. package/dist/ui/components/StreamingMessageDisplay.js.map +1 -1
  24. package/dist/ui/components/ThinkingDisplay.d.ts +13 -0
  25. package/dist/ui/components/ThinkingDisplay.d.ts.map +1 -0
  26. package/dist/ui/components/ThinkingDisplay.js +41 -0
  27. package/dist/ui/components/ThinkingDisplay.js.map +1 -0
  28. package/dist/utils/version-checker.d.ts.map +1 -1
  29. package/dist/utils/version-checker.js +3 -31
  30. package/dist/utils/version-checker.js.map +1 -1
  31. package/package.json +5 -5
  32. package/dist/ai/provider-factory.d.ts +0 -6
  33. package/dist/ai/provider-factory.d.ts.map +0 -1
  34. package/dist/ai/provider-factory.js +0 -27
  35. package/dist/ai/provider-factory.js.map +0 -1
  36. package/dist/ai/providers/base.d.ts +0 -25
  37. package/dist/ai/providers/base.d.ts.map +0 -1
  38. package/dist/ai/providers/base.js +0 -9
  39. package/dist/ai/providers/base.js.map +0 -1
  40. package/dist/ai/providers/gemini.d.ts +0 -34
  41. package/dist/ai/providers/gemini.d.ts.map +0 -1
  42. package/dist/ai/providers/gemini.js +0 -146
  43. package/dist/ai/providers/gemini.js.map +0 -1
  44. package/dist/commands/view-duplication-logs.d.ts +0 -5
  45. package/dist/commands/view-duplication-logs.d.ts.map +0 -1
  46. package/dist/commands/view-duplication-logs.js +0 -14
  47. package/dist/commands/view-duplication-logs.js.map +0 -1
  48. package/dist/context/__tests__/command-detector.test.d.ts +0 -14
  49. package/dist/context/__tests__/command-detector.test.d.ts.map +0 -1
  50. package/dist/context/__tests__/command-detector.test.js +0 -318
  51. package/dist/context/__tests__/command-detector.test.js.map +0 -1
  52. package/dist/context/__tests__/context-manager.test.d.ts +0 -16
  53. package/dist/context/__tests__/context-manager.test.d.ts.map +0 -1
  54. package/dist/context/__tests__/context-manager.test.js +0 -375
  55. package/dist/context/__tests__/context-manager.test.js.map +0 -1
  56. package/dist/context/__tests__/error-handling.test.d.ts +0 -15
  57. package/dist/context/__tests__/error-handling.test.d.ts.map +0 -1
  58. package/dist/context/__tests__/error-handling.test.js +0 -447
  59. package/dist/context/__tests__/error-handling.test.js.map +0 -1
  60. package/dist/context/handlers/__tests__/docker-handler.test.d.ts +0 -13
  61. package/dist/context/handlers/__tests__/docker-handler.test.d.ts.map +0 -1
  62. package/dist/context/handlers/__tests__/docker-handler.test.js +0 -285
  63. package/dist/context/handlers/__tests__/docker-handler.test.js.map +0 -1
  64. package/dist/context/handlers/__tests__/ssh-handler.test.d.ts +0 -13
  65. package/dist/context/handlers/__tests__/ssh-handler.test.d.ts.map +0 -1
  66. package/dist/context/handlers/__tests__/ssh-handler.test.js +0 -251
  67. package/dist/context/handlers/__tests__/ssh-handler.test.js.map +0 -1
  68. package/dist/context/handlers/__tests__/wsl-handler.test.d.ts +0 -7
  69. package/dist/context/handlers/__tests__/wsl-handler.test.d.ts.map +0 -1
  70. package/dist/context/handlers/__tests__/wsl-handler.test.js +0 -331
  71. package/dist/context/handlers/__tests__/wsl-handler.test.js.map +0 -1
  72. package/dist/index-custom.d.ts +0 -3
  73. package/dist/index-custom.d.ts.map +0 -1
  74. package/dist/index-custom.js +0 -65
  75. package/dist/index-custom.js.map +0 -1
  76. package/dist/prompts/system-prompt.d.ts +0 -47
  77. package/dist/prompts/system-prompt.d.ts.map +0 -1
  78. package/dist/prompts/system-prompt.js +0 -377
  79. package/dist/prompts/system-prompt.js.map +0 -1
  80. package/dist/providers/GoogleProvider.d.ts +0 -26
  81. package/dist/providers/GoogleProvider.d.ts.map +0 -1
  82. package/dist/providers/GoogleProvider.js +0 -313
  83. package/dist/providers/GoogleProvider.js.map +0 -1
  84. package/dist/providers/Provider.d.ts +0 -114
  85. package/dist/providers/Provider.d.ts.map +0 -1
  86. package/dist/providers/Provider.js +0 -44
  87. package/dist/providers/Provider.js.map +0 -1
  88. package/dist/services/__tests__/ai-context-injector.test.d.ts +0 -15
  89. package/dist/services/__tests__/ai-context-injector.test.d.ts.map +0 -1
  90. package/dist/services/__tests__/ai-context-injector.test.js +0 -326
  91. package/dist/services/__tests__/ai-context-injector.test.js.map +0 -1
  92. package/dist/src/context/types.js +0 -27
  93. package/dist/src/services/ai-context-injector.js +0 -96
  94. package/dist/src/services/ai-service-client.js +0 -270
  95. package/dist/src/services/api-client.js +0 -349
  96. package/dist/src/tools/types.js +0 -1
  97. package/dist/src/types/index.js +0 -1
  98. package/dist/test/context/types.js +0 -27
  99. package/dist/test/services/__tests__/ai-context-injector.test.js +0 -325
  100. package/dist/test/services/ai-context-injector.js +0 -96
  101. package/dist/test/services/ai-service-client.js +0 -270
  102. package/dist/test/services/api-client.js +0 -349
  103. package/dist/test/tools/types.js +0 -1
  104. package/dist/test/types/index.js +0 -1
  105. package/dist/test-ai-context-injector.js +0 -97
  106. package/dist/tests/automated-verification.d.ts +0 -27
  107. package/dist/tests/automated-verification.d.ts.map +0 -1
  108. package/dist/tests/automated-verification.js +0 -359
  109. package/dist/tests/automated-verification.js.map +0 -1
  110. package/dist/tests/integration-tests.d.ts +0 -50
  111. package/dist/tests/integration-tests.d.ts.map +0 -1
  112. package/dist/tests/integration-tests.js +0 -648
  113. package/dist/tests/integration-tests.js.map +0 -1
  114. package/dist/tools/file-ops-test.d.ts +0 -6
  115. package/dist/tools/file-ops-test.d.ts.map +0 -1
  116. package/dist/tools/file-ops-test.js +0 -197
  117. package/dist/tools/file-ops-test.js.map +0 -1
  118. package/dist/ui/DisplayHistory.d.ts +0 -53
  119. package/dist/ui/DisplayHistory.d.ts.map +0 -1
  120. package/dist/ui/DisplayHistory.js +0 -82
  121. package/dist/ui/DisplayHistory.js.map +0 -1
  122. package/dist/ui/clack-ui.d.ts +0 -83
  123. package/dist/ui/clack-ui.d.ts.map +0 -1
  124. package/dist/ui/clack-ui.js +0 -304
  125. package/dist/ui/clack-ui.js.map +0 -1
  126. package/dist/ui/components/DisplayItemRenderer.d.ts +0 -18
  127. package/dist/ui/components/DisplayItemRenderer.d.ts.map +0 -1
  128. package/dist/ui/components/DisplayItemRenderer.js +0 -53
  129. package/dist/ui/components/DisplayItemRenderer.js.map +0 -1
  130. package/dist/ui/components/DynamicMessage.d.ts +0 -13
  131. package/dist/ui/components/DynamicMessage.d.ts.map +0 -1
  132. package/dist/ui/components/DynamicMessage.js +0 -27
  133. package/dist/ui/components/DynamicMessage.js.map +0 -1
  134. package/dist/ui/components/FileViewerScreen.d.ts +0 -14
  135. package/dist/ui/components/FileViewerScreen.d.ts.map +0 -1
  136. package/dist/ui/components/FileViewerScreen.js +0 -74
  137. package/dist/ui/components/FileViewerScreen.js.map +0 -1
  138. package/dist/ui/components/ScrollableContent.d.ts +0 -7
  139. package/dist/ui/components/ScrollableContent.d.ts.map +0 -1
  140. package/dist/ui/components/ScrollableContent.js +0 -6
  141. package/dist/ui/components/ScrollableContent.js.map +0 -1
  142. package/dist/ui/components/ScrollableMessageList.d.ts +0 -10
  143. package/dist/ui/components/ScrollableMessageList.d.ts.map +0 -1
  144. package/dist/ui/components/ScrollableMessageList.js +0 -133
  145. package/dist/ui/components/ScrollableMessageList.js.map +0 -1
  146. package/dist/ui/components/ScrollableScreen.d.ts +0 -9
  147. package/dist/ui/components/ScrollableScreen.d.ts.map +0 -1
  148. package/dist/ui/components/ScrollableScreen.js +0 -22
  149. package/dist/ui/components/ScrollableScreen.js.map +0 -1
  150. package/dist/ui/components/StaticMessageHistory.d.ts +0 -14
  151. package/dist/ui/components/StaticMessageHistory.d.ts.map +0 -1
  152. package/dist/ui/components/StaticMessageHistory.js +0 -19
  153. package/dist/ui/components/StaticMessageHistory.js.map +0 -1
  154. package/dist/ui/components/code-block.d.ts +0 -10
  155. package/dist/ui/components/code-block.d.ts.map +0 -1
  156. package/dist/ui/components/code-block.js +0 -74
  157. package/dist/ui/components/code-block.js.map +0 -1
  158. package/dist/ui/components/confirm-prompt.d.ts +0 -12
  159. package/dist/ui/components/confirm-prompt.d.ts.map +0 -1
  160. package/dist/ui/components/confirm-prompt.js +0 -104
  161. package/dist/ui/components/confirm-prompt.js.map +0 -1
  162. package/dist/ui/components/diff-viewer.d.ts +0 -9
  163. package/dist/ui/components/diff-viewer.d.ts.map +0 -1
  164. package/dist/ui/components/diff-viewer.js +0 -57
  165. package/dist/ui/components/diff-viewer.js.map +0 -1
  166. package/dist/ui/components/input-box.d.ts +0 -18
  167. package/dist/ui/components/input-box.d.ts.map +0 -1
  168. package/dist/ui/components/input-box.js +0 -157
  169. package/dist/ui/components/input-box.js.map +0 -1
  170. package/dist/ui/components/keyboard-help.d.ts +0 -7
  171. package/dist/ui/components/keyboard-help.d.ts.map +0 -1
  172. package/dist/ui/components/keyboard-help.js +0 -43
  173. package/dist/ui/components/keyboard-help.js.map +0 -1
  174. package/dist/ui/components/loading-indicator.d.ts +0 -3
  175. package/dist/ui/components/loading-indicator.d.ts.map +0 -1
  176. package/dist/ui/components/loading-indicator.js +0 -42
  177. package/dist/ui/components/loading-indicator.js.map +0 -1
  178. package/dist/ui/components/message-display.d.ts +0 -7
  179. package/dist/ui/components/message-display.d.ts.map +0 -1
  180. package/dist/ui/components/message-display.js +0 -104
  181. package/dist/ui/components/message-display.js.map +0 -1
  182. package/dist/ui/components/misc.d.ts +0 -28
  183. package/dist/ui/components/misc.d.ts.map +0 -1
  184. package/dist/ui/components/misc.js +0 -128
  185. package/dist/ui/components/misc.js.map +0 -1
  186. package/dist/ui/components/select-prompt.d.ts +0 -13
  187. package/dist/ui/components/select-prompt.d.ts.map +0 -1
  188. package/dist/ui/components/select-prompt.js +0 -42
  189. package/dist/ui/components/select-prompt.js.map +0 -1
  190. package/dist/ui/components/status-bar.d.ts +0 -11
  191. package/dist/ui/components/status-bar.d.ts.map +0 -1
  192. package/dist/ui/components/status-bar.js +0 -47
  193. package/dist/ui/components/status-bar.js.map +0 -1
  194. package/dist/ui/components/tool-execution.d.ts +0 -3
  195. package/dist/ui/components/tool-execution.d.ts.map +0 -1
  196. package/dist/ui/components/tool-execution.js +0 -374
  197. package/dist/ui/components/tool-execution.js.map +0 -1
  198. package/dist/ui/components/tool-result.d.ts +0 -11
  199. package/dist/ui/components/tool-result.d.ts.map +0 -1
  200. package/dist/ui/components/tool-result.js +0 -58
  201. package/dist/ui/components/tool-result.js.map +0 -1
  202. package/dist/ui/components/welcome-banner.d.ts +0 -3
  203. package/dist/ui/components/welcome-banner.d.ts.map +0 -1
  204. package/dist/ui/components/welcome-banner.js +0 -46
  205. package/dist/ui/components/welcome-banner.js.map +0 -1
  206. package/dist/ui/hooks/useDisplayHistory.d.ts +0 -13
  207. package/dist/ui/hooks/useDisplayHistory.d.ts.map +0 -1
  208. package/dist/ui/hooks/useDisplayHistory.js +0 -45
  209. package/dist/ui/hooks/useDisplayHistory.js.map +0 -1
  210. package/dist/ui/render-engine.d.ts +0 -69
  211. package/dist/ui/render-engine.d.ts.map +0 -1
  212. package/dist/ui/render-engine.js +0 -197
  213. package/dist/ui/render-engine.js.map +0 -1
  214. package/dist/ui/terminal/TerminalRenderer.d.ts +0 -84
  215. package/dist/ui/terminal/TerminalRenderer.d.ts.map +0 -1
  216. package/dist/ui/terminal/TerminalRenderer.js +0 -154
  217. package/dist/ui/terminal/TerminalRenderer.js.map +0 -1
  218. package/dist/ui/terminal/TerminalUI.d.ts +0 -139
  219. package/dist/ui/terminal/TerminalUI.d.ts.map +0 -1
  220. package/dist/ui/terminal/TerminalUI.js +0 -430
  221. package/dist/ui/terminal/TerminalUI.js.map +0 -1
  222. package/dist/ui/terminal/VirtualChatBuffer.d.ts +0 -32
  223. package/dist/ui/terminal/VirtualChatBuffer.d.ts.map +0 -1
  224. package/dist/ui/terminal/VirtualChatBuffer.js +0 -37
  225. package/dist/ui/terminal/VirtualChatBuffer.js.map +0 -1
  226. package/dist/ui/terminal-kit-base.d.ts +0 -117
  227. package/dist/ui/terminal-kit-base.d.ts.map +0 -1
  228. package/dist/ui/terminal-kit-base.js +0 -188
  229. package/dist/ui/terminal-kit-base.js.map +0 -1
  230. package/dist/ui/utils/duplication-detector.d.ts +0 -32
  231. package/dist/ui/utils/duplication-detector.d.ts.map +0 -1
  232. package/dist/ui/utils/duplication-detector.js +0 -227
  233. package/dist/ui/utils/duplication-detector.js.map +0 -1
  234. package/dist/ui/utils/duplication-logger.d.ts +0 -21
  235. package/dist/ui/utils/duplication-logger.d.ts.map +0 -1
  236. package/dist/ui/utils/duplication-logger.js +0 -85
  237. package/dist/ui/utils/duplication-logger.js.map +0 -1
  238. package/dist/ui/utils/terminal-scanner.d.ts +0 -19
  239. package/dist/ui/utils/terminal-scanner.d.ts.map +0 -1
  240. package/dist/ui/utils/terminal-scanner.js +0 -217
  241. package/dist/ui/utils/terminal-scanner.js.map +0 -1
  242. package/dist/version.d.ts +0 -2
  243. package/dist/version.d.ts.map +0 -1
  244. package/dist/version.js +0 -3
  245. package/dist/version.js.map +0 -1
  246. package/scripts/generate-version.js +0 -25
@@ -1,157 +0,0 @@
1
- import { term, ensureScreenBuffer, createColorAttr, colors, drawBox } from '../terminal-kit-base.js';
2
- // Render the input box (static parts - border, labels)
3
- export function renderInputBox(options) {
4
- const { x, y, width, model, autoAcceptMode, placeholder = 'Ask anything...' } = options;
5
- // Box height is fixed at 8 lines:
6
- // 1: top border
7
- // 2: empty line
8
- // 3: header (Your Message: ... Model: X [AUTO-ACCEPT])
9
- // 4: empty line
10
- // 5: input line (> placeholder/text)
11
- // 6: empty line
12
- // 7: help text (Ctrl+T... • Ctrl+C...)
13
- // 8: bottom border
14
- const height = 8;
15
- // Draw rounded border with dark blue color
16
- drawBox({
17
- x,
18
- y,
19
- width,
20
- height,
21
- borderStyle: 'rounded',
22
- borderColor: colors.border, // #003b59
23
- });
24
- // Line 3: Header
25
- const headerY = y + 2;
26
- const buffer = ensureScreenBuffer();
27
- // Left side: "Your Message:"
28
- const headerLeftAttr = createColorAttr(colors.primary, true); // Cyan, bold
29
- buffer.put({ x: x + 2, y: headerY, attr: headerLeftAttr }, 'Your Message:');
30
- // Right side: Model info and auto-accept status
31
- const modelLabelAttr = createColorAttr(colors.dimmed); // Gray
32
- const modelValueAttr = createColorAttr(colors.primary); // Cyan
33
- let rightSideText = `Model: `;
34
- let rightSideX = x + width - 2; // Start from right edge
35
- // Auto-accept status
36
- let autoAcceptText;
37
- let autoAcceptAttr;
38
- if (autoAcceptMode) {
39
- autoAcceptText = '[AUTO-ACCEPT: ON]';
40
- autoAcceptAttr = createColorAttr(colors.success, true); // Green, bold
41
- }
42
- else {
43
- autoAcceptText = '[AUTO-ACCEPT: OFF]';
44
- autoAcceptAttr = createColorAttr(colors.dimmed, false, true); // Gray, dimmed
45
- }
46
- // Calculate positions (right-aligned)
47
- const totalRightLength = `Model: ${model} ${autoAcceptText}`.length;
48
- rightSideX = x + width - totalRightLength - 2;
49
- // Render right side
50
- buffer.put({ x: rightSideX, y: headerY, attr: modelLabelAttr }, 'Model: ');
51
- buffer.put({
52
- x: rightSideX + 'Model: '.length,
53
- y: headerY,
54
- attr: modelValueAttr
55
- }, model);
56
- buffer.put({
57
- x: rightSideX + `Model: ${model} `.length,
58
- y: headerY,
59
- attr: autoAcceptAttr
60
- }, autoAcceptText);
61
- // Line 5: Input prompt prefix "> "
62
- const inputY = y + 4;
63
- const promptAttr = createColorAttr(colors.dimmed); // Gray
64
- buffer.put({ x: x + 2, y: inputY, attr: promptAttr }, '> ');
65
- // Line 7: Help text
66
- const helpY = y + 6;
67
- const helpAttr = createColorAttr(colors.dimmed, false, true); // Gray, dimmed
68
- const helpText = 'Ctrl+T to toggle auto-accept • Ctrl+C to exit';
69
- buffer.put({ x: x + 2, y: helpY, attr: helpAttr }, helpText);
70
- }
71
- // Get input from user with simple line input
72
- export async function getInput(x, y, width, placeholder, callbacks) {
73
- // Calculate input field position
74
- // Inside box at line 5, after "> " prompt
75
- const inputX = x + 4; // x + 2 (padding) + 2 ("> " prompt)
76
- const inputY = y + 4;
77
- const inputWidth = width - 8; // Subtract padding and prompt
78
- return new Promise((resolve) => {
79
- let currentInput = '';
80
- let hasSubmitted = false;
81
- // Position cursor at input start
82
- term.moveTo(inputX, inputY);
83
- // Show cursor
84
- term.hideCursor(false);
85
- // Handle key events
86
- const keyHandler = (name, matches, data) => {
87
- if (hasSubmitted)
88
- return;
89
- // Handle Ctrl+C - Exit
90
- if (name === 'CTRL_C') {
91
- term.removeListener('key', keyHandler);
92
- callbacks.onExit();
93
- return;
94
- }
95
- // Handle Ctrl+T - Toggle auto-accept
96
- if (name === 'CTRL_T') {
97
- callbacks.onToggleAutoAccept();
98
- return;
99
- }
100
- // Handle Enter - Submit
101
- if (name === 'ENTER') {
102
- hasSubmitted = true;
103
- term.removeListener('key', keyHandler);
104
- // Clear the input line before resolving
105
- term.moveTo(inputX, inputY);
106
- term.eraseLine();
107
- resolve(currentInput.trim());
108
- return;
109
- }
110
- // Handle Backspace
111
- if (name === 'BACKSPACE') {
112
- if (currentInput.length > 0) {
113
- currentInput = currentInput.slice(0, -1);
114
- // Clear the line and rewrite
115
- term.moveTo(inputX, inputY);
116
- term.eraseLine();
117
- term(currentInput);
118
- }
119
- return;
120
- }
121
- // Handle regular character input
122
- // Check if it's a character (terminal-kit provides isCharacter flag)
123
- if (data && data.isCharacter && data.codepoint) {
124
- if (currentInput.length < inputWidth) {
125
- const char = String.fromCharCode(data.codepoint);
126
- currentInput += char;
127
- term(char);
128
- }
129
- return;
130
- }
131
- };
132
- term.on('key', keyHandler);
133
- });
134
- }
135
- // Clear input field
136
- export function clearInputField(x, y, width) {
137
- const inputY = y + 4;
138
- const inputX = x + 4; // After "> " prompt
139
- const inputWidth = width - 8;
140
- // Clear the input area with spaces
141
- const clearAttr = createColorAttr(colors.text);
142
- const buffer = ensureScreenBuffer();
143
- buffer.put({ x: inputX, y: inputY, attr: clearAttr }, ' '.repeat(inputWidth));
144
- }
145
- // Show placeholder text
146
- export function showPlaceholder(x, y, width, placeholder) {
147
- const inputY = y + 4;
148
- const inputX = x + 4; // After "> " prompt
149
- const inputWidth = width - 8;
150
- const placeholderAttr = createColorAttr(colors.dimmed, false, true); // Gray, dimmed
151
- const truncatedPlaceholder = placeholder.length > inputWidth
152
- ? placeholder.slice(0, inputWidth - 3) + '...'
153
- : placeholder;
154
- const buffer = ensureScreenBuffer();
155
- buffer.put({ x: inputX, y: inputY, attr: placeholderAttr }, truncatedPlaceholder);
156
- }
157
- //# sourceMappingURL=input-box.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-box.js","sourceRoot":"","sources":["../../../src/ui/components/input-box.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export interface KeyboardHelpOptions {
2
- x: number;
3
- y: number;
4
- width: number;
5
- }
6
- export declare function renderKeyboardHelp(options: KeyboardHelpOptions): number;
7
- //# sourceMappingURL=keyboard-help.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyboard-help.d.ts","sourceRoot":"","sources":["../../../src/ui/components/keyboard-help.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,mBAAmB;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAGD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CA0CvE"}
@@ -1,43 +0,0 @@
1
- import { screenBuffer, createColorAttr, colors, drawBox, pad } from '../terminal-kit-base.js';
2
- // Keyboard shortcuts from UI_ELEMENTS_REFERENCE.md
3
- const SHORTCUTS = [
4
- { key: 'Enter', action: 'Submit message' },
5
- { key: 'Ctrl+T', action: 'Toggle auto-accept mode' },
6
- { key: 'Ctrl+C', action: 'Exit application' },
7
- { key: '/', action: 'Start slash command' },
8
- { key: '?', action: 'Show/hide this help' },
9
- ];
10
- // Render keyboard help overlay
11
- export function renderKeyboardHelp(options) {
12
- const { x, y, width } = options;
13
- const height = 4 + SHORTCUTS.length + 2; // Border + header + shortcuts + footer + border
14
- // Draw double-line border with cyan color
15
- drawBox({
16
- x,
17
- y,
18
- width,
19
- height,
20
- borderStyle: 'double',
21
- borderColor: colors.primary, // #00ccff (Cyan)
22
- });
23
- let currentY = y + 1;
24
- // Header: "Keyboard Shortcuts"
25
- const headerAttr = createColorAttr(colors.primary, true); // Cyan, bold
26
- screenBuffer.put({ x: x + 2, y: currentY, attr: headerAttr }, 'Keyboard Shortcuts');
27
- currentY += 2; // Header + empty line
28
- // Shortcuts list
29
- const keyAttr = createColorAttr(colors.success, true); // Green, bold
30
- const actionAttr = createColorAttr(colors.text); // White
31
- for (const shortcut of SHORTCUTS) {
32
- const paddedKey = pad(shortcut.key, 15, ' ', 'left'); // Pad to 15 chars
33
- screenBuffer.put({ x: x + 2, y: currentY, attr: keyAttr }, paddedKey);
34
- screenBuffer.put({ x: x + 2 + 15, y: currentY, attr: actionAttr }, shortcut.action);
35
- currentY += 2; // Shortcut + margin
36
- }
37
- // Footer: "Press ? or ESC to close"
38
- const footerAttr = createColorAttr(colors.dimmed, false, true); // Dimmed
39
- screenBuffer.put({ x: x + 2, y: currentY, attr: footerAttr }, 'Press ? or ESC to close');
40
- // Return height + bottom margin
41
- return height + 1;
42
- }
43
- //# sourceMappingURL=keyboard-help.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"keyboard-help.js","sourceRoot":"","sources":["../../../src/ui/components/keyboard-help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAE9F,mDAAmD;AACnD,MAAM,SAAS,GAAG;IAChB,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE;IAC1C,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,yBAAyB,EAAE;IACpD,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE;IAC7C,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,qBAAqB,EAAE;IAC3C,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,qBAAqB,EAAE;CAC5C,CAAC;AAQF,+BAA+B;AAC/B,MAAM,UAAU,kBAAkB,CAAC,OAA4B;IAC7D,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAEhC,MAAM,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,gDAAgD;IAEzF,0CAA0C;IAC1C,OAAO,CAAC;QACN,CAAC;QACD,CAAC;QACD,KAAK;QACL,MAAM;QACN,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,iBAAiB;KAC/C,CAAC,CAAC;IAEH,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;IAErB,+BAA+B;IAC/B,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa;IACvE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,oBAAoB,CAAC,CAAC;IAEpF,QAAQ,IAAI,CAAC,CAAC,CAAC,sBAAsB;IAErC,iBAAiB;IACjB,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc;IACrE,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;IAEzD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,kBAAkB;QAExE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;QACtE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEpF,QAAQ,IAAI,CAAC,CAAC,CAAC,oBAAoB;IACrC,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS;IACzE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,yBAAyB,CAAC,CAAC;IAEzF,gCAAgC;IAChC,OAAO,MAAM,GAAG,CAAC,CAAC;AACpB,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function resetLoadingMessage(): void;
2
- export declare function renderLoadingIndicator(x: number, y: number): number;
3
- //# sourceMappingURL=loading-indicator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loading-indicator.d.ts","sourceRoot":"","sources":["../../../src/ui/components/loading-indicator.ts"],"names":[],"mappings":"AA4BA,wBAAgB,mBAAmB,SAElC;AAKD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAanE"}
@@ -1,42 +0,0 @@
1
- import { ensureScreenBuffer, createColorAttr, colors } from '../terminal-kit-base.js';
2
- // Loading messages from UI_ELEMENTS_REFERENCE.md (exact)
3
- const LOADING_MESSAGES = [
4
- 'Thrusting',
5
- 'Propelling',
6
- 'Boosting',
7
- 'Launching',
8
- 'Intercepting',
9
- 'Slingshotting',
10
- 'Accelerating',
11
- 'Cruising',
12
- 'Warping',
13
- 'Docking',
14
- ];
15
- let selectedMessage = null;
16
- // Select a random message (only once per loading session)
17
- function getRandomMessage() {
18
- if (!selectedMessage) {
19
- const index = Math.floor(Math.random() * LOADING_MESSAGES.length);
20
- selectedMessage = LOADING_MESSAGES[index];
21
- }
22
- return selectedMessage;
23
- }
24
- // Reset the selected message (call when loading is done)
25
- export function resetLoadingMessage() {
26
- selectedMessage = null;
27
- }
28
- // Render loading indicator
29
- // Format: ⏳ {RandomLoadingMessage}...
30
- // Returns height (1 line + bottom margin)
31
- export function renderLoadingIndicator(x, y) {
32
- const message = getRandomMessage();
33
- const text = `⏳ ${message}...`;
34
- // Cyan, bold
35
- const attr = createColorAttr(colors.primary, true);
36
- // Padding left: 1 space
37
- const buffer = ensureScreenBuffer();
38
- buffer.put({ x: x + 1, y, attr }, text);
39
- // Return height: 1 line + bottom margin (1 line) = 2
40
- return 2;
41
- }
42
- //# sourceMappingURL=loading-indicator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loading-indicator.js","sourceRoot":"","sources":["../../../src/ui/components/loading-indicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtF,yDAAyD;AACzD,MAAM,gBAAgB,GAAG;IACvB,WAAW;IACX,YAAY;IACZ,UAAU;IACV,WAAW;IACX,cAAc;IACd,eAAe;IACf,cAAc;IACd,UAAU;IACV,SAAS;IACT,SAAS;CACV,CAAC;AAEF,IAAI,eAAe,GAAkB,IAAI,CAAC;AAE1C,0DAA0D;AAC1D,SAAS,gBAAgB;IACvB,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAClE,eAAe,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,mBAAmB;IACjC,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC;AAED,2BAA2B;AAC3B,sCAAsC;AACtC,0CAA0C;AAC1C,MAAM,UAAU,sBAAsB,CAAC,CAAS,EAAE,CAAS;IACzD,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,KAAK,OAAO,KAAK,CAAC;IAE/B,aAAa;IACb,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAEnD,wBAAwB;IACxB,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IAExC,qDAAqD;IACrD,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -1,7 +0,0 @@
1
- import { Message } from '../../types/index.js';
2
- export declare function renderMessage(message: Message, x: number, y: number, maxWidth: number): number;
3
- export declare function renderMessages(messages: Message[], x: number, startY: number, maxWidth: number, maxHeight: number): {
4
- endY: number;
5
- renderedCount: number;
6
- };
7
- //# sourceMappingURL=message-display.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-display.d.ts","sourceRoot":"","sources":["../../../src/ui/components/message-display.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAiD/C,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+C9F;AAGD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,OAAO,EAAE,EACnB,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAqBzC"}
@@ -1,104 +0,0 @@
1
- import { ensureScreenBuffer, createColorAttr, colors, wrapText } from '../terminal-kit-base.js';
2
- // Role color mapping (from UI_ELEMENTS_REFERENCE.md)
3
- function getRoleColor(role) {
4
- switch (role) {
5
- case 'user':
6
- return colors.primary; // #00ccff (Cyan)
7
- case 'assistant':
8
- return colors.success; // #00cc66 (Green)
9
- case 'system':
10
- return colors.warning; // #ffaa00 (Orange)
11
- case 'tool':
12
- return colors.primary; // #00ccff (Cyan)
13
- default:
14
- return colors.text; // #ffffff (White)
15
- }
16
- }
17
- // Role label mapping
18
- function getRoleLabel(role) {
19
- switch (role) {
20
- case 'user':
21
- return 'You';
22
- case 'assistant':
23
- return 'Centaurus';
24
- case 'system':
25
- return 'System';
26
- case 'tool':
27
- return 'Tool';
28
- default:
29
- return role;
30
- }
31
- }
32
- // Format timestamp: HH:MM:SS AM/PM (e.g., "10:43:31 am")
33
- function formatTimestamp(timestamp) {
34
- if (!timestamp)
35
- return '';
36
- const date = new Date(timestamp);
37
- return date.toLocaleTimeString('en-US', {
38
- hour: '2-digit',
39
- minute: '2-digit',
40
- second: '2-digit',
41
- hour12: true,
42
- }).toLowerCase();
43
- }
44
- // Render a single message
45
- // Returns the number of lines rendered
46
- export function renderMessage(message, x, y, maxWidth) {
47
- let currentY = y;
48
- // Format: {RoleLabel}: {timestamp}
49
- const roleLabel = getRoleLabel(message.role);
50
- const timestamp = formatTimestamp(message.timestamp);
51
- const roleColor = getRoleColor(message.role);
52
- const roleAttr = createColorAttr(roleColor, true); // Bold
53
- const timestampAttr = createColorAttr(colors.dimmed, false, true); // Dimmed
54
- // Render role and timestamp
55
- let headerText = `${roleLabel}:`;
56
- if (timestamp) {
57
- headerText += ` ${timestamp}`;
58
- }
59
- // Split header into role (colored, bold) and timestamp (dimmed)
60
- const buffer = ensureScreenBuffer();
61
- buffer.put({ x, y: currentY, attr: roleAttr }, roleLabel + ':');
62
- if (timestamp) {
63
- buffer.put({
64
- x: x + roleLabel.length + 1,
65
- y: currentY,
66
- attr: timestampAttr
67
- }, ' ' + timestamp);
68
- }
69
- currentY++;
70
- // Empty line after header
71
- currentY++;
72
- // Render message content (indented by 2 spaces, wrapped to fit width)
73
- const contentAttr = createColorAttr(colors.text); // White
74
- const contentMaxWidth = maxWidth - 4; // Leave some margin
75
- const wrappedLines = wrapText(message.content, contentMaxWidth);
76
- for (const line of wrappedLines) {
77
- buffer.put({ x: x + 2, y: currentY, attr: contentAttr }, line);
78
- currentY++;
79
- }
80
- // Bottom margin (1 line)
81
- currentY++;
82
- // Return total height
83
- return currentY - y;
84
- }
85
- // Render multiple messages
86
- export function renderMessages(messages, x, startY, maxWidth, maxHeight) {
87
- let currentY = startY;
88
- let renderedCount = 0;
89
- for (const message of messages) {
90
- // Check if we have space for at least the header
91
- if (currentY + 3 > startY + maxHeight) {
92
- break; // Out of space
93
- }
94
- // Skip tool messages (they're rendered by ToolExecutionMessage)
95
- if (message.toolExecution) {
96
- continue;
97
- }
98
- const height = renderMessage(message, x, currentY, maxWidth);
99
- currentY += height;
100
- renderedCount++;
101
- }
102
- return { endY: currentY, renderedCount };
103
- }
104
- //# sourceMappingURL=message-display.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-display.js","sourceRoot":"","sources":["../../../src/ui/components/message-display.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGhG,qDAAqD;AACrD,SAAS,YAAY,CAAC,IAAY;IAChC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,OAAO,CAAC,CAAG,iBAAiB;QAC5C,KAAK,WAAW;YACd,OAAO,MAAM,CAAC,OAAO,CAAC,CAAG,kBAAkB;QAC7C,KAAK,QAAQ;YACX,OAAO,MAAM,CAAC,OAAO,CAAC,CAAG,mBAAmB;QAC9C,KAAK,MAAM;YACT,OAAO,MAAM,CAAC,OAAO,CAAC,CAAG,iBAAiB;QAC5C;YACE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAM,kBAAkB;IAC/C,CAAC;AACH,CAAC;AAED,qBAAqB;AACrB,SAAS,YAAY,CAAC,IAAY;IAChC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,MAAM;YACT,OAAO,KAAK,CAAC;QACf,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAED,yDAAyD;AACzD,SAAS,eAAe,CAAC,SAAgB;IACvC,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAE1B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;QACtC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,IAAI;KACb,CAAC,CAAC,WAAW,EAAE,CAAC;AACnB,CAAC;AAED,0BAA0B;AAC1B,uCAAuC;AACvC,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,CAAS,EAAE,CAAS,EAAE,QAAgB;IACpF,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,mCAAmC;IACnC,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAErD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO;IAC1D,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS;IAE5E,4BAA4B;IAC5B,IAAI,UAAU,GAAG,GAAG,SAAS,GAAG,CAAC;IACjC,IAAI,SAAS,EAAE,CAAC;QACd,UAAU,IAAI,IAAI,SAAS,EAAE,CAAC;IAChC,CAAC;IAED,gEAAgE;IAChE,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;IACpC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,CAAC;IAChE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,CAAC,GAAG,CAAC;YACT,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;YAC3B,CAAC,EAAE,QAAQ;YACX,IAAI,EAAE,aAAa;SACpB,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC;IACtB,CAAC;IACD,QAAQ,EAAE,CAAC;IAEX,0BAA0B;IAC1B,QAAQ,EAAE,CAAC;IAEX,sEAAsE;IACtE,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;IAC1D,MAAM,eAAe,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,oBAAoB;IAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEhE,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,CAAC;QAC/D,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,yBAAyB;IACzB,QAAQ,EAAE,CAAC;IAEX,sBAAsB;IACtB,OAAO,QAAQ,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,cAAc,CAC5B,QAAmB,EACnB,CAAS,EACT,MAAc,EACd,QAAgB,EAChB,SAAiB;IAEjB,IAAI,QAAQ,GAAG,MAAM,CAAC;IACtB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,iDAAiD;QACjD,IAAI,QAAQ,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,eAAe;QACxB,CAAC;QAED,gEAAgE;QAChE,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC7D,QAAQ,IAAI,MAAM,CAAC;QACnB,aAAa,EAAE,CAAC;IAClB,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC;AAC3C,CAAC"}
@@ -1,28 +0,0 @@
1
- export interface FileOperationOptions {
2
- x: number;
3
- y: number;
4
- width: number;
5
- operation: 'create' | 'edit' | 'delete';
6
- filePath: string;
7
- }
8
- export declare function renderFileOperation(options: FileOperationOptions): number;
9
- export interface ToolExecutionStatusOptions {
10
- x: number;
11
- y: number;
12
- toolName: string;
13
- status: 'pending' | 'executing' | 'success' | 'error';
14
- result?: string;
15
- error?: string;
16
- }
17
- export declare function renderToolExecutionStatus(options: ToolExecutionStatusOptions): number;
18
- export interface ConfigViewerOptions {
19
- x: number;
20
- y: number;
21
- width: number;
22
- provider: string;
23
- model: string;
24
- apiKeyMasked: string;
25
- autoAcceptMode: boolean;
26
- }
27
- export declare function renderConfigViewer(options: ConfigViewerOptions): number;
28
- //# sourceMappingURL=misc.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../src/ui/components/misc.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,oBAAoB;IACnC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAiBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAsBzE;AAID,MAAM,WAAW,0BAA0B;IACzC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAWD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM,CAsDrF;AAID,MAAM,WAAW,mBAAmB;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAsDvE"}
@@ -1,128 +0,0 @@
1
- // Miscellaneous components (FileOperation, ToolExecutionStatus, ConfigViewer)
2
- // These are helper components not currently used in main flow but included for completeness
3
- import { screenBuffer, createColorAttr, colors, drawBox } from '../terminal-kit-base.js';
4
- function getOperationDetails(operation) {
5
- switch (operation) {
6
- case 'create':
7
- return { color: colors.success, icon: '+', label: 'CREATE' };
8
- case 'edit':
9
- return { color: colors.warning, icon: '~', label: 'EDIT' };
10
- case 'delete':
11
- return { color: colors.error, icon: '-', label: 'DELETE' };
12
- }
13
- }
14
- export function renderFileOperation(options) {
15
- const { x, y, width, operation, filePath } = options;
16
- const details = getOperationDetails(operation);
17
- const height = 4; // Border + header + empty + border
18
- drawBox({
19
- x,
20
- y,
21
- width,
22
- height,
23
- borderStyle: 'rounded',
24
- borderColor: details.color,
25
- });
26
- // Header: {icon} {OPERATION}: {filePath}
27
- const headerAttr = createColorAttr(details.color, true); // Bold
28
- const headerText = `${details.icon} ${details.label}: ${filePath}`;
29
- screenBuffer.put({ x: x + 2, y: y + 1, attr: headerAttr }, headerText);
30
- return height + 1;
31
- }
32
- const TOOL_INFO = {
33
- read_file: { verb: 'Reading file', emoji: '📖' },
34
- write_file: { verb: 'Writing file', emoji: '✍️' },
35
- edit_file: { verb: 'Editing file', emoji: '✏️' },
36
- list_directory: { verb: 'Listing directory', emoji: '📁' },
37
- execute_command: { verb: 'Executing command', emoji: '⚡' },
38
- grep_search: { verb: 'Searching files', emoji: '🔍' },
39
- };
40
- export function renderToolExecutionStatus(options) {
41
- const { x, y, toolName, status, result, error } = options;
42
- const toolInfo = TOOL_INFO[toolName] || { verb: 'Executing', emoji: '🔧' };
43
- let currentY = y;
44
- if (status === 'pending') {
45
- // ⏳ {verb}...
46
- const attr = createColorAttr(colors.dimmed, false, true); // Dimmed
47
- screenBuffer.put({ x, y: currentY, attr }, `⏳ ${toolInfo.verb}...`);
48
- return 1;
49
- }
50
- if (status === 'executing') {
51
- // {spinner icon} {emoji} {verb}...
52
- const attr = createColorAttr(colors.primary, true); // Cyan, bold
53
- screenBuffer.put({ x, y: currentY, attr }, `⏳ ${toolInfo.emoji} ${toolInfo.verb}...`);
54
- return 1;
55
- }
56
- if (status === 'success') {
57
- // ✓ {emoji} {verb}
58
- const attr = createColorAttr(colors.success, true); // Green, bold
59
- screenBuffer.put({ x, y: currentY, attr }, `✓ ${toolInfo.emoji} ${toolInfo.verb}`);
60
- currentY++;
61
- // Result (if < 300 chars, indented by 2 spaces)
62
- if (result && result.length < 300) {
63
- const resultAttr = createColorAttr(colors.dimmed); // Gray
64
- screenBuffer.put({ x: x + 2, y: currentY, attr: resultAttr }, result);
65
- currentY++;
66
- }
67
- return currentY - y;
68
- }
69
- if (status === 'error') {
70
- // ✗ {emoji} {verb} failed
71
- const attr = createColorAttr(colors.error, true); // Red, bold
72
- screenBuffer.put({ x, y: currentY, attr }, `✗ ${toolInfo.emoji} ${toolInfo.verb} failed`);
73
- currentY++;
74
- // Error (max 200 chars, indented by 2 spaces)
75
- if (error) {
76
- const errorAttr = createColorAttr(colors.error); // Red
77
- const truncatedError = error.slice(0, 200) + (error.length > 200 ? '...' : '');
78
- screenBuffer.put({ x: x + 2, y: currentY, attr: errorAttr }, truncatedError);
79
- currentY++;
80
- }
81
- return currentY - y;
82
- }
83
- return 0;
84
- }
85
- export function renderConfigViewer(options) {
86
- const { x, y, width, provider, model, apiKeyMasked, autoAcceptMode } = options;
87
- const height = 10; // Border + header + 4 config items + footer + border
88
- drawBox({
89
- x,
90
- y,
91
- width,
92
- height,
93
- borderStyle: 'rounded',
94
- borderColor: colors.primary, // #00ccff (Cyan)
95
- });
96
- let currentY = y + 1;
97
- // Header: "Current Configuration"
98
- const headerAttr = createColorAttr(colors.primary, true); // Cyan, bold
99
- screenBuffer.put({ x: x + 2, y: currentY, attr: headerAttr }, 'Current Configuration');
100
- currentY += 2; // Header + empty line
101
- // Config items
102
- const labelAttr = createColorAttr(colors.warning); // Orange
103
- const valueAttr = createColorAttr(colors.text); // White
104
- // Provider
105
- screenBuffer.put({ x: x + 2, y: currentY, attr: labelAttr }, 'Provider: ');
106
- screenBuffer.put({ x: x + 2 + 'Provider: '.length, y: currentY, attr: valueAttr }, provider);
107
- currentY += 2;
108
- // Model
109
- screenBuffer.put({ x: x + 2, y: currentY, attr: labelAttr }, 'Model: ');
110
- screenBuffer.put({ x: x + 2 + 'Model: '.length, y: currentY, attr: valueAttr }, model);
111
- currentY += 2;
112
- // API Key
113
- screenBuffer.put({ x: x + 2, y: currentY, attr: labelAttr }, 'API Key: ');
114
- screenBuffer.put({ x: x + 2 + 'API Key: '.length, y: currentY, attr: valueAttr }, apiKeyMasked);
115
- currentY += 2;
116
- // Auto-Accept
117
- const autoAcceptColor = autoAcceptMode ? colors.success : colors.error; // Green or Red
118
- const autoAcceptValue = autoAcceptMode ? 'ON' : 'OFF';
119
- const autoAcceptValueAttr = createColorAttr(autoAcceptColor);
120
- screenBuffer.put({ x: x + 2, y: currentY, attr: labelAttr }, 'Auto-Accept: ');
121
- screenBuffer.put({ x: x + 2 + 'Auto-Accept: '.length, y: currentY, attr: autoAcceptValueAttr }, autoAcceptValue);
122
- currentY += 2;
123
- // Footer: "Press ESC or Q to close"
124
- const footerAttr = createColorAttr(colors.dimmed, false, true); // Dimmed
125
- screenBuffer.put({ x: x + 2, y: currentY, attr: footerAttr }, 'Press ESC or Q to close');
126
- return height + 1;
127
- }
128
- //# sourceMappingURL=misc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../src/ui/components/misc.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4FAA4F;AAE5F,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAYzF,SAAS,mBAAmB,CAAC,SAAuC;IAKlE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QAC/D,KAAK,MAAM;YACT,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC7D,KAAK,QAAQ;YACX,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACrD,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAE/C,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,mCAAmC;IAErD,OAAO,CAAC;QACN,CAAC;QACD,CAAC;QACD,KAAK;QACL,MAAM;QACN,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,OAAO,CAAC,KAAK;KAC3B,CAAC,CAAC;IAEH,yCAAyC;IACzC,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO;IAChE,MAAM,UAAU,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;IAEnE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,UAAU,CAAC,CAAC;IAEvE,OAAO,MAAM,GAAG,CAAC,CAAC;AACpB,CAAC;AAaD,MAAM,SAAS,GAAoD;IACjE,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE;IACjD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE;IAChD,cAAc,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE;IAC1D,eAAe,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE;IAC1D,WAAW,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE;CACtD,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,OAAmC;IAC3E,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAE3E,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,cAAc;QACd,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS;QACnE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;QACpE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,mCAAmC;QACnC,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa;QACjE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;QACtF,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,mBAAmB;QACnB,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc;QAClE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACnF,QAAQ,EAAE,CAAC;QAEX,gDAAgD;QAChD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YAC1D,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,CAAC;YACtE,QAAQ,EAAE,CAAC;QACb,CAAC;QAED,OAAO,QAAQ,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,0BAA0B;QAC1B,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,YAAY;QAC9D,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,SAAS,CAAC,CAAC;QAC1F,QAAQ,EAAE,CAAC;QAEX,8CAA8C;QAC9C,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;YACvD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/E,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,cAAc,CAAC,CAAC;YAC7E,QAAQ,EAAE,CAAC;QACb,CAAC;QAED,OAAO,QAAQ,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAcD,MAAM,UAAU,kBAAkB,CAAC,OAA4B;IAC7D,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC;IAE/E,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,qDAAqD;IAExE,OAAO,CAAC;QACN,CAAC;QACD,CAAC;QACD,KAAK;QACL,MAAM;QACN,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,iBAAiB;KAC/C,CAAC,CAAC;IAEH,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC;IAErB,kCAAkC;IAClC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa;IACvE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,uBAAuB,CAAC,CAAC;IACvF,QAAQ,IAAI,CAAC,CAAC,CAAC,sBAAsB;IAErC,eAAe;IACf,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;IAC5D,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;IAExD,WAAW;IACX,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,YAAY,CAAC,CAAC;IAC3E,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC7F,QAAQ,IAAI,CAAC,CAAC;IAEd,QAAQ;IACR,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;IACxE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;IACvF,QAAQ,IAAI,CAAC,CAAC;IAEd,UAAU;IACV,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,WAAW,CAAC,CAAC;IAC1E,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,YAAY,CAAC,CAAC;IAChG,QAAQ,IAAI,CAAC,CAAC;IAEd,cAAc;IACd,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe;IACvF,MAAM,eAAe,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,MAAM,mBAAmB,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;IAE7D,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,eAAe,CAAC,CAAC;IAC9E,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,eAAe,CAAC,CAAC;IACjH,QAAQ,IAAI,CAAC,CAAC;IAEd,oCAAoC;IACpC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS;IACzE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,yBAAyB,CAAC,CAAC;IAEzF,OAAO,MAAM,GAAG,CAAC,CAAC;AACpB,CAAC"}
@@ -1,13 +0,0 @@
1
- export interface SelectPromptOptions {
2
- x: number;
3
- y: number;
4
- width: number;
5
- message: string;
6
- choices: Array<{
7
- label: string;
8
- value: string;
9
- }>;
10
- }
11
- export declare function renderSelectPrompt(options: SelectPromptOptions): number;
12
- export declare function waitForSelection(options: SelectPromptOptions): Promise<string | null>;
13
- //# sourceMappingURL=select-prompt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"select-prompt.d.ts","sourceRoot":"","sources":["../../../src/ui/components/select-prompt.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAGD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAqBvE;AAGD,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA2BxB"}