@timetotest/cli 0.1.11 → 0.2.1

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 (185) hide show
  1. package/README.md +201 -190
  2. package/dist/bin/ttt.js +4 -2
  3. package/dist/bin/ttt.js.map +1 -1
  4. package/dist/package.json +13 -2
  5. package/dist/src/commands/ask/AskApp.js +121 -0
  6. package/dist/src/commands/ask/AskApp.js.map +1 -0
  7. package/dist/src/commands/ask/components/AssistantResponse.js +31 -0
  8. package/dist/src/commands/ask/components/AssistantResponse.js.map +1 -0
  9. package/dist/src/commands/ask/components/Banner.js +15 -0
  10. package/dist/src/commands/ask/components/Banner.js.map +1 -0
  11. package/dist/src/commands/ask/components/ChatInput.js +93 -0
  12. package/dist/src/commands/ask/components/ChatInput.js.map +1 -0
  13. package/dist/src/commands/ask/components/Divider.js +17 -0
  14. package/dist/src/commands/ask/components/Divider.js.map +1 -0
  15. package/dist/src/commands/ask/components/IntroTips.js +19 -0
  16. package/dist/src/commands/ask/components/IntroTips.js.map +1 -0
  17. package/dist/src/commands/ask/components/MessageBubble.js +47 -0
  18. package/dist/src/commands/ask/components/MessageBubble.js.map +1 -0
  19. package/dist/src/commands/ask/components/SessionInfo.js +20 -0
  20. package/dist/src/commands/ask/components/SessionInfo.js.map +1 -0
  21. package/dist/src/commands/ask/components/StatusIndicator.js +67 -0
  22. package/dist/src/commands/ask/components/StatusIndicator.js.map +1 -0
  23. package/dist/src/commands/ask-ink.js +380 -0
  24. package/dist/src/commands/ask-ink.js.map +1 -0
  25. package/dist/src/commands/ask.js +73 -60
  26. package/dist/src/commands/ask.js.map +1 -1
  27. package/dist/src/commands/chat/ChatApp.js +125 -0
  28. package/dist/src/commands/chat/ChatApp.js.map +1 -0
  29. package/dist/src/commands/chat-ink.js +436 -0
  30. package/dist/src/commands/chat-ink.js.map +1 -0
  31. package/dist/src/commands/chat.js +82 -0
  32. package/dist/src/commands/chat.js.map +1 -0
  33. package/dist/src/commands/login.js +6 -4
  34. package/dist/src/commands/login.js.map +1 -1
  35. package/dist/src/commands/start-test.js +62 -88
  36. package/dist/src/commands/start-test.js.map +1 -1
  37. package/dist/src/commands/stream.js +9 -9
  38. package/dist/src/commands/stream.js.map +1 -1
  39. package/dist/src/commands/test.js +58 -125
  40. package/dist/src/commands/test.js.map +1 -1
  41. package/dist/src/lib/agent-orchestrator.js +546 -0
  42. package/dist/src/lib/agent-orchestrator.js.map +1 -0
  43. package/dist/src/lib/cloudinary-service.js +65 -0
  44. package/dist/src/lib/cloudinary-service.js.map +1 -0
  45. package/dist/src/lib/events.js +73 -60
  46. package/dist/src/lib/events.js.map +1 -1
  47. package/dist/src/lib/http.js +34 -1
  48. package/dist/src/lib/http.js.map +1 -1
  49. package/dist/src/lib/legacy-chat-runner.js +37 -0
  50. package/dist/src/lib/legacy-chat-runner.js.map +1 -0
  51. package/dist/src/lib/local-tools/api/api-discovery.js +17 -0
  52. package/dist/src/lib/local-tools/api/api-discovery.js.map +1 -0
  53. package/dist/src/lib/local-tools/api/build-request.js +20 -0
  54. package/dist/src/lib/local-tools/api/build-request.js.map +1 -0
  55. package/dist/src/lib/local-tools/api/extract-response-fields.js +26 -0
  56. package/dist/src/lib/local-tools/api/extract-response-fields.js.map +1 -0
  57. package/dist/src/lib/local-tools/api/generate-api-test.js +20 -0
  58. package/dist/src/lib/local-tools/api/generate-api-test.js.map +1 -0
  59. package/dist/src/lib/local-tools/api/generate-curl.js +8 -0
  60. package/dist/src/lib/local-tools/api/generate-curl.js.map +1 -0
  61. package/dist/src/lib/local-tools/api/get-api-parameters.js +17 -0
  62. package/dist/src/lib/local-tools/api/get-api-parameters.js.map +1 -0
  63. package/dist/src/lib/local-tools/api/index.js +10 -0
  64. package/dist/src/lib/local-tools/api/index.js.map +1 -0
  65. package/dist/src/lib/local-tools/api/request.js +43 -0
  66. package/dist/src/lib/local-tools/api/request.js.map +1 -0
  67. package/dist/src/lib/local-tools/api/set-auth-header.js +8 -0
  68. package/dist/src/lib/local-tools/api/set-auth-header.js.map +1 -0
  69. package/dist/src/lib/local-tools/api/types.js +2 -0
  70. package/dist/src/lib/local-tools/api/types.js.map +1 -0
  71. package/dist/src/lib/local-tools/api/utils.js +33 -0
  72. package/dist/src/lib/local-tools/api/utils.js.map +1 -0
  73. package/dist/src/lib/local-tools/api/validate-response.js +41 -0
  74. package/dist/src/lib/local-tools/api/validate-response.js.map +1 -0
  75. package/dist/src/lib/local-tools/file-tools.js +45 -0
  76. package/dist/src/lib/local-tools/file-tools.js.map +1 -0
  77. package/dist/src/lib/local-tools/general/discover-local-services.js +95 -0
  78. package/dist/src/lib/local-tools/general/discover-local-services.js.map +1 -0
  79. package/dist/src/lib/local-tools/general/index.js +2 -0
  80. package/dist/src/lib/local-tools/general/index.js.map +1 -0
  81. package/dist/src/lib/local-tools/ui/click-element.js +105 -0
  82. package/dist/src/lib/local-tools/ui/click-element.js.map +1 -0
  83. package/dist/src/lib/local-tools/ui/dom-rag.js +201 -0
  84. package/dist/src/lib/local-tools/ui/dom-rag.js.map +1 -0
  85. package/dist/src/lib/local-tools/ui/find-element.js +31 -0
  86. package/dist/src/lib/local-tools/ui/find-element.js.map +1 -0
  87. package/dist/src/lib/local-tools/ui/hover-element.js +94 -0
  88. package/dist/src/lib/local-tools/ui/hover-element.js.map +1 -0
  89. package/dist/src/lib/local-tools/ui/index.js +3 -0
  90. package/dist/src/lib/local-tools/ui/index.js.map +1 -0
  91. package/dist/src/lib/local-tools/ui/manage-tab.js +65 -0
  92. package/dist/src/lib/local-tools/ui/manage-tab.js.map +1 -0
  93. package/dist/src/lib/local-tools/ui/navigate.js +35 -0
  94. package/dist/src/lib/local-tools/ui/navigate.js.map +1 -0
  95. package/dist/src/lib/local-tools/ui/page-discovery.js +32 -0
  96. package/dist/src/lib/local-tools/ui/page-discovery.js.map +1 -0
  97. package/dist/src/lib/local-tools/ui/playwright-mcp.js +217 -0
  98. package/dist/src/lib/local-tools/ui/playwright-mcp.js.map +1 -0
  99. package/dist/src/lib/local-tools/ui/screenshot.js +19 -0
  100. package/dist/src/lib/local-tools/ui/screenshot.js.map +1 -0
  101. package/dist/src/lib/local-tools/ui/search-interactive-elements.js +18 -0
  102. package/dist/src/lib/local-tools/ui/search-interactive-elements.js.map +1 -0
  103. package/dist/src/lib/local-tools/ui/selector-resolver.js +153 -0
  104. package/dist/src/lib/local-tools/ui/selector-resolver.js.map +1 -0
  105. package/dist/src/lib/local-tools/ui/snapshot-query.js +129 -0
  106. package/dist/src/lib/local-tools/ui/snapshot-query.js.map +1 -0
  107. package/dist/src/lib/local-tools/ui/type-text.js +40 -0
  108. package/dist/src/lib/local-tools/ui/type-text.js.map +1 -0
  109. package/dist/src/lib/local-tools/ui/types.js +2 -0
  110. package/dist/src/lib/local-tools/ui/types.js.map +1 -0
  111. package/dist/src/lib/local-tools/utility/finish-overall-test.js +12 -0
  112. package/dist/src/lib/local-tools/utility/finish-overall-test.js.map +1 -0
  113. package/dist/src/lib/local-tools/utility/index.js +2 -0
  114. package/dist/src/lib/local-tools/utility/index.js.map +1 -0
  115. package/dist/src/lib/prompts/builder.js +38 -0
  116. package/dist/src/lib/prompts/builder.js.map +1 -0
  117. package/dist/src/lib/prompts/index.js +7 -0
  118. package/dist/src/lib/prompts/index.js.map +1 -0
  119. package/dist/src/lib/prompts/templates.js +166 -0
  120. package/dist/src/lib/prompts/templates.js.map +1 -0
  121. package/dist/src/lib/session-manager.js +201 -0
  122. package/dist/src/lib/session-manager.js.map +1 -0
  123. package/dist/src/lib/socket.js +70 -9
  124. package/dist/src/lib/socket.js.map +1 -1
  125. package/dist/src/lib/testing-mode.js +33 -0
  126. package/dist/src/lib/testing-mode.js.map +1 -0
  127. package/dist/src/lib/tool-descriptions.js +59 -0
  128. package/dist/src/lib/tool-descriptions.js.map +1 -0
  129. package/dist/src/lib/tool-executor.js +537 -0
  130. package/dist/src/lib/tool-executor.js.map +1 -0
  131. package/dist/src/lib/tool-registry.js +803 -0
  132. package/dist/src/lib/tool-registry.js.map +1 -0
  133. package/dist/src/lib/tool-result-pruner.js +384 -0
  134. package/dist/src/lib/tool-result-pruner.js.map +1 -0
  135. package/dist/src/lib/tui/components/AskIntro.js +6 -0
  136. package/dist/src/lib/tui/components/AskIntro.js.map +1 -0
  137. package/dist/src/lib/tui/components/Banner.js +15 -0
  138. package/dist/src/lib/tui/components/Banner.js.map +1 -0
  139. package/dist/src/lib/tui/components/Divider.js +17 -0
  140. package/dist/src/lib/tui/components/Divider.js.map +1 -0
  141. package/dist/src/lib/tui/components/EventLine.js +110 -0
  142. package/dist/src/lib/tui/components/EventLine.js.map +1 -0
  143. package/dist/src/lib/tui/components/Header.js +15 -0
  144. package/dist/src/lib/tui/components/Header.js.map +1 -0
  145. package/dist/src/lib/tui/components/InputBox.js +9 -0
  146. package/dist/src/lib/tui/components/InputBox.js.map +1 -0
  147. package/dist/src/lib/tui/components/Mapping.js +8 -0
  148. package/dist/src/lib/tui/components/Mapping.js.map +1 -0
  149. package/dist/src/lib/tui/components/ProjectList.js +6 -0
  150. package/dist/src/lib/tui/components/ProjectList.js.map +1 -0
  151. package/dist/src/lib/tui/components/Spinner.js +20 -0
  152. package/dist/src/lib/tui/components/Spinner.js.map +1 -0
  153. package/dist/src/lib/tui/components/StatusBanner.js +12 -0
  154. package/dist/src/lib/tui/components/StatusBanner.js.map +1 -0
  155. package/dist/src/lib/tui/components/StatusBar.js +11 -0
  156. package/dist/src/lib/tui/components/StatusBar.js.map +1 -0
  157. package/dist/src/lib/tui/components/UserBubble.js +6 -0
  158. package/dist/src/lib/tui/components/UserBubble.js.map +1 -0
  159. package/dist/src/lib/tui/components/index.js +16 -0
  160. package/dist/src/lib/tui/components/index.js.map +1 -0
  161. package/dist/src/lib/tui/events.js +716 -76
  162. package/dist/src/lib/tui/events.js.map +1 -1
  163. package/dist/src/lib/tui/icons.js +14 -0
  164. package/dist/src/lib/tui/icons.js.map +1 -1
  165. package/dist/src/lib/tui/ink-print.js +41 -0
  166. package/dist/src/lib/tui/ink-print.js.map +1 -0
  167. package/dist/src/lib/tui/interactive-chat.js +345 -0
  168. package/dist/src/lib/tui/interactive-chat.js.map +1 -0
  169. package/dist/src/lib/tui/print.js +31 -26
  170. package/dist/src/lib/tui/print.js.map +1 -1
  171. package/dist/src/lib/tui/prompt.js +21 -18
  172. package/dist/src/lib/tui/prompt.js.map +1 -1
  173. package/dist/src/test-agent-flow.js +148 -0
  174. package/dist/src/test-agent-flow.js.map +1 -0
  175. package/dist/src/test-browser-session.js +152 -0
  176. package/dist/src/test-browser-session.js.map +1 -0
  177. package/dist/src/test-browser-snapshot.js +187 -0
  178. package/dist/src/test-browser-snapshot.js.map +1 -0
  179. package/dist/src/test-snapshot-detailed.js +219 -0
  180. package/dist/src/test-snapshot-detailed.js.map +1 -0
  181. package/dist/src/test-snapshot-simple.js +85 -0
  182. package/dist/src/test-snapshot-simple.js.map +1 -0
  183. package/dist/src/test-snapshot-tabs.js +110 -0
  184. package/dist/src/test-snapshot-tabs.js.map +1 -0
  185. package/package.json +13 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../src/lib/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,384 @@
