testchimp-runner-core 0.0.21 → 0.0.23

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 (146) hide show
  1. package/VISION_DIAGNOSTICS_IMPROVEMENTS.md +336 -0
  2. package/dist/credit-usage-service.d.ts +9 -0
  3. package/dist/credit-usage-service.d.ts.map +1 -1
  4. package/dist/credit-usage-service.js +20 -5
  5. package/dist/credit-usage-service.js.map +1 -1
  6. package/dist/execution-service.d.ts +7 -2
  7. package/dist/execution-service.d.ts.map +1 -1
  8. package/dist/execution-service.js +91 -36
  9. package/dist/execution-service.js.map +1 -1
  10. package/dist/index.d.ts +30 -2
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +91 -26
  13. package/dist/index.js.map +1 -1
  14. package/dist/llm-facade.d.ts +64 -8
  15. package/dist/llm-facade.d.ts.map +1 -1
  16. package/dist/llm-facade.js +361 -109
  17. package/dist/llm-facade.js.map +1 -1
  18. package/dist/llm-provider.d.ts +39 -0
  19. package/dist/llm-provider.d.ts.map +1 -0
  20. package/dist/llm-provider.js +7 -0
  21. package/dist/llm-provider.js.map +1 -0
  22. package/dist/model-constants.d.ts +21 -0
  23. package/dist/model-constants.d.ts.map +1 -0
  24. package/dist/model-constants.js +24 -0
  25. package/dist/model-constants.js.map +1 -0
  26. package/dist/orchestrator/index.d.ts +8 -0
  27. package/dist/orchestrator/index.d.ts.map +1 -0
  28. package/dist/orchestrator/index.js +23 -0
  29. package/dist/orchestrator/index.js.map +1 -0
  30. package/dist/orchestrator/orchestrator-agent.d.ts +66 -0
  31. package/dist/orchestrator/orchestrator-agent.d.ts.map +1 -0
  32. package/dist/orchestrator/orchestrator-agent.js +855 -0
  33. package/dist/orchestrator/orchestrator-agent.js.map +1 -0
  34. package/dist/orchestrator/tool-registry.d.ts +74 -0
  35. package/dist/orchestrator/tool-registry.d.ts.map +1 -0
  36. package/dist/orchestrator/tool-registry.js +131 -0
  37. package/dist/orchestrator/tool-registry.js.map +1 -0
  38. package/dist/orchestrator/tools/check-page-ready.d.ts +13 -0
  39. package/dist/orchestrator/tools/check-page-ready.d.ts.map +1 -0
  40. package/dist/orchestrator/tools/check-page-ready.js +72 -0
  41. package/dist/orchestrator/tools/check-page-ready.js.map +1 -0
  42. package/dist/orchestrator/tools/extract-data.d.ts +13 -0
  43. package/dist/orchestrator/tools/extract-data.d.ts.map +1 -0
  44. package/dist/orchestrator/tools/extract-data.js +84 -0
  45. package/dist/orchestrator/tools/extract-data.js.map +1 -0
  46. package/dist/orchestrator/tools/index.d.ts +10 -0
  47. package/dist/orchestrator/tools/index.d.ts.map +1 -0
  48. package/dist/orchestrator/tools/index.js +18 -0
  49. package/dist/orchestrator/tools/index.js.map +1 -0
  50. package/dist/orchestrator/tools/inspect-page.d.ts +13 -0
  51. package/dist/orchestrator/tools/inspect-page.d.ts.map +1 -0
  52. package/dist/orchestrator/tools/inspect-page.js +39 -0
  53. package/dist/orchestrator/tools/inspect-page.js.map +1 -0
  54. package/dist/orchestrator/tools/recall-history.d.ts +13 -0
  55. package/dist/orchestrator/tools/recall-history.d.ts.map +1 -0
  56. package/dist/orchestrator/tools/recall-history.js +64 -0
  57. package/dist/orchestrator/tools/recall-history.js.map +1 -0
  58. package/dist/orchestrator/tools/take-screenshot.d.ts +15 -0
  59. package/dist/orchestrator/tools/take-screenshot.d.ts.map +1 -0
  60. package/dist/orchestrator/tools/take-screenshot.js +112 -0
  61. package/dist/orchestrator/tools/take-screenshot.js.map +1 -0
  62. package/dist/orchestrator/types.d.ts +133 -0
  63. package/dist/orchestrator/types.d.ts.map +1 -0
  64. package/dist/orchestrator/types.js +28 -0
  65. package/dist/orchestrator/types.js.map +1 -0
  66. package/dist/playwright-mcp-service.d.ts +9 -0
  67. package/dist/playwright-mcp-service.d.ts.map +1 -1
  68. package/dist/playwright-mcp-service.js +20 -5
  69. package/dist/playwright-mcp-service.js.map +1 -1
  70. package/dist/progress-reporter.d.ts +97 -0
  71. package/dist/progress-reporter.d.ts.map +1 -0
  72. package/dist/progress-reporter.js +18 -0
  73. package/dist/progress-reporter.js.map +1 -0
  74. package/dist/prompts.d.ts +24 -0
  75. package/dist/prompts.d.ts.map +1 -1
  76. package/dist/prompts.js +593 -68
  77. package/dist/prompts.js.map +1 -1
  78. package/dist/providers/backend-proxy-llm-provider.d.ts +25 -0
  79. package/dist/providers/backend-proxy-llm-provider.d.ts.map +1 -0
  80. package/dist/providers/backend-proxy-llm-provider.js +76 -0
  81. package/dist/providers/backend-proxy-llm-provider.js.map +1 -0
  82. package/dist/providers/local-llm-provider.d.ts +21 -0
  83. package/dist/providers/local-llm-provider.d.ts.map +1 -0
  84. package/dist/providers/local-llm-provider.js +35 -0
  85. package/dist/providers/local-llm-provider.js.map +1 -0
  86. package/dist/scenario-service.d.ts +27 -1
  87. package/dist/scenario-service.d.ts.map +1 -1
  88. package/dist/scenario-service.js +48 -12
  89. package/dist/scenario-service.js.map +1 -1
  90. package/dist/scenario-worker-class.d.ts +39 -2
  91. package/dist/scenario-worker-class.d.ts.map +1 -1
  92. package/dist/scenario-worker-class.js +614 -86
  93. package/dist/scenario-worker-class.js.map +1 -1
  94. package/dist/script-utils.d.ts +2 -0
  95. package/dist/script-utils.d.ts.map +1 -1
  96. package/dist/script-utils.js +44 -4
  97. package/dist/script-utils.js.map +1 -1
  98. package/dist/types.d.ts +11 -0
  99. package/dist/types.d.ts.map +1 -1
  100. package/dist/types.js.map +1 -1
  101. package/dist/utils/browser-utils.d.ts +20 -1
  102. package/dist/utils/browser-utils.d.ts.map +1 -1
  103. package/dist/utils/browser-utils.js +102 -51
  104. package/dist/utils/browser-utils.js.map +1 -1
  105. package/dist/utils/page-info-utils.d.ts +23 -4
  106. package/dist/utils/page-info-utils.d.ts.map +1 -1
  107. package/dist/utils/page-info-utils.js +174 -43
  108. package/dist/utils/page-info-utils.js.map +1 -1
  109. package/package.json +1 -2
  110. package/plandocs/HUMAN_LIKE_IMPROVEMENTS.md +642 -0
  111. package/plandocs/MULTI_AGENT_ARCHITECTURE_REVIEW.md +844 -0
  112. package/plandocs/ORCHESTRATOR_MVP_SUMMARY.md +539 -0
  113. package/plandocs/PHASE1_ABSTRACTION_COMPLETE.md +241 -0
  114. package/plandocs/PHASE1_FINAL_STATUS.md +210 -0
  115. package/plandocs/PLANNING_SESSION_SUMMARY.md +372 -0
  116. package/plandocs/SCRIPT_CLEANUP_FEATURE.md +201 -0
  117. package/plandocs/SCRIPT_GENERATION_ARCHITECTURE.md +364 -0
  118. package/plandocs/SELECTOR_IMPROVEMENTS.md +139 -0
  119. package/src/credit-usage-service.ts +23 -5
  120. package/src/execution-service.ts +152 -42
  121. package/src/index.ts +169 -26
  122. package/src/llm-facade.ts +500 -126
  123. package/src/llm-provider.ts +43 -0
  124. package/src/model-constants.ts +23 -0
  125. package/src/orchestrator/index.ts +33 -0
  126. package/src/orchestrator/orchestrator-agent.ts +1037 -0
  127. package/src/orchestrator/tool-registry.ts +182 -0
  128. package/src/orchestrator/tools/check-page-ready.ts +75 -0
  129. package/src/orchestrator/tools/extract-data.ts +92 -0
  130. package/src/orchestrator/tools/index.ts +11 -0
  131. package/src/orchestrator/tools/inspect-page.ts +42 -0
  132. package/src/orchestrator/tools/recall-history.ts +72 -0
  133. package/src/orchestrator/tools/take-screenshot.ts +128 -0
  134. package/src/orchestrator/types.ts +200 -0
  135. package/src/playwright-mcp-service.ts +23 -5
  136. package/src/progress-reporter.ts +109 -0
  137. package/src/prompts.ts +606 -69
  138. package/src/providers/backend-proxy-llm-provider.ts +91 -0
  139. package/src/providers/local-llm-provider.ts +38 -0
  140. package/src/scenario-service.ts +83 -13
  141. package/src/scenario-worker-class.ts +740 -72
  142. package/src/script-utils.ts +50 -5
  143. package/src/types.ts +13 -1
  144. package/src/utils/browser-utils.ts +123 -51
  145. package/src/utils/page-info-utils.ts +210 -53
  146. package/testchimp-runner-core-0.0.22.tgz +0 -0
@@ -8,14 +8,19 @@ const browser_utils_1 = require("./utils/browser-utils");
8
8
  const llm_facade_1 = require("./llm-facade");
9
9
  const script_utils_1 = require("./script-utils");
10
10
  const credit_usage_service_1 = require("./credit-usage-service");
11
+ const model_constants_1 = require("./model-constants");
12
+ const backend_proxy_llm_provider_1 = require("./providers/backend-proxy-llm-provider");
11
13
  /**
12
14
  * Service for orchestrating Playwright script execution
13
15
  */
14
16
  class ExecutionService {
15
- constructor(authConfig, backendUrl, maxConcurrentExecutions = 10) {
17
+ constructor(authConfig, backendUrl, maxConcurrentExecutions = 10, llmProvider, progressReporter) {
16
18
  this.activeExecutions = new Set();
17
19
  this.playwrightService = new playwright_mcp_service_1.PlaywrightMCPService();
18
- this.llmFacade = new llm_facade_1.LLMFacade(authConfig, backendUrl);
20
+ // Use provided LLM provider or default to backend proxy (backward compatible)
21
+ this.llmProvider = llmProvider || new backend_proxy_llm_provider_1.BackendProxyLLMProvider(authConfig, backendUrl);
22
+ this.llmFacade = new llm_facade_1.LLMFacade(this.llmProvider);
23
+ this.progressReporter = progressReporter;
19
24
  this.creditUsageService = new credit_usage_service_1.CreditUsageService(authConfig, backendUrl);
20
25
  this.maxConcurrentExecutions = maxConcurrentExecutions;
21
26
  }
@@ -26,23 +31,13 @@ class ExecutionService {
26
31
  this.logger = logger;
27
32
  }
28
33
  /**
29
- * Log a message using the configured logger or console
34
+ * Log a message using the configured logger
30
35
  */
31
36
  log(message, level = 'log') {
32
37
  if (this.logger) {
33
38
  this.logger(message, level);
34
39
  }
35
- else {
36
- if (level === 'error') {
37
- console.error(message);
38
- }
39
- else if (level === 'warn') {
40
- console.warn(message);
41
- }
42
- else {
43
- console.log(message);
44
- }
45
- }
40
+ // No console fallback - logs are routed to consumer
46
41
  }
47
42
  /**
48
43
  * Initialize the execution service
@@ -52,9 +47,12 @@ class ExecutionService {
52
47
  }
53
48
  /**
54
49
  * Set authentication configuration for the service
50
+ * Note: This recreates the LLM provider with new auth config
55
51
  */
56
52
  setAuthConfig(authConfig) {
57
- this.llmFacade.setAuthConfig(authConfig);
53
+ // Recreate LLM provider with new auth config
54
+ this.llmProvider = new backend_proxy_llm_provider_1.BackendProxyLLMProvider(authConfig, undefined);
55
+ this.llmFacade = new llm_facade_1.LLMFacade(this.llmProvider);
58
56
  this.creditUsageService.setAuthConfig(authConfig);
59
57
  }
60
58
  /**
@@ -81,7 +79,7 @@ class ExecutionService {
81
79
  */
82
80
  async executeScriptInternal(request) {
83
81
  const startTime = Date.now();
84
- const model = request.model || 'gpt-4.1-mini';
82
+ const model = request.model || model_constants_1.DEFAULT_MODEL;
85
83
  try {
86
84
  if (request.mode === types_1.ExecutionMode.RUN_EXACTLY) {
87
85
  return await this.runExactly(request, startTime);
@@ -273,7 +271,7 @@ class ExecutionService {
273
271
  const scriptWithRepairAdvice = (0, script_utils_1.addTestChimpComment)(finalScript, confidenceResponse.advice);
274
272
  // Report credit usage for successful AI repair
275
273
  this.creditUsageService.reportAIRepairCredit().catch(error => {
276
- console.warn(`Failed to report credit usage for AI repair:`, error);
274
+ this.log(`Failed to report credit usage for AI repair: ${error}`, 'warn');
277
275
  });
278
276
  await repairBrowser.close();
279
277
  return {
@@ -404,6 +402,7 @@ class ExecutionService {
404
402
  let repairSuccess = false;
405
403
  const originalDescription = step.description;
406
404
  const originalCode = step.code;
405
+ let usedVisionMode = false;
407
406
  for (let attempt = 1; attempt <= maxTries; attempt++) {
408
407
  this.log(`Step ${i + 1} repair attempt ${attempt}/${maxTries}`);
409
408
  // Get current page state for AI repair
@@ -412,8 +411,61 @@ class ExecutionService {
412
411
  const failureHistory = this.buildFailureHistory(repairHistory, step, error);
413
412
  // Build recent repairs context for LLM
414
413
  const recentRepairsContext = this.buildRecentRepairsContext(recentRepairs);
415
- // Ask AI for repair suggestion with failure history and recent repairs
416
- const repairSuggestion = await this.llmFacade.getRepairSuggestion(step.description, step.code, step.error || 'Unknown error', pageInfo, failureHistory, recentRepairsContext, model);
414
+ let repairSuggestion;
415
+ // VISION-BASED FALLBACK: After 2 regular repair attempts, consider vision diagnostics on final attempt
416
+ if (attempt === maxTries - 1 && repairHistory.length >= 2 && !usedVisionMode) {
417
+ // Ask LLM if screenshot would help for repair diagnostics
418
+ this.log(` 🤔 After ${repairHistory.length} failed repairs: Asking LLM if screenshot would help (last resort)...`);
419
+ const screenshotNeed = await this.llmFacade.assessScreenshotNeed(step.description, step.error || 'Unknown error', repairHistory.length + 1, pageInfo, model);
420
+ this.log(` 💭 LLM assessment: ${screenshotNeed.needsScreenshot ? 'SCREENSHOT NEEDED' : 'NO SCREENSHOT'} - ${screenshotNeed.reason}`);
421
+ if (screenshotNeed.needsScreenshot) {
422
+ // Two-step supervisor pattern for vision-based repair:
423
+ // 1. Supervisor analyzes screenshot and provides diagnostic insights
424
+ // 2. Get repair suggestion with enhanced context from vision analysis
425
+ this.log(` 📸 Taking screenshot for supervisor analysis...`);
426
+ // Capture optimized screenshot using utility method
427
+ const imageDataUrl = await (0, browser_utils_1.captureOptimizedScreenshot)(page, { timeout: 10000 }, // Uses default quality 60
428
+ (msg) => this.log(msg));
429
+ this.log(` 👔 STEP 1: Supervisor analyzing screenshot (${model_constants_1.VISION_MODEL})...`);
430
+ const supervisorDiagnostics = await this.llmFacade.getVisionDiagnostics(step.description, pageInfo, [], // No previous steps context for repair
431
+ step.error, imageDataUrl, model_constants_1.VISION_MODEL);
432
+ // DEBUG: Log vision diagnostics
433
+ this.log(` 📸 Visual insights: ${supervisorDiagnostics.visualAnalysis}`);
434
+ this.log(` 🔍 Root cause: ${supervisorDiagnostics.rootCause}`);
435
+ this.log(` 💡 Recommended approach: ${supervisorDiagnostics.recommendedApproach}`);
436
+ if (supervisorDiagnostics.elementsFound.length > 0) {
437
+ this.log(` ✅ Elements found: ${supervisorDiagnostics.elementsFound.join(', ')}`);
438
+ }
439
+ if (supervisorDiagnostics.elementsNotFound.length > 0) {
440
+ this.log(` ❌ Elements not found: ${supervisorDiagnostics.elementsNotFound.join(', ')}`);
441
+ }
442
+ // Get repair suggestion with vision-enhanced context
443
+ this.log(` 🔨 STEP 2: Getting repair suggestion with vision insights...`);
444
+ const visionEnhancedFailureHistory = `${failureHistory}
445
+
446
+ VISION-BASED DIAGNOSTIC INSIGHTS:
447
+ Visual Analysis: ${supervisorDiagnostics.visualAnalysis}
448
+ Root Cause: ${supervisorDiagnostics.rootCause}
449
+ Recommended Approach: ${supervisorDiagnostics.recommendedApproach}
450
+ Elements Found: ${supervisorDiagnostics.elementsFound.join(', ') || 'None'}
451
+ Elements Not Found: ${supervisorDiagnostics.elementsNotFound.join(', ') || 'None'}
452
+
453
+ Use these vision insights to inform your repair strategy.`;
454
+ repairSuggestion = await this.llmFacade.getRepairSuggestion(step.description, step.code, step.error || 'Unknown error', pageInfo, visionEnhancedFailureHistory, recentRepairsContext, model);
455
+ usedVisionMode = true;
456
+ }
457
+ else {
458
+ // Regular repair without vision
459
+ if (screenshotNeed.alternativeApproach) {
460
+ this.log(` 💡 Alternative approach: ${screenshotNeed.alternativeApproach}`);
461
+ }
462
+ repairSuggestion = await this.llmFacade.getRepairSuggestion(step.description, step.code, step.error || 'Unknown error', pageInfo, failureHistory, recentRepairsContext, model);
463
+ }
464
+ }
465
+ else {
466
+ // Regular repair attempt (first 2 attempts or already used vision)
467
+ repairSuggestion = await this.llmFacade.getRepairSuggestion(step.description, step.code, step.error || 'Unknown error', pageInfo, failureHistory, recentRepairsContext, model);
468
+ }
417
469
  if (!repairSuggestion.shouldContinue) {
418
470
  this.log(`AI decided to stop repair at attempt ${attempt}: ${repairSuggestion.reason}`);
419
471
  break;
@@ -460,7 +512,7 @@ class ExecutionService {
460
512
  repairAction.operation === types_1.StepOperation.REMOVE ?
461
513
  `REMOVE: step at index ${repairAction.stepIndex}` :
462
514
  repairAction.operation;
463
- this.log(`Step ${i + 1} repair action ${commandInfo} executed successfully on attempt ${attempt}`);
515
+ this.log(`Step ${i + 1} repair action ${commandInfo} executed successfully on attempt ${attempt}${usedVisionMode ? ' (vision-aided)' : ''}`);
464
516
  // Update execution context based on the repair action
465
517
  if (repairAction.operation === types_1.StepOperation.MODIFY && repairAction.newStep) {
466
518
  // Update the step in the execution context for variable tracking
@@ -553,8 +605,9 @@ class ExecutionService {
553
605
  return updatedSteps;
554
606
  }
555
607
  async executeStepCode(code, page) {
556
- // Set timeout for individual step execution
557
- page.setDefaultTimeout(5000); // 5 seconds for individual commands
608
+ // Keep default timeout (5 seconds) for fast feedback on wrong selectors
609
+ // Navigation operations should use explicit longer timeouts in generated code
610
+ page.setDefaultTimeout(5000);
558
611
  try {
559
612
  // Clean and validate the code before execution
560
613
  const cleanedCode = this.cleanStepCode(code);
@@ -569,8 +622,8 @@ class ExecutionService {
569
622
  await result;
570
623
  }
571
624
  finally {
572
- // Restore to reasonable default timeout
573
- page.setDefaultTimeout(10000);
625
+ // Ensure timeout remains consistent
626
+ page.setDefaultTimeout(5000);
574
627
  }
575
628
  }
576
629
  /**
@@ -588,8 +641,8 @@ class ExecutionService {
588
641
  return code; // Return the original code without removing comments
589
642
  }
590
643
  async executeStepInContext(code, page, executionContext, contextVariables) {
591
- // Set timeout for individual step execution
592
- page.setDefaultTimeout(5000); // 5 seconds for individual commands
644
+ // Keep default timeout (5 seconds) for fast feedback
645
+ page.setDefaultTimeout(5000);
593
646
  try {
594
647
  // Execute only the current step code, but make context variables available
595
648
  const fullCode = code;
@@ -645,10 +698,9 @@ class ExecutionService {
645
698
  return {
646
699
  url: page.url(),
647
700
  title: 'Unknown',
648
- elements: 'Unable to extract',
649
- formFields: 'Unable to extract',
650
- interactiveElements: 'Unable to extract',
651
- pageStructure: 'Unable to extract'
701
+ ariaSnapshot: null,
702
+ interactiveElements: [],
703
+ formattedElements: 'Unable to extract'
652
704
  };
653
705
  }
654
706
  }
@@ -822,11 +874,14 @@ class ExecutionService {
822
874
  `test('repairedTest', async ({ page, browser, context }) => {`
823
875
  ];
824
876
  steps.forEach((step, index) => {
825
- scriptLines.push(` // Step ${index + 1}: ${step.description}`);
826
- const codeLines = step.code.split('\n');
827
- codeLines.forEach(line => {
828
- scriptLines.push(` ${line}`);
829
- });
877
+ // Only add step if it has code to execute
878
+ if (step.code && step.code.trim().length > 0) {
879
+ scriptLines.push(` // ${step.description}`);
880
+ const codeLines = step.code.split('\n');
881
+ codeLines.forEach(line => {
882
+ scriptLines.push(` ${line}`);
883
+ });
884
+ }
830
885
  });
831
886
  scriptLines.push('});');
832
887
  const script = scriptLines.join('\n');
@@ -837,7 +892,7 @@ class ExecutionService {
837
892
  * Initialize browser with configuration (delegates to utility function)
838
893
  */
839
894
  async initializeBrowser(playwrightConfig, headless, playwrightConfigFilePath) {
840
- return (0, browser_utils_1.initializeBrowser)(playwrightConfig, headless, playwrightConfigFilePath);
895
+ return (0, browser_utils_1.initializeBrowser)(playwrightConfig, headless, playwrightConfigFilePath, this.logger);
841
896
  }
842
897
  /**
843
898
  * Safely serialize error information, filtering out non-serializable values
@@ -1 +1 @@
1
- {"version":3,"file":"execution-service.js","sourceRoot":"","sources":["../src/execution-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-service.js","sourceRoot":"","sources":["../src/execution-service.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -12,7 +12,17 @@ import { CreditUsageService } from './credit-usage-service';
12
12
  export { ExecutionService, ScenarioService, ScenarioWorker, PlaywrightMCPService, LLMFacade, CreditUsageService };
13
13
  import { FileHandler, LocalFileHandler, CIFileHandler, NoOpFileHandler } from './file-handler';
14
14
  export { FileHandler, LocalFileHandler, CIFileHandler, NoOpFileHandler };
15
+ import { LLMProvider, LLMRequest, LLMResponse } from './llm-provider';
16
+ import { ProgressReporter, StepProgress, JobProgress, StepExecutionStatus } from './progress-reporter';
17
+ import { BackendProxyLLMProvider } from './providers/backend-proxy-llm-provider';
18
+ import { LocalLLMProvider } from './providers/local-llm-provider';
19
+ export { LLMProvider, LLMRequest, LLMResponse };
20
+ export { ProgressReporter, StepProgress, JobProgress, StepExecutionStatus };
21
+ export { BackendProxyLLMProvider, LocalLLMProvider };
22
+ import type { AgentConfig } from './orchestrator';
23
+ export { OrchestratorAgent, ToolRegistry, Tool, ToolParameter, ToolExecutionContext, AgentConfig, AgentContext, AgentDecision, JourneyMemory, MemoryStep, OrchestratorStepResult, SelfReflection, ToolCall, ToolResult, DEFAULT_AGENT_CONFIG, TakeScreenshotTool, RecallHistoryTool, InspectPageTool, CheckPageReadyTool, ExtractDataTool } from './orchestrator';
15
24
  export * from './types';
25
+ export { PageInfo, InteractiveElement } from './utils/page-info-utils';
16
26
  export * from './auth-config';
17
27
  export { loadEnvConfig } from './env-loader';
18
28
  export * from './script-utils';
@@ -20,24 +30,42 @@ export declare class TestChimpService {
20
30
  private executionService;
21
31
  scenarioService: ScenarioService;
22
32
  private playwrightService;
23
- private llmFacade;
33
+ private llmProvider;
34
+ private progressReporter?;
24
35
  private creditUsageService;
25
36
  private fileHandler;
26
37
  private authConfig;
27
38
  private backendUrl;
28
- constructor(fileHandler?: FileHandler, authConfig?: AuthConfig, backendUrl?: string, maxWorkers?: number);
39
+ private logger?;
40
+ private orchestratorOptions?;
41
+ constructor(fileHandler?: FileHandler, authConfig?: AuthConfig, backendUrl?: string, maxWorkers?: number, llmProvider?: LLMProvider, progressReporter?: ProgressReporter, orchestratorOptions?: {
42
+ useOrchestrator?: boolean;
43
+ orchestratorConfig?: Partial<AgentConfig>;
44
+ debugMode?: boolean;
45
+ });
29
46
  /**
30
47
  * Set authentication configuration for the service
48
+ * Recreates LLM provider and services with new auth config
31
49
  */
32
50
  setAuthConfig(authConfig: AuthConfig): Promise<void>;
33
51
  /**
34
52
  * Set backend URL for the service
53
+ * Recreates LLM provider and services with new backend URL
35
54
  */
36
55
  setBackendUrl(backendUrl: string): void;
37
56
  /**
38
57
  * Set logger callback for capturing execution logs
39
58
  */
40
59
  setLogger(logger: (message: string, level?: 'log' | 'error' | 'warn') => void): void;
60
+ /**
61
+ * Set output channel for worker logs (VS Code OutputChannel)
62
+ * This enables orchestrator thinking logs to appear in output console
63
+ */
64
+ setOutputChannel(outputChannel: any): void;
65
+ /**
66
+ * Log a message using the configured logger
67
+ */
68
+ private log;
41
69
  /**
42
70
  * Get current authentication configuration
43
71
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,oBAAoB,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC;AAGlH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAGzE,cAAc,SAAS,CAAC;AAGxB,cAAc,eAAe,CAAC;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,cAAc,gBAAgB,CAAC;AAG/B,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,gBAAgB,CAAmB;IACpC,eAAe,EAAE,eAAe,CAAC;IACxC,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,UAAU,CAAS;gBAEf,WAAW,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAaxG;;OAEG;IACG,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB1D;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAcvC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI;IAIpF;;OAEG;IACH,aAAa,IAAI,UAAU,GAAG,IAAI;IAI5B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhI,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA4CzC,yBAAyB,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAMrD,4BAA4B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3D,oBAAoB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc,GAAG,MAAM,EAAE;CAkD3E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}