@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,19 +7,11 @@ import chalk from "chalk";
7
7
  import React from "react";
8
8
  import { render } from "ink";
9
9
  import { AgentOrchestrator } from "../lib/agent-orchestrator.js";
10
- import { resolveApiUrl, getAuthToken } from "../lib/config.js";
11
- import { getToolDescription } from "../lib/tool-descriptions.js";
10
+ import { resolveApiUrl, getAuthToken, configManager } from "../lib/config.js";
12
11
  import { ChatApp } from "./chat/ChatApp.js";
13
12
  import { performInteractiveLogin } from "./login.js";
14
13
  import { resolveTestingMode } from "../lib/testing-mode.js";
15
- export const chatInk = new Command()
16
- .name("chat")
17
- .description("Start an interactive chat session with the test agent (INK UI)")
18
- .option("--mode <mode>", "Testing mode: ui or api", "ui")
19
- .option("--base-url <url>", "Base URL for UI testing", process.env.TTT_BASE_URL)
20
- .option("--api-base-url <url>", "Base URL for API testing", process.env.TTT_API_BASE_URL)
21
- .option("--session <id>", "Resume existing session by ID")
22
- .action(async (options) => {
14
+ export async function runChatInk(options) {
23
15
  try {
24
16
  const apiUrl = resolveApiUrl();
25
17
  let token = getAuthToken();
@@ -71,19 +63,27 @@ export const chatInk = new Command()
71
63
  }
72
64
  }
73
65
  else {
74
- console.log(chalk.gray(`ℹ️ Unable to fetch user info: ${error?.message || error}`));
66
+ console.error(chalk.gray(`ℹ️ Unable to fetch user info: ${error?.message || error}`));
75
67
  }
76
68
  }
77
69
  // Determine mode (local is default)
78
70
  const mode = "local";
79
- console.log(chalk.green("✓ Running in LOCAL mode"));
71
+ // Load saved mode preference, use --mode flag if provided, otherwise fall back to saved or default
80
72
  let testingMode;
81
73
  try {
82
- testingMode = resolveTestingMode(options.mode ?? "ui", {
83
- defaultMode: "ui",
84
- strict: true,
85
- contextLabel: "--mode",
86
- });
74
+ if (options.mode) {
75
+ // User explicitly provided --mode flag
76
+ testingMode = resolveTestingMode(options.mode, {
77
+ defaultMode: "ui",
78
+ strict: true,
79
+ contextLabel: "--mode",
80
+ });
81
+ }
82
+ else {
83
+ // Try to load saved mode preference
84
+ const savedMode = await configManager.getLastMode();
85
+ testingMode = savedMode ?? "ui";
86
+ }
87
87
  }
88
88
  catch (error) {
89
89
  console.error(chalk.red(error?.message || String(error)));
@@ -102,6 +102,17 @@ export const chatInk = new Command()
102
102
  function getAppInterface() {
103
103
  return globalThis.__chatAppInterface;
104
104
  }
105
+ // Set up permission prompt handler - delegates to ChatApp UI
106
+ const permissionPromptFn = async (request) => {
107
+ const appInterface = getAppInterface();
108
+ if (!appInterface?.promptPermission) {
109
+ // Fallback: deny if UI not available
110
+ return "deny";
111
+ }
112
+ return appInterface.promptPermission(request);
113
+ };
114
+ // Wire up permission handler to orchestrator's tool executor
115
+ orchestrator.setPermissionPromptFn(permissionPromptFn);
105
116
  function handleUserCancel() {
106
117
  const appInterface = getAppInterface();
107
118
  const wasCancelled = userCancelled;
@@ -125,11 +136,12 @@ export const chatInk = new Command()
125
136
  const appInterface = getAppInterface();
126
137
  const reasoning = data.data?.reasoning || data.message;
127
138
  if (reasoning && reasoning.trim()) {
128
- // Add reasoning as a system message to show in history
139
+ // Add reasoning as a system message with special formatting
129
140
  appInterface?.addMessage({
130
141
  id: `reasoning-${Date.now()}`,
131
142
  type: "system",
132
- content: `${reasoning}`,
143
+ content: reasoning,
144
+ metadata: { isReasoning: true },
133
145
  });
134
146
  }
135
147
  };
@@ -139,23 +151,37 @@ export const chatInk = new Command()
139
151
  }
140
152
  const appInterface = getAppInterface();
141
153
  const toolName = data.data?.tool || data.tool;
142
- const description = getToolDescription(toolName);
143
- // Add tool event as a system message to show in history
154
+ const toolArgs = data.data?.arguments || {};
155
+ // Add tool call as a system message with tool metadata
144
156
  appInterface?.addMessage({
145
157
  id: `tool-${Date.now()}`,
146
158
  type: "system",
147
- content: `🔧 ${toolName.replace(/_/g, " ")} - ${description}`,
159
+ content: "", // Content will be rendered by ToolCallDisplay
160
+ metadata: {
161
+ isTool: true,
162
+ toolName,
163
+ toolArgs,
164
+ isLoading: true,
165
+ },
148
166
  });
149
167
  appInterface?.setStatus({
150
168
  text: "Agent thinking...",
151
169
  type: "loading",
152
170
  });
153
171
  };
