@webiny/api-headless-cms-es-tasks 6.3.0 → 6.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/index.js +7 -9
  2. package/index.js.map +1 -1
  3. package/package.json +18 -18
  4. package/tasks/MockDataCreator/MockDataCreator.js +62 -88
  5. package/tasks/MockDataCreator/MockDataCreator.js.map +1 -1
  6. package/tasks/MockDataCreator/mockData.js +1332 -1186
  7. package/tasks/MockDataCreator/mockData.js.map +1 -1
  8. package/tasks/MockDataCreator/types.js +0 -3
  9. package/tasks/MockDataCreatorTask.js +22 -21
  10. package/tasks/MockDataCreatorTask.js.map +1 -1
  11. package/tasks/MockDataManager/MockDataManager.js +72 -90
  12. package/tasks/MockDataManager/MockDataManager.js.map +1 -1
  13. package/tasks/MockDataManager/calculateAmounts.js +26 -51
  14. package/tasks/MockDataManager/calculateAmounts.js.map +1 -1
  15. package/tasks/MockDataManager/calculateSeconds.js +8 -11
  16. package/tasks/MockDataManager/calculateSeconds.js.map +1 -1
  17. package/tasks/MockDataManager/constants.js +2 -1
  18. package/tasks/MockDataManager/constants.js.map +1 -1
  19. package/tasks/MockDataManager/createModelAndGroup.js +23 -33
  20. package/tasks/MockDataManager/createModelAndGroup.js.map +1 -1
  21. package/tasks/MockDataManager/group.js +11 -12
  22. package/tasks/MockDataManager/group.js.map +1 -1
  23. package/tasks/MockDataManager/model.js +6290 -4693
  24. package/tasks/MockDataManager/model.js.map +1 -1
  25. package/tasks/MockDataManager/types.js +0 -3
  26. package/tasks/MockDataManagerTask.js +45 -44
  27. package/tasks/MockDataManagerTask.js.map +1 -1
  28. package/types.js +0 -3
  29. package/utils/createIndex.js +21 -33
  30. package/utils/createIndex.js.map +1 -1
  31. package/utils/disableIndexing.js +19 -23
  32. package/utils/disableIndexing.js.map +1 -1
  33. package/utils/enableIndexing.js +19 -23
  34. package/utils/enableIndexing.js.map +1 -1
  35. package/utils/index.js +0 -2
  36. package/tasks/MockDataCreator/types.js.map +0 -1
  37. package/tasks/MockDataManager/types.js.map +0 -1
  38. package/types.js.map +0 -1
  39. package/utils/index.js.map +0 -1
package/index.js CHANGED
@@ -1,12 +1,10 @@
1
1
  import { createContextPlugin } from "@webiny/api";
2
- import { MockDataCreatorTaskDefinition, MOCK_DATA_CREATOR_TASK_ID } from "./tasks/MockDataCreatorTask.js";
3
- import { MockDataManagerTaskDefinition, MOCK_DATA_MANAGER_TASK_ID } from "./tasks/MockDataManagerTask.js";
4
- export { MOCK_DATA_CREATOR_TASK_ID, MOCK_DATA_MANAGER_TASK_ID };
5
- export const createHeadlessCmsEsTasks = () => {
6
- return createContextPlugin(context => {
7
- context.container.register(MockDataCreatorTaskDefinition);
8
- context.container.register(MockDataManagerTaskDefinition);
9
- });
10
- };
2
+ import { MOCK_DATA_CREATOR_TASK_ID, MockDataCreatorTaskDefinition } from "./tasks/MockDataCreatorTask.js";
3
+ import { MOCK_DATA_MANAGER_TASK_ID, MockDataManagerTaskDefinition } from "./tasks/MockDataManagerTask.js";
4
+ const createHeadlessCmsEsTasks = ()=>createContextPlugin((context)=>{
5
+ context.container.register(MockDataCreatorTaskDefinition);
6
+ context.container.register(MockDataManagerTaskDefinition);
7
+ });
8
+ export { MOCK_DATA_CREATOR_TASK_ID, MOCK_DATA_MANAGER_TASK_ID, createHeadlessCmsEsTasks };
11
9
 
