@wdio/browserstack-service 8.48.0 → 8.49.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 (238) hide show
  1. package/build/Percy/Percy-Handler.js +1 -0
  2. package/build/Percy/Percy-Handler.js.map +1 -0
  3. package/build/Percy/Percy.js +1 -0
  4. package/build/Percy/Percy.js.map +1 -0
  5. package/build/Percy/PercyBinary.js +1 -0
  6. package/build/Percy/PercyBinary.js.map +1 -0
  7. package/build/Percy/PercyCaptureMap.js +1 -0
  8. package/build/Percy/PercyCaptureMap.js.map +1 -0
  9. package/build/Percy/PercyHelper.d.ts.map +1 -1
  10. package/build/Percy/PercyHelper.js +1 -0
  11. package/build/Percy/PercyHelper.js.map +1 -0
  12. package/build/Percy/PercyLogger.js +1 -0
  13. package/build/Percy/PercyLogger.js.map +1 -0
  14. package/build/Percy/PercySDK.js +1 -0
  15. package/build/Percy/PercySDK.js.map +1 -0
  16. package/build/accessibility-handler.d.ts +1 -1
  17. package/build/accessibility-handler.d.ts.map +1 -1
  18. package/build/accessibility-handler.js +14 -11
  19. package/build/accessibility-handler.js.map +1 -0
  20. package/build/ai-handler.d.ts.map +1 -1
  21. package/build/ai-handler.js +12 -0
  22. package/build/ai-handler.js.map +1 -0
  23. package/build/bstackLogger.js +1 -0
  24. package/build/bstackLogger.js.map +1 -0
  25. package/build/cleanup.js +1 -0
  26. package/build/cleanup.js.map +1 -0
  27. package/build/cli/apiUtils.js +1 -0
  28. package/build/cli/apiUtils.js.map +1 -0
  29. package/build/cli/cliLogger.d.ts +1 -0
  30. package/build/cli/cliLogger.d.ts.map +1 -1
  31. package/build/cli/cliLogger.js +24 -12
  32. package/build/cli/cliLogger.js.map +1 -0
  33. package/build/cli/cliUtils.d.ts +18 -0
  34. package/build/cli/cliUtils.d.ts.map +1 -1
  35. package/build/cli/cliUtils.js +30 -0
  36. package/build/cli/cliUtils.js.map +1 -0
  37. package/build/cli/eventDispatcher.js +1 -0
  38. package/build/cli/eventDispatcher.js.map +1 -0
  39. package/build/cli/frameworks/automationFramework.js +1 -0
  40. package/build/cli/frameworks/automationFramework.js.map +1 -0
  41. package/build/cli/frameworks/constants/automationFrameworkConstants.js +1 -0
  42. package/build/cli/frameworks/constants/automationFrameworkConstants.js.map +1 -0
  43. package/build/cli/frameworks/constants/testFrameworkConstants.js +1 -0
  44. package/build/cli/frameworks/constants/testFrameworkConstants.js.map +1 -0
  45. package/build/cli/frameworks/testFramework.js +1 -0
  46. package/build/cli/frameworks/testFramework.js.map +1 -0
  47. package/build/cli/frameworks/wdioAutomationFramework.js +1 -0
  48. package/build/cli/frameworks/wdioAutomationFramework.js.map +1 -0
  49. package/build/cli/frameworks/wdioMochaTestFramework.d.ts.map +1 -1
  50. package/build/cli/frameworks/wdioMochaTestFramework.js +5 -2
  51. package/build/cli/frameworks/wdioMochaTestFramework.js.map +1 -0
  52. package/build/cli/grpcClient.d.ts +21 -5
  53. package/build/cli/grpcClient.d.ts.map +1 -1
  54. package/build/cli/grpcClient.js +135 -22
  55. package/build/cli/grpcClient.js.map +1 -0
  56. package/build/cli/index.d.ts +3 -1
  57. package/build/cli/index.d.ts.map +1 -1
  58. package/build/cli/index.js +53 -4
  59. package/build/cli/index.js.map +1 -0
  60. package/build/cli/instances/automationFrameworkInstance.js +1 -0
  61. package/build/cli/instances/automationFrameworkInstance.js.map +1 -0
  62. package/build/cli/instances/testFrameworkInstance.js +1 -0
  63. package/build/cli/instances/testFrameworkInstance.js.map +1 -0
  64. package/build/cli/instances/trackedContext.js +1 -0
  65. package/build/cli/instances/trackedContext.js.map +1 -0
  66. package/build/cli/instances/trackedInstance.js +1 -0
  67. package/build/cli/instances/trackedInstance.js.map +1 -0
  68. package/build/cli/modules/accessibilityModule.d.ts +4 -1
  69. package/build/cli/modules/accessibilityModule.d.ts.map +1 -1
  70. package/build/cli/modules/accessibilityModule.js +76 -10
  71. package/build/cli/modules/accessibilityModule.js.map +1 -0
  72. package/build/cli/modules/automateModule.js +1 -0
  73. package/build/cli/modules/automateModule.js.map +1 -0
  74. package/build/cli/modules/baseModule.js +1 -0
  75. package/build/cli/modules/baseModule.js.map +1 -0
  76. package/build/cli/modules/observabilityModule.js +1 -0
  77. package/build/cli/modules/observabilityModule.js.map +1 -0
  78. package/build/cli/modules/percyModule.js +1 -0
  79. package/build/cli/modules/percyModule.js.map +1 -0
  80. package/build/cli/modules/testHubModule.js +1 -0
  81. package/build/cli/modules/testHubModule.js.map +1 -0
  82. package/build/cli/modules/webdriverIOModule.js +1 -0
  83. package/build/cli/modules/webdriverIOModule.js.map +1 -0
  84. package/build/cli/states/automationFrameworkState.d.ts.map +1 -1
  85. package/build/cli/states/automationFrameworkState.js +1 -0
  86. package/build/cli/states/automationFrameworkState.js.map +1 -0
  87. package/build/cli/states/hookState.d.ts.map +1 -1
  88. package/build/cli/states/hookState.js +1 -0
  89. package/build/cli/states/hookState.js.map +1 -0
  90. package/build/cli/states/testFrameworkState.d.ts.map +1 -1
  91. package/build/cli/states/testFrameworkState.js +1 -0
  92. package/build/cli/states/testFrameworkState.js.map +1 -0
  93. package/build/config.js +1 -0
  94. package/build/config.js.map +1 -0
  95. package/build/constants.d.ts +28 -0
  96. package/build/constants.d.ts.map +1 -1
  97. package/build/constants.js +38 -1
  98. package/build/constants.js.map +1 -0
  99. package/build/crash-reporter.js +1 -0
  100. package/build/crash-reporter.js.map +1 -0
  101. package/build/cucumber-types.js +1 -0
  102. package/build/cucumber-types.js.map +1 -0
  103. package/build/data-store.js +1 -0
  104. package/build/data-store.js.map +1 -0
  105. package/build/exitHandler.d.ts +1 -1
  106. package/build/exitHandler.d.ts.map +1 -1
  107. package/build/exitHandler.js +7 -5
  108. package/build/exitHandler.js.map +1 -0
  109. package/build/fileStream.js +1 -0
  110. package/build/fileStream.js.map +1 -0
  111. package/build/grpc/generated/sdk-messages-accessibility.d.ts +76 -0
  112. package/build/grpc/generated/sdk-messages-accessibility.d.ts.map +1 -0
  113. package/build/grpc/generated/sdk-messages-accessibility.js +908 -0
  114. package/build/grpc/generated/sdk-messages-accessibility.js.map +1 -0
  115. package/build/grpc/generated/sdk-messages-ai.d.ts +52 -0
  116. package/build/grpc/generated/sdk-messages-ai.d.ts.map +1 -0
  117. package/build/grpc/generated/sdk-messages-ai.js +643 -0
  118. package/build/grpc/generated/sdk-messages-ai.js.map +1 -0
  119. package/build/grpc/generated/sdk-messages-observability.d.ts +44 -0
  120. package/build/grpc/generated/sdk-messages-observability.d.ts.map +1 -0
  121. package/build/grpc/generated/sdk-messages-observability.js +505 -0
  122. package/build/grpc/generated/sdk-messages-observability.js.map +1 -0
  123. package/build/grpc/generated/sdk-messages-percy.d.ts +16 -0
  124. package/build/grpc/generated/sdk-messages-percy.d.ts.map +1 -0
  125. package/build/grpc/generated/sdk-messages-percy.js +111 -0
  126. package/build/grpc/generated/sdk-messages-percy.js.map +1 -0
  127. package/build/grpc/generated/sdk-messages-testhub.d.ts +16 -0
  128. package/build/grpc/generated/sdk-messages-testhub.d.ts.map +1 -0
  129. package/build/grpc/generated/sdk-messages-testhub.js +132 -0
  130. package/build/grpc/generated/sdk-messages-testhub.js.map +1 -0
  131. package/build/grpc/generated/sdk-messages.d.ts +288 -0
  132. package/build/grpc/generated/sdk-messages.d.ts.map +1 -0
  133. package/build/grpc/generated/sdk-messages.js +3958 -0
  134. package/build/grpc/generated/sdk-messages.js.map +1 -0
  135. package/build/grpc/generated/sdk.d.ts +282 -0
  136. package/build/grpc/generated/sdk.d.ts.map +1 -0
  137. package/build/grpc/generated/sdk.js +197 -0
  138. package/build/grpc/generated/sdk.js.map +1 -0
  139. package/build/grpc/index.d.ts +43 -0
  140. package/build/grpc/index.d.ts.map +1 -0
  141. package/build/grpc/index.js +154 -0
  142. package/build/grpc/index.js.map +1 -0
  143. package/build/index.js +1 -0
  144. package/build/index.js.map +1 -0
  145. package/build/insights-handler.d.ts.map +1 -1
  146. package/build/insights-handler.js +38 -8
  147. package/build/insights-handler.js.map +1 -0
  148. package/build/instrumentation/funnelInstrumentation.d.ts +2 -2
  149. package/build/instrumentation/funnelInstrumentation.d.ts.map +1 -1
  150. package/build/instrumentation/funnelInstrumentation.js +31 -8
  151. package/build/instrumentation/funnelInstrumentation.js.map +1 -0
  152. package/build/instrumentation/performance/constants.d.ts +64 -0
  153. package/build/instrumentation/performance/constants.d.ts.map +1 -1
  154. package/build/instrumentation/performance/constants.js +74 -2
  155. package/build/instrumentation/performance/constants.js.map +1 -0
  156. package/build/instrumentation/performance/performance-tester.d.ts +11 -0
  157. package/build/instrumentation/performance/performance-tester.d.ts.map +1 -1
  158. package/build/instrumentation/performance/performance-tester.js +136 -15
  159. package/build/instrumentation/performance/performance-tester.js.map +1 -0
  160. package/build/launcher.d.ts +1 -0
  161. package/build/launcher.d.ts.map +1 -1
  162. package/build/launcher.js +152 -6
  163. package/build/launcher.js.map +1 -0
  164. package/build/log4jsAppender.d.ts.map +1 -1
  165. package/build/log4jsAppender.js +1 -0
  166. package/build/log4jsAppender.js.map +1 -0
  167. package/build/logPatcher.d.ts.map +1 -1
  168. package/build/logPatcher.js +1 -0
  169. package/build/logPatcher.js.map +1 -0
  170. package/build/logReportingAPI.d.ts.map +1 -1
  171. package/build/logReportingAPI.js +1 -0
  172. package/build/logReportingAPI.js.map +1 -0
  173. package/build/reporter.js +1 -0
  174. package/build/reporter.js.map +1 -0
  175. package/build/request-handler.d.ts.map +1 -1
  176. package/build/request-handler.js +4 -0
  177. package/build/request-handler.js.map +1 -0
  178. package/build/scripts/accessibility-scripts.js +1 -0
  179. package/build/scripts/accessibility-scripts.js.map +1 -0
  180. package/build/service.d.ts.map +1 -1
  181. package/build/service.js +78 -5
  182. package/build/service.js.map +1 -0
  183. package/build/testHub/utils.d.ts.map +1 -1
  184. package/build/testHub/utils.js +1 -0
  185. package/build/testHub/utils.js.map +1 -0
  186. package/build/testOps/featureStats.js +1 -0
  187. package/build/testOps/featureStats.js.map +1 -0
  188. package/build/testOps/featureUsage.js +1 -0
  189. package/build/testOps/featureUsage.js.map +1 -0
  190. package/build/testOps/listener.js +1 -0
  191. package/build/testOps/listener.js.map +1 -0
  192. package/build/testOps/requestUtils.js +1 -0
  193. package/build/testOps/requestUtils.js.map +1 -0
  194. package/build/testOps/testOpsConfig.js +1 -0
  195. package/build/testOps/testOpsConfig.js.map +1 -0
  196. package/build/testOps/usageStats.js +1 -0
  197. package/build/testOps/usageStats.js.map +1 -0
  198. package/build/testorchestration/apply-orchestration.d.ts +7 -0
  199. package/build/testorchestration/apply-orchestration.d.ts.map +1 -0
  200. package/build/testorchestration/apply-orchestration.js +43 -0
  201. package/build/testorchestration/apply-orchestration.js.map +1 -0
  202. package/build/testorchestration/helpers.d.ts +20 -0
  203. package/build/testorchestration/helpers.d.ts.map +1 -0
  204. package/build/testorchestration/helpers.js +413 -0
  205. package/build/testorchestration/helpers.js.map +1 -0
  206. package/build/testorchestration/request-utils.d.ts +23 -0
  207. package/build/testorchestration/request-utils.d.ts.map +1 -0
  208. package/build/testorchestration/request-utils.js +82 -0
  209. package/build/testorchestration/request-utils.js.map +1 -0
  210. package/build/testorchestration/test-ordering-server.d.ts +33 -0
  211. package/build/testorchestration/test-ordering-server.d.ts.map +1 -0
  212. package/build/testorchestration/test-ordering-server.js +169 -0
  213. package/build/testorchestration/test-ordering-server.js.map +1 -0
  214. package/build/testorchestration/testorcherstrationhandler.d.ts +50 -0
  215. package/build/testorchestration/testorcherstrationhandler.d.ts.map +1 -0
  216. package/build/testorchestration/testorcherstrationhandler.js +134 -0
  217. package/build/testorchestration/testorcherstrationhandler.js.map +1 -0
  218. package/build/testorchestration/testorcherstrationutils.d.ts +86 -0
  219. package/build/testorchestration/testorcherstrationutils.d.ts.map +1 -0
  220. package/build/testorchestration/testorcherstrationutils.js +380 -0
  221. package/build/testorchestration/testorcherstrationutils.js.map +1 -0
  222. package/build/types.d.ts +21 -0
  223. package/build/types.d.ts.map +1 -1
  224. package/build/types.js +1 -0
  225. package/build/types.js.map +1 -0
  226. package/build/util.d.ts +30 -1
  227. package/build/util.d.ts.map +1 -1
  228. package/build/util.js +103 -4
  229. package/build/util.js.map +1 -0
  230. package/package.json +46 -16
  231. package/src/proto/browserstack/sdk/v1/sdk-messages-accessibility.proto +71 -0
  232. package/src/proto/browserstack/sdk/v1/sdk-messages-ai.proto +48 -0
  233. package/src/proto/browserstack/sdk/v1/sdk-messages-observability.proto +39 -0
  234. package/src/proto/browserstack/sdk/v1/sdk-messages-percy.proto +10 -0
  235. package/src/proto/browserstack/sdk/v1/sdk-messages-testhub.proto +10 -0
  236. package/src/proto/browserstack/sdk/v1/sdk-messages.proto +276 -0
  237. package/src/proto/browserstack/sdk/v1/sdk.proto +41 -0
  238. package/tsconfig.prod.tsbuildinfo +0 -1