154
- const onToolResult = () => {
172
+ const onToolResult = (data) => {
155
173
  if (userCancelled) {
156
174
  return;
157
175
  }
158
- // Tool completion is intentionally silent now.
176
+ const appInterface = getAppInterface();
177
+ const toolName = data.data?.tool || data.tool;
178
+ const result = data.data?.result;
179
+ // Update the last tool message with the result
180
+ appInterface?.updateLastToolMessage?.({
181
+ toolName,
182
+ result,
183
+ isLoading: false,
184
+ });
159
185
  };
160
186
  const onAgentCancelled = () => {
161
187
  if (userCancelled) {
@@ -199,8 +225,117 @@ export const chatInk = new Command()
199
225
  chatContext.toolCount = history.filter((msg) => msg.role === "tool").length;
200
226
  };
201
227
  updateContextFromOrchestrator();
202
- // Define slash commands
228
+ // Define slash commands (alphabetically sorted)
203
229
  const slashCommands = [
230
+ {
231
+ name: "cancel",
232
+ description: "Alias for /stop",
233
+ handler: async () => {
234
+ handleUserCancel();
235
+ return "continue";
236
+ },
237
+ },
238
+ {
239
+ name: "clear",
240
+ description: "Clear the transcript visually",
241
+ handler: async () => "continue",
242
+ },
243
+ {
244
+ name: "bugs",
245
+ description: "List all bugs identified in this session",
246
+ handler: async (args, orchestrator) => {
247
+ const history = orchestrator.getConversationHistory();
248
+ const findings = history
249
+ .filter((msg) => msg.role === "tool" && msg.toolCall?.name === "generate_document")
250
+ .map((msg) => {
251
+ try {
252
+ const res = JSON.parse(msg.content);
253
+ return res.findings || [];
254
+ }
255
+ catch {
256
+ return [];
257
+ }
258
+ })
259
+ .flat();
260
+ const appInterface = getAppInterface();
261
+ if (findings.length === 0) {
262
+ appInterface?.addMessage({
263
+ id: Date.now().toString(),
264
+ type: "system",
265
+ content: "No bugs have been formally reported yet. Use /report to generate a report.",
266
+ });
267
+ }
268
+ else {
269
+ const list = findings
270
+ .map((f, i) => `${i + 1}. [${f.severity?.toUpperCase()}] ${f.title}`)
271
+ .join("\n");
272
+ appInterface?.addMessage({
273
+ id: Date.now().toString(),
274
+ type: "system",
275
+ content: `🐞 Identified Bugs:\n${list}`,
276
+ });
277
+ }
278
+ return "continue";
279
+ },
280
+ },
281
+ {
282
+ name: "compact",
283
+ description: "Compact conversation context to manage token limits",
284
+ handler: async () => {
285
+ const stats = orchestrator.getContextStats();
286
+ const appInterface = getAppInterface();
287
+ if (!stats.needsCompaction) {
288
+ appInterface?.addMessage({
289
+ id: Date.now().toString(),
290
+ type: "system",
291
+ content: `Context: ${stats.totalMessages} messages, ${stats.tokens.toLocaleString()} tokens (${stats.utilizationPercent.toFixed(1)}% of limit), ${stats.conversationTurns} turns. No compaction needed.`,
292
+ });
293
+ return "continue";
294
+ }
295
+ const result = await orchestrator.compactContext();
296
+ appInterface?.addMessage({
297
+ id: Date.now().toString(),
298
+ type: "system",
299
+ content: `✅ Context compacted: ${result.stats.removedCount} messages removed\n` +
300
+ `Before: ${result.stats.tokensBeforeCompaction.toLocaleString()} tokens\n` +
301
+ `After: ${result.stats.tokensAfterCompaction.toLocaleString()} tokens\n` +
302
+ `Strategy: ${result.stats.strategy}` +
303
+ (result.stats.summaryGenerated
304
+ ? "\n📝 LLM summary generated"
305
+ : ""),
306
+ });
307
+ updateContextFromOrchestrator();
308
+ appInterface?.updateContext(chatContext);
309
+ return "continue";
310
+ },
311
+ },
312
+ {
313
+ name: "exit",
314
+ description: "Exit the session (saves progress)",
315
+ handler: async () => "exit",
316
+ },
317
+ {
318
+ name: "goto",
319
+ description: "Direct the agent to a specific URL",
320
+ handler: async (args, orchestrator) => {
321
+ if (args.length === 0) {
322
+ getAppInterface()?.addMessage({
323
+ id: Date.now().toString(),
324
+ type: "system",
325
+ content: "Usage: /goto <url>",
326
+ });
327
+ return "continue";
328
+ }
329
+ const url = args[0];
330
+ getAppInterface()?.addMessage({
331
+ id: Date.now().toString(),
332
+ type: "system",
333
+ content: `🚀 Navigating to ${url}...`,
334
+ });
335
+ void handleUserMessage(`Navigate to ${url} and tell me what you see.`);
336
+ return "continue";
337
+ },
338
+ },
204
339
  {
205
340
  name: "help",
206
341
  description: "Show available slash commands",
@@ -275,6 +410,72 @@ export const chatInk = new Command()
275
410
  return "continue";
276
411
  },
277
412
  },
413
+ {
414
+ name: "report",
415
+ description: "Force the agent to generate a final report",
416
+ handler: async (args, orchestrator) => {
417
+ getAppInterface()?.addMessage({
418
+ id: Date.now().toString(),
419
+ type: "system",
420
+ content: "📑 Generating report based on session history...",
421
+ });
422
+ void handleUserMessage("Please generate a final report of your findings for this session.");
423
+ return "continue";
424
+ },
425
+ },
426
+ {
427
+ name: "scan",
428
+ description: "Instruct the agent to scan the page for interactive elements",
429
+ handler: async () => {
430
+ getAppInterface()?.addMessage({
431
+ id: Date.now().toString(),
432
+ type: "system",
433
+ content: "🔍 Scanning page for interactive elements...",
434
+ });
435
+ void handleUserMessage("Scan the current page and list all interactive elements you find.");
436
+ return "continue";
437
+ },
438
+ },
439
+ {
440
+ name: "screenshot",
441
+ description: "Force the agent to take a screenshot and show the state",
442
+ handler: async () => {
443
+ getAppInterface()?.addMessage({
444
+ id: Date.now().toString(),
445
+ type: "system",
446
+ content: "📸 Capturing fresh screenshot...",
447
+ });
448
+ void handleUserMessage("Please take a screenshot of the current page and tell me what's visible.");
449
+ return "continue";
450
+ },
451
+ },
452
+ {
453
+ name: "where",
454
+ description: "Get the current URL and page title from the agent",
455
+ handler: async () => {
456
+ getAppInterface()?.addMessage({
457
+ id: Date.now().toString(),
458
+ type: "system",
459
+ content: "📍 Checking location...",
460
+ });
461
+ void handleUserMessage("What is the current URL and page title?");
462
+ return "continue";
463
+ },
464
+ },
465
+ {
466
+ name: "reset",
467
+ description: "Reset session and clear all messages",
468
+ handler: async (args, orchestrator) => {
469
+ orchestrator.cancel();
470
+ getAppInterface()?.addMessage({
471
+ id: Date.now().toString(),
472
+ type: "system",
473
+ content: "🧹 Session reset. History cleared.",
474
+ });
475
+ // Note: In a real app we'd want to tell the orchestrator to reset its internal state too
476
+ return "continue";
477
+ },
478
+ },
278
479
  {
279
480
  name: "session",
280
481
  description: "Display session metadata and storage path",
@@ -293,14 +494,6 @@ export const chatInk = new Command()
293
494
  return "continue";
294
495
  },
295
496
  },
296
- {
297
- name: "clear",
298
- description: "Clear the terminal and redraw the header",
299
- handler: async () => {
300
- console.clear();
301
- return "continue";
302
- },
303
- },
304
497
  {
305
498
  name: "stop",
306
499
  description: "Stop the assistant (same as ESC)",
@@ -310,23 +503,28 @@ export const chatInk = new Command()
310
503
  },
311
504
  },
