@memberjunction/testing-engine 2.128.0 → 2.130.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.
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTestDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/BaseTestDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEH,QAAQ,EAIX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,UAAU,EAEb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAGnB,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,8BAAsB,cAAc;IAChC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAkB;IAE/C;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAEjF;;;;;;;;OAQG;IACU,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyElE;;;;;;;;;;OAUG;IACH,SAAS,CAAC,cAAc,CACpB,aAAa,EAAE,YAAY,EAAE,EAC7B,OAAO,CAAC,EAAE,cAAc,GACzB,MAAM;IAwBT;;;;;;;;OAQG;IACH,SAAS,CAAC,eAAe,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,QAAQ,GAAG,QAAQ;IAQ7E;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC;IAa7C;;;;;;;;OAQG;IACH,SAAS,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC;IAatD;;;;;;;;OAQG;IACH,SAAS,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC;IAavD;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,OAAe,GAAG,IAAI;IAQlE;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;CAG3D"}
1
+ {"version":3,"file":"BaseTestDriver.d.ts","sourceRoot":"","sources":["../../src/drivers/BaseTestDriver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEH,QAAQ,EAIX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACH,UAAU,EAEb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACH,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAGhB,cAAc,EACjB,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,8BAAsB,cAAc;IAChC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAkB;IAE/C;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAEjF;;;;;;;;OAQG;IACU,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyElE;;;;;;;;;;OAUG;IACH,SAAS,CAAC,cAAc,CACpB,aAAa,EAAE,YAAY,EAAE,EAC7B,OAAO,CAAC,EAAE,cAAc,GACzB,MAAM;IAwBT;;;;;;;;OAQG;IACH,SAAS,CAAC,eAAe,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,QAAQ,GAAG,QAAQ;IAQ7E;;;;;;;;;;;OAWG;IACH,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC;IAa7C;;;;;;;;OAQG;IACH,SAAS,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC;IAatD;;;;;;;;OAQG;IACH,SAAS,CAAC,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,GAAG,CAAC;IAavD;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,OAAe,GAAG,IAAI;IAQlE;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAIxD;;;;;;;;;OASG;IACI,oBAAoB,IAAI,OAAO;IAItC;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAe/F;;;;;;;;OAQG;IACH,SAAS,CAAC,gBAAgB,CACtB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,EAC1C,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,cAAc;IASjB;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,CAClB,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,EAC1C,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,IAAI;CAUV"}
@@ -4,8 +4,12 @@
4
4
  * @module @memberjunction/testing-engine
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.BaseTestDriver = void 0;
7
+ exports.BaseTestDriver = exports.DEFAULT_TEST_TIMEOUT_MS = void 0;
8
8
  const core_1 = require("@memberjunction/core");
9
+ /**
10
+ * Default timeout for test execution in milliseconds (5 minutes)
11
+ */
12
+ exports.DEFAULT_TEST_TIMEOUT_MS = 300000;
9
13
  /**
10
14
  * Abstract base class for test driver implementations.
11
15
  *
@@ -261,6 +265,79 @@ class BaseTestDriver {
261
265
  logError(message, error) {
262
266
  (0, core_1.LogError)(`[${this.constructor.name}] ${message}`, undefined, error);
263
267
  }
268
+ /**
269
+ * Whether this driver supports cancellation via AbortSignal.
270
+ *
271
+ * Drivers should override this to return true if they properly handle
272
+ * cancellation tokens. When a driver doesn't support cancellation,
273
+ * timeout will still mark the test as failed but the underlying
274
+ * execution may continue in the background.
275
+ *
276
+ * @returns true if driver supports cancellation, false otherwise
277
+ */
278
+ supportsCancellation() {
279
+ return false;
280
+ }
281
+ /**
282
+ * Get the effective timeout for a test.
283
+ *
284
+ * Priority (highest to lowest):
285
+ * 1. Configuration JSON maxExecutionTime field (backward compatibility)
286
+ * 2. Test.MaxExecutionTimeMS column
287
+ * 3. DEFAULT_TEST_TIMEOUT_MS constant (5 minutes)
288
+ *
289
+ * @param test - The test entity
290
+ * @param config - Parsed configuration object (optional)
291
+ * @returns Timeout in milliseconds
292
+ * @protected
293
+ */
294
+ getEffectiveTimeout(test, config) {
295
+ // Priority 1: JSON config maxExecutionTime (backward compatibility)
296
+ if (config?.maxExecutionTime != null && config.maxExecutionTime > 0) {
297
+ return config.maxExecutionTime;
298
+ }
299
+ // Priority 2: Entity field MaxExecutionTimeMS
300
+ if (test.MaxExecutionTimeMS != null && test.MaxExecutionTimeMS > 0) {
301
+ return test.MaxExecutionTimeMS;
302
+ }
303
+ // Priority 3: Default timeout
304
+ return exports.DEFAULT_TEST_TIMEOUT_MS;
305
+ }
306
+ /**
307
+ * Create a log message for the test execution log.
308
+ *
309
+ * @param level - Log level
310
+ * @param message - Log message
311
+ * @param metadata - Optional metadata
312
+ * @returns TestLogMessage object
313
+ * @protected
314
+ */
315
+ createLogMessage(level, message, metadata) {
316
+ return {
317
+ timestamp: new Date(),
318
+ level,
319
+ message,
320
+ metadata
321
+ };
322
+ }
323
+ /**
324
+ * Log a message to both the console (if verbose) and accumulate for test run log.
325
+ *
326
+ * @param context - Driver execution context
327
+ * @param level - Log level
328
+ * @param message - Log message
329
+ * @param metadata - Optional metadata
330
+ * @protected
331
+ */
332
+ logToTestRun(context, level, message, metadata) {
333
+ // Log to console based on level and verbosity
334
+ const verboseOnly = level === 'debug';
335
+ this.log(message, verboseOnly);
336
+ // Send to log callback if provided
337
+ if (context.options.logCallback) {
338
+ context.options.logCallback(this.createLogMessage(level, message, metadata));
339
+ }
340
+ }
264
341
  }
265
342
  exports.BaseTestDriver = BaseTestDriver;
266
343
  //# sourceMappingURL=BaseTestDriver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTestDriver.js","sourceRoot":"","sources":["../../src/drivers/BaseTestDriver.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+CAM8B;AAe9B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAsB,cAAc;IAApC;QACc,cAAS,GAAa,IAAI,eAAQ,EAAE,CAAC;IA8PnD,CAAC;IAvOG;;;;;;;;OAQG;IACI,KAAK,CAAC,QAAQ,CAAC,IAAgB;QAClC,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAwB,EAAE,CAAC;QAEzC,yCAAyC;QACzC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC;gBACR,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,6BAA6B;gBACtC,KAAK,EAAE,iBAAiB;gBACxB,UAAU,EAAE,8CAA8C;aAC7D,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,gBAAgB;YAChB,IAAI,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC;oBACR,QAAQ,EAAE,OAAO;oBACjB,OAAO,EAAE,sCAAsC,KAAK,CAAC,OAAO,EAAE;oBAC9D,KAAK,EAAE,iBAAiB;oBACxB,UAAU,EAAE,wBAAwB;iBACvC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAChE,QAAQ,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,eAAe;gBACzB,OAAO,EAAE,gDAAgD;gBACzD,cAAc,EAAE,yDAAyD;aAC5E,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,gBAAgB;YAChB,IAAI,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACtC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC;oBACR,QAAQ,EAAE,kBAAkB;oBAC5B,OAAO,EAAE,uCAAuC,KAAK,CAAC,OAAO,EAAE;oBAC/D,KAAK,EAAE,kBAAkB;oBACzB,UAAU,EAAE,wBAAwB;iBACvC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1D,QAAQ,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,eAAe;gBACzB,OAAO,EAAE,8BAA8B;gBACvC,cAAc,EAAE,yDAAyD;aAC5E,CAAC,CAAC;QACP,CAAC;aAAM,CAAC;YACJ,gBAAgB;YAChB,IAAI,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC;oBACR,QAAQ,EAAE,eAAe;oBACzB,OAAO,EAAE,oCAAoC,KAAK,CAAC,OAAO,EAAE;oBAC5D,KAAK,EAAE,eAAe;oBACtB,UAAU,EAAE,wBAAwB;iBACvC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,OAAO;YACH,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,MAAM;YACN,QAAQ;SACX,CAAC;IACN,CAAC;IAED;;;;;;;;;;OAUG;IACO,cAAc,CACpB,aAA6B,EAC7B,OAAwB;QAExB,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,CAAC;QACb,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,iBAAiB;YACjB,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/D,OAAO,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC;QACtC,CAAC;QAED,mBAAmB;QACnB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/C,WAAW,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;YACrC,WAAW,IAAI,MAAM,CAAC;QAC1B,CAAC;QAED,OAAO,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;OAQG;IACO,eAAe,CAAC,aAA6B;QACnD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;OAWG;IACO,WAAW,CAAI,IAAgB;QACrC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAM,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,EAAE,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACO,oBAAoB,CAAI,IAAgB;QAC9C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAM,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACO,qBAAqB,CAAI,IAAgB;QAC/C,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAM,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,EAAE,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACO,GAAG,CAAC,OAAe,EAAE,cAAuB,KAAK;QACvD,IAAA,kBAAW,EAAC;YACR,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE;YAChD,WAAW;YACX,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAA,8BAAuB,GAAE;SACpD,CAAC,CAAC;IACP,CAAC;IAED;;;;;;OAMG;IACO,QAAQ,CAAC,OAAe,EAAE,KAAa;QAC7C,IAAA,eAAQ,EAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACxE,CAAC;CACJ;AA/PD,wCA+PC"}
1
+ {"version":3,"file":"BaseTestDriver.js","sourceRoot":"","sources":["../../src/drivers/BaseTestDriver.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  import { UserInfo } from '@memberjunction/core';
6
6
  import { TestEngineBase } from '@memberjunction/testing-engine-base';
7
7
  import { IOracle } from '../oracles/IOracle';
8
- import { TestRunOptions, TestRunResult, TestSuiteRunResult } from '../types';
8
+ import { TestRunOptions, SuiteRunOptions, TestRunResult, TestSuiteRunResult } from '../types';
9
9
  /**
10
10
  * Main testing engine that orchestrates test execution.
11
11
  *
@@ -55,11 +55,11 @@ export declare class TestEngine extends TestEngineBase {
55
55
  * Run a test suite.
56
56
  *
57
57
  * @param suiteId - ID of the test suite to run
58
- * @param options - Test execution options
58
+ * @param options - Suite execution options (extends TestRunOptions with suite-specific options)
59
59
  * @param contextUser - User context
60
60
  * @returns Test suite run result
61
61
  */
62
- RunSuite(suiteId: string, options: TestRunOptions, contextUser: UserInfo): Promise<TestSuiteRunResult>;
62
+ RunSuite(suiteId: string, options: SuiteRunOptions, contextUser: UserInfo): Promise<TestSuiteRunResult>;
63
63
  /**
64
64
  * Register a custom oracle.
65
65
  *
@@ -104,6 +104,15 @@ export declare class TestEngine extends TestEngineBase {
104
104
  * @private
105
105
  */
106
106
  private loadSuiteTests;
107
+ /**
108
+ * Filter tests based on suite run options.
109
+ * Supports filtering by:
110
+ * - selectedTestIds: Run only specific tests by ID
111
+ * - sequenceStart/sequenceEnd: Run tests within a sequence range
112
+ * - sequence: Run tests at specific sequence positions
113
+ * @private
114
+ */
115
+ private filterTestsForExecution;
107
116
  /**
108
117
  * Create TestRun entity.
109
118
  * @private
@@ -119,6 +128,11 @@ export declare class TestEngine extends TestEngineBase {
119
128
  * @private
120
129
  */
121
130
  private updateTestRun;
131
+ /**
132
+ * Format log messages into a single string for storage.
133
+ * @private
134
+ */
135
+ private formatLogMessages;
122
136
  /**
123
137
  * Update TestSuiteRun entity with results.
124
138
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"TestEngine.d.ts","sourceRoot":"","sources":["../../src/engine/TestEngine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,QAAQ,EAKX,MAAM,sBAAsB,CAAC;AAS9B,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAM7C,OAAO,EACH,cAAc,EAEd,aAAa,EACb,kBAAkB,EACrB,MAAM,UAAU,CAAC;AAElB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,UAAW,SAAQ,cAAc;IAC1C,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,eAAe,CAA8B;IAErD;;OAEG;IACH,WAAkB,QAAQ,IAAI,UAAU,CAEvC;IAED;;OAEG;IACH,OAAO;cAIkB,iBAAiB,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAajF;;;;;;;;OAQG;IACU,OAAO,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,QAAQ,EACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAC1B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,GAClC,OAAO,CAAC,aAAa,GAAG,aAAa,EAAE,CAAC;IAiC3C;;;;;;;OAOG;IACU,QAAQ,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,kBAAkB,CAAC;IAgF9B;;;;OAIG;IACI,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAK5C;;;;;OAKG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAInD;;;;OAIG;IACI,cAAc,IAAI,MAAM,EAAE;IAIjC;;;OAGG;YACW,sBAAsB;IAQpC;;;OAGG;YACW,SAAS;IAsBvB;;;OAGG;YACW,QAAQ;IAStB;;;OAGG;YACW,SAAS;IASvB;;;OAGG;YACW,cAAc;IAK5B;;;OAGG;YACW,aAAa;IAqC3B;;;OAGG;YACW,cAAc;IAwB5B;;;OAGG;YACW,aAAa;IA0B3B;;;OAGG;YACW,cAAc;IAsB5B;;;OAGG;YACW,eAAe;IAqC7B;;;OAGG;YACW,sBAAsB;IA2GpC;;;OAGG;IACH,OAAO,CAAC,GAAG;IAQX;;;OAGG;IACH,OAAO,CAAC,QAAQ;CAGnB"}
1
+ {"version":3,"file":"TestEngine.d.ts","sourceRoot":"","sources":["../../src/engine/TestEngine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,QAAQ,EAKX,MAAM,sBAAsB,CAAC;AAS9B,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAM7C,OAAO,EACH,cAAc,EACd,eAAe,EAEf,aAAa,EACb,kBAAkB,EAErB,MAAM,UAAU,CAAC;AAOlB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,UAAW,SAAQ,cAAc;IAC1C,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,eAAe,CAA8B;IAErD;;OAEG;IACH,WAAkB,QAAQ,IAAI,UAAU,CAEvC;IAED;;OAEG;IACH,OAAO;cAIkB,iBAAiB,CAAC,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAajF;;;;;;;;OAQG;IACU,OAAO,CAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,QAAQ,EACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAC1B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,GAClC,OAAO,CAAC,aAAa,GAAG,aAAa,EAAE,CAAC;IAoC3C;;;;;;;OAOG;IACU,QAAQ,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,QAAQ,GACtB,OAAO,CAAC,kBAAkB,CAAC;IAwF9B;;;;OAIG;IACI,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAK5C;;;;;OAKG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAInD;;;;OAIG;IACI,cAAc,IAAI,MAAM,EAAE;IAIjC;;;OAGG;YACW,sBAAsB;IAQpC;;;OAGG;YACW,SAAS;IAsBvB;;;OAGG;YACW,QAAQ;IAStB;;;OAGG;YACW,SAAS;IASvB;;;OAGG;YACW,cAAc;IAK5B;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IAkD/B;;;OAGG;YACW,aAAa;IAkD3B;;;OAGG;YACW,cAAc;IAqC5B;;;OAGG;YACW,aAAa;IAyC3B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;OAGG;YACW,cAAc;IAsB5B;;;OAGG;YACW,eAAe;IAuC7B;;;OAGG;YACW,sBAAsB;IAsJpC;;;OAGG;IACH,OAAO,CAAC,GAAG;IAQX;;;OAGG;IACH,OAAO,CAAC,QAAQ;CAGnB"}
@@ -14,6 +14,7 @@ const TraceValidatorOracle_1 = require("../oracles/TraceValidatorOracle");
14
14
  const LLMJudgeOracle_1 = require("../oracles/LLMJudgeOracle");
15
15
  const ExactMatchOracle_1 = require("../oracles/ExactMatchOracle");
16
16
  const SQLValidatorOracle_1 = require("../oracles/SQLValidatorOracle");
17
+ const execution_context_1 = require("../utils/execution-context");
17
18
  /**
18
19
  * Main testing engine that orchestrates test execution.
19
20
  *
@@ -88,12 +89,14 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
88
89
  if (!test) {
89
90
  throw new Error(`Test not found: ${testId}`);
90
91
  }
92
+ // Get tags from options
93
+ const tags = options.tags;
91
94
  // Check RepeatCount and branch to repeated execution if needed
92
95
  if (test.RepeatCount && test.RepeatCount > 1) {
93
- return await this.runRepeatedTest(test, test.RepeatCount, options, contextUser, suiteRunId, suiteTestSequence, startTime);
96
+ return await this.runRepeatedTest(test, test.RepeatCount, options, contextUser, suiteRunId, suiteTestSequence, startTime, tags);
94
97
  }
95
98
  // Single execution - delegate to helper method
96
- return await this.runSingleTestIteration(test, suiteRunId, suiteTestSequence, options, contextUser, startTime);
99
+ return await this.runSingleTestIteration(test, suiteRunId, suiteTestSequence, options, contextUser, startTime, tags);
97
100
  }
98
101
  catch (error) {
99
102
  this.logError(`Test execution failed: ${testId}`, error);
@@ -104,7 +107,7 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
104
107
  * Run a test suite.
105
108
  *
106
109
  * @param suiteId - ID of the test suite to run
107
- * @param options - Test execution options
110
+ * @param options - Suite execution options (extends TestRunOptions with suite-specific options)
108
111
  * @param contextUser - User context
109
112
  * @returns Test suite run result
110
113
  */
@@ -118,12 +121,18 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
118
121
  throw new Error(`Test suite not found: ${suiteId}`);
119
122
  }
120
123
  // Load suite tests from cache
121
- const tests = await this.loadSuiteTests(suiteId);
124
+ let tests = await this.loadSuiteTests(suiteId);
122
125
  if (tests.length === 0) {
123
126
  throw new Error(`No tests found in suite: ${suiteId}`);
124
127
  }
128
+ // Apply test selection filters
129
+ tests = this.filterTestsForExecution(suiteId, tests, options);
130
+ if (tests.length === 0) {
131
+ throw new Error(`No tests match the selection criteria for suite: ${suiteId}`);
132
+ }
133
+ this.log(`Running ${tests.length} tests (after filtering)`, options.verbose);
125
134
  // Create TestSuiteRun entity
126
- const suiteRun = await this.createSuiteRun(suite, contextUser);
135
+ const suiteRun = await this.createSuiteRun(suite, contextUser, options);
127
136
  // Execute tests
128
137
  const testResults = [];
129
138
  let testSequence = 1; // Track suite execution order (1-based)
@@ -266,11 +275,59 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
266
275
  // Use cached test suite tests and tests instead of querying DB
267
276
  return this.GetTestsForSuite(suiteId);
268
277
  }
278
+ /**
279
+ * Filter tests based on suite run options.
280
+ * Supports filtering by:
281
+ * - selectedTestIds: Run only specific tests by ID
282
+ * - sequenceStart/sequenceEnd: Run tests within a sequence range
283
+ * - sequence: Run tests at specific sequence positions
284
+ * @private
285
+ */
286
+ filterTestsForExecution(suiteId, tests, options) {
287
+ // Get suite test mappings to access sequence numbers
288
+ const suiteTests = this.TestSuiteTests.filter(st => st.SuiteID === suiteId);
289
+ // Create a map of testId -> sequence for efficient lookup
290
+ const testSequenceMap = new Map();
291
+ for (const st of suiteTests) {
292
+ testSequenceMap.set(st.TestID, st.Sequence);
293
+ }
294
+ let filteredTests = [...tests];
295
+ // Filter by selectedTestIds if provided
296
+ if (options.selectedTestIds && options.selectedTestIds.length > 0) {
297
+ const selectedIds = new Set(options.selectedTestIds);
298
+ filteredTests = filteredTests.filter(t => selectedIds.has(t.ID));
299
+ this.log(`Filtered to ${filteredTests.length} tests by selectedTestIds`, options.verbose);
300
+ }
301
+ // Filter by sequence range if provided
302
+ if (options.sequenceStart != null || options.sequenceEnd != null) {
303
+ const start = options.sequenceStart ?? 1;
304
+ const end = options.sequenceEnd ?? Number.MAX_SAFE_INTEGER;
305
+ filteredTests = filteredTests.filter(test => {
306
+ const seq = testSequenceMap.get(test.ID);
307
+ if (seq == null)
308
+ return false;
309
+ return seq >= start && seq <= end;
310
+ });
311
+ this.log(`Filtered to ${filteredTests.length} tests by sequence range [${start}-${end}]`, options.verbose);
312
+ }
313
+ // Filter by specific sequence numbers if provided
314
+ if (options.sequence && options.sequence.length > 0) {
315
+ const sequenceSet = new Set(options.sequence);
316
+ filteredTests = filteredTests.filter(test => {
317
+ const seq = testSequenceMap.get(test.ID);
318
+ if (seq == null)
319
+ return false;
320
+ return sequenceSet.has(seq);
321
+ });
322
+ this.log(`Filtered to ${filteredTests.length} tests by sequence numbers [${options.sequence.join(', ')}]`, options.verbose);
323
+ }
324
+ return filteredTests;
325
+ }
269
326
  /**
270
327
  * Create TestRun entity.
271
328
  * @private
272
329
  */
273
- async createTestRun(test, contextUser, suiteRunId, sequence) {
330
+ async createTestRun(test, contextUser, suiteRunId, sequence, tags) {
274
331
  const md = new core_1.Metadata();
275
332
  const testRun = await md.GetEntityObject('MJ: Test Runs', contextUser);
276
333
  testRun.NewRecord();
@@ -290,6 +347,16 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
290
347
  if (sequence != null) {
291
348
  testRun.Sequence = sequence;
292
349
  }
350
+ // Set tags if provided
351
+ if (tags) {
352
+ testRun.Tags = tags;
353
+ }
354
+ // Set execution context fields for cross-server aggregation
355
+ testRun.MachineName = (0, execution_context_1.getMachineName)();
356
+ testRun.MachineID = (0, execution_context_1.getMachineIdentifier)() || null;
357
+ testRun.RunByUserName = contextUser.Name;
358
+ testRun.RunByUserEmail = contextUser.Email;
359
+ testRun.RunContextDetails = JSON.stringify((0, execution_context_1.gatherExecutionContext)());
293
360
  const saved = await testRun.Save();
294
361
  if (!saved) {
295
362
  const errorMsg = testRun.LatestResult?.Message || 'Unknown error';
@@ -301,7 +368,7 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
301
368
  * Create TestSuiteRun entity.
302
369
  * @private
303
370
  */
304
- async createSuiteRun(suite, contextUser) {
371
+ async createSuiteRun(suite, contextUser, options) {
305
372
  const md = new core_1.Metadata();
306
373
  const suiteRun = await md.GetEntityObject('MJ: Test Suite Runs', contextUser);
307
374
  suiteRun.NewRecord();
@@ -309,6 +376,16 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
309
376
  suiteRun.RunByUserID = contextUser.ID;
310
377
  suiteRun.Status = 'Running';
311
378
  suiteRun.StartedAt = new Date();
379
+ // Set tags if provided
380
+ if (options?.tags) {
381
+ suiteRun.Tags = options.tags;
382
+ }
383
+ // Set execution context fields for cross-server aggregation
384
+ suiteRun.MachineName = (0, execution_context_1.getMachineName)();
385
+ suiteRun.MachineID = (0, execution_context_1.getMachineIdentifier)() || null;
386
+ suiteRun.RunByUserName = contextUser.Name;
387
+ suiteRun.RunByUserEmail = contextUser.Email;
388
+ suiteRun.RunContextDetails = JSON.stringify((0, execution_context_1.gatherExecutionContext)());
312
389
  const saved = await suiteRun.Save();
313
390
  if (!saved) {
314
391
  const errorMsg = suiteRun.LatestResult?.Message || 'Unknown error';
@@ -320,7 +397,7 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
320
397
  * Update TestRun entity with results.
321
398
  * @private
322
399
  */
323
- async updateTestRun(testRun, result, startTime) {
400
+ async updateTestRun(testRun, result, startTime, logMessages) {
324
401
  testRun.Status = result.status;
325
402
  testRun.Score = result.score;
326
403
  testRun.PassedChecks = result.passedChecks;
@@ -328,6 +405,10 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
328
405
  testRun.TotalChecks = result.totalChecks;
329
406
  testRun.TargetType = result.targetType;
330
407
  testRun.TargetLogID = result.targetLogId;
408
+ // Set the proper Entity FK for target linkage
409
+ if (result.targetLogEntityId) {
410
+ testRun.TargetLogEntityID = result.targetLogEntityId;
411
+ }
331
412
  testRun.InputData = result.inputData ? JSON.stringify(result.inputData) : null;
332
413
  testRun.ExpectedOutputData = result.expectedOutput ? JSON.stringify(result.expectedOutput) : null;
333
414
  testRun.ActualOutputData = result.actualOutput ? JSON.stringify(result.actualOutput) : null;
@@ -335,11 +416,28 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
335
416
  testRun.CostUSD = result.totalCost || 0;
336
417
  testRun.DurationSeconds = (Date.now() - startTime) / 1000;
337
418
  testRun.CompletedAt = new Date();
419
+ // Save accumulated log messages
420
+ if (logMessages && logMessages.length > 0) {
421
+ testRun.Log = this.formatLogMessages(logMessages);
422
+ }
423
+ // Ensure ErrorMessage is populated for timeout and error statuses
424
+ if ((result.status === 'Timeout' || result.status === 'Error') && result.errorMessage) {
425
+ testRun.ErrorMessage = result.errorMessage;
426
+ }
338
427
  const saved = await testRun.Save();
339
428
  if (!saved) {
340
429
  this.logError('Failed to update TestRun entity', new Error(testRun.LatestResult?.Message));
341
430
  }
342
431
  }
432
+ /**
433
+ * Format log messages into a single string for storage.
434
+ * @private
435
+ */
436
+ formatLogMessages(messages) {
437
+ return messages
438
+ .map(m => `[${m.timestamp.toISOString()}] [${m.level.toUpperCase()}] ${m.message}`)
439
+ .join('\n');
440
+ }
343
441
  /**
344
442
  * Update TestSuiteRun entity with results.
345
443
  * @private
@@ -363,13 +461,13 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
363
461
  * Run a test multiple times for statistical analysis.
364
462
  * @private
365
463
  */
366
- async runRepeatedTest(test, repeatCount, options, contextUser, suiteRunId, suiteTestSequence, startTime) {
464
+ async runRepeatedTest(test, repeatCount, options, contextUser, suiteRunId, suiteTestSequence, startTime, tags) {
367
465
  const results = [];
368
466
  this.log(`Running test ${repeatCount} times for statistical analysis`, options.verbose);
369
467
  for (let iteration = 1; iteration <= repeatCount; iteration++) {
370
468
  this.log(`Running iteration ${iteration} of ${repeatCount}`, options.verbose);
371
- const result = await this.runSingleTestIteration(test, suiteRunId, iteration, options, contextUser, Date.now() // Each iteration gets its own start time
372
- );
469
+ const result = await this.runSingleTestIteration(test, suiteRunId, iteration, options, contextUser, Date.now(), // Each iteration gets its own start time
470
+ tags);
373
471
  results.push(result);
374
472
  // Small delay between iterations to avoid rate limiting
375
473
  if (iteration < repeatCount) {
@@ -383,7 +481,7 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
383
481
  * Run a single test iteration (extracted from RunTest for reuse).
384
482
  * @private
385
483
  */
386
- async runSingleTestIteration(test, suiteRunId, sequence, options, contextUser, startTime) {
484
+ async runSingleTestIteration(test, suiteRunId, sequence, options, contextUser, startTime, tags) {
387
485
  // Get test type
388
486
  const testType = this.GetTestTypeByID(test.TypeID);
389
487
  if (!testType) {
@@ -401,8 +499,27 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
401
499
  });
402
500
  // Get or create driver
403
501
  const driver = await this.getDriver(testType, contextUser);
502
+ // Check if driver supports cancellation and log warning if not
503
+ const supportsCancellation = driver.supportsCancellation();
504
+ if (!supportsCancellation) {
505
+ this.log(`Warning: Test type '${testType.Name}' (driver: ${testType.DriverClass}) does not support cancellation. ` +
506
+ `Timeout will mark test as failed but execution may continue in background.`, options.verbose);
507
+ }
404
508
  // Create TestRun entity
405
- const testRun = await this.createTestRun(test, contextUser, suiteRunId, sequence);
509
+ const testRun = await this.createTestRun(test, contextUser, suiteRunId, sequence, tags);
510
+ // Set up log accumulation
511
+ const logMessages = [];
512
+ const originalLogCallback = options.logCallback;
513
+ // Create enhanced options with log accumulation
514
+ const enhancedOptions = {
515
+ ...options,
516
+ logCallback: (message) => {
517
+ // Accumulate log messages
518
+ logMessages.push(message);
519
+ // Also call original callback if provided
520
+ originalLogCallback?.(message);
521
+ }
522
+ };
406
523
  // Progress: Executing test
407
524
  options.progressCallback?.({
408
525
  step: 'executing_test',
@@ -420,9 +537,22 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
420
537
  test,
421
538
  testRun,
422
539
  contextUser,
423
- options,
540
+ options: enhancedOptions,
424
541
  oracleRegistry: this._oracleRegistry
425
542
  });
543
+ // If timeout occurred and driver doesn't support cancellation, add warning to error message
544
+ if (driverResult.status === 'Timeout' && !supportsCancellation) {
545
+ const warningMessage = `Test type '${testType.Name}' does not support cancellation - execution may continue in background.`;
546
+ driverResult.errorMessage = driverResult.errorMessage
547
+ ? `${driverResult.errorMessage}\n${warningMessage}`
548
+ : warningMessage;
549
+ // Also add to log
550
+ logMessages.push({
551
+ timestamp: new Date(),
552
+ level: 'warn',
553
+ message: warningMessage
554
+ });
555
+ }
426
556
  // Progress: Evaluating oracles
427
557
  const oracleCount = driverResult.oracleResults?.length || 0;
428
558
  options.progressCallback?.({
@@ -434,8 +564,8 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
434
564
  testRun
435
565
  }
436
566
  });
437
- // Update TestRun entity with results
438
- await this.updateTestRun(testRun, driverResult, startTime);
567
+ // Update TestRun entity with results and logs
568
+ await this.updateTestRun(testRun, driverResult, startTime, logMessages);
439
569
  // Convert to TestRunResult
440
570
  const result = {
441
571
  testRunId: testRun.ID,
@@ -448,11 +578,13 @@ class TestEngine extends testing_engine_base_1.TestEngineBase {
448
578
  totalChecks: driverResult.totalChecks,
449
579
  oracleResults: driverResult.oracleResults,
450
580
  targetType: driverResult.targetType,
581
+ targetLogEntityId: driverResult.targetLogEntityId,
451
582
  targetLogId: driverResult.targetLogId,
452
583
  durationMs: Date.now() - startTime,
453
584
  totalCost: driverResult.totalCost || 0,
454
585
  startedAt: testRun.StartedAt,
455
- completedAt: testRun.CompletedAt
586
+ completedAt: testRun.CompletedAt,
587
+ errorMessage: driverResult.errorMessage
456
588
  };
457
589
  // Add sequence if this is a repeated test iteration
458
590
  if (sequence && sequence > 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"TestEngine.js","sourceRoot":"","sources":["../../src/engine/TestEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TestEngine.js","sourceRoot":"","sources":["../../src/engine/TestEngine.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -17,4 +17,5 @@ export * from './types';
17
17
  export * from './utils/scoring';
18
18
  export * from './utils/cost-calculator';
19
19
  export * from './utils/result-formatter';
20
+ export * from './utils/execution-context';
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,qBAAqB,CAAC;AAGpC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,SAAS,CAAC;AAGxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,cAAc,qBAAqB,CAAC;AAGpC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,2BAA2B,CAAC;AAG1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,SAAS,CAAC;AAGxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -39,4 +39,5 @@ __exportStar(require("./types"), exports);
39
39
  __exportStar(require("./utils/scoring"), exports);
40
40
  __exportStar(require("./utils/cost-calculator"), exports);
41
41
  __exportStar(require("./utils/result-formatter"), exports);
42
+ __exportStar(require("./utils/execution-context"), exports);
42
43
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,cAAc;AACd,sDAAoC;AAEpC,eAAe;AACf,2DAAyC;AAEzC,mBAAmB;AACnB,4DAA0C;AAE1C,uCAAuC;AACvC,oDAAkC;AAClC,kEAAgD;AAChD,iEAA+C;AAC/C,2DAAyC;AACzC,6DAA2C;AAC3C,+DAA6C;AAE7C,uBAAuB;AACvB,0CAAwB;AAExB,YAAY;AACZ,kDAAgC;AAChC,0DAAwC;AACxC,2DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,cAAc;AACd,sDAAoC;AAEpC,eAAe;AACf,2DAAyC;AAEzC,mBAAmB;AACnB,4DAA0C;AAE1C,uCAAuC;AACvC,oDAAkC;AAClC,kEAAgD;AAChD,iEAA+C;AAC/C,2DAAyC;AACzC,6DAA2C;AAC3C,+DAA6C;AAE7C,uBAAuB;AACvB,0CAAwB;AAExB,YAAY;AACZ,kDAAgC;AAChC,0DAAwC;AACxC,2DAAyC;AACzC,4DAA0C"}