@midscene/core 1.12.10-beta-20260920031616.0 → 1.13.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.
- package/dist/es/agent/agent.mjs +103 -6
- package/dist/es/agent/agent.mjs.map +1 -1
- package/dist/es/agent/index.mjs +4 -3
- package/dist/es/agent/tasks.mjs +2 -2
- package/dist/es/agent/tasks.mjs.map +1 -1
- package/dist/es/agent/test-runner-nodes.mjs +291 -40
- package/dist/es/agent/test-runner-nodes.mjs.map +1 -1
- package/dist/es/agent/utils.mjs +1 -1
- package/dist/es/device/index.mjs +15 -2
- package/dist/es/device/index.mjs.map +1 -1
- package/dist/es/dump/html-utils.mjs +37 -4
- package/dist/es/dump/html-utils.mjs.map +1 -1
- package/dist/es/dump/screenshot-store.mjs +8 -1
- package/dist/es/dump/screenshot-store.mjs.map +1 -1
- package/dist/es/report-cli.mjs +9 -4
- package/dist/es/report-cli.mjs.map +1 -1
- package/dist/es/report-generator.mjs +117 -4
- package/dist/es/report-generator.mjs.map +1 -1
- package/dist/es/report-html-template.mjs +1 -1
- package/dist/es/report.mjs +190 -41
- package/dist/es/report.mjs.map +1 -1
- package/dist/es/test-run-report.mjs.map +1 -1
- package/dist/es/test-runner/engine/case-runner.mjs +52 -0
- package/dist/es/test-runner/engine/case-runner.mjs.map +1 -0
- package/dist/es/test-runner/engine/document-runtime.mjs +273 -0
- package/dist/es/test-runner/engine/document-runtime.mjs.map +1 -0
- package/dist/es/test-runner/engine/execute-step.mjs +177 -0
- package/dist/es/test-runner/engine/execute-step.mjs.map +1 -0
- package/dist/es/test-runner/engine/execution-failure.mjs +39 -0
- package/dist/es/test-runner/engine/execution-failure.mjs.map +1 -0
- package/dist/es/test-runner/engine/index.mjs +12 -0
- package/dist/es/test-runner/engine/project-runtime.mjs +142 -0
- package/dist/es/test-runner/engine/project-runtime.mjs.map +1 -0
- package/dist/es/test-runner/engine/registry.mjs +61 -0
- package/dist/es/test-runner/engine/registry.mjs.map +1 -0
- package/dist/es/test-runner/engine/resource-operations.mjs +211 -0
- package/dist/es/test-runner/engine/resource-operations.mjs.map +1 -0
- package/dist/es/test-runner/engine/run-collected-case.mjs +193 -0
- package/dist/es/test-runner/engine/run-collected-case.mjs.map +1 -0
- package/dist/es/test-runner/engine/run-workflow-document.mjs +155 -0
- package/dist/es/test-runner/engine/run-workflow-document.mjs.map +1 -0
- package/dist/es/test-runner/engine/scheduler.mjs +27 -0
- package/dist/es/test-runner/engine/scheduler.mjs.map +1 -0
- package/dist/es/test-runner/engine/scope-teardown.mjs +16 -0
- package/dist/es/test-runner/engine/scope-teardown.mjs.map +1 -0
- package/dist/es/test-runner/engine/types.mjs +0 -0
- package/dist/es/test-runner/errors.mjs +201 -0
- package/dist/es/test-runner/errors.mjs.map +1 -0
- package/dist/es/test-runner/execution-record.mjs +83 -0
- package/dist/es/test-runner/execution-record.mjs.map +1 -0
- package/dist/es/test-runner/index.mjs +12 -0
- package/dist/es/test-runner/node/define-node.mjs +44 -0
- package/dist/es/test-runner/node/define-node.mjs.map +1 -0
- package/dist/es/test-runner/node/index.mjs +2 -0
- package/dist/es/test-runner/node/types.mjs +0 -0
- package/dist/es/test-runner/parser/document-format.mjs +21 -0
- package/dist/es/test-runner/parser/document-format.mjs.map +1 -0
- package/dist/es/test-runner/parser/normalize.mjs +87 -0
- package/dist/es/test-runner/parser/normalize.mjs.map +1 -0
- package/dist/es/test-runner/parser/types.mjs +0 -0
- package/dist/es/test-runner/project.mjs +0 -0
- package/dist/es/test-runner/reporting/agent-report.mjs +23 -0
- package/dist/es/test-runner/reporting/agent-report.mjs.map +1 -0
- package/dist/es/test-runner/reporting/execution-record.mjs +73 -0
- package/dist/es/test-runner/reporting/execution-record.mjs.map +1 -0
- package/dist/es/test-runner/reporting/merge-report.mjs +231 -0
- package/dist/es/test-runner/reporting/merge-report.mjs.map +1 -0
- package/dist/es/test-runner/reporting/sanitize.mjs +162 -0
- package/dist/es/test-runner/reporting/sanitize.mjs.map +1 -0
- package/dist/es/test-runner/reporting/test-run-report.mjs +327 -0
- package/dist/es/test-runner/reporting/test-run-report.mjs.map +1 -0
- package/dist/es/test-runner/reporting/types.mjs +0 -0
- package/dist/es/utils.mjs +1 -1
- package/dist/es/yaml/execution-context.node.mjs +6 -0
- package/dist/es/yaml/execution-context.node.mjs.map +1 -0
- package/dist/es/yaml/execution-context.stub.mjs +8 -0
- package/dist/es/yaml/execution-context.stub.mjs.map +1 -0
- package/dist/es/yaml/execution-session.mjs +90 -0
- package/dist/es/yaml/execution-session.mjs.map +1 -0
- package/dist/es/yaml/index.mjs +2 -1
- package/dist/es/yaml/legacy-yaml-execution-record.mjs +47 -0
- package/dist/es/yaml/legacy-yaml-execution-record.mjs.map +1 -0
- package/dist/es/yaml/legacy-yaml-report.mjs +52 -0
- package/dist/es/yaml/legacy-yaml-report.mjs.map +1 -0
- package/dist/es/yaml/legacy-yaml-runtime.mjs +119 -0
- package/dist/es/yaml/legacy-yaml-runtime.mjs.map +1 -0
- package/dist/es/yaml/player-state.mjs +15 -0
- package/dist/es/yaml/player-state.mjs.map +1 -0
- package/dist/es/yaml/player.mjs +214 -348
- package/dist/es/yaml/player.mjs.map +1 -1
- package/dist/es/yaml/report-policy.mjs +7 -0
- package/dist/es/yaml/report-policy.mjs.map +1 -0
- package/dist/es/yaml/test-runner-compat.mjs +301 -0
- package/dist/es/yaml/test-runner-compat.mjs.map +1 -0
- package/dist/es/yaml/test-runner-nodes.mjs +147 -0
- package/dist/es/yaml/test-runner-nodes.mjs.map +1 -0
- package/dist/es/yaml/utils.mjs +12 -1
- package/dist/es/yaml/utils.mjs.map +1 -1
- package/dist/es/yaml-runtime.mjs +7 -0
- package/dist/es/yaml.mjs.map +1 -1
- package/dist/lib/agent/agent.js +103 -6
- package/dist/lib/agent/agent.js.map +1 -1
- package/dist/lib/agent/index.js +37 -3
- package/dist/lib/agent/tasks.js +2 -2
- package/dist/lib/agent/tasks.js.map +1 -1
- package/dist/lib/agent/test-runner-nodes.js +329 -45
- package/dist/lib/agent/test-runner-nodes.js.map +1 -1
- package/dist/lib/agent/utils.js +1 -1
- package/dist/lib/device/index.js +15 -2
- package/dist/lib/device/index.js.map +1 -1
- package/dist/lib/dump/html-utils.js +43 -4
- package/dist/lib/dump/html-utils.js.map +1 -1
- package/dist/lib/dump/screenshot-store.js +8 -1
- package/dist/lib/dump/screenshot-store.js.map +1 -1
- package/dist/lib/report-cli.js +8 -3
- package/dist/lib/report-cli.js.map +1 -1
- package/dist/lib/report-generator.js +114 -1
- package/dist/lib/report-generator.js.map +1 -1
- package/dist/lib/report-html-template.js +1 -1
- package/dist/lib/report.js +187 -38
- package/dist/lib/report.js.map +1 -1
- package/dist/lib/test-run-report.js.map +1 -1
- package/dist/lib/test-runner/engine/case-runner.js +89 -0
- package/dist/lib/test-runner/engine/case-runner.js.map +1 -0
- package/dist/lib/test-runner/engine/document-runtime.js +307 -0
- package/dist/lib/test-runner/engine/document-runtime.js.map +1 -0
- package/dist/lib/test-runner/engine/execute-step.js +211 -0
- package/dist/lib/test-runner/engine/execute-step.js.map +1 -0
- package/dist/lib/test-runner/engine/execution-failure.js +79 -0
- package/dist/lib/test-runner/engine/execution-failure.js.map +1 -0
- package/dist/lib/test-runner/engine/index.js +137 -0
- package/dist/lib/test-runner/engine/index.js.map +1 -0
- package/dist/lib/test-runner/engine/project-runtime.js +176 -0
- package/dist/lib/test-runner/engine/project-runtime.js.map +1 -0
- package/dist/lib/test-runner/engine/registry.js +95 -0
- package/dist/lib/test-runner/engine/registry.js.map +1 -0
- package/dist/lib/test-runner/engine/resource-operations.js +272 -0
- package/dist/lib/test-runner/engine/resource-operations.js.map +1 -0
- package/dist/lib/test-runner/engine/run-collected-case.js +227 -0
- package/dist/lib/test-runner/engine/run-collected-case.js.map +1 -0
- package/dist/lib/test-runner/engine/run-workflow-document.js +189 -0
- package/dist/lib/test-runner/engine/run-workflow-document.js.map +1 -0
- package/dist/lib/test-runner/engine/scheduler.js +64 -0
- package/dist/lib/test-runner/engine/scheduler.js.map +1 -0
- package/dist/lib/test-runner/engine/scope-teardown.js +50 -0
- package/dist/lib/test-runner/engine/scope-teardown.js.map +1 -0
- package/dist/lib/test-runner/engine/types.js +20 -0
- package/dist/lib/test-runner/engine/types.js.map +1 -0
- package/dist/lib/test-runner/errors.js +283 -0
- package/dist/lib/test-runner/errors.js.map +1 -0
- package/dist/lib/test-runner/execution-record.js +123 -0
- package/dist/lib/test-runner/execution-record.js.map +1 -0
- package/dist/lib/test-runner/index.js +137 -0
- package/dist/lib/test-runner/index.js.map +1 -0
- package/dist/lib/test-runner/node/define-node.js +78 -0
- package/dist/lib/test-runner/node/define-node.js.map +1 -0
- package/dist/lib/test-runner/node/index.js +67 -0
- package/dist/lib/test-runner/node/index.js.map +1 -0
- package/dist/lib/test-runner/node/types.js +20 -0
- package/dist/lib/test-runner/node/types.js.map +1 -0
- package/dist/lib/test-runner/parser/document-format.js +58 -0
- package/dist/lib/test-runner/parser/document-format.js.map +1 -0
- package/dist/lib/test-runner/parser/normalize.js +124 -0
- package/dist/lib/test-runner/parser/normalize.js.map +1 -0
- package/dist/lib/test-runner/parser/types.js +20 -0
- package/dist/lib/test-runner/parser/types.js.map +1 -0
- package/dist/lib/test-runner/project.js +20 -0
- package/dist/lib/test-runner/project.js.map +1 -0
- package/dist/lib/test-runner/reporting/agent-report.js +57 -0
- package/dist/lib/test-runner/reporting/agent-report.js.map +1 -0
- package/dist/lib/test-runner/reporting/execution-record.js +107 -0
- package/dist/lib/test-runner/reporting/execution-record.js.map +1 -0
- package/dist/lib/test-runner/reporting/merge-report.js +265 -0
- package/dist/lib/test-runner/reporting/merge-report.js.map +1 -0
- package/dist/lib/test-runner/reporting/sanitize.js +202 -0
- package/dist/lib/test-runner/reporting/sanitize.js.map +1 -0
- package/dist/lib/test-runner/reporting/test-run-report.js +364 -0
- package/dist/lib/test-runner/reporting/test-run-report.js.map +1 -0
- package/dist/lib/test-runner/reporting/types.js +20 -0
- package/dist/lib/test-runner/reporting/types.js.map +1 -0
- package/dist/lib/utils.js +1 -1
- package/dist/lib/yaml/execution-context.node.js +43 -0
- package/dist/lib/yaml/execution-context.node.js.map +1 -0
- package/dist/lib/yaml/execution-context.stub.js +45 -0
- package/dist/lib/yaml/execution-context.stub.js.map +1 -0
- package/dist/lib/yaml/execution-session.js +136 -0
- package/dist/lib/yaml/execution-session.js.map +1 -0
- package/dist/lib/yaml/index.js +49 -7
- package/dist/lib/yaml/legacy-yaml-execution-record.js +81 -0
- package/dist/lib/yaml/legacy-yaml-execution-record.js.map +1 -0
- package/dist/lib/yaml/legacy-yaml-report.js +86 -0
- package/dist/lib/yaml/legacy-yaml-report.js.map +1 -0
- package/dist/lib/yaml/legacy-yaml-runtime.js +156 -0
- package/dist/lib/yaml/legacy-yaml-runtime.js.map +1 -0
- package/dist/lib/yaml/player-state.js +52 -0
- package/dist/lib/yaml/player-state.js.map +1 -0
- package/dist/lib/yaml/player.js +213 -347
- package/dist/lib/yaml/player.js.map +1 -1
- package/dist/lib/yaml/report-policy.js +41 -0
- package/dist/lib/yaml/report-policy.js.map +1 -0
- package/dist/lib/yaml/test-runner-compat.js +344 -0
- package/dist/lib/yaml/test-runner-compat.js.map +1 -0
- package/dist/lib/yaml/test-runner-nodes.js +184 -0
- package/dist/lib/yaml/test-runner-nodes.js.map +1 -0
- package/dist/lib/yaml/utils.js +18 -1
- package/dist/lib/yaml/utils.js.map +1 -1
- package/dist/lib/yaml-runtime.js +67 -0
- package/dist/lib/yaml-runtime.js.map +1 -0
- package/dist/lib/yaml.js.map +1 -1
- package/dist/types/agent/agent.d.ts +14 -1
- package/dist/types/agent/agent.d.ts.map +1 -1
- package/dist/types/agent/index.d.ts +4 -3
- package/dist/types/agent/index.d.ts.map +1 -1
- package/dist/types/agent/tasks.d.ts +1 -1
- package/dist/types/agent/tasks.d.ts.map +1 -1
- package/dist/types/agent/test-runner-nodes.d.ts +226 -0
- package/dist/types/agent/test-runner-nodes.d.ts.map +1 -1
- package/dist/types/device/index.d.ts +1 -1
- package/dist/types/device/index.d.ts.map +1 -1
- package/dist/types/dump/html-utils.d.ts +4 -0
- package/dist/types/dump/html-utils.d.ts.map +1 -1
- package/dist/types/dump/screenshot-store.d.ts +2 -1
- package/dist/types/dump/screenshot-store.d.ts.map +1 -1
- package/dist/types/report-cli.d.ts.map +1 -1
- package/dist/types/report-generator.d.ts +10 -0
- package/dist/types/report-generator.d.ts.map +1 -1
- package/dist/types/report.d.ts +3 -1
- package/dist/types/report.d.ts.map +1 -1
- package/dist/types/test-run-report.d.ts +18 -2
- package/dist/types/test-run-report.d.ts.map +1 -1
- package/dist/types/test-runner/engine/case-runner.d.ts +13 -0
- package/dist/types/test-runner/engine/case-runner.d.ts.map +1 -0
- package/dist/types/test-runner/engine/document-runtime.d.ts +4 -0
- package/dist/types/test-runner/engine/document-runtime.d.ts.map +1 -0
- package/dist/types/test-runner/engine/execute-step.d.ts +17 -0
- package/dist/types/test-runner/engine/execute-step.d.ts.map +1 -0
- package/dist/types/test-runner/engine/execution-failure.d.ts +13 -0
- package/dist/types/test-runner/engine/execution-failure.d.ts.map +1 -0
- package/dist/types/test-runner/engine/index.d.ts +13 -0
- package/dist/types/test-runner/engine/index.d.ts.map +1 -0
- package/dist/types/test-runner/engine/project-runtime.d.ts +3 -0
- package/dist/types/test-runner/engine/project-runtime.d.ts.map +1 -0
- package/dist/types/test-runner/engine/registry.d.ts +12 -0
- package/dist/types/test-runner/engine/registry.d.ts.map +1 -0
- package/dist/types/test-runner/engine/resource-operations.d.ts +32 -0
- package/dist/types/test-runner/engine/resource-operations.d.ts.map +1 -0
- package/dist/types/test-runner/engine/run-collected-case.d.ts +4 -0
- package/dist/types/test-runner/engine/run-collected-case.d.ts.map +1 -0
- package/dist/types/test-runner/engine/run-workflow-document.d.ts +4 -0
- package/dist/types/test-runner/engine/run-workflow-document.d.ts.map +1 -0
- package/dist/types/test-runner/engine/scheduler.d.ts +12 -0
- package/dist/types/test-runner/engine/scheduler.d.ts.map +1 -0
- package/dist/types/test-runner/engine/scope-teardown.d.ts +3 -0
- package/dist/types/test-runner/engine/scope-teardown.d.ts.map +1 -0
- package/dist/types/test-runner/engine/types.d.ts +226 -0
- package/dist/types/test-runner/engine/types.d.ts.map +1 -0
- package/dist/types/test-runner/errors.d.ts +79 -0
- package/dist/types/test-runner/errors.d.ts.map +1 -0
- package/dist/types/test-runner/execution-record.d.ts +43 -0
- package/dist/types/test-runner/execution-record.d.ts.map +1 -0
- package/dist/types/test-runner/index.d.ts +20 -0
- package/dist/types/test-runner/index.d.ts.map +1 -0
- package/dist/types/test-runner/node/define-node.d.ts +4 -0
- package/dist/types/test-runner/node/define-node.d.ts.map +1 -0
- package/dist/types/test-runner/node/index.d.ts +3 -0
- package/dist/types/test-runner/node/index.d.ts.map +1 -0
- package/dist/types/test-runner/node/types.d.ts +66 -0
- package/dist/types/test-runner/node/types.d.ts.map +1 -0
- package/dist/types/test-runner/parser/document-format.d.ts +8 -0
- package/dist/types/test-runner/parser/document-format.d.ts.map +1 -0
- package/dist/types/test-runner/parser/normalize.d.ts +9 -0
- package/dist/types/test-runner/parser/normalize.d.ts.map +1 -0
- package/dist/types/test-runner/parser/types.d.ts +69 -0
- package/dist/types/test-runner/parser/types.d.ts.map +1 -0
- package/dist/types/test-runner/project.d.ts +75 -0
- package/dist/types/test-runner/project.d.ts.map +1 -0
- package/dist/types/test-runner/reporting/agent-report.d.ts +9 -0
- package/dist/types/test-runner/reporting/agent-report.d.ts.map +1 -0
- package/dist/types/test-runner/reporting/execution-record.d.ts +9 -0
- package/dist/types/test-runner/reporting/execution-record.d.ts.map +1 -0
- package/dist/types/test-runner/reporting/merge-report.d.ts +15 -0
- package/dist/types/test-runner/reporting/merge-report.d.ts.map +1 -0
- package/dist/types/test-runner/reporting/sanitize.d.ts +6 -0
- package/dist/types/test-runner/reporting/sanitize.d.ts.map +1 -0
- package/dist/types/test-runner/reporting/test-run-report.d.ts +5 -0
- package/dist/types/test-runner/reporting/test-run-report.d.ts.map +1 -0
- package/dist/types/test-runner/reporting/types.d.ts +34 -0
- package/dist/types/test-runner/reporting/types.d.ts.map +1 -0
- package/dist/types/yaml/execution-context.node.d.ts +4 -0
- package/dist/types/yaml/execution-context.node.d.ts.map +1 -0
- package/dist/types/yaml/execution-context.stub.d.ts +6 -0
- package/dist/types/yaml/execution-context.stub.d.ts.map +1 -0
- package/dist/types/yaml/execution-session.d.ts +17 -0
- package/dist/types/yaml/execution-session.d.ts.map +1 -0
- package/dist/types/yaml/index.d.ts +1 -1
- package/dist/types/yaml/index.d.ts.map +1 -1
- package/dist/types/yaml/legacy-yaml-execution-record.d.ts +24 -0
- package/dist/types/yaml/legacy-yaml-execution-record.d.ts.map +1 -0
- package/dist/types/yaml/legacy-yaml-report.d.ts +19 -0
- package/dist/types/yaml/legacy-yaml-report.d.ts.map +1 -0
- package/dist/types/yaml/legacy-yaml-runtime.d.ts +23 -0
- package/dist/types/yaml/legacy-yaml-runtime.d.ts.map +1 -0
- package/dist/types/yaml/player-state.d.ts +11 -0
- package/dist/types/yaml/player-state.d.ts.map +1 -0
- package/dist/types/yaml/player.d.ts +11 -3
- package/dist/types/yaml/player.d.ts.map +1 -1
- package/dist/types/yaml/report-policy.d.ts +4 -0
- package/dist/types/yaml/report-policy.d.ts.map +1 -0
- package/dist/types/yaml/test-runner-compat.d.ts +17 -0
- package/dist/types/yaml/test-runner-compat.d.ts.map +1 -0
- package/dist/types/yaml/test-runner-nodes.d.ts +6 -0
- package/dist/types/yaml/test-runner-nodes.d.ts.map +1 -0
- package/dist/types/yaml/utils.d.ts +9 -0
- package/dist/types/yaml/utils.d.ts.map +1 -1
- package/dist/types/yaml-runtime.d.ts +13 -0
- package/dist/types/yaml-runtime.d.ts.map +1 -0
- package/dist/types/yaml.d.ts +25 -7
- package/dist/types/yaml.d.ts.map +1 -1
- package/package.json +28 -2
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
WorkflowExecutionFailure: ()=>WorkflowExecutionFailure,
|
|
28
|
+
WorkflowPublicationError: ()=>WorkflowPublicationError,
|
|
29
|
+
asExecutionError: ()=>asExecutionError
|
|
30
|
+
});
|
|
31
|
+
const external_errors_js_namespaceObject = require("../errors.js");
|
|
32
|
+
function _define_property(obj, key, value) {
|
|
33
|
+
if (key in obj) Object.defineProperty(obj, key, {
|
|
34
|
+
value: value,
|
|
35
|
+
enumerable: true,
|
|
36
|
+
configurable: true,
|
|
37
|
+
writable: true
|
|
38
|
+
});
|
|
39
|
+
else obj[key] = value;
|
|
40
|
+
return obj;
|
|
41
|
+
}
|
|
42
|
+
const errorMessage = (error)=>error && 'object' == typeof error && 'message' in error && 'string' == typeof error.message ? error.message : String(error);
|
|
43
|
+
class WorkflowExecutionFailure extends external_errors_js_namespaceObject.WorkflowError {
|
|
44
|
+
constructor(result, errors){
|
|
45
|
+
super(errors.map(errorMessage).join('; '), {
|
|
46
|
+
code: 'WORKFLOW_EXECUTION_FAILURE',
|
|
47
|
+
cause: errors[0]
|
|
48
|
+
}), _define_property(this, "result", void 0), _define_property(this, "errors", void 0), this.result = result, this.errors = errors;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
class WorkflowPublicationError extends external_errors_js_namespaceObject.WorkflowError {
|
|
52
|
+
constructor(operation, path, cause){
|
|
53
|
+
super(`Failed to ${operation} at ${path}: ${cause instanceof Error ? cause.message : String(cause)}`, {
|
|
54
|
+
code: 'WORKFLOW_PUBLICATION_FAILED',
|
|
55
|
+
details: {
|
|
56
|
+
operation,
|
|
57
|
+
path
|
|
58
|
+
},
|
|
59
|
+
cause
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const asExecutionError = (error)=>error instanceof external_errors_js_namespaceObject.WorkflowError ? error : new external_errors_js_namespaceObject.WorkflowError(errorMessage(error), {
|
|
64
|
+
code: 'WORKFLOW_EXECUTION_FAILURE',
|
|
65
|
+
cause: error
|
|
66
|
+
});
|
|
67
|
+
exports.WorkflowExecutionFailure = __webpack_exports__.WorkflowExecutionFailure;
|
|
68
|
+
exports.WorkflowPublicationError = __webpack_exports__.WorkflowPublicationError;
|
|
69
|
+
exports.asExecutionError = __webpack_exports__.asExecutionError;
|
|
70
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
71
|
+
"WorkflowExecutionFailure",
|
|
72
|
+
"WorkflowPublicationError",
|
|
73
|
+
"asExecutionError"
|
|
74
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
75
|
+
Object.defineProperty(exports, '__esModule', {
|
|
76
|
+
value: true
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=execution-failure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-runner/engine/execution-failure.js","sources":["webpack/runtime/define_property_getters","webpack/runtime/has_own_property","webpack/runtime/make_namespace_object","../../../../src/test-runner/engine/execution-failure.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { WorkflowError } from '../errors';\n\nconst errorMessage = (error: unknown): string =>\n error &&\n typeof error === 'object' &&\n 'message' in error &&\n typeof error.message === 'string'\n ? error.message\n : String(error);\n\n/** An infrastructure failure still carries all execution facts collected so far. */\nexport class WorkflowExecutionFailure<T> extends WorkflowError {\n constructor(\n readonly result: T,\n readonly errors: readonly unknown[],\n ) {\n super(errors.map(errorMessage).join('; '), {\n code: 'WORKFLOW_EXECUTION_FAILURE',\n cause: errors[0],\n });\n }\n}\n\n/** Publication is an infrastructure failure, not a failed test action. */\nexport class WorkflowPublicationError extends WorkflowError {\n constructor(\n operation: 'write-result' | 'write-report' | 'preserve-report',\n path: string,\n cause: unknown,\n ) {\n super(\n `Failed to ${operation} at ${path}: ${cause instanceof Error ? cause.message : String(cause)}`,\n {\n code: 'WORKFLOW_PUBLICATION_FAILED',\n details: { operation, path },\n cause,\n },\n );\n }\n}\n\nexport const asExecutionError = (error: unknown): WorkflowError =>\n error instanceof WorkflowError\n ? error\n : new WorkflowError(errorMessage(error), {\n code: 'WORKFLOW_EXECUTION_FAILURE',\n cause: error,\n });\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","errorMessage","error","String","WorkflowExecutionFailure","WorkflowError","result","errors","WorkflowPublicationError","operation","path","cause","Error","asExecutionError"],"mappings":";;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGD,oBAAoB,CAAC,CAACC,YAAYC,QAAQ,CAACF,oBAAoB,CAAC,CAAC,UAASE,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAF,oBAAoB,CAAC,GAAG,CAACI,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFL,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,eAAlB,OAAOM,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D;;;;;;;;;;;;;;;;;;;;ACJA,MAAMI,eAAe,CAACC,QACpBA,SACA,AAAiB,YAAjB,OAAOA,SACP,aAAaA,SACb,AAAyB,YAAzB,OAAOA,MAAM,OAAO,GAChBA,MAAM,OAAO,GACbC,OAAOD;AAGN,MAAME,iCAAoCC,mCAAAA,aAAaA;IAC5D,YACWC,MAAS,EACTC,MAA0B,CACnC;QACA,KAAK,CAACA,OAAO,GAAG,CAACN,cAAc,IAAI,CAAC,OAAO;YACzC,MAAM;YACN,OAAOM,MAAM,CAAC,EAAE;QAClB,6FANSD,MAAM,GAANA,QAAAA,IAAAA,CACAC,MAAM,GAANA;IAMX;AACF;AAGO,MAAMC,iCAAiCH,mCAAAA,aAAaA;IACzD,YACEI,SAA8D,EAC9DC,IAAY,EACZC,KAAc,CACd;QACA,KAAK,CACH,CAAC,UAAU,EAAEF,UAAU,IAAI,EAAEC,KAAK,EAAE,EAAEC,iBAAiBC,QAAQD,MAAM,OAAO,GAAGR,OAAOQ,QAAQ,EAC9F;YACE,MAAM;YACN,SAAS;gBAAEF;gBAAWC;YAAK;YAC3BC;QACF;IAEJ;AACF;AAEO,MAAME,mBAAmB,CAACX,QAC/BA,iBAAiBG,mCAAAA,aAAaA,GAC1BH,QACA,IAAIG,mCAAAA,aAAaA,CAACJ,aAAaC,QAAQ;QACrC,MAAM;QACN,OAAOA;IACT"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_modules__ = {
|
|
3
|
+
"./case-runner" (module) {
|
|
4
|
+
module.exports = require("./case-runner.js");
|
|
5
|
+
},
|
|
6
|
+
"./document-runtime" (module) {
|
|
7
|
+
module.exports = require("./document-runtime.js");
|
|
8
|
+
},
|
|
9
|
+
"./execute-step" (module) {
|
|
10
|
+
module.exports = require("./execute-step.js");
|
|
11
|
+
},
|
|
12
|
+
"./execution-failure" (module) {
|
|
13
|
+
module.exports = require("./execution-failure.js");
|
|
14
|
+
},
|
|
15
|
+
"./project-runtime" (module) {
|
|
16
|
+
module.exports = require("./project-runtime.js");
|
|
17
|
+
},
|
|
18
|
+
"./registry" (module) {
|
|
19
|
+
module.exports = require("./registry.js");
|
|
20
|
+
},
|
|
21
|
+
"./resource-operations" (module) {
|
|
22
|
+
module.exports = require("./resource-operations.js");
|
|
23
|
+
},
|
|
24
|
+
"./run-collected-case" (module) {
|
|
25
|
+
module.exports = require("./run-collected-case.js");
|
|
26
|
+
},
|
|
27
|
+
"./run-workflow-document" (module) {
|
|
28
|
+
module.exports = require("./run-workflow-document.js");
|
|
29
|
+
},
|
|
30
|
+
"./scheduler" (module) {
|
|
31
|
+
module.exports = require("./scheduler.js");
|
|
32
|
+
},
|
|
33
|
+
"./scope-teardown" (module) {
|
|
34
|
+
module.exports = require("./scope-teardown.js");
|
|
35
|
+
},
|
|
36
|
+
"./types" (module) {
|
|
37
|
+
module.exports = require("./types.js");
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var __webpack_module_cache__ = {};
|
|
41
|
+
function __webpack_require__(moduleId) {
|
|
42
|
+
var cachedModule = __webpack_module_cache__[moduleId];
|
|
43
|
+
if (void 0 !== cachedModule) return cachedModule.exports;
|
|
44
|
+
var module = __webpack_module_cache__[moduleId] = {
|
|
45
|
+
exports: {}
|
|
46
|
+
};
|
|
47
|
+
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
48
|
+
return module.exports;
|
|
49
|
+
}
|
|
50
|
+
(()=>{
|
|
51
|
+
__webpack_require__.n = (module)=>{
|
|
52
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
53
|
+
__webpack_require__.d(getter, {
|
|
54
|
+
a: getter
|
|
55
|
+
});
|
|
56
|
+
return getter;
|
|
57
|
+
};
|
|
58
|
+
})();
|
|
59
|
+
(()=>{
|
|
60
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
61
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
62
|
+
enumerable: true,
|
|
63
|
+
get: definition[key]
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
})();
|
|
67
|
+
(()=>{
|
|
68
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
69
|
+
})();
|
|
70
|
+
(()=>{
|
|
71
|
+
__webpack_require__.r = (exports1)=>{
|
|
72
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
73
|
+
value: 'Module'
|
|
74
|
+
});
|
|
75
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
76
|
+
value: true
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
})();
|
|
80
|
+
var __webpack_exports__ = {};
|
|
81
|
+
(()=>{
|
|
82
|
+
__webpack_require__.r(__webpack_exports__);
|
|
83
|
+
var _case_runner__rspack_import_0 = __webpack_require__("./case-runner");
|
|
84
|
+
var __rspack_reexport = {};
|
|
85
|
+
for(const __rspack_import_key in _case_runner__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_case_runner__rspack_import_0[__rspack_import_key];
|
|
86
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
87
|
+
var _document_runtime__rspack_import_1 = __webpack_require__("./document-runtime");
|
|
88
|
+
var __rspack_reexport = {};
|
|
89
|
+
for(const __rspack_import_key in _document_runtime__rspack_import_1)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_document_runtime__rspack_import_1[__rspack_import_key];
|
|
90
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
91
|
+
var _registry__rspack_import_2 = __webpack_require__("./registry");
|
|
92
|
+
var __rspack_reexport = {};
|
|
93
|
+
for(const __rspack_import_key in _registry__rspack_import_2)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_registry__rspack_import_2[__rspack_import_key];
|
|
94
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
95
|
+
var _run_collected_case__rspack_import_3 = __webpack_require__("./run-collected-case");
|
|
96
|
+
var __rspack_reexport = {};
|
|
97
|
+
for(const __rspack_import_key in _run_collected_case__rspack_import_3)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_run_collected_case__rspack_import_3[__rspack_import_key];
|
|
98
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
99
|
+
var _run_workflow_document__rspack_import_4 = __webpack_require__("./run-workflow-document");
|
|
100
|
+
var __rspack_reexport = {};
|
|
101
|
+
for(const __rspack_import_key in _run_workflow_document__rspack_import_4)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_run_workflow_document__rspack_import_4[__rspack_import_key];
|
|
102
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
103
|
+
var _types__rspack_import_5 = __webpack_require__("./types");
|
|
104
|
+
var __rspack_reexport = {};
|
|
105
|
+
for(const __rspack_import_key in _types__rspack_import_5)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_types__rspack_import_5[__rspack_import_key];
|
|
106
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
107
|
+
var _project_runtime__rspack_import_6 = __webpack_require__("./project-runtime");
|
|
108
|
+
var __rspack_reexport = {};
|
|
109
|
+
for(const __rspack_import_key in _project_runtime__rspack_import_6)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_project_runtime__rspack_import_6[__rspack_import_key];
|
|
110
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
111
|
+
var _execute_step__rspack_import_7 = __webpack_require__("./execute-step");
|
|
112
|
+
var __rspack_reexport = {};
|
|
113
|
+
for(const __rspack_import_key in _execute_step__rspack_import_7)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_execute_step__rspack_import_7[__rspack_import_key];
|
|
114
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
115
|
+
var _scope_teardown__rspack_import_8 = __webpack_require__("./scope-teardown");
|
|
116
|
+
var __rspack_reexport = {};
|
|
117
|
+
for(const __rspack_import_key in _scope_teardown__rspack_import_8)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_scope_teardown__rspack_import_8[__rspack_import_key];
|
|
118
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
119
|
+
var _execution_failure__rspack_import_9 = __webpack_require__("./execution-failure");
|
|
120
|
+
var __rspack_reexport = {};
|
|
121
|
+
for(const __rspack_import_key in _execution_failure__rspack_import_9)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_execution_failure__rspack_import_9[__rspack_import_key];
|
|
122
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
123
|
+
var _resource_operations__rspack_import_10 = __webpack_require__("./resource-operations");
|
|
124
|
+
var __rspack_reexport = {};
|
|
125
|
+
for(const __rspack_import_key in _resource_operations__rspack_import_10)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_resource_operations__rspack_import_10[__rspack_import_key];
|
|
126
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
127
|
+
var _scheduler__rspack_import_11 = __webpack_require__("./scheduler");
|
|
128
|
+
var __rspack_reexport = {};
|
|
129
|
+
for(const __rspack_import_key in _scheduler__rspack_import_11)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_scheduler__rspack_import_11[__rspack_import_key];
|
|
130
|
+
__webpack_require__.d(__webpack_exports__, __rspack_reexport);
|
|
131
|
+
})();
|
|
132
|
+
for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
133
|
+
Object.defineProperty(exports, '__esModule', {
|
|
134
|
+
value: true
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-runner/engine/index.js","sources":["webpack/runtime/compat_get_default_export","webpack/runtime/define_property_getters","webpack/runtime/has_own_property","webpack/runtime/make_namespace_object"],"sourcesContent":["// getDefaultExport function for compatibility with non-ESM modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};\n","__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};"],"names":["__webpack_require__","module","getter","definition","key","Object","obj","prop","Symbol"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACAA,oBAAoB,CAAC,GAAG,CAACC;QACxB,IAAIC,SAASD,UAAUA,OAAO,UAAU,GACvC,IAAOA,MAAM,CAAC,UAAU,GACxB,IAAOA;QACRD,oBAAoB,CAAC,CAACE,QAAQ;YAAE,GAAGA;QAAO;QAC1C,OAAOA;IACR;;;ICPAF,oBAAoB,CAAC,GAAG,CAAC,UAASG;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGH,oBAAoB,CAAC,CAACG,YAAYC,QAAQ,CAACJ,oBAAoB,CAAC,CAAC,UAASI,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAJ,oBAAoB,CAAC,GAAG,CAACM,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFP,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,eAAlB,OAAOQ,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
createProjectRuntime: ()=>createProjectRuntime
|
|
28
|
+
});
|
|
29
|
+
const logger_namespaceObject = require("@midscene/shared/logger");
|
|
30
|
+
const external_errors_js_namespaceObject = require("../errors.js");
|
|
31
|
+
const external_resource_operations_js_namespaceObject = require("./resource-operations.js");
|
|
32
|
+
const createProjectRuntime = (options)=>{
|
|
33
|
+
const startedAt = new Date();
|
|
34
|
+
const controller = new AbortController();
|
|
35
|
+
const parentSignal = options.signal;
|
|
36
|
+
(0, external_resource_operations_js_namespaceObject.linkResourceSignal)(controller.signal, parentSignal);
|
|
37
|
+
const abortFromParent = ()=>controller.abort(parentSignal?.reason);
|
|
38
|
+
if (parentSignal?.aborted) abortFromParent();
|
|
39
|
+
else parentSignal?.addEventListener('abort', abortFromParent, {
|
|
40
|
+
once: true
|
|
41
|
+
});
|
|
42
|
+
const teardownStack = [];
|
|
43
|
+
let context;
|
|
44
|
+
let setupError;
|
|
45
|
+
let started = false;
|
|
46
|
+
let acceptingTeardowns = void 0 !== options.setup;
|
|
47
|
+
let finishedResult;
|
|
48
|
+
let finishPromise;
|
|
49
|
+
const createResult = (requestedStatus, teardownErrors = [])=>{
|
|
50
|
+
const endedAt = new Date();
|
|
51
|
+
return {
|
|
52
|
+
projectName: options.project.name,
|
|
53
|
+
status: 'failed' === requestedStatus || setupError || teardownErrors.length > 0 ? 'failed' : 'success',
|
|
54
|
+
...setupError ? {
|
|
55
|
+
setupError
|
|
56
|
+
} : {},
|
|
57
|
+
...teardownErrors.length > 0 ? {
|
|
58
|
+
teardownErrors: [
|
|
59
|
+
...teardownErrors
|
|
60
|
+
]
|
|
61
|
+
} : {},
|
|
62
|
+
startedAt: startedAt.toISOString(),
|
|
63
|
+
endedAt: endedAt.toISOString(),
|
|
64
|
+
durationMs: Math.max(0, endedAt.getTime() - startedAt.getTime())
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
const onTeardown = (teardown)=>{
|
|
68
|
+
if (!acceptingTeardowns) throw new external_errors_js_namespaceObject.WorkflowLifecycleError('onTeardown() can only be called while Project setup is running.', {
|
|
69
|
+
projectName: options.project.name
|
|
70
|
+
});
|
|
71
|
+
if ('function' != typeof teardown) throw new external_errors_js_namespaceObject.WorkflowLifecycleError('Project onTeardown() requires a teardown function.', {
|
|
72
|
+
projectName: options.project.name
|
|
73
|
+
});
|
|
74
|
+
teardownStack.push({
|
|
75
|
+
registrationIndex: teardownStack.length,
|
|
76
|
+
teardown
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
return {
|
|
80
|
+
get context () {
|
|
81
|
+
return context;
|
|
82
|
+
},
|
|
83
|
+
get signal () {
|
|
84
|
+
return controller.signal;
|
|
85
|
+
},
|
|
86
|
+
get canRun () {
|
|
87
|
+
return started && !setupError && !controller.signal.aborted;
|
|
88
|
+
},
|
|
89
|
+
async start () {
|
|
90
|
+
if (started) throw new external_errors_js_namespaceObject.WorkflowLifecycleError('Project runtime has already started.', {
|
|
91
|
+
projectName: options.project.name
|
|
92
|
+
});
|
|
93
|
+
started = true;
|
|
94
|
+
if (controller.signal.aborted) {
|
|
95
|
+
acceptingTeardowns = false;
|
|
96
|
+
return createResult('failed');
|
|
97
|
+
}
|
|
98
|
+
if (options.setup) try {
|
|
99
|
+
context = await options.setup.setup({
|
|
100
|
+
project: options.project,
|
|
101
|
+
env: Object.freeze({
|
|
102
|
+
...process.env
|
|
103
|
+
}),
|
|
104
|
+
signal: controller.signal,
|
|
105
|
+
onTeardown
|
|
106
|
+
});
|
|
107
|
+
} catch (error) {
|
|
108
|
+
setupError = new external_errors_js_namespaceObject.ProjectSetupError(error, {
|
|
109
|
+
projectName: options.project.name
|
|
110
|
+
});
|
|
111
|
+
} finally{
|
|
112
|
+
acceptingTeardowns = false;
|
|
113
|
+
}
|
|
114
|
+
return createResult(setupError ? 'failed' : 'success');
|
|
115
|
+
},
|
|
116
|
+
async finish (requestedStatus = 'success') {
|
|
117
|
+
if (finishPromise) return finishPromise;
|
|
118
|
+
if (!started) throw new external_errors_js_namespaceObject.WorkflowLifecycleError('Project runtime must start before it can finish.', {
|
|
119
|
+
projectName: options.project.name
|
|
120
|
+
});
|
|
121
|
+
finishPromise = (async ()=>{
|
|
122
|
+
const statusBeforeTeardown = createResult(requestedStatus).status;
|
|
123
|
+
const teardownErrors = [];
|
|
124
|
+
let deferredCleanup = false;
|
|
125
|
+
const cleanup = async ()=>{
|
|
126
|
+
const priorErrors = teardownErrors.length;
|
|
127
|
+
for (const { registrationIndex, teardown } of teardownStack.reverse())try {
|
|
128
|
+
await teardown({
|
|
129
|
+
project: options.project,
|
|
130
|
+
context,
|
|
131
|
+
status: statusBeforeTeardown,
|
|
132
|
+
...setupError ? {
|
|
133
|
+
setupError
|
|
134
|
+
} : {}
|
|
135
|
+
});
|
|
136
|
+
} catch (error) {
|
|
137
|
+
teardownErrors.push(new external_errors_js_namespaceObject.ProjectTeardownError(error, {
|
|
138
|
+
projectName: options.project.name,
|
|
139
|
+
registrationIndex
|
|
140
|
+
}));
|
|
141
|
+
}
|
|
142
|
+
if (deferredCleanup && teardownErrors.length > priorErrors) throw new AggregateError(teardownErrors.slice(priorErrors), 'Deferred Project cleanup failed');
|
|
143
|
+
};
|
|
144
|
+
try {
|
|
145
|
+
if (teardownStack.length) await (0, external_resource_operations_js_namespaceObject.cleanupScopeResources)(controller.signal, cleanup, {
|
|
146
|
+
onDeferredError: (error)=>(0, logger_namespaceObject.getDebug)('runner:cleanup', {
|
|
147
|
+
console: true
|
|
148
|
+
})(`Deferred Project cleanup failed: ${String(error)}`)
|
|
149
|
+
});
|
|
150
|
+
} catch (error) {
|
|
151
|
+
deferredCleanup = error instanceof external_resource_operations_js_namespaceObject.ResourceCleanupDeferredError;
|
|
152
|
+
teardownErrors.push(new external_errors_js_namespaceObject.ProjectTeardownError(error, {
|
|
153
|
+
projectName: options.project.name,
|
|
154
|
+
registrationIndex: -1
|
|
155
|
+
}));
|
|
156
|
+
}
|
|
157
|
+
parentSignal?.removeEventListener('abort', abortFromParent);
|
|
158
|
+
finishedResult = createResult(requestedStatus, teardownErrors);
|
|
159
|
+
return finishedResult;
|
|
160
|
+
})();
|
|
161
|
+
return finishPromise;
|
|
162
|
+
},
|
|
163
|
+
abort (reason) {
|
|
164
|
+
controller.abort(reason);
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
exports.createProjectRuntime = __webpack_exports__.createProjectRuntime;
|
|
169
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
170
|
+
"createProjectRuntime"
|
|
171
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
172
|
+
Object.defineProperty(exports, '__esModule', {
|
|
173
|
+
value: true
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
//# sourceMappingURL=project-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-runner/engine/project-runtime.js","sources":["webpack/runtime/define_property_getters","webpack/runtime/has_own_property","webpack/runtime/make_namespace_object","../../../../src/test-runner/engine/project-runtime.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { getDebug } from '@midscene/shared/logger';\nimport {\n ProjectSetupError,\n ProjectTeardownError,\n WorkflowLifecycleError,\n} from '../errors';\nimport {\n ResourceCleanupDeferredError,\n cleanupScopeResources,\n linkResourceSignal,\n} from './resource-operations';\nimport type {\n ProjectRuntime,\n ProjectRuntimeOptions,\n ProjectRuntimeResult,\n} from './types';\n\nexport const createProjectRuntime = <TProjectContext = unknown>(\n options: ProjectRuntimeOptions<TProjectContext>,\n): ProjectRuntime<TProjectContext> => {\n const startedAt = new Date();\n const controller = new AbortController();\n const parentSignal = options.signal;\n linkResourceSignal(controller.signal, parentSignal);\n const abortFromParent = () => controller.abort(parentSignal?.reason);\n if (parentSignal?.aborted) abortFromParent();\n else parentSignal?.addEventListener('abort', abortFromParent, { once: true });\n\n const teardownStack: Array<{\n registrationIndex: number;\n teardown: Parameters<\n Parameters<NonNullable<typeof options.setup>['setup']>[0]['onTeardown']\n >[0];\n }> = [];\n let context: TProjectContext | undefined;\n let setupError: ProjectSetupError | undefined;\n let started = false;\n let acceptingTeardowns = options.setup !== undefined;\n let finishedResult: ProjectRuntimeResult<TProjectContext> | undefined;\n let finishPromise: Promise<ProjectRuntimeResult<TProjectContext>> | undefined;\n\n const createResult = (\n requestedStatus: 'success' | 'failed',\n teardownErrors: readonly ProjectTeardownError[] = [],\n ): ProjectRuntimeResult<TProjectContext> => {\n const endedAt = new Date();\n return {\n projectName: options.project.name,\n status:\n requestedStatus === 'failed' || setupError || teardownErrors.length > 0\n ? 'failed'\n : 'success',\n ...(setupError ? { setupError } : {}),\n ...(teardownErrors.length > 0\n ? { teardownErrors: [...teardownErrors] }\n : {}),\n startedAt: startedAt.toISOString(),\n endedAt: endedAt.toISOString(),\n durationMs: Math.max(0, endedAt.getTime() - startedAt.getTime()),\n };\n };\n\n const onTeardown = (\n teardown: (typeof teardownStack)[number]['teardown'],\n ): void => {\n if (!acceptingTeardowns) {\n throw new WorkflowLifecycleError(\n 'onTeardown() can only be called while Project setup is running.',\n { projectName: options.project.name },\n );\n }\n if (typeof teardown !== 'function') {\n throw new WorkflowLifecycleError(\n 'Project onTeardown() requires a teardown function.',\n { projectName: options.project.name },\n );\n }\n teardownStack.push({\n registrationIndex: teardownStack.length,\n teardown,\n });\n };\n\n return {\n get context() {\n return context;\n },\n get signal() {\n return controller.signal;\n },\n get canRun() {\n return started && !setupError && !controller.signal.aborted;\n },\n async start() {\n if (started) {\n throw new WorkflowLifecycleError(\n 'Project runtime has already started.',\n {\n projectName: options.project.name,\n },\n );\n }\n started = true;\n if (controller.signal.aborted) {\n acceptingTeardowns = false;\n return createResult('failed');\n }\n if (options.setup) {\n try {\n context = await options.setup.setup({\n project: options.project,\n env: Object.freeze({ ...process.env }),\n signal: controller.signal,\n onTeardown,\n });\n } catch (error) {\n setupError = new ProjectSetupError(error, {\n projectName: options.project.name,\n });\n } finally {\n acceptingTeardowns = false;\n }\n }\n return createResult(setupError ? 'failed' : 'success');\n },\n async finish(requestedStatus = 'success') {\n if (finishPromise) return finishPromise;\n if (!started) {\n throw new WorkflowLifecycleError(\n 'Project runtime must start before it can finish.',\n { projectName: options.project.name },\n );\n }\n finishPromise = (async () => {\n const statusBeforeTeardown = createResult(requestedStatus).status;\n const teardownErrors: ProjectTeardownError[] = [];\n let deferredCleanup = false;\n const cleanup = async () => {\n const priorErrors = teardownErrors.length;\n for (const {\n registrationIndex,\n teardown,\n } of teardownStack.reverse()) {\n try {\n await teardown({\n project: options.project,\n context,\n status: statusBeforeTeardown,\n ...(setupError ? { setupError } : {}),\n });\n } catch (error) {\n teardownErrors.push(\n new ProjectTeardownError(error, {\n projectName: options.project.name,\n registrationIndex,\n }),\n );\n }\n }\n if (deferredCleanup && teardownErrors.length > priorErrors)\n throw new AggregateError(\n teardownErrors.slice(priorErrors),\n 'Deferred Project cleanup failed',\n );\n };\n try {\n if (teardownStack.length)\n await cleanupScopeResources(controller.signal, cleanup, {\n onDeferredError: (error) =>\n getDebug('runner:cleanup', { console: true })(\n `Deferred Project cleanup failed: ${String(error)}`,\n ),\n });\n } catch (error) {\n deferredCleanup = error instanceof ResourceCleanupDeferredError;\n teardownErrors.push(\n new ProjectTeardownError(error, {\n projectName: options.project.name,\n registrationIndex: -1,\n }),\n );\n }\n parentSignal?.removeEventListener('abort', abortFromParent);\n finishedResult = createResult(requestedStatus, teardownErrors);\n return finishedResult;\n })();\n return finishPromise;\n },\n abort(reason) {\n controller.abort(reason);\n },\n };\n};\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","createProjectRuntime","options","startedAt","Date","controller","AbortController","parentSignal","linkResourceSignal","abortFromParent","teardownStack","context","setupError","started","acceptingTeardowns","undefined","finishedResult","finishPromise","createResult","requestedStatus","teardownErrors","endedAt","Math","onTeardown","teardown","WorkflowLifecycleError","process","error","ProjectSetupError","statusBeforeTeardown","deferredCleanup","cleanup","priorErrors","registrationIndex","ProjectTeardownError","AggregateError","cleanupScopeResources","getDebug","String","ResourceCleanupDeferredError","reason"],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
NodeRegistry: ()=>NodeRegistry
|
|
28
|
+
});
|
|
29
|
+
const external_errors_js_namespaceObject = require("../errors.js");
|
|
30
|
+
const define_node_js_namespaceObject = require("../node/define-node.js");
|
|
31
|
+
function _check_private_redeclaration(obj, privateCollection) {
|
|
32
|
+
if (privateCollection.has(obj)) throw new TypeError("Cannot initialize the same private elements twice on an object");
|
|
33
|
+
}
|
|
34
|
+
function _class_apply_descriptor_get(receiver, descriptor) {
|
|
35
|
+
if (descriptor.get) return descriptor.get.call(receiver);
|
|
36
|
+
return descriptor.value;
|
|
37
|
+
}
|
|
38
|
+
function _class_extract_field_descriptor(receiver, privateMap, action) {
|
|
39
|
+
if (!privateMap.has(receiver)) throw new TypeError("attempted to " + action + " private field on non-instance");
|
|
40
|
+
return privateMap.get(receiver);
|
|
41
|
+
}
|
|
42
|
+
function _class_private_field_get(receiver, privateMap) {
|
|
43
|
+
var descriptor = _class_extract_field_descriptor(receiver, privateMap, "get");
|
|
44
|
+
return _class_apply_descriptor_get(receiver, descriptor);
|
|
45
|
+
}
|
|
46
|
+
function _class_private_field_init(obj, privateMap, value) {
|
|
47
|
+
_check_private_redeclaration(obj, privateMap);
|
|
48
|
+
privateMap.set(obj, value);
|
|
49
|
+
}
|
|
50
|
+
var _nodes = /*#__PURE__*/ new WeakMap();
|
|
51
|
+
class NodeRegistry {
|
|
52
|
+
register(node) {
|
|
53
|
+
(0, define_node_js_namespaceObject.defineNode)(node);
|
|
54
|
+
if (_class_private_field_get(this, _nodes).has(node.name)) throw new external_errors_js_namespaceObject.DuplicateNodeError(node.name);
|
|
55
|
+
_class_private_field_get(this, _nodes).set(node.name, node);
|
|
56
|
+
return this;
|
|
57
|
+
}
|
|
58
|
+
get(name) {
|
|
59
|
+
return _class_private_field_get(this, _nodes).get(name);
|
|
60
|
+
}
|
|
61
|
+
require(name) {
|
|
62
|
+
const node = this.get(name);
|
|
63
|
+
if (!node) throw new external_errors_js_namespaceObject.NodeNotFoundError(name);
|
|
64
|
+
return node;
|
|
65
|
+
}
|
|
66
|
+
has(name) {
|
|
67
|
+
return _class_private_field_get(this, _nodes).has(name);
|
|
68
|
+
}
|
|
69
|
+
names() {
|
|
70
|
+
return [
|
|
71
|
+
..._class_private_field_get(this, _nodes).keys()
|
|
72
|
+
];
|
|
73
|
+
}
|
|
74
|
+
definitions() {
|
|
75
|
+
return [
|
|
76
|
+
..._class_private_field_get(this, _nodes).values()
|
|
77
|
+
];
|
|
78
|
+
}
|
|
79
|
+
constructor(nodes = []){
|
|
80
|
+
_class_private_field_init(this, _nodes, {
|
|
81
|
+
writable: true,
|
|
82
|
+
value: new Map()
|
|
83
|
+
});
|
|
84
|
+
for (const node of nodes)this.register(node);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.NodeRegistry = __webpack_exports__.NodeRegistry;
|
|
88
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
89
|
+
"NodeRegistry"
|
|
90
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
91
|
+
Object.defineProperty(exports, '__esModule', {
|
|
92
|
+
value: true
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-runner/engine/registry.js","sources":["webpack/runtime/define_property_getters","webpack/runtime/has_own_property","webpack/runtime/make_namespace_object","../../../../src/test-runner/engine/registry.ts"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { DuplicateNodeError, NodeNotFoundError } from '../errors';\nimport { defineNode } from '../node/define-node';\nimport type { NodeDefinition } from '../node/types';\n\nexport class NodeRegistry {\n readonly #nodes = new Map<string, NodeDefinition<any, any, any>>();\n\n constructor(nodes: readonly NodeDefinition<any, any>[] = []) {\n for (const node of nodes) {\n this.register(node);\n }\n }\n\n register<TInput, TData>(node: NodeDefinition<TInput, TData>): this {\n defineNode(node);\n\n if (this.#nodes.has(node.name)) {\n throw new DuplicateNodeError(node.name);\n }\n\n this.#nodes.set(node.name, node);\n return this;\n }\n\n get(name: string): NodeDefinition<any, any> | undefined {\n return this.#nodes.get(name);\n }\n\n require(name: string): NodeDefinition<any, any> {\n const node = this.get(name);\n if (!node) {\n throw new NodeNotFoundError(name);\n }\n return node;\n }\n\n has(name: string): boolean {\n return this.#nodes.has(name);\n }\n\n names(): string[] {\n return [...this.#nodes.keys()];\n }\n\n definitions(): readonly NodeDefinition<any, any, any>[] {\n return [...this.#nodes.values()];\n }\n}\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","_nodes","NodeRegistry","node","defineNode","DuplicateNodeError","name","NodeNotFoundError","nodes","Map"],"mappings":";;;IAAAA,oBAAoB,CAAC,GAAG,CAAC,UAASC;QACjC,IAAI,IAAIC,OAAOD,WACR,IAAGD,oBAAoB,CAAC,CAACC,YAAYC,QAAQ,CAACF,oBAAoB,CAAC,CAAC,UAASE,MACzEC,OAAO,cAAc,CAAC,UAASD,KAAK;YAAE,YAAY;YAAM,KAAKD,UAAU,CAACC,IAAI;QAAC;IAGzF;;;ICNAF,oBAAoB,CAAC,GAAG,CAACI,KAAKC,OAAUF,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAACC,KAAKC;;;ICClFL,oBAAoB,CAAC,GAAG,CAAC;QACxB,IAAG,AAAkB,eAAlB,OAAOM,UAA0BA,OAAO,WAAW,EACrDH,OAAO,cAAc,CAAC,UAASG,OAAO,WAAW,EAAE;YAAE,OAAO;QAAS;QAEtEH,OAAO,cAAc,CAAC,UAAS,cAAc;YAAE,OAAO;QAAK;IAC5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICDWI,SAAAA,WAAAA,GAAAA,IAAAA;AADJ,MAAMC;IASX,SAAwBC,IAAmC,EAAQ;QACjEC,IAAAA,+BAAAA,UAAAA,AAAAA,EAAWD;QAEX,IAAI,6BAAI,EAACF,QAAO,GAAG,CAACE,KAAK,IAAI,GAC3B,MAAM,IAAIE,mCAAAA,kBAAkBA,CAACF,KAAK,IAAI;QAGxC,6BAAI,EAACF,QAAO,GAAG,CAACE,KAAK,IAAI,EAAEA;QAC3B,OAAO,IAAI;IACb;IAEA,IAAIG,IAAY,EAAwC;QACtD,OAAO,6BAAI,EAACL,QAAO,GAAG,CAACK;IACzB;IAEA,QAAQA,IAAY,EAA4B;QAC9C,MAAMH,OAAO,IAAI,CAAC,GAAG,CAACG;QACtB,IAAI,CAACH,MACH,MAAM,IAAII,mCAAAA,iBAAiBA,CAACD;QAE9B,OAAOH;IACT;IAEA,IAAIG,IAAY,EAAW;QACzB,OAAO,6BAAI,EAACL,QAAO,GAAG,CAACK;IACzB;IAEA,QAAkB;QAChB,OAAO;eAAI,6BAAI,EAACL,QAAO,IAAI;SAAG;IAChC;IAEA,cAAwD;QACtD,OAAO;eAAI,6BAAI,EAACA,QAAO,MAAM;SAAG;IAClC;IAvCA,YAAYO,QAA6C,EAAE,CAAE;QAF7D,gCAASP,QAAAA;;mBAAS,IAAIQ;;QAGpB,KAAK,MAAMN,QAAQK,MACjB,IAAI,CAAC,QAAQ,CAACL;IAElB;AAoCF"}
|