312
505
  {
313
- name: "cancel",
314
- description: "Alias for /stop",
506
+ name: "logout",
507
+ description: "Log out and clear local credentials",
315
508
  handler: async () => {
316
- handleUserCancel();
317
- return "continue";
509
+ try {
510
+ const { clearAuthToken } = await import("../lib/config.js");
511
+ clearAuthToken();
512
+ getAppInterface()?.addMessage({
513
+ id: Date.now().toString(),
514
+ type: "system",
515
+ content: "✅ Logged out. Credentials cleared.",
516
+ });
517
+ }
518
+ catch (e) {
519
+ getAppInterface()?.addMessage({
520
+ id: Date.now().toString(),
521
+ type: "system",
522
+ content: `❌ Failed to logout: ${e?.message || String(e)}`,
523
+ });
524
+ }
525
+ return "exit";
318
526
  },
319
527
  },
320
- {
321
- name: "exit",
322
- description: "Exit the chat session",
323
- handler: async () => "exit",
324
- },
325
- {
326
- name: "quit",
327
- description: "Alias for /exit",
328
- handler: async () => "exit",
329
- },
330
528
  {
331
529
  name: "model",
332
530
  description: "Switch AI model (Pro tier required)",
@@ -350,8 +548,12 @@ export const chatInk = new Command()
350
548
  if (args.length === 0) {
351
549
  const modelsList = availableModels
352
550
  .map((m) => {
353
- const usesInfo = m.usesRemaining !== null ? ` (${m.usesRemaining} free uses left)` : "";
354
- const creditInfo = m.credits > 0 ? ` - ${m.credits} credit${m.credits !== 1 ? 's' : ''}/msg` : "";
551
+ const usesInfo = m.usesRemaining !== null
552
+ ? ` (${m.usesRemaining} free uses left)`
553
+ : "";
554
+ const creditInfo = m.credits > 0
555
+ ? ` - ${m.credits} credit${m.credits !== 1 ? "s" : ""}/msg`
556
+ : "";
355
557
  return ` ${m.id} - ${m.name}${creditInfo}${usesInfo}`;
356
558
  })
357
559
  .join("\n");
@@ -385,7 +587,9 @@ export const chatInk = new Command()
385
587
  appInterface?.addMessage({
386
588
  id: Date.now().toString(),
387
589
  type: "system",
388
- content: model ? `❌ ${model.name} is unavailable` : `❌ Unknown model: ${modelId}`,
590
+ content: model
591
+ ? `❌ ${model.name} is unavailable`
592
+ : `❌ Unknown model: ${modelId}`,
389
593
  });
390
594
  return "continue";
391
595
  }
@@ -397,13 +601,13 @@ export const chatInk = new Command()
397
601
  let statusInfo = "";
398
602
  if (model.credits > 0) {
399
603
  if (isPaidPlan) {
400
- statusInfo = ` (${model.credits} credit${model.credits !== 1 ? 's' : ''}/msg, ${planTier} plan)`;
604
+ statusInfo = ` (${model.credits} credit${model.credits !== 1 ? "s" : ""}/msg, ${planTier} plan)`;
401
605
  }
402
606
  else if (creditBalance > 0) {
403
- statusInfo = ` (${model.credits} credit${model.credits !== 1 ? 's' : ''}/msg, ${creditBalance} credits remaining)`;
607
+ statusInfo = ` (${model.credits} credit${model.credits !== 1 ? "s" : ""}/msg, ${creditBalance} credits remaining)`;
404
608
  }
405
609
  else {
406
- statusInfo = ` (${model.credits} credit${model.credits !== 1 ? 's' : ''}/msg)`;
610
+ statusInfo = ` (${model.credits} credit${model.credits !== 1 ? "s" : ""}/msg)`;
407
611
  }
408
612
  }
409
613
  appInterface?.addMessage({
@@ -423,29 +627,6 @@ export const chatInk = new Command()
423
627
  }
424
628
  },
425
629
  },
426
- {
427
- name: "logout",
428
- description: "Log out and clear local credentials",
429
- handler: async () => {
430
- try {
431
- const { clearAuthToken } = await import("../lib/config.js");
432
- clearAuthToken();
433
- getAppInterface()?.addMessage({
434
- id: Date.now().toString(),
435
- type: "system",
436
- content: "✅ Logged out. Credentials cleared.",
437
- });
438
- }
439
- catch (e) {
440
- getAppInterface()?.addMessage({
441
- id: Date.now().toString(),
442
- type: "system",
443
- content: `❌ Failed to logout: ${e?.message || String(e)}`,
444
- });
445
- }
446
- return "exit";
447
- },
448
- },
449
630
  ];
