@nsshunt/stsrunnerframework 1.0.57 → 1.0.59

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.
@@ -13,7 +13,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
13
13
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
14
14
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
15
15
 
16
- var _collectorCollectorPort, _runners, _options3, _workerId, _debug, _SetMessagePort, _AddRunner, _WorkerInstance_instances, SleepImmediate_fn, _StartRunner, _StopAllRunners, _StopRunner, _TerminateRunner, _PauseRunner, _ResumeRunner, _ResetRunner, _ExecuteRunner, _UpdateOptions, _workersEx, _options4, _STSInstrumentController, _telemetryProcessor, _debug2, _STSWorkerManager_instances, CreateRunnerCopy_fn, _SetRunnerIntoWorker, _ProcessTelemetry, _ProcessCompleted, _CreateAsyncRunner, _PostMessageToWorker, _StartRunner2, _ResetRunner2, _ExecuteRunner2, _StopRunner2, _TerminateRunner2, _PauseRunner2, _ResumeRunner2, _BroadcastCommandToAllRunners, _PauseWorker, _ResumeWorker, _StopWorker, _StartWorker, _ResetWorker, _ExecuteWorker, _BroadcastUpdateCommandToAllRunners, _UpdateOptionsWorker, _TerminateWorker, _UpdateOptions2, _options5, _rest01Client, _accessToken2, _agentManager, _authUtilsNode, _GetAccessToken;
16
+ var _collectorCollectorPort, _runners, _options3, _workerId, _debug, _SetMessagePort, _CreateRunnerEx2RunState, _UpdateRunnerStateById, _GetAllRunners, _CanExecuteNextIterationById, _GetRunnerIterationById, _ResetRunnerIterationById, _IncRunnerIterationById, _GetRunnerInstanceById, _GetRunnerExecutionProfileById, _GetRunnerOptionsById, _SetRunnerOptionsById, _AddRunner, _WorkerInstance_instances, SleepImmediate_fn, _PostMessageToWorkerManagerById, _StartRunner, _StopRunnerByRunnerById, _StopAllRunners, _StopRunner, _TerminateRunner, _PauseRunner, _ResumeRunner, _ResetRunner, _ExecuteRunner, _UpdateOptions, _workersEx, _options4, _STSInstrumentController, _telemetryProcessor, _debug2, _STSWorkerManager_instances, CreateRunnerCopy_fn, _SetRunnerIntoWorker, _ProcessTelemetry, _RunnerStateChange, _ProcessCompleted, _CreateAsyncRunner, _PostMessageToWorkerUsingDefaultChannel, _PostMessageToWorker, _StartRunner2, _ResetRunner2, _ExecuteRunner2, _StopRunner2, _TerminateRunner2, _PauseRunner2, _ResumeRunner2, _BroadcastCommandToAllRunners, _PauseWorker, _ResumeWorker, _StopWorker, _StartWorker, _ResetWorker, _ExecuteWorker, _BroadcastUpdateCommandToAllRunners, _UpdateOptionsWorker, _TerminateWorker, _UpdateOptions2, _options5, _rest01Client, _accessToken2, _agentManager, _authUtilsNode, _GetAccessToken;
17
17
  const URI_BASE_VUEUTILS = "/";
18
18
  const STS_RF_RES_PREFIX = "STS_R_RF_";
19
19
  const STS_RF_RES_ENT_PREFIX = "STS_RE_RF_";
@@ -32,20 +32,36 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
32
32
  eIWMessageCommands2["Completed"] = "__STS__Completed";
33
33
  eIWMessageCommands2["UpdateOptions"] = "__STS__UpdateOptions";
34
34
  eIWMessageCommands2["TerminateRunner"] = "__STS__TerminateRunner";
35
+ eIWMessageCommands2["RunnerStateChange"] = "__STS__RunnerStateChange";
35
36
  return eIWMessageCommands2;
36
37
  })(eIWMessageCommands || {});
37
38
  var IRunnerState = /* @__PURE__ */ ((IRunnerState2) => {
38
- IRunnerState2["created"] = "created";
39
- IRunnerState2["running"] = "running";
39
+ IRunnerState2["starting"] = "starting";
40
+ IRunnerState2["started"] = "started";
41
+ IRunnerState2["stopping"] = "stopping";
40
42
  IRunnerState2["stopped"] = "stopped";
43
+ IRunnerState2["terminating"] = "terminating";
44
+ IRunnerState2["terminated"] = "terminated";
45
+ IRunnerState2["resuming"] = "resuming";
46
+ IRunnerState2["resumed"] = "resumed";
47
+ IRunnerState2["pausing"] = "pausing";
41
48
  IRunnerState2["paused"] = "paused";
49
+ IRunnerState2["executing"] = "executing";
50
+ IRunnerState2["executed"] = "executed";
51
+ IRunnerState2["resetting"] = "resetting";
52
+ IRunnerState2["reset"] = "reset";
42
53
  IRunnerState2["error"] = "error";
54
+ IRunnerState2["completed"] = "completed";
55
+ IRunnerState2["created"] = "created";
56
+ IRunnerState2["running"] = "running";
43
57
  return IRunnerState2;
44
58
  })(IRunnerState || {});