@@ -3,10 +3,12 @@ import util, { promisify } from 'node:util';
3
3
  import { CLIUtils } from './cliUtils.js';
4
4
  import { SDKClient, grpcCredentials, grpcChannel, StartBinSessionRequestConstructor, StopBinSessionRequestConstructor, ConnectBinSessionRequestConstructor, TestFrameworkEventRequestConstructor, TestSessionEventRequestConstructor, ExecutionContextConstructor, LogCreatedEventRequestConstructor,
5
5
  // eslint-disable-next-line camelcase
6
- LogCreatedEventRequest_LogEntryConstructor, AutomationSessionConstructor, DriverInitRequestConstructor, FetchDriverExecuteParamsEventRequestConstructor } from '@browserstack/wdio-browserstack-service';
6
+ LogCreatedEventRequest_LogEntryConstructor, AutomationSessionConstructor, DriverInitRequestConstructor, FetchDriverExecuteParamsEventRequestConstructor } from '../grpc/index.js';
7
7
  import PerformanceTester from '../instrumentation/performance/performance-tester.js';
8
- import { EVENTS as PerformanceEvents } from '../instrumentation/performance/constants.js';
8
+ import * as PERFORMANCE_SDK_EVENTS from '../instrumentation/performance/constants.js';
9
9
  import { BStackLogger } from './cliLogger.js';