450
631
  const commandMap = new Map(slashCommands.map((command) => [command.name, command.handler]));
451
632
  const executeSlashCommand = async (cmd, args) => {
@@ -508,7 +689,7 @@ export const chatInk = new Command()
508
689
  };
509
690
  const handleExit = () => {
510
691
  cleanupOrchestratorListeners();
511
- console.log(chalk.green("\n✓ Session saved. Run 'ttt resume' to continue."));
692
+ console.error(chalk.green("\n✓ Session saved. Run 'ttt resume' to continue."));
512
693
  process.exit(0);
513
694
  };
514
695
  // Prepare slash commands for the UI
@@ -519,21 +700,59 @@ export const chatInk = new Command()
519
700
  label: `/${cmd.name}`,
520
701
  }));
521
702
  // Render the INK app
522
- const { waitUntilExit } = render(React.createElement(ChatApp, {
703
+ const { waitUntilExit, clear } = render(React.createElement(ChatApp, {
523
704
  user: userName,
524
705
  context: chatContext,
525
706
  slashCommands: slashCommandsForUI,
526
707
  onUserMessage: handleUserMessage,
527
708
  onSlashCommand: executeSlashCommand,
709
+ onSetTestingMode: async (mode) => {
710
+ orchestrator.setTestingMode(mode);
711
+ updateContextFromOrchestrator();
712
+ getAppInterface()?.updateContext(chatContext);
713
+ // Save mode preference for next session
714
+ await configManager.setLastMode(mode);
715
+ },
528
716
  onExit: handleExit,
529
717
  onCancel: handleUserCancel,
530
- }));
718
+ initialInput: options.initialInput,
719
+ }), {
720
+ stdin: process.stdin,
721
+ stdout: process.stdout,
722
+ debug: false,
723
+ patchConsole: false,
724
+ });
725
+ // Clear and re-render on terminal resize to prevent ghosting
726
+ const handleResize = () => {
727
+ // Clear entire terminal including scrollback
728
+ process.stdout.write("\x1b[2J\x1b[3J\x1b[H");
729
+ // Reset Ink's line counter and force re-render
730
+ clear();
731
+ // Force a re-render by triggering state change
732
+ const appInterface = getAppInterface();
733
+ if (appInterface) {
734
+ appInterface.setStatus({ text: "", type: "info" });
735
+ setTimeout(() => appInterface.clearStatus(), 0);
736
+ }
737
+ };
738
+ process.stdout.on("resize", handleResize);
531
739
  await waitUntilExit();
740
+ process.stdout.off("resize", handleResize);
532
741
  cleanupOrchestratorListeners();
533
742
  }
534
743
  catch (error) {
535
744
  console.error(chalk.red(`Error: ${error.message}`));
536
745
  process.exit(1);
537
746
  }
747
+ }
748
+ export const chatInk = new Command()
749
+ .name("chat")
750
+ .description("Start an interactive chat session with the test agent (INK UI). Supports UI testing (browser automation), API testing (HTTP requests), and Code analysis (local file analysis and bug finding).")
751
+ .option("--mode <mode>", "Testing mode: ui, api, or code", "ui")
752
+ .option("--base-url <url>", "Base URL for UI testing", process.env.TTT_BASE_URL)
753
+ .option("--api-base-url <url>", "Base URL for API testing", process.env.TTT_API_BASE_URL)
754
+ .option("--session <id>", "Resume existing session by ID")
755
+ .action(async (options) => {
756
+ await runChatInk(options);
538
757
  });