45
59
  var IWorkerState = /* @__PURE__ */ ((IWorkerState2) => {
46
60
  IWorkerState2["starting"] = "starting";
47
61
  IWorkerState2["started"] = "started";
48
62
  IWorkerState2["stopped"] = "stopped";
63
+ IWorkerState2["paused"] = "paused";
64
+ IWorkerState2["error"] = "error";
49
65
  return IWorkerState2;
50
66
  })(IWorkerState || {});
51
67
  const PublishMessageCommandsTestRunner = {
@@ -1560,27 +1576,19 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1560
1576
  __privateGet(this, _debug).call(this, `StartWork`);
1561
1577
  return;
1562
1578
  });
1563
- __publicField(this, "PostTelemetry", (runner) => {
1564
- if (__privateGet(this, _collectorCollectorPort)) {
1565
- const message2 = {
1566
- command: eIWMessageCommands.InstrumentTelemetry,
1567
- payload: {
1568
- runner
1569
- }
1570
- };
1571
- __privateGet(this, _collectorCollectorPort).postMessage(message2);
1572
- }
1579
+ __publicField(this, "PostTelemetryById", (id) => {
1580
+ __privateGet(this, _PostMessageToWorkerManagerById).call(this, eIWMessageCommands.InstrumentTelemetry, id);
1573
1581
  });
1574
1582
  __privateAdd(this, _SetMessagePort, (workerMessagePort) => {
1575
1583
  __privateGet(this, _debug).call(this, `SetMessagePort`);
1576
1584
  __privateSet(this, _collectorCollectorPort, workerMessagePort.port);
1577
1585
  if (isNode$1) {
1578
1586
  __privateGet(this, _collectorCollectorPort).on("message", (data) => {
1579
- __privateGet(this, _debug).call(this, `collectorCollectorPort onmessage: ${data.data}`);
1587
+ __privateGet(this, _debug).call(this, `collectorCollectorPort onmessage: ${JSON.stringify(data)}`);
1580
1588
  });
1581
1589
  } else {
1582
1590
  __privateGet(this, _collectorCollectorPort).onmessage = function(data) {
1583
- console.log(`collectorCollectorPort onmessage: ${data.data}`);
1591
+ console.log(`collectorCollectorPort onmessage: ${JSON.stringify(data.data)}`);
1584
1592
  };
1585
1593
  }
1586
1594
  const response = {
@@ -1592,122 +1600,180 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1592
1600
  __publicField(this, "CreateAsyncRunner", (testRunnerTelemetryPayload) => {
1593
1601
  return null;
1594
1602
  });
1603
+ __privateAdd(this, _CreateRunnerEx2RunState, (runner, runnerInstance) => {
1604
+ __privateGet(this, _runners)[runner.id] = {
1605
+ runner,
1606
+ runnerInstance
1607
+ };
1608
+ __privateGet(this, _runners)[runner.id].runner.state = IRunnerState.created;
1609
+ __privateGet(this, _runners)[runner.id].runner.iteration = 0;
1610
+ });
1611
+ __privateAdd(this, _UpdateRunnerStateById, (id, state) => {
1612
+ __privateGet(this, _runners)[id].runner.state = state;
1613
+ __privateGet(this, _PostMessageToWorkerManagerById).call(this, eIWMessageCommands.RunnerStateChange, id);
1614
+ });
1615
+ __privateAdd(this, _GetAllRunners, () => {
1616
+ return __privateGet(this, _runners);
1617
+ });
1618
+ __privateAdd(this, _CanExecuteNextIterationById, (id) => {
1619
+ const state = __privateGet(this, _runners)[id].runner.state;
1620
+ if (state === IRunnerState.running || state === IRunnerState.executed || state === IRunnerState.resumed || state === IRunnerState.reset || state === IRunnerState.started) {
1621
+ return true;
1622
+ }
1623
+ return false;
1624
+ });
1625
+ __privateAdd(this, _GetRunnerIterationById, (id) => {
1626
+ return __privateGet(this, _runners)[id].runner.iteration;
1627
+ });
1628
+ __privateAdd(this, _ResetRunnerIterationById, (id) => {
1629
+ __privateGet(this, _runners)[id].runner.iteration = 0;
1630
+ return 0;
1631
+ });
1632
+ __privateAdd(this, _IncRunnerIterationById, (id) => {
1633
+ __privateGet(this, _runners)[id].runner.iteration++;
1634
+ return __privateGet(this, _runners)[id].runner.iteration;
1635
+ });
1636
+ __privateAdd(this, _GetRunnerInstanceById, (id) => {
1637
+ return __privateGet(this, _runners)[id].runnerInstance;
1638
+ });
1639
+ __privateAdd(this, _GetRunnerExecutionProfileById, (id) => {
1640
+ return __privateGet(this, _runners)[id].runner.options.executionProfile;
1641
+ });
1642
+ __privateAdd(this, _GetRunnerOptionsById, (id) => {
1643
+ return __privateGet(this, _runners)[id].runner.options;
1644
+ });
1645
+ __privateAdd(this, _SetRunnerOptionsById, (id, options) => {
1646
+ __privateGet(this, _runners)[id].runner.options = { ...options };
1647
+ return __privateGet(this, _runners)[id].runner.options;
1648
+ });
1595
1649
  __privateAdd(this, _AddRunner, (testRunnerTelemetryPayload) => {
1596
1650
  __privateGet(this, _debug).call(this, `AddRunner`);
1597
1651
  const { runner } = testRunnerTelemetryPayload;
1598
1652
  const asyncRunnerInstance = this.CreateAsyncRunner(testRunnerTelemetryPayload);
1599
1653
  if (asyncRunnerInstance) {
1600
- __privateGet(this, _runners)[runner.id] = {
1601
- runnerInstance: asyncRunnerInstance,
1602
- runner: testRunnerTelemetryPayload.runner,
1603
- iteration: 0,
1604
- terminate: false,
1605
- paused: false
1606
- };
1654
+ __privateGet(this, _CreateRunnerEx2RunState).call(this, runner, asyncRunnerInstance);
1607
1655
  }
1608
1656
  return runner;
1609
1657
  });
1658
+ __privateAdd(this, _PostMessageToWorkerManagerById, (command, id) => {
1659
+ if (__privateGet(this, _collectorCollectorPort)) {
1660
+ const message2 = {
1661
+ command,
1662
+ payload: {
1663
+ runner: __privateGet(this, _runners)[id].runner
1664
+ }
1665
+ };
1666
+ __privateGet(this, _collectorCollectorPort).postMessage(message2);
1667
+ }
1668
+ });
1610
1669
  __privateAdd(this, _StartRunner, async (testRunnerTelemetryPayload) => {
1611
- const { runner } = testRunnerTelemetryPayload;
1612
- __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runner.id}]`)} StartRunner`);
1613
- __privateGet(this, _runners)[runner.id].terminate = false;
1614
- __privateGet(this, _runners)[runner.id].paused = false;
1615
- await __privateGet(this, _runners)[runner.id].runnerInstance.StartRunner();
1670
+ const runnerId = testRunnerTelemetryPayload.runner.id;
1671
+ __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runnerId}]`)} StartRunner`);
1672
+ __privateGet(this, _UpdateRunnerStateById).call(this, runnerId, IRunnerState.starting);
1673
+ await stsutils.Sleep(0);
1674
+ await __privateGet(this, _GetRunnerInstanceById).call(this, runnerId).StartRunner();
1675
+ __privateGet(this, _UpdateRunnerStateById).call(this, runnerId, IRunnerState.started);
1616
1676
  const ExecuteLoop = async () => {
1617
- if (__privateGet(this, _runners)[runner.id].iteration < __privateGet(this, _runners)[runner.id].runner.options.executionProfile.iterations) {
1618
- if (!__privateGet(this, _runners)[runner.id].paused) {
1619
- await __privateGet(this, _runners)[runner.id].runnerInstance.Execute(__privateGet(this, _runners)[runner.id].iteration);
1620
- __privateGet(this, _runners)[runner.id].iteration++;
1677
+ if (__privateGet(this, _GetRunnerIterationById).call(this, runnerId) < __privateGet(this, _GetRunnerExecutionProfileById).call(this, runnerId).iterations) {
1678
+ if (__privateGet(this, _CanExecuteNextIterationById).call(this, runnerId)) {
1679
+ await __privateGet(this, _GetRunnerInstanceById).call(this, runnerId).Execute(__privateGet(this, _GetRunnerIterationById).call(this, runnerId));
1680
+ __privateGet(this, _IncRunnerIterationById).call(this, runnerId);
1621
1681
  }
1622
- if (!__privateGet(this, _runners)[runner.id].terminate) {
1623
- if (!__privateGet(this, _runners)[runner.id].paused) {
1624
- if (__privateGet(this, _runners)[runner.id].runner.options.executionProfile.delayBetweenIterations > 0) {
1625
- await stsutils.Sleep(__privateGet(this, _runners)[runner.id].runner.options.executionProfile.delayBetweenIterations);
1626
- } else {
1627
- await __privateMethod(this, _WorkerInstance_instances, SleepImmediate_fn).call(this);
1628
- }
1629
- ExecuteLoop();
1682
+ if (__privateGet(this, _CanExecuteNextIterationById).call(this, runnerId)) {
1683
+ if (__privateGet(this, _GetRunnerExecutionProfileById).call(this, runnerId).delayBetweenIterations > 0) {
1684
+ await stsutils.Sleep(__privateGet(this, _GetRunnerExecutionProfileById).call(this, runnerId).delayBetweenIterations);
1630
1685
  } else {
1631
- await stsutils.Sleep(50);
1632
- ExecuteLoop();
1686
+ await __privateMethod(this, _WorkerInstance_instances, SleepImmediate_fn).call(this);
1633
1687
  }
1688
+ ExecuteLoop();
1689
+ } else {
1690
+ await stsutils.Sleep(50);
1691
+ ExecuteLoop();
1634
1692
  }
1635
1693
  } else {
1636
- await __privateGet(this, _runners)[runner.id].runnerInstance.Completed();
1637
- if (__privateGet(this, _collectorCollectorPort)) {
1638
- const message2 = {
1639
- command: eIWMessageCommands.Completed,
1640
- payload: {
1641
- runner
1642
- }
1643
- };
1644
- __privateGet(this, _collectorCollectorPort).postMessage(message2);
1645
- }
1694
+ await __privateGet(this, _GetRunnerInstanceById).call(this, runnerId).Completed();
1695
+ __privateGet(this, _UpdateRunnerStateById).call(this, runnerId, IRunnerState.completed);
1696
+ __privateGet(this, _PostMessageToWorkerManagerById).call(this, eIWMessageCommands.Completed, runnerId);
1646
1697
  }
1647
1698
  };
1648
1699
  ExecuteLoop();
1649
1700
  });
1701
+ __privateAdd(this, _StopRunnerByRunnerById, async (id) => {
1702
+ __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${id}]`)} StopRunner`);
1703
+ __privateGet(this, _UpdateRunnerStateById).call(this, id, IRunnerState.stopping);
1704
+ await stsutils.Sleep(0);
1705
+ await __privateGet(this, _GetRunnerInstanceById).call(this, id).StopRunner();
1706
+ __privateGet(this, _UpdateRunnerStateById).call(this, id, IRunnerState.stopped);
1707
+ await stsutils.Sleep(0);
1708
+ });
1650
1709
  __privateAdd(this, _StopAllRunners, async (testRunnerTelemetryPayload) => {
1651
1710
  __privateGet(this, _debug).call(this, `StopAllRunners`);
1652
- for (const [, runner] of Object.entries(__privateGet(this, _runners))) {
1653
- __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runner.runner.id}]`)} StopAllRunners`);
1654
- runner.terminate = true;
1655
- await runner.runnerInstance.StopRunner();
1711
+ const promArray = [];
1712
+ for (const [, runner] of Object.entries(__privateGet(this, _GetAllRunners))) {
1713
+ promArray.push(__privateGet(this, _StopRunnerByRunnerById).call(this, runner.id));
1656
1714
  }
1715
+ await Promise.all(promArray);
1657
1716
  await stsutils.Sleep(0);
1658
1717
  });