1
+ export class ToolResultPruner {
2
+ options;
3
+ constructor(options = {}) {
4
+ this.options = {
5
+ enabled: options.enabled ?? true,
6
+ maxMessages: options.maxMessages ?? 50,
7
+ keepLatest: options.keepLatest ?? 2,
8
+ };
9
+ }
10
+ /**
11
+ * Prune tool results from conversation history
12
+ */
13
+ pruneToolResults(messages, toolName) {
14
+ if (!this.options.enabled) {
15
+ return messages;
16
+ }
17
+ try {
18
+ // Always prune screenshots first
19
+ const prunedMessages = this.pruneScreenshotPayloads([...messages]);
20
+ // Then prune specific tool types
21
+ switch (toolName) {
22
+ case "search_interactive_elements":
23
+ return this.pruneSearchInteractiveElements(prunedMessages);
24
+ case "requirements_search":
25
+ return this.pruneRequirementsSearch(prunedMessages);
26
+ case "click_element":
27
+ return this.pruneClickElement(prunedMessages);
28
+ case "type_text":
29
+ return this.pruneTypeText(prunedMessages);
30
+ case "hover_element":
31
+ return this.pruneHoverElement(prunedMessages);
32
+ case "navigate":
33
+ return this.pruneNavigate(prunedMessages);
34
+ case "browser_click":
35
+ case "browser_hover":
36
+ case "browser_type":
37
+ case "browser_fill_form":
38
+ case "browser_select_option":
39
+ case "browser_wait_for":
40
+ case "browser_press_key":
41
+ case "browser_tabs":
42
+ case "browser_handle_dialog":
43
+ case "browser_network_requests":
44
+ case "browser_console_messages":
45
+ case "browser_resize":
46
+ case "browser_drag":
47
+ return this.pruneGenericTool(prunedMessages, toolName);
48
+ default:
49
+ return prunedMessages;
50
+ }
51
+ }
52
+ catch (error) {
53
+ // Never fail on pruning errors
54
+ return messages;
55
+ }
56
+ }
57
+ /**
58
+ * Prune screenshot payloads from older messages
59
+ */
60
+ pruneScreenshotPayloads(messages) {
61
+ const toolMessages = messages.filter((msg) => msg.role === "tool" && msg.metadata?.type === "screenshot");
62
+ if (toolMessages.length <= 1) {
63
+ return messages;
64
+ }
65
+ // Keep only the latest screenshot message
66
+ const latestScreenshot = toolMessages[toolMessages.length - 1];
67
+ const latestIndex = messages.findIndex((msg) => msg.id === latestScreenshot.id);
68
+ return messages.map((msg, index) => {
69
+ if (msg.role === "tool" &&
70
+ msg.metadata?.type === "screenshot" &&
71
+ index !== latestIndex) {
72
+ // Remove screenshot data but keep metadata
73
+ return {
74
+ ...msg,
75
+ content: "📸 Screenshot pruned for efficiency",
76
+ metadata: {
77
+ ...msg.metadata,
78
+ screenshot_pruned: true,
79
+ original_content: msg.content,
80
+ },
81
+ };
82
+ }
83
+ return msg;
84
+ });
85
+ }
86
+ /**
87
+ * Prune search_interactive_elements tool messages
88
+ */
89
+ pruneSearchInteractiveElements(messages) {
90
+ const toolMessages = messages.filter((msg) => msg.role === "tool" &&
91
+ msg.toolCall?.name === "search_interactive_elements");
92
+ if (toolMessages.length <= 1) {
93
+ return messages;
94
+ }
95
+ const latestIndex = messages.findIndex((msg) => msg.id === toolMessages[toolMessages.length - 1].id);
96
+ return messages.map((msg, index) => {
97
+ if (msg.role === "tool" &&
98
+ msg.toolCall?.name === "search_interactive_elements" &&
99
+ index !== latestIndex) {
100
+ // Prune heavy results but keep counts
101
+ const content = typeof msg.content === "string"
102
+ ? JSON.parse(msg.content)
103
+ : msg.content;
104
+ if (typeof content === "object" && content.data) {
105
+ const prunedContent = {
106
+ ...content,
107
+ data: {
108
+ ...content.data,
109
+ results_pruned: true,
110
+ element_count: content.data.results?.length || 0,
111
+ raw_result_count: Array.isArray(content.data.raw_results)
112
+ ? content.data.raw_results.length
113
+ : 0,
114
+ results: undefined,
115
+ raw_results: undefined,
116
+ },
117
+ };
118
+ return {
119
+ ...msg,
120
+ content: JSON.stringify(prunedContent),
121
+ };
122
+ }
123
+ }
124
+ return msg;
125
+ });
126
+ }
127
+ /**
128
+ * Prune requirements_search tool messages
129
+ */
130
+ pruneRequirementsSearch(messages) {
131
+ const toolMessages = messages.filter((msg) => msg.role === "tool" && msg.toolCall?.name === "requirements_search");
132
+ if (toolMessages.length <= 1) {
133
+ return messages;
134
+ }
135
+ const latestIndex = messages.findIndex((msg) => msg.id === toolMessages[toolMessages.length - 1].id);
136
+ return messages.map((msg, index) => {
137
+ if (msg.role === "tool" &&
138
+ msg.toolCall?.name === "requirements_search" &&
139
+ index !== latestIndex) {
140
+ const content = typeof msg.content === "string"
141
+ ? JSON.parse(msg.content)
142
+ : msg.content;
143
+ if (typeof content === "object" && content) {
144
+ const results = Array.isArray(content.results)
145
+ ? content.results
146
+ : [];
147
+ const prunedContent = {
148
+ ...content,
149
+ requirements_pruned: true,
150
+ result_count: results.length,
151
+ results: undefined,
152
+ };
153
+ return {
154
+ ...msg,
155
+ content: JSON.stringify(prunedContent),
156
+ };
157
+ }
158
+ }
159
+ return msg;
160
+ });
161
+ }
162
+ /**
163
+ * Prune click_element tool messages
164
+ */
165
+ pruneClickElement(messages) {
166
+ const toolMessages = messages.filter((msg) => msg.role === "tool" && msg.toolCall?.name === "click_element");
167
+ if (toolMessages.length <= this.options.keepLatest) {
168
+ return messages;
169
+ }
170
+ const keepIndices = new Set(toolMessages
171
+ .slice(-this.options.keepLatest)
172
+ .map((msg) => messages.findIndex((m) => m.id === msg.id)));
173
+ return messages.map((msg, index) => {
174
+ if (msg.role === "tool" &&
175
+ msg.toolCall?.name === "click_element" &&
176
+ !keepIndices.has(index)) {
177
+ // Prune heavy fields but keep core outcome
178
+ const content = typeof msg.content === "string"
179
+ ? JSON.parse(msg.content)
180
+ : msg.content;
181
+ if (typeof content === "object") {
182
+ const prunedContent = {
183
+ ...content,
184
+ click_pruned: true,
185
+ candidates: undefined,
186
+ suggested_selectors: undefined,
187
+ context: content.context
188
+ ? {
189
+ ...content.context,
190
+ fallback_search: content.context.fallback_search
191
+ ? {
192
+ questions: content.context.fallback_search.questions,
193
+ }
194
+ : undefined,
195
+ selector_diagnostics: content.context.selector_diagnostics
196
+ ? {
197
+ original_selector: content.context.selector_diagnostics
198
+ .original_selector,
199
+ original_tag: content.context.selector_diagnostics.original_tag,
200
+ detected_text: content.context.selector_diagnostics.detected_text,
201
+ tag_mismatch: content.context.selector_diagnostics.tag_mismatch,
202
+ hint: content.context.selector_diagnostics.hint,
203
+ }
204
+ : undefined,
205
+ }
206
+ : undefined,
207
+ };
208
+ return {
209
+ ...msg,
210
+ content: JSON.stringify(prunedContent),
211
+ };
212
+ }
213
+ }
214
+ return msg;
215
+ });
216
+ }
217
+ /**
218
+ * Prune type_text tool messages
219
+ */
220
+ pruneTypeText(messages) {
221
+ const toolMessages = messages.filter((msg) => msg.role === "tool" && msg.toolCall?.name === "type_text");
222
+ if (toolMessages.length <= this.options.keepLatest) {
223
+ return messages;
224
+ }
225
+ const keepIndices = new Set(toolMessages
226
+ .slice(-this.options.keepLatest)
227
+ .map((msg) => messages.findIndex((m) => m.id === msg.id)));
228
+ return messages.map((msg, index) => {
229
+ if (msg.role === "tool" &&
230
+ msg.toolCall?.name === "type_text" &&
231
+ !keepIndices.has(index)) {
232
+ // Prune arrays but keep counts
233
+ const content = typeof msg.content === "string"
234
+ ? JSON.parse(msg.content)
235
+ : msg.content;
236
+ if (typeof content === "object") {
237
+ const prunedContent = {
238
+ ...content,
239
+ type_text_pruned: true,
240
+ failed_elements_count: Array.isArray(content.failed_elements)
241
+ ? content.failed_elements.length
242
+ : 0,
243
+ typed_elements_count: Array.isArray(content.typed_elements)
244
+ ? content.typed_elements.length
245
+ : 0,
246
+ failed_elements: undefined,
247
+ typed_elements: undefined,
248
+ };
249
+ return {
250
+ ...msg,
251
+ content: JSON.stringify(prunedContent),
252
+ };
253
+ }
254
+ }
255
+ return msg;
256
+ });
257
+ }
258
+ /**
259
+ * Prune hover_element tool messages
260
+ */
261
+ pruneHoverElement(messages) {
262
+ const toolMessages = messages.filter((msg) => msg.role === "tool" && msg.toolCall?.name === "hover_element");
263
+ if (toolMessages.length <= this.options.keepLatest) {
264
+ return messages;
265
+ }
266
+ const keepIndices = new Set(toolMessages
267
+ .slice(-this.options.keepLatest)
268
+ .map((msg) => messages.findIndex((m) => m.id === msg.id)));
269
+ return messages.map((msg, index) => {
270
+ if (msg.role === "tool" &&
271
+ msg.toolCall?.name === "hover_element" &&
272
+ !keepIndices.has(index)) {
273
+ // Prune heavy fields but keep core outcome
274
+ const content = typeof msg.content === "string"
275
+ ? JSON.parse(msg.content)
276
+ : msg.content;
277
+ if (typeof content === "object") {
278
+ const prunedContent = {
279
+ ...content,
280
+ hover_pruned: true,
281
+ candidates: undefined,
282
+ suggested_selectors: undefined,
283
+ context: content.context
284
+ ? {
285
+ ...content.context,
286
+ fallback_search: content.context.fallback_search
287
+ ? {
288
+ questions: content.context.fallback_search.questions,
289
+ }
290
+ : undefined,
291
+ }
292
+ : undefined,
293
+ };
294
+ return {
295
+ ...msg,
296
+ content: JSON.stringify(prunedContent),
297
+ };
298
+ }
299
+ }
300
+ return msg;
301
+ });
302
+ }
303
+ /**
304
+ * Prune navigate tool messages
305
+ */
306
+ pruneNavigate(messages) {
307
+ const toolMessages = messages.filter((msg) => msg.role === "tool" && msg.toolCall?.name === "navigate");
308
+ if (toolMessages.length <= this.options.keepLatest) {
309
+ return messages;
310
+ }
311
+ const keepIndices = new Set(toolMessages
312
+ .slice(-this.options.keepLatest)
313
+ .map((msg) => messages.findIndex((m) => m.id === msg.id)));
314
+ return messages.map((msg, index) => {
315
+ if (msg.role === "tool" &&
316
+ msg.toolCall?.name === "navigate" &&
317
+ !keepIndices.has(index)) {
318
+ // Prune screenshot data but keep navigation info
319
+ const content = typeof msg.content === "string"
320
+ ? JSON.parse(msg.content)
321
+ : msg.content;
322
+ if (typeof content === "object") {
323
+ const prunedContent = {
324
+ ...content,
325
+ navigate_pruned: true,
326
+ screenshot: undefined, // Remove screenshot data
327
+ };
328
+ return {
329
+ ...msg,
330
+ content: JSON.stringify(prunedContent),
331
+ };
332
+ }
333
+ }
334
+ return msg;
335
+ });
336
+ }
337
+ pruneGenericTool(messages, toolName) {
338
+ const toolMessages = messages.filter((msg) => msg.role === "tool" && msg.toolCall?.name === toolName);
339
+ if (toolMessages.length <= this.options.keepLatest) {
340
+ return messages;
341
+ }
342
+ const keepIds = new Set(toolMessages.slice(-this.options.keepLatest).map((msg) => msg.id));
343
+ return messages.map((msg) => {
344
+ if (msg.role === "tool" && msg.toolCall?.name === toolName && !keepIds.has(msg.id)) {
345
+ return {
346
+ ...msg,
347
+ content: `[${toolName}] result pruned for brevity`,
348
+ metadata: {
349
+ ...msg.metadata,
350
+ pruned: true,
351
+ },
352
+ };
353
+ }
354
+ return msg;
355
+ });
356
+ }
357
+ /**
358
+ * Cap conversation history to maximum message limit
359
+ */
360
+ capConversationHistory(messages) {
361
+ if (messages.length <= this.options.maxMessages) {
362
+ return messages;
363
+ }
364
+ // Keep system messages and recent messages
365
+ const systemMessages = messages.filter((msg) => msg.role === "system");
366
+ const recentMessages = messages.slice(-this.options.maxMessages + systemMessages.length);
367
+ return [...systemMessages, ...recentMessages];
368
+ }
369
+ /**
370
+ * Update pruning options
371
+ */
372
+ updateOptions(options) {
373
+ this.options = { ...this.options, ...options };
374
+ }
375
+ /**
376
+ * Check if pruning is enabled
377
+ */
378
+ isEnabled() {
379
+ return this.options.enabled;
380
+ }
381
+ }
382
+ // Export singleton instance
383
+ export const toolResultPruner = new ToolResultPruner();
384
+ //# sourceMappingURL=tool-result-pruner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-result-pruner.js","sourceRoot":"","sources":["../../../src/lib/tool-result-pruner.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,gBAAgB;IACnB,OAAO,CAAiB;IAEhC,YAAY,UAAmC,EAAE;QAC/C,IAAI,CAAC,OAAO,GAAG;YACb,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI;YAChC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;SACpC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,QAAmB,EAAE,QAAgB;QACpD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAEnE,iCAAiC;YACjC,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,6BAA6B;oBAChC,OAAO,IAAI,CAAC,8BAA8B,CAAC,cAAc,CAAC,CAAC;gBAC7D,KAAK,qBAAqB;oBACxB,OAAO,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;gBACtD,KAAK,eAAe;oBAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBAChD,KAAK,WAAW;oBACd,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAC5C,KAAK,eAAe;oBAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBAChD,KAAK,UAAU;oBACb,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAC5C,KAAK,eAAe,CAAC;gBACrB,KAAK,eAAe,CAAC;gBACrB,KAAK,cAAc,CAAC;gBACpB,KAAK,mBAAmB,CAAC;gBACzB,KAAK,uBAAuB,CAAC;gBAC7B,KAAK,kBAAkB,CAAC;gBACxB,KAAK,mBAAmB,CAAC;gBACzB,KAAK,cAAc,CAAC;gBACpB,KAAK,uBAAuB,CAAC;gBAC7B,KAAK,0BAA0B,CAAC;gBAChC,KAAK,0BAA0B,CAAC;gBAChC,KAAK,gBAAgB,CAAC;gBACtB,KAAK,cAAc;oBACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBACzD;oBACE,OAAO,cAAc,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+BAA+B;YAC/B,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,QAAmB;QACjD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,YAAY,CACpE,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,0CAA0C;QAC1C,MAAM,gBAAgB,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CACpC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE,CACxC,CAAC;QAEF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACjC,IACE,GAAG,CAAC,IAAI,KAAK,MAAM;gBACnB,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,YAAY;gBACnC,KAAK,KAAK,WAAW,EACrB,CAAC;gBACD,2CAA2C;gBAC3C,OAAO;oBACL,GAAG,GAAG;oBACN,OAAO,EAAE,qCAAqC;oBAC9C,QAAQ,EAAE;wBACR,GAAG,GAAG,CAAC,QAAQ;wBACf,iBAAiB,EAAE,IAAI;wBACvB,gBAAgB,EAAE,GAAG,CAAC,OAAO;qBAC9B;iBACF,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,8BAA8B,CAAC,QAAmB;QACxD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,IAAI,KAAK,MAAM;YACnB,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,6BAA6B,CACvD,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CACpC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAC7D,CAAC;QAEF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACjC,IACE,GAAG,CAAC,IAAI,KAAK,MAAM;gBACnB,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,6BAA6B;gBACpD,KAAK,KAAK,WAAW,EACrB,CAAC;gBACD,sCAAsC;gBACtC,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;oBAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;gBAClB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBAChD,MAAM,aAAa,GAAG;wBACpB,GAAG,OAAO;wBACV,IAAI,EAAE;4BACJ,GAAG,OAAO,CAAC,IAAI;4BACf,cAAc,EAAE,IAAI;4BACpB,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;4BAChD,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;gCACvD,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM;gCACjC,CAAC,CAAC,CAAC;4BACL,OAAO,EAAE,SAAS;4BAClB,WAAW,EAAE,SAAS;yBACvB;qBACF,CAAC;oBACF,OAAO;wBACL,GAAG,GAAG;wBACN,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;qBACvC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,QAAmB;QACjD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,qBAAqB,CACtE,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,SAAS,CACpC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAC7D,CAAC;QAEF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACjC,IACE,GAAG,CAAC,IAAI,KAAK,MAAM;gBACnB,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,qBAAqB;gBAC5C,KAAK,KAAK,WAAW,EACrB,CAAC;gBACD,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;oBAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;gBAClB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAC;oBAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;wBAC5C,CAAC,CAAC,OAAO,CAAC,OAAO;wBACjB,CAAC,CAAC,EAAE,CAAC;oBACP,MAAM,aAAa,GAAG;wBACpB,GAAG,OAAO;wBACV,mBAAmB,EAAE,IAAI;wBACzB,YAAY,EAAE,OAAO,CAAC,MAAM;wBAC5B,OAAO,EAAE,SAAS;qBACnB,CAAC;oBACF,OAAO;wBACL,GAAG,GAAG;wBACN,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;qBACvC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,QAAmB;QAC3C,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,eAAe,CACvE,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACnD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,YAAY;aACT,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;aAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAC5D,CAAC;QAEF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACjC,IACE,GAAG,CAAC,IAAI,KAAK,MAAM;gBACnB,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,eAAe;gBACtC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EACvB,CAAC;gBACD,2CAA2C;gBAC3C,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;oBAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;gBAClB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,MAAM,aAAa,GAAG;wBACpB,GAAG,OAAO;wBACV,YAAY,EAAE,IAAI;wBAClB,UAAU,EAAE,SAAS;wBACrB,mBAAmB,EAAE,SAAS;wBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;4BACtB,CAAC,CAAC;gCACE,GAAG,OAAO,CAAC,OAAO;gCAClB,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe;oCAC9C,CAAC,CAAC;wCACE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS;qCACrD;oCACH,CAAC,CAAC,SAAS;gCACb,oBAAoB,EAAE,OAAO,CAAC,OAAO,CAAC,oBAAoB;oCACxD,CAAC,CAAC;wCACE,iBAAiB,EACf,OAAO,CAAC,OAAO,CAAC,oBAAoB;6CACjC,iBAAiB;wCACtB,YAAY,EACV,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,YAAY;wCACnD,aAAa,EACX,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,aAAa;wCACpD,YAAY,EACV,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,YAAY;wCACnD,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI;qCAChD;oCACH,CAAC,CAAC,SAAS;6BACd;4BACH,CAAC,CAAC,SAAS;qBACd,CAAC;oBACF,OAAO;wBACL,GAAG,GAAG;wBACN,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;qBACvC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,QAAmB;QACvC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,WAAW,CACnE,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACnD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,YAAY;aACT,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;aAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAC5D,CAAC;QAEF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACjC,IACE,GAAG,CAAC,IAAI,KAAK,MAAM;gBACnB,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,WAAW;gBAClC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EACvB,CAAC;gBACD,+BAA+B;gBAC/B,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;oBAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;gBAClB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,MAAM,aAAa,GAAG;wBACpB,GAAG,OAAO;wBACV,gBAAgB,EAAE,IAAI;wBACtB,qBAAqB,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC;4BAC3D,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM;4BAChC,CAAC,CAAC,CAAC;wBACL,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;4BACzD,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM;4BAC/B,CAAC,CAAC,CAAC;wBACL,eAAe,EAAE,SAAS;wBAC1B,cAAc,EAAE,SAAS;qBAC1B,CAAC;oBACF,OAAO;wBACL,GAAG,GAAG;wBACN,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;qBACvC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,QAAmB;QAC3C,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,eAAe,CACvE,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACnD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,YAAY;aACT,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;aAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAC5D,CAAC;QAEF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACjC,IACE,GAAG,CAAC,IAAI,KAAK,MAAM;gBACnB,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,eAAe;gBACtC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EACvB,CAAC;gBACD,2CAA2C;gBAC3C,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;oBAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;gBAClB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,MAAM,aAAa,GAAG;wBACpB,GAAG,OAAO;wBACV,YAAY,EAAE,IAAI;wBAClB,UAAU,EAAE,SAAS;wBACrB,mBAAmB,EAAE,SAAS;wBAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;4BACtB,CAAC,CAAC;gCACE,GAAG,OAAO,CAAC,OAAO;gCAClB,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe;oCAC9C,CAAC,CAAC;wCACE,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,SAAS;qCACrD;oCACH,CAAC,CAAC,SAAS;6BACd;4BACH,CAAC,CAAC,SAAS;qBACd,CAAC;oBACF,OAAO;wBACL,GAAG,GAAG;wBACN,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;qBACvC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,QAAmB;QACvC,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,UAAU,CAClE,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACnD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,YAAY;aACT,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;aAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAC5D,CAAC;QAEF,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YACjC,IACE,GAAG,CAAC,IAAI,KAAK,MAAM;gBACnB,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,UAAU;gBACjC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EACvB,CAAC;gBACD,iDAAiD;gBACjD,MAAM,OAAO,GACX,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;oBAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;oBACzB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;gBAClB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,MAAM,aAAa,GAAG;wBACpB,GAAG,OAAO;wBACV,eAAe,EAAE,IAAI;wBACrB,UAAU,EAAE,SAAS,EAAE,yBAAyB;qBACjD,CAAC;oBACF,OAAO;wBACL,GAAG,GAAG;wBACN,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;qBACvC,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CACtB,QAAmB,EACnB,QAAgB;QAEhB,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAClC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,QAAQ,CAChE,CAAC;QAEF,IAAI,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACnD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3F,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnF,OAAO;oBACL,GAAG,GAAG;oBACN,OAAO,EAAE,IAAI,QAAQ,6BAA6B;oBAClD,QAAQ,EAAE;wBACR,GAAG,GAAG,CAAC,QAAQ;wBACf,MAAM,EAAE,IAAI;qBACb;iBACF,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,QAAmB;QACxC,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAChD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,2CAA2C;QAC3C,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACvE,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CACnC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC,MAAM,CAClD,CAAC;QAEF,OAAO,CAAC,GAAG,cAAc,EAAE,GAAG,cAAc,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAgC;QAC5C,IAAI,CAAC,OAAO,GAAG,EAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,CAAC;CACF;AAED,4BAA4B;AAC5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ export function AskIntro({ lines = [] }) {
4
+ return (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsx(Text, { bold: true, children: "Using:" }), lines.map((line, i) => (_jsxs(Text, { children: [" - ", line] }, i)))] }));
5
+ }
6
+ //# sourceMappingURL=AskIntro.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AskIntro.js","sourceRoot":"","sources":["../../../../../src/lib/tui/components/AskIntro.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAM9B,MAAM,UAAU,QAAQ,CAAC,EAAC,KAAK,GAAG,EAAE,EAAgB;IAClD,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,aACpC,KAAC,IAAI,IAAC,IAAI,6BAAc,EACvB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,MAAC,IAAI,uBAAc,IAAI,KAAZ,CAAC,CAAmB,CAChC,CAAC,IACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ export function Banner() {
4
+ const banner = [
5
+ " ",
6
+ "████████╗██╗███╗ ███╗███████╗████████╗ ██████╗ ████████╗███████╗███████╗████████╗",
7
+ "╚══██╔══╝██║████╗ ████║██╔════╝╚══██╔══╝██╔═══██╗╚══██╔══╝██╔════╝██╔════╝╚══██╔══╝",
8
+ " ██║ ██║██╔████╔██║█████╗ ██║ ██║ ██║ ██║ █████╗ ███████╗ ██║ ",
9
+ " ██║ ██║██║╚██╔╝██║██╔══╝ ██║ ██║ ██║ ██║ ██╔══╝ ╚════██║ ██║ ",
10
+ " ██║ ██║██║ ╚═╝ ██║███████╗ ██║ ╚██████╔╝ ██║ ███████╗███████║ ██║ ",
11
+ " ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚══════╝╚══════╝ ╚═╝ ",
12
+ ];
13
+ return (_jsx(Box, { flexDirection: "column", marginBottom: 1, children: banner.map((line, i) => (_jsx(Text, { color: "cyan", children: line }, i))) }));
14
+ }
15
+ //# sourceMappingURL=Banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../../../../src/lib/tui/components/Banner.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAE9B,MAAM,UAAU,MAAM;IACpB,MAAM,MAAM,GAAG;QACb,sFAAsF;QACtF,qFAAqF;QACrF,qFAAqF;QACrF,qFAAqF;QACrF,qFAAqF;QACrF,qFAAqF;QACrF,qFAAqF;KACtF,CAAC;IAEF,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,YACxC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACvB,KAAC,IAAI,IAAS,KAAK,EAAC,MAAM,YACvB,IAAI,IADI,CAAC,CAEL,CACR,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Text } from "ink";
3
+ import chalk from "chalk";
4
+ import { stripAnsi } from "../utils.js";
5
+ export function Divider({ label, width = 64 }) {
6
+ const boundedWidth = Math.max(24, Math.min(width, 90));
7
+ if (!label || stripAnsi(label).length === 0) {
8
+ return _jsx(Text, { color: "#6e9bff", children: "─".repeat(boundedWidth) });
9
+ }
10
+ const text = ` ${label} `;
11
+ const cleanLength = stripAnsi(text).length;
12
+ const available = Math.max(0, boundedWidth - cleanLength);
13
+ const left = Math.floor(available / 2);
14
+ const right = available - left;
15
+ return (_jsxs(Text, { color: "#6e9bff", children: ["─".repeat(left), chalk.gray(text), "─".repeat(right)] }));
16
+ }
17
+ //# sourceMappingURL=Divider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Divider.js","sourceRoot":"","sources":["../../../../../src/lib/tui/components/Divider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,IAAI,EAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAOtC,MAAM,UAAU,OAAO,CAAC,EAAC,KAAK,EAAE,KAAK,GAAG,EAAE,EAAe;IACvD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAEvD,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAQ,CAAC;IACjE,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC;IAC1B,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,SAAS,GAAG,IAAI,CAAC;IAE/B,OAAO,CACL,MAAC,IAAI,IAAC,KAAK,EAAC,SAAS,aAClB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAChB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAChB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IACb,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import chalk from "chalk";
4
+ import { icons } from "../icons.js";
5
+ import { formatTimestamp, sanitizeText, isPlainObject } from "../utils.js";
6
+ // Event metadata mapping
7
+ const EVENT_META = {
8
+ session_started: { icon: icons.start, label: "session_started", color: "white" },
9
+ session_progress: { icon: icons.progress, label: "progress", color: "cyan" },
10
+ session_completed: { icon: icons.done, label: "completed", color: "green" },
11
+ session_error: { icon: icons.fail, label: "error", color: "red" },
12
+ browser_initialized: { icon: icons.browser, label: "browser", color: "cyan" },
13
+ page_discovered: { icon: icons.page, label: "pages", color: "cyan" },
14
+ page_processing: { icon: icons.page, label: "page", color: "cyan" },
15
+ screenshot_captured: { icon: icons.camera, label: "screenshot", color: "cyan" },
16
+ screenshot_with_analysis: { icon: icons.camera, label: "screenshot", color: "cyan" },
17
+ ai_analysis_started: { icon: icons.brain, label: "analysis", color: "magenta" },
18
+ ai_analysis_completed: { icon: icons.brain, label: "analysis", color: "magenta" },
19
+ page_analyzed: { icon: icons.brain, label: "analysis", color: "magenta" },
20
+ test_cases_generated: { icon: icons.cases, label: "test_cases", color: "magenta" },
21
+ agent_thinking_started: { icon: icons.exec, label: "agent_think", color: "magenta" },
22
+ session_stopped: { icon: icons.warn, label: "stopped", color: "yellow" },
23
+ test_case_execution_started: { icon: icons.exec, label: "test_case", color: "cyan" },
24
+ test_case_execution_completed: { icon: icons.exec, label: "test_case", color: "cyan" },
25
+ test_step_execution: { icon: icons.exec, label: "test_step", color: "cyan" },
26
+ test_step_screenshot: { icon: icons.camera, label: "step_shot", color: "cyan" },
27
+ user_input_required: { icon: icons.user, label: "user_input", color: "yellow" },
28
+ user_input_provided: { icon: icons.user, label: "user_input", color: "green" },
29
+ user_input_acknowledged: { icon: icons.user, label: "user_input", color: "green" },
30
+ user_input_timeout: { icon: icons.warn, label: "user_input", color: "red" },
31
+ user_input_cancelled: { icon: icons.warn, label: "user_input", color: "red" },
32
+ agent_thinking_stopped: { icon: icons.think, label: "agent", color: "magenta" },
33
+ agent_thought: { icon: icons.think, label: "agent", color: "magenta" },
34
+ agent_plan_generated: { icon: icons.plan, label: "agent_plan", color: "magenta" },
35
+ agent_tool_start: { icon: icons.tool, label: "agent_tool", color: "magenta" },
36
+ agent_tool_result: { icon: icons.tool, label: "agent_tool", color: "magenta" },
37
+ agent_step_completed: { icon: icons.plan, label: "agent_step", color: "magenta" },
38
+ agent_recovery_attempt: { icon: icons.warn, label: "agent_recovery", color: "yellow" },
39
+ agent_error: { icon: icons.fail, label: "agent_error", color: "red" },
40
+ browser_stream_started: { icon: icons.browser, label: "browser_stream", color: "cyan" },
41
+ browser_stream_stopped: { icon: icons.browser, label: "browser_stream", color: "cyan" },
42
+ subscription_confirmed: { icon: icons.info, label: "subscription", color: "white" },
43
+ subscription_removed: { icon: icons.info, label: "subscription", color: "white" },
44
+ error: { icon: icons.fail, label: "error", color: "red" },
45
+ stats_response: { icon: icons.info, label: "stats", color: "gray" },
46
+ pong: { icon: icons.info, label: "pong", color: "white" },
47
+ thinking_started: { icon: icons.think, label: "ask", color: "magenta" },
48
+ thinking_stopped: { icon: icons.think, label: "ask", color: "magenta" },
49
+ tool_start: { icon: icons.tool, label: "ask_tool", color: "magenta" },
50
+ tool_result: { icon: icons.tool, label: "ask_tool", color: "magenta" },
51
+ agent_answer: { icon: icons.plan, label: "ask_answer", color: "magenta" },
52
+ user_message: { icon: icons.info, label: "ask_user", color: "white" },
53
+ };
54
+ export function EventLine({ type, payload }) {
55
+ const base = isPlainObject(payload) ? payload : {};
56
+ const candidateData = isPlainObject(base.data)
57
+ ? base.data
58
+ : isPlainObject(payload) && !("data" in payload)
59
+ ? payload
60
+ : {};
61
+ const eventData = isPlainObject(candidateData) ? candidateData : {};
62
+ const derivedType = typeof type === "string" && type.trim().length > 0
63
+ ? type
64
+ : typeof base.type === "string"
65
+ ? base.type
66
+ : typeof eventData.type === "string"
67
+ ? eventData.type
68
+ : "";
69
+ const normalizedType = derivedType.toLowerCase();
70
+ const descriptor = EVENT_META[normalizedType] ||
71
+ { icon: icons.info, label: normalizedType || "event", color: "white" };
72
+ const timestamp = formatTimestamp(base.timestamp);
73
+ const sessionIds = isPlainObject(base.ids)
74
+ ? base.ids
75
+ : {};
76
+ const sanitizeId = (value) => sanitizeText(value, { maxLength: 48 }) || "";
77
+ // Build badge parts
78
+ const badgeParts = [];
79
+ const testId = sanitizeId(sessionIds.test_id ?? base.test_id ?? eventData.test_id);
80
+ if (testId)
81
+ badgeParts.push(`#${testId}`);
82
+ const conversationId = sanitizeId(sessionIds.conversation_id ?? base.conversation_id);
83
+ if (conversationId)
84
+ badgeParts.push(`ask:${conversationId}`);
85
+ const subagentId = sanitizeId(sessionIds.subagent_id ?? base.subagent_id);
86
+ if (subagentId)
87
+ badgeParts.push(`sub:${subagentId}`);
88
+ // Render the event line
89
+ return (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: timestamp }), _jsxs(Text, { children: [" ", descriptor.icon, " "] }), _jsx(Text, { color: descriptor.color, children: descriptor.label }), badgeParts.length > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsxs(Text, { dimColor: true, children: ["[", badgeParts.join(" "), "]"] })] })), eventData.message && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { children: sanitizeText(eventData.message, { maxLength: 120 }) })] }))] }));
90
+ }
91
+ // Export function for backward compatibility with existing console.log patterns
92
+ export function formatEventLines(type, payload) {
93
+ // This is a simplified version that returns formatted strings
94
+ // For full functionality, the original events.ts logic should be used
95
+ const base = isPlainObject(payload) ? payload : {};
96
+ const eventData = isPlainObject(base.data) ? base.data : {};
97
+ const normalizedType = type.toLowerCase();
98
+ const descriptor = EVENT_META[normalizedType] || {
99
+ icon: icons.info,
100
+ label: normalizedType || "event",
101
+ color: "white",
102
+ };
103
+ const timestamp = formatTimestamp(base.timestamp);
104
+ const message = eventData.message || "";
105
+ const colorFn = chalk[descriptor.color] || chalk.white;
106
+ return [
107
+ `${chalk.dim(timestamp)} ${descriptor.icon} ${colorFn(descriptor.label)} ${message}`,
108
+ ];
109
+ }
110
+ //# sourceMappingURL=EventLine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EventLine.js","sourceRoot":"","sources":["../../../../../src/lib/tui/components/EventLine.tsx"],"names":[],"mappings":"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"}