539
758
  //# sourceMappingURL=chat-ink.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-ink.js","sourceRoot":"","sources":["../../../src/commands/chat-ink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-ink.js","sourceRoot":"","sources":["../../../src/commands/chat-ink.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAC,iBAAiB,EAAc,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAC,aAAa,EAAE,YAAY,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAC,OAAO,EAAc,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAC,uBAAuB,EAAC,MAAM,YAAY,CAAC;AACnD,OAAO,EAAC,kBAAkB,EAAmB,MAAM,wBAAwB,CAAC;AAkB5E,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAMhC;IACC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;QAC/B,IAAI,KAAK,GAAG,YAAY,EAAE,CAAC;QAE3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,uBAAuB,EAAE,CAAC;gBAChC,oCAAoC;gBACpC,KAAK,GAAG,YAAY,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC;gBACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,MAAM,EAAC,gBAAgB,EAAC,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC1D,IAAI,IAAI,GAAG,gBAAgB,EAAE,CAAC;QAC9B,IAAI,QAAQ,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACnD,QAAQ;gBACN,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,YAAY,IAAI,SAAS,CAAC;QACrE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC;YACvC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACrC,6CAA6C;gBAC7C,IAAI,CAAC;oBACH,MAAM,uBAAuB,EAAE,CAAC;oBAChC,uCAAuC;oBACvC,KAAK,GAAG,YAAY,EAAE,CAAC;oBACvB,IAAI,CAAC,KAAK,EAAE,CAAC;wBACX,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;wBAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAClB,CAAC;oBACD,IAAI,GAAG,gBAAgB,EAAE,CAAC;oBAE1B,2BAA2B;oBAC3B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBACnD,QAAQ;wBACN,QAAQ,CAAC,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,YAAY,IAAI,SAAS,CAAC;gBACrE,CAAC;gBAAC,OAAO,WAAgB,EAAE,CAAC;oBAC1B,OAAO,CAAC,KAAK,CACX,+BAA+B,WAAW,EAAE,OAAO,IAAI,WAAW,EAAE,CACrE,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,IAAI,CACR,kCAAkC,KAAK,EAAE,OAAO,IAAI,KAAK,EAAE,CAC5D,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,MAAM,IAAI,GAAG,OAAO,CAAC;QAErB,mGAAmG;QACnG,IAAI,WAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,uCAAuC;gBACvC,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE;oBAC7C,WAAW,EAAE,IAAI;oBACjB,MAAM,EAAE,IAAI;oBACZ,YAAY,EAAE,QAAQ;iBACvB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC;gBACpD,WAAW,GAAG,SAAS,IAAI,IAAI,CAAC;YAClC,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,MAAM,GAAgB;YAC1B,MAAM;YACN,KAAK;YACL,IAAI,EAAE,OAAO;YACb,WAAW;YACX,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,aAAa,GAAG,KAAK,CAAC,CAAC,2CAA2C;QAEtE,SAAS,eAAe;YACtB,OAAQ,UAAkB,CAAC,kBAAkB,CAAC;QAChD,CAAC;QAED,6DAA6D;QAC7D,MAAM,kBAAkB,GAAG,KAAK,EAC9B,OAA0B,EACG,EAAE;YAC/B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,EAAE,gBAAgB,EAAE,CAAC;gBACpC,qCAAqC;gBACrC,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF,6DAA6D;QAC7D,YAAY,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;QAEvD,SAAS,gBAAgB;YACvB,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;YACvC,MAAM,YAAY,GAAG,aAAa,CAAC;YACnC,aAAa,GAAG,IAAI,CAAC;YAErB,YAAY,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACtC,YAAY,EAAE,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,YAAY,EAAE,UAAU,CAAC;oBACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;oBACzB,IAAI,EAAE,QAAQ;oBACd,OAAO,EACL,uEAAuE;iBAC1E,CAAC,CAAC;YACL,CAAC;YACD,YAAY,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC;QAED,wEAAwE;QACxE,MAAM,oBAAoB,GAAG,CAAC,IAAS,EAAE,EAAE;YACzC,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC;YACvD,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClC,4DAA4D;gBAC5D,YAAY,EAAE,UAAU,CAAC;oBACvB,EAAE,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,EAAE;oBAC7B,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,SAAS;oBAClB,QAAQ,EAAE,EAAC,WAAW,EAAE,IAAI,EAAC;iBAC9B,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,IAAS,EAAE,EAAE;YAChC,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,EAAE,CAAC;YAE5C,uDAAuD;YACvD,YAAY,EAAE,UAAU,CAAC;gBACvB,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;gBACxB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE,EAAE,8CAA8C;gBAC3D,QAAQ,EAAE;oBACR,MAAM,EAAE,IAAI;oBACZ,QAAQ;oBACR,QAAQ;oBACR,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;YAEH,YAAY,EAAE,SAAS,CAAC;gBACtB,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,IAAS,EAAE,EAAE;YACjC,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;YAEjC,+CAA+C;YAC/C,YAAY,EAAE,qBAAqB,EAAE,CAAC;gBACpC,QAAQ;gBACR,MAAM;gBACN,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;YAC5B,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YACD,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;YACvC,YAAY,EAAE,WAAW,EAAE,CAAC;YAC5B,YAAY,EAAE,UAAU,CAAC;gBACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;gBACzB,IAAI,EAAE,QAAQ;gBACd,OAAO,EACL,uEAAuE;aAC1E,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,YAAY,CAAC,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC;QAC7D,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC3C,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QAC7C,YAAY,CAAC,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAErD,MAAM,4BAA4B,GAAG,GAAG,EAAE;YACxC,+DAA+D;YAC/D,CAAC,YAAY,CAAC,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC,IAAI,CACpD,YAAY,EACZ,qBAAqB,EACrB,oBAAoB,CACrB,CAAC;YACF,CAAC,YAAY,CAAC,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC,IAAI,CACpD,YAAY,EACZ,YAAY,EACZ,WAAW,CACZ,CAAC;YACF,CAAC,YAAY,CAAC,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC,IAAI,CACpD,YAAY,EACZ,aAAa,EACb,YAAY,CACb,CAAC;YACF,CAAC,YAAY,CAAC,GAAG,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC,IAAI,CACpD,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,CACjB,CAAC;QACJ,CAAC,CAAC;QAEF,qBAAqB;QACrB,MAAM,WAAW,GAAgB;YAC/B,SAAS,EAAE,YAAY,CAAC,YAAY,EAAE;YACtC,WAAW,EAAE,YAAY,CAAC,cAAc,EAAE;YAC1C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,CAAC;YACf,SAAS,EAAE,CAAC;SACb,CAAC;QAEF,MAAM,6BAA6B,GAAG,GAAG,EAAE;YACzC,MAAM,OAAO,GAAG,YAAY,CAAC,sBAAsB,EAAE,CAAC;YACtD,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1C,WAAW,CAAC,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;YACxD,WAAW,CAAC,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,CAAC;YACpD,WAAW,CAAC,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;YACxD,WAAW,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;YAC1C,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAC7B,CAAC,MAAM,CAAC;QACX,CAAC,CAAC;QAEF,6BAA6B,EAAE,CAAC;QAEhC,gDAAgD;QAChD,MAAM,aAAa,GAAmB;YACpC;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,iBAAiB;gBAC9B,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,gBAAgB,EAAE,CAAC;oBACnB,OAAO,UAAU,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,+BAA+B;gBAC5C,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,UAAU;aAChC;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,0CAA0C;gBACvD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;oBACpC,MAAM,OAAO,GAAG,YAAY,CAAC,sBAAsB,EAAE,CAAC;oBACtD,MAAM,QAAQ,GAAG,OAAO;yBACrB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,IAAI,KAAK,mBAAmB,CAAC;yBAClF,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBACX,IAAI,CAAC;4BACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAiB,CAAC,CAAC;4BAC9C,OAAO,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;wBAC5B,CAAC;wBAAC,MAAM,CAAC;4BACP,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC;yBACD,IAAI,EAAE,CAAC;oBAEV,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;oBACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC1B,YAAY,EAAE,UAAU,CAAC;4BACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;4BACzB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,4EAA4E;yBACtF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,GAAG,QAAQ;6BAClB,GAAG,CAAC,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;6BACjF,IAAI,CAAC,IAAI,CAAC,CAAC;wBACd,YAAY,EAAE,UAAU,CAAC;4BACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;4BACzB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,wBAAwB,IAAI,EAAE;yBACxC,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO,UAAU,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,qDAAqD;gBAClE,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC;oBAC7C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;oBAEvC,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;wBAC3B,YAAY,EAAE,UAAU,CAAC;4BACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;4BACzB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,YAAY,KAAK,CAAC,aAAa,cAAc,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,KAAK,CAAC,iBAAiB,+BAA+B;yBACzM,CAAC,CAAC;wBACH,OAAO,UAAU,CAAC;oBACpB,CAAC;oBAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,CAAC;oBAEnD,YAAY,EAAE,UAAU,CAAC;wBACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACzB,IAAI,EAAE,QAAQ;wBACd,OAAO,EACL,wBAAwB,MAAM,CAAC,KAAK,CAAC,YAAY,qBAAqB;4BACtE,WAAW,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,cAAc,EAAE,WAAW;4BAC1E,UAAU,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,cAAc,EAAE,WAAW;4BACxE,aAAa,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;4BACpC,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB;gCAC5B,CAAC,CAAC,4BAA4B;gCAC9B,CAAC,CAAC,EAAE,CAAC;qBACV,CAAC,CAAC;oBAEH,6BAA6B,EAAE,CAAC;oBAChC,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;oBAEzC,OAAO,UAAU,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,mCAAmC;gBAChD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM;aAC5B;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,oCAAoC;gBACjD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;oBACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACtB,eAAe,EAAE,EAAE,UAAU,CAAC;4BAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;4BACzB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,oBAAoB;yBAC9B,CAAC,CAAC;wBACH,OAAO,UAAU,CAAC;oBACpB,CAAC;oBACD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACpB,eAAe,EAAE,EAAE,UAAU,CAAC;wBAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACzB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,oBAAoB,GAAG,KAAK;qBACtC,CAAC,CAAC;oBACH,KAAK,iBAAiB,CAAC,eAAe,GAAG,4BAA4B,CAAC,CAAC;oBACvE,OAAO,UAAU,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,+BAA+B;gBAC5C,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,MAAM,QAAQ,GAAG,aAAa;yBAC3B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;yBACnD,IAAI,CAAC,IAAI,CAAC,CAAC;oBAEd,eAAe,EAAE,EAAE,UAAU,CAAC;wBAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACzB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,wBAAwB,QAAQ,EAAE;qBAC5C,CAAC,CAAC;oBACH,OAAO,UAAU,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,sCAAsC;gBACnD,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,MAAM,OAAO,GAAG,YAAY,CAAC,sBAAsB,EAAE,CAAC;oBACtD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;oBAClC,MAAM,WAAW,GAAG,MAAM;yBACvB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;wBACf,MAAM,SAAS,GACb,OAAO,CAAC,IAAI,KAAK,MAAM;4BACrB,CAAC,CAAC,KAAK;4BACP,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW;gCAC5B,CAAC,CAAC,OAAO;gCACT,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnC,MAAM,OAAO,GACX,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;4BACjC,CAAC,CAAC,OAAO,CAAC,OAAO;4BACjB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC/C,OAAO,GAAG,SAAS,KAAK,OAAO,EAAE,CAAC;oBACpC,CAAC,CAAC;yBACD,IAAI,CAAC,IAAI,CAAC,CAAC;oBAEd,eAAe,EAAE,EAAE,UAAU,CAAC;wBAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACzB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,YAAY,OAAO,CAAC,MAAM,aAAa,WAAW,EAAE;qBAC9D,CAAC,CAAC;oBACH,OAAO,UAAU,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,0CAA0C;gBACvD,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,MAAM,OAAO,GAAG,YAAY,CAAC,sBAAsB,EAAE,CAAC;oBACtD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAC3B,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;wBACf,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;wBACf,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;wBACjD,OAAO,GAAG,CAAC;oBACb,CAAC,EACD;wBACE,KAAK,EAAE,CAAC;wBACR,IAAI,EAAE,CAAC;wBACP,SAAS,EAAE,CAAC;wBACZ,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,CAAC;qBACgB,CAC5B,CAAC;oBAEF,IAAI,YAAY,GAAG,aAAa,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,IAAI,WAAW,MAAM,CAAC,SAAS,UAAU,MAAM,CAAC,IAAI,GAAG,CAAC;oBAEpH,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBACpB,MAAM,SAAS,GAAG,OAAO;6BACtB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC;6BACpD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAS,CAAC,IAAI,CAAC,CAAC;wBACpC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;wBACnD,YAAY,IAAI,iBAAiB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5D,CAAC;oBAED,eAAe,EAAE,EAAE,UAAU,CAAC;wBAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACzB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,YAAY;qBACtB,CAAC,CAAC;oBACH,OAAO,UAAU,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4CAA4C;gBACzD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;oBACpC,eAAe,EAAE,EAAE,UAAU,CAAC;wBAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACzB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,kDAAkD;qBAC5D,CAAC,CAAC;oBACH,KAAK,iBAAiB,CAAC,mEAAmE,CAAC,CAAC;oBAC5F,OAAO,UAAU,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,8DAA8D;gBAC3E,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,eAAe,EAAE,EAAE,UAAU,CAAC;wBAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACzB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,8CAA8C;qBACxD,CAAC,CAAC;oBACH,KAAK,iBAAiB,CAAC,mEAAmE,CAAC,CAAC;oBAC5F,OAAO,UAAU,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,yDAAyD;gBACtE,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,eAAe,EAAE,EAAE,UAAU,CAAC;wBAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACzB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,kCAAkC;qBAC5C,CAAC,CAAC;oBACH,KAAK,iBAAiB,CAAC,0EAA0E,CAAC,CAAC;oBACnG,OAAO,UAAU,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,mDAAmD;gBAChE,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,eAAe,EAAE,EAAE,UAAU,CAAC;wBAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACzB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,yBAAyB;qBACnC,CAAC,CAAC;oBACH,KAAK,iBAAiB,CAAC,yCAAyC,CAAC,CAAC;oBAClE,OAAO,UAAU,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,sCAAsC;gBACnD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;oBACpC,YAAY,CAAC,MAAM,EAAE,CAAC;oBACtB,eAAe,EAAE,EAAE,UAAU,CAAC;wBAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACzB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,oCAAoC;qBAC9C,CAAC,CAAC;oBACH,yFAAyF;oBACzF,OAAO,UAAU,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,2CAA2C;gBACxD,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,MAAM,WAAW,GAAG;wBAClB,OAAO,WAAW,CAAC,SAAS,EAAE;wBAC9B,SAAS,WAAW,CAAC,WAAW,EAAE;wBAClC,SAAS,WAAW,CAAC,IAAI,EAAE;wBAC3B,iBAAiB,WAAW,CAAC,WAAW,EAAE;qBAC3C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAEb,eAAe,EAAE,EAAE,UAAU,CAAC;wBAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACzB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,WAAW;qBACrB,CAAC,CAAC;oBACH,OAAO,UAAU,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,kCAAkC;gBAC/C,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,gBAAgB,EAAE,CAAC;oBACnB,OAAO,UAAU,CAAC;gBACpB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qCAAqC;gBAClD,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,IAAI,CAAC;wBACH,MAAM,EAAC,cAAc,EAAC,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;wBAC1D,cAAc,EAAE,CAAC;wBACjB,eAAe,EAAE,EAAE,UAAU,CAAC;4BAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;4BACzB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,oCAAoC;yBAC9C,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,CAAM,EAAE,CAAC;wBAChB,eAAe,EAAE,EAAE,UAAU,CAAC;4BAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;4BACzB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,uBAAuB,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;yBAC1D,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,qCAAqC;gBAClD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE;oBAC7C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;oBAEvC,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;wBACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;wBAE3B,uCAAuC;wBACvC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;wBACpE,MAAM,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAC3C,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CACjC,CAAC;wBAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;4BACtB,YAAY,EAAE,UAAU,CAAC;gCACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;gCACzB,IAAI,EAAE,QAAQ;gCACd,OAAO,EACL,gFAAgF;6BACnF,CAAC,CAAC;4BACH,OAAO,UAAU,CAAC;wBACpB,CAAC;wBAED,kCAAkC;wBAClC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACtB,MAAM,UAAU,GAAG,eAAe;iCAC/B,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gCACd,MAAM,QAAQ,GACZ,CAAC,CAAC,aAAa,KAAK,IAAI;oCACtB,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,kBAAkB;oCACxC,CAAC,CAAC,EAAE,CAAC;gCACT,MAAM,UAAU,GACd,CAAC,CAAC,OAAO,GAAG,CAAC;oCACX,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM;oCAC3D,CAAC,CAAC,EAAE,CAAC;gCACT,OAAO,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,UAAU,GAAG,QAAQ,EAAE,CAAC;4BACzD,CAAC,CAAC;iCACD,IAAI,CAAC,IAAI,CAAC,CAAC;4BAEd,qCAAqC;4BACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC;4BACzC,MAAM,UAAU,GAAG,QAAQ,KAAK,MAAM,CAAC;4BACvC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;4BAE9C,IAAI,WAAW,GAAG,EAAE,CAAC;4BACrB,IAAI,UAAU,EAAE,CAAC;gCACf,mCAAmC;gCACnC,WAAW,GAAG,SAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gCAC9E,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;oCACtB,WAAW,IAAI,qBAAqB,aAAa,EAAE,CAAC;gCACtD,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACN,2BAA2B;gCAC3B,WAAW,GAAG,YAAY,aAAa,EAAE,CAAC;4BAC5C,CAAC;4BAED,YAAY,EAAE,UAAU,CAAC;gCACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;gCACzB,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,sBAAsB,UAAU,OAAO,WAAW,8BAA8B;6BAC1F,CAAC,CAAC;4BAEH,OAAO,UAAU,CAAC;wBACpB,CAAC;wBAED,kBAAkB;wBAClB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACxB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;wBAE7D,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;4BAC/B,YAAY,EAAE,UAAU,CAAC;gCACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;gCACzB,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,KAAK;oCACZ,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,iBAAiB;oCAClC,CAAC,CAAC,oBAAoB,OAAO,EAAE;6BAClC,CAAC,CAAC;4BACH,OAAO,UAAU,CAAC;wBACpB,CAAC;wBAED,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;wBAErC,mCAAmC;wBACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC;wBACzC,MAAM,UAAU,GAAG,QAAQ,KAAK,MAAM,CAAC;wBACvC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;wBAE9C,IAAI,UAAU,GAAG,EAAE,CAAC;wBACpB,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;4BACtB,IAAI,UAAU,EAAE,CAAC;gCACf,UAAU,GAAG,KAAK,KAAK,CAAC,OAAO,UAAU,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,QAAQ,QAAQ,CAAC;4BACnG,CAAC;iCAAM,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gCAC7B,UAAU,GAAG,KAAK,KAAK,CAAC,OAAO,UAAU,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,aAAa,qBAAqB,CAAC;4BACrH,CAAC;iCAAM,CAAC;gCACN,UAAU,GAAG,KAAK,KAAK,CAAC,OAAO,UAAU,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;4BACjF,CAAC;wBACH,CAAC;wBAED,YAAY,EAAE,UAAU,CAAC;4BACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;4BACzB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,iBAAiB,KAAK,CAAC,IAAI,GAAG,UAAU,EAAE;yBACpD,CAAC,CAAC;wBAEH,OAAO,UAAU,CAAC;oBACpB,CAAC;oBAAC,OAAO,KAAU,EAAE,CAAC;wBACpB,YAAY,EAAE,UAAU,CAAC;4BACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;4BACzB,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,aAAa,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE;yBAC1D,CAAC,CAAC;wBACH,OAAO,UAAU,CAAC;oBACpB,CAAC;gBACH,CAAC;aACF;SACF,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAChE,CAAC;QAEF,MAAM,mBAAmB,GAAG,KAAK,EAC/B,GAAW,EACX,IAAc,EACgB,EAAE;YAChC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,eAAe,EAAE,EAAE,UAAU,CAAC;oBAC5B,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;oBACzB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,qBAAqB,GAAG,yCAAyC;iBAC3E,CAAC,CAAC;gBACH,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,OAAO,MAAM,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;QACxD,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;YAClD,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;gBACvC,aAAa,GAAG,KAAK,CAAC,CAAC,0CAA0C;gBACjE,YAAY,EAAE,SAAS,CAAC;oBACtB,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,SAAS;iBAChB,CAAC,CAAC;gBAEH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAElD,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO;gBACT,CAAC;gBAED,YAAY,EAAE,WAAW,EAAE,CAAC;gBAE5B,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,YAAY,EAAE,UAAU,CAAC;wBACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACzB,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,kCAAkC;wBAC3C,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,YAAY,EAAE,UAAU,CAAC;wBACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;wBACzB,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE;qBACzB,CAAC,CAAC;gBACL,CAAC;gBAED,iBAAiB;gBACjB,6BAA6B,EAAE,CAAC;gBAChC,YAAY,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;gBACvC,YAAY,EAAE,WAAW,EAAE,CAAC;gBAC5B,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO;gBACT,CAAC;gBACD,YAAY,EAAE,UAAU,CAAC;oBACvB,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;oBACzB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,YAAY,KAAK,EAAE,OAAO,IAAI,eAAe,EAAE;oBACxD,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,4BAA4B,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAChE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,oCAAoC;QACpC,MAAM,kBAAkB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE;YACrB,KAAK,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE;SACtB,CAAC,CAAC,CAAC;QAEJ,qBAAqB;QACrB,MAAM,EAAC,aAAa,EAAE,KAAK,EAAC,GAAG,MAAM,CACnC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;YAC3B,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,WAAW;YACpB,aAAa,EAAE,kBAAkB;YACjC,aAAa,EAAE,iBAAiB;YAChC,cAAc,EAAE,mBAAmB;YACnC,gBAAgB,EAAE,KAAK,EAAE,IAAiB,EAAE,EAAE;gBAC5C,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAClC,6BAA6B,EAAE,CAAC;gBAChC,eAAe,EAAE,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;gBAC9C,wCAAwC;gBACxC,MAAM,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACxC,CAAC;YACD,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,gBAAgB;YAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,EACF;YACE,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,KAAK;YACZ,YAAY,EAAE,KAAK;SACpB,CACF,CAAC;QAEF,6DAA6D;QAC7D,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,6CAA6C;YAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC7C,+CAA+C;YAC/C,KAAK,EAAE,CAAC;YACR,+CAA+C;YAC/C,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;YACvC,IAAI,YAAY,EAAE,CAAC;gBACjB,YAAY,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAC,CAAC,CAAC;gBACjD,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAE1C,MAAM,aAAa,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC3C,4BAA4B,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE;KACjC,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CACV,iMAAiM,CAClM;KACA,MAAM,CAAC,eAAe,EAAE,gCAAgC,EAAE,IAAI,CAAC;KAC/D,MAAM,CACL,kBAAkB,EAClB,yBAAyB,EACzB,OAAO,CAAC,GAAG,CAAC,YAAY,CACzB;KACA,MAAM,CACL,sBAAsB,EACtB,0BAA0B,EAC1B,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAC7B;KACA,MAAM,CAAC,gBAAgB,EAAE,+BAA+B,CAAC;KACzD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC"}
@@ -62,7 +62,7 @@ const HANDSHAKE_PAGE = `<!DOCTYPE html>
62
62
  </body>
63
63
  </html>`;
64
64
  async function performCliSignup() {
65
- console.log("\nWelcome! Let's create your Time to Test account.\n");
65
+ console.error("\nWelcome! Let's create your Time to Test account.\n");
66
66
  // Prompt for email
67
67
  const { email } = await inquirer.prompt([
68
68
  {
@@ -125,7 +125,7 @@ async function performCliSignup() {
125
125
  if (cliToken) {
126
126
  setAuthToken(cliToken);
127
127
  spinner.succeed("Account created successfully!");
128
- console.log("\nYou're all set! You can now start using Time to Test.");
128
+ console.error("\nYou're all set! You can now start using Time to Test.");
129
129
  }
130
130
  else {
131
131
  throw new Error("No CLI token returned from signup");
@@ -262,9 +262,9 @@ export async function performInteractiveLogin() {
262
262
  const frontendBase = (process.env.TTT_FRONTEND_URL || "https://timetotest.tech").replace(/\/$/, "");
263
263
  const pageUrl = `${frontendBase}/cli-auth?callback=${encodeURIComponent(callbackUrl)}&state=${encodeURIComponent(state)}`;
264
264
  spinner.succeed("Local callback ready");
265
- console.log("Opening browser to authenticate…");
265
+ console.error("Opening browser to authenticate…");
266
266
  try {
267
- console.log("Auth URL:", pageUrl);
267
+ console.error("Auth URL:", pageUrl);
268
268
  }
269
269
  catch { }
270
270
  await open(pageUrl);
@@ -290,7 +290,7 @@ export const login = new Command("login")
290
290
  .action(async (opts) => {
291
291
  if (opts.token) {
292
292
  setAuthToken(opts.token);
293
- console.log("Login success via token");
293
+ console.error("Login success via token");
294
294
  return;
295
295
  }
296
296
  // Show interactive prompt to choose Sign In or Sign Up