@timetotest/cli 0.2.3 → 0.3.0

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 (200) hide show
  1. package/README.md +49 -40
  2. package/dist/bin/ttt.js +0 -2
  3. package/dist/bin/ttt.js.map +1 -1
  4. package/dist/package.json +13 -6
  5. package/dist/src/commands/chat/ChatApp.js +270 -100
  6. package/dist/src/commands/chat/ChatApp.js.map +1 -1
  7. package/dist/src/commands/chat/components/Banner.js +1 -1
  8. package/dist/src/commands/chat/components/ChatInput.js +97 -36
  9. package/dist/src/commands/chat/components/ChatInput.js.map +1 -1
  10. package/dist/src/commands/chat/components/ChatMessage.js +102 -0
  11. package/dist/src/commands/chat/components/ChatMessage.js.map +1 -0
  12. package/dist/src/commands/chat/components/MessageBubble.js +2 -1
  13. package/dist/src/commands/chat/components/MessageBubble.js.map +1 -1
  14. package/dist/src/commands/chat/components/PermissionPrompt.js +92 -0
  15. package/dist/src/commands/chat/components/PermissionPrompt.js.map +1 -0
  16. package/dist/src/commands/chat/components/StatusIndicator.js +21 -5
  17. package/dist/src/commands/chat/components/StatusIndicator.js.map +1 -1
  18. package/dist/src/commands/chat/components/ToolCallDisplay.js +141 -0
  19. package/dist/src/commands/chat/components/ToolCallDisplay.js.map +1 -0
  20. package/dist/src/commands/chat-ink.js +389 -61
  21. package/dist/src/commands/chat-ink.js.map +1 -1
  22. package/dist/src/commands/login.js +5 -5
  23. package/dist/src/commands/login.js.map +1 -1
  24. package/dist/src/commands/test.js +14 -194
  25. package/dist/src/commands/test.js.map +1 -1
  26. package/dist/src/lib/__tests__/code-mode-integration.test.js +381 -0
  27. package/dist/src/lib/__tests__/code-mode-integration.test.js.map +1 -0
  28. package/dist/src/lib/__tests__/config-manager.test.js +81 -0
  29. package/dist/src/lib/__tests__/config-manager.test.js.map +1 -0
  30. package/dist/src/lib/__tests__/mode-persistence-integration.test.js +75 -0
  31. package/dist/src/lib/__tests__/mode-persistence-integration.test.js.map +1 -0
  32. package/dist/src/lib/__tests__/permission-flow-integration.test.js +145 -0
  33. package/dist/src/lib/__tests__/permission-flow-integration.test.js.map +1 -0
  34. package/dist/src/lib/__tests__/permissions.test.js +132 -0
  35. package/dist/src/lib/__tests__/permissions.test.js.map +1 -0
  36. package/dist/src/lib/agent-orchestrator.js +263 -4
  37. package/dist/src/lib/agent-orchestrator.js.map +1 -1
  38. package/dist/src/lib/config.js +40 -0
  39. package/dist/src/lib/config.js.map +1 -1
  40. package/dist/src/lib/context-compactor.js +310 -0
  41. package/dist/src/lib/context-compactor.js.map +1 -0
  42. package/dist/src/lib/http.js +8 -0
  43. package/dist/src/lib/http.js.map +1 -1
  44. package/dist/src/lib/local-tools/code/__tests__/grep-search.test.js +146 -0
  45. package/dist/src/lib/local-tools/code/__tests__/grep-search.test.js.map +1 -0
  46. package/dist/src/lib/local-tools/code/__tests__/list-directory.test.js +192 -0
  47. package/dist/src/lib/local-tools/code/__tests__/list-directory.test.js.map +1 -0
  48. package/dist/src/lib/local-tools/code/__tests__/read-file.test.js +169 -0
  49. package/dist/src/lib/local-tools/code/__tests__/read-file.test.js.map +1 -0
  50. package/dist/src/lib/local-tools/code/__tests__/run-command.test.js +101 -0
  51. package/dist/src/lib/local-tools/code/__tests__/run-command.test.js.map +1 -0
  52. package/dist/src/lib/local-tools/code/__tests__/search-files.test.js +191 -0
  53. package/dist/src/lib/local-tools/code/__tests__/search-files.test.js.map +1 -0
  54. package/dist/src/lib/local-tools/code/grep-search.js +404 -0
  55. package/dist/src/lib/local-tools/code/grep-search.js.map +1 -0
  56. package/dist/src/lib/local-tools/code/index.js +11 -0
  57. package/dist/src/lib/local-tools/code/index.js.map +1 -0
  58. package/dist/src/lib/local-tools/code/list-directory.js +276 -0
  59. package/dist/src/lib/local-tools/code/list-directory.js.map +1 -0
  60. package/dist/src/lib/local-tools/code/read-file.js +301 -0
  61. package/dist/src/lib/local-tools/code/read-file.js.map +1 -0
  62. package/dist/src/lib/local-tools/code/run-command.js +235 -0
  63. package/dist/src/lib/local-tools/code/run-command.js.map +1 -0
  64. package/dist/src/lib/local-tools/code/search-files.js +297 -0
  65. package/dist/src/lib/local-tools/code/search-files.js.map +1 -0
  66. package/dist/src/lib/local-tools/code/types.js +6 -0
  67. package/dist/src/lib/local-tools/code/types.js.map +1 -0
  68. package/dist/src/lib/local-tools/ui/playwright-mcp.js +1 -1
  69. package/dist/src/lib/permissions.js +94 -0
  70. package/dist/src/lib/permissions.js.map +1 -0
  71. package/dist/src/lib/prompts/builder.js +13 -10
  72. package/dist/src/lib/prompts/builder.js.map +1 -1
  73. package/dist/src/lib/prompts/templates.js +78 -0
  74. package/dist/src/lib/prompts/templates.js.map +1 -1
  75. package/dist/src/lib/session-manager.js.map +1 -1
  76. package/dist/src/lib/testing-mode.js +2 -2
  77. package/dist/src/lib/testing-mode.js.map +1 -1
  78. package/dist/src/lib/tool-executor.js +131 -2
  79. package/dist/src/lib/tool-executor.js.map +1 -1
  80. package/dist/src/lib/tool-registry.js +171 -3
  81. package/dist/src/lib/tool-registry.js.map +1 -1
  82. package/dist/src/lib/tool-result-pruner.js +4 -4
  83. package/dist/src/lib/tool-result-pruner.js.map +1 -1
  84. package/dist/src/lib/tui/ink/components/AppFrame.js +17 -0
  85. package/dist/src/lib/tui/ink/components/AppFrame.js.map +1 -0
  86. package/dist/src/lib/tui/ink/components/CommandPalette.js +24 -0
  87. package/dist/src/lib/tui/ink/components/CommandPalette.js.map +1 -0
  88. package/dist/src/lib/tui/ink/components/Pill.js +19 -0
  89. package/dist/src/lib/tui/ink/components/Pill.js.map +1 -0
  90. package/dist/src/lib/tui/ink/components/TimetoTestLogo.js +30 -0
  91. package/dist/src/lib/tui/ink/components/TimetoTestLogo.js.map +1 -0
  92. package/dist/src/lib/tui/ink/theme.js +28 -0
  93. package/dist/src/lib/tui/ink/theme.js.map +1 -0
  94. package/dist/src/lib/tui/interactive-chat.js +35 -35
  95. package/dist/src/lib/tui/interactive-chat.js.map +1 -1
  96. package/dist/src/lib/tui/print.js +18 -18
  97. package/dist/src/lib/tui/print.js.map +1 -1
  98. package/dist/src/lib/tui/prompt.js +3 -3
  99. package/dist/src/lib/tui/prompt.js.map +1 -1
  100. package/dist/src/lib/tui/status.js +1 -1
  101. package/dist/src/lib/tui/status.js.map +1 -1
  102. package/dist/src/lib/update.js +10 -10
  103. package/dist/src/lib/update.js.map +1 -1
  104. package/package.json +13 -6
  105. package/dist/src/commands/ask/AskApp.js +0 -121
  106. package/dist/src/commands/ask/AskApp.js.map +0 -1
  107. package/dist/src/commands/ask/components/AssistantResponse.js +0 -31
  108. package/dist/src/commands/ask/components/AssistantResponse.js.map +0 -1
  109. package/dist/src/commands/ask/components/Banner.js +0 -15
  110. package/dist/src/commands/ask/components/Banner.js.map +0 -1
  111. package/dist/src/commands/ask/components/ChatInput.js +0 -93
  112. package/dist/src/commands/ask/components/ChatInput.js.map +0 -1
  113. package/dist/src/commands/ask/components/Divider.js +0 -17
  114. package/dist/src/commands/ask/components/Divider.js.map +0 -1
  115. package/dist/src/commands/ask/components/IntroTips.js +0 -19
  116. package/dist/src/commands/ask/components/IntroTips.js.map +0 -1
  117. package/dist/src/commands/ask/components/MessageBubble.js +0 -47
  118. package/dist/src/commands/ask/components/MessageBubble.js.map +0 -1
  119. package/dist/src/commands/ask/components/SessionInfo.js +0 -20
  120. package/dist/src/commands/ask/components/SessionInfo.js.map +0 -1
  121. package/dist/src/commands/ask/components/StatusIndicator.js +0 -67
  122. package/dist/src/commands/ask/components/StatusIndicator.js.map +0 -1
  123. package/dist/src/commands/ask-ink.js +0 -380
  124. package/dist/src/commands/ask-ink.js.map +0 -1
  125. package/dist/src/commands/ask.js +0 -991
  126. package/dist/src/commands/ask.js.map +0 -1
  127. package/dist/src/commands/chat/components/Divider.js +0 -7
  128. package/dist/src/commands/chat/components/Divider.js.map +0 -1
  129. package/dist/src/commands/chat/components/SessionInfo.js +0 -11
  130. package/dist/src/commands/chat/components/SessionInfo.js.map +0 -1
  131. package/dist/src/commands/chat.js +0 -82
  132. package/dist/src/commands/chat.js.map +0 -1
  133. package/dist/src/commands/start-test.js +0 -119
  134. package/dist/src/commands/start-test.js.map +0 -1
  135. package/dist/src/commands/stream.js +0 -17
  136. package/dist/src/commands/stream.js.map +0 -1
  137. package/dist/src/lib/legacy-chat-runner.js +0 -37
  138. package/dist/src/lib/legacy-chat-runner.js.map +0 -1
  139. package/dist/src/lib/local-tools/ui/click-element.js +0 -105
  140. package/dist/src/lib/local-tools/ui/click-element.js.map +0 -1
  141. package/dist/src/lib/local-tools/ui/dom-rag.js +0 -201
  142. package/dist/src/lib/local-tools/ui/dom-rag.js.map +0 -1
  143. package/dist/src/lib/local-tools/ui/find-element.js +0 -31
  144. package/dist/src/lib/local-tools/ui/find-element.js.map +0 -1
  145. package/dist/src/lib/local-tools/ui/hover-element.js +0 -94
  146. package/dist/src/lib/local-tools/ui/hover-element.js.map +0 -1
  147. package/dist/src/lib/local-tools/ui/manage-tab.js +0 -65
  148. package/dist/src/lib/local-tools/ui/manage-tab.js.map +0 -1
  149. package/dist/src/lib/local-tools/ui/navigate.js +0 -35
  150. package/dist/src/lib/local-tools/ui/navigate.js.map +0 -1
  151. package/dist/src/lib/local-tools/ui/page-discovery.js +0 -32
  152. package/dist/src/lib/local-tools/ui/page-discovery.js.map +0 -1
  153. package/dist/src/lib/local-tools/ui/screenshot.js +0 -19
  154. package/dist/src/lib/local-tools/ui/screenshot.js.map +0 -1
  155. package/dist/src/lib/local-tools/ui/search-interactive-elements.js +0 -18
  156. package/dist/src/lib/local-tools/ui/search-interactive-elements.js.map +0 -1
  157. package/dist/src/lib/local-tools/ui/selector-resolver.js +0 -153
  158. package/dist/src/lib/local-tools/ui/selector-resolver.js.map +0 -1
  159. package/dist/src/lib/local-tools/ui/type-text.js +0 -40
  160. package/dist/src/lib/local-tools/ui/type-text.js.map +0 -1
  161. package/dist/src/lib/tui/components/AskIntro.js +0 -6
  162. package/dist/src/lib/tui/components/AskIntro.js.map +0 -1
  163. package/dist/src/lib/tui/components/Banner.js +0 -15
  164. package/dist/src/lib/tui/components/Banner.js.map +0 -1
  165. package/dist/src/lib/tui/components/Divider.js +0 -17
  166. package/dist/src/lib/tui/components/Divider.js.map +0 -1
  167. package/dist/src/lib/tui/components/EventLine.js +0 -110
  168. package/dist/src/lib/tui/components/EventLine.js.map +0 -1
  169. package/dist/src/lib/tui/components/Header.js +0 -15
  170. package/dist/src/lib/tui/components/Header.js.map +0 -1
  171. package/dist/src/lib/tui/components/InputBox.js +0 -9
  172. package/dist/src/lib/tui/components/InputBox.js.map +0 -1
  173. package/dist/src/lib/tui/components/Mapping.js +0 -8
  174. package/dist/src/lib/tui/components/Mapping.js.map +0 -1
  175. package/dist/src/lib/tui/components/ProjectList.js +0 -6
  176. package/dist/src/lib/tui/components/ProjectList.js.map +0 -1
  177. package/dist/src/lib/tui/components/Spinner.js +0 -20
  178. package/dist/src/lib/tui/components/Spinner.js.map +0 -1
  179. package/dist/src/lib/tui/components/StatusBanner.js +0 -12
  180. package/dist/src/lib/tui/components/StatusBanner.js.map +0 -1
  181. package/dist/src/lib/tui/components/StatusBar.js +0 -11
  182. package/dist/src/lib/tui/components/StatusBar.js.map +0 -1
  183. package/dist/src/lib/tui/components/UserBubble.js +0 -6
  184. package/dist/src/lib/tui/components/UserBubble.js.map +0 -1
  185. package/dist/src/lib/tui/components/index.js +0 -16
  186. package/dist/src/lib/tui/components/index.js.map +0 -1
  187. package/dist/src/lib/tui/ink-print.js +0 -41
  188. package/dist/src/lib/tui/ink-print.js.map +0 -1
  189. package/dist/src/test-agent-flow.js +0 -148
  190. package/dist/src/test-agent-flow.js.map +0 -1
  191. package/dist/src/test-browser-session.js +0 -152
  192. package/dist/src/test-browser-session.js.map +0 -1
  193. package/dist/src/test-browser-snapshot.js +0 -187
  194. package/dist/src/test-browser-snapshot.js.map +0 -1
  195. package/dist/src/test-snapshot-detailed.js +0 -219
  196. package/dist/src/test-snapshot-detailed.js.map +0 -1
  197. package/dist/src/test-snapshot-simple.js +0 -85
  198. package/dist/src/test-snapshot-simple.js.map +0 -1
  199. package/dist/src/test-snapshot-tabs.js +0 -110
  200. package/dist/src/test-snapshot-tabs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ChatApp.js","sourceRoot":"","sources":["../../../../src/commands/chat/ChatApp.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatApp.js","sourceRoot":"","sources":["../../../../src/commands/chat/ChatApp.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export const Banner = ({ user, mode, path, version = "v0.63.0" }) => {
5
5
  React.createElement(Box, { marginBottom: 1 },
6
6
  React.createElement(Text, { color: "gray" },
7
7
  ">_ ",
8
- React.createElement(Text, { color: "white", bold: true }, "TimeToTest CLI"),
8
+ React.createElement(Text, { color: "white", bold: true }, "TimetoTest CLI"),
9
9
  " ",
10
10
  React.createElement(Text, { color: "gray" },
11
11
  "(",
@@ -1,73 +1,134 @@
1
- import React, { useState } from "react";
1
+ import React, { useEffect, useState } from "react";
2
2
  import { Box, Text, useInput } from "ink";
3
3
  import TextInput from "ink-text-input";
4
- export const ChatInput = ({ placeholder, onSubmit, getSuggestions, disabled, }) => {
5
- const [query, setQuery] = useState("");
4
+ import { inkTheme } from "../../../lib/tui/ink/theme.js";
5
+ export const ChatInput = ({ placeholder, value, onChange, onSubmit, onCancel, getSuggestions, disabled, onHistoryUp, onHistoryDown, testingMode, directory, hintsRight, onToggleMode, }) => {
6
6
  const [selectedIndex, setSelectedIndex] = useState(0);
7
7
  const [windowStart, setWindowStart] = useState(0);
8
- const allSuggestions = query.startsWith("/") && getSuggestions ? getSuggestions(query) : [];
8
+ const allSuggestions = value.startsWith("/") && getSuggestions ? getSuggestions(value) : [];
9
9
  const VISIBLE_ITEMS = 5;
10
+ // Keep indices in bounds and keep the selected item visible.
11
+ useEffect(() => {
12
+ if (allSuggestions.length === 0) {
13
+ if (selectedIndex !== 0)
14
+ setSelectedIndex(0);
15
+ if (windowStart !== 0)
16
+ setWindowStart(0);
17
+ return;
18
+ }
19
+ const clampedIndex = Math.min(selectedIndex, allSuggestions.length - 1);
20
+ if (clampedIndex !== selectedIndex) {
21
+ setSelectedIndex(clampedIndex);
22
+ }
23
+ const maxWindowStart = Math.max(0, allSuggestions.length - VISIBLE_ITEMS);
24
+ let nextWindowStart = Math.max(0, Math.min(maxWindowStart, windowStart));
25
+ if (clampedIndex < nextWindowStart) {
26
+ nextWindowStart = clampedIndex;
27
+ }
28
+ else if (clampedIndex >= nextWindowStart + VISIBLE_ITEMS) {
29
+ nextWindowStart = Math.min(maxWindowStart, clampedIndex - VISIBLE_ITEMS + 1);
30
+ }
31
+ if (nextWindowStart !== windowStart) {
32
+ setWindowStart(nextWindowStart);
33
+ }
34
+ }, [allSuggestions.length, selectedIndex, windowStart]);
10
35
  const suggestions = allSuggestions.slice(windowStart, windowStart + VISIBLE_ITEMS);
36
+ const remainingCount = Math.max(0, allSuggestions.length - (windowStart + VISIBLE_ITEMS));
11
37
  useInput((input, key) => {
12
- if (allSuggestions.length === 0)
38
+ if (key.escape) {
39
+ onCancel?.();
40
+ return;
41
+ }
42
+ if (key.ctrl && input === "c") {
43
+ onCancel?.();
44
+ return;
45
+ }
46
+ if (disabled) {
13
47
  return;
48
+ }
49
+ if (key.tab) {
50
+ onToggleMode?.();
51
+ return;
52
+ }
53
+ // History navigation when not showing suggestions.
54
+ if (allSuggestions.length === 0) {
55
+ if (key.upArrow) {
56
+ onHistoryUp?.();
57
+ }
58
+ else if (key.downArrow) {
59
+ onHistoryDown?.();
60
+ }
61
+ return;
62
+ }
14
63
  if (key.downArrow) {
15
64
  const nextIndex = Math.min(selectedIndex + 1, allSuggestions.length - 1);
16
65
  setSelectedIndex(nextIndex);
17
- if (nextIndex >= windowStart + VISIBLE_ITEMS) {
18
- setWindowStart(windowStart + 1);
19
- }
20
66
  }
21
67
  if (key.upArrow) {
22
68
  const prevIndex = Math.max(selectedIndex - 1, 0);
23
69
  setSelectedIndex(prevIndex);
24
- if (prevIndex < windowStart) {
25
- setWindowStart(windowStart - 1);
26
- }
27
70
  }
28
71
  if (key.return) {
29
72
  const selected = allSuggestions[selectedIndex];
30
73
  if (selected) {
31
- setQuery(selected.value + " ");
74
+ onChange(selected.value + " ");
32
75
  // Optional: Submit immediately if desired, or just autocomplete
33
- // onSubmit(selected.value);
76
+ // onSubmit(selected.value);
34
77
  }
35
78
  }
36
79
  });
37
- // Reset selection when query changes
38
- if (query !== "" && allSuggestions.length > 0 && !allSuggestions[selectedIndex]) {
39
- setSelectedIndex(0);
40
- setWindowStart(0);
41
- }
42
- return (React.createElement(Box, { flexDirection: "column" },
43
- React.createElement(Box, { width: "100%", paddingX: 1, paddingY: 1, backgroundColor: "#666666" // Lighter grey background
44
- },
45
- React.createElement(Box, null,
46
- React.createElement(Text, { color: "white", bold: true }, "> "),
47
- disabled ? (React.createElement(Text, { color: "gray" }, query)) : (React.createElement(TextInput, { value: query, onChange: (val) => {
48
- setQuery(val);
49
- setSelectedIndex(0);
50
- setWindowStart(0);
51
- }, onSubmit: (val) => {
52
- setQuery("");
53
- onSubmit(val);
54
- }, placeholder: placeholder })))),
55
- suggestions.length > 0 && (React.createElement(Box, { flexDirection: "column", borderStyle: "single", borderColor: "gray", marginTop: 0, paddingX: 1 },
80
+ return (React.createElement(Box, { flexDirection: "column", overflow: "hidden" },
81
+ React.createElement(Box, { flexDirection: "row" },
82
+ React.createElement(Box, { width: 1, backgroundColor: "#0ea5e9" }),
83
+ React.createElement(Box, { flexGrow: 1, minWidth: 0, paddingX: 2, paddingY: 1, backgroundColor: "#333333", overflow: "hidden" }, disabled ? (React.createElement(Text, { color: inkTheme.colors.text.muted }, value)) : (React.createElement(TextInput, { value: value, onChange: (val) => {
84
+ onChange(val);
85
+ setSelectedIndex(0);
86
+ setWindowStart(0);
87
+ }, onSubmit: (val) => {
88
+ onChange("");
89
+ onSubmit(val);
90
+ }, placeholder: placeholder })))),
91
+ React.createElement(Box, { flexDirection: "row" },
92
+ React.createElement(Box, { width: 1, backgroundColor: "#0ea5e9" }),
93
+ React.createElement(Box, { flexDirection: "row", flexGrow: 1, minWidth: 0, paddingX: 2, paddingBottom: 1, backgroundColor: "#333333", overflow: "hidden" },
94
+ React.createElement(Box, { flexGrow: 1 },
95
+ React.createElement(Text, { color: testingMode === "ui" ? "#3b82f6" : inkTheme.colors.text.muted, dimColor: testingMode !== "ui", bold: testingMode === "ui" }, "UI"),
96
+ React.createElement(Text, { color: inkTheme.colors.text.muted }, " / "),
97
+ React.createElement(Text, { color: testingMode === "api" ? "#3b82f6" : inkTheme.colors.text.muted, dimColor: testingMode !== "api", bold: testingMode === "api" }, "API"),
98
+ React.createElement(Text, { color: inkTheme.colors.text.muted }, " / "),
99
+ React.createElement(Text, { color: testingMode === "code" ? "#22c55e" : inkTheme.colors.text.muted, dimColor: testingMode !== "code", bold: testingMode === "code" }, "Code")),
100
+ React.createElement(Text, { color: inkTheme.colors.text.muted, dimColor: true }, hintsRight ??
101
+ (testingMode === "code" ? (React.createElement(Text, null,
102
+ React.createElement(Text, { bold: true, color: inkTheme.colors.text.primary }, "tab"),
103
+ " mode \u2022 read_file \u2022 grep_search \u2022 run_command")) : (React.createElement(Text, null,
104
+ React.createElement(Text, { bold: true, color: inkTheme.colors.text.primary }, "tab"),
105
+ " mode \u2022 ",
106
+ React.createElement(Text, { bold: true, color: inkTheme.colors.text.primary }, "ctrl+k"),
107
+ " commands")))))),
108
+ React.createElement(Box, { paddingX: 2, marginTop: 1, marginBottom: 1 },
109
+ React.createElement(Box, { flexGrow: 1 },
110
+ React.createElement(Text, { color: inkTheme.colors.text.muted, dimColor: true }, directory)),
111
+ React.createElement(Text, { color: inkTheme.colors.text.muted, dimColor: true },
112
+ React.createElement(Text, { bold: true }, "esc"),
113
+ " stop agent")),
114
+ suggestions.length > 0 && (React.createElement(Box, { flexDirection: "column", borderStyle: "single", borderColor: inkTheme.colors.border.default, paddingX: 1 },
56
115
  suggestions.map((suggestion, index) => {
57
116
  const globalIndex = windowStart + index;
58
117
  const isSelected = globalIndex === selectedIndex;
59
118
  return (React.createElement(Text, { key: suggestion.value },
60
- React.createElement(Text, { color: isSelected ? "cyan" : "white", bold: isSelected },
119
+ React.createElement(Text, { color: isSelected
120
+ ? inkTheme.colors.text.accent
121
+ : inkTheme.colors.text.primary, bold: isSelected },
61
122
  isSelected ? "> " : " ",
62
123
  suggestion.label),
63
124
  " ",
64
- React.createElement(Text, { color: "gray" },
125
+ React.createElement(Text, { color: inkTheme.colors.text.muted },
65
126
  "- ",
66
127
  suggestion.description)));
67
128
  }),
68
- allSuggestions.length > VISIBLE_ITEMS && (React.createElement(Text, { color: "gray", dimColor: true },
129
+ remainingCount > 0 && (React.createElement(Text, { color: inkTheme.colors.text.muted, dimColor: true },
69
130
  "... ",
70
- allSuggestions.length - VISIBLE_ITEMS,
131
+ remainingCount,
71
132
  " more (scroll with arrows)"))))));
72
133
  };
73
134
  //# sourceMappingURL=ChatInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInput.js","sourceRoot":"","sources":["../../../../../src/commands/chat/components/ChatInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AACtC,OAAO,EAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAC,MAAM,KAAK,CAAC;AACxC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAUvC,MAAM,CAAC,MAAM,SAAS,GAA6B,CAAC,EAClD,WAAW,EACX,QAAQ,EACR,cAAc,EACd,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEvC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAElD,MAAM,cAAc,GAClB,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvE,MAAM,aAAa,GAAG,CAAC,CAAC;IACxB,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa,CAAC,CAAC;IAEnF,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAExC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzE,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5B,IAAI,SAAS,IAAI,WAAW,GAAG,aAAa,EAAE,CAAC;gBAC7C,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5B,IAAI,SAAS,GAAG,WAAW,EAAE,CAAC;gBAC5B,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;YAC/C,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;gBAC/B,gEAAgE;gBAChE,6BAA6B;YAC/B,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qCAAqC;IACrC,IAAI,KAAK,KAAK,EAAE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9E,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACpB,cAAc,CAAC,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ;QACzB,oBAAC,GAAG,IACF,KAAK,EAAC,MAAM,EACZ,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,eAAe,EAAC,SAAS,CAAC,0BAA0B;;YAEpD,oBAAC,GAAG;gBACF,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,UAAE,IAAI,CAAQ;gBACrC,QAAQ,CAAC,CAAC,CAAC,CACV,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,IAAE,KAAK,CAAQ,CAClC,CAAC,CAAC,CAAC,CACF,oBAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;wBAChB,QAAQ,CAAC,GAAG,CAAC,CAAC;wBACd,gBAAgB,CAAC,CAAC,CAAC,CAAC;wBACpB,cAAc,CAAC,CAAC,CAAC,CAAC;oBACpB,CAAC,EACD,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;wBAChB,QAAQ,CAAC,EAAE,CAAC,CAAC;wBACb,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAChB,CAAC,EACD,WAAW,EAAE,WAAW,GACxB,CACH,CACG,CACF;QACL,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CACzB,oBAAC,GAAG,IACF,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAC,MAAM,EAClB,SAAS,EAAE,CAAC,EACZ,QAAQ,EAAE,CAAC;YAEV,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;gBACrC,MAAM,WAAW,GAAG,WAAW,GAAG,KAAK,CAAC;gBACxC,MAAM,UAAU,GAAG,WAAW,KAAK,aAAa,CAAC;gBACjD,OAAO,CACL,oBAAC,IAAI,IAAC,GAAG,EAAE,UAAU,CAAC,KAAK;oBACzB,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU;wBACzD,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;wBACxB,UAAU,CAAC,KAAK,CACZ;oBAAC,GAAG;oBACX,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM;;wBAAI,UAAU,CAAC,WAAW,CAAQ,CAC/C,CACR,CAAC;YACJ,CAAC,CAAC;YACD,cAAc,CAAC,MAAM,GAAG,aAAa,IAAI,CACvC,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,QAAQ;;gBACpB,cAAc,CAAC,MAAM,GAAG,aAAa;6CACrC,CACT,CACG,CACP,CACG,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"ChatInput.js","sourceRoot":"","sources":["../../../../../src/commands/chat/components/ChatInput.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ import React from "react";
2
+ import { Box, Text } from "ink";
3
+ import { inkTheme } from "../../../lib/tui/ink/theme.js";
4
+ function parseInlineMarkdown(text) {
5
+ const parts = [];
6
+ let lastIndex = 0;
7
+ const regex = /(\*\*|__)(.*?)\1|(\*|_)(.*?)\3|(`)(.*?)\5/g;
8
+ let match;
9
+ while ((match = regex.exec(text)) !== null) {
10
+ if (match.index > lastIndex) {
11
+ const plainText = text.slice(lastIndex, match.index);
12
+ parts.push(React.createElement(Text, { key: `text-${lastIndex}` }, plainText));
13
+ }
14
+ if (match[1]) {
15
+ // Bold
16
+ parts.push(React.createElement(Text, { key: `bold-${match.index}`, bold: true, color: "white" }, match[2]));
17
+ }
18
+ else if (match[3]) {
19
+ // Italics
20
+ parts.push(React.createElement(Text, { key: `italic-${match.index}`, italic: true }, match[4]));
21
+ }
22
+ else if (match[5]) {
23
+ // Inline Code
24
+ parts.push(React.createElement(Text, { key: `code-${match.index}`, color: "#3b82f6", bold: true }, ` ${match[6]} `));
25
+ }
26
+ lastIndex = regex.lastIndex;
27
+ }
28
+ if (lastIndex < text.length) {
29
+ parts.push(React.createElement(Text, { key: `text-end-${lastIndex}` }, text.slice(lastIndex)));
30
+ }
31
+ return React.createElement(Text, null, parts);
32
+ }
33
+ function renderMessageBlocks(content) {
34
+ const blocks = [];
35
+ const lines = content.split("\n");
36
+ let currentCodeBlock = null;
37
+ let currentLanguage = "";
38
+ for (let i = 0; i < lines.length; i++) {
39
+ const line = lines[i];
40
+ if (line.trim().startsWith("```")) {
41
+ if (currentCodeBlock !== null) {
42
+ // End code block
43
+ blocks.push(React.createElement(Box, { key: `code-block-${i}`, flexDirection: "column", paddingX: 1, borderStyle: "round", borderColor: "#404040" },
44
+ currentLanguage ? (React.createElement(Box, { marginBottom: 0 },
45
+ React.createElement(Text, { color: "#0ea5e9", bold: true, dimColor: true }, currentLanguage.toUpperCase()))) : null,
46
+ React.createElement(Text, { color: "#e5e5e5" }, currentCodeBlock.join("\n"))));
47
+ currentCodeBlock = null;
48
+ }
49
+ else {
50
+ // Start code block
51
+ currentCodeBlock = [];
52
+ currentLanguage = line.trim().slice(3).trim();
53
+ }
54
+ }
55
+ else if (currentCodeBlock !== null) {
56
+ currentCodeBlock.push(line);
57
+ }
58
+ else {
59
+ if (line.trim()) {
60
+ blocks.push(React.createElement(Box, { key: `text-line-${i}` },
61
+ React.createElement(Text, { color: inkTheme.colors.text.secondary }, parseInlineMarkdown(line))));
62
+ }
63
+ }
64
+ }
65
+ if (currentCodeBlock !== null) {
66
+ blocks.push(React.createElement(Box, { key: "unclosed-code-block", flexDirection: "column", paddingX: 1, borderStyle: "round", borderColor: "#404040" },
67
+ React.createElement(Text, { color: "#e5e5e5" }, currentCodeBlock.join("\n"))));
68
+ }
69
+ return React.createElement(React.Fragment, null, blocks);
70
+ }
71
+ function renderAssistantContent(content) {
72
+ // Check if content contains code blocks - only use block renderer for those
73
+ const hasCodeBlocks = content.includes("```");
74
+ if (hasCodeBlocks) {
75
+ return renderMessageBlocks(content);
76
+ }
77
+ // For simple text, just return Text directly with inline markdown
78
+ return (React.createElement(Text, { color: inkTheme.colors.text.secondary }, parseInlineMarkdown(content)));
79
+ }
80
+ export function ChatMessage(props) {
81
+ const { type, content, isError } = props;
82
+ const isUser = type === "user";
83
+ const isSystem = type === "system";
84
+ // Define accent color for the left bar
85
+ const leftBarColor = isSystem
86
+ ? inkTheme.colors.border.default
87
+ : isUser
88
+ ? "#0ea5e9"
89
+ : isError
90
+ ? "#ef4444"
91
+ : inkTheme.colors.border.default;
92
+ // Define text color
93
+ const textColor = isSystem
94
+ ? inkTheme.colors.text.muted
95
+ : inkTheme.colors.text.secondary;
96
+ // Render content
97
+ const messageContent = isUser || isSystem ? (React.createElement(Text, { color: textColor, dimColor: isSystem }, content)) : (renderAssistantContent(content));
98
+ return (React.createElement(Box, { flexDirection: "row", marginBottom: 1, overflow: "hidden" },
99
+ React.createElement(Box, { width: 1, backgroundColor: leftBarColor }),
100
+ React.createElement(Box, { flexGrow: 1, minWidth: 0, paddingX: 2, paddingY: 1, backgroundColor: isSystem ? undefined : inkTheme.colors.bg.elevated, overflow: "hidden" }, messageContent)));
101
+ }
102
+ //# sourceMappingURL=ChatMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatMessage.js","sourceRoot":"","sources":["../../../../../src/commands/chat/components/ChatMessage.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import React from "react";
2
2
  import { Box, Text } from "ink";
3
+ import { inkTheme } from "../../../lib/tui/ink/theme.js";
3
4
  export const MessageBubble = ({ message }) => {
4
- return (React.createElement(Box, { width: "100%", paddingX: 1, paddingY: 1, marginBottom: 1, backgroundColor: "#666666" },
5
+ return (React.createElement(Box, { flexGrow: 1, paddingX: 1, paddingY: 1, marginBottom: 1, backgroundColor: inkTheme.colors.bg.userBubble },
5
6
  React.createElement(Text, { color: "white", bold: true }, "> "),
6
7
  React.createElement(Text, { color: "white" }, message)));
7
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MessageBubble.js","sourceRoot":"","sources":["../../../../../src/commands/chat/components/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAE9B,MAAM,CAAC,MAAM,aAAa,GAAgC,CAAC,EAAC,OAAO,EAAC,EAAE,EAAE;IACtE,OAAO,CACL,oBAAC,GAAG,IACF,KAAK,EAAC,MAAM,EACZ,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,YAAY,EAAE,CAAC,EACf,eAAe,EAAC,SAAS;QAEzB,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,UAAE,IAAI,CAAQ;QACtC,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,IAAE,OAAO,CAAQ,CAChC,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"MessageBubble.js","sourceRoot":"","sources":["../../../../../src/commands/chat/components/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAgC,CAAC,EAAC,OAAO,EAAC,EAAE,EAAE;IACtE,OAAO,CACL,oBAAC,GAAG,IACF,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,YAAY,EAAE,CAAC,EACf,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU;QAE9C,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,UAAE,IAAI,CAAQ;QACtC,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,IAAE,OAAO,CAAQ,CAChC,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,92 @@
1
+ import React, { useState } from "react";
2
+ import { Box, Text, useInput } from "ink";
3
+ import { inkTheme } from "../../../lib/tui/ink/theme.js";
4
+ const OPTIONS = [
5
+ { value: "deny", label: "No, do something else", hint: "deny this action" },
6
+ { value: "allow_once", label: "Only this time", hint: "allow once" },
7
+ {
8
+ value: "allow_session",
9
+ label: "Allow for this conversation",
10
+ hint: "allow all similar actions",
11
+ },
12
+ ];
13
+ export const PermissionPrompt = ({ request, onResponse, }) => {
14
+ const [selectedIndex, setSelectedIndex] = useState(0);
15
+ useInput((input, key) => {
16
+ if (key.upArrow) {
17
+ setSelectedIndex((prev) => Math.max(0, prev - 1));
18
+ }
19
+ else if (key.downArrow) {
20
+ setSelectedIndex((prev) => Math.min(OPTIONS.length - 1, prev + 1));
21
+ }
22
+ else if (key.return) {
23
+ onResponse(OPTIONS[selectedIndex].value);
24
+ }
25
+ else if (key.escape) {
26
+ onResponse("deny");
27
+ }
28
+ });
29
+ const getCategoryIcon = () => {
30
+ switch (request.category) {
31
+ case "run_command":
32
+ return "⚡";
33
+ case "file_write":
34
+ return "📝";
35
+ case "file_delete":
36
+ return "🗑️";
37
+ default:
38
+ return "⚠️";
39
+ }
40
+ };
41
+ const getCategoryLabel = () => {
42
+ switch (request.category) {
43
+ case "run_command":
44
+ return "Run Command";
45
+ case "file_write":
46
+ return "Write File";
47
+ case "file_delete":
48
+ return "Delete File";
49
+ default:
50
+ return "Permission Required";
51
+ }
52
+ };
53
+ const getDetails = () => {
54
+ const { details } = request;
55
+ if (details.command) {
56
+ const cmd = details.args?.length
57
+ ? `${details.command} ${details.args.join(" ")}`
58
+ : details.command;
59
+ return cmd;
60
+ }
61
+ if (details.path) {
62
+ return details.path;
63
+ }
64
+ return request.description;
65
+ };
66
+ return (React.createElement(Box, { flexDirection: "column", borderStyle: "round", borderColor: "#f59e0b", paddingX: 2, paddingY: 1, marginY: 1 },
67
+ React.createElement(Box, { marginBottom: 1 },
68
+ React.createElement(Text, { color: "#f59e0b", bold: true },
69
+ getCategoryIcon(),
70
+ " ",
71
+ getCategoryLabel())),
72
+ React.createElement(Box, { marginBottom: 1 },
73
+ React.createElement(Text, { color: inkTheme.colors.text.secondary }, "The agent wants to perform this action:")),
74
+ React.createElement(Box, { backgroundColor: inkTheme.colors.bg.elevated, paddingX: 1, marginBottom: 1 },
75
+ React.createElement(Text, { color: inkTheme.colors.text.primary, wrap: "truncate-end" }, getDetails())),
76
+ React.createElement(Box, { flexDirection: "column", marginTop: 1 }, OPTIONS.map((option, index) => {
77
+ const isSelected = index === selectedIndex;
78
+ return (React.createElement(Box, { key: option.value },
79
+ React.createElement(Text, { color: isSelected
80
+ ? inkTheme.colors.text.accent
81
+ : inkTheme.colors.text.primary, bold: isSelected },
82
+ isSelected ? "❯ " : " ",
83
+ option.label),
84
+ React.createElement(Text, { color: inkTheme.colors.text.muted },
85
+ " (",
86
+ option.hint,
87
+ ")")));
88
+ })),
89
+ React.createElement(Box, { marginTop: 1 },
90
+ React.createElement(Text, { color: inkTheme.colors.text.muted, dimColor: true }, "\u2191\u2193 navigate \u2022 enter select \u2022 esc deny"))));
91
+ };
92
+ //# sourceMappingURL=PermissionPrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PermissionPrompt.js","sourceRoot":"","sources":["../../../../../src/commands/chat/components/PermissionPrompt.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,27 @@
1
- import React from "react";
1
+ import React, { useState, useEffect } from "react";
2
2
  import { Box, Text } from "ink";
3
3
  import Spinner from "ink-spinner";
4
4
  export const StatusIndicator = ({ message, type }) => {
5
+ const [pulse, setPulse] = useState(true);
6
+ useEffect(() => {
7
+ if (type !== "loading")
8
+ return;
9
+ const interval = setInterval(() => {
10
+ setPulse((p) => !p);
11
+ }, 800);
12
+ return () => clearInterval(interval);
13
+ }, [type]);
14
+ const color = type === "error"
15
+ ? "#ef4444"
16
+ : type === "success"
17
+ ? "#22c55e"
18
+ : type === "loading"
19
+ ? "#3b82f6"
20
+ : "gray";
5
21
  return (React.createElement(Box, null,
6
- type === "loading" && (React.createElement(Text, { color: "yellow" },
7
- React.createElement(Spinner, { type: "dots" }),
8
- " ")),
9
- React.createElement(Text, { color: type === "error" ? "red" : "gray" }, message)));
22
+ type === "loading" && (React.createElement(Box, { marginRight: 1 },
23
+ React.createElement(Text, { color: "#0ea5e9" },
24
+ React.createElement(Spinner, { type: "dots" })))),
25
+ React.createElement(Text, { color: color, dimColor: type === "loading" && !pulse }, message)));
10
26
  };
11
27
  //# sourceMappingURL=StatusIndicator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusIndicator.js","sourceRoot":"","sources":["../../../../../src/commands/chat/components/StatusIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,OAAO,MAAM,aAAa,CAAC;AAElC,MAAM,CAAC,MAAM,eAAe,GAGvB,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,EAAE;IACvB,OAAO,CACL,oBAAC,GAAG;QACD,IAAI,KAAK,SAAS,IAAI,CACrB,oBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ;YAClB,oBAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG;YAAC,GAAG,CACtB,CACR;QACD,oBAAC,IAAI,IAAC,KAAK,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAG,OAAO,CAAQ,CAC5D,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"StatusIndicator.js","sourceRoot":"","sources":["../../../../../src/commands/chat/components/StatusIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AACjD,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,OAAO,MAAM,aAAa,CAAC;AAElC,MAAM,CAAC,MAAM,eAAe,GAGvB,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,EAAE;IACvB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,KAAK,GACT,IAAI,KAAK,OAAO;QACd,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,KAAK,SAAS;YAClB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,KAAK,SAAS;gBAClB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,MAAM,CAAC;IAEjB,OAAO,CACL,oBAAC,GAAG;QACD,IAAI,KAAK,SAAS,IAAI,CACrB,oBAAC,GAAG,IAAC,WAAW,EAAE,CAAC;YACjB,oBAAC,IAAI,IAAC,KAAK,EAAC,SAAS;gBACnB,oBAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG,CAClB,CACH,CACP;QACD,oBAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,IACvD,OAAO,CACH,CACH,CACP,CAAC;AACJ,CAAC,CAAC"}