@timetotest/cli 0.2.4 → 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 (110) 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 +7 -3
  5. package/dist/src/commands/chat/ChatApp.js +249 -67
  6. package/dist/src/commands/chat/ChatApp.js.map +1 -1
  7. package/dist/src/commands/chat/components/ChatInput.js +61 -22
  8. package/dist/src/commands/chat/components/ChatInput.js.map +1 -1
  9. package/dist/src/commands/chat/components/ChatMessage.js +102 -0
  10. package/dist/src/commands/chat/components/ChatMessage.js.map +1 -0
  11. package/dist/src/commands/chat/components/MessageBubble.js +1 -1
  12. package/dist/src/commands/chat/components/MessageBubble.js.map +1 -1
  13. package/dist/src/commands/chat/components/PermissionPrompt.js +92 -0
  14. package/dist/src/commands/chat/components/PermissionPrompt.js.map +1 -0
  15. package/dist/src/commands/chat/components/StatusIndicator.js +21 -5
  16. package/dist/src/commands/chat/components/StatusIndicator.js.map +1 -1
  17. package/dist/src/commands/chat/components/ToolCallDisplay.js +141 -0
  18. package/dist/src/commands/chat/components/ToolCallDisplay.js.map +1 -0
  19. package/dist/src/commands/chat-ink.js +298 -79
  20. package/dist/src/commands/chat-ink.js.map +1 -1
  21. package/dist/src/commands/login.js +5 -5
  22. package/dist/src/commands/login.js.map +1 -1
  23. package/dist/src/commands/test.js +14 -291
  24. package/dist/src/commands/test.js.map +1 -1
  25. package/dist/src/lib/__tests__/code-mode-integration.test.js +381 -0
  26. package/dist/src/lib/__tests__/code-mode-integration.test.js.map +1 -0
  27. package/dist/src/lib/__tests__/config-manager.test.js +81 -0
  28. package/dist/src/lib/__tests__/config-manager.test.js.map +1 -0
  29. package/dist/src/lib/__tests__/mode-persistence-integration.test.js +75 -0
  30. package/dist/src/lib/__tests__/mode-persistence-integration.test.js.map +1 -0
  31. package/dist/src/lib/__tests__/permission-flow-integration.test.js +145 -0
  32. package/dist/src/lib/__tests__/permission-flow-integration.test.js.map +1 -0
  33. package/dist/src/lib/__tests__/permissions.test.js +132 -0
  34. package/dist/src/lib/__tests__/permissions.test.js.map +1 -0
  35. package/dist/src/lib/agent-orchestrator.js +259 -5
  36. package/dist/src/lib/agent-orchestrator.js.map +1 -1
  37. package/dist/src/lib/config.js +40 -0
  38. package/dist/src/lib/config.js.map +1 -1
  39. package/dist/src/lib/context-compactor.js +310 -0
  40. package/dist/src/lib/context-compactor.js.map +1 -0
  41. package/dist/src/lib/http.js +8 -0
  42. package/dist/src/lib/http.js.map +1 -1
  43. package/dist/src/lib/local-tools/code/__tests__/grep-search.test.js +146 -0
  44. package/dist/src/lib/local-tools/code/__tests__/grep-search.test.js.map +1 -0
  45. package/dist/src/lib/local-tools/code/__tests__/list-directory.test.js +192 -0
  46. package/dist/src/lib/local-tools/code/__tests__/list-directory.test.js.map +1 -0
  47. package/dist/src/lib/local-tools/code/__tests__/read-file.test.js +169 -0
  48. package/dist/src/lib/local-tools/code/__tests__/read-file.test.js.map +1 -0
  49. package/dist/src/lib/local-tools/code/__tests__/run-command.test.js +101 -0
  50. package/dist/src/lib/local-tools/code/__tests__/run-command.test.js.map +1 -0
  51. package/dist/src/lib/local-tools/code/__tests__/search-files.test.js +191 -0
  52. package/dist/src/lib/local-tools/code/__tests__/search-files.test.js.map +1 -0
  53. package/dist/src/lib/local-tools/code/grep-search.js +404 -0
  54. package/dist/src/lib/local-tools/code/grep-search.js.map +1 -0
  55. package/dist/src/lib/local-tools/code/index.js +11 -0
  56. package/dist/src/lib/local-tools/code/index.js.map +1 -0
  57. package/dist/src/lib/local-tools/code/list-directory.js +276 -0
  58. package/dist/src/lib/local-tools/code/list-directory.js.map +1 -0
  59. package/dist/src/lib/local-tools/code/read-file.js +301 -0
  60. package/dist/src/lib/local-tools/code/read-file.js.map +1 -0
  61. package/dist/src/lib/local-tools/code/run-command.js +235 -0
  62. package/dist/src/lib/local-tools/code/run-command.js.map +1 -0
  63. package/dist/src/lib/local-tools/code/search-files.js +297 -0
  64. package/dist/src/lib/local-tools/code/search-files.js.map +1 -0
  65. package/dist/src/lib/local-tools/code/types.js +6 -0
  66. package/dist/src/lib/local-tools/code/types.js.map +1 -0
  67. package/dist/src/lib/permissions.js +94 -0
  68. package/dist/src/lib/permissions.js.map +1 -0
  69. package/dist/src/lib/prompts/builder.js +13 -10
  70. package/dist/src/lib/prompts/builder.js.map +1 -1
  71. package/dist/src/lib/prompts/templates.js +78 -0
  72. package/dist/src/lib/prompts/templates.js.map +1 -1
  73. package/dist/src/lib/session-manager.js.map +1 -1
  74. package/dist/src/lib/testing-mode.js +2 -2
  75. package/dist/src/lib/testing-mode.js.map +1 -1
  76. package/dist/src/lib/tool-executor.js +131 -2
  77. package/dist/src/lib/tool-executor.js.map +1 -1
  78. package/dist/src/lib/tool-registry.js +171 -3
  79. package/dist/src/lib/tool-registry.js.map +1 -1
  80. package/dist/src/lib/tool-result-pruner.js +4 -4
  81. package/dist/src/lib/tool-result-pruner.js.map +1 -1
  82. package/dist/src/lib/tui/ink/components/AppFrame.js +17 -0
  83. package/dist/src/lib/tui/ink/components/AppFrame.js.map +1 -0
  84. package/dist/src/lib/tui/ink/components/CommandPalette.js +24 -0
  85. package/dist/src/lib/tui/ink/components/CommandPalette.js.map +1 -0
  86. package/dist/src/lib/tui/ink/components/Pill.js +19 -0
  87. package/dist/src/lib/tui/ink/components/Pill.js.map +1 -0
  88. package/dist/src/lib/tui/ink/components/TimetoTestLogo.js +30 -0
  89. package/dist/src/lib/tui/ink/components/TimetoTestLogo.js.map +1 -0
  90. package/dist/src/lib/tui/ink/theme.js +13 -6
  91. package/dist/src/lib/tui/ink/theme.js.map +1 -1
  92. package/dist/src/lib/tui/interactive-chat.js +35 -35
  93. package/dist/src/lib/tui/interactive-chat.js.map +1 -1
  94. package/dist/src/lib/tui/print.js +18 -18
  95. package/dist/src/lib/tui/print.js.map +1 -1
  96. package/dist/src/lib/tui/prompt.js +3 -3
  97. package/dist/src/lib/tui/prompt.js.map +1 -1
  98. package/dist/src/lib/tui/status.js +1 -1
  99. package/dist/src/lib/tui/status.js.map +1 -1
  100. package/dist/src/lib/update.js +10 -10
  101. package/dist/src/lib/update.js.map +1 -1
  102. package/package.json +7 -3
  103. package/dist/src/commands/start-test.js +0 -180
  104. package/dist/src/commands/start-test.js.map +0 -1
  105. package/dist/src/commands/stream/StreamApp.js +0 -127
  106. package/dist/src/commands/stream/StreamApp.js.map +0 -1
  107. package/dist/src/commands/stream.js +0 -52
  108. package/dist/src/commands/stream.js.map +0 -1
  109. package/dist/src/commands/test/TestRunApp.js +0 -183
  110. package/dist/src/commands/test/TestRunApp.js.map +0 -1