10
+ // Increased from default 4 MB to accommodate large extension payloads
11
+ const GRPC_MESSAGE_LIMIT = 20 * 1024 * 1024; // 20 MB in bytes
10
12
  /**
11
13
  * GrpcClient - Singleton class for managing gRPC client connections
12
14
  *
@@ -31,6 +33,16 @@ export class GrpcClient {
31
33
  }
32
34
  return GrpcClient.#instance;
33
35
  }
36
+ /**
37
+ * Helper method to get client worker ID from execution context or current context.
38
+ * This provides a consistent way to extract worker identification across all gRPC calls.
39
+ *
40
+ * @param executionContext - Optional execution context with threadId and processId
41
+ * @returns Worker ID string in format "threadId-processId"
42
+ */
43
+ getClientWorkerIdFromContext(executionContext) {
44
+ return CLIUtils.getClientWorkerId(executionContext);
45
+ }
34
46
  /**
35
47
  * Initialize the gRPC client connection
36
48
  * @param {string} host The gRPC server host
@@ -63,16 +75,19 @@ export class GrpcClient {
63
75
  if (!listenAddress) {
64
76
  throw new Error('Unable to determine gRPC server listen address');
65
77
  }
78
+ const channelOptions = {
79
+ 'grpc.keepalive_time_ms': 10000,
80
+ 'grpc.max_send_message_length': GRPC_MESSAGE_LIMIT,
81
+ 'grpc.max_receive_message_length': GRPC_MESSAGE_LIMIT,
82
+ };
66
83
  // Create a channel
67
- this.channel = new grpcChannel(listenAddress, grpcCredentials.createInsecure(), {
68
- 'grpc.keepalive_time_ms': 10000
69
- });
84
+ this.channel = new grpcChannel(listenAddress, grpcCredentials.createInsecure(), channelOptions);
70
85
  // Create a client using the channel
71
- this.client = new SDKClient(listenAddress, grpcCredentials.createInsecure(), {});
86
+ this.client = new SDKClient(listenAddress, grpcCredentials.createInsecure(), channelOptions);
72
87
  this.logger.info(`Connected to gRPC server at ${listenAddress}`);
73
88
  }
74
89
  async startBinSession(wdioConfig) {
75
- PerformanceTester.start(PerformanceEvents.SDK_START_BIN_SESSION);
90
+ PerformanceTester.start(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_START_BIN_SESSION);
76
91
  this.logger.debug('startBinSession: Calling startBinSession');
77
92
  try {
78
93
  if (!this.client) {
@@ -86,6 +101,7 @@ export class GrpcClient {
86
101
  ...testFrameworkDetail.version
87
102
  };
88
103
  // Create StartBinSessionRequest
104
+ const clientWorkerId = CLIUtils.getClientWorkerId();
89
105
  const request = StartBinSessionRequestConstructor.create({
90
106
  binSessionId: this.binSessionId,
91
107
  sdkLanguage: CLIUtils.getSdkLanguage(),
@@ -99,22 +115,25 @@ export class GrpcClient {
99
115
  testFramework: testFrameworkDetail.name,
100
116
  wdioConfig: wdioConfig,
101
117
  });
118
+ request.clientWorkerId = clientWorkerId;
119
+ request.platformIndex = '0'; // Default platform index for main process
120
+ this.logger.debug(`StartBinSession with clientWorkerId: ${clientWorkerId}, platformIndex: 0`);
102
121
  const startBinSessionPromise = promisify(this.client.startBinSession).bind(this.client);
103
122
  try {
104
123
  const response = await startBinSessionPromise(request);
105
124
  this.logger.info('StartBinSession successful');
106
- PerformanceTester.end(PerformanceEvents.SDK_START_BIN_SESSION);
125
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_START_BIN_SESSION);
107
126
  return response;
108
127
  }
109
128
  catch (error) {
110
129
  this.logger.error(`StartBinSession error: ${util.format(error)}`);
111
- PerformanceTester.end(PerformanceEvents.SDK_START_BIN_SESSION, false, util.format(error));
130
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_START_BIN_SESSION, false, util.format(error));
112
131
  throw error;
113
132
  }
114
133
  }
115
134
  catch (error) {
116
135
  this.logger.error(`Error in startBinSession: ${util.format(error)}`);
117
- PerformanceTester.end(PerformanceEvents.SDK_START_BIN_SESSION, false, util.format(error));
136
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_START_BIN_SESSION, false, util.format(error));
118
137
  throw error;
119
138
  }
120
139
  }
@@ -123,31 +142,34 @@ export class GrpcClient {
123
142
  * @returns {Promise<Object>} The response from the gRPC call
124
143
  */
125
144
  async connectBinSession() {
126
- PerformanceTester.start(PerformanceEvents.SDK_CONNECT_BIN_SESSION);
145
+ PerformanceTester.start(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CONNECT_BIN_SESSION);
127
146
  this.logger.debug('Connecting bin session');
128
147
  try {
129
148
  if (!this.client) {
130
149
  this.logger.info('No gRPC client not initialized.');
131
150
  }
151
+ const clientWorkerId = CLIUtils.getClientWorkerId();
132
152
  const request = ConnectBinSessionRequestConstructor.create({
133
153
  binSessionId: this.binSessionId,
134
154
  });
155
+ request.clientWorkerId = clientWorkerId;
156
+ this.logger.debug(`ConnectBinSession with clientWorkerId: ${clientWorkerId}`);
135
157
  const connectBinSessionPromise = promisify(this.client.connectBinSession).bind(this.client);
136
158
  try {
137
159
  const response = await connectBinSessionPromise(request);
138
160
  this.logger.info('ConnectBinSession successful');
139
- PerformanceTester.end(PerformanceEvents.SDK_CONNECT_BIN_SESSION);
161
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CONNECT_BIN_SESSION);
140
162
  return response;
141
163
  }
142
164
  catch (error) {
143
165
  const errorMessage = util.format(error);
144
166
  this.logger.error(`ConnectBinSession error: ${errorMessage}`);
145
- PerformanceTester.end(PerformanceEvents.SDK_CONNECT_BIN_SESSION, false, errorMessage);
167
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CONNECT_BIN_SESSION, false, errorMessage);
146
168
  throw error;
147
169
  }
148
170
  }
149
171
  catch (error) {
150
- PerformanceTester.end(PerformanceEvents.SDK_CONNECT_BIN_SESSION, false, util.format(error));
172
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CONNECT_BIN_SESSION, false, util.format(error));
151
173
  this.logger.error(`Error in connectBinSession: ${util.format(error)}`);
152
174
  throw error;
153
175
  }
@@ -158,7 +180,7 @@ export class GrpcClient {
158
180
  * @private
159
181
  */
160
182
  async stopBinSession() {
161
- PerformanceTester.start(PerformanceEvents.SDK_CLI_ON_STOP);
183
+ PerformanceTester.start(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CLI_ON_STOP);
162
184
  this.logger.debug('Stopping bin session');
163
185
  try {
164
186
  if (!this.binSessionId) {
@@ -167,34 +189,41 @@ export class GrpcClient {
167
189
  if (!this.client) {
168
190
  this.logger.info('No gRPC client not initialized.');
169
191
  }
192
+ const clientWorkerId = CLIUtils.getClientWorkerId();
170
193
  const request = StopBinSessionRequestConstructor.create({
171
194
  binSessionId: this.binSessionId
172
195
  });
196
+ request.clientWorkerId = clientWorkerId;
197
+ this.logger.debug(`StopBinSession with clientWorkerId: ${clientWorkerId}`);
173
198
  // Get response from gRPC call
174
199
  const stopBinSessionPromise = promisify(this.client.stopBinSession).bind(this.client);
175
200
  try {
176
201
  const response = await stopBinSessionPromise(request);
177
202
  this.logger.info('StopBinSession successful');
178
- PerformanceTester.end(PerformanceEvents.SDK_CLI_ON_STOP);
203
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CLI_ON_STOP);
179
204
  return response;
180
205
  }
181
206
  catch (error) {
182
207
  const errorMessage = util.format(error);
183
208
  this.logger.error(`StopBinSession error: ${errorMessage}`);
184
- PerformanceTester.end(PerformanceEvents.SDK_CLI_ON_STOP, false, errorMessage);
209
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CLI_ON_STOP, false, errorMessage);
185
210
  throw error;
186
211
  }
187
212
  }
188
213
  catch (error) {
189
- PerformanceTester.end(PerformanceEvents.SDK_CLI_ON_STOP, false, util.format(error));
214
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.EVENTS.SDK_CLI_ON_STOP, false, util.format(error));
190
215
  this.logger.error(`Error in stopBinSession: ${util.format(error)}`);
191
216
  }
192
217
  }