12
10
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["createContextPlugin","MockDataCreatorTaskDefinition","MOCK_DATA_CREATOR_TASK_ID","MockDataManagerTaskDefinition","MOCK_DATA_MANAGER_TASK_ID","createHeadlessCmsEsTasks","context","container","register"],"sources":["index.ts"],"sourcesContent":["import { createContextPlugin } from \"@webiny/api\";\nimport {\n MockDataCreatorTaskDefinition,\n MOCK_DATA_CREATOR_TASK_ID\n} from \"~/tasks/MockDataCreatorTask.js\";\nimport {\n MockDataManagerTaskDefinition,\n MOCK_DATA_MANAGER_TASK_ID\n} from \"~/tasks/MockDataManagerTask.js\";\n\nexport { MOCK_DATA_CREATOR_TASK_ID, MOCK_DATA_MANAGER_TASK_ID };\n\nexport const createHeadlessCmsEsTasks = () => {\n return createContextPlugin(context => {\n context.container.register(MockDataCreatorTaskDefinition);\n context.container.register(MockDataManagerTaskDefinition);\n });\n};\n"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,aAAa;AACjD,SACIC,6BAA6B,EAC7BC,yBAAyB;AAE7B,SACIC,6BAA6B,EAC7BC,yBAAyB;AAG7B,SAASF,yBAAyB,EAAEE,yBAAyB;AAE7D,OAAO,MAAMC,wBAAwB,GAAGA,CAAA,KAAM;EAC1C,OAAOL,mBAAmB,CAACM,OAAO,IAAI;IAClCA,OAAO,CAACC,SAAS,CAACC,QAAQ,CAACP,6BAA6B,CAAC;IACzDK,OAAO,CAACC,SAAS,CAACC,QAAQ,CAACL,6BAA6B,CAAC;EAC7D,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { createContextPlugin } from \"@webiny/api\";\nimport {\n MockDataCreatorTaskDefinition,\n MOCK_DATA_CREATOR_TASK_ID\n} from \"~/tasks/MockDataCreatorTask.js\";\nimport {\n MockDataManagerTaskDefinition,\n MOCK_DATA_MANAGER_TASK_ID\n} from \"~/tasks/MockDataManagerTask.js\";\n\nexport { MOCK_DATA_CREATOR_TASK_ID, MOCK_DATA_MANAGER_TASK_ID };\n\nexport const createHeadlessCmsEsTasks = () => {\n return createContextPlugin(context => {\n context.container.register(MockDataCreatorTaskDefinition);\n context.container.register(MockDataManagerTaskDefinition);\n });\n};\n"],"names":["createHeadlessCmsEsTasks","createContextPlugin","context","MockDataCreatorTaskDefinition","MockDataManagerTaskDefinition"],"mappings":";;;AAYO,MAAMA,2BAA2B,IAC7BC,oBAAoBC,CAAAA;QACvBA,QAAQ,SAAS,CAAC,QAAQ,CAACC;QAC3BD,QAAQ,SAAS,CAAC,QAAQ,CAACE;IAC/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-headless-cms-es-tasks",
3
- "version": "6.3.0",
3
+ "version": "6.4.0-beta.1",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./index.js",
@@ -17,29 +17,29 @@
17
17
  },
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
- "@webiny/api-core": "6.3.0",
21
- "@webiny/api-headless-cms": "6.3.0",
22
- "@webiny/api-headless-cms-ddb-es": "6.3.0",
23
- "@webiny/api-opensearch": "6.3.0",
24
- "@webiny/error": "6.3.0",
25
- "@webiny/handler": "6.3.0",
26
- "@webiny/handler-aws": "6.3.0",
27
- "@webiny/tasks": "6.3.0",
28
- "@webiny/utils": "6.3.0"
20
+ "@webiny/api-core": "6.4.0-beta.1",
21
+ "@webiny/api-headless-cms": "6.4.0-beta.1",
22
+ "@webiny/api-headless-cms-ddb-es": "6.4.0-beta.1",
23
+ "@webiny/api-opensearch": "6.4.0-beta.1",
24
+ "@webiny/error": "6.4.0-beta.1",
25
+ "@webiny/handler": "6.4.0-beta.1",
26
+ "@webiny/handler-aws": "6.4.0-beta.1",
27
+ "@webiny/tasks": "6.4.0-beta.1",
28
+ "@webiny/utils": "6.4.0-beta.1"
29
29
  },