1659
1718
  __privateAdd(this, _StopRunner, async (testRunnerTelemetryPayload) => {
1660
- const { runner } = testRunnerTelemetryPayload;
1661
- __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runner.id}]`)} StopRunner`);
1662
- __privateGet(this, _runners)[runner.id].terminate = true;
1663
- await __privateGet(this, _runners)[runner.id].runnerInstance.StopRunner();
1664
- await stsutils.Sleep(0);
1719
+ await __privateGet(this, _StopRunnerByRunnerById).call(this, testRunnerTelemetryPayload.runner.id);
1665
1720
  });
1666
1721
  __privateAdd(this, _TerminateRunner, async (testRunnerTelemetryPayload) => {
1667
- const { runner } = testRunnerTelemetryPayload;
1668
- __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runner.id}]`)} TerminateRunner`);
1669
- __privateGet(this, _runners)[runner.id].terminate = true;
1670
- const retVal = await __privateGet(this, _runners)[runner.id].runnerInstance.TerminateRunner();
1671
- __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runner.id}]`)} TerminateRunner Result = [${retVal}]`);
1722
+ const runnerId = testRunnerTelemetryPayload.runner.id;
1723
+ __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runnerId}]`)} TerminateRunner`);
1724
+ __privateGet(this, _UpdateRunnerStateById).call(this, runnerId, IRunnerState.terminating);
1725
+ await stsutils.Sleep(0);
1726
+ const retVal = await __privateGet(this, _GetRunnerInstanceById).call(this, runnerId).TerminateRunner();
1727
+ __privateGet(this, _UpdateRunnerStateById).call(this, runnerId, IRunnerState.terminated);
1728
+ __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runnerId}]`)} TerminateRunner Result = [${retVal}]`);
1672
1729
  await stsutils.Sleep(0);
1673
1730
  });
1674
1731
  __privateAdd(this, _PauseRunner, async (testRunnerTelemetryPayload) => {
1675
- const { runner } = testRunnerTelemetryPayload;
1676
- __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runner.id}]`)} PauseRunner`);
1677
- __privateGet(this, _runners)[runner.id].paused = true;
1678
- await __privateGet(this, _runners)[runner.id].runnerInstance.PauseRunner();
1732
+ const runnerId = testRunnerTelemetryPayload.runner.id;
1733
+ __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runnerId}]`)} PauseRunner`);
1734
+ __privateGet(this, _UpdateRunnerStateById).call(this, runnerId, IRunnerState.pausing);
1735
+ await stsutils.Sleep(0);
1736
+ await __privateGet(this, _GetRunnerInstanceById).call(this, runnerId).PauseRunner();
1737
+ __privateGet(this, _UpdateRunnerStateById).call(this, runnerId, IRunnerState.paused);
1679
1738
  await stsutils.Sleep(0);
1680
1739
  });
1681
1740
  __privateAdd(this, _ResumeRunner, async (testRunnerTelemetryPayload) => {
1682
- const { runner } = testRunnerTelemetryPayload;
1683
- __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runner.id}]`)} ResumeRunner`);
1684
- __privateGet(this, _runners)[runner.id].paused = false;
1685
- await __privateGet(this, _runners)[runner.id].runnerInstance.ResumeRunner();
1741
+ const runnerId = testRunnerTelemetryPayload.runner.id;
1742
+ __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runnerId}]`)} ResumeRunner`);
1743
+ __privateGet(this, _UpdateRunnerStateById).call(this, runnerId, IRunnerState.resuming);
1744
+ await stsutils.Sleep(0);
1745
+ await __privateGet(this, _GetRunnerInstanceById).call(this, runnerId).ResumeRunner();
1746
+ __privateGet(this, _UpdateRunnerStateById).call(this, runnerId, IRunnerState.resumed);
1686
1747
  await stsutils.Sleep(0);
1687
1748
  });
1688
1749
  __privateAdd(this, _ResetRunner, async (testRunnerTelemetryPayload) => {
1689
- const { runner } = testRunnerTelemetryPayload;
1690
- __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runner.id}]`)} ResetRunner`);
1691
- __privateGet(this, _runners)[runner.id].terminate = true;
1692
- __privateGet(this, _runners)[runner.id].iteration = 0;
1693
- await __privateGet(this, _runners)[runner.id].runnerInstance.ResetRunner();
1750
+ const runnerId = testRunnerTelemetryPayload.runner.id;
1751
+ __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runnerId}]`)} ResetRunner`);
1752
+ __privateGet(this, _ResetRunnerIterationById).call(this, runnerId);
1753
+ __privateGet(this, _UpdateRunnerStateById).call(this, runnerId, IRunnerState.resetting);
1754
+ await stsutils.Sleep(0);
1755
+ await __privateGet(this, _GetRunnerInstanceById).call(this, runnerId).ResetRunner();
1756
+ __privateGet(this, _UpdateRunnerStateById).call(this, runnerId, IRunnerState.reset);
1694
1757
  await stsutils.Sleep(0);
1695
1758
  });
1696
1759
  // Execute a single iteration of this runners work item
1697
1760
  __privateAdd(this, _ExecuteRunner, async (testRunnerTelemetryPayload) => {
1698
- const { runner } = testRunnerTelemetryPayload;
1699
- __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runner.id}]`)} ExecuteRunner`);
1700
- await __privateGet(this, _runners)[runner.id].runnerInstance.Execute(__privateGet(this, _runners)[runner.id].iteration);
1701
- __privateGet(this, _runners)[runner.id].iteration++;
1761
+ const runnerId = testRunnerTelemetryPayload.runner.id;
1762
+ __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runnerId}]`)} ExecuteRunner`);
1763
+ __privateGet(this, _UpdateRunnerStateById).call(this, runnerId, IRunnerState.executing);
1764
+ await stsutils.Sleep(0);
1765
+ await __privateGet(this, _GetRunnerInstanceById).call(this, runnerId).Execute(__privateGet(this, _GetRunnerIterationById).call(this, runnerId));
1766
+ __privateGet(this, _IncRunnerIterationById).call(this, runnerId);
1767
+ __privateGet(this, _UpdateRunnerStateById).call(this, runnerId, IRunnerState.executed);
1702
1768
  await stsutils.Sleep(0);
1703
1769
  });
1704
1770
  __privateAdd(this, _UpdateOptions, async (testRunnerTelemetryPayload) => {
1705
- const { runner } = testRunnerTelemetryPayload;
1706
- __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runner.id}]`)} UpdateOptions`);
1707
- console.log(chalk$1.cyan(`before: [${JSON.stringify(__privateGet(this, _runners)[runner.id].runner.options)}]`));
1708
- __privateGet(this, _runners)[runner.id].runner.options = { ...runner.options };
1709
- console.log(chalk$1.cyan(`after: [${JSON.stringify(__privateGet(this, _runners)[runner.id].runner.options)}]`));
1710
- await __privateGet(this, _runners)[runner.id].runnerInstance.UpdateOptions();
1771
+ const runnerId = testRunnerTelemetryPayload.runner.id;
1772
+ __privateGet(this, _debug).call(this, `${chalk$1.magenta(`runner: [${runnerId}]`)} UpdateOptions`);
1773
+ console.log(chalk$1.cyan(`before: [${JSON.stringify(__privateGet(this, _GetRunnerOptionsById).call(this, runnerId))}]`));
1774
+ __privateGet(this, _SetRunnerOptionsById).call(this, runnerId, testRunnerTelemetryPayload.runner.options);
1775
+ console.log(chalk$1.cyan(`after: [${JSON.stringify(__privateGet(this, _GetRunnerOptionsById).call(this, runnerId))}]`));
1776
+ await __privateGet(this, _GetRunnerInstanceById).call(this, runnerId).UpdateOptions();
1711
1777
  await stsutils.Sleep(0);
1712
1778
  });
1713
1779
  // ProcessMessage = async(data: MessageEvent) => { // Browser version
@@ -1786,6 +1852,17 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1786
1852
  _workerId = new WeakMap();
1787
1853
  _debug = new WeakMap();
1788
1854
  _SetMessagePort = new WeakMap();
1855
+ _CreateRunnerEx2RunState = new WeakMap();
1856
+ _UpdateRunnerStateById = new WeakMap();
1857
+ _GetAllRunners = new WeakMap();
1858
+ _CanExecuteNextIterationById = new WeakMap();
1859
+ _GetRunnerIterationById = new WeakMap();
1860
+ _ResetRunnerIterationById = new WeakMap();
1861
+ _IncRunnerIterationById = new WeakMap();
1862
+ _GetRunnerInstanceById = new WeakMap();
1863
+ _GetRunnerExecutionProfileById = new WeakMap();
1864
+ _GetRunnerOptionsById = new WeakMap();
1865
+ _SetRunnerOptionsById = new WeakMap();
1789
1866
  _AddRunner = new WeakMap();
1790
1867
  _WorkerInstance_instances = new WeakSet();
1791
1868
  SleepImmediate_fn = function() {
@@ -1793,7 +1870,9 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1793
1870
  resolve();
1794
1871
  });
1795
1872
  };
1873
+ _PostMessageToWorkerManagerById = new WeakMap();
1796
1874
  _StartRunner = new WeakMap();
1875
+ _StopRunnerByRunnerById = new WeakMap();
1797
1876
  _StopAllRunners = new WeakMap();