@@ -7,7 +7,9 @@ import { SessionManager } from "./session-manager.js";
7
7
  import { ToolExecutor } from "./tool-executor.js";
8
8
  import { getToolSchemasByDomain } from "./tool-registry.js";
9
9
  import { isTestingMode } from "./testing-mode.js";
10
+ import { configManager } from "./config.js";
10
11
  import { toolResultPruner } from "./tool-result-pruner.js";
12
+ import { ContextCompactor } from "./context-compactor.js";
11
13
  import { createAgentHttpClient, } from "./http.js";
12
14
  import { build_cli_system_prompt } from "./prompts/builder.js";
13
15
  export class AgentOrchestrator extends EventEmitter {
@@ -18,6 +20,13 @@ export class AgentOrchestrator extends EventEmitter {
18
20
  httpClient;
19
21
  isCancelled = false;
20
22
  currentModel;
23
+ recentToolCalls = [];
24
+ static MAX_REPEATED_CALLS = 3;
25
+ contextCompactor;
26
+ // Reasoning chaining state (matches backend implementation)
27
+ lastResponseId = null;
28
+ pendingFunctionOutputs = null;
29
+ geminiThoughtSignatures = []; // Gemini-specific reasoning chaining
21
30
  constructor(config, sessionId) {
22
31
  super(); // Initialize EventEmitter
23
32
  this.config = config;
@@ -27,6 +36,7 @@ export class AgentOrchestrator extends EventEmitter {
27
36
  baseUrl: config.apiUrl,
28
37
  token: config.token,
29
38
  });
39
+ this.contextCompactor = new ContextCompactor();
30
40
  // Initialize execution context
31
41
  const executionContext = {
32
42
  sessionManager: this.sessionManager,
@@ -45,6 +55,9 @@ export class AgentOrchestrator extends EventEmitter {
45
55
  }
46
56
  async chat(userMessage) {
47
57
  this.isCancelled = false; // Reset cancellation flag
58
+ this.recentToolCalls = []; // Reset tool call tracking for new conversation turn
59
+ // Note: We do NOT reset lastResponseId or pendingFunctionOutputs here
60
+ // They persist across the conversation to enable reasoning chaining
48
61
  // Add user message to history
49
62
  this.sessionManager.addMessage({
50
63
  role: "user",
@@ -71,6 +84,24 @@ export class AgentOrchestrator extends EventEmitter {
71
84
  data: { cancelled: true },
72
85
  });
73
86
  }
87
+ setTestingMode(mode) {
88
+ this.config.testingMode = mode;
89
+ this.sessionManager.updateConfig({
90
+ testingMode: mode,
91
+ baseUrl: this.config.baseUrl,
92
+ apiBaseUrl: this.config.apiBaseUrl,
93
+ });
94
+ this.toolExecutor.setTestingMode(mode, {
95
+ baseUrl: this.config.baseUrl,
96
+ apiBaseUrl: this.config.apiBaseUrl,
97
+ });
98
+ }
99
+ /**
100
+ * Set the permission prompt function for user interaction
101
+ */
102
+ setPermissionPromptFn(fn) {
103
+ this.toolExecutor.setPermissionPromptFn(fn);
104
+ }
74
105
  async refreshHttpClient() {
75
106
  // Refresh HTTP client with current token from config file
76
107
  const { getAuthToken } = await import("./config.js");
@@ -84,6 +115,8 @@ export class AgentOrchestrator extends EventEmitter {
84
115
  });
85
116
  }
86
117
  async handleLocalMode(messages, toolSchemas) {
118
+ // Auto-compact context if approaching token limits
119
+ this.autoCompactIfNeeded();
87
120
  // Build system prompt with context
88
121
  const systemPrompt = build_cli_system_prompt("unified_agent_react", {
89
122
  user_goal: "Help the user with testing and automation tasks",
@@ -110,9 +143,17 @@ export class AgentOrchestrator extends EventEmitter {
110
143
  context: {
111
144
  test_id: this.conversationId,
112
145
  mode: "local",
146
+ ...(this.currentModel && { ai_model: this.currentModel }),
113
147
  },
114
148
  mode: "local",
115
- ...(this.currentModel && { ai_model: this.currentModel }),
149
+ // Reasoning chaining (matches backend implementation):
150
+ // - function_outputs: Used by all providers to send tool results
151
+ // - previous_response_id: OpenAI-specific extended reasoning chaining
152
+ // (backend filters this for non-OpenAI providers)
153
+ ...(this.pendingFunctionOutputs && {
154
+ function_outputs: this.pendingFunctionOutputs,
155
+ }),
156
+ ...(this.lastResponseId && { previous_response_id: this.lastResponseId }),
116
157
  };
117
158
  // Check for cancellation before HTTP request
118
159
  if (this.isCancelled) {
@@ -136,8 +177,22 @@ export class AgentOrchestrator extends EventEmitter {
136
177
  if (this.isCancelled) {
137
178
  return "Agent execution cancelled";
138
179
  }
180
+ // Capture response ID for reasoning chaining (OpenAI-specific)
181
+ this.lastResponseId = result.id || null;
182
+ // Capture Gemini thought signatures for reasoning chaining
183
+ if (result.gemini_thought_signatures) {
184
+ this.geminiThoughtSignatures = result.gemini_thought_signatures;
185
+ }
186
+ // Clear pending function outputs after they've been sent
187
+ if (this.pendingFunctionOutputs) {
188
+ this.pendingFunctionOutputs = null;
189
+ }
139
190
  const toolCall = this.extractToolCall(result);
140
191
  if (toolCall) {
192
+ // IMPORTANT: Generate the tool call ID once and reuse everywhere to prevent mismatch
193
+ // If toolCall.id is undefined, we generate a fallback ID that MUST be used consistently
194
+ // in both the assistant message (with tool_calls) and the tool result message
195
+ const resolvedCallId = toolCall.id || `call_${Date.now()}`;
141
196
  // Extract and emit assistant reasoning text first
142
197
  const assistantReasoning = this.extractAssistantText(result);
143
198
  if (assistantReasoning) {
@@ -147,15 +202,62 @@ export class AgentOrchestrator extends EventEmitter {
147
202
  reasoning: assistantReasoning,
148
203
  },
149
204
  });
150
- this.sessionManager.addMessage({
205
+ // Add assistant message with tool_calls to match backend format
206
+ const assistantMessage = {
151
207
  role: "assistant",
152
208
  content: assistantReasoning,
153
- });
209
+ toolCalls: [
210
+ {
211
+ id: resolvedCallId,
212
+ name: toolCall.name,
213
+ arguments: toolCall.arguments,
214
+ },
215
+ ],
216
+ };
217
+ // Add Gemini thought signatures if present (for reasoning chaining)
218
+ if (this.geminiThoughtSignatures.length > 0) {
219
+ assistantMessage.gemini_thought_signatures = [
220
+ ...this.geminiThoughtSignatures,
221
+ ];
222
+ }
223
+ this.sessionManager.addMessage(assistantMessage);
224
+ }
225
+ else {
226
+ // No reasoning text, but still need to add assistant message with tool call
227
+ const assistantMessage = {
228
+ role: "assistant",
229
+ content: "",
230
+ toolCalls: [
231
+ {
232
+ id: resolvedCallId,
233
+ name: toolCall.name,
234
+ arguments: toolCall.arguments,
235
+ },
236
+ ],
237
+ };
238
+ // Add Gemini thought signatures if present (for reasoning chaining)
239
+ if (this.geminiThoughtSignatures.length > 0) {
240
+ assistantMessage.gemini_thought_signatures = [
241
+ ...this.geminiThoughtSignatures,
242
+ ];
243
+ }
244
+ this.sessionManager.addMessage(assistantMessage);
154
245
  }
155
246
  // Parse arguments for both event emission and tool execution
156
247
  const parsedArguments = typeof toolCall.arguments === "string"
157
248
  ? JSON.parse(toolCall.arguments)
158
249
  : toolCall.arguments;
250
+ // Check for loop detection - same tool called repeatedly with similar args
251
+ const loopWarning = this.checkForToolLoop(toolCall.name, parsedArguments);
252
+ if (loopWarning) {
253
+ // Inject a warning message to help the agent break out of the loop
254
+ this.sessionManager.addMessage({
255
+ role: "user",
256
+ content: loopWarning,
257
+ });
258
+ // Continue to next iteration with the warning in context
259
+ return this.handleLocalMode(this.sessionManager.getMessages(), this.getAvailableToolSchemas());
260
+ }
159
261
  // Emit tool start event
160
262
  this.emit("tool_start", {
161
263
  tool: toolCall.name,
@@ -192,6 +294,10 @@ export class AgentOrchestrator extends EventEmitter {
192
294
  toolResult?.success &&
193
295
  isTestingMode(toolResult.mode)) {
194
296
  this.config.testingMode = toolResult.mode;
297
+ // Save mode preference for next session
298
+ configManager.setLastMode(toolResult.mode).catch(() => {
299
+ // Ignore save errors - non-critical
300
+ });
195
301
  }
196
302
  // Handle finish tool - stop the agent loop
197
303
  if (toolCall.name === "finish" && toolResult?.finished) {
@@ -199,22 +305,33 @@ export class AgentOrchestrator extends EventEmitter {
199
305
  role: "tool",
200
306
  content: JSON.stringify(toolResult),
201
307
  toolCall: {
202
- id: toolCall.id || `${Date.now()}`,
308
+ id: resolvedCallId,
203
309
  name: toolCall.name,
204
310
  arguments: toolCall.arguments,
205
311
  },
206
312
  });
207
313
  return toolResult.summary || toolResult.message || "Task completed";
208
314
  }
315
+ // Add tool result message with proper tool_call_id to match backend format
316
+ // Note: resolvedCallId was generated at the top of this block to ensure consistency
209
317
  this.sessionManager.addMessage({
210
318
  role: "tool",
211
319
  content: JSON.stringify(toolResult),
212
320
  toolCall: {
213
- id: toolCall.id || `${Date.now()}`,
321
+ id: resolvedCallId,
214
322
  name: toolCall.name,
215
323
  arguments: toolCall.arguments,
216
324
  },
217
325
  });
326
+ // Add to pending function outputs for reasoning chaining (matches backend)
327
+ const functionOutput = {
328
+ call_id: resolvedCallId,
329
+ output: JSON.stringify(toolResult),
330
+ };
331
+ if (!this.pendingFunctionOutputs) {
332
+ this.pendingFunctionOutputs = [];
333
+ }
334
+ this.pendingFunctionOutputs.push(functionOutput);
218
335
  if (pendingScreenshot) {
219
336
  const screenshotMessageId = this.handleScreenshotInHistory(pendingScreenshot.data, pendingScreenshot.action);
220
337
  if (toolCall.name === "browser_take_screenshot" &&
@@ -256,6 +373,72 @@ export class AgentOrchestrator extends EventEmitter {
256
373
  function: schema,
257
374
  }));
258
375
  }
376
+ /**
377
+ * Check if the agent is stuck in a loop calling the same tool repeatedly
378
+ * Returns a warning message if loop detected, null otherwise
379
+ */
380
+ checkForToolLoop(toolName, args) {
381
+ const argsKey = JSON.stringify(args);
382
+ const callSignature = { name: toolName, args: argsKey };
383
+ // Track this call
384
+ this.recentToolCalls.push(callSignature);
385
+ // Keep only recent calls (last 10)
386
+ if (this.recentToolCalls.length > 10) {
387
+ this.recentToolCalls.shift();
388
+ }
389
+ // Count how many times this exact tool has been called (regardless of args for now)
390
+ // This catches cases where the agent keeps calling the same tool with slightly different args
391
+ const sameToolCalls = this.recentToolCalls.filter((call) => call.name === toolName);
392
+ if (sameToolCalls.length >= AgentOrchestrator.MAX_REPEATED_CALLS) {
393
+ // Check if args are similar
394
+ const similarCalls = sameToolCalls.filter((call) => this.areSimilarArgs(call.args, argsKey));
395
+ if (similarCalls.length >= AgentOrchestrator.MAX_REPEATED_CALLS) {
396
+ // Clear the tracking to allow fresh attempts after the warning
397
+ this.recentToolCalls = [];
398
+ return `[System Notice] You've called ${toolName} ${similarCalls.length} times with similar arguments. This appears to be a loop.
399
+
400
+ STOP and do one of the following:
401
+ 1. If you already have the information you need from previous tool results, USE IT to answer the user's question
402
+ 2. If the tool isn't returning what you expected, try a DIFFERENT tool or approach
403
+ 3. If you're stuck, explain what you're trying to accomplish and ask for guidance
404
+
405
+ Do NOT call ${toolName} again with the same or similar arguments.`;
406
+ }
407
+ }
408
+ return null;
409
+ }
410
+ /**
411
+ * Check if two argument strings are similar (exact match or minor variations)
412
+ */
413
+ areSimilarArgs(args1, args2) {
414
+ // Exact match
415
+ if (args1 === args2)
416
+ return true;
417
+ // Parse and compare key fields for common tools
418
+ try {
419
+ const parsed1 = JSON.parse(args1);
420
+ const parsed2 = JSON.parse(args2);
421
+ // For directory/file tools, compare the path field
422
+ if ("path" in parsed1 && "path" in parsed2) {
423
+ // Normalize paths for comparison
424
+ const path1 = (parsed1.path || ".").replace(/^\.\//, "");
425
+ const path2 = (parsed2.path || ".").replace(/^\.\//, "");
426
+ return path1 === path2;
427
+ }
428
+ // For grep_search, compare query and path
429
+ if ("query" in parsed1 && "query" in parsed2) {
430
+ return parsed1.query === parsed2.query && parsed1.path === parsed2.path;
431
+ }
432
+ // For search_files, compare pattern
433
+ if ("pattern" in parsed1 && "pattern" in parsed2) {
434
+ return parsed1.pattern === parsed2.pattern;
435
+ }
436
+ }
437
+ catch {
438
+ // If parsing fails, fall back to string comparison
439
+ }
440
+ return false;
441
+ }
259
442
  formatMessages(messages) {
260
443
  return messages
261
444
  .filter((msg) => msg.metadata?.type !== "screenshot")
@@ -266,6 +449,27 @@ export class AgentOrchestrator extends EventEmitter {
266
449
  ? msg.content
267
450
  : JSON.stringify(msg.content),
268
451
  };
452
+ // Handle assistant messages with tool calls
453
+ if (msg.role === "assistant" &&
454
+ msg.toolCalls &&
455
+ msg.toolCalls.length > 0) {
456
+ base.tool_calls = msg.toolCalls.map((tc) => ({
457
+ id: tc.id,
458
+ type: "function",
459
+ function: {
460
+ name: tc.name,
461
+ arguments: typeof tc.arguments === "string"
462
+ ? tc.arguments
463
+ : JSON.stringify(tc.arguments),
464
+ },
465
+ }));
466
+ // Include Gemini thought signatures for reasoning chaining
467
+ if (msg.gemini_thought_signatures &&
468
+ msg.gemini_thought_signatures.length > 0) {
469
+ base.gemini_thought_signatures = msg.gemini_thought_signatures;
470
+ }
471
+ }
472
+ // Handle tool result messages
269
473
  if (msg.role === "tool" && msg.toolCall) {
270
474
  base.name = msg.toolCall.name;
271
475
  base.tool_call_id = msg.toolCall.id;
@@ -470,5 +674,55 @@ export class AgentOrchestrator extends EventEmitter {
470
674
  // Don't fail on pruning errors
471
675
  }
472
676
  }
677
+ /**
678
+ * Get context compaction statistics
679
+ */
680
+ getContextStats() {
681
+ const messages = this.sessionManager.getMessages();
682
+ return this.contextCompactor.getStats(messages);
683
+ }
684
+ /**
685
+ * Manually compact context if needed
686
+ */
687
+ async compactContext() {
688
+ const messages = this.sessionManager.getMessages();
689
+ const result = await this.contextCompactor.compact(messages, this.httpClient);
690
+ if (result.removedCount > 0) {
691
+ this.sessionManager.clearMessages();
692
+ result.compactedMessages.forEach((msg) => this.sessionManager.addMessage(msg));
693
+ }
694
+ return {
695
+ success: true,
696
+ stats: {
697
+ removedCount: result.removedCount,
698
+ tokensBeforeCompaction: result.tokensBeforeCompaction,
699
+ tokensAfterCompaction: result.tokensAfterCompaction,
700
+ strategy: result.strategy,
701
+ summaryGenerated: result.summaryGenerated,
702
+ },
703
+ };
704
+ }
705
+ /**
706
+ * Auto-compact context before sending to backend if needed
707
+ */
708
+ async autoCompactIfNeeded() {
709
+ const messages = this.sessionManager.getMessages();
710
+ if (this.contextCompactor.needsCompaction(messages)) {
711
+ const result = await this.contextCompactor.compact(messages, this.httpClient);
712
+ this.sessionManager.clearMessages();
713
+ result.compactedMessages.forEach((msg) => this.sessionManager.addMessage(msg));
714
+ // Emit event to notify UI
715
+ this.emit("context_compacted", {
716
+ message: "Context automatically compacted to manage token limits",
717
+ data: {
718
+ removedCount: result.removedCount,
719
+ tokensBeforeCompaction: result.tokensBeforeCompaction,
720
+ tokensAfterCompaction: result.tokensAfterCompaction,
721
+ strategy: result.strategy,
722
+ summaryGenerated: result.summaryGenerated,
723
+ },
724
+ });
725
+ }
726
+ }
473
727
  }
474
728
  //# sourceMappingURL=agent-orchestrator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-orchestrator.js","sourceRoot":"","sources":["../../../src/lib/agent-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-orchestrator.js","sourceRoot":"","sources":["../../../src/lib/agent-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -141,4 +141,44 @@ export function getNgrokAuthtoken() {
141
141
  const cfg = loadConfig();
142
142
  return process.env.TTT_NGROK_AUTHTOKEN || cfg.ngrok.authtoken || null;
143
143
  }
144
+ const PREFS_FILE = path.join(CONFIG_DIR, "preferences.json");
145
+ export class ConfigManager {
146
+ prefsPath;
147
+ constructor(prefsPath) {
148
+ this.prefsPath = prefsPath ?? PREFS_FILE;
149
+ }
150
+ async loadPreferences() {
151
+ try {
152
+ const content = await fs.promises.readFile(this.prefsPath, "utf-8");
153
+ return JSON.parse(content);
154
+ }
155
+ catch {
156
+ return {};
157
+ }
158
+ }
159
+ async savePreferences(prefs) {
160
+ const dir = path.dirname(this.prefsPath);
161
+ fs.ensureDirSync(dir);
162
+ await fs.promises.writeFile(this.prefsPath, JSON.stringify(prefs, null, 2), { mode: 0o600 });
163
+ }
164
+ async getLastMode() {
165
+ const prefs = await this.loadPreferences();
166
+ return prefs.lastMode ?? null;
167
+ }
168
+ async setLastMode(mode) {
169
+ const prefs = await this.loadPreferences();
170
+ prefs.lastMode = mode;
171
+ await this.savePreferences(prefs);
172
+ }
173
+ async getPreferredModel() {
174
+ const prefs = await this.loadPreferences();
175
+ return prefs.preferredModel ?? null;
176
+ }
177
+ async setPreferredModel(modelId) {
178
+ const prefs = await this.loadPreferences();
179
+ prefs.preferredModel = modelId;
180
+ await this.savePreferences(prefs);
181
+ }
182
+ }
183
+ export const configManager = new ConfigManager();
144
184
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,IAAI,MAAM,GAAmC,IAAI,CAAC;AAClD,IAAI,CAAC;IACH,qDAAqD;IACrD,8DAA8D;IAC9D,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC;AAAC,MAAM,CAAC;IACP,MAAM,GAAG,IAAI,CAAC;AAChB,CAAC;AACD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,EAAE,CAAC;AAiBhB,MAAM,cAAc,GAAc;IAChC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,wCAAwC;IAC3E,SAAS,EACP,OAAO,CAAC,GAAG,CAAC,cAAc;QAC1B,OAAO,CAAC,GAAG,CAAC,WAAW;QACvB,wCAAwC;IAC1C,IAAI,EAAE,EAAC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,SAAS,EAAE,IAAI,EAAC;IACvE,gBAAgB,EAAE,IAAI;IACtB,aAAa,EAAE,IAAI;IACnB,iBAAiB,EAAE,EAAE;IACrB,KAAK,EAAE,EAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,IAAI,EAAC;CAC5D,CAAC;AAEF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEzD,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC;QACH,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAuB,CAAC;YACtD,OAAO;gBACL,GAAG,cAAc;gBACjB,GAAG,MAAM;gBACT,IAAI,EAAE,EAAC,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAC;gBACtD,KAAK,EAAE,EAAC,GAAG,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAC;aAC1D,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,OAAO,EAAC,GAAG,cAAc,EAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAiB;IAC1C,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAC7B,EAAE,CAAC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAiB,EAAE,SAAiB;IACrE,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;IACpD,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC7C,UAAU,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC;IACxC,MAAM,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IACzB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,sBAAsB;IACtB,MAAM,OAAO,GAAG,gBAAgB,CAAC;IACjC,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,IAAI,SAAS,CAAC;IACpD,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,GAAI,MAAc,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAG5B,CAAC;YAC3B,IAAI,CAAC,IAAI,OAAQ,CAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC/C,oFAAoF;YACtF,CAAC;iBAAM,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACjC,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,OAAO,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,SAAkB;IAC5D,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IACjC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,UAAU,CAAC,GAAG,CAAC,CAAC;IAChB,2BAA2B;IAC3B,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,gBAAgB,CAAC;YACjC,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,IAAI,SAAS,CAAC;YACnD,MAAc,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,yBAAyB;IACzB,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,GAAG,CAAC,CAAC;IAChB,oCAAoC;IACpC,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,gBAAgB,CAAC;YACjC,MAAM,OAAO,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,IAAI,SAAS,CAAC;YACpD,IAAI,OAAQ,MAAc,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;gBACxD,MAAc,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,OAAQ,MAAc,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;gBAC7D,kDAAkD;gBACjD,MAAc,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAiB;IAC7C,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,MAAM,CAAC;IAC9D,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAiB;IAChD,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,SAAS,CAAC;IACpE,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC;AACxE,CAAC;AAaD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAE7D,MAAM,OAAO,aAAa;IAChB,SAAS,CAAS;IAE1B,YAAY,SAAkB;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,UAAU,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACpE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAoB,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAsB;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACtB,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAC9B,EAAC,IAAI,EAAE,KAAK,EAAC,CACd,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAiB;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACtB,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAe;QACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC;QAC/B,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}