30
30
  "devDependencies": {
31
- "@webiny/api": "6.3.0",
32
- "@webiny/build-tools": "6.3.0",
33
- "@webiny/handler-graphql": "6.3.0",
34
- "@webiny/plugins": "6.3.0",
35
- "@webiny/project-utils": "6.3.0",
36
- "@webiny/wcp": "6.3.0",
31
+ "@webiny/api": "6.4.0-beta.1",
32
+ "@webiny/build-tools": "6.4.0-beta.1",
33
+ "@webiny/handler-graphql": "6.4.0-beta.1",
34
+ "@webiny/plugins": "6.4.0-beta.1",
35
+ "@webiny/project-utils": "6.4.0-beta.1",
36
+ "@webiny/wcp": "6.4.0-beta.1",
37
37
  "typescript": "6.0.3",
38
- "vitest": "4.1.5"
38
+ "vitest": "4.1.6"
39
39
  },
40
40
  "publishConfig": {
41
41
  "access": "public",
42
42
  "directory": "dist"
43
43
  },
44
- "gitHead": "7cefe15431dbd65504e1f58147dc9e55bcbfa693"
44
+ "gitHead": "73237b8243693038c072bae1c0b783387448cbbe"
45
45
  }
@@ -4,99 +4,73 @@ import { OpenSearchCatClusterHealthStatus } from "@webiny/api-opensearch/operati
4
4
  import { mdbid } from "@webiny/utils";
5
5
  import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
6
6
  import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js";