1798
1877
  _StopRunner = new WeakMap();
1799
1878
  _TerminateRunner = new WeakMap();
@@ -1963,10 +2042,17 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1963
2042
  } else {
1964
2043
  workerFactory = __privateGet(this, _options4).workerFactory;
1965
2044
  }
2045
+ const {
2046
+ port1,
2047
+ // process message port
2048
+ port2
2049
+ // collector message port
2050
+ } = new MessageChannel();
1966
2051
  const workerId = v4$1();
1967
2052
  const stsWorkerEx = {
1968
2053
  id: workerId,
1969
2054
  worker: workerFactory.createWorkerThreadWorker(),
2055
+ messagePort: port1,
1970
2056
  state: IWorkerState.starting,
1971
2057
  workerThreadWorkerOptions: workerFactory.workerThreadWorkerOptions,
1972
2058
  runnersEx: {},
@@ -1994,36 +2080,44 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
1994
2080
  };
1995
2081
  __privateGet(this, _STSInstrumentController).LogEx(chalk$1.yellow(`pid: [${process.pid}] Creating new worker: [${stsWorkerEx.id}]`));
1996
2082
  __privateGet(this, _debug2).call(this, `Adding worker: [${stsWorkerEx.id}]`);
1997
- const {
1998
- port1,
1999
- // process message port
2000
- port2
2001
- // collector message port
2002
- } = new MessageChannel();
2003
- const workerPort = port1;
2004
2083
  __privateGet(this, _debug2).call(this, `AddWorker::workerThreadWorkerOptions: [${stsWorkerEx.workerThreadWorkerOptions.id}]`);
2005
- __privateGet(this, _PostMessageToWorker).call(this, stsWorkerEx, eIWMessageCommands.MessagePort, {
2006
- port: port2,
2007
- //applicationStoreState: stateCopy,
2008
- options: {
2009
- ...stsWorkerEx.workerThreadWorkerOptions
2010
- },
2011
- workerId
2012
- }, port2);
2013
- if (isNode$1) {
2014
- stsWorkerEx.worker.on("exit", (code) => {
2015
- console.log(chalk$1.magenta(`STSWorkerManager:stsWorkerEx.worker.on(exit): Worker exited with code: ${code}`));
2016
- });
2017
- stsWorkerEx.worker.on("error", (error) => {
2018
- console.error(chalk$1.red(`STSWorkerManager:stsWorkerEx.worker.on(error): Worker error: ${error}`));
2084
+ if (stsWorkerEx.workerThreadWorkerOptions.mocked) {
2085
+ stsWorkerEx.worker.SetPort({
2086
+ command: eIWMessageCommands.MessagePort,
2087
+ payload: {
2088
+ port: port2,
2089
+ options: {
2090
+ ...stsWorkerEx.workerThreadWorkerOptions
2091
+ },
2092
+ workerId
2093
+ }
2019
2094
  });
2020
2095
  } else {
2021
- stsWorkerEx.worker.onerror = (error) => {
2022
- console.error(chalk$1.red("STSWorkerManager:stsWorkerEx.worker.onerror(): Error in worker:", error));
2023
- };
2024
- stsWorkerEx.worker.onmessageerror = (error) => {
2025
- console.error(chalk$1.red("STSWorkerManager:stsWorkerEx.worker.onmessageerror(): Message error in worker:", error));
2026
- };
2096
+ __privateGet(this, _PostMessageToWorkerUsingDefaultChannel).call(this, stsWorkerEx, eIWMessageCommands.MessagePort, {
2097
+ port: port2,
2098
+ //applicationStoreState: stateCopy,
2099
+ options: {
2100
+ ...stsWorkerEx.workerThreadWorkerOptions
2101
+ },
2102
+ workerId
2103
+ }, port2);
2104
+ }
2105
+ if (!stsWorkerEx.workerThreadWorkerOptions.mocked) {
2106
+ if (isNode$1) {
2107
+ stsWorkerEx.worker.on("exit", (code) => {
2108
+ console.log(chalk$1.magenta(`STSWorkerManager:stsWorkerEx.worker.on(exit): Worker exited with code: ${code}`));
2109
+ });
2110
+ stsWorkerEx.worker.on("error", (error) => {
2111
+ console.error(chalk$1.red(`STSWorkerManager:stsWorkerEx.worker.on(error): Worker error: ${error}`));
2112
+ });
2113
+ } else {
2114
+ stsWorkerEx.worker.onerror = (error) => {
2115
+ console.error(chalk$1.red("STSWorkerManager:stsWorkerEx.worker.onerror(): Error in worker:", error));
2116
+ };
2117
+ stsWorkerEx.worker.onmessageerror = (error) => {
2118
+ console.error(chalk$1.red("STSWorkerManager:stsWorkerEx.worker.onmessageerror(): Message error in worker:", error));
2119
+ };
2120
+ }
2027
2121
  }
2028
2122
  const processMessage = (data) => {
2029
2123
  const publishMessagePayload2 = data;
@@ -2037,18 +2131,21 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2037
2131
  case eIWMessageCommands.Completed:
2038
2132
  __privateGet(this, _ProcessCompleted).call(this, stsWorkerEx, publishMessagePayload2.payload);
2039
2133
  break;
2134
+ case eIWMessageCommands.RunnerStateChange:
2135
+ __privateGet(this, _RunnerStateChange).call(this, stsWorkerEx, publishMessagePayload2.payload);
2136
+ break;
2040
2137
  default:
2041
2138
  __privateGet(this, _debug2).call(this, `AddWorker::default`);
2042
2139
  }
2043
2140
  };
2044
2141
  let publishMessagePayload;
2045
2142
  if (isNode$1) {
2046
- workerPort.on("message", (data) => {
2143
+ stsWorkerEx.messagePort.on("message", (data) => {
2047
2144
  publishMessagePayload = data;
2048
2145
  processMessage(publishMessagePayload);
2049
2146
  });
2050
2147
  } else {
2051
- workerPort.onmessage = async (data) => {
2148
+ stsWorkerEx.messagePort.onmessage = async (data) => {
2052
2149
  publishMessagePayload = data.data;
2053
2150
  processMessage(publishMessagePayload);
2054
2151
  };
@@ -2091,6 +2188,13 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2091
2188
  }
2092
2189
  }
2093
2190
  });
2191
+ __privateAdd(this, _RunnerStateChange, (workerEx, payloadContents) => {
2192
+ const { runner } = payloadContents;
2193
+ if (workerEx.runnersEx[runner.id]) {
2194
+ const runnerEx = workerEx.runnersEx[runner.id];
2195
+ runnerEx.state = runner.state;
2196
+ }
2197
+ });
2094
2198
  __privateAdd(this, _ProcessCompleted, (workerEx, payloadContents) => {
2095
2199
  const { runner } = payloadContents;
2096
2200
  if (workerEx.runnersEvents[runner.id]) {
@@ -2114,6 +2218,8 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2114
2218
  };
2115
2219
  const runnerEx = {
2116
2220
  id: runnerOptions.id,
2221
+ state: IRunnerState.created,
2222
+ iteration: 0,
2117
2223
  publishInstrumentController: __privateGet(this, _STSInstrumentController).AddPublishInstrumentController(asyncRunnerContext),
2118
2224
  asyncRunnerContext,
2119
2225
  options: runnerOptions,
@@ -2156,7 +2262,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2156
2262
  };
2157
2263
  return runnerEx;
2158
2264
  });
2159
- __privateAdd(this, _PostMessageToWorker, (workerEx, command, payload, transferObject) => {
2265
+ __privateAdd(this, _PostMessageToWorkerUsingDefaultChannel, (workerEx, command, payload, transferObject) => {
2160
2266
  if (transferObject) {
2161
2267
  __privateGet(this, _debug2).call(this, `#PostMessageToWorker with transfer object`);
2162
2268
  workerEx.worker.postMessage({ command, payload }, [transferObject]);
@@ -2166,28 +2272,36 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2166
2272
  workerEx.worker.postMessage({ command, payload });
2167
2273
  }
2168
2274
  });
2275
+ __privateAdd(this, _PostMessageToWorker, (workerEx, command, payload) => {
2276
+ __privateGet(this, _debug2).call(this, `#PostMessageToWorker`);
2277
+ workerEx.messagePort.postMessage({ command, payload });
2278
+ });
2169
2279
  __privateAdd(this, _StartRunner2, async (workerEx, runnerEx) => {
2170
2280
  __privateGet(this, _PostMessageToWorker).call(this, workerEx, eIWMessageCommands.StartRunner, {
2171
2281
  runner: __privateMethod(this, _STSWorkerManager_instances, CreateRunnerCopy_fn).call(this, runnerEx)
2172
2282
  });
2283
+ runnerEx.state = IRunnerState.running;
2173
2284
  return true;
2174
2285
  });
2175
2286
  __privateAdd(this, _ResetRunner2, async (workerEx, runnerEx) => {
2176
2287
  __privateGet(this, _PostMessageToWorker).call(this, workerEx, eIWMessageCommands.ResetRunner, {
2177
2288
  runner: __privateMethod(this, _STSWorkerManager_instances, CreateRunnerCopy_fn).call(this, runnerEx)
2178
2289
  });
2290
+ runnerEx.state = IRunnerState.stopped;
2179
2291
  return true;
2180
2292
  });
2181
2293
  __privateAdd(this, _ExecuteRunner2, async (workerEx, runnerEx) => {
2182
2294
  __privateGet(this, _PostMessageToWorker).call(this, workerEx, eIWMessageCommands.ExecuteRunner, {
2183
2295
  runner: __privateMethod(this, _STSWorkerManager_instances, CreateRunnerCopy_fn).call(this, runnerEx)
2184
2296
  });
2297
+ runnerEx.state = IRunnerState.running;
2185
2298
  return true;
2186
2299
  });
2187
2300
  __privateAdd(this, _StopRunner2, async (workerEx, runnerEx) => {
2188
2301
  __privateGet(this, _PostMessageToWorker).call(this, workerEx, eIWMessageCommands.StopRunner, {
2189
2302
  runner: __privateMethod(this, _STSWorkerManager_instances, CreateRunnerCopy_fn).call(this, runnerEx)
2190
2303
  });
2304
+ runnerEx.state = IRunnerState.stopped;
2191
2305
  return true;
2192
2306
  });
2193
2307
  __privateAdd(this, _TerminateRunner2, async (workerEx, runnerEx = null) => {
@@ -2382,13 +2496,17 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
2382
2496
  id: runnerEx.id,
2383
2497
  asyncRunnerContext: { ...runnerEx.asyncRunnerContext },
2384
2498
  options: { ...runnerEx.options },
2385
- instrumentData: { ...runnerEx.instrumentData }
2499
+ instrumentData: { ...runnerEx.instrumentData },
2500
+ iteration: runnerEx.iteration,
2501
+ state: runnerEx.state
2386
2502
  };
2387
2503
  };
2388
2504
  _SetRunnerIntoWorker = new WeakMap();
2389
2505
  _ProcessTelemetry = new WeakMap();
2506
+ _RunnerStateChange = new WeakMap();
2390
2507
  _ProcessCompleted = new WeakMap();
2391
2508
  _CreateAsyncRunner = new WeakMap();
2509
+ _PostMessageToWorkerUsingDefaultChannel = new WeakMap();
2392
2510
  _PostMessageToWorker = new WeakMap();
2393
2511
  _StartRunner2 = new WeakMap();
2394
2512
  _ResetRunner2 = new WeakMap();
@@ -3723,7 +3841,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
3723
3841
  }
3724
3842
  function buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {
3725
3843
  let isRelativeUrl = !isAbsoluteURL(requestedURL);
3726
- if (baseURL && isRelativeUrl || allowAbsoluteUrls == false) {
3844
+ if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {
3727
3845
  return combineURLs(baseURL, requestedURL);
3728
3846
  }
3729
3847
  return requestedURL;
@@ -4327,7 +4445,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
4327
4445
  return Promise.reject(reason);
4328
4446
  });
4329
4447
  }
4330
- const VERSION$1 = "1.8.3";
4448
+ const VERSION$1 = "1.8.4";
4331
4449
  const validators$2 = {};
4332
4450
  ["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i) => {
4333
4451
  validators$2[type] = function validator2(thing) {
@@ -4824,7 +4942,7 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
4824
4942
  default: __viteBrowserExternal$2
4825
4943
  }, Symbol.toStringTag, { value: "Module" }));
4826
4944
  const require$$0$3 = /* @__PURE__ */ getAugmentedNamespace(__viteBrowserExternal$1$1);
4827
- const version$2 = "16.4.7";
4945
+ const version$2 = "16.5.0";
4828
4946
  const require$$4$1 = {
4829
4947
  version: version$2
4830
4948
  };
@@ -4883,9 +5001,6 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
4883
5001
  }
4884
5002
  return DotenvModule.parse(decrypted);
4885
5003
  }
4886
- function _log(message2) {
4887
- console.log(`[dotenv@${version2}][INFO] ${message2}`);
4888
- }
4889
5004
  function _warn(message2) {
4890
5005
  console.log(`[dotenv@${version2}][WARN] ${message2}`);
4891
5006
  }
@@ -4958,7 +5073,10 @@ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "acce
4958
5073
  return envPath[0] === "~" ? path.join(os.homedir(), envPath.slice(1)) : envPath;
4959
5074
  }
4960
5075
  function _configVault(options) {
4961
- _log("Loading env from encrypted .env.vault");
5076
+ const debug = Boolean(options && options.debug);
5077
+ if (debug) {
5078
+ _debug3("Loading env from encrypted .env.vault");
5079
+ }
4962
5080
  const parsed = DotenvModule._parseVault(options);
4963
5081
  let processEnv = process.env;
4964
5082
  if (options && options.processEnv != null) {
@@ -19197,7 +19315,7 @@ ${newlined}
19197
19315
  jwks = jwks.filter(({ use }) => use === "sig" || use === void 0).filter(({ kty }) => kty === "RSA" || kty === "EC" || kty === "OKP");
19198
19316
  for (const jwk of jwks) {
19199
19317
  try {
19200
- const key = await jose.importJWK(jwk, resolveAlg(jwk));
19318
+ const key = await jose.importJWK({ ...jwk, ext: true }, resolveAlg(jwk));
19201
19319
  if (key.type !== "public") {
19202
19320
  continue;
19203
19321
  }
@@ -21599,7 +21717,7 @@ ${newlined}
21599
21717
  default: __viteBrowserExternal
21600
21718
  }, Symbol.toStringTag, { value: "Module" }));
21601
21719
  const require$$0 = /* @__PURE__ */ getAugmentedNamespace$1(__viteBrowserExternal$1);
21602
- const version = "16.4.7";
21720
+ const version = "16.5.0";
21603
21721
  const require$$4 = {
21604
21722
  version
21605
21723
  };
@@ -21658,9 +21776,6 @@ ${newlined}
21658
21776
  }
21659
21777
  return DotenvModule.parse(decrypted);
21660
21778
  }
21661
- function _log(message2) {
21662
- console.log(`[dotenv@${version2}][INFO] ${message2}`);
21663
- }
21664
21779
  function _warn(message2) {
21665
21780
  console.log(`[dotenv@${version2}][WARN] ${message2}`);
21666
21781
  }
@@ -21733,7 +21848,10 @@ ${newlined}
21733
21848
  return envPath[0] === "~" ? path.join(os.homedir(), envPath.slice(1)) : envPath;
21734
21849
  }
21735
21850
  function _configVault(options) {
21736
- _log("Loading env from encrypted .env.vault");
21851
+ const debug = Boolean(options && options.debug);
21852
+ if (debug) {
21853
+ _debug3("Loading env from encrypted .env.vault");
21854
+ }
21737
21855
  const parsed = DotenvModule._parseVault(options);
21738
21856
  let processEnv = process.env;
21739
21857
  if (options && options.processEnv != null) {