193
218
  async testSessionEvent(data) {
194
- this.logger.info('Sending TestSessionEvent');
219
+ PerformanceTester.start(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.TEST_SESSION);
220
+ const workerId = this.getClientWorkerIdFromContext(data.executionContext);
221
+ this.logger.info(`Sending TestSessionEvent for worker: ${workerId}`);
195
222
  try {
196
223
  if (!this.client) {
197
224
  this.logger.info('No gRPC client not initialized.');
225
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.TEST_SESSION, false, 'gRPC client not initialized');
226
+ return;
198
227
  }
199
228
  const { platformIndex, testFrameworkName, testFrameworkVersion, testFrameworkState, testHookState, testUuid, automationSessions, capabilities, executionContext } = data;
200
229
  const sessions = automationSessions.map((automationSession) => {
@@ -224,20 +253,24 @@ export class GrpcClient {
224
253
  automationSessions: sessions,
225
254
  executionContext: executionContextBuilder,
226
255
  });
256
+ request.clientWorkerId = workerId;
227
257
  const testSessionEventPromise = promisify(this.client.testSessionEvent).bind(this.client);
228
258
  try {
229
259
  const response = await testSessionEventPromise(request);
230
- this.logger.info('testSessionEvent successful');
260
+ this.logger.info(`testSessionEvent successful for worker: ${workerId}`);
261
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.TEST_SESSION);
231
262
  return response;
232
263
  }
233
264
  catch (error) {
234
265
  const errorMessage = util.format(error);
235
266
  this.logger.error(`testSessionEvent error: ${errorMessage}`);
267
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.TEST_SESSION, false, errorMessage);
236
268
  throw error;
237
269
  }
238
270
  }
239
271
  catch (error) {
240
272
  this.logger.error(`Error in TestSessionEvent: ${util.format(error)}`);
273
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.TEST_SESSION, false, util.format(error));
241
274
  throw error;
242
275
  }
243
276
  }
@@ -246,10 +279,16 @@ export class GrpcClient {
246
279
  * Send TestFrameworkEvent
247
280
  */
248
281
  async testFrameworkEvent(data) {
249
- this.logger.info('Sending TestFrameworkEvent');
282
+ // Generate unique event ID per call to avoid timing conflicts
283
+ const uniqueEventId = `${PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.TEST_FRAMEWORK}-${Date.now()}-${Math.random().toString(36).substring(7)}`;
284
+ PerformanceTester.start(uniqueEventId);
285
+ const workerId = this.getClientWorkerIdFromContext(data.executionContext);
286
+ this.logger.info(`Sending TestFrameworkEvent for worker: ${workerId}`);
250
287
  try {
251
288
  if (!this.client) {
252
289
  this.logger.info('No gRPC client not initialized.');
290
+ PerformanceTester.end(uniqueEventId, false, 'gRPC client not initialized');
291
+ return;
253
292
  }
254
293
  const { platformIndex, testFrameworkName, testFrameworkVersion, testFrameworkState, testHookState, startedAt, endedAt, uuid, eventJson, executionContext } = data;
255
294
  const executionContextBuilder = ExecutionContextConstructor.create({
@@ -270,20 +309,30 @@ export class GrpcClient {
270
309
  eventJson: eventJson,
271
310
  executionContext: executionContextBuilder,
272
311
  });
312
+ request.clientWorkerId = workerId;
273
313
  const testFrameworkEventPromise = promisify(this.client.testFrameworkEvent).bind(this.client);
274
314
  try {
275
315
  const response = await testFrameworkEventPromise(request);
276
- this.logger.info('testFrameworkEvent successful');
316
+ this.logger.info(`testFrameworkEvent successful for worker: ${workerId}`);
317
+ // End with additional context for debugging
318
+ PerformanceTester.end(uniqueEventId, true, undefined, {
319
+ testState: testFrameworkState,
320
+ hookState: testHookState,
321
+ uuid: uuid,
322
+ worker: workerId
323
+ });
277
324
  return response;
278
325
  }
279
326
  catch (error) {
280
327
  const errorMessage = util.format(error);
281
328
  this.logger.error(`testFrameworkEvent error: ${errorMessage}`);
329
+ PerformanceTester.end(uniqueEventId, false, errorMessage);
282
330
  throw error;
283
331
  }
284
332
  }
285
333
  catch (error) {
286
334
  this.logger.error(`Error in TestFrameworkEvent: ${util.format(error)}`);
335
+ PerformanceTester.end(uniqueEventId, false, util.format(error));
287
336
  throw error;
288
337
  }
289
338
  }
@@ -298,12 +347,16 @@ export class GrpcClient {
298
347
  this.logger.info('No gRPC client not initialized.');
299
348
  }
300
349
  const { platformIndex, ref, userInputParams } = data;
350
+ const clientWorkerId = CLIUtils.getClientWorkerId();
301
351
  const request = DriverInitRequestConstructor.create({
302
352
  binSessionId: this.binSessionId,
303
353
  platformIndex: platformIndex,
304
354
  ref: ref,
305
355
  userInputParams: userInputParams,
306
356
  });
357
+ // Add clientWorkerId to request (proto field 500)
358
+ request.clientWorkerId = clientWorkerId;
359
+ this.logger.debug(`DriverInitEvent with clientWorkerId: ${clientWorkerId}`);
307
360
  const driverInitEventPromise = promisify(this.client.driverInit).bind(this.client);
308
361
  try {
309
362
  const response = await driverInitEventPromise(request);
@@ -322,12 +375,16 @@ export class GrpcClient {
322
375
  }
323
376
  }
324
377
  async logCreatedEvent(data) {
378
+ PerformanceTester.start(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.LOG_CREATED);
325
379
  this.logger.info('Sending LogCreatedEvent');
326
380
  try {
327
381
  if (!this.client) {
328
382
  this.logger.info('No gRPC client not initialized.');
383
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.LOG_CREATED, false, 'gRPC client not initialized');
384
+ return;
329
385
  }
330
386
  const { platformIndex, logs, executionContext } = data;
387
+ const clientWorkerId = this.getClientWorkerIdFromContext(executionContext);
331
388
  const executionContextBuilder = ExecutionContextConstructor.create({
332
389
  processId: executionContext?.processId,
333
390
  threadId: executionContext?.threadId,
@@ -355,21 +412,26 @@ export class GrpcClient {
355
412
  logs: logEntries,
356
413
  executionContext: executionContextBuilder,
357
414
  });
415
+ request.clientWorkerId = clientWorkerId;
416
+ this.logger.debug(`LogCreatedEvent with clientWorkerId: ${clientWorkerId}`);
358
417
  const logCreatedEventPromise = promisify(this.client.logCreatedEvent).bind(this.client);
359
418
  try {
360
419
  this.logger.debug('logCreatedEvent payload:' + JSON.stringify(request));
361
420
  const response = await logCreatedEventPromise(request);
362
421
  this.logger.info('logCreatedEvent successful');
422
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.LOG_CREATED);
363
423
  return response;
364
424
  }
365
425
  catch (error) {
366
426
  const errorMessage = util.format(error);
367
427
  this.logger.error(`logCreatedEvent error: ${errorMessage}`);
428
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.LOG_CREATED, false, errorMessage);
368
429
  throw error;
369
430
  }
370
431
  }
371
432
  catch (error) {
372
433
  this.logger.error(`Error in LogCreatedEvent: ${util.format(error)}`);
434
+ PerformanceTester.end(PERFORMANCE_SDK_EVENTS.DISPATCHER_EVENTS.LOG_CREATED, false, util.format(error));
373
435
  throw error;
374
436
  }
375
437
  }
@@ -380,11 +442,16 @@ export class GrpcClient {
380
442
  this.logger.info('No gRPC client not initialized.');
381
443
  }
382
444
  const { product, scriptName } = data;
445
+ const platformIndex = data.platformIndex || '0'; // Extract platformIndex if provided
446
+ const clientWorkerId = CLIUtils.getClientWorkerId();
383
447
  const request = FetchDriverExecuteParamsEventRequestConstructor.create({
384
448
  binSessionId: this.binSessionId,
385
449
  product: product,
386
450
  scriptName: scriptName,
387
451
  });
452
+ request.clientWorkerId = clientWorkerId;
453
+ request.platformIndex = platformIndex;
454
+ this.logger.debug(`FetchDriverExecuteParamsEvent with clientWorkerId: ${clientWorkerId}, platformIndex: ${platformIndex}`);
388
455
  const fetchDriverExecuteParamsEventPromise = promisify(this.client.fetchDriverExecuteParamsEvent).bind(this.client);
389
456
  try {
390
457
  const response = await fetchDriverExecuteParamsEventPromise(request);
@@ -402,6 +469,51 @@ export class GrpcClient {
402
469
  throw error;
403
470
  }
404
471
  }
472
+ /**
473
+ * Send TestOrchestration request to get ordered test files
474
+ * @param {string[]} testFiles - Array of test file paths
475
+ * @param {string} orchestrationStrategy - The orchestration strategy to use
476
+ * @param {string} orchestrationMetadata - Additional metadata for orchestration
477
+ * @returns {Promise<string[]|null>} Array of ordered test files or null if failed
478
+ */
479
+ async testOrchestrationSession(testFiles, orchestrationStrategy, orchestrationMetadata) {
480
+ try {
481
+ if (!this.client) {
482
+ this.logger.error('gRPC client is not initialized. Cannot perform test orchestration.');
483
+ return null;
484
+ }
485
+ if (!this.binSessionId) {
486
+ this.logger.error('binSessionId is not available. Cannot perform test orchestration.');
487
+ return null;
488
+ }
489
+ // Create TestOrchestrationRequest
490
+ const request = {
491
+ binSessionId: this.binSessionId,
492
+ orchestrationStrategy: orchestrationStrategy,
493
+ testFiles: testFiles,
494
+ orchestrationMetadata: orchestrationMetadata
495
+ };
496
+ const testOrchestrationPromise = promisify(this.client.testOrchestration).bind(this.client);
497
+ try {
498
+ const response = await testOrchestrationPromise(request);
499
+ this.logger.debug(`test-orchestration-session=${JSON.stringify(response)}`);
500
+ if (response.success) {
501
+ return Array.from(response.orderedTestFiles || []);
502
+ }
503
+ this.logger.warn('Test orchestration was not successful');
504
+ return null;
505
+ }
506
+ catch (error) {
507
+ const errorMessage = util.format(error);
508
+ this.logger.error(`TestOrchestration error: ${errorMessage}`);
509
+ throw error;
510
+ }
511
+ }
512
+ catch (error) {
513
+ this.logger.error(`Error in testOrchestrationSession: ${util.format(error)}`);
514
+ return null;
515
+ }
516
+ }
405
517
  /**
406
518
  * Get the gRPC channel
407
519
  * @returns {grpc.Channel} The gRPC channel
@@ -417,3 +529,4 @@ export class GrpcClient {
417
529
  return this.channel;
418
530
  }
419
531
  }
532
+ //# sourceMappingURL=grpcClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grpcClient.js","sourceRoot":"","sources":["../../src/cli/grpcClient.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAE3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EACH,SAAS,EACT,eAAe,EACf,WAAW,EACX,iCAAiC,EACjC,gCAAgC,EAChC,mCAAmC,EACnC,oCAAoC,EACpC,kCAAkC,EAClC,2BAA2B,EAC3B,iCAAiC;AACjC,qCAAqC;AACrC,0CAA0C,EAC1C,4BAA4B,EAC5B,4BAA4B,EAC5B,+CAA+C,EAClD,MAAM,kBAAkB,CAAA;AAuBzB,OAAO,iBAAiB,MAAM,sDAAsD,CAAA;AACpF,OAAO,KAAK,sBAAsB,MAAM,6CAA6C,CAAA;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,sEAAsE;AACtE,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA,CAAC,iBAAiB;AAE7D;;;;;GAKG;AACH,MAAM,OAAO,UAAU;IACnB,MAAM,CAAC,SAAS,GAAoB,IAAI,CAAA;IAExC,YAAY,CAAkB;IAC9B,aAAa,CAAkB;IAC/B,OAAO,GAAa,IAAI,CAAA;IACxB,MAAM,GAAqB,IAAI,CAAA;IAC/B,MAAM,GAAG,YAAY,CAAA;IAErB,gBAAe,CAAC;IAEhB;;;OAGG;IACH,MAAM,CAAC,WAAW;QACd,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YACxB,UAAU,CAAC,SAAS,GAAG,IAAI,UAAU,EAAE,CAAA;QAC3C,CAAC;QACD,OAAO,UAAU,CAAC,SAAS,CAAA;IAC/B,CAAC;IAED;;;;;;OAMG;IACK,4BAA4B,CAAC,gBAA4D;QAC7F,OAAO,QAAQ,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;IACvD,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,MAA8B;QAC/B,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;QAC7B,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,8DAA8D,EAAE,gBAAgB,MAAM,EAAE,CAAC,CAAA;QAC7G,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;QACtB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAA;QAC3B,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,IAAI,CAAC,YAAY,CAAA;QAC/D,OAAO,CAAC,GAAG,CAAC,gCAAgC,GAAG,IAAI,CAAC,aAAa,CAAA;QACjE,IAAI,CAAC,OAAO,EAAE,CAAA;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD,IAAI,CAAC,YAAY,wBAAwB,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;IACnI,CAAC;IAED;;;OAGG;IACH,OAAO;QACH,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;QAEtC,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAA;QAChE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAA;QACxF,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACrE,CAAC;QAED,MAAM,cAAc,GAAG;YACnB,wBAAwB,EAAE,KAAK;YAC/B,8BAA8B,EAAE,kBAAkB;YAClD,iCAAiC,EAAE,kBAAkB;SACxD,CAAA;QAED,mBAAmB;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,WAAW,CAC1B,aAAa,EACb,eAAe,CAAC,cAAc,EAAE,EAChC,cAAc,CACjB,CAAA;QAED,oCAAoC;QACpC,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CACvB,aAAa,EACb,eAAe,CAAC,cAAc,EAAE,EAChC,cAAc,CACjB,CAAA;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,aAAa,EAAE,CAAC,CAAA;IACpE,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB;QACpC,iBAAiB,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAA;QAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAE7D,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;YACvD,CAAC;YAED,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAA;YAC/C,MAAM,yBAAyB,GAAG,QAAQ,CAAC,4BAA4B,EAAE,CAAA;YACzE,MAAM,mBAAmB,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAA;YAC7D,MAAM,iBAAiB,GAAG;gBACtB,GAAG,yBAAyB,CAAC,OAAO;gBACpC,GAAG,mBAAmB,CAAC,OAAO;aACjC,CAAA;YAED,gCAAgC;YAChC,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAA;YACnD,MAAM,OAAO,GAAG,iCAAiC,CAAC,MAAM,CAAC;gBACrD,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,WAAW,EAAE,QAAQ,CAAC,cAAc,EAAE;gBACtC,UAAU,EAAE,cAAc;gBAC1B,WAAW,EAAE,OAAO,CAAC,GAAG,EAAE;gBAC1B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC;gBAC3D,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC9B,UAAU,EAAE,CAAC,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC;gBACtE,iBAAiB;gBACjB,QAAQ,EAAE,QAAQ,CAAC,cAAc,EAAE;gBACnC,aAAa,EAAE,mBAAmB,CAAC,IAAI;gBACvC,UAAU,EAAE,UAAU;aACzB,CAAC,CAED;YAAC,OAAe,CAAC,cAAc,GAAG,cAAc,CAChD;YAAC,OAAe,CAAC,aAAa,GAAG,GAAG,CAAA,CAAC,0CAA0C;YAChF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,cAAc,oBAAoB,CAAC,CAAA;YAE7F,MAAM,sBAAsB,GAAG,SAAS,CAAC,IAAI,CAAC,MAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAO,CAAuE,CAAA;YAC/J,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAA;gBACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;gBAC9C,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAA;gBAC1E,OAAO,QAAQ,CAAA;YACnB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBACjE,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;gBACrG,MAAM,KAAK,CAAA;YACf,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACpE,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YACrG,MAAM,KAAK,CAAA;QACf,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB;QACnB,iBAAiB,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;QAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;QAE3C,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;YACvD,CAAC;YAED,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAA;YACnD,MAAM,OAAO,GAAG,mCAAmC,CAAC,MAAM,CAAC;gBACvD,YAAY,EAAE,IAAI,CAAC,YAAY;aAClC,CAAC,CAED;YAAC,OAAe,CAAC,cAAc,GAAG,cAAc,CAAA;YACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,cAAc,EAAE,CAAC,CAAA;YAE7E,MAAM,wBAAwB,GAAG,SAAS,CAAC,IAAI,CAAC,MAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAO,CAA2E,CAAA;YACvK,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAI,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAA;gBACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;gBAChD,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAA;gBAC5E,OAAO,QAAQ,CAAA;YACnB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAA;gBAC7D,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,uBAAuB,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;gBACjG,MAAM,KAAK,CAAA;YACf,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,uBAAuB,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YACvG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACtE,MAAM,KAAK,CAAA;QACf,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc;QAChB,iBAAiB,CAAC,KAAK,CAAC,sBAAsB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;QACtE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;QAEzC,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;YAC3C,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;YACvD,CAAC;YAED,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAA;YACnD,MAAM,OAAO,GAAG,gCAAgC,CAAC,MAAM,CAAC;gBACpD,YAAY,EAAE,IAAI,CAAC,YAAY;aAClC,CAAC,CAED;YAAC,OAAe,CAAC,cAAc,GAAG,cAAc,CAAA;YACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,cAAc,EAAE,CAAC,CAAA;YAE1E,8BAA8B;YAC9B,MAAM,qBAAqB,GAAG,SAAS,CAAC,IAAI,CAAC,MAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAO,CAAC,CAAA;YACvF,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,CAAA;gBACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;gBAC7C,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;gBACpE,OAAO,QAAQ,CAAA;YACnB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAA;gBAC1D,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;gBACzF,MAAM,KAAK,CAAA;YACf,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACvE,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAmD;QACtE,iBAAiB,CAAC,KAAK,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAA;QAEpE,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;gBACnD,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,EAAE,6BAA6B,CAAC,CAAA;gBAClH,OAAM;YACV,CAAC;YACD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;YACxK,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE;gBAC1D,OAAO,4BAA4B,CAAC,MAAM,CAAC;oBACvC,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;oBACpC,aAAa,EAAE,iBAAiB,CAAC,aAAa;oBAC9C,gBAAgB,EAAE,iBAAiB,CAAC,gBAAgB;oBACpD,kBAAkB,EAAE,iBAAiB,CAAC,kBAAkB;oBACxD,GAAG,EAAE,iBAAiB,CAAC,GAAG;oBAC1B,MAAM,EAAE,iBAAiB,CAAC,MAAM;iBACnC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;YACF,MAAM,uBAAuB,GAAG,2BAA2B,CAAC,MAAM,CAAC;gBAC/D,SAAS,EAAE,gBAAgB,EAAE,SAAS;gBACtC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ;gBACpC,IAAI,EAAE,gBAAgB,EAAE,IAAI;aAC/B,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,kCAAkC,CAAC,MAAM,CAAC;gBACtD,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,aAAa,EAAE,aAAa;gBAC5B,iBAAiB,EAAE,iBAAiB;gBACpC,oBAAoB,EAAE,oBAAoB;gBAC1C,kBAAkB,EAAE,kBAAkB;gBACtC,aAAa,EAAE,aAAa;gBAC5B,QAAQ,EAAE,QAAQ;gBAClB,YAAY,EAAE,YAAY;gBAC1B,kBAAkB,EAAE,QAAQ;gBAC5B,gBAAgB,EAAE,uBAAuB;aAC5C,CAAC,CAED;YAAC,OAAe,CAAC,cAAc,GAAG,QAAQ,CAAA;YAE3C,MAAM,uBAAuB,GAAG,SAAS,CAAC,IAAI,CAAC,MAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAO,CAAyE,CAAA;YACnK,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAA;gBACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,QAAQ,EAAE,CAAC,CAAA;gBACvE,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;gBAC5E,OAAO,QAAQ,CAAA;YACnB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,YAAY,EAAE,CAAC,CAAA;gBAC5D,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;gBACjG,MAAM,KAAK,CAAA;YACf,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACrE,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YACvG,MAAM,KAAK,CAAA;QACf,CAAC;IACL,CAAC;IAED;;;OAGG;IAEH,KAAK,CAAC,kBAAkB,CAAC,IAAqD;QAC1E,8DAA8D;QAC9D,MAAM,aAAa,GAAG,GAAG,sBAAsB,CAAC,iBAAiB,CAAC,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;QAC3I,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAA;QAEtE,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;gBACnD,iBAAiB,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,6BAA6B,CAAC,CAAA;gBAC1E,OAAM;YACV,CAAC;YACD,MAAM,EAAE,aAAa,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;YACjK,MAAM,uBAAuB,GAAG,2BAA2B,CAAC,MAAM,CAAC;gBAC/D,SAAS,EAAE,gBAAgB,EAAE,SAAS;gBACtC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ;gBACpC,IAAI,EAAE,gBAAgB,EAAE,IAAI;aAC/B,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,oCAAoC,CAAC,MAAM,CAAC;gBACxD,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,aAAa,EAAE,aAAa;gBAC5B,iBAAiB,EAAE,iBAAiB;gBACpC,oBAAoB,EAAE,oBAAoB;gBAC1C,kBAAkB,EAAE,kBAAkB;gBACtC,aAAa,EAAE,aAAa;gBAC5B,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,SAAS;gBACpB,gBAAgB,EAAE,uBAAuB;aAC5C,CAAC,CAED;YAAC,OAAe,CAAC,cAAc,GAAG,QAAQ,CAAA;YAE3C,MAAM,yBAAyB,GAAG,SAAS,CAAC,IAAI,CAAC,MAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAO,CAA6E,CAAA;YAC3K,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAA;gBACzD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,QAAQ,EAAE,CAAC,CAAA;gBAEzE,4CAA4C;gBAC5C,iBAAiB,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;oBAClD,SAAS,EAAE,kBAAkB;oBAC7B,SAAS,EAAE,aAAa;oBACxB,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,QAAQ;iBACnB,CAAC,CAAA;gBACF,OAAO,QAAQ,CAAA;YACnB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,YAAY,EAAE,CAAC,CAAA;gBAC9D,iBAAiB,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;gBACzD,MAAM,KAAK,CAAA;YACf,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACvE,iBAAiB,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/D,MAAM,KAAK,CAAA;QACf,CAAC;IACL,CAAC;IAED;;;OAGG;IAEH,KAAK,CAAC,eAAe,CAAC,IAA6C;QAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QAC3C,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;YACvD,CAAC;YACD,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,IAAI,CAAA;YACpD,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAA;YACnD,MAAM,OAAO,GAAG,4BAA4B,CAAC,MAAM,CAAC;gBAChD,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,aAAa,EAAE,aAAa;gBAC5B,GAAG,EAAE,GAAG;gBACR,eAAe,EAAE,eAAe;aACnC,CAAC,CAAC;YACH,kDAAkD;YACjD,OAAe,CAAC,cAAc,GAAG,cAAc,CAAA;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,cAAc,EAAE,CAAC,CAAA;YAE3E,MAAM,sBAAsB,GAAG,SAAS,CAAC,IAAI,CAAC,MAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAO,CAA6D,CAAA;YAChJ,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAA;gBACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;gBAC9C,OAAO,QAAQ,CAAA;YACnB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAA;gBAC3D,MAAM,KAAK,CAAA;YACf,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACpE,MAAM,KAAK,CAAA;QACf,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAkD;QACpE,iBAAiB,CAAC,KAAK,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;QAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QAC3C,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;gBACnD,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,EAAE,6BAA6B,CAAC,CAAA;gBACjH,OAAM;YACV,CAAC;YACD,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAA;YACtD,MAAM,cAAc,GAAG,IAAI,CAAC,4BAA4B,CAAC,gBAAgB,CAAC,CAAA;YAC1E,MAAM,uBAAuB,GAAG,2BAA2B,CAAC,MAAM,CAAC;gBAC/D,SAAS,EAAE,gBAAgB,EAAE,SAAS;gBACtC,QAAQ,EAAE,gBAAgB,EAAE,QAAQ;gBACpC,IAAI,EAAE,gBAAgB,EAAE,IAAI;aAC/B,CAAC,CAAA;YACF,qCAAqC;YACrC,MAAM,UAAU,GAAe,EAAE,CAAA;YACjC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACrB,qCAAqC;gBACrC,MAAM,QAAQ,GAAG,0CAA0C,CAAC,MAAM,CAAC;oBAC/D,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;oBACxC,oBAAoB,EAAE,GAAG,CAAC,oBAAoB;oBAC9C,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;oBAC1C,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,KAAK,EAAE,GAAG,CAAC,KAAK;iBACnB,CAAC,CAAA;gBACF,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC7B,CAAC;YACD,MAAM,OAAO,GAAG,iCAAiC,CAAC,MAAM,CAAC;gBACrD,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,aAAa,EAAE,aAAa;gBAC5B,IAAI,EAAE,UAAU;gBAChB,gBAAgB,EAAE,uBAAuB;aAC5C,CAAC,CAED;YAAC,OAAe,CAAC,cAAc,GAAG,cAAc,CAAA;YACjD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,cAAc,EAAE,CAAC,CAAA;YAE3E,MAAM,sBAAsB,GAAG,SAAS,CAAC,IAAI,CAAC,MAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAO,CAAuE,CAAA;YAC/J,IAAI,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;gBACvE,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAA;gBACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAA;gBAC9C,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;gBAC3E,OAAO,QAAQ,CAAA;YACnB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAA;gBAC3D,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;gBAChG,MAAM,KAAK,CAAA;YACf,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACpE,iBAAiB,CAAC,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YACtG,MAAM,KAAK,CAAA;QACf,CAAC;IACL,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,IAAgE;QAChG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;QACzD,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAA;YACvD,CAAC;YACD,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAAA;YACpC,MAAM,aAAa,GAAI,IAAY,CAAC,aAAa,IAAI,GAAG,CAAA,CAAC,oCAAoC;YAC7F,MAAM,cAAc,GAAG,QAAQ,CAAC,iBAAiB,EAAE,CAAA;YACnD,MAAM,OAAO,GAAG,+CAA+C,CAAC,MAAM,CAAC;gBACnE,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,OAAO,EAAE,OAAO;gBAChB,UAAU,EAAE,UAAU;aACzB,CAAC,CAED;YAAC,OAAe,CAAC,cAAc,GAAG,cAAc,CAChD;YAAC,OAAe,CAAC,aAAa,GAAG,aAAa,CAAA;YAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,cAAc,oBAAoB,aAAa,EAAE,CAAC,CAAA;YAE1H,MAAM,oCAAoC,GAAG,SAAS,CAAC,IAAI,CAAC,MAAO,CAAC,6BAA6B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAO,CAAmG,CAAA;YACvN,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,oCAAoC,CAAC,OAAO,CAAC,CAAA;gBACpE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;gBAC5D,OAAO,QAAQ,CAAA;YACnB,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,YAAY,EAAE,CAAC,CAAA;gBACzE,MAAM,KAAK,CAAA;YACf,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAClF,MAAM,KAAK,CAAA;QACf,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,wBAAwB,CAAC,SAAmB,EAAE,qBAA6B,EAAE,qBAA6B;QAE5G,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAA;gBACvF,OAAO,IAAI,CAAA;YACf,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAA;gBACtF,OAAO,IAAI,CAAA;YACf,CAAC;YAED,kCAAkC;YAClC,MAAM,OAAO,GAA6B;gBACtC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,qBAAqB,EAAE,qBAAqB;gBAC5C,SAAS,EAAE,SAAS;gBACpB,qBAAqB,EAAE,qBAAqB;aAC/C,CAAA;YAED,MAAM,wBAAwB,GAAG,SAAS,CAAC,IAAI,CAAC,MAAO,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAO,CAA2E,CAAA;YAEvK,IAAI,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,OAAO,CAAC,CAAA;gBACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAE3E,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACnB,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAA;gBACtD,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;gBACzD,OAAO,IAAI,CAAA;YACf,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAA;gBAC7D,MAAM,KAAK,CAAA;YACf,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAC7E,OAAO,IAAI,CAAA;QACf,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAA;IACtB,CAAC;IAED;;;OAGG;IACH,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { BStackLogger } from './cliLogger.js';
2
2
  import type { ChildProcess } from 'node:child_process';
3
- import type { StartBinSessionResponse } from '@browserstack/wdio-browserstack-service';
3
+ import type { StartBinSessionResponse } from '../grpc/index.js';
4
4
  import type BaseModule from './modules/baseModule.js';
5
5
  import type { Options } from '@wdio/types';
6
6
  import WdioMochaTestFramework from './frameworks/wdioMochaTestFramework.js';
@@ -53,6 +53,8 @@ export declare class BrowserstackCLI {
53
53
  * @param {Object} startBinResponse - StartBinSession response
54
54
  */
55
55
  loadModules(startBinResponse: StartBinSessionResponse): void;
56
+ private logBuildStartErrors;
57
+ private parseBuildStartErrors;
56
58
  /**
57
59
  * Configure modules
58
60
  * @returns {Promise<void>}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAK7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AACtF,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAA;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,sBAAsB,MAAM,wCAAwC,CAAA;AAC3E,OAAO,uBAAuB,MAAM,yCAAyC,CAAA;AAK7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAI1E;;;;;GAKG;AACH,qBAAa,eAAe;;IAExB,MAAM,CAAC,OAAO,UAAQ;IACtB,WAAW,EAAC,OAAO,CAAA;IACnB,MAAM,EAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAC,MAAM,CAAA;IACd,kBAAkB,EAAE,OAAO,CAAC,UAAU,GAAC,EAAE,CAAA;IACzC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAO;IACnC,eAAe,UAAQ;IACvB,gBAAgB,UAAQ;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAO;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAK;IACxC,aAAa,EAAE,sBAAsB,GAAC,IAAI,CAAO;IACjD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAO;IAC/C,mBAAmB,EAAE,uBAAuB,GAAC,IAAI,CAAO;IACxD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAO;IACtC,MAAM,sBAAe;IACrB,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,GAAG,EAAE,CAAA;;IAWtD;;;OAGG;IACH,MAAM,CAAC,WAAW;IAOlB;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,SAAG;IA2B7G;;;OAGG;IACG,SAAS;IAWf;;;OAGG;IACH,WAAW,CAAC,gBAAgB,EAAE,uBAAuB;IAgDrD;;;OAGG;IACG,gBAAgB;IAUtB;;;;OAIG;IACG,KAAK;IAuEX;;;OAGG;IACG,IAAI;IA8CV;;;;OAIG;IACG,kBAAkB;IASxB;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAM5C;;;;OAIG;IACG,UAAU,CAAC,YAAY,EAAE,MAAM;IAgBrC;;;OAGG;IACH,SAAS;IAWT;;;OAGG;IACH,qBAAqB;IAIrB;;;;OAIG;IACH,qBAAqB,CAAC,kBAAkB,EAAC,OAAO,CAAC,UAAU;IAI3D;;;OAGG;IACG,aAAa;IAOnB;;;OAGG;IACH,YAAY;IAIZ;;;OAGG;IACH,SAAS;IAIT;;;;MAIE;IACF,SAAS,CAAC,QAAQ,EAAE,uBAAuB;IAS3C;;;OAGG;IACH,kBAAkB;IAOlB;;;OAGG;IACH,wBAAwB;IAOxB;;;OAGG;IACH,gBAAgB;IAIhB;;;OAGG;IACH,sBAAsB;CAGzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAK7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAA;AAErD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,sBAAsB,MAAM,wCAAwC,CAAA;AAC3E,OAAO,uBAAuB,MAAM,yCAAyC,CAAA;AAK7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAI1E;;;;;GAKG;AACH,qBAAa,eAAe;;IAExB,MAAM,CAAC,OAAO,UAAQ;IACtB,WAAW,EAAC,OAAO,CAAA;IACnB,MAAM,EAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAC,MAAM,CAAA;IACd,kBAAkB,EAAE,OAAO,CAAC,UAAU,GAAC,EAAE,CAAA;IACzC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAO;IACnC,eAAe,UAAQ;IACvB,gBAAgB,UAAQ;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAO;IAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAK;IACxC,aAAa,EAAE,sBAAsB,GAAC,IAAI,CAAO;IACjD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAO;IAC/C,mBAAmB,EAAE,uBAAuB,GAAC,IAAI,CAAO;IACxD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAO;IACtC,MAAM,sBAAe;IACrB,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,GAAG,EAAE,CAAA;;IAWtD;;;OAGG;IACH,MAAM,CAAC,WAAW;IAOlB;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,kBAAkB,GAAG,mBAAmB,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,SAAG;IA2B7G;;;OAGG;IACG,SAAS;IAWf;;;OAGG;IACH,WAAW,CAAC,gBAAgB,EAAE,uBAAuB;IAiDrD,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,qBAAqB;IA4B7B;;;OAGG;IACG,gBAAgB;IAUtB;;;;OAIG;IACG,KAAK;IAkEX;;;OAGG;IACG,IAAI;IA8CV;;;;OAIG;IACG,kBAAkB;IASxB;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAM5C;;;;OAIG;IACG,UAAU,CAAC,YAAY,EAAE,MAAM;IAgBrC;;;OAGG;IACH,SAAS;IAWT;;;OAGG;IACH,qBAAqB;IAIrB;;;;OAIG;IACH,qBAAqB,CAAC,kBAAkB,EAAC,OAAO,CAAC,UAAU;IAI3D;;;OAGG;IACG,aAAa;IAOnB;;;OAGG;IACH,YAAY;IAIZ;;;OAGG;IACH,SAAS;IAIT;;;;MAIE;IACF,SAAS,CAAC,QAAQ,EAAE,uBAAuB;IAS3C;;;OAGG;IACH,kBAAkB;IAOlB;;;OAGG;IACH,wBAAwB;IAOxB;;;OAGG;IACH,gBAAgB;IAIhB;;;OAGG;IACH,sBAAsB;CAGzB"}
@@ -117,6 +117,7 @@ export class BrowserstackCLI {
117
117
  this.modules[WebdriverIOModule.MODULE_NAME] = new WebdriverIOModule();
118
118
  this.modules[AutomateModule.MODULE_NAME] = new AutomateModule(this.browserstackConfig);
119
119
  if (startBinResponse.testhub) {
120
+ this.logBuildStartErrors(startBinResponse.testhub);
120
121
  process.env[TESTOPS_BUILD_COMPLETED_ENV] = 'true';
121
122
  if (startBinResponse.testhub.jwt) {
122
123
  process.env[BROWSERSTACK_TESTHUB_JWT] = startBinResponse.testhub.jwt;
@@ -146,6 +147,57 @@ export class BrowserstackCLI {
146
147
  }
147
148
  this.configureModules();
148
149
  }
150
+ logBuildStartErrors(testhub) {
151
+ if (process.env.WDIO_WORKER_ID) {
152
+ return;
153
+ }
154
+ try {
155
+ const rawErrors = testhub?.errors;
156
+ const parsedErrors = this.parseBuildStartErrors(rawErrors);
157
+ for (const [errorKey, errorDetails] of Object.entries(parsedErrors)) {
158
+ const errorMessage = errorDetails?.message;
159
+ if (!errorMessage) {
160
+ continue;
161
+ }
162
+ const formattedMessage = `[Build] ${errorKey}: ${errorMessage}`;
163
+ if (errorDetails.type === 'info') {
164
+ BStackLogger.info(formattedMessage);
165
+ }
166
+ else if (errorDetails.type === 'warn') {
167
+ BStackLogger.warn(formattedMessage);
168
+ }
169
+ else {
170
+ BStackLogger.error(formattedMessage);
171
+ }
172
+ }
173
+ }
174
+ catch (error) {
175
+ BStackLogger.debug(`Failed to log build-start errors: ${util.format(error)}`);
176
+ }
177
+ }
178
+ parseBuildStartErrors(rawErrors) {
179
+ if (!rawErrors) {
180
+ return {};
181
+ }
182
+ try {
183
+ if (typeof rawErrors === 'string') {
184
+ return JSON.parse(rawErrors);
185
+ }
186
+ if (Buffer.isBuffer(rawErrors)) {
187
+ return JSON.parse(rawErrors.toString('utf8'));
188
+ }
189
+ if (rawErrors instanceof Uint8Array) {
190
+ return JSON.parse(Buffer.from(rawErrors).toString('utf8'));
191
+ }
192
+ if (typeof rawErrors === 'object') {
193
+ return rawErrors;
194
+ }
195
+ }
196
+ catch (error) {
197
+ BStackLogger.debug(`Failed to parse build-start errors from CLI response: ${util.format(error)}`);
198
+ }
199
+ return {};
200
+ }
149
201
  /**
150
202
  * Configure modules
151
203
  * @returns {Promise<void>}
@@ -183,10 +235,6 @@ export class BrowserstackCLI {
183
235
  this.process = spawn(cmd[0], cmd.slice(1), {
184
236
  env: process.env
185
237
  });
186
- // Check if process started successfully
187
- if (!this.process.pid) {
188
- throw new Error('failed to start CLI, no PID found');
189
- }
190
238
  // Return a promise that resolves when CLI is ready
191
239
  return new Promise((resolve, reject) => {
192
240
  const cliOut = {};
@@ -413,3 +461,4 @@ export class BrowserstackCLI {
413
461
  return this.automationFramework;
414
462
  }
415
463
  }
464
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -42,3 +42,4 @@ export default class AutomationFrameworkInstance extends TrackedInstance {
42
42
  this.state = state;
43
43
  }
44
44
  }
45
+ //# sourceMappingURL=automationFrameworkInstance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automationFrameworkInstance.js","sourceRoot":"","sources":["../../../src/cli/instances/automationFrameworkInstance.ts"],"names":[],"mappings":"AAEA,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAElD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,2BAA4B,SAAQ,eAAe;IACpE,aAAa,CAAQ;IACrB,gBAAgB,CAAQ;IACxB,KAAK,CAAO;IAEZ,YAAY,OAAuB,EAAE,aAAqB,EAAE,gBAAwB,EAAE,KAAY;QAC9F,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAED;;;KAGC;IACD,gBAAgB;QACZ,OAAO,IAAI,CAAC,aAAa,CAAA;IAC7B,CAAC;IAED;;;KAGC;IACD,mBAAmB;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAChC,CAAC;IAED;;;KAGC;IACD,QAAQ;QACJ,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAED;;;KAGC;IACD,QAAQ,CAAC,KAAY;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;CACJ"}
@@ -94,3 +94,4 @@ export default class TestFrameworkInstance extends TrackedInstance {
94
94
  return this.#createdAt;
95
95
  }
96
96
  }
97
+ //# sourceMappingURL=testFrameworkInstance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testFrameworkInstance.js","sourceRoot":"","sources":["../../../src/cli/instances/testFrameworkInstance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAGlD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;AAEtB,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,eAAe;IAC9D,cAAc,CAAe;IAC7B,sBAAsB,CAAwB;IAC9C,iBAAiB,CAAO;IACxB,iBAAiB,CAAO;IACxB,cAAc,CAAO;IACrB,cAAc,CAAO;IACrB,UAAU,CAAQ;IAElB;;;;;;;KAOC;IACD,YAAY,OAAuB,EAAE,cAA6B,EAAE,sBAA8C,EAAE,kBAAyB,EAAE,SAAgB;QAC3J,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAA;QACpD,IAAI,CAAC,iBAAiB,GAAG,kBAAkB,CAAA;QAC3C,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAA;QAClC,IAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAA;QAC7C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,IAAI,CAAA;QACpC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,cAAc,EAAE,CAAA;IAC1C,CAAC;IAED;;;KAGC;IACD,mBAAmB;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAED;;;KAGC;IACD,mBAAmB,CAAC,gBAAuB;QACvC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC7C,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAA;IAC7C,CAAC;IAED;;;KAGC;IACD,mBAAmB;QACf,OAAO,IAAI,CAAC,iBAAiB,CAAA;IACjC,CAAC;IAED;;;KAGC;IACD,mBAAmB,CAAC,gBAAuB;QACvC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QAC7C,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAA;IAC7C,CAAC;IAED;;;KAGC;IACD,gBAAgB;QACZ,OAAO,IAAI,CAAC,cAAc,CAAA;IAC9B,CAAC;IAED;;;KAGC;IACD,gBAAgB,CAAC,aAAoB;QACjC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAA;IACvC,CAAC;IAED;;;KAGC;IACD,gBAAgB;QACZ,OAAO,IAAI,CAAC,cAAc,CAAA;IAC9B,CAAC;IAED;;;KAGC;IACD,gBAAgB,CAAC,aAAoB;QACjC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAA;IACvC,CAAC;IAED;;;KAGC;IACD,YAAY;QACR,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;CAEJ"}
@@ -45,3 +45,4 @@ export default class TrackedContext {
45
45
  return this.#type;
46
46
  }
47
47
  }
48
+ //# sourceMappingURL=trackedContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trackedContext.js","sourceRoot":"","sources":["../../../src/cli/instances/trackedContext.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,cAAc;IAC/B,GAAG,CAAQ;IACX,SAAS,CAAQ;IACjB,UAAU,CAAQ;IAClB,KAAK,CAAQ;IAEb;;;;;;KAMC;IACD,YAAY,EAAU,EAAE,QAAgB,EAAE,SAAiB,EAAE,IAAY;QACrE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACb,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;QACzB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;IACrB,CAAC;IAED;;;KAGC;IACD,WAAW;QACP,OAAO,IAAI,CAAC,SAAS,CAAA;IACzB,CAAC;IAED;;;KAGC;IACD,YAAY;QACR,OAAO,IAAI,CAAC,UAAU,CAAA;IAC1B,CAAC;IAED;;;KAGC;IACD,KAAK;QACD,OAAO,IAAI,CAAC,GAAG,CAAA;IACnB,CAAC;IAED;;;KAGC;IACD,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;CAEJ"}
@@ -61,3 +61,4 @@ export default class TrackedInstance {
61
61
  return new TrackedContext(crypto.createHash('sha256').update(target).digest('hex'), threadId || 0, process.pid, typeof (target));
62
62
  }
63
63
  }
64
+ //# sourceMappingURL=trackedInstance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trackedInstance.js","sourceRoot":"","sources":["../../../src/cli/instances/trackedInstance.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAE9C,MAAM,CAAC,OAAO,OAAO,eAAe;IAChC,QAAQ,CAAgB;IACxB,KAAK,CAAkB;IAEvB;;;KAGC;IACD,YAAY,OAAuB;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAA;IAC1B,CAAC;IAED;;;KAGC;IACD,MAAM;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IAChC,CAAC;IAED;;;KAGC;IACD,UAAU;QACN,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IAED;;;KAGC;IACD,UAAU;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAED;;;;KAIC;IACD,qBAAqB,CAAC,OAA4B;QAC9C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACrC,CAAC,CAAC,CAAA;IACN,CAAC;IAED,UAAU,CAAC,GAAW,EAAE,KAAU;QAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED;;;;KAIC;IACD,OAAO,CAAC,GAAW;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO,CAAC,GAAW;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAAc;QAC/B,OAAO,IAAI,cAAc,CACrB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACxD,QAAQ,IAAI,CAAC,EACb,OAAO,CAAC,GAAG,EACX,OAAM,CAAC,MAAM,CAAC,CACjB,CAAA;IACL,CAAC;CACJ"}