7
- export class MockDataCreator {
8
- constructor(context) {
9
- this.context = context;
10
- }
11
- async execute(params) {
12
- const {
13
- input,
14
- controller
15
- } = params;
16
- if (controller.runtime.isAborted()) {
17
- return controller.response.aborted();
18
- } else if (controller.runtime.isCloseToTimeout()) {
19
- return controller.response.continue({
20
- ...input
21
- });
7
+ class MockDataCreator {
8
+ constructor(context){
9
+ this.context = context;
22
10
  }
23
- const getModel = this.context.container.resolve(GetModelUseCase);
24
- const createEntry = this.context.container.resolve(CreateEntryUseCase);
25
- const modelResult = await getModel.execute("cars");
26
- if (modelResult.isFail()) {
27
- return controller.response.error(modelResult.error);
28
- }
29
- const model = modelResult.value;
30
- const healthCheck = createWaitUntilHealthy(this.context.opensearch, {
31
- waitingTimeStep: 20,
32
- maxWaitingTime: 150,
33
- maxProcessorPercent: 80,
34
- minClusterHealthStatus: OpenSearchCatClusterHealthStatus.Yellow,
35
- maxRamPercent: 101
36
- });
37
- let createdAmount = input.createdAmount;
38
- for (; createdAmount < input.totalAmount; createdAmount++) {
39
- if (controller.runtime.isAborted()) {
40
- return controller.response.aborted();
41
- } else if (controller.runtime.isCloseToTimeout()) {
42
- return controller.response.continue({
43
- ...input,
44
- createdAmount
11
+ async execute(params) {
12
+ const { input, controller } = params;
13
+ if (controller.runtime.isAborted()) return controller.response.aborted();
14
+ if (controller.runtime.isCloseToTimeout()) return controller.response.continue({
15
+ ...input
16
+ });
17
+ const getModel = this.context.container.resolve(GetModelUseCase);
18
+ const createEntry = this.context.container.resolve(CreateEntryUseCase);
19
+ const modelResult = await getModel.execute("cars");
20
+ if (modelResult.isFail()) return controller.response.error(modelResult.error);
21
+ const model = modelResult.value;
22
+ const healthCheck = createWaitUntilHealthy(this.context.opensearch, {
23
+ waitingTimeStep: 20,
24
+ maxWaitingTime: 150,
25
+ maxProcessorPercent: 80,
26
+ minClusterHealthStatus: OpenSearchCatClusterHealthStatus.Yellow,
27
+ maxRamPercent: 101
45
28
  });
46
- }
47
- if (createdAmount % 50 === 0) {
48
- try {
49
- await healthCheck.wait({
50
- async onUnhealthy({
51
- waitingTimeStep,
52
- startedAt,
53
- mustEndAt,
54
- runs,
55
- waitingReason
56
- }) {
57
- console.warn(`Cluster is unhealthy on run #${runs}.`, {
58
- startedAt,
59
- mustEndAt,
60
- waitingTimeStep,
61
- waitingReason
62
- });
63
- },
64
- async onTimeout({
65
- waitingTimeStep,
66
- startedAt,
67
- mustEndAt,
68
- runs,
69
- waitingReason
70
- }) {
71
- console.warn(`Cluster health check timed out on run #${runs}.`, {
72
- startedAt,
73
- mustEndAt,
74
- waitingTimeStep,
75
- waitingReason
76
- });
29
+ let createdAmount = input.createdAmount;
30
+ for(; createdAmount < input.totalAmount; createdAmount++){
31
+ if (controller.runtime.isAborted()) return controller.response.aborted();
32
+ if (controller.runtime.isCloseToTimeout()) return controller.response.continue({
33
+ ...input,
34
+ createdAmount
35
+ });
36
+ if (createdAmount % 50 === 0) try {
37
+ await healthCheck.wait({
38
+ async onUnhealthy ({ waitingTimeStep, startedAt, mustEndAt, runs, waitingReason }) {
39
+ console.warn(`Cluster is unhealthy on run #${runs}.`, {
40
+ startedAt,
41
+ mustEndAt,
42
+ waitingTimeStep,
43
+ waitingReason
44
+ });
45
+ },
46
+ async onTimeout ({ waitingTimeStep, startedAt, mustEndAt, runs, waitingReason }) {
47
+ console.warn(`Cluster health check timed out on run #${runs}.`, {
48
+ startedAt,
49
+ mustEndAt,
50
+ waitingTimeStep,
51
+ waitingReason
52
+ });
53
+ }
54
+ });
55
+ } catch {
56
+ return controller.response.continue({
57
+ ...input,
58
+ createdAmount
59
+ }, {
60
+ seconds: 30
61
+ });
77
62
  }
78
- });
79
- } catch {
80
- return controller.response.continue({
81
- ...input,
82
- createdAmount
83
- }, {
84
- seconds: 30
85
- });
63
+ const taskId = controller.state.getTask().id;
64
+ const createResult = await createEntry.execute(model, {
65
+ id: `${taskId}${mdbid()}`,
66
+ location: mockData.wbyAco_location,
67
+ values: mockData
68
+ });
69
+ if (createResult.isFail()) return controller.response.error(createResult.error);
86
70
  }
87
- }
88
- const taskId = controller.state.getTask().id;
89
- const createResult = await createEntry.execute(model, {
90
- id: `${taskId}${mdbid()}`,
91
- location: mockData.wbyAco_location,
92
- values: mockData
93
- });
94
- if (createResult.isFail()) {
95
- return controller.response.error(createResult.error);
96
- }
71
+ return params.controller.response.done(`Created ${input.totalAmount} records.`);
97
72
  }
98
- return params.controller.response.done(`Created ${input.totalAmount} records.`);
99
- }
100
73
  }
74
+ export { MockDataCreator };
101
75
 
102
76
  //# sourceMappingURL=MockDataCreator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["mockData","createWaitUntilHealthy","OpenSearchCatClusterHealthStatus","mdbid","GetModelUseCase","CreateEntryUseCase","MockDataCreator","constructor","context","execute","params","input","controller","runtime","isAborted","response","aborted","isCloseToTimeout","continue","getModel","container","resolve","createEntry","modelResult","isFail","error","model","value","healthCheck","opensearch","waitingTimeStep","maxWaitingTime","maxProcessorPercent","minClusterHealthStatus","Yellow","maxRamPercent","createdAmount","totalAmount","wait","onUnhealthy","startedAt","mustEndAt","runs","waitingReason","console","warn","onTimeout","seconds","taskId","state","getTask","id","createResult","location","wbyAco_location","values","done"],"sources":["MockDataCreator.ts"],"sourcesContent":["import type { IMockDataCreatorInput, IMockDataCreatorOutput } from \"./types.js\";\nimport { mockData } from \"./mockData.js\";\nimport { createWaitUntilHealthy } from \"@webiny/api-opensearch/utils/waitUntilHealthy/index.js\";\nimport { OpenSearchCatClusterHealthStatus } from \"@webiny/api-opensearch/operations/types.js\";\nimport { mdbid } from \"@webiny/utils\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport type { Context } from \"~/types.js\";\n\nexport class MockDataCreator<I extends IMockDataCreatorInput, O extends IMockDataCreatorOutput> {\n constructor(private context: Context) {}\n\n public async execute(\n params: TaskDefinition.RunParams<I, O>\n ): Promise<TaskDefinition.Result<I, O>> {\n const { input, controller } = params;\n\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n } else if (controller.runtime.isCloseToTimeout()) {\n return controller.response.continue({\n ...input\n });\n }\n\n const getModel = this.context.container.resolve(GetModelUseCase);\n const createEntry = this.context.container.resolve(CreateEntryUseCase);\n\n const modelResult = await getModel.execute(\"cars\");\n if (modelResult.isFail()) {\n return controller.response.error(modelResult.error);\n }\n\n const model = modelResult.value;\n\n const healthCheck = createWaitUntilHealthy(this.context.opensearch, {\n waitingTimeStep: 20,\n maxWaitingTime: 150,\n maxProcessorPercent: 80,\n minClusterHealthStatus: OpenSearchCatClusterHealthStatus.Yellow,\n maxRamPercent: 101\n });\n\n let createdAmount = input.createdAmount;\n\n for (; createdAmount < input.totalAmount; createdAmount++) {\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n } else if (controller.runtime.isCloseToTimeout()) {\n return controller.response.continue({\n ...input,\n createdAmount\n });\n }\n if (createdAmount % 50 === 0) {\n try {\n await healthCheck.wait({\n async onUnhealthy({\n waitingTimeStep,\n startedAt,\n mustEndAt,\n runs,\n waitingReason\n }) {\n console.warn(`Cluster is unhealthy on run #${runs}.`, {\n startedAt,\n mustEndAt,\n waitingTimeStep,\n waitingReason\n });\n },\n async onTimeout({\n waitingTimeStep,\n startedAt,\n mustEndAt,\n runs,\n waitingReason\n }) {\n console.warn(`Cluster health check timed out on run #${runs}.`, {\n startedAt,\n mustEndAt,\n waitingTimeStep,\n waitingReason\n });\n }\n });\n } catch {\n return controller.response.continue(\n {\n ...input,\n createdAmount\n },\n {\n seconds: 30\n }\n );\n }\n }\n const taskId = controller.state.getTask().id;\n\n const createResult = await createEntry.execute(model, {\n id: `${taskId}${mdbid()}`,\n location: mockData.wbyAco_location,\n values: mockData\n });\n\n if (createResult.isFail()) {\n return controller.response.error(createResult.error);\n }\n }\n\n return params.controller.response.done(`Created ${input.totalAmount} records.`);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"tasks/MockDataCreator/MockDataCreator.js","sources":["../../../src/tasks/MockDataCreator/MockDataCreator.ts"],"sourcesContent":["import type { IMockDataCreatorInput, IMockDataCreatorOutput } from \"./types.js\";\nimport { mockData } from \"./mockData.js\";\nimport { createWaitUntilHealthy } from \"@webiny/api-opensearch/utils/waitUntilHealthy/index.js\";\nimport { OpenSearchCatClusterHealthStatus } from \"@webiny/api-opensearch/operations/types.js\";\nimport { mdbid } from \"@webiny/utils\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport type { Context } from \"~/types.js\";\n\nexport class MockDataCreator<I extends IMockDataCreatorInput, O extends IMockDataCreatorOutput> {\n constructor(private context: Context) {}\n\n public async execute(\n params: TaskDefinition.RunParams<I, O>\n ): Promise<TaskDefinition.Result<I, O>> {\n const { input, controller } = params;\n\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n } else if (controller.runtime.isCloseToTimeout()) {\n return controller.response.continue({\n ...input\n });\n }\n\n const getModel = this.context.container.resolve(GetModelUseCase);\n const createEntry = this.context.container.resolve(CreateEntryUseCase);\n\n const modelResult = await getModel.execute(\"cars\");\n if (modelResult.isFail()) {\n return controller.response.error(modelResult.error);\n }\n\n const model = modelResult.value;\n\n const healthCheck = createWaitUntilHealthy(this.context.opensearch, {\n waitingTimeStep: 20,\n maxWaitingTime: 150,\n maxProcessorPercent: 80,\n minClusterHealthStatus: OpenSearchCatClusterHealthStatus.Yellow,\n maxRamPercent: 101\n });\n\n let createdAmount = input.createdAmount;\n\n for (; createdAmount < input.totalAmount; createdAmount++) {\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n } else if (controller.runtime.isCloseToTimeout()) {\n return controller.response.continue({\n ...input,\n createdAmount\n });\n }\n if (createdAmount % 50 === 0) {\n try {\n await healthCheck.wait({\n async onUnhealthy({\n waitingTimeStep,\n startedAt,\n mustEndAt,\n runs,\n waitingReason\n }) {\n console.warn(`Cluster is unhealthy on run #${runs}.`, {\n startedAt,\n mustEndAt,\n waitingTimeStep,\n waitingReason\n });\n },\n async onTimeout({\n waitingTimeStep,\n startedAt,\n mustEndAt,\n runs,\n waitingReason\n }) {\n console.warn(`Cluster health check timed out on run #${runs}.`, {\n startedAt,\n mustEndAt,\n waitingTimeStep,\n waitingReason\n });\n }\n });\n } catch {\n return controller.response.continue(\n {\n ...input,\n createdAmount\n },\n {\n seconds: 30\n }\n );\n }\n }\n const taskId = controller.state.getTask().id;\n\n const createResult = await createEntry.execute(model, {\n id: `${taskId}${mdbid()}`,\n location: mockData.wbyAco_location,\n values: mockData\n });\n\n if (createResult.isFail()) {\n return controller.response.error(createResult.error);\n }\n }\n\n return params.controller.response.done(`Created ${input.totalAmount} records.`);\n }\n}\n"],"names":["MockDataCreator","context","params","input","controller","getModel","GetModelUseCase","createEntry","CreateEntryUseCase","modelResult","model","healthCheck","createWaitUntilHealthy","OpenSearchCatClusterHealthStatus","createdAmount","waitingTimeStep","startedAt","mustEndAt","runs","waitingReason","console","taskId","createResult","mdbid","mockData"],"mappings":";;;;;;AAUO,MAAMA;IACT,YAAoBC,OAAgB,CAAE;aAAlBA,OAAO,GAAPA;IAAmB;IAEvC,MAAa,QACTC,MAAsC,EACF;QACpC,MAAM,EAAEC,KAAK,EAAEC,UAAU,EAAE,GAAGF;QAE9B,IAAIE,WAAW,OAAO,CAAC,SAAS,IAC5B,OAAOA,WAAW,QAAQ,CAAC,OAAO;QAC/B,IAAIA,WAAW,OAAO,CAAC,gBAAgB,IAC1C,OAAOA,WAAW,QAAQ,CAAC,QAAQ,CAAC;YAChC,GAAGD,KAAK;QACZ;QAGJ,MAAME,WAAW,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAACC;QAChD,MAAMC,cAAc,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAACC;QAEnD,MAAMC,cAAc,MAAMJ,SAAS,OAAO,CAAC;QAC3C,IAAII,YAAY,MAAM,IAClB,OAAOL,WAAW,QAAQ,CAAC,KAAK,CAACK,YAAY,KAAK;QAGtD,MAAMC,QAAQD,YAAY,KAAK;QAE/B,MAAME,cAAcC,uBAAuB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAChE,iBAAiB;YACjB,gBAAgB;YAChB,qBAAqB;YACrB,wBAAwBC,iCAAiC,MAAM;YAC/D,eAAe;QACnB;QAEA,IAAIC,gBAAgBX,MAAM,aAAa;QAEvC,MAAOW,gBAAgBX,MAAM,WAAW,EAAEW,gBAAiB;YACvD,IAAIV,WAAW,OAAO,CAAC,SAAS,IAC5B,OAAOA,WAAW,QAAQ,CAAC,OAAO;YAC/B,IAAIA,WAAW,OAAO,CAAC,gBAAgB,IAC1C,OAAOA,WAAW,QAAQ,CAAC,QAAQ,CAAC;gBAChC,GAAGD,KAAK;gBACRW;YACJ;YAEJ,IAAIA,gBAAgB,OAAO,GACvB,IAAI;gBACA,MAAMH,YAAY,IAAI,CAAC;oBACnB,MAAM,aAAY,EACdI,eAAe,EACfC,SAAS,EACTC,SAAS,EACTC,IAAI,EACJC,aAAa,EAChB;wBACGC,QAAQ,IAAI,CAAC,CAAC,6BAA6B,EAAEF,KAAK,CAAC,CAAC,EAAE;4BAClDF;4BACAC;4BACAF;4BACAI;wBACJ;oBACJ;oBACA,MAAM,WAAU,EACZJ,eAAe,EACfC,SAAS,EACTC,SAAS,EACTC,IAAI,EACJC,aAAa,EAChB;wBACGC,QAAQ,IAAI,CAAC,CAAC,uCAAuC,EAAEF,KAAK,CAAC,CAAC,EAAE;4BAC5DF;4BACAC;4BACAF;4BACAI;wBACJ;oBACJ;gBACJ;YACJ,EAAE,OAAM;gBACJ,OAAOf,WAAW,QAAQ,CAAC,QAAQ,CAC/B;oBACI,GAAGD,KAAK;oBACRW;gBACJ,GACA;oBACI,SAAS;gBACb;YAER;YAEJ,MAAMO,SAASjB,WAAW,KAAK,CAAC,OAAO,GAAG,EAAE;YAE5C,MAAMkB,eAAe,MAAMf,YAAY,OAAO,CAACG,OAAO;gBAClD,IAAI,GAAGW,SAASE,SAAS;gBACzB,UAAUC,SAAS,eAAe;gBAClC,QAAQA;YACZ;YAEA,IAAIF,aAAa,MAAM,IACnB,OAAOlB,WAAW,QAAQ,CAAC,KAAK,CAACkB,aAAa,KAAK;QAE3D;QAEA,OAAOpB,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAEC,MAAM,WAAW,CAAC,SAAS,CAAC;IAClF;AACJ"}