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
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEU,QAAA,OAAO,GAAG;IACrB,uBAAuB;IACvB,oBAAoB,EAAE;QACpB,MAAM,EAAE,6nBAA6nB;QAEroB,IAAI,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,8EAA8E,QAAQ,i5BAAi5B;KACpgC;IAED,2CAA2C;IAC3C,kBAAkB,EAAE;QAClB,MAAM,EAAE,gRAAgR;QAExR,IAAI,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,+FAA+F,QAAQ,gzBAAgzB;KACp7B;IAED,qBAAqB;IACrB,kBAAkB,EAAE;QAClB,MAAM,EAAE;;;;;;;;;;;;;;;;oEAgBwD;QAEhE,IAAI,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,2FAA2F,QAAQ,GAAG;KACnI;IAED,gCAAgC;IAChC,kBAAkB,EAAE;QAClB,MAAM,EAAE,gRAAgR;QAExR,IAAI,EAAE,CAAC,eAAuB,EAAE,QAAa,EAAE,gBAAwB,EAAE,cAAsB,EAAE,YAAoB,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAoDjH,QAAQ,CAAC,GAAG;eACV,QAAQ,CAAC,KAAK;wBACL,QAAQ,CAAC,aAAa;8BAChB,QAAQ,CAAC,mBAAmB;qBACrC,QAAQ,CAAC,UAAU;sBAClB,QAAQ,CAAC,QAAQ;;;;MAIjC,gBAAgB;;;MAGhB,cAAc;;MAEd,YAAY;;wBAEM,eAAe,GAAG;KACvC;IAED,+BAA+B;IAC/B,cAAc,EAAE;QACd,MAAM,EAAE,uaAAua;QAE/a,IAAI,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC;;;;;;;;;;;;cAYhB,MAAM;;;;;;;;;;cAUN;KACX;IAED,oBAAoB;IACpB,iBAAiB,EAAE;QACjB,MAAM,EAAE,sQAAsQ;QAE9Q,IAAI,EAAE,CAAC,eAAuB,EAAE,QAAgB,EAAE,YAAoB,EAAE,QAAa,EAAE,cAAsB,EAAE,aAAqB,EAAE,EAAE,CAAC;;;mBAG1H,eAAe;YACtB,QAAQ;aACP,YAAY;;;aAGZ,QAAQ,CAAC,GAAG;eACV,QAAQ,CAAC,KAAK;8BACC,QAAQ,CAAC,mBAAmB;qBACrC,QAAQ,CAAC,UAAU;;MAElC,cAAc;;MAEd,aAAa;;;;;;;;;;;;;;;;;;MAkBb;KACH;IAED,+BAA+B;IAC/B,iBAAiB,EAAE;QACjB,MAAM,EAAE,sJAAsJ;QAE9J,IAAI,EAAE,CAAC,cAAsB,EAAE,aAAqB,EAAE,EAAE,CAAC;;;cAG/C,cAAc;;;cAGd,aAAa;;;;;;;;;;;;;;;;;;;;;;;;cAwBb;KACX;IAED,0BAA0B;IAC1B,YAAY,EAAE;QACZ,MAAM,EAAE,6LAA6L;QAErM,IAAI,EAAE,CAAC,cAAsB,EAAE,aAAqB,EAAE,eAAuB,EAAE,EAAE,CAAC;;;cAGxE,cAAc;;;cAGd,aAAa;;;cAGb,eAAe;;;;;;;;;;;;;;;cAef;KACX;CACF,CAAC"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Backend Proxy LLM Provider
3
+ * Calls backend proxy API with authentication
4
+ * Used by VS Extension and GitHub Runner
5
+ */
6
+ import { LLMProvider, LLMRequest, LLMResponse } from '../llm-provider';
7
+ import { AuthConfig } from '../auth-config';
8
+ /**
9
+ * Default LLM provider that calls backend proxy
10
+ * Converts camelCase requests to snake_case for backend API
11
+ */
12
+ export declare class BackendProxyLLMProvider implements LLMProvider {
13
+ private authConfig?;
14
+ private backendUrl;
15
+ private logger?;
16
+ constructor(authConfig?: AuthConfig, backendUrl?: string);
17
+ setLogger(logger: (message: string, level?: 'log' | 'error' | 'warn') => void): void;
18
+ callLLM(request: LLMRequest): Promise<LLMResponse>;
19
+ /**
20
+ * Estimate image token cost based on dimensions
21
+ * For gpt-4.1-mini: patches × 1.62, capped at 1536
22
+ */
23
+ private estimateImageTokens;
24
+ }
25
+ //# sourceMappingURL=backend-proxy-llm-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-proxy-llm-provider.d.ts","sourceRoot":"","sources":["../../src/providers/backend-proxy-llm-provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AAE5D;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,WAAW;IACzD,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAC,CAA8D;gBAEjE,UAAU,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM;IAKxD,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI;IAI9E,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAiDxD;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CAQ5B"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ /**
3
+ * Backend Proxy LLM Provider
4
+ * Calls backend proxy API with authentication
5
+ * Used by VS Extension and GitHub Runner
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.BackendProxyLLMProvider = void 0;
12
+ const axios_1 = __importDefault(require("axios"));
13
+ const auth_config_1 = require("../auth-config");
14
+ /**
15
+ * Default LLM provider that calls backend proxy
16
+ * Converts camelCase requests to snake_case for backend API
17
+ */
18
+ class BackendProxyLLMProvider {
19
+ constructor(authConfig, backendUrl) {
20
+ this.authConfig = authConfig;
21
+ this.backendUrl = backendUrl || 'https://featureservice.testchimp.io';
22
+ }
23
+ setLogger(logger) {
24
+ this.logger = logger;
25
+ }
26
+ async callLLM(request) {
27
+ if (!this.authConfig) {
28
+ throw new Error('Authentication required for backend proxy LLM provider');
29
+ }
30
+ const headers = (0, auth_config_1.getAuthHeaders)(this.authConfig);
31
+ // Convert camelCase to snake_case for backend API (proto format)
32
+ const backendRequest = {
33
+ model: request.model,
34
+ system_prompt: request.systemPrompt,
35
+ user_prompt: request.userPrompt,
36
+ image_url: request.imageUrl
37
+ };
38
+ const url = `${this.backendUrl}/localagent/call_llm`;
39
+ try {
40
+ const response = await axios_1.default.post(url, backendRequest, { headers, timeout: 300000 });
41
+ // Calculate token usage (heuristic: 4 chars = 1 token)
42
+ const inputText = `${request.systemPrompt || ''}\n${request.userPrompt || ''}`;
43
+ const inputTokens = Math.ceil(inputText.length / 4);
44
+ // Add image tokens if present (for vision models)
45
+ let imageTokens = 0;
46
+ if (request.imageUrl) {
47
+ imageTokens = this.estimateImageTokens(request.imageUrl);
48
+ }
49
+ const outputTokens = Math.ceil((response.data.answer || '').length / 4);
50
+ return {
51
+ answer: response.data.answer,
52
+ usage: {
53
+ inputTokens: inputTokens + imageTokens,
54
+ outputTokens
55
+ }
56
+ };
57
+ }
58
+ catch (error) {
59
+ this.logger?.(`LLM call failed: ${error}`, 'error');
60
+ throw error;
61
+ }
62
+ }
63
+ /**
64
+ * Estimate image token cost based on dimensions
65
+ * For gpt-4.1-mini: patches × 1.62, capped at 1536
66
+ */
67
+ estimateImageTokens(imageDataUrl) {
68
+ // For simplicity, estimate common screenshot sizes
69
+ // Viewport (1920x1080): ~1452 tokens (after multiplier and cap)
70
+ // Full page (1920x3000+): ~1536 tokens (capped)
71
+ // Conservative estimate: assume viewport screenshot
72
+ return 1500; // ~1452-1536 tokens for typical screenshot
73
+ }
74
+ }
75
+ exports.BackendProxyLLMProvider = BackendProxyLLMProvider;
76
+ //# sourceMappingURL=backend-proxy-llm-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-proxy-llm-provider.js","sourceRoot":"","sources":["../../src/providers/backend-proxy-llm-provider.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;AAEH,kDAA0B;AAE1B,gDAA4D;AAE5D;;;GAGG;AACH,MAAa,uBAAuB;IAKlC,YAAY,UAAuB,EAAE,UAAmB;QACtD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,qCAAqC,CAAC;IACxE,CAAC;IAED,SAAS,CAAC,MAAmE;QAC3E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAmB;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,OAAO,GAAG,IAAA,4BAAc,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEhD,iEAAiE;QACjE,MAAM,cAAc,GAAG;YACrB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,OAAO,CAAC,YAAY;YACnC,WAAW,EAAE,OAAO,CAAC,UAAU;YAC/B,SAAS,EAAE,OAAO,CAAC,QAAQ;SAC5B,CAAC;QAEF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,sBAAsB,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAC/B,GAAG,EACH,cAAc,EACd,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAC7B,CAAC;YAEF,uDAAuD;YACvD,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,KAAK,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YAC/E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEpD,kDAAkD;YAClD,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAExE,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;gBAC5B,KAAK,EAAE;oBACL,WAAW,EAAE,WAAW,GAAG,WAAW;oBACtC,YAAY;iBACb;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,EAAE,CAAC,oBAAoB,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,mBAAmB,CAAC,YAAoB;QAC9C,mDAAmD;QACnD,gEAAgE;QAChE,gDAAgD;QAEhD,oDAAoD;QACpD,OAAO,IAAI,CAAC,CAAE,2CAA2C;IAC3D,CAAC;CACF;AA3ED,0DA2EC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Local LLM Provider
3
+ * Calls LLM directly via callback (not via backend proxy)
4
+ * For future use by Script Service (Phase 2)
5
+ */
6
+ import { LLMProvider, LLMRequest, LLMResponse } from '../llm-provider';
7
+ /**
8
+ * Local LLM provider that calls LLM directly via callback
9
+ * Allows Script Service to use its own OpenAI integration
10
+ */
11
+ export declare class LocalLLMProvider implements LLMProvider {
12
+ private llmCallback;
13
+ private logger?;
14
+ /**
15
+ * @param llmCallback Function that calls LLM (provided by environment)
16
+ */
17
+ constructor(llmCallback: (request: LLMRequest) => Promise<string>);
18
+ setLogger(logger: (message: string, level?: 'log' | 'error' | 'warn') => void): void;
19
+ callLLM(request: LLMRequest): Promise<LLMResponse>;
20
+ }
21
+ //# sourceMappingURL=local-llm-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-llm-provider.d.ts","sourceRoot":"","sources":["../../src/providers/local-llm-provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEvE;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,WAAW;IAClD,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,MAAM,CAAC,CAA8D;IAE7E;;OAEG;gBACS,WAAW,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC;IAIjE,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,KAAK,IAAI,GAAG,IAAI;IAI9E,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CASzD"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * Local LLM Provider
4
+ * Calls LLM directly via callback (not via backend proxy)
5
+ * For future use by Script Service (Phase 2)
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.LocalLLMProvider = void 0;
9
+ /**
10
+ * Local LLM provider that calls LLM directly via callback
11
+ * Allows Script Service to use its own OpenAI integration
12
+ */
13
+ class LocalLLMProvider {
14
+ /**
15
+ * @param llmCallback Function that calls LLM (provided by environment)
16
+ */
17
+ constructor(llmCallback) {
18
+ this.llmCallback = llmCallback;
19
+ }
20
+ setLogger(logger) {
21
+ this.logger = logger;
22
+ }
23
+ async callLLM(request) {
24
+ try {
25
+ const answer = await this.llmCallback(request);
26
+ return { answer };
27
+ }
28
+ catch (error) {
29
+ this.logger?.(`Local LLM call failed: ${error}`, 'error');
30
+ throw error;
31
+ }
32
+ }
33
+ }
34
+ exports.LocalLLMProvider = LocalLLMProvider;
35
+ //# sourceMappingURL=local-llm-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-llm-provider.js","sourceRoot":"","sources":["../../src/providers/local-llm-provider.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAIH;;;GAGG;AACH,MAAa,gBAAgB;IAI3B;;OAEG;IACH,YAAY,WAAqD;QAC/D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,MAAmE;QAC3E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAmB;QAC/B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/C,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,EAAE,CAAC,0BAA0B,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAxBD,4CAwBC"}
@@ -2,6 +2,9 @@ import { EventEmitter } from 'events';
2
2
  import { PlaywrightConfig } from './types';
3
3
  import { FileHandler } from './file-handler';
4
4
  import { AuthConfig } from './auth-config';
5
+ import { LLMProvider } from './llm-provider';
6
+ import { ProgressReporter } from './progress-reporter';
7
+ import { AgentConfig } from './orchestrator';
5
8
  /**
6
9
  * Service for processing scenarios using LLM + Playwright
7
10
  */
@@ -14,7 +17,30 @@ export declare class ScenarioService extends EventEmitter {
14
17
  private authConfig;
15
18
  private backendUrl?;
16
19
  private creditUsageService;
17
- constructor(maxWorkers?: number, fileHandler?: FileHandler, authConfig?: AuthConfig, backendUrl?: string);
20
+ private logger?;
21
+ private llmProvider?;
22
+ private progressReporter?;
23
+ private useOrchestrator;
24
+ private orchestratorConfig?;
25
+ private debugMode;
26
+ private outputChannel?;
27
+ constructor(maxWorkers?: number, fileHandler?: FileHandler, llmProvider?: LLMProvider, progressReporter?: ProgressReporter, authConfig?: AuthConfig, backendUrl?: string, options?: {
28
+ useOrchestrator?: boolean;
29
+ orchestratorConfig?: Partial<AgentConfig>;
30
+ debugMode?: boolean;
31
+ });
32
+ /**
33
+ * Set a logger callback for capturing execution logs
34
+ */
35
+ setLogger(logger: (message: string, level?: 'log' | 'error' | 'warn') => void): void;
36
+ /**
37
+ * Set output channel for worker logs (VS Code OutputChannel)
38
+ */
39
+ setOutputChannel(outputChannel: any): void;
40
+ /**
41
+ * Log a message using the configured logger
42
+ */
43
+ private log;
18
44
  private initializeWorkers;
19
45
  private createWorker;
20
46
  initialize(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-service.d.ts","sourceRoot":"","sources":["../src/scenario-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAiD,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAmB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAqB;gBAEnC,UAAU,GAAE,MAAU,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM;YAS7F,iBAAiB;YAMjB,YAAY;IAOpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;YAmBpH,cAAc;IA0C5B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,cAAc;IAShB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAWhC"}
1
+ {"version":3,"file":"scenario-service.d.ts","sourceRoot":"","sources":["../src/scenario-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAiD,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAmB,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK7C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,MAAM,CAAC,CAA8D;IAC7E,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,kBAAkB,CAAC,CAAuB;IAClD,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,aAAa,CAAC,CAAM;gBAG1B,UAAU,GAAE,MAAU,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,UAAU,CAAC,EAAE,UAAU,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;IAeH;;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,gBAAgB,CAAC,aAAa,EAAE,GAAG,GAAG,IAAI;IAI1C;;OAEG;IACH,OAAO,CAAC,GAAG;YAOG,iBAAiB;YAMjB,YAAY;IA0BpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;YAmBpH,cAAc;IA0C5B,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,cAAc;IAShB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAWhC"}
@@ -15,16 +15,42 @@ dotenv_1.default.config();
15
15
  * Service for processing scenarios using LLM + Playwright
16
16
  */
17
17
  class ScenarioService extends events_1.EventEmitter {
18
- constructor(maxWorkers = 2, fileHandler, authConfig, backendUrl) {
18
+ constructor(maxWorkers = 2, fileHandler, llmProvider, progressReporter, authConfig, backendUrl, options) {
19
19
  super();
20
20
  this.workers = [];
21
21
  this.jobQueue = [];
22
22
  this.busyWorkers = new Set();
23
23
  this.maxWorkers = maxWorkers;
24
24
  this.fileHandler = fileHandler || new file_handler_1.NoOpFileHandler();
25
+ this.llmProvider = llmProvider;
26
+ this.progressReporter = progressReporter;
25
27
  this.authConfig = authConfig || null;
26
28
  this.backendUrl = backendUrl;
27
29
  this.creditUsageService = new credit_usage_service_1.CreditUsageService(authConfig, backendUrl);
30
+ this.useOrchestrator = options?.useOrchestrator || false;
31
+ this.orchestratorConfig = options?.orchestratorConfig;
32
+ this.debugMode = options?.debugMode || false;
33
+ }
34
+ /**
35
+ * Set a logger callback for capturing execution logs
36
+ */
37
+ setLogger(logger) {
38
+ this.logger = logger;
39
+ }
40
+ /**
41
+ * Set output channel for worker logs (VS Code OutputChannel)
42
+ */
43
+ setOutputChannel(outputChannel) {
44
+ this.outputChannel = outputChannel;
45
+ }
46
+ /**
47
+ * Log a message using the configured logger
48
+ */
49
+ log(message, level = 'log') {
50
+ if (this.logger) {
51
+ this.logger(message, level);
52
+ }
53
+ // No console fallback - logs are routed to consumer
28
54
  }
29
55
  async initializeWorkers() {
30
56
  for (let i = 0; i < this.maxWorkers; i++) {
@@ -32,15 +58,25 @@ class ScenarioService extends events_1.EventEmitter {
32
58
  }
33
59
  }
34
60
  async createWorker() {
35
- const worker = new scenario_worker_class_1.ScenarioWorker(this.fileHandler, this.authConfig || undefined, undefined, this.backendUrl);
61
+ // Pass providers and orchestrator options to worker
62
+ const worker = new scenario_worker_class_1.ScenarioWorker(this.fileHandler, this.llmProvider, this.progressReporter, this.authConfig || undefined, this.backendUrl, {
63
+ useOrchestrator: this.useOrchestrator,
64
+ orchestratorConfig: this.orchestratorConfig,
65
+ debugMode: this.debugMode
66
+ }, this.outputChannel // Pass outputChannel for log routing
67
+ );
36
68
  await worker.initialize();
69
+ // Forward log events from worker to service listeners
70
+ worker.on('log', (jobId, message) => {
71
+ this.emit('jobLog', jobId, message);
72
+ });
37
73
  this.workers.push(worker);
38
- console.log(`Scenario worker initialized with session: ${worker['sessionId']}`);
74
+ this.log(`Scenario worker initialized${this.useOrchestrator ? ' (Orchestrator Mode)' : ''} with session: ${worker['sessionId']}`);
39
75
  }
40
76
  async initialize() {
41
77
  // Wait for workers to be initialized
42
78
  await this.initializeWorkers();
43
- console.log('Scenario service initialized');
79
+ this.log('Scenario service initialized');
44
80
  }
45
81
  processScenario(scenario, testName, config, model, scenarioFileName) {
46
82
  const jobId = `scenario_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
@@ -61,28 +97,28 @@ class ScenarioService extends events_1.EventEmitter {
61
97
  if (this.jobQueue.length === 0) {
62
98
  return;
63
99
  }
64
- console.log(`[ScenarioService] Processing next job. Queue length: ${this.jobQueue.length}, Workers: ${this.workers.length}, Busy workers: ${this.busyWorkers.size}`);
100
+ this.log(`[ScenarioService] Processing next job. Queue length: ${this.jobQueue.length}, Workers: ${this.workers.length}, Busy workers: ${this.busyWorkers.size}`);
65
101
  // Find available worker (proper load balancing)
66
102
  const availableWorker = this.workers.find(worker => !this.busyWorkers.has(worker));
67
103
  if (!availableWorker) {
68
- console.log('[ScenarioService] No available workers, waiting...');
104
+ this.log('[ScenarioService] No available workers, waiting...');
69
105
  return; // All workers busy, wait for one to become available
70
106
  }
71
107
  const job = this.jobQueue.shift();
72
108
  if (!job) {
73
109
  return;
74
110
  }
75
- console.log(`[ScenarioService] Processing job ${job.id} with worker`);
111
+ this.log(`[ScenarioService] Processing job ${job.id} with worker`);
76
112
  // Mark worker as busy
77
113
  this.busyWorkers.add(availableWorker);
78
114
  try {
79
115
  // Process job directly with worker
80
116
  const result = await availableWorker.processScenarioJob(job);
81
- console.log(`[ScenarioService] Job ${job.id} completed with result:`, result);
117
+ this.log(`[ScenarioService] Job ${job.id} completed with result: ${JSON.stringify(result)}`);
82
118
  this.handleJobResult(job.id, result);
83
119
  }
84
120
  catch (error) {
85
- console.error('Error processing job with worker:', error);
121
+ this.log(`Error processing job with worker: ${error}`, 'error');
86
122
  this.emit('jobError', job.id, error);
87
123
  // Put job back in queue if it failed
88
124
  this.jobQueue.unshift(job);
@@ -98,7 +134,7 @@ class ScenarioService extends events_1.EventEmitter {
98
134
  // Report credit usage for successful script generation
99
135
  if (result.success) {
100
136
  this.creditUsageService.reportScriptGenerationCredit(jobId).catch(error => {
101
- console.warn(`Failed to report credit usage for script generation (job: ${jobId}):`, error);
137
+ this.log(`Failed to report credit usage for script generation (job: ${jobId}): ${error}`, 'warn');
102
138
  });
103
139
  }
104
140
  // Emit result event
@@ -115,13 +151,13 @@ class ScenarioService extends events_1.EventEmitter {
115
151
  this.processNextJob();
116
152
  }
117
153
  async shutdown() {
118
- console.log('Shutting down scenario service...');
154
+ this.log('Shutting down scenario service...');
119
155
  // Cleanup all workers
120
156
  const cleanupPromises = this.workers.map(worker => worker.cleanup());
121
157
  await Promise.all(cleanupPromises);
122
158
  this.workers = [];
123
159
  this.busyWorkers.clear();
124
- console.log('Scenario service shutdown complete');
160
+ this.log('Scenario service shutdown complete');
125
161
  }
126
162
  }
127
163
  exports.ScenarioService = ScenarioService;
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-service.js","sourceRoot":"","sources":["../src/scenario-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenario-service.js","sourceRoot":"","sources":["../src/scenario-service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
+ import { EventEmitter } from 'events';
1
2
  import { ScenarioResponse } from './types';
2
3
  import { FileHandler } from './file-handler';
3
4
  import { AuthConfig } from './auth-config';
5
+ import { LLMProvider } from './llm-provider';
6
+ import { ProgressReporter } from './progress-reporter';
7
+ import { AgentConfig } from './orchestrator';
4
8
  interface OutputChannel {
5
9
  appendLine: (text: string) => void;
6
10
  }
@@ -12,15 +16,48 @@ interface ScenarioJob {
12
16
  model?: string;
13
17
  scenarioFileName?: string;
14
18
  }
15
- export declare class ScenarioWorker {
19
+ export declare class ScenarioWorker extends EventEmitter {
16
20
  private initialized;
17
21
  private sessionId;
18
22
  private llmFacade;
19
23
  private fileHandler?;
20
24
  private outputChannel?;
21
- constructor(fileHandler?: FileHandler, authConfig?: AuthConfig, outputChannel?: OutputChannel, backendUrl?: string);
25
+ private progressReporter?;
26
+ private currentJobId?;
27
+ private useOrchestrator;
28
+ private orchestratorAgent?;
29
+ private toolRegistry?;
30
+ private orchestratorConfig?;
31
+ private debugMode;
32
+ constructor(fileHandler?: FileHandler, llmProvider?: LLMProvider, progressReporter?: ProgressReporter, authConfig?: AuthConfig, backendUrl?: string, options?: {
33
+ useOrchestrator?: boolean;
34
+ orchestratorConfig?: Partial<AgentConfig>;
35
+ debugMode?: boolean;
36
+ }, outputChannel?: OutputChannel);
37
+ /**
38
+ * Initialize orchestrator mode with tools
39
+ */
40
+ private initializeOrchestrator;
22
41
  private log;
23
42
  private logError;
43
+ /**
44
+ * Capture screenshot as data URL
45
+ * Returns data:image/png;base64,... format
46
+ */
47
+ private captureStepScreenshot;
48
+ /**
49
+ * Report step progress to progress reporter
50
+ */
51
+ private reportStepProgress;
52
+ /**
53
+ * Report job progress to progress reporter
54
+ */
55
+ private reportJobProgress;
56
+ /**
57
+ * Detect if a step is complex and benefits from proactive vision usage
58
+ * Complex steps: form filling, verification, navigation after actions
59
+ */
60
+ private isComplexStep;
24
61
  initialize(): Promise<void>;
25
62
  processScenarioJob(job: ScenarioJob): Promise<ScenarioResponse>;
26
63
  private executePlaywrightCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-worker-class.d.ts","sourceRoot":"","sources":["../src/scenario-worker-class.ts"],"names":[],"mappings":"AAKA,OAAO,EAAkB,gBAAgB,EAAgB,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C,UAAU,aAAa;IACrB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAGD,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAKD,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAE1B,WAAW,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,MAAM;IAMlH,OAAO,CAAC,GAAG;IAOX,OAAO,CAAC,QAAQ;IAOV,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3B,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAoOvD,wBAAwB;IAkChC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B"}
1
+ {"version":3,"file":"scenario-worker-class.d.ts","sourceRoot":"","sources":["../src/scenario-worker-class.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,EAAkB,gBAAgB,EAAgB,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAkD,MAAM,qBAAqB,CAAC;AAEvG,OAAO,EAIL,WAAW,EAMZ,MAAM,gBAAgB,CAAC;AAGxB,UAAU,aAAa;IACrB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAGD,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAOD,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,YAAY,CAAC,CAAS;IAG9B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,kBAAkB,CAAC,CAAuB;IAClD,OAAO,CAAC,SAAS,CAAkB;gBAGjC,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,gBAAgB,CAAC,EAAE,gBAAgB,EACnC,UAAU,CAAC,EAAE,UAAU,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,kBAAkB,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,EACD,aAAa,CAAC,EAAE,aAAa;IAsB/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0C9B,OAAO,CAAC,GAAG;IAWX,OAAO,CAAC,QAAQ;IAWhB;;;OAGG;YACW,qBAAqB;IAWnC;;OAEG;YACW,kBAAkB;IAchC;;OAEG;YACW,iBAAiB;IAW/B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAkCf,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,kBAAkB,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAksBvD,wBAAwB;IA6BhC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B"}