@timetotest/cli 0.3.0 → 0.3.2

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 (63) hide show
  1. package/README.md +12 -2
  2. package/dist/bin/ttt.js +0 -6
  3. package/dist/bin/ttt.js.map +1 -1
  4. package/dist/package.json +2 -1
  5. package/dist/src/commands/chat/ChatApp.js +102 -61
  6. package/dist/src/commands/chat/ChatApp.js.map +1 -1
  7. package/dist/src/commands/chat/OnboardingApp.js +49 -0
  8. package/dist/src/commands/chat/OnboardingApp.js.map +1 -0
  9. package/dist/src/commands/chat/components/Banner.js +1 -1
  10. package/dist/src/commands/chat/components/Banner.js.map +1 -1
  11. package/dist/src/commands/chat/components/ChatInput.js +16 -3
  12. package/dist/src/commands/chat/components/ChatInput.js.map +1 -1
  13. package/dist/src/commands/chat/components/TodoPanel.js +71 -0
  14. package/dist/src/commands/chat/components/TodoPanel.js.map +1 -0
  15. package/dist/src/commands/chat-ink.js +116 -292
  16. package/dist/src/commands/chat-ink.js.map +1 -1
  17. package/dist/src/lib/__tests__/code-mode-integration.test.js +45 -356
  18. package/dist/src/lib/__tests__/code-mode-integration.test.js.map +1 -1
  19. package/dist/src/lib/__tests__/tool-executor-mode-gating.test.js +46 -0
  20. package/dist/src/lib/__tests__/tool-executor-mode-gating.test.js.map +1 -0
  21. package/dist/src/lib/__tests__/ui-browser-integration.test.js +35 -0
  22. package/dist/src/lib/__tests__/ui-browser-integration.test.js.map +1 -0
  23. package/dist/src/lib/agent-orchestrator.js +16 -717
  24. package/dist/src/lib/agent-orchestrator.js.map +1 -1
  25. package/dist/src/lib/backend-loop-client.js +364 -0
  26. package/dist/src/lib/backend-loop-client.js.map +1 -0
  27. package/dist/src/lib/cli-tool-manifest.js +71 -0
  28. package/dist/src/lib/cli-tool-manifest.js.map +1 -0
  29. package/dist/src/lib/config.js +60 -9
  30. package/dist/src/lib/config.js.map +1 -1
  31. package/dist/src/lib/conversation/turns.js +58 -0
  32. package/dist/src/lib/conversation/turns.js.map +1 -0
  33. package/dist/src/lib/events.js +20 -4
  34. package/dist/src/lib/events.js.map +1 -1
  35. package/dist/src/lib/http.js +7 -2
  36. package/dist/src/lib/http.js.map +1 -1
  37. package/dist/src/lib/prompts/templates.js +18 -0
  38. package/dist/src/lib/prompts/templates.js.map +1 -1
  39. package/dist/src/lib/session-manager.js +74 -33
  40. package/dist/src/lib/session-manager.js.map +1 -1
  41. package/dist/src/lib/socket.js +15 -3
  42. package/dist/src/lib/socket.js.map +1 -1
  43. package/dist/src/lib/todo.js +7 -0
  44. package/dist/src/lib/todo.js.map +1 -0
  45. package/dist/src/lib/tool-executor.js +196 -51
  46. package/dist/src/lib/tool-executor.js.map +1 -1
  47. package/dist/src/lib/tui/events.js +10 -9
  48. package/dist/src/lib/tui/events.js.map +1 -1
  49. package/dist/src/lib/utils/json.js +15 -0
  50. package/dist/src/lib/utils/json.js.map +1 -0
  51. package/package.json +2 -1
  52. package/dist/src/commands/report.js +0 -25
  53. package/dist/src/commands/report.js.map +0 -1
  54. package/dist/src/commands/restart.js +0 -17
  55. package/dist/src/commands/restart.js.map +0 -1
  56. package/dist/src/commands/share.js +0 -18
  57. package/dist/src/commands/share.js.map +0 -1
  58. package/dist/src/lib/context-compactor.js +0 -310
  59. package/dist/src/lib/context-compactor.js.map +0 -1
  60. package/dist/src/lib/tool-registry.js +0 -971
  61. package/dist/src/lib/tool-registry.js.map +0 -1
  62. package/dist/src/lib/tool-result-pruner.js +0 -384
  63. package/dist/src/lib/tool-result-pruner.js.map +0 -1
@@ -15,20 +15,43 @@ export async function runChatInk(options) {
15
15
  try {
16
16
  const apiUrl = resolveApiUrl();
17
17
  let token = getAuthToken();
18
+ const isAuthError = (error) => {
19
+ const status = error?.response?.status;
20
+ if (status === 401 || status === 403)
21
+ return true;
22
+ const message = String(error?.message || "");
23
+ return message.includes("status code 401") || message.includes("status code 403");
24
+ };
18
25
  if (!token) {
19
- try {
20
- await performInteractiveLogin();
21
- // Update token after authentication
22
- token = getAuthToken();
23
- if (!token) {
24
- console.error("❌ Authentication failed");
25
- process.exit(1);
26
- }
27
- }
28
- catch (error) {
29
- console.error(`❌ Authentication failed: ${error?.message || error}`);
30
- process.exit(1);
31
- }
26
+ // Use TUI onboarding instead of direct login
27
+ // We need to dynamically import OnboardingApp to avoid top-level side effects if possible
28
+ const { OnboardingApp } = await import("./chat/OnboardingApp.js");
29
+ // Wrap TUI in a promise to wait for user interaction
30
+ await new Promise((resolve, reject) => {
31
+ const { unmount } = render(React.createElement(OnboardingApp, {
32
+ onLogin: async () => {
33
+ unmount();
34
+ try {
35
+ await performInteractiveLogin();
36
+ // Update token after authentication
37
+ token = getAuthToken();
38
+ if (!token) {
39
+ console.error("❌ Authentication failed");
40
+ process.exit(1);
41
+ }
42
+ resolve();
43
+ }
44
+ catch (error) {
45
+ console.error(`❌ Authentication failed: ${error?.message || error}`);
46
+ process.exit(1);
47
+ }
48
+ },
49
+ onExit: () => {
50
+ unmount();
51
+ process.exit(0);
52
+ },
53
+ }));
54
+ });
32
55
  }
33
56
  // Fetch user information
34
57
  const { createHttpClient } = await import("../lib/http.js");
@@ -91,7 +114,7 @@ export async function runChatInk(options) {
91
114
  }
92
115
  const config = {
93
116
  apiUrl,
94
- token,
117
+ token: token || undefined,
95
118
  mode: "local",
96
119
  testingMode,
97
120
  baseUrl: options.baseUrl,
@@ -152,6 +175,10 @@ export async function runChatInk(options) {
152
175
  const appInterface = getAppInterface();
153
176
  const toolName = data.data?.tool || data.tool;
154
177
  const toolArgs = data.data?.arguments || {};
178
+ if (toolName === "todo") {
179
+ // Render todo changes in the dedicated panel (avoid transcript spam).
180
+ return;
181
+ }
155
182
  // Add tool call as a system message with tool metadata
156
183
  appInterface?.addMessage({
157
184
  id: `tool-${Date.now()}`,
@@ -176,6 +203,23 @@ export async function runChatInk(options) {
176
203
  const appInterface = getAppInterface();
177
204
  const toolName = data.data?.tool || data.tool;
178
205
  const result = data.data?.result;
206
+ if (toolName === "todo") {
207
+ const todoData = result?.data || result?.todo_list_snapshot || result?.todo_list || {};
208
+ const items = Array.isArray(todoData.todos) ? todoData.todos : [];
209
+ const snapshot = items.length > 0 || typeof todoData.title === "string" || typeof todoData.description === "string"
210
+ ? {
211
+ title: typeof todoData.title === "string" ? todoData.title : undefined,
212
+ description: typeof todoData.description === "string" ? todoData.description : undefined,
213
+ todos: items,
214
+ updated_at: typeof todoData.updated_at === "string"
215
+ ? todoData.updated_at
216
+ : new Date().toISOString(),
217
+ current_id: typeof todoData.current_id === "string" ? todoData.current_id : undefined,
218
+ }
219
+ : null;
220
+ appInterface?.setTodos?.(snapshot);
221
+ return;
222
+ }
179
223
  // Update the last tool message with the result
180
224
  appInterface?.updateLastToolMessage?.({
181
225
  toolName,
@@ -225,117 +269,8 @@ export async function runChatInk(options) {
225
269
  chatContext.toolCount = history.filter((msg) => msg.role === "tool").length;
226
270
  };
227
271
  updateContextFromOrchestrator();
228
- // Define slash commands (alphabetically sorted)
272
+ // Define slash commands (only user-approved set)
229
273
  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
- },
339
274
  {
340
275
  name: "help",
341
276
  description: "Show available slash commands",
@@ -351,149 +286,6 @@ export async function runChatInk(options) {
351
286
  return "continue";
352
287
  },
353
288
  },
354
- {
355
- name: "history",
356
- description: "Show the last few conversation turns",
357
- handler: async () => {
358
- const history = orchestrator.getConversationHistory();
359
- const recent = history.slice(-10);
360
- const historyText = recent
361
- .map((message) => {
362
- const roleLabel = message.role === "user"
363
- ? "You"
364
- : message.role === "assistant"
365
- ? "Agent"
366
- : message.role.toUpperCase();
367
- const content = typeof message.content === "string"
368
- ? message.content
369
- : JSON.stringify(message.content, null, 2);
370
- return `${roleLabel}: ${content}`;
371
- })
372
- .join("\n");
373
- getAppInterface()?.addMessage({
374
- id: Date.now().toString(),
375
- type: "system",
376
- content: `History (${history.length} total):\n${historyText}`,
377
- });
378
- return "continue";
379
- },
380
- },
381
- {
382
- name: "progress",
383
- description: "Show conversation summary and tool usage",
384
- handler: async () => {
385
- const history = orchestrator.getConversationHistory();
386
- const totals = history.reduce((acc, message) => {
387
- acc.total += 1;
388
- acc[message.role] = (acc[message.role] || 0) + 1;
389
- return acc;
390
- }, {
391
- total: 0,
392
- user: 0,
393
- assistant: 0,
394
- tool: 0,
395
- system: 0,
396
- });
397
- let progressText = `Messages: ${totals.total} (you ${totals.user}, agent ${totals.assistant}, tool ${totals.tool})`;
398
- if (totals.tool > 0) {
399
- const toolNames = history
400
- .filter((msg) => msg.role === "tool" && msg.toolCall)
401
- .map((msg) => msg.toolCall.name);
402
- const uniqueTools = Array.from(new Set(toolNames));
403
- progressText += `\nTools used: ${uniqueTools.join(", ")}`;
404
- }
405
- getAppInterface()?.addMessage({
406
- id: Date.now().toString(),
407
- type: "system",
408
- content: progressText,
409
- });
410
- return "continue";
411
- },
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
- },
479
- {
480
- name: "session",
481
- description: "Display session metadata and storage path",
482
- handler: async () => {
483
- const sessionText = [
484
- `ID: ${chatContext.sessionId}`,
485
- `Path: ${chatContext.sessionPath}`,
486
- `Mode: ${chatContext.mode}`,
487
- `Testing mode: ${chatContext.testingMode}`,
488
- ].join("\n");
489
- getAppInterface()?.addMessage({
490
- id: Date.now().toString(),
491
- type: "system",
492
- content: sessionText,
493
- });
494
- return "continue";
495
- },
496
- },
497
289
  {
498
290
  name: "stop",
499
291
  description: "Stop the assistant (same as ESC)",
@@ -502,29 +294,6 @@ export async function runChatInk(options) {
502
294
  return "continue";
503
295
  },
504
296
  },
505
- {
506
- name: "logout",
507
- description: "Log out and clear local credentials",
508
- handler: async () => {
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";
526
- },
527
- },
528
297
  {
529
298
  name: "model",
530
299
  description: "Switch AI model (Pro tier required)",
@@ -627,6 +396,34 @@ export async function runChatInk(options) {
627
396
  }
628
397
  },
629
398
  },
399
+ {
400
+ name: "logout",
401
+ description: "Log out and clear local credentials",
402
+ handler: async () => {
403
+ try {
404
+ const { clearAuthToken } = await import("../lib/config.js");
405
+ clearAuthToken();
406
+ getAppInterface()?.addMessage({
407
+ id: Date.now().toString(),
408
+ type: "system",
409
+ content: "✅ Logged out. Credentials cleared.",
410
+ });
411
+ }
412
+ catch (e) {
413
+ getAppInterface()?.addMessage({
414
+ id: Date.now().toString(),
415
+ type: "system",
416
+ content: `❌ Failed to logout: ${e?.message || String(e)}`,
417
+ });
418
+ }
419
+ return "exit";
420
+ },
421
+ },
422
+ {
423
+ name: "exit",
424
+ description: "Exit the session (saves progress)",
425
+ handler: async () => "exit",
426
+ },
630
427
  ];
631
428
  const commandMap = new Map(slashCommands.map((command) => [command.name, command.handler]));
632
429
  const executeSlashCommand = async (cmd, args) => {
@@ -649,7 +446,34 @@ export async function runChatInk(options) {
649
446
  text: "Agent thinking...",
650
447
  type: "loading",
651
448
  });
652
- const response = await orchestrator.chat(message);
449
+ let response = "";
450
+ try {
451
+ response = await orchestrator.chat(message);
452
+ }
453
+ catch (error) {
454
+ if (!isAuthError(error)) {
455
+ throw error;
456
+ }
457
+ appInterface?.setStatus({
458
+ text: "Authentication required. Opening login...",
459
+ type: "info",
460
+ });
461
+ try {
462
+ await performInteractiveLogin();
463
+ token = getAuthToken();
464
+ if (!token) {
465
+ throw new Error("Login did not return a valid token");
466
+ }
467
+ }
468
+ catch (loginError) {
469
+ throw new Error(`Authentication required. Login failed: ${loginError?.message || loginError}`);
470
+ }
471
+ appInterface?.setStatus({
472
+ text: "Authenticated. Retrying...",
473
+ type: "loading",
474
+ });
475
+ response = await orchestrator.chat(message);
476
+ }
653
477
  if (userCancelled) {
654
478
  return;
655
479
  }
@@ -689,7 +513,7 @@ export async function runChatInk(options) {
689
513
  };
690
514
  const handleExit = () => {
691
515
  cleanupOrchestratorListeners();
692
- console.error(chalk.green("\n✓ Session saved. Run 'ttt resume' to continue."));
516
+ console.error(chalk.green("\n✓ Session saved. Run 'ttt chat --session <id>' to continue."));
693
517
  process.exit(0);
694
518
  };
695
519
  // Prepare slash commands for the UI
@@ -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":"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"}