@acorex/platform 20.6.0-next.2 → 20.6.0-next.4

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/common/index.d.ts +2 -1
  2. package/core/index.d.ts +2 -2
  3. package/fesm2022/{acorex-platform-common-common-settings.provider-CLb2KMfv.mjs → acorex-platform-common-common-settings.provider-CGVarshJ.mjs} +25 -1
  4. package/fesm2022/acorex-platform-common-common-settings.provider-CGVarshJ.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-common.mjs +3 -2
  6. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-layout-components.mjs +207 -40
  8. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-layout-designer.mjs +1 -1
  10. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-entity.mjs +294 -145
  12. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-views.mjs +17 -3
  14. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-layout-widget-core.mjs +12 -0
  16. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  17. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-BOP7jFp4.mjs → acorex-platform-layout-widgets-file-list-popup.component-2q4whXBx.mjs} +3 -3
  18. package/fesm2022/{acorex-platform-layout-widgets-file-list-popup.component-BOP7jFp4.mjs.map → acorex-platform-layout-widgets-file-list-popup.component-2q4whXBx.mjs.map} +1 -1
  19. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-fr77M8Z0.mjs → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DGDLHbaR.mjs} +3 -3
  20. package/fesm2022/{acorex-platform-layout-widgets-tabular-data-edit-popup.component-fr77M8Z0.mjs.map → acorex-platform-layout-widgets-tabular-data-edit-popup.component-DGDLHbaR.mjs.map} +1 -1
  21. package/fesm2022/acorex-platform-layout-widgets.mjs +866 -260
  22. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  23. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-BkY9HXcT.mjs → acorex-platform-themes-default-entity-master-list-view.component-Beba9db5.mjs} +29 -8
  24. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-Beba9db5.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-themes-default.mjs +3 -3
  26. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-themes-shared.mjs +2 -2
  28. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  29. package/fesm2022/acorex-platform-workflow.mjs +13 -76
  30. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  31. package/layout/components/index.d.ts +7 -1
  32. package/layout/entity/index.d.ts +25 -10
  33. package/layout/views/index.d.ts +1 -0
  34. package/layout/widget-core/index.d.ts +6 -0
  35. package/layout/widgets/index.d.ts +139 -28
  36. package/package.json +5 -5
  37. package/workflow/index.d.ts +884 -433
  38. package/fesm2022/acorex-platform-common-common-settings.provider-CLb2KMfv.mjs.map +0 -1
  39. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BkY9HXcT.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-workflow.mjs","sources":["../tmp-esm2022/workflow/lib/errors.types.js","../tmp-esm2022/workflow/lib/workflow-event-dispatcher.service.js","../tmp-esm2022/workflow/lib/workflow-registery.service.js","../tmp-esm2022/workflow/lib/workflow.types.js","../tmp-esm2022/workflow/lib/actions/decide.action.js","../tmp-esm2022/workflow/lib/workflow.service.js","../tmp-esm2022/workflow/lib/actions/start-workflow.action.js","../tmp-esm2022/workflow/lib/engine/activity.types.js","../tmp-esm2022/workflow/lib/engine/activity-provider.service.js","../tmp-esm2022/workflow/lib/engine/activity-category.provider.js","../tmp-esm2022/workflow/lib/engine/runtime/workflow-execution.service.js","../tmp-esm2022/workflow/lib/engine/runtime/workflow-coordinator.js","../tmp-esm2022/workflow/lib/engine/runtime/workflow-execution.types.js","../tmp-esm2022/workflow/lib/engine/runtime/index.js","../tmp-esm2022/workflow/lib/engine/activities/write-line.activity.js","../tmp-esm2022/workflow/lib/engine/activities/sequence.activity.js","../tmp-esm2022/workflow/lib/engine/activities/show-confirm-dialog.activity.js","../tmp-esm2022/workflow/lib/engine/activities/show-alert-dialog.activity.js","../tmp-esm2022/workflow/lib/engine/activities/show-toast.activity.js","../tmp-esm2022/workflow/lib/engine/activities/navigate.activity.js","../tmp-esm2022/workflow/lib/engine/activities/set-variable.activity.js","../tmp-esm2022/workflow/lib/engine/activities/dispatch-event.activity.js","../tmp-esm2022/workflow/lib/engine/activities/if.activity.js","../tmp-esm2022/workflow/lib/engine/activities/while.activity.js","../tmp-esm2022/workflow/lib/engine/activities/for-each.activity.js","../tmp-esm2022/workflow/lib/engine/activities/execute-command.activity.js","../tmp-esm2022/workflow/lib/engine/activities/execute-query.activity.js","../tmp-esm2022/workflow/lib/engine/activities/start-activity.activity.js","../tmp-esm2022/workflow/lib/engine/activities/end-activity.activity.js","../tmp-esm2022/workflow/lib/engine/activities/activity-command-setups.js","../tmp-esm2022/workflow/lib/engine/activities/index.js","../tmp-esm2022/workflow/lib/engine/index.js","../tmp-esm2022/workflow/lib/workflow.module.js","../tmp-esm2022/workflow/acorex-platform-workflow.js"],"sourcesContent":["export class AXPWorkflowError extends Error {\n constructor(message, inner = null) {\n super(message);\n this.inner = inner;\n this.name = 'AXPWorkflowError';\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2Vycm9ycy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsS0FBSztJQUN2QyxZQUFZLE9BQWUsRUFBUyxRQUFzQixJQUFJO1FBQzFELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURpQixVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQUUxRCxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDO0lBQ25DLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGlubmVyOiBFcnJvciB8IG51bGwgPSBudWxsKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLm5hbWUgPSAnQVhQV29ya2Zsb3dFcnJvcic7XG4gICAgfVxufSJdfQ==","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowEventService {\n constructor() {\n this.eventSubject = new Subject();\n }\n dispatch(event) {\n this.eventSubject.next(event);\n }\n get events$() {\n return this.eventSubject.asObservable();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowEventService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowEventService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL3dvcmtmbG93LWV2ZW50LWRpc3BhdGNoZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTTNDLE1BQU0sT0FBTyx1QkFBdUI7SUFIcEM7UUFJVSxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFvQixDQUFDO0tBU3hEO0lBUEMsUUFBUSxDQUFDLEtBQXVCO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQzsrR0FUVSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dFdmVudCB9IGZyb20gJy4vd29ya2Zsb3cudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQV29ya2Zsb3dFdmVudFNlcnZpY2Uge1xuICBwcml2YXRlIGV2ZW50U3ViamVjdCA9IG5ldyBTdWJqZWN0PEFYUFdvcmtmbG93RXZlbnQ+KCk7XG5cbiAgZGlzcGF0Y2goZXZlbnQ6IEFYUFdvcmtmbG93RXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50U3ViamVjdC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIGdldCBldmVudHMkKCk6IE9ic2VydmFibGU8QVhQV29ya2Zsb3dFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLmV2ZW50U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowRegistryService {\n constructor() {\n this.functionsMap = new Map();\n this.actionsMap = new Map();\n this.workflowsMap = new Map();\n }\n registerWorkflow(name, workflow) {\n this.workflowsMap.set(name, workflow);\n }\n getWorkflow(name) {\n return this.workflowsMap.get(name);\n }\n registerAction(name, action) {\n this.actionsMap.set(name, action);\n }\n getAction(name) {\n return this.actionsMap.get(name);\n }\n registerFunction(name, func) {\n this.functionsMap.set(name, func);\n }\n getFunction(name) {\n return this.functionsMap.get(name);\n }\n getFunctionNames() {\n return Array.from(this.functionsMap.keys());\n }\n getStep(workflowName, stepName) {\n const workflow = this.workflowsMap.get(workflowName);\n if (workflow) {\n const steps = workflow.steps;\n return steps[stepName];\n }\n return undefined;\n }\n updateStepInWorkflow(workflowName, stepName, step) {\n const workflow = this.workflowsMap.get(workflowName);\n if (workflow) {\n const steps = workflow.steps;\n if (steps[stepName]) {\n steps[stepName] = step;\n }\n else {\n throw new Error(`Step with name ${stepName} does not exist in workflow ${workflowName}.`);\n }\n }\n else {\n throw new Error(`Workflow with name ${workflowName} does not exist.`);\n }\n }\n addStepToWorkflow(workflowName, stepName, step) {\n const workflow = this.workflowsMap.get(workflowName);\n if (workflow) {\n const steps = workflow.steps;\n if (!steps[stepName]) {\n steps[stepName] = step;\n }\n else {\n throw new Error(`Step with name ${stepName} already exists in workflow ${workflowName}.`);\n }\n }\n else {\n throw new Error(`Workflow with name ${workflowName} does not exist.`);\n }\n }\n addAfterStep(workflowId, stepId, newStepId, newStepAction, conditionExpression) {\n const step = this.getStep(workflowId, stepId);\n if (step != undefined) {\n this.addStepToWorkflow(workflowId, newStepId, {\n action: newStepAction,\n nextSteps: step.nextSteps,\n });\n this.updateStepInWorkflow(workflowId, stepId, {\n ...step,\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: conditionExpression }],\n nextStepId: newStepId,\n },\n ],\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowRegistryService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowRegistryService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctcmVnaXN0ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvd29ya2Zsb3ctcmVnaXN0ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQzs7QUFNakQsTUFBTSxPQUFPLDBCQUEwQjtJQUh2QztRQUlVLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7UUFDNUQsZUFBVSxHQUFHLElBQUksR0FBRyxFQUFtQyxDQUFDO1FBQ3hELGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7S0E0RnZEO0lBMUZDLGdCQUFnQixDQUFDLElBQVksRUFBRSxRQUFxQjtRQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZLEVBQUUsTUFBK0I7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsSUFBK0I7UUFDNUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxPQUFPLENBQUMsWUFBb0IsRUFBRSxRQUFnQjtRQUM1QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEtBQTJDLENBQUM7WUFDbkUsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekIsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxZQUFvQixFQUFFLFFBQWdCLEVBQUUsSUFBcUI7UUFDaEYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDckQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxLQUEyQyxDQUFDO1lBQ25FLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDekIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLFFBQVEsK0JBQStCLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDNUYsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsWUFBWSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsWUFBb0IsRUFBRSxRQUFnQixFQUFFLElBQXFCO1FBQzdFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3JELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBMkMsQ0FBQztZQUNuRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDekIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLFFBQVEsK0JBQStCLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDNUYsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsWUFBWSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUNWLFVBQWtCLEVBQ2xCLE1BQWMsRUFDZCxTQUFpQixFQUNqQixhQUFxQixFQUNyQixtQkFBMkI7UUFFM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUMsSUFBSSxJQUFJLElBQUksU0FBUyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUU7Z0JBQzVDLE1BQU0sRUFBRSxhQUFhO2dCQUNyQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7YUFDMUIsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUU7Z0JBQzVDLEdBQUcsSUFBSTtnQkFDUCxTQUFTLEVBQUU7b0JBQ1Q7d0JBQ0UsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO3dCQUNqRSxVQUFVLEVBQUUsU0FBUztxQkFDdEI7aUJBQ0Y7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzsrR0E5RlUsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FGekIsTUFBTTs7NEZBRVAsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dGdW5jdGlvbiwgQVhQV29ya2Zsb3dTdGVwIH0gZnJvbSAnLi93b3JrZmxvdy50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd1JlZ2lzdHJ5U2VydmljZSB7XG4gIHByaXZhdGUgZnVuY3Rpb25zTWFwID0gbmV3IE1hcDxzdHJpbmcsIFR5cGU8QVhQV29ya2Zsb3dGdW5jdGlvbj4+KCk7XG4gIHByaXZhdGUgYWN0aW9uc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPj4oKTtcbiAgcHJpdmF0ZSB3b3JrZmxvd3NNYXAgPSBuZXcgTWFwPHN0cmluZywgQVhQV29ya2Zsb3c+KCk7XG5cbiAgcmVnaXN0ZXJXb3JrZmxvdyhuYW1lOiBzdHJpbmcsIHdvcmtmbG93OiBBWFBXb3JrZmxvdyk6IHZvaWQge1xuICAgIHRoaXMud29ya2Zsb3dzTWFwLnNldChuYW1lLCB3b3JrZmxvdyk7XG4gIH1cblxuICBnZXRXb3JrZmxvdyhuYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvdyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMud29ya2Zsb3dzTWFwLmdldChuYW1lKTtcbiAgfVxuXG4gIHJlZ2lzdGVyQWN0aW9uKG5hbWU6IHN0cmluZywgYWN0aW9uOiBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPik6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uc01hcC5zZXQobmFtZSwgYWN0aW9uKTtcbiAgfVxuXG4gIGdldEFjdGlvbihuYW1lOiBzdHJpbmcpOiBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uc01hcC5nZXQobmFtZSk7XG4gIH1cblxuICByZWdpc3RlckZ1bmN0aW9uKG5hbWU6IHN0cmluZywgZnVuYzogVHlwZTxBWFBXb3JrZmxvd0Z1bmN0aW9uPik6IHZvaWQge1xuICAgIHRoaXMuZnVuY3Rpb25zTWFwLnNldChuYW1lLCBmdW5jKTtcbiAgfVxuXG4gIGdldEZ1bmN0aW9uKG5hbWU6IHN0cmluZyk6IFR5cGU8QVhQV29ya2Zsb3dGdW5jdGlvbj4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZ1bmN0aW9uc01hcC5nZXQobmFtZSk7XG4gIH1cblxuICBnZXRGdW5jdGlvbk5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZ1bmN0aW9uc01hcC5rZXlzKCkpO1xuICB9XG5cbiAgZ2V0U3RlcCh3b3JrZmxvd05hbWU6IHN0cmluZywgc3RlcE5hbWU6IHN0cmluZyk6IEFYUFdvcmtmbG93U3RlcCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgd29ya2Zsb3cgPSB0aGlzLndvcmtmbG93c01hcC5nZXQod29ya2Zsb3dOYW1lKTtcbiAgICBpZiAod29ya2Zsb3cpIHtcbiAgICAgIGNvbnN0IHN0ZXBzID0gd29ya2Zsb3cuc3RlcHMgYXMgeyBba2V5OiBzdHJpbmddOiBBWFBXb3JrZmxvd1N0ZXAgfTtcbiAgICAgIHJldHVybiBzdGVwc1tzdGVwTmFtZV07XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICB1cGRhdGVTdGVwSW5Xb3JrZmxvdyh3b3JrZmxvd05hbWU6IHN0cmluZywgc3RlcE5hbWU6IHN0cmluZywgc3RlcDogQVhQV29ya2Zsb3dTdGVwKTogdm9pZCB7XG4gICAgY29uc3Qgd29ya2Zsb3cgPSB0aGlzLndvcmtmbG93c01hcC5nZXQod29ya2Zsb3dOYW1lKTtcbiAgICBpZiAod29ya2Zsb3cpIHtcbiAgICAgIGNvbnN0IHN0ZXBzID0gd29ya2Zsb3cuc3RlcHMgYXMgeyBba2V5OiBzdHJpbmddOiBBWFBXb3JrZmxvd1N0ZXAgfTtcbiAgICAgIGlmIChzdGVwc1tzdGVwTmFtZV0pIHtcbiAgICAgICAgc3RlcHNbc3RlcE5hbWVdID0gc3RlcDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU3RlcCB3aXRoIG5hbWUgJHtzdGVwTmFtZX0gZG9lcyBub3QgZXhpc3QgaW4gd29ya2Zsb3cgJHt3b3JrZmxvd05hbWV9LmApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFdvcmtmbG93IHdpdGggbmFtZSAke3dvcmtmbG93TmFtZX0gZG9lcyBub3QgZXhpc3QuYCk7XG4gICAgfVxuICB9XG5cbiAgYWRkU3RlcFRvV29ya2Zsb3cod29ya2Zsb3dOYW1lOiBzdHJpbmcsIHN0ZXBOYW1lOiBzdHJpbmcsIHN0ZXA6IEFYUFdvcmtmbG93U3RlcCk6IHZvaWQge1xuICAgIGNvbnN0IHdvcmtmbG93ID0gdGhpcy53b3JrZmxvd3NNYXAuZ2V0KHdvcmtmbG93TmFtZSk7XG4gICAgaWYgKHdvcmtmbG93KSB7XG4gICAgICBjb25zdCBzdGVwcyA9IHdvcmtmbG93LnN0ZXBzIGFzIHsgW2tleTogc3RyaW5nXTogQVhQV29ya2Zsb3dTdGVwIH07XG4gICAgICBpZiAoIXN0ZXBzW3N0ZXBOYW1lXSkge1xuICAgICAgICBzdGVwc1tzdGVwTmFtZV0gPSBzdGVwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdGVwIHdpdGggbmFtZSAke3N0ZXBOYW1lfSBhbHJlYWR5IGV4aXN0cyBpbiB3b3JrZmxvdyAke3dvcmtmbG93TmFtZX0uYCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgV29ya2Zsb3cgd2l0aCBuYW1lICR7d29ya2Zsb3dOYW1lfSBkb2VzIG5vdCBleGlzdC5gKTtcbiAgICB9XG4gIH1cblxuICBhZGRBZnRlclN0ZXAoXG4gICAgd29ya2Zsb3dJZDogc3RyaW5nLFxuICAgIHN0ZXBJZDogc3RyaW5nLFxuICAgIG5ld1N0ZXBJZDogc3RyaW5nLFxuICAgIG5ld1N0ZXBBY3Rpb246IHN0cmluZyxcbiAgICBjb25kaXRpb25FeHByZXNzaW9uOiBzdHJpbmdcbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcCA9IHRoaXMuZ2V0U3RlcCh3b3JrZmxvd0lkLCBzdGVwSWQpO1xuICAgIGlmIChzdGVwICE9IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hZGRTdGVwVG9Xb3JrZmxvdyh3b3JrZmxvd0lkLCBuZXdTdGVwSWQsIHtcbiAgICAgICAgYWN0aW9uOiBuZXdTdGVwQWN0aW9uLFxuICAgICAgICBuZXh0U3RlcHM6IHN0ZXAubmV4dFN0ZXBzLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMudXBkYXRlU3RlcEluV29ya2Zsb3cod29ya2Zsb3dJZCwgc3RlcElkLCB7XG4gICAgICAgIC4uLnN0ZXAsXG4gICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiBjb25kaXRpb25FeHByZXNzaW9uIH1dLFxuICAgICAgICAgICAgbmV4dFN0ZXBJZDogbmV3U3RlcElkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Injectable, inject } from '@angular/core';\nimport { filter } from 'rxjs';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { cloneDeep, get } from 'lodash-es';\nimport { setSmart } from '@acorex/platform/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowContext {\n constructor(initialData = {}) {\n this.variables = {};\n this.stepOutputs = new Map();\n this.variables = cloneDeep(initialData);\n }\n setVariable(key, value) {\n setSmart(this.variables, key, value);\n }\n setVariables(context = {}) {\n this.variables = { ...this.variables, ...context };\n }\n getVariable(key) {\n return !key ? this.variables : get(this.variables, key);\n }\n setOutput(key, output) {\n this.stepOutputs.set(key, output);\n }\n setOutputs(values) {\n this.stepOutputs = new Map([...this.stepOutputs, ...values]);\n }\n getOutput(key) {\n return this.stepOutputs.get(key);\n }\n}\nexport class AXPWorkflowAction {\n constructor() {\n this.eventService = inject(AXPWorkflowEventService);\n }\n dispatch(event) {\n this.eventService.dispatch(event);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowAction, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPWorkflowFunction {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowFunction, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowFunction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowFunction, decorators: [{\n type: Injectable\n }] });\nexport function createWorkFlowEvent(type) {\n const eventCreator = (payload) => ({ type, payload });\n eventCreator.type = type;\n return eventCreator;\n}\nexport function ofType(...allowedTypes) {\n return filter((event) => allowedTypes.some((type) => event.type === type.type));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvd29ya2Zsb3cudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBUWpELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsWUFBWSxjQUFtQixFQUFFO1FBSXpCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBcUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUpoRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBS0QsV0FBVyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ2pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBR0QsWUFBWSxDQUFDLFVBQWUsRUFBRTtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELFdBQVcsQ0FBVSxHQUFtQjtRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxNQUFXO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQXdCO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQzlELENBQUM7SUFFRCxTQUFTLENBQVUsR0FBVztRQUM1QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQXlCRCxNQUFNLE9BQWdCLGlCQUFpQjtJQUR2QztRQUVVLGlCQUFZLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7S0FPeEQ7SUFMVyxRQUFRLENBQUMsS0FBdUI7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzsrR0FMbUIsaUJBQWlCO21IQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRHRDLFVBQVU7O0FBWVgsTUFBTSxPQUFnQixtQkFBbUI7K0dBQW5CLG1CQUFtQjttSEFBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUR4QyxVQUFVOztBQVlYLE1BQU0sVUFBVSxtQkFBbUIsQ0FBSSxJQUFZO0lBQ2pELE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekQsWUFBWSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDekIsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQTZCLEdBQUcsWUFBcUM7SUFDekYsT0FBTyxNQUFNLENBQUMsQ0FBQyxLQUFRLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0V2ZW50U2VydmljZSB9IGZyb20gJy4vd29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IHNldFNtYXJ0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvdyB7XG4gIHN0ZXBzOiB7IFtzdGVwTmFtZTogc3RyaW5nXTogQVhQV29ya2Zsb3dTdGVwIH07XG4gIHN0YXJ0U3RlcElkOiBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGNsYXNzIEFYUFdvcmtmbG93Q29udGV4dCB7XG5cbiAgY29uc3RydWN0b3IoaW5pdGlhbERhdGE6IGFueSA9IHt9KSB7XG4gICAgdGhpcy52YXJpYWJsZXMgPSBjbG9uZURlZXAoaW5pdGlhbERhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YXJpYWJsZXM6IGFueSA9IHt9O1xuICBwcml2YXRlIHN0ZXBPdXRwdXRzOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcCgpO1xuXG4gIHNldFZhcmlhYmxlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgc2V0U21hcnQodGhpcy52YXJpYWJsZXMsIGtleSwgdmFsdWUpO1xuICB9XG5cblxuICBzZXRWYXJpYWJsZXMoY29udGV4dDogYW55ID0ge30pIHtcbiAgICB0aGlzLnZhcmlhYmxlcyA9IHsgLi4udGhpcy52YXJpYWJsZXMsIC4uLmNvbnRleHQgfTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlPFQgPSBhbnk+KGtleT86IHN0cmluZyB8IG51bGwpOiBUIHtcbiAgICByZXR1cm4gIWtleSA/IHRoaXMudmFyaWFibGVzIDogZ2V0KHRoaXMudmFyaWFibGVzLCBrZXkpO1xuICB9XG5cbiAgc2V0T3V0cHV0KGtleTogc3RyaW5nLCBvdXRwdXQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc3RlcE91dHB1dHMuc2V0KGtleSwgb3V0cHV0KTtcbiAgfVxuXG4gIHNldE91dHB1dHModmFsdWVzOiBNYXA8c3RyaW5nLCBhbnk+KTogdm9pZCB7XG4gICAgdGhpcy5zdGVwT3V0cHV0cyA9IG5ldyBNYXAoWy4uLnRoaXMuc3RlcE91dHB1dHMsIC4uLnZhbHVlc10pXG4gIH1cblxuICBnZXRPdXRwdXQ8VCA9IGFueT4oa2V5OiBzdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwT3V0cHV0cy5nZXQoa2V5KTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBBWFBXb3JrZmxvd0FjdGlvbklucHV0ID0gYW55O1xuXG5leHBvcnQgdHlwZSBBWFBXb3JrZmxvd0NvbmRpdGlvblR5cGUgPSAnQU5EJyB8ICdPUicgfCAnU0lOR0xFJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvd0NvbmRpdGlvbiB7XG4gIHR5cGU6IEFYUFdvcmtmbG93Q29uZGl0aW9uVHlwZTtcbiAgY29uZGl0aW9ucz86IEFYUFdvcmtmbG93Q29uZGl0aW9uW107IC8vIE5lc3RlZCBjb25kaXRpb25zXG4gIGV4cHJlc3Npb24/OiBzdHJpbmc7IC8vIFVzZWQgaWYgdHlwZSBpcyAnU0lOR0xFJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdvcmtmbG93TmV4dFN0ZXAge1xuICBjb25kaXRpb25zOiBBWFBXb3JrZmxvd0NvbmRpdGlvbltdO1xuICBuZXh0U3RlcElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3dTdGVwIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIGFjdGlvbjogQVhQV29ya2Zsb3dBY3Rpb24gfCBzdHJpbmc7XG4gIGlucHV0PzogQVhQV29ya2Zsb3dBY3Rpb25JbnB1dDtcbiAgbmV4dFN0ZXBzPzogQVhQV29ya2Zsb3dOZXh0U3RlcFtdO1xuICBjb25kaXRpb25zPzogQVhQV29ya2Zsb3dDb25kaXRpb25bXTtcbn1cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgZXZlbnRTZXJ2aWNlID0gaW5qZWN0KEFYUFdvcmtmbG93RXZlbnRTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgZGlzcGF0Y2goZXZlbnQ6IEFYUFdvcmtmbG93RXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50U2VydmljZS5kaXNwYXRjaChldmVudCk7XG4gIH1cblxuICBhYnN0cmFjdCBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBXb3JrZmxvd0Z1bmN0aW9uIHtcbiAgYWJzdHJhY3QgZXhlY3V0ZSguLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8YW55PiB8IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvd0V2ZW50PFQgPSBhbnk+IHtcbiAgdHlwZTogc3RyaW5nO1xuICBwYXlsb2FkPzogVDtcbn1cblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVXb3JrRmxvd0V2ZW50PFQ+KHR5cGU6IHN0cmluZykge1xuICBjb25zdCBldmVudENyZWF0b3IgPSAocGF5bG9hZDogVCkgPT4gKHsgdHlwZSwgcGF5bG9hZCB9KTtcbiAgZXZlbnRDcmVhdG9yLnR5cGUgPSB0eXBlO1xuICByZXR1cm4gZXZlbnRDcmVhdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2ZUeXBlPFQgZXh0ZW5kcyB7IHR5cGU6IHN0cmluZyB9PiguLi5hbGxvd2VkVHlwZXM6IEFycmF5PHsgdHlwZTogc3RyaW5nIH0+KSB7XG4gIHJldHVybiBmaWx0ZXIoKGV2ZW50OiBUKSA9PiBhbGxvd2VkVHlwZXMuc29tZSgodHlwZSkgPT4gZXZlbnQudHlwZSA9PT0gdHlwZS50eXBlKSk7XG59XG4iXX0=","import { Injectable } from \"@angular/core\";\nimport { AXPWorkflowAction } from \"../workflow.types\";\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowDecideAction extends AXPWorkflowAction {\n async execute(context) {\n // its a fake action\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowDecideAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowDecideAction, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowDecideAction, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaWRlLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi9hY3Rpb25zL2RlY2lkZS5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQXNCLE1BQU0sbUJBQW1CLENBQUM7O0FBTTFFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxpQkFBaUI7SUFDMUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNyQyxvQkFBb0I7SUFDeEIsQ0FBQzsrR0FIUSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQUZwQixNQUFNOzs0RkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0IH0gZnJvbSBcIi4uL3dvcmtmbG93LnR5cGVzXCI7XG5cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQV29ya2Zsb3dEZWNpZGVBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy8gaXRzIGEgZmFrZSBhY3Rpb25cbiAgICB9XG59Il19","import { Injectable, Injector, inject } from '@angular/core';\nimport { cloneDeep, set } from 'lodash-es';\nimport { AXPWorkflowError } from './errors.types';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { AXPWorkflowRegistryService } from './workflow-registery.service';\nimport { AXPWorkflowContext, } from './workflow.types';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./workflow-registery.service\";\nexport class AXPWorkflowService {\n get events$() {\n return this.eventService.events$;\n }\n constructor(registryService, injector) {\n this.registryService = registryService;\n this.injector = injector;\n this.eventService = inject(AXPWorkflowEventService);\n }\n exists(name) {\n return !!this.registryService.getWorkflow(name);\n }\n async execute(workflow, initialContext = null) {\n // Instantiate or retrieve the workflow\n const wk = typeof workflow === 'string' ? this.getWorkflowInstance(workflow) : workflow;\n let currentStepId = wk.startStepId;\n const context = initialContext instanceof AXPWorkflowContext\n ? initialContext\n : new AXPWorkflowContext(this.processData(initialContext) ?? {});\n // Initialize context with initial variables\n while (currentStepId) {\n const currentStep = wk.steps[currentStepId];\n if (!currentStep) {\n throw new AXPWorkflowError(`Step '${currentStepId}' not found in the workflow steps.`);\n }\n // Instantiate or retrieve the action\n const action = typeof currentStep.action === 'string' ? this.getActionInstance(currentStep.action) : currentStep.action;\n //\n if (currentStep.input) {\n let inputs = {};\n await this.processInputs(cloneDeep(currentStep.input), inputs, '', context);\n await new Promise((resolve) => setTimeout(async () => {\n Object.assign(action, inputs);\n resolve(0);\n }));\n }\n try {\n await new Promise((resolve) => setTimeout(async () => {\n await action.execute(context);\n resolve(0);\n }, 0));\n }\n catch (error) {\n console.error(error);\n throw new AXPWorkflowError('Workflow Error', error);\n }\n // Determine the next step based on the conditions\n const nextStepInfo = await this.determineNextStep(currentStep, context);\n if (nextStepInfo) {\n currentStepId = nextStepInfo.nextStepId;\n }\n else {\n break; // Exit the loop if no next step is determined\n }\n }\n return context;\n }\n processData(initialContext) {\n //TODO: update values with expressions and return new object\n return initialContext;\n }\n getActionInstance(actionName) {\n const actionType = this.registryService.getAction(actionName);\n if (!actionType) {\n throw new AXPWorkflowError(`Action type '${actionName}' not found in the registry.`);\n }\n return this.injector.get(actionType);\n }\n getWorkflowInstance(workflowName) {\n const workflowType = this.registryService.getWorkflow(workflowName);\n if (!workflowType) {\n throw new AXPWorkflowError(`Workflow type '${workflowName}' not found in the registry.`);\n }\n return workflowType;\n }\n async determineNextStep(currentStep, context) {\n if (!currentStep.nextSteps) {\n return null;\n }\n for (const nextStep of currentStep.nextSteps) {\n if (await this.evaluateCondition(nextStep.conditions, context)) {\n return nextStep;\n }\n }\n return null;\n }\n async evaluateCondition(conditions, context) {\n if (!conditions || conditions.length === 0) {\n return true; // If no conditions, the step proceeds\n }\n // Map each condition to a promise using evaluateSingleCondition\n const conditionPromises = conditions.map((condition) => this.evaluateSingleCondition(condition, context));\n // Wait for all promises to resolve\n const results = await Promise.all(conditionPromises);\n // Check if every condition is true\n return results.every((result) => result);\n }\n async evaluateSingleCondition(condition, context) {\n switch (condition.type) {\n case 'SINGLE':\n return (!condition.expression ? true : await this.evaluateExpression(condition.expression, context));\n case 'AND':\n // Evaluate all conditions with 'AND' logic\n const andConditions = condition.conditions ?? [];\n const andResults = await Promise.all(andConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return andResults.every((result) => result);\n case 'OR':\n // Evaluate all conditions with 'OR' logic\n const orConditions = condition.conditions ?? [];\n const orResults = await Promise.all(orConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return orResults.some((result) => result);\n default:\n throw new AXPWorkflowError(`Unsupported condition type: ${condition.type}`);\n }\n }\n //TODO: return any and recursively update object, update scopes\n async evaluateExpression(templateExpression, context) {\n try {\n let expression = '';\n if (typeof templateExpression === 'string' && templateExpression.trim().includes('{{')) {\n const expressionMatch = templateExpression.match(/\\{\\{\\s*(.*?)\\s*\\}\\}/);\n if (!expressionMatch) {\n throw Error(`No valid expression found in \"${templateExpression}\"`);\n }\n expression = expressionMatch[1];\n }\n else {\n expression = templateExpression;\n }\n // Create a scope that includes context and registered functions\n const scope = { context, ...this.createFunctionScope() };\n // Evaluating the expression within the created scope\n const sandbox = new Function('scope', `return (async function() { with (scope) { return ${expression}; } })();`);\n const result = await sandbox(scope);\n return result;\n }\n catch (error) {\n console.error('Error evaluating expression:', error);\n return false;\n }\n }\n async processInputs(obj, inputs, pathPrefix = '', context = {}) {\n if (!obj) {\n return;\n }\n for await (const i of Object.entries(obj)) {\n const key = i[0];\n const value = i[1];\n const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;\n if (typeof value === 'string' && value.trim().includes('{{')) {\n const expValue = await this.evaluateExpression(value, context);\n set(inputs, currentPath, expValue);\n }\n else if (typeof value === 'object' &&\n value !== null &&\n (value.constructor === Object || Array.isArray(value))) {\n // Recursively handle nested objects\n this.processInputs(value, inputs, currentPath, context);\n }\n else {\n // Apply static values directly\n set(inputs, currentPath, value);\n }\n }\n }\n createFunctionScope() {\n const scope = {};\n this.registryService.getFunctionNames().forEach((name) => {\n scope[name] = this.getFunctionInstance(name).execute;\n });\n return { methods: { scope } };\n }\n getFunctionInstance(functionName) {\n const functionType = this.registryService.getFunction(functionName);\n if (!functionType) {\n throw new AXPWorkflowError(`Function type '${functionName}' not found in the registry.`);\n }\n return this.injector.get(functionType);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowService, deps: [{ token: i1.AXPWorkflowRegistryService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.AXPWorkflowRegistryService }, { type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi93b3JrZmxvdy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBSUwsa0JBQWtCLEdBS25CLE1BQU0sa0JBQWtCLENBQUM7OztBQUsxQixNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQW9CLGVBQTJDLEVBQVUsUUFBa0I7UUFBdkUsb0JBQWUsR0FBZixlQUFlLENBQTRCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQU5uRixpQkFBWSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBTXdDLENBQUM7SUFFaEcsTUFBTSxDQUFDLElBQVk7UUFDakIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUdELEtBQUssQ0FBQyxPQUFPLENBQ1gsUUFBOEIsRUFDOUIsaUJBQWtELElBQUk7UUFFdEQsdUNBQXVDO1FBQ3ZDLE1BQU0sRUFBRSxHQUFHLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMs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SUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMxRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sK0JBQStCO2dCQUMvQixHQUFHLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxtQkFBbUI7UUFDekIsTUFBTSxLQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN2RCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxZQUFvQjtRQUM5QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLGdCQUFnQixDQUFDLGtCQUFrQixZQUFZLDhCQUE4QixDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQzsrR0FwTlUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUFdvcmtmbG93RXJyb3IgfSBmcm9tICcuL2Vycm9ycy50eXBlcyc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0V2ZW50U2VydmljZSB9IGZyb20gJy4vd29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi93b3JrZmxvdy1yZWdpc3Rlcnkuc2VydmljZSc7XG5pbXBvcnQge1xuICBBWFBXb3JrZmxvdyxcbiAgQVhQV29ya2Zsb3dBY3Rpb24sXG4gIEFYUFdvcmtmbG93Q29uZGl0aW9uLFxuICBBWFBXb3JrZmxvd0NvbnRleHQsXG4gIEFYUFdvcmtmbG93RXZlbnQsXG4gIEFYUFdvcmtmbG93RnVuY3Rpb24sXG4gIEFYUFdvcmtmbG93TmV4dFN0ZXAsXG4gIEFYUFdvcmtmbG93U3RlcCxcbn0gZnJvbSAnLi93b3JrZmxvdy50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd1NlcnZpY2Uge1xuICBwcml2YXRlIGV2ZW50U2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd0V2ZW50U2VydmljZSk7XG5cbiAgZ2V0IGV2ZW50cyQoKTogT2JzZXJ2YWJsZTxBWFBXb3JrZmxvd0V2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRTZXJ2aWNlLmV2ZW50cyQ7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZ2lzdHJ5U2VydmljZTogQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2UsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7IH1cblxuICBleGlzdHMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0V29ya2Zsb3cobmFtZSk7XG4gIH1cblxuXG4gIGFzeW5jIGV4ZWN1dGUoXG4gICAgd29ya2Zsb3c6IEFYUFdvcmtmbG93IHwgc3RyaW5nLFxuICAgIGluaXRpYWxDb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQgfCBhbnkgfCBudWxsID0gbnVsbFxuICApOiBQcm9taXNlPEFYUFdvcmtmbG93Q29udGV4dD4ge1xuICAgIC8vIEluc3RhbnRpYXRlIG9yIHJldHJpZXZlIHRoZSB3b3JrZmxvd1xuICAgIGNvbnN0IHdrID0gdHlwZW9mIHdvcmtmbG93ID09PSAnc3RyaW5nJyA/IHRoaXMuZ2V0V29ya2Zsb3dJbnN0YW5jZSh3b3JrZmxvdykgOiB3b3JrZmxvdztcblxuICAgIGxldCBjdXJyZW50U3RlcElkID0gd2suc3RhcnRTdGVwSWQ7XG4gICAgY29uc3QgY29udGV4dCA9XG4gICAgICBpbml0aWFsQ29udGV4dCBpbnN0YW5jZW9mIEFYUFdvcmtmbG93Q29udGV4dFxuICAgICAgICA/IGluaXRpYWxDb250ZXh0XG4gICAgICAgIDogbmV3IEFYUFdvcmtmbG93Q29udGV4dCh0aGlzLnByb2Nlc3NEYXRhKGluaXRpYWxDb250ZXh0KSA/PyB7fSk7XG4gICAgLy8gSW5pdGlhbGl6ZSBjb250ZXh0IHdpdGggaW5pdGlhbCB2YXJpYWJsZXNcblxuICAgIHdoaWxlIChjdXJyZW50U3RlcElkKSB7XG4gICAgICBjb25zdCBjdXJyZW50U3RlcCA9IHdrLnN0ZXBzW2N1cnJlbnRTdGVwSWRdO1xuICAgICAgaWYgKCFjdXJyZW50U3RlcCkge1xuICAgICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcihgU3RlcCAnJHtjdXJyZW50U3RlcElkfScgbm90IGZvdW5kIGluIHRoZSB3b3JrZmxvdyBzdGVwcy5gKTtcbiAgICAgIH1cblxuICAgICAgLy8gSW5zdGFudGlhdGUgb3IgcmV0cmlldmUgdGhlIGFjdGlvblxuICAgICAgY29uc3QgYWN0aW9uID1cbiAgICAgICAgdHlwZW9mIGN1cnJlbnRTdGVwLmFjdGlvbiA9PT0gJ3N0cmluZycgPyB0aGlzLmdldEFjdGlvbkluc3RhbmNlKGN1cnJlbnRTdGVwLmFjdGlvbikgOiBjdXJyZW50U3RlcC5hY3Rpb247XG4gICAgICAvL1xuICAgICAgaWYgKGN1cnJlbnRTdGVwLmlucHV0KSB7XG4gICAgICAgIGxldCBpbnB1dHM6IGFueSA9IHt9O1xuICAgICAgICBhd2FpdCB0aGlzLnByb2Nlc3NJbnB1dHMoY2xvbmVEZWVwKGN1cnJlbnRTdGVwLmlucHV0KSwgaW5wdXRzLCAnJywgY29udGV4dCk7XG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PlxuICAgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihhY3Rpb24sIGlucHV0cyk7XG4gICAgICAgICAgICByZXNvbHZlKDApO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT5cbiAgICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGFjdGlvbi5leGVjdXRlKGNvbnRleHQpO1xuICAgICAgICAgICAgcmVzb2x2ZSgwKTtcbiAgICAgICAgICB9LCAwKVxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIHRocm93IG5ldyBBWFBXb3JrZmxvd0Vycm9yKCdXb3JrZmxvdyBFcnJvcicsIGVycm9yIGFzIEVycm9yKTtcbiAgICAgIH1cbiAgICAgIC8vIERldGVybWluZSB0aGUgbmV4dCBzdGVwIGJhc2VkIG9uIHRoZSBjb25kaXRpb25zXG4gICAgICBjb25zdCBuZXh0U3RlcEluZm8gPSBhd2FpdCB0aGlzLmRldGVybWluZU5leHRTdGVwKGN1cnJlbnRTdGVwLCBjb250ZXh0KTtcbiAgICAgIGlmIChuZXh0U3RlcEluZm8pIHtcbiAgICAgICAgY3VycmVudFN0ZXBJZCA9IG5leHRTdGVwSW5mby5uZXh0U3RlcElkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWs7IC8vIEV4aXQgdGhlIGxvb3AgaWYgbm8gbmV4dCBzdGVwIGlzIGRldGVybWluZWRcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NEYXRhKGluaXRpYWxDb250ZXh0OiBhbnkpOiBhbnkge1xuICAgIC8vVE9ETzogdXBkYXRlIHZhbHVlcyB3aXRoIGV4cHJlc3Npb25zIGFuZCByZXR1cm4gbmV3IG9iamVjdFxuICAgIHJldHVybiBpbml0aWFsQ29udGV4dDtcbiAgfVxuXG5cblxuICBwcml2YXRlIGdldEFjdGlvbkluc3RhbmNlKGFjdGlvbk5hbWU6IHN0cmluZyk6IEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBjb25zdCBhY3Rpb25UeXBlID0gdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0QWN0aW9uKGFjdGlvbk5hbWUpO1xuICAgIGlmICghYWN0aW9uVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoYEFjdGlvbiB0eXBlICcke2FjdGlvbk5hbWV9JyBub3QgZm91bmQgaW4gdGhlIHJlZ2lzdHJ5LmApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoYWN0aW9uVHlwZSk7XG4gIH1cblxuICBwcml2YXRlIGdldFdvcmtmbG93SW5zdGFuY2Uod29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvdyB7XG4gICAgY29uc3Qgd29ya2Zsb3dUeXBlID0gdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0V29ya2Zsb3cod29ya2Zsb3dOYW1lKTtcbiAgICBpZiAoIXdvcmtmbG93VHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoYFdvcmtmbG93IHR5cGUgJyR7d29ya2Zsb3dOYW1lfScgbm90IGZvdW5kIGluIHRoZSByZWdpc3RyeS5gKTtcbiAgICB9XG4gICAgcmV0dXJuIHdvcmtmbG93VHlwZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGV0ZXJtaW5lTmV4dFN0ZXAoXG4gICAgY3VycmVudFN0ZXA6IEFYUFdvcmtmbG93U3RlcCxcbiAgICBjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHRcbiAgKTogUHJvbWlzZTxBWFBXb3JrZmxvd05leHRTdGVwIHwgbnVsbD4ge1xuICAgIGlmICghY3VycmVudFN0ZXAubmV4dFN0ZXBzKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZm9yIChjb25zdCBuZXh0U3RlcCBvZiBjdXJyZW50U3RlcC5uZXh0U3RlcHMpIHtcbiAgICAgIGlmIChhd2FpdCB0aGlzLmV2YWx1YXRlQ29uZGl0aW9uKG5leHRTdGVwLmNvbmRpdGlvbnMsIGNvbnRleHQpKSB7XG4gICAgICAgIHJldHVybiBuZXh0U3RlcDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlQ29uZGl0aW9uKGNvbmRpdGlvbnM6IEFYUFdvcmtmbG93Q29uZGl0aW9uW10sIGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICghY29uZGl0aW9ucyB8fCBjb25kaXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7IC8vIElmIG5vIGNvbmRpdGlvbnMsIHRoZSBzdGVwIHByb2NlZWRzXG4gICAgfVxuXG4gICAgLy8gTWFwIGVhY2ggY29uZGl0aW9uIHRvIGEgcHJvbWlzZSB1c2luZyBldmFsdWF0ZVNpbmdsZUNvbmRpdGlvblxuICAgIGNvbnN0IGNvbmRpdGlvblByb21pc2VzID0gY29uZGl0aW9ucy5tYXAoKGNvbmRpdGlvbikgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kaXRpb24sIGNvbnRleHQpKTtcblxuICAgIC8vIFdhaXQgZm9yIGFsbCBwcm9taXNlcyB0byByZXNvbHZlXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKGNvbmRpdGlvblByb21pc2VzKTtcblxuICAgIC8vIENoZWNrIGlmIGV2ZXJ5IGNvbmRpdGlvbiBpcyB0cnVlXG4gICAgcmV0dXJuIHJlc3VsdHMuZXZlcnkoKHJlc3VsdCkgPT4gcmVzdWx0KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZXZhbHVhdGVTaW5nbGVDb25kaXRpb24oXG4gICAgY29uZGl0aW9uOiBBWFBXb3JrZmxvd0NvbmRpdGlvbixcbiAgICBjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHRcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgc3dpdGNoIChjb25kaXRpb24udHlwZSkge1xuICAgICAgY2FzZSAnU0lOR0xFJzpcbiAgICAgICAgcmV0dXJuICghY29uZGl0aW9uLmV4cHJlc3Npb24gPyB0cnVlIDogYXdhaXQgdGhpcy5ldmFsdWF0ZUV4cHJlc3Npb24oY29uZGl0aW9uLmV4cHJlc3Npb24sIGNvbnRleHQpKSBhcyBib29sZWFuO1xuICAgICAgY2FzZSAnQU5EJzpcbiAgICAgICAgLy8gRXZhbHVhdGUgYWxsIGNvbmRpdGlvbnMgd2l0aCAnQU5EJyBsb2dpY1xuICAgICAgICBjb25zdCBhbmRDb25kaXRpb25zID0gY29uZGl0aW9uLmNvbmRpdGlvbnMgPz8gW107XG4gICAgICAgIGNvbnN0IGFuZFJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChhbmRDb25kaXRpb25zLm1hcCgoY29uZCkgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kLCBjb250ZXh0KSkpO1xuICAgICAgICByZXR1cm4gYW5kUmVzdWx0cy5ldmVyeSgocmVzdWx0KSA9PiByZXN1bHQpO1xuXG4gICAgICBjYXNlICdPUic6XG4gICAgICAgIC8vIEV2YWx1YXRlIGFsbCBjb25kaXRpb25zIHdpdGggJ09SJyBsb2dpY1xuICAgICAgICBjb25zdCBvckNvbmRpdGlvbnMgPSBjb25kaXRpb24uY29uZGl0aW9ucyA/PyBbXTtcbiAgICAgICAgY29uc3Qgb3JSZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwob3JDb25kaXRpb25zLm1hcCgoY29uZCkgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kLCBjb250ZXh0KSkpO1xuICAgICAgICByZXR1cm4gb3JSZXN1bHRzLnNvbWUoKHJlc3VsdCkgPT4gcmVzdWx0KTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoYFVuc3VwcG9ydGVkIGNvbmRpdGlvbiB0eXBlOiAke2NvbmRpdGlvbi50eXBlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8vVE9ETzogcmV0dXJuIGFueSBhbmQgcmVjdXJzaXZlbHkgdXBkYXRlIG9iamVjdCwgdXBkYXRlIHNjb3Blc1xuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlRXhwcmVzc2lvbih0ZW1wbGF0ZUV4cHJlc3Npb246IHN0cmluZywgY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTxCb29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCBleHByZXNzaW9uID0gJyc7XG4gICAgICBpZiAodHlwZW9mIHRlbXBsYXRlRXhwcmVzc2lvbiA9PT0gJ3N0cmluZycgJiYgdGVtcGxhdGVFeHByZXNzaW9uLnRyaW0oKS5pbmNsdWRlcygne3snKSkge1xuICAgICAgICBjb25zdCBleHByZXNzaW9uTWF0Y2ggPSB0ZW1wbGF0ZUV4cHJlc3Npb24ubWF0Y2goL1xce1xce1xccyooLio/KVxccypcXH1cXH0vKTtcbiAgICAgICAgaWYgKCFleHByZXNzaW9uTWF0Y2gpIHtcbiAgICAgICAgICB0aHJvdyBFcnJvcihgTm8gdmFsaWQgZXhwcmVzc2lvbiBmb3VuZCBpbiBcIiR7dGVtcGxhdGVFeHByZXNzaW9ufVwiYCk7XG4gICAgICAgIH1cbiAgICAgICAgZXhwcmVzc2lvbiA9IGV4cHJlc3Npb25NYXRjaFsxXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4cHJlc3Npb24gPSB0ZW1wbGF0ZUV4cHJlc3Npb247XG4gICAgICB9XG4gICAgICAvLyBDcmVhdGUgYSBzY29wZSB0aGF0IGluY2x1ZGVzIGNvbnRleHQgYW5kIHJlZ2lzdGVyZWQgZnVuY3Rpb25zXG4gICAgICBjb25zdCBzY29wZSA9IHsgY29udGV4dCwgLi4udGhpcy5jcmVhdGVGdW5jdGlvblNjb3BlKCkgfTtcbiAgICAgIC8vIEV2YWx1YXRpbmcgdGhlIGV4cHJlc3Npb24gd2l0aGluIHRoZSBjcmVhdGVkIHNjb3BlXG4gICAgICBjb25zdCBzYW5kYm94ID0gbmV3IEZ1bmN0aW9uKCdzY29wZScsIGByZXR1cm4gKGFzeW5jIGZ1bmN0aW9uKCkgeyB3aXRoIChzY29wZSkgeyByZXR1cm4gJHtleHByZXNzaW9ufTsgfSB9KSgpO2ApO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2FuZGJveChzY29wZSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBldmFsdWF0aW5nIGV4cHJlc3Npb246JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJvY2Vzc0lucHV0cyhvYmo6IGFueSwgaW5wdXRzOiBhbnksIHBhdGhQcmVmaXg6IHN0cmluZyA9ICcnLCBjb250ZXh0OiBhbnkgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghb2JqKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIGF3YWl0IChjb25zdCBpIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICAgIGNvbnN0IGtleSA9IGlbMF07XG4gICAgICBjb25zdCB2YWx1ZSA9IGlbMV07XG4gICAgICBjb25zdCBjdXJyZW50UGF0aCA9IHBhdGhQcmVmaXggPyBgJHtwYXRoUHJlZml4fS4ke2tleX1gIDoga2V5O1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUudHJpbSgpLmluY2x1ZGVzKCd7eycpKSB7XG4gICAgICAgIGNvbnN0IGV4cFZhbHVlID0gYXdhaXQgdGhpcy5ldmFsdWF0ZUV4cHJlc3Npb24odmFsdWUsIGNvbnRleHQpO1xuICAgICAgICBzZXQoaW5wdXRzLCBjdXJyZW50UGF0aCwgZXhwVmFsdWUpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICAgICB2YWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgICAodmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCB8fCBBcnJheS5pc0FycmF5KHZhbHVlKSlcbiAgICAgICkge1xuICAgICAgICAvLyBSZWN1cnNpdmVseSBoYW5kbGUgbmVzdGVkIG9iamVjdHNcbiAgICAgICAgdGhpcy5wcm9jZXNzSW5wdXRzKHZhbHVlLCBpbnB1dHMsIGN1cnJlbnRQYXRoLCBjb250ZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFwcGx5IHN0YXRpYyB2YWx1ZXMgZGlyZWN0bHlcbiAgICAgICAgc2V0KGlucHV0cywgY3VycmVudFBhdGgsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZ1bmN0aW9uU2NvcGUoKTogYW55IHtcbiAgICBjb25zdCBzY29wZTogYW55ID0ge307XG4gICAgdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0RnVuY3Rpb25OYW1lcygpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIHNjb3BlW25hbWVdID0gdGhpcy5nZXRGdW5jdGlvbkluc3RhbmNlKG5hbWUpLmV4ZWN1dGU7XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgbWV0aG9kczogeyBzY29wZSB9IH07XG4gIH1cblxuICBwcml2YXRlIGdldEZ1bmN0aW9uSW5zdGFuY2UoZnVuY3Rpb25OYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvd0Z1bmN0aW9uIHtcbiAgICBjb25zdCBmdW5jdGlvblR5cGUgPSB0aGlzLnJlZ2lzdHJ5U2VydmljZS5nZXRGdW5jdGlvbihmdW5jdGlvbk5hbWUpO1xuICAgIGlmICghZnVuY3Rpb25UeXBlKSB7XG4gICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcihgRnVuY3Rpb24gdHlwZSAnJHtmdW5jdGlvbk5hbWV9JyBub3QgZm91bmQgaW4gdGhlIHJlZ2lzdHJ5LmApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoZnVuY3Rpb25UeXBlKTtcbiAgfVxufVxuIl19","import { inject, Injectable } from \"@angular/core\";\nimport { AXPWorkflowAction } from \"../workflow.types\";\nimport { AXPWorkflowService } from \"../workflow.service\";\nimport * as i0 from \"@angular/core\";\nexport class AXPStartWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.workflowService = inject(AXPWorkflowService);\n }\n async execute(context) {\n //console.log(\"start WK current context\", context);\n //console.log(\"start WK input context\", this.context);\n if (this.context)\n context.setVariables(this.context);\n //console.log(\"start WK merged context\", context);\n try {\n await this.workflowService.execute(this.workflow, context);\n }\n catch (e) {\n throw e;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPStartWorkflowAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPStartWorkflowAction, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPStartWorkflowAction, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtd29ya2Zsb3cuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2FjdGlvbnMvc3RhcnQtd29ya2Zsb3cuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFLekQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjtJQUg3RDs7UUFLWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0tBa0J2RDtJQWRHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsbURBQW1EO1FBQ25ELHNEQUFzRDtRQUN0RCxJQUFJLElBQUksQ0FBQyxPQUFPO1lBQ1osT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdEMsa0RBQWtEO1FBQ2xELElBQUksQ0FBQztZQUNELE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsT0FBTyxDQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLENBQUMsQ0FBQztRQUNaLENBQUM7SUFFTCxDQUFDOytHQW5CUSxzQkFBc0I7bUhBQXRCLHNCQUFzQixjQUZuQixNQUFNOzs0RkFFVCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQgfSBmcm9tIFwiLi4vd29ya2Zsb3cudHlwZXNcIjtcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gXCIuLi93b3JrZmxvdy5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFN0YXJ0V29ya2Zsb3dBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG5cbiAgICBwcml2YXRlIHdvcmtmbG93U2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpXG4gICAgcHJpdmF0ZSB3b3JrZmxvdzogc3RyaW5nO1xuICAgIHByaXZhdGUgY29udGV4dDogYW55O1xuXG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcInN0YXJ0IFdLIGN1cnJlbnQgY29udGV4dFwiLCBjb250ZXh0KTtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcInN0YXJ0IFdLIGlucHV0IGNvbnRleHRcIiwgdGhpcy5jb250ZXh0KTtcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgIGNvbnRleHQuc2V0VmFyaWFibGVzKHRoaXMuY29udGV4dClcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcInN0YXJ0IFdLIG1lcmdlZCBjb250ZXh0XCIsIGNvbnRleHQpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy53b3JrZmxvd1NlcnZpY2UuZXhlY3V0ZSh0aGlzLndvcmtmbG93LCBjb250ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4iXX0=","/**\n * Base abstract class for activities.\n * Extend this to create custom activities.\n */\nexport class Activity {\n constructor(type, name) {\n this.type = type;\n this.name = name;\n }\n /**\n * Helper method that returns Done outcome by default.\n */\n createResult(output, outcome = 'Done') {\n return {\n output,\n outcomes: { [outcome]: true }\n };\n }\n}\n/**\n * Activity registry for registering and creating activities.\n */\nexport class ActivityRegistry {\n constructor() {\n this.registry = new Map();\n this.descriptors = new Map();\n }\n /**\n * Register an activity type.\n */\n register(type, factory, descriptor) {\n this.registry.set(type, factory);\n this.descriptors.set(type, descriptor);\n }\n /**\n * Create an activity instance.\n */\n create(type) {\n const factory = this.registry.get(type);\n if (!factory) {\n throw new Error(`Unknown activity type: ${type}`);\n }\n return factory();\n }\n /**\n * Get activity descriptor.\n */\n getDescriptor(type) {\n return this.descriptors.get(type);\n }\n /**\n * Get all registered types.\n */\n getTypes() {\n return Array.from(this.registry.keys());\n }\n /**\n * Get all descriptors.\n */\n getAllDescriptors() {\n return Array.from(this.descriptors.values());\n }\n /**\n * Get descriptors by category.\n */\n getDescriptorsByCategory(category) {\n return this.getAllDescriptors().filter(d => d.category === category);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXR5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdDQTs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLFFBQVE7SUFJNUIsWUFBWSxJQUFZLEVBQUUsSUFBYTtRQUNyQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBUUQ7O09BRUc7SUFDTyxZQUFZLENBQUMsTUFBZSxFQUFFLFVBQWtCLE1BQU07UUFDOUQsT0FBTztZQUNMLE1BQU07WUFDTixRQUFRLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRTtTQUM5QixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcUdEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUE3QjtRQUNVLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBMkIsQ0FBQztRQUM5QyxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO0lBb0Q5RCxDQUFDO0lBbERDOztPQUVHO0lBQ0gsUUFBUSxDQUNOLElBQVksRUFDWixPQUF3QixFQUN4QixVQUE4QjtRQUU5QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFZO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLElBQUksRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUNELE9BQU8sT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLElBQVk7UUFDeEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUI7UUFDZixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7T0FFRztJQUNILHdCQUF3QixDQUFDLFFBQWdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQztJQUN2RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBDb21tYW5kIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vcnVudGltZVwiO1xuaW1wb3J0IHsgQVhQVmFsaWRhdGlvblJ1bGVzIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29yZVwiO1xuaW1wb3J0IHsgQVhQV2lkZ2V0VHlwZXNNYXAgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmVcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNJTVBMSUZJRUQgQUNUSVZJVFkgU1lTVEVNXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5UHJvcGVydHlXaWRnZXQge1xuICB0eXBlOiBBWFBXaWRnZXRUeXBlc01hcFtrZXlvZiBBWFBXaWRnZXRUeXBlc01hcF0gfCBzdHJpbmc7XG4gIG9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG4vKipcbiAqIFNpbXBsZSBhY3Rpdml0eSBpbnRlcmZhY2UgLSBqdXN0IGEgY29tbWFuZCB3aXRoIG91dGNvbWVzLlxuICogQWxsIGFjdGl2aXRpZXMgYXJlIEFYUENvbW1hbmQgZm9yIHVuaWZpZWQgZXhlY3V0aW9uIHRocm91Z2ggQ29tbWFuZCBCdXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFjdGl2aXR5PFRJbnB1dCA9IGFueSwgVE91dHB1dCA9IGFueT4gZXh0ZW5kcyBBWFBDb21tYW5kPFRJbnB1dCwge1xuICBvdXRwdXQ6IFRPdXRwdXQ7XG4gIG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufT4ge1xuICAvKipcbiAgICogQWN0aXZpdHkgdHlwZSBuYW1lLlxuICAgKiBFeGFtcGxlOiBcIldyaXRlTGluZVwiLCBcIlNob3dEaWFsb2dcIiwgXCJDcmVhdGVVc2VyQ29tbWFuZFwiXG4gICAqL1xuICB0eXBlOiBzdHJpbmc7XG4gIFxuICAvKipcbiAgICogRGlzcGxheSBuYW1lIGZvciBVSS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIFxuICAvKipcbiAgICogRXhlY3V0ZSB0aGUgYWN0aXZpdHkgYXMgYSBjb21tYW5kLlxuICAgKiBAcGFyYW0gaW5wdXQgLSBBY3Rpdml0eSBpbnB1dCBkYXRhXG4gICAqIEByZXR1cm5zIFByb21pc2Ugd2l0aCBvdXRwdXQgYW5kIG91dGNvbWVzXG4gICAqL1xuICBleGVjdXRlKGlucHV0OiBUSW5wdXQpOiBQcm9taXNlPHsgb3V0cHV0OiBUT3V0cHV0OyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9Pjtcbn1cblxuLyoqXG4gKiBCYXNlIGFic3RyYWN0IGNsYXNzIGZvciBhY3Rpdml0aWVzLlxuICogRXh0ZW5kIHRoaXMgdG8gY3JlYXRlIGN1c3RvbSBhY3Rpdml0aWVzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWN0aXZpdHk8VElucHV0ID0gYW55LCBUT3V0cHV0ID0gYW55PiBpbXBsZW1lbnRzIElBY3Rpdml0eTxUSW5wdXQsIFRPdXRwdXQ+IHtcbiAgdHlwZTogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHR5cGU6IHN0cmluZywgbmFtZT86IHN0cmluZykge1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBhY3Rpdml0eSBhcyBhIGNvbW1hbmQuXG4gICAqIE92ZXJyaWRlIHRoaXMgbWV0aG9kIGluIHN1YmNsYXNzZXMgdG8gaW1wbGVtZW50IGFjdGl2aXR5IGxvZ2ljLlxuICAgKi9cbiAgYWJzdHJhY3QgZXhlY3V0ZShpbnB1dDogVElucHV0KTogUHJvbWlzZTx7IG91dHB1dDogVE91dHB1dDsgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfT47XG4gIFxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0aGF0IHJldHVybnMgRG9uZSBvdXRjb21lIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlUmVzdWx0KG91dHB1dDogVE91dHB1dCwgb3V0Y29tZTogc3RyaW5nID0gJ0RvbmUnKTogeyBvdXRwdXQ6IFRPdXRwdXQ7IG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0ge1xuICAgIHJldHVybiB7XG4gICAgICBvdXRwdXQsXG4gICAgICBvdXRjb21lczogeyBbb3V0Y29tZV06IHRydWUgfVxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBBY3Rpdml0eSBkZXNjcmlwdG9yIC0gbWV0YWRhdGEgYWJvdXQgYW4gYWN0aXZpdHkgdHlwZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eURlc2NyaXB0b3Ige1xuICAvKipcbiAgICogQWN0aXZpdHkgdHlwZSBuYW1lLlxuICAgKi9cbiAgdHlwZTogc3RyaW5nO1xuICBcbiAgLyoqXG4gICAqIERpc3BsYXkgbmFtZSBmb3IgVUkuXG4gICAqL1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICBcbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIG9mIHdoYXQgdGhlIGFjdGl2aXR5IGRvZXMuXG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgXG4gIC8qKlxuICAgKiBDYXRlZ29yeSBmb3IgZ3JvdXBpbmcgaW4gdG9vbGJveC5cbiAgICovXG4gIGNhdGVnb3J5OiBzdHJpbmc7XG4gIFxuICAvKipcbiAgICogSWNvbiBuYW1lIG9yIGNsYXNzLlxuICAgKi9cbiAgaWNvbj86IHN0cmluZztcbiAgXG4gIC8qKlxuICAgKiBXaGVyZSB0aGlzIGFjdGl2aXR5IHNob3VsZCBiZSBleGVjdXRlZC5cbiAgICogLSAnZnJvbnRlbmQnOiBFeGVjdXRlIGluIGJyb3dzZXIgKFVJIGFjdGl2aXRpZXMsIGNvbnNvbGUsIGV2ZW50cylcbiAgICogLSAnYmFja2VuZCc6IEV4ZWN1dGUgaW4gYmFja2VuZCAoYnVzaW5lc3MgbG9naWMsIEFQSSBjYWxscylcbiAgICogLSAnYm90aCc6IEV4ZWN1dGUgaW4gYm90aCBmcm9udGVuZCBhbmQgYmFja2VuZCAoaHlicmlkIGFjdGl2aXRpZXMpXG4gICAqIFxuICAgKiBEZWZhdWx0OiAnZnJvbnRlbmQnXG4gICAqL1xuICBleGVjdXRpb25Nb2RlPzogJ2Zyb250ZW5kJyB8ICdiYWNrZW5kJyB8ICdib3RoJztcbiAgXG4gIC8qKlxuICAgKiBJbnB1dCBkZXNjcmlwdG9ycy5cbiAgICovXG4gIGlucHV0czogSW5wdXREZXNjcmlwdG9yW107XG4gIFxuICAvKipcbiAgICogT3V0cHV0IGRlc2NyaXB0b3JzLlxuICAgKi9cbiAgb3V0cHV0czogT3V0cHV0RGVzY3JpcHRvcltdO1xuICBcbiAgLyoqXG4gICAqIFN0YXRpYyBvdXRjb21lcyAoZXhpdCBwb2ludHMpLlxuICAgKiBFeGFtcGxlOiBbJ0RvbmUnLCAnU3VjY2VzcycsICdGYWlsZWQnXVxuICAgKi9cbiAgb3V0Y29tZXM/OiBzdHJpbmdbXTtcbiAgXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgYWN0aXZpdHkgaXMgYnJvd3NhYmxlIGluIHRoZSB0b29sYm94LlxuICAgKiBEZWZhdWx0OiB0cnVlXG4gICAqL1xuICBpc0Jyb3dzYWJsZT86IGJvb2xlYW47XG4gIFxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGFjdGl2aXR5IGlzIGEgY29udGFpbmVyIChjYW4gaGF2ZSBjaGlsZHJlbikuXG4gICAqIERlZmF1bHQ6IGZhbHNlXG4gICAqL1xuICBpc0NvbnRhaW5lcj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogSW5wdXQgcHJvcGVydHkgZGVzY3JpcHRvci5cbiAqIFNpbWlsYXIgdG8gQVhQRW50aXR5UHJvcGVydHkgc3RydWN0dXJlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElucHV0RGVzY3JpcHRvciB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHNjaGVtYToge1xuICAgIGRhdGFUeXBlOiBzdHJpbmc7XG4gICAgbnVsbGFibGU/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgICBoaWRkZW4/OiBib29sZWFuIHwgc3RyaW5nO1xuICAgIGRlZmF1bHRWYWx1ZT86IGFueSB8IHN0cmluZyB8ICgoY29udGV4dDogYW55IHwgbnVsbCkgPT4gYW55KTtcbiAgICBpbnRlcmZhY2U/OiBBY3Rpdml0eVByb3BlcnR5V2lkZ2V0O1xuICB9O1xuICB2YWxpZGF0aW9ucz86IEFYUFZhbGlkYXRpb25SdWxlcztcbn1cblxuLyoqXG4gKiBPdXRwdXQgcHJvcGVydHkgZGVzY3JpcHRvci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPdXRwdXREZXNjcmlwdG9yIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgc2NoZW1hOiB7XG4gICAgZGF0YVR5cGU6IHN0cmluZztcbiAgfTtcbn1cblxuLyoqXG4gKiBBY3Rpdml0eSByZWdpc3RyeSBmb3IgcmVnaXN0ZXJpbmcgYW5kIGNyZWF0aW5nIGFjdGl2aXRpZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBY3Rpdml0eVJlZ2lzdHJ5IHtcbiAgcHJpdmF0ZSByZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCAoKSA9PiBJQWN0aXZpdHk+KCk7XG4gIHByaXZhdGUgZGVzY3JpcHRvcnMgPSBuZXcgTWFwPHN0cmluZywgQWN0aXZpdHlEZXNjcmlwdG9yPigpO1xuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhbiBhY3Rpdml0eSB0eXBlLlxuICAgKi9cbiAgcmVnaXN0ZXIoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGZhY3Rvcnk6ICgpID0+IElBY3Rpdml0eSxcbiAgICBkZXNjcmlwdG9yOiBBY3Rpdml0eURlc2NyaXB0b3JcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RyeS5zZXQodHlwZSwgZmFjdG9yeSk7XG4gICAgdGhpcy5kZXNjcmlwdG9ycy5zZXQodHlwZSwgZGVzY3JpcHRvcik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGFjdGl2aXR5IGluc3RhbmNlLlxuICAgKi9cbiAgY3JlYXRlKHR5cGU6IHN0cmluZyk6IElBY3Rpdml0eSB7XG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMucmVnaXN0cnkuZ2V0KHR5cGUpO1xuICAgIGlmICghZmFjdG9yeSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGFjdGl2aXR5IHR5cGU6ICR7dHlwZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhY3RvcnkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWN0aXZpdHkgZGVzY3JpcHRvci5cbiAgICovXG4gIGdldERlc2NyaXB0b3IodHlwZTogc3RyaW5nKTogQWN0aXZpdHlEZXNjcmlwdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9ycy5nZXQodHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCByZWdpc3RlcmVkIHR5cGVzLlxuICAgKi9cbiAgZ2V0VHlwZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucmVnaXN0cnkua2V5cygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGRlc2NyaXB0b3JzLlxuICAgKi9cbiAgZ2V0QWxsRGVzY3JpcHRvcnMoKTogQWN0aXZpdHlEZXNjcmlwdG9yW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZGVzY3JpcHRvcnMudmFsdWVzKCkpO1xuICB9XG4gIFxuICAvKipcbiAgICogR2V0IGRlc2NyaXB0b3JzIGJ5IGNhdGVnb3J5LlxuICAgKi9cbiAgZ2V0RGVzY3JpcHRvcnNCeUNhdGVnb3J5KGNhdGVnb3J5OiBzdHJpbmcpOiBBY3Rpdml0eURlc2NyaXB0b3JbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsRGVzY3JpcHRvcnMoKS5maWx0ZXIoZCA9PiBkLmNhdGVnb3J5ID09PSBjYXRlZ29yeSk7XG4gIH1cbn0iXX0=","import { Injectable, inject, InjectionToken } from '@angular/core';\nimport { AXPCommandService, AXPCommandRegistry } from '@acorex/platform/runtime';\nimport * as i0 from \"@angular/core\";\n/**\n * Injection token for activity providers.\n */\nexport const AXP_ACTIVITY_PROVIDER = new InjectionToken('AXP_ACTIVITY_PROVIDER');\n/**\n * Activity Provider Service.\n * Collects all activity providers and manages activity registration.\n */\nexport class AXPActivityProviderService {\n constructor() {\n this.activityDescriptors = new Map();\n this.categories = [];\n this.providers = [];\n this.categoryProviders = [];\n this.initialized = false;\n this.commandService = inject(AXPCommandService);\n this.commandRegistry = inject(AXPCommandRegistry);\n }\n /**\n * Register an activity provider.\n */\n registerProvider(provider) {\n this.providers.push(provider);\n if (this.initialized) {\n this.initializeProvider(provider);\n }\n }\n /**\n * Register a category provider.\n */\n registerCategoryProvider(provider) {\n this.categoryProviders.push(provider);\n if (this.initialized) {\n this.initializeCategoryProvider(provider);\n }\n }\n /**\n * Initialize all providers.\n */\n async initialize() {\n if (this.initialized)\n return;\n // Initialize category providers first\n for (const provider of this.categoryProviders) {\n await this.initializeCategoryProvider(provider);\n }\n // Initialize activity providers\n for (const provider of this.providers) {\n await this.initializeProvider(provider);\n }\n this.initialized = true;\n }\n /**\n * Get activity descriptor by key.\n */\n getDescriptor(key) {\n return this.activityDescriptors.get(key);\n }\n /**\n * Get all activity descriptors.\n */\n getAllDescriptors() {\n return Array.from(this.activityDescriptors.values());\n }\n /**\n * Get descriptors by category.\n */\n getDescriptorsByCategory(category) {\n return this.getAllDescriptors().filter(d => d.category === category);\n }\n /**\n * Get all categories.\n */\n getCategories() {\n return [...this.categories].sort((a, b) => (a.order || 999) - (b.order || 999));\n }\n /**\n * Create an activity instance by key using AXPCommandService.\n */\n async createActivity(key) {\n try {\n // Check if command exists\n if (!this.commandService.exists(key)) {\n return null;\n }\n // Get command loader from registry\n const loader = this.commandRegistry.getLoader(key);\n if (!loader) {\n return null;\n }\n // Create command instance\n const command = await loader();\n return command;\n }\n catch (error) {\n return null;\n }\n }\n // ============================================\n // PRIVATE METHODS\n // ============================================\n async initializeProvider(provider) {\n const context = {\n registerActivity: (config) => {\n this.activityDescriptors.set(config.key, config.descriptor);\n }\n };\n await provider.provide(context);\n }\n async initializeCategoryProvider(provider) {\n const context = {\n registerCategories: (categories) => {\n this.categories.push(...categories);\n }\n };\n await provider.provide(context);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPActivityProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPActivityProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPActivityProviderService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktcHJvdmlkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi9lbmdpbmUvYWN0aXZpdHktcHJvdmlkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBK0JqRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUF3Qix1QkFBdUIsQ0FBQyxDQUFDO0FBaUJ4Rzs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sMEJBQTBCO0lBSHZDO1FBSVUsd0JBQW1CLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFDNUQsZUFBVSxHQUF1QixFQUFFLENBQUM7UUFDcEMsY0FBUyxHQUEwQixFQUFFLENBQUM7UUFDdEMsc0JBQWlCLEdBQWtDLEVBQUUsQ0FBQztRQUN0RCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNYLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0Msb0JBQWUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQW9IL0Q7SUFsSEM7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxRQUE2QjtRQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILHdCQUF3QixDQUFDLFFBQXFDO1FBQzVELElB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Q0FBQztJQUNsQyxDQUFDO0lBRU8sS0FBSyxDQUFDLDBCQUEwQixDQUFDLFFBQXFDO1FBQzVFLE1BQU0sT0FBTyxHQUF1QztZQUNsRCxrQkFBa0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7U0FDRixDQUFDO1FBRUYsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7K0dBMUhVLDBCQUEwQjttSEFBMUIsMEJBQTBCLGNBRnpCLE1BQU07OzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBBY3Rpdml0eUNhdGVnb3J5UHJvdmlkZXIsIEFYUEFjdGl2aXR5Q2F0ZWdvcnlQcm92aWRlckNvbnRleHQgfSBmcm9tICcuL2FjdGl2aXR5LWNhdGVnb3J5LnByb3ZpZGVyJztcbmltcG9ydCB7IEFYUENvbW1hbmRTZXJ2aWNlLCBBWFBDb21tYW5kUmVnaXN0cnkgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuaW1wb3J0IHsgQWN0aXZpdHlEZXNjcmlwdG9yLCBJQWN0aXZpdHkgfSBmcm9tICcuL2FjdGl2aXR5LnR5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFDVElWSVRZIFBST1ZJREVSIFBBVFRFUk4gKEluZnJhc3RydWN0dXJlKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDb250ZXh0IGZvciByZWdpc3RlcmluZyBhY3Rpdml0aWVzIGluIGEgcHJvdmlkZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQWN0aXZpdHlQcm92aWRlckNvbnRleHQge1xuICAvKipcbiAgICogUmVnaXN0ZXIgYW4gYWN0aXZpdHkgd2l0aCBpdHMgZGVzY3JpcHRvci5cbiAgICovXG4gIHJlZ2lzdGVyQWN0aXZpdHkoY29uZmlnOiB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgZGVzY3JpcHRvcjogQWN0aXZpdHlEZXNjcmlwdG9yO1xuICB9KTogdm9pZDtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGFjdGl2aXR5IHByb3ZpZGVycy5cbiAqIE1vZHVsZXMgaW1wbGVtZW50IHRoaXMgdG8gcmVnaXN0ZXIgdGhlaXIgYWN0aXZpdGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBBY3Rpdml0eVByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIFByb3ZpZGUgYWN0aXZpdGllcyB0byB0aGUgc3lzdGVtLlxuICAgKi9cbiAgcHJvdmlkZShjb250ZXh0OiBBWFBBY3Rpdml0eVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4gfCB2b2lkO1xufVxuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiBmb3IgYWN0aXZpdHkgcHJvdmlkZXJzLlxuICovXG5leHBvcnQgY29uc3QgQVhQX0FDVElWSVRZX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUEFjdGl2aXR5UHJvdmlkZXJbXT4oJ0FYUF9BQ1RJVklUWV9QUk9WSURFUicpO1xuXG4vKipcbiAqIENhdGVnb3J5IGRlZmluaXRpb24gZm9yIGFjdGl2aXR5IGNhdGVnb3JpemF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5Q2F0ZWdvcnkge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbiAgb3JkZXI/OiBudW1iZXI7XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIHRhZ3M/OiBzdHJpbmdbXTtcbn1cblxuXG4vKipcbiAqIEFjdGl2aXR5IFByb3ZpZGVyIFNlcnZpY2UuXG4gKiBDb2xsZWN0cyBhbGwgYWN0aXZpdHkgcHJvdmlkZXJzIGFuZCBtYW5hZ2VzIGFjdGl2aXR5IHJlZ2lzdHJhdGlvbi5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQVhQQWN0aXZpdHlQcm92aWRlclNlcnZpY2Uge1xuICBwcml2YXRlIGFjdGl2aXR5RGVzY3JpcHRvcnMgPSBuZXcgTWFwPHN0cmluZywgQWN0aXZpdHlEZXNjcmlwdG9yPigpO1xuICBwcml2YXRlIGNhdGVnb3JpZXM6IEFjdGl2aXR5Q2F0ZWdvcnlbXSA9IFtdO1xuICBwcml2YXRlIHByb3ZpZGVyczogQVhQQWN0aXZpdHlQcm92aWRlcltdID0gW107XG4gIHByaXZhdGUgY2F0ZWdvcnlQcm92aWRlcnM6IEFYUEFjdGl2aXR5Q2F0ZWdvcnlQcm92aWRlcltdID0gW107XG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kU2VydmljZSA9IGluamVjdChBWFBDb21tYW5kU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZFJlZ2lzdHJ5ID0gaW5qZWN0KEFYUENvbW1hbmRSZWdpc3RyeSk7XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGFuIGFjdGl2aXR5IHByb3ZpZGVyLlxuICAgKi9cbiAgcmVnaXN0ZXJQcm92aWRlcihwcm92aWRlcjogQVhQQWN0aXZpdHlQcm92aWRlcik6IHZvaWQge1xuICAgIHRoaXMucHJvdmlkZXJzLnB1c2gocHJvdmlkZXIpO1xuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVQcm92aWRlcihwcm92aWRlcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgY2F0ZWdvcnkgcHJvdmlkZXIuXG4gICAqL1xuICByZWdpc3RlckNhdGVnb3J5UHJvdmlkZXIocHJvdmlkZXI6IEFYUEFjdGl2aXR5Q2F0ZWdvcnlQcm92aWRlcik6IHZvaWQge1xuICAgIHRoaXMuY2F0ZWdvcnlQcm92aWRlcnMucHVzaChwcm92aWRlcik7XG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUNhdGVnb3J5UHJvdmlkZXIocHJvdmlkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIGFsbCBwcm92aWRlcnMuXG4gICAqL1xuICBhc3luYyBpbml0aWFsaXplKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSByZXR1cm47XG5cbiAgICAvLyBJbml0aWFsaXplIGNhdGVnb3J5IHByb3ZpZGVycyBmaXJzdFxuICAgIGZvciAoY29uc3QgcHJvdmlkZXIgb2YgdGhpcy5jYXRlZ29yeVByb3ZpZGVycykge1xuICAgICAgYXdhaXQgdGhpcy5pbml0aWFsaXplQ2F0ZWdvcnlQcm92aWRlcihwcm92aWRlcik7XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhbGl6ZSBhY3Rpdml0eSBwcm92aWRlcnNcbiAgICBmb3IgKGNvbnN0IHByb3ZpZGVyIG9mIHRoaXMucHJvdmlkZXJzKSB7XG4gICAgICBhd2FpdCB0aGlzLmluaXRpYWxpemVQcm92aWRlcihwcm92aWRlcik7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFjdGl2aXR5IGRlc2NyaXB0b3IgYnkga2V5LlxuICAgKi9cbiAgZ2V0RGVzY3JpcHRvcihrZXk6IHN0cmluZyk6IEFjdGl2aXR5RGVzY3JpcHRvciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlEZXNjcmlwdG9ycy5nZXQoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGFjdGl2aXR5IGRlc2NyaXB0b3JzLlxuICAgKi9cbiAgZ2V0QWxsRGVzY3JpcHRvcnMoKTogQWN0aXZpdHlEZXNjcmlwdG9yW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuYWN0aXZpdHlEZXNjcmlwdG9ycy52YWx1ZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRlc2NyaXB0b3JzIGJ5IGNhdGVnb3J5LlxuICAgKi9cbiAgZ2V0RGVzY3JpcHRvcnNCeUNhdGVnb3J5KGNhdGVnb3J5OiBzdHJpbmcpOiBBY3Rpdml0eURlc2NyaXB0b3JbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsRGVzY3JpcHRvcnMoKS5maWx0ZXIoZCA9PiBkLmNhdGVnb3J5ID09PSBjYXRlZ29yeSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCBjYXRlZ29yaWVzLlxuICAgKi9cbiAgZ2V0Q2F0ZWdvcmllcygpOiBBY3Rpdml0eUNhdGVnb3J5W10ge1xuICAgIHJldHVybiBbLi4udGhpcy5jYXRlZ29yaWVzXS5zb3J0KChhLCBiKSA9PiAoYS5vcmRlciB8fCA5OTkpIC0gKGIub3JkZXIgfHwgOTk5KSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGFjdGl2aXR5IGluc3RhbmNlIGJ5IGtleSB1c2luZyBBWFBDb21tYW5kU2VydmljZS5cbiAgICovXG4gIGFzeW5jIGNyZWF0ZUFjdGl2aXR5KGtleTogc3RyaW5nKTogUHJvbWlzZTxJQWN0aXZpdHkgfCBudWxsPiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIENoZWNrIGlmIGNvbW1hbmQgZXhpc3RzXG4gICAgICBpZiAoIXRoaXMuY29tbWFuZFNlcnZpY2UuZXhpc3RzKGtleSkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIEdldCBjb21tYW5kIGxvYWRlciBmcm9tIHJlZ2lzdHJ5XG4gICAgICBjb25zdCBsb2FkZXIgPSB0aGlzLmNvbW1hbmRSZWdpc3RyeS5nZXRMb2FkZXIoa2V5KTtcbiAgICAgIGlmICghbG9hZGVyKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyBDcmVhdGUgY29tbWFuZCBpbnN0YW5jZVxuICAgICAgY29uc3QgY29tbWFuZCA9IGF3YWl0IGxvYWRlcigpO1xuICAgICAgcmV0dXJuIGNvbW1hbmQgYXMgSUFjdGl2aXR5O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQUklWQVRFIE1FVEhPRFNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBwcml2YXRlIGFzeW5jIGluaXRpYWxpemVQcm92aWRlcihwcm92aWRlcjogQVhQQWN0aXZpdHlQcm92aWRlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbnRleHQ6IEFYUEFjdGl2aXR5UHJvdmlkZXJDb250ZXh0ID0ge1xuICAgICAgcmVnaXN0ZXJBY3Rpdml0eTogKGNvbmZpZykgPT4ge1xuICAgICAgICB0aGlzLmFjdGl2aXR5RGVzY3JpcHRvcnMuc2V0KGNvbmZpZy5rZXksIGNvbmZpZy5kZXNjcmlwdG9yKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgYXdhaXQgcHJvdmlkZXIucHJvdmlkZShjb250ZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaW5pdGlhbGl6ZUNhdGVnb3J5UHJvdmlkZXIocHJvdmlkZXI6IEFYUEFjdGl2aXR5Q2F0ZWdvcnlQcm92aWRlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbnRleHQ6IEFYUEFjdGl2aXR5Q2F0ZWdvcnlQcm92aWRlckNvbnRleHQgPSB7XG4gICAgICByZWdpc3RlckNhdGVnb3JpZXM6IChjYXRlZ29yaWVzKSA9PiB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcmllcy5wdXNoKC4uLmNhdGVnb3JpZXMpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBhd2FpdCBwcm92aWRlci5wcm92aWRlKGNvbnRleHQpO1xuICB9XG59XG4iXX0=","import { Injectable, InjectionToken, Optional, SkipSelf, Inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Injection token for activity category providers.\n */\nexport const AXP_ACTIVITY_CATEGORY_PROVIDER = new InjectionToken('AXP_ACTIVITY_CATEGORY_PROVIDER');\nexport class AXPActivityCategoryProviderService {\n constructor(parent, providers = []) {\n this.parent = parent;\n this.providers = providers;\n this.categories = new Map();\n this.isInitialized = false;\n if (!parent) {\n this.initialize();\n }\n }\n async initialize() {\n if (this.isInitialized) {\n return;\n }\n for (const provider of this.providers) {\n await provider.provide({\n registerCategories: (categories) => {\n categories.forEach(cat => this.categories.set(cat.name, cat));\n }\n });\n }\n this.isInitialized = true;\n }\n getAllCategories() {\n return Array.from(this.categories.values()).sort((a, b) => (a.order || 0) - (b.order || 0));\n }\n getCategory(name) {\n return this.categories.get(name);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPActivityCategoryProviderService, deps: [{ token: AXPActivityCategoryProviderService, optional: true, skipSelf: true }, { token: AXP_ACTIVITY_CATEGORY_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPActivityCategoryProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPActivityCategoryProviderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: AXPActivityCategoryProviderService, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [AXP_ACTIVITY_CATEGORY_PROVIDER]\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY2F0ZWdvcnkucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXR5LWNhdGVnb3J5LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsY0FBYyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXFCL0Y7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLGNBQWMsQ0FBZ0MsZ0NBQWdDLENBQUMsQ0FBQztBQUdsSSxNQUFNLE9BQU8sa0NBQWtDO0lBSTdDLFlBQ2tDLE1BQTJDLEVBQ2YsWUFBMkMsRUFBRTtRQUR6RSxXQUFNLEdBQU4sTUFBTSxDQUFxQztRQUNmLGNBQVMsR0FBVCxTQUFTLENBQW9DO1FBTG5HLGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBc0MsQ0FBQztRQUMzRCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQU01QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVTtRQUN0QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixPQUFPO1FBQ1QsQ0FBQztRQUVELEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFDckIsa0JBQWtCLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRTtvQkFDakMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDaEUsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0FsQ1Usa0NBQWtDLGlHQU12Qiw4QkFBOEI7bUhBTnpDLGtDQUFrQyxjQURyQixNQUFNOzs0RkFDbkIsa0NBQWtDO2tCQUQ5QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBTTdCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUNwQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCBTa2lwU2VsZiwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlDYXRlZ29yeURlc2NyaXB0b3Ige1xuICBuYW1lOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbiAgb3JkZXI/OiBudW1iZXI7XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIHRhZ3M/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBBY3Rpdml0eUNhdGVnb3J5UHJvdmlkZXJDb250ZXh0IHtcbiAgcmVnaXN0ZXJDYXRlZ29yaWVzKGNhdGVnb3JpZXM6IEFjdGl2aXR5Q2F0ZWdvcnlEZXNjcmlwdG9yW10pOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEFjdGl2aXR5Q2F0ZWdvcnlQcm92aWRlciB7XG4gIHByb3ZpZGUoY29udGV4dDogQVhQQWN0aXZpdHlDYXRlZ29yeVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4gfCB2b2lkO1xufVxuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiBmb3IgYWN0aXZpdHkgY2F0ZWdvcnkgcHJvdmlkZXJzLlxuICovXG5leHBvcnQgY29uc3QgQVhQX0FDVElWSVRZX0NBVEVHT1JZX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUEFjdGl2aXR5Q2F0ZWdvcnlQcm92aWRlcltdPignQVhQX0FDVElWSVRZX0NBVEVHT1JZX1BST1ZJREVSJyk7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQQWN0aXZpdHlDYXRlZ29yeVByb3ZpZGVyU2VydmljZSB7XG4gIHByaXZhdGUgY2F0ZWdvcmllcyA9IG5ldyBNYXA8c3RyaW5nLCBBY3Rpdml0eUNhdGVnb3J5RGVzY3JpcHRvcj4oKTtcbiAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcHJpdmF0ZSBwYXJlbnQ/OiBBWFBBY3Rpdml0eUNhdGVnb3J5UHJvdmlkZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVhQX0FDVElWSVRZX0NBVEVHT1JZX1BST1ZJREVSKSBwcml2YXRlIHByb3ZpZGVyczogQVhQQWN0aXZpdHlDYXRlZ29yeVByb3ZpZGVyW10gPSBbXVxuICApIHtcbiAgICBpZiAoIXBhcmVudCkge1xuICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBpbml0aWFsaXplKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3ZpZGVyIG9mIHRoaXMucHJvdmlkZXJzKSB7XG4gICAgICBhd2FpdCBwcm92aWRlci5wcm92aWRlKHtcbiAgICAgICAgcmVnaXN0ZXJDYXRlZ29yaWVzOiAoY2F0ZWdvcmllcykgPT4ge1xuICAgICAgICAgIGNhdGVnb3JpZXMuZm9yRWFjaChjYXQgPT4gdGhpcy5jYXRlZ29yaWVzLnNldChjYXQubmFtZSwgY2F0KSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgZ2V0QWxsQ2F0ZWdvcmllcygpOiBBY3Rpdml0eUNhdGVnb3J5RGVzY3JpcHRvcltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmNhdGVnb3JpZXMudmFsdWVzKCkpLnNvcnQoKGEsIGIpID0+IChhLm9yZGVyIHx8IDApIC0gKGIub3JkZXIgfHwgMCkpO1xuICB9XG5cbiAgZ2V0Q2F0ZWdvcnkobmFtZTogc3RyaW5nKTogQWN0aXZpdHlDYXRlZ29yeURlc2NyaXB0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNhdGVnb3JpZXMuZ2V0KG5hbWUpO1xuICB9XG59XG4iXX0=","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Abstract service for workflow execution operations.\n *\n * This service handles communication with backend for workflow execution.\n *\n * Implementation should be provided in connectivity layer:\n * - Mock implementation: @acorex/connectivity/mock\n * - API implementation: @acorex/connectivity/api\n *\n * @example\n * ```typescript\n * // In connectivity/mock\n * @Injectable()\n * export class AXCWorkflowExecutionService implements AXPWorkflowExecutionService {\n * async startExecution(request: AXPStartWorkflowExecutionRequest): Promise<AXPStartWorkflowExecutionResponse> {\n * // Mock implementation\n * }\n * }\n *\n * // In connectivity/api\n * @Injectable()\n * export class AXCWorkflowExecutionService implements AXPWorkflowExecutionService {\n * constructor(private http: HttpClient) {}\n *\n * async startExecution(request: AXPStartWorkflowExecutionRequest): Promise<AXPStartWorkflowExecutionResponse> {\n * return firstValueFrom(\n * this.http.post<AXPStartWorkflowExecutionResponse>(\n * `${this.config.baseUrl}/api/workflows/${request.workflowId}/start`,\n * { input: request.input }\n * )\n * );\n * }\n * }\n * ```\n */\nexport class AXPWorkflowExecutionService {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowExecutionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowExecutionService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowExecutionService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZXhlY3V0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL3J1bnRpbWUvd29ya2Zsb3ctZXhlY3V0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFnQjNDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NHO0FBRUgsTUFBTSxPQUFnQiwyQkFBMkI7K0dBQTNCLDJCQUEyQjttSEFBM0IsMkJBQTJCOzs0RkFBM0IsMkJBQTJCO2tCQURoRCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQVhQU3RhcnRXb3JrZmxvd0V4ZWN1dGlvblJlcXVlc3QsXG4gIEFYUFN0YXJ0V29ya2Zsb3dFeGVjdXRpb25SZXNwb25zZSxcbiAgQVhQRXhlY3V0ZUJhY2tlbmRBY3Rpdml0eVJlcXVlc3QsXG4gIEFYUEV4ZWN1dGVCYWNrZW5kQWN0aXZpdHlSZXNwb25zZSxcbiAgQVhQUmVzdW1lV29ya2Zsb3dFeGVjdXRpb25SZXF1ZXN0LFxuICBBWFBSZXN1bWVXb3JrZmxvd0V4ZWN1dGlvblJlc3BvbnNlLFxuICBBWFBHZXRXb3JrZmxvd0V4ZWN1dGlvblN0YXRlUmVxdWVzdCxcbiAgQVhQR2V0V29ya2Zsb3dEZWZpbml0aW9uUmVxdWVzdCxcbiAgQVhQR2V0V29ya2Zsb3dEZWZpbml0aW9uUmVzcG9uc2UsXG4gIEFYUFdvcmtmbG93RXhlY3V0aW9uU3RhdGUsXG4gIEFYUEV4ZWN1dGVDdXJyZW50U3RlcFJlcXVlc3QsXG4gIEFYUEV4ZWN1dGVDdXJyZW50U3RlcFJlc3BvbnNlLFxufSBmcm9tICcuL3dvcmtmbG93LWV4ZWN1dGlvbi50eXBlcyc7XG5cbi8qKlxuICogQWJzdHJhY3Qgc2VydmljZSBmb3Igd29ya2Zsb3cgZXhlY3V0aW9uIG9wZXJhdGlvbnMuXG4gKiBcbiAqIFRoaXMgc2VydmljZSBoYW5kbGVzIGNvbW11bmljYXRpb24gd2l0aCBiYWNrZW5kIGZvciB3b3JrZmxvdyBleGVjdXRpb24uXG4gKiBcbiAqIEltcGxlbWVudGF0aW9uIHNob3VsZCBiZSBwcm92aWRlZCBpbiBjb25uZWN0aXZpdHkgbGF5ZXI6XG4gKiAtIE1vY2sgaW1wbGVtZW50YXRpb246IEBhY29yZXgvY29ubmVjdGl2aXR5L21vY2tcbiAqIC0gQVBJIGltcGxlbWVudGF0aW9uOiBAYWNvcmV4L2Nvbm5lY3Rpdml0eS9hcGlcbiAqIFxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIEluIGNvbm5lY3Rpdml0eS9tb2NrXG4gKiBASW5qZWN0YWJsZSgpXG4gKiBleHBvcnQgY2xhc3MgQVhDV29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlIGltcGxlbWVudHMgQVhQV29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlIHtcbiAqICAgYXN5bmMgc3RhcnRFeGVjdXRpb24ocmVxdWVzdDogQVhQU3RhcnRXb3JrZmxvd0V4ZWN1dGlvblJlcXVlc3QpOiBQcm9taXNlPEFYUFN0YXJ0V29ya2Zsb3dFeGVjdXRpb25SZXNwb25zZT4ge1xuICogICAgIC8vIE1vY2sgaW1wbGVtZW50YXRpb25cbiAqICAgfVxuICogfVxuICogXG4gKiAvLyBJbiBjb25uZWN0aXZpdHkvYXBpXG4gKiBASW5qZWN0YWJsZSgpXG4gKiBleHBvcnQgY2xhc3MgQVhDV29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlIGltcGxlbWVudHMgQVhQV29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlIHtcbiAqICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuICogICBcbiAqICAgYXN5bmMgc3RhcnRFeGVjdXRpb24ocmVxdWVzdDogQVhQU3RhcnRXb3JrZmxvd0V4ZWN1dGlvblJlcXVlc3QpOiBQcm9taXNlPEFYUFN0YXJ0V29ya2Zsb3dFeGVjdXRpb25SZXNwb25zZT4ge1xuICogICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAqICAgICAgIHRoaXMuaHR0cC5wb3N0PEFYUFN0YXJ0V29ya2Zsb3dFeGVjdXRpb25SZXNwb25zZT4oXG4gKiAgICAgICAgIGAke3RoaXMuY29uZmlnLmJhc2VVcmx9L2FwaS93b3JrZmxvd3MvJHtyZXF1ZXN0LndvcmtmbG93SWR9L3N0YXJ0YCxcbiAqICAgICAgICAgeyBpbnB1dDogcmVxdWVzdC5pbnB1dCB9XG4gKiAgICAgICApXG4gKiAgICAgKTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBXb3JrZmxvd0V4ZWN1dGlvblNlcnZpY2Uge1xuICAvKipcbiAgICogU3RhcnQgYSBuZXcgd29ya2Zsb3cgZXhlY3V0aW9uLlxuICAgKiBcbiAgICogQ3JlYXRlcyBhIG5ldyB3b3JrZmxvdyBleGVjdXRpb24gaW5zdGFuY2UgaW4gYmFja2VuZCBhbmQgcmV0dXJucyBleGVjdXRpb24gSUQuXG4gICAqIFxuICAgKiBAcGFyYW0gcmVxdWVzdCAtIFN0YXJ0IGV4ZWN1dGlvbiByZXF1ZXN0XG4gICAqIEByZXR1cm5zIEV4ZWN1dGlvbiByZXNwb25zZSB3aXRoIGV4ZWN1dGlvbklkIGFuZCBpbml0aWFsIHN0YXRlXG4gICAqIFxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgd29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlLnN0YXJ0RXhlY3V0aW9uKHtcbiAgICogICB3b3JrZmxvd0lkOiAnbXktd29ya2Zsb3cnLFxuICAgKiAgIGlucHV0OiB7IHVzZXJJZDogJzEyMycsIGFjdGlvbjogJ2NyZWF0ZScgfVxuICAgKiB9KTtcbiAgICogXG4gICAqIGNvbnNvbGUubG9nKCdFeGVjdXRpb24gSUQ6JywgcmVzcG9uc2UuZXhlY3V0aW9uSWQpO1xuICAgKiBjb25zb2xlLmxvZygnSW5pdGlhbCBTdGF0ZTonLCByZXNwb25zZS5zdGF0ZSk7XG4gICAqIGBgYFxuICAgKi9cbiAgYWJzdHJhY3Qgc3RhcnRFeGVjdXRpb24oXG4gICAgcmVxdWVzdDogQVhQU3RhcnRXb3JrZmxvd0V4ZWN1dGlvblJlcXVlc3RcbiAgKTogUHJvbWlzZTxBWFBTdGFydFdvcmtmbG93RXhlY3V0aW9uUmVzcG9uc2U+O1xuXG4gIC8qKlxuICAgKiBFeGVjdXRlIGEgYmFja2VuZCBhY3Rpdml0eS5cbiAgICogXG4gICAqIEV4ZWN1dGVzIGFuIGFjdGl2aXR5IHRoYXQgc2hvdWxkIHJ1biBpbiBiYWNrZW5kIChlLmcuLCBleGVjdXRlLWNvbW1hbmQsIGV4ZWN1dGUtcXVlcnksIHNldC12YXJpYWJsZSkuXG4gICAqIFxuICAgKiBAcGFyYW0gcmVxdWVzdCAtIEJhY2tlbmQgYWN0aXZpdHkgZXhlY3V0aW9uIHJlcXVlc3RcbiAgICogQHJldHVybnMgQWN0aXZpdHkgZXhlY3V0aW9uIHJlc3BvbnNlIHdpdGggb3V0cHV0IGFuZCB1cGRhdGVkIHN0YXRlXG4gICAqIFxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgd29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlLmV4ZWN1dGVCYWNrZW5kQWN0aXZpdHkoe1xuICAgKiAgIHdvcmtmbG93SWQ6ICdteS13b3JrZmxvdycsXG4gICAqICAgZXhlY3V0aW9uSWQ6ICdleGVjLTEyMycsXG4gICAqICAgYWN0aXZpdHlUeXBlOiAnd29ya2Zsb3ctYWN0aXZpdHk6ZXhlY3V0ZS1jb21tYW5kJyxcbiAgICogICBhY3Rpdml0eUlkOiAnY21kLTEnLFxuICAgKiAgIHByb3BlcnRpZXM6IHtcbiAgICogICAgIGNvbW1hbmRLZXk6ICdFbnRpdHk6Q3JlYXRlJyxcbiAgICogICAgIGlucHV0OiB7IGVudGl0eTogJ1VzZXInLCBkYXRhOiB7Li4ufSB9XG4gICAqICAgfSxcbiAgICogICB3b3JrZmxvd1N0YXRlOiB7IHZhcmlhYmxlczogey4uLn0gfVxuICAgKiB9KTtcbiAgICogXG4gICAqIGNvbnNvbGUubG9nKCdPdXRwdXQ6JywgcmVzcG9uc2Uub3V0cHV0KTtcbiAgICogY29uc29sZS5sb2coJ1VwZGF0ZWQgU3RhdGU6JywgcmVzcG9uc2Uuc3RhdGUpO1xuICAgKiBgYGBcbiAgICovXG4gIGFic3RyYWN0IGV4ZWN1dGVCYWNrZW5kQWN0aXZpdHkoXG4gICAgcmVxdWVzdDogQVhQRXhlY3V0ZUJhY2tlbmRBY3Rpdml0eVJlcXVlc3RcbiAgKTogUHJvbWlzZTxBWFBFeGVjdXRlQmFja2VuZEFjdGl2aXR5UmVzcG9uc2U+O1xuXG4gIC8qKlxuICAgKiBSZXN1bWUgYSBzdXNwZW5kZWQgd29ya2Zsb3cgZXhlY3V0aW9uLlxuICAgKiBcbiAgICogUmVzdW1lcyB3b3JrZmxvdyBleGVjdXRpb24gYWZ0ZXIgdXNlciBpbnRlcmFjdGlvbiAoZS5nLiwgYWZ0ZXIgc2hvdy1kaWFsb2cpLlxuICAgKiBcbiAgICogQHBhcmFtIHJlcXVlc3QgLSBSZXN1bWUgZXhlY3V0aW9uIHJlcXVlc3RcbiAgICogQHJldHVybnMgUmVzdW1lIHJlc3BvbnNlIHdpdGggbmV4dCBzdGVwIGFuZCB1cGRhdGVkIHN0YXRlXG4gICAqIFxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgd29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlLnJlc3VtZUV4ZWN1dGlvbih7XG4gICAqICAgZXhlY3V0aW9uSWQ6ICdleGVjLTEyMycsXG4gICAqICAgc3RlcElkOiAnc3RlcC1kaWFsb2ctMScsXG4gICAqICAgb3V0Y29tZTogJ0NvbmZpcm1lZCcsXG4gICAqICAgdXNlcklucHV0OiB7IGNvbmZpcm1lZDogdHJ1ZSB9XG4gICAqIH0pO1xuICAgKiBcbiAgICogY29uc29sZS5sb2coJ05leHQgU3RlcDonLCByZXNwb25zZS5uZXh0U3RlcCk7XG4gICAqIGNvbnNvbGUubG9nKCdVcGRhdGVkIFN0YXRlOicsIHJlc3BvbnNlLnN0YXRlKTtcbiAgICogYGBgXG4gICAqL1xuICBhYnN0cmFjdCByZXN1bWVFeGVjdXRpb24oXG4gICAgcmVxdWVzdDogQVhQUmVzdW1lV29ya2Zsb3dFeGVjdXRpb25SZXF1ZXN0XG4gICk6IFByb21pc2U8QVhQUmVzdW1lV29ya2Zsb3dFeGVjdXRpb25SZXNwb25zZT47XG5cbiAgLyoqXG4gICAqIEdldCBjdXJyZW50IHdvcmtmbG93IGV4ZWN1dGlvbiBzdGF0ZS5cbiAgICogXG4gICAqIFJldHJpZXZlcyBjdXJyZW50IHN0YXRlIG9mIGEgd29ya2Zsb3cgZXhlY3V0aW9uIGZyb20gYmFja2VuZC5cbiAgICogXG4gICAqIEBwYXJhbSByZXF1ZXN0IC0gR2V0IHN0YXRlIHJlcXVlc3RcbiAgICogQHJldHVybnMgQ3VycmVudCB3b3JrZmxvdyBleGVjdXRpb24gc3RhdGVcbiAgICogXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3Qgc3RhdGUgPSBhd2FpdCB3b3JrZmxvd0V4ZWN1dGlvblNlcnZpY2UuZ2V0RXhlY3V0aW9uU3RhdGUoe1xuICAgKiAgIGV4ZWN1dGlvbklkOiAnZXhlYy0xMjMnXG4gICAqIH0pO1xuICAgKiBcbiAgICogY29uc29sZS5sb2coJ1N0YXR1czonLCBzdGF0ZS5zdGF0dXMpO1xuICAgKiBjb25zb2xlLmxvZygnVmFyaWFibGVzOicsIHN0YXRlLnZhcmlhYmxlcyk7XG4gICAqIGBgYFxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0RXhlY3V0aW9uU3RhdGUoXG4gICAgcmVxdWVzdDogQVhQR2V0V29ya2Zsb3dFeGVjdXRpb25TdGF0ZVJlcXVlc3RcbiAgKTogUHJvbWlzZTxBWFBXb3JrZmxvd0V4ZWN1dGlvblN0YXRlPjtcblxuICAvKipcbiAgICogR2V0IHdvcmtmbG93IGRlZmluaXRpb24gYnkgSUQuXG4gICAqIFxuICAgKiBSZXRyaWV2ZXMgd29ya2Zsb3cgZGVmaW5pdGlvbiBmcm9tIGJhY2tlbmQuXG4gICAqIFxuICAgKiBAcGFyYW0gcmVxdWVzdCAtIEdldCB3b3JrZmxvdyBkZWZpbml0aW9uIHJlcXVlc3RcbiAgICogQHJldHVybnMgV29ya2Zsb3cgZGVmaW5pdGlvbiBpbiBleGVjdXRhYmxlIGZvcm1hdFxuICAgKiBcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCByZXNwb25zZSA9IGF3YWl0IHdvcmtmbG93RXhlY3V0aW9uU2VydmljZS5nZXRXb3JrZmxvd0RlZmluaXRpb24oe1xuICAgKiAgIHdvcmtmbG93SWQ6ICdteS13b3JrZmxvdydcbiAgICogfSk7XG4gICAqIFxuICAgKiBjb25zb2xlLmxvZygnV29ya2Zsb3c6JywgcmVzcG9uc2Uud29ya2Zsb3cpO1xuICAgKiBgYGBcbiAgICovXG4gIGFic3RyYWN0IGdldFdvcmtmbG93RGVmaW5pdGlvbihcbiAgICByZXF1ZXN0OiBBWFBHZXRXb3JrZmxvd0RlZmluaXRpb25SZXF1ZXN0XG4gICk6IFByb21pc2U8QVhQR2V0V29ya2Zsb3dEZWZpbml0aW9uUmVzcG9uc2U+O1xuXG4gIC8qKlxuICAgKiBFeGVjdXRlIGN1cnJlbnQgc3RlcCBmcm9tIGV4ZWN1dGlvbiBzdGF0ZS5cbiAgICogXG4gICAqIEJhY2tlbmQgaGFuZGxlcyBldmVyeXRoaW5nOlxuICAgKiAtIEdldHMgZXhlY3V0aW9uIHN0YXRlXG4gICAqIC0gR2V0cyB3b3JrZmxvdyBkZWZpbml0aW9uXG4gICAqIC0gRmluZHMgY3VycmVudCBzdGVwXG4gICAqIC0gRXhlY3V0ZXMgc3RlcCAob3IgcmV0dXJucyBzdGVwIGluZm8gZm9yIGZyb250ZW5kIGV4ZWN1dGlvbilcbiAgICogLSBEZXRlcm1pbmVzIG5leHQgc3RlcCBiYXNlZCBvbiBvdXRjb21lQ29ubmVjdGlvbnNcbiAgICogXG4gICAqIEBwYXJhbSByZXF1ZXN0IC0gRXhlY3V0ZSBjdXJyZW50IHN0ZXAgcmVxdWVzdFxuICAgKiBAcmV0dXJucyBTdGVwIGV4ZWN1dGlvbiByZXNwb25zZSB3aXRoIG91dHB1dCwgb3V0Y29tZXMsIGFuZCBuZXh0IHN0ZXBcbiAgICogXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB3b3JrZmxvd0V4ZWN1dGlvblNlcnZpY2UuZXhlY3V0ZUN1cnJlbnRTdGVwKHtcbiAgICogICBleGVjdXRpb25JZDogJ2V4ZWMtMTIzJ1xuICAgKiB9KTtcbiAgICogXG4gICAqIGNvbnNvbGUubG9nKCdPdXRwdXQ6JywgcmVzcG9uc2Uub3V0cHV0KTtcbiAgICogY29uc29sZS5sb2coJ05leHQgU3RlcDonLCByZXNwb25zZS5uZXh0U3RlcCk7XG4gICAqIGBgYFxuICAgKi9cbiAgYWJzdHJhY3QgZXhlY3V0ZUN1cnJlbnRTdGVwKFxuICAgIHJlcXVlc3Q6IEFYUEV4ZWN1dGVDdXJyZW50U3RlcFJlcXVlc3RcbiAgKTogUHJvbWlzZTxBWFBFeGVjdXRlQ3VycmVudFN0ZXBSZXNwb25zZT47XG59XG5cbiJdfQ==","import { Injectable, inject } from '@angular/core';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport { AXPWorkflowExecutionService } from './workflow-execution.service';\nimport * as i0 from \"@angular/core\";\n//#endregion\n/**\n * Production Workflow Coordinator.\n *\n * Separates frontend/backend execution:\n * - Frontend activities: Execute with AXPCommand in browser\n * - Backend activities: Execute via API calls to backend\n * - State caching: Caches workflow state in client for performance\n *\n * ✅ Suitable for production use.\n */\nexport class WorkflowCoordinator {\n constructor() {\n //#region ---- Services & Dependencies ----\n this.workflowExecutionService = inject(AXPWorkflowExecutionService);\n this.commandService = inject(AXPCommandService);\n //#endregion\n //#region ---- State Cache (Client-side for Performance) ----\n /**\n * Cache workflow states in memory for quick access.\n * Key: executionId\n * Value: AXPWorkflowExecutionState\n */\n this.stateCache = new Map();\n }\n //#endregion\n //#region ---- Public Methods ----\n /**\n * Start workflow execution in backend.\n *\n * Backend decides what to do: returns pendingTask or indicates completion.\n * Frontend only calls API - no business logic here.\n *\n * @param workflowId - Workflow ID\n * @param input - Initial input data\n * @returns Execution result with pendingTask (if any)\n *\n * @example\n * ```typescript\n * const result = await coordinator.startWorkflow('my-workflow', { userId: '123' });\n *\n * if (result.pendingTask) {\n * // Execute task if frontend, or wait for backend to complete\n * if (result.pendingTask.executionMode === 'frontend') {\n * await coordinator.executeTask(result.pendingTask);\n * await coordinator.completeTask(result.executionId, result.pendingTask, outcome, output);\n * }\n * }\n * ```\n */\n async startWorkflow(workflowId, input = {}) {\n try {\n const execution = await this.startWorkflowExecution(workflowId, input);\n return {\n success: true,\n output: execution.state.output,\n nextTask: execution.pendingTask || null,\n executionId: execution.executionId,\n state: execution.state\n };\n }\n catch (error) {\n return {\n success: false,\n error: error.message || 'Failed to start workflow',\n nextTask: null\n };\n }\n }\n /**\n * Execute a frontend task using AXPCommand.\n *\n * Only executes if task.executionMode is 'frontend' or 'both'.\n * Backend tasks are handled automatically by backend.\n *\n * @param task - Task to execute\n * @returns Execution result with output and outcome\n */\n async executeTask(task) {\n // Only execute frontend tasks\n if (task.executionMode !== 'frontend' && task.executionMode !== 'both') {\n throw new Error(`Task '${task.activityId}' is not a frontend task. Backend handles it automatically.`);\n }\n return await this.executeFrontendActivity(task);\n }\n /**\n * Complete a task and get next task from backend.\n *\n * Sends task result to backend API.\n * Backend decides: next task, fail, or complete workflow.\n *\n * @param executionId - Execution ID\n * @param task - Completed task\n * @param outcome - Task outcome (e.g., 'Done', 'Confirmed', 'Cancelled')\n * @param output - Task output/result\n * @returns Next task from backend (if any)\n */\n async completeTask(executionId, task, outcome, output) {\n try {\n // Send result to backend - backend decides next step\n const response = await this.workflowExecutionService.resumeExecution({\n executionId,\n stepId: task.activityId,\n outcome,\n userInput: output\n });\n // Update cache\n if (response.state) {\n this.stateCache.set(executionId, response.state);\n }\n return {\n success: true,\n output: response.output,\n nextTask: response.nextTask || null,\n executionId,\n state: response.state\n };\n }\n catch (error) {\n return {\n success: false,\n error: error.message || 'Failed to complete task',\n nextTask: null\n };\n }\n }\n /**\n * Execute workflow by ID (backward compatibility).\n *\n * @deprecated Use startWorkflow + executeTask + completeTask pattern instead.\n * This method is kept for backward compatibility but will be removed.\n */\n async executeWorkflowById(workflowId, input = {}) {\n // Just start workflow - caller should handle task execution\n return await this.startWorkflow(workflowId, input);\n }\n /**\n * Resume a suspended workflow (e.g., after user interaction).\n *\n * Backend determines nextStep based on outcome and outcomeConnections.\n * Client only provides executionId, stepId, outcome, and optional userInput.\n *\n * @param executionId - Workflow execution ID\n * @param stepId - Step ID that was waiting for user input\n * @param outcome - User action outcome (e.g., 'Confirmed', 'Cancelled', 'Submitted')\n * @param userInput - Optional user input data\n */\n async resumeWorkflow(executionId, stepId, outcome, userInput) {\n try {\n // Backend handles everything: checks outcomeConnections and determines nextStep\n const response = await this.workflowExecutionService.resumeExecution({\n executionId,\n stepId,\n outcome,\n userInput\n });\n // Update cache with state from backend\n if (response.state) {\n this.stateCache.set(executionId, response.state);\n }\n return {\n success: true,\n output: response.output,\n nextTask: response.nextTask || null, // Backend determines this from outcomeConnections\n executionId,\n state: response.state\n };\n }\n catch (error) {\n return {\n success: false,\n error: error.message || 'Failed to resume workflow',\n nextTask: null\n };\n }\n }\n /**\n * Get workflow execution state (from cache or backend).\n */\n async getWorkflowState(executionId) {\n // Check cache first\n const cached = this.stateCache.get(executionId);\n if (cached) {\n // Cache is valid for 5 minutes\n const cacheAge = Date.now() - cached.lastUpdated.getTime();\n if (cacheAge < 5 * 60 * 1000) {\n return cached;\n }\n }\n // Fetch from backend\n try {\n const state = await this.workflowExecutionService.getExecutionState({\n executionId\n });\n // Update cache\n this.stateCache.set(executionId, state);\n return state;\n }\n catch {\n return null;\n }\n }\n /**\n * Start step-based execution (only current step, not full workflow).\n *\n * Use this when you only need to execute one step at a time.\n * Perfect for form-based workflows where user interacts with forms.\n *\n * @param workflowId - Workflow ID\n * @param stepId - Initial step ID to execute\n * @param input - Initial input data\n * @returns Execution info with executionId and initial state\n *\n * @example\n * ```typescript\n * // Start login form step\n * const execution = await coordinator.startStepExecution(\n * 'login-workflow',\n * 'login-form-step',\n * {}\n * );\n *\n * // Save executionId for resume after refresh\n * localStorage.setItem('execution-id', execution.executionId);\n * ```\n */\n async startStepExecution(workflowId, stepId, input = {}) {\n // Start workflow execution in backend\n const execution = await this.startWorkflowExecution(workflowId, input);\n // Update state with current step\n const stateWithStep = {\n ...execution.state,\n currentStepId: stepId,\n status: 'running'\n };\n // Update cache\n this.stateCache.set(execution.executionId, stateWithStep);\n return {\n executionId: execution.executionId,\n state: stateWithStep\n };\n }\n /**\n * Get next task from backend after backend task completion.\n *\n * Use this when backend task completes - backend will return next task.\n * For frontend tasks, use executeTask + completeTask instead.\n *\n * @param executionId - Execution ID\n * @returns Next task from backend (if any)\n */\n async getNextTask(executionId) {\n try {\n // Backend handles everything: executes backend tasks and returns next task\n const response = await this.workflowExecutionService.executeCurrentStep({\n executionId\n });\n // Update cache\n if (response.state) {\n this.stateCache.set(executionId, response.state);\n }\n return {\n success: true,\n output: response.output,\n nextTask: response.nextTask || null,\n executionId,\n state: response.state\n };\n }\n catch (error) {\n return {\n success: false,\n error: error.message || 'Failed to get next task',\n nextTask: null\n };\n }\n }\n //#endregion\n //#region ---- Private Methods ----\n /**\n * Execute a frontend activity using CommandBus.\n *\n * Frontend activities are executed in the browser using AXPCommandService.\n * Activities can also be executed in both frontend and backend (hybrid mode).\n *\n * @param task - Frontend task to execute\n * @returns Execution result with output and outcome\n */\n async executeFrontendActivity(task) {\n try {\n // Check if command exists\n if (!this.commandService.exists(task.activityType)) {\n console.warn(`[WorkflowCoordinator] Frontend activity '${task.activityType}' is not registered. Skipping execution.`);\n return {\n output: null,\n outcome: 'Done'\n };\n }\n // Execute activity via CommandBus\n // Activities registered as AXPCommand return {output, outcomes}\n const result = await this.commandService.execute(task.activityType, task.input || task.config || {});\n // Extract outcome from outcomes (usually 'Done' or first key)\n let outcome = 'Done';\n if (result?.outcomes) {\n // Prefer 'Done' if exists, otherwise use first outcome key\n outcome = result.outcomes['Done'] ? 'Done' : Object.keys(result.outcomes)[0] || 'Done';\n }\n return {\n output: result?.output || result,\n outcome\n };\n }\n catch (error) {\n console.error(`[WorkflowCoordinator] Error executing frontend activity '${task.activityType}':`, error);\n return {\n output: { error: error.message || 'Unknown error' },\n outcome: 'Failed'\n };\n }\n }\n /**\n * Start workflow execution in backend.\n * Backend returns executionId, initial state, and first task to execute.\n */\n async startWorkflowExecution(workflowId, input) {\n const response = await this.workflowExecutionService.startExecution({\n workflowId,\n input\n });\n // Cache state\n this.stateCache.set(response.executionId, response.state);\n return {\n executionId: response.executionId,\n state: response.state,\n pendingTask: response.pendingTask\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: WorkflowCoordinator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: WorkflowCoordinator, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: WorkflowCoordinator, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctY29vcmRpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL3J1bnRpbWUvd29ya2Zsb3ctY29vcmRpbmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBcUIzRSxZQUFZO0FBRVo7Ozs7Ozs7OztHQVNHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQUlFLCtDQUErQztRQUU5Qiw2QkFBd0IsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUMvRCxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTVELFlBQVk7UUFFWixpRUFBaUU7UUFFakU7Ozs7V0FJRztRQUNLLGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBcUMsQ0FBQztLQXlZbkU7SUF0WUMsWUFBWTtJQUVaLHNDQUFzQztJQUV0Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXNCRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQ2pCLFVBQWtCLEVBQ2xCLFFBQTZCLEVBQUU7UUFFL0IsSUFBSSxDQUFDO1lBQ0gsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRXZFLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTTtnQkFDOUIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxXQUFXLElBQUksSUFBSTtnQkFDdkMsV0FBVyxFQUFFLFNB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SSxNQUFNO2dCQUNoQyxPQUFPO2FBQ1IsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLEtBQVUsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxLQUFLLENBQUMsNERBQTRELElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RyxPQUFPO2dCQUNMLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLGVBQWUsRUFBRTtnQkFDbkQsT0FBTyxFQUFFLFFBQVE7YUFDbEIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssS0FBSyxDQUFDLHNCQUFzQixDQUNsQyxVQUFrQixFQUNsQixLQUEwQjtRQUUxQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjLENBQUM7WUFDbEUsVUFBVTtZQUNWLEtBQUs7U0FDTixDQUFDLENBQUM7UUFFSCxjQUFjO1FBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUQsT0FBTztZQUNMLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVztZQUNqQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7WUFDckIsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO1NBQ2xDLENBQUM7SUFDSixDQUFDOytHQXRZVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBDb21tYW5kU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0V4ZWN1dGlvblNlcnZpY2UgfSBmcm9tICcuL3dvcmtmbG93LWV4ZWN1dGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIEFYUFdvcmtmbG93RXhlY3V0aW9uU3RhdGUsXG4gIEFYUFdvcmtmbG93VGFzayxcbn0gZnJvbSAnLi93b3JrZmxvdy1leGVjdXRpb24udHlwZXMnO1xuXG4vLyNyZWdpb24gLS0tLSAgIFR5cGVzICYgSW50ZXJmYWNlcyAgIC0tLS1cblxuLyoqXG4gKiBXb3JrZmxvdyBleGVjdXRpb24gcmVzdWx0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93RXhlY3V0aW9uUmVzdWx0IHtcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgb3V0cHV0PzogYW55O1xuICBlcnJvcj86IHN0cmluZztcbiAgbmV4dFRhc2s/OiBBWFBXb3JrZmxvd1Rhc2sgfCBudWxsO1xuICBleGVjdXRpb25JZD86IHN0cmluZztcbiAgc3RhdGU/OiBBWFBXb3JrZmxvd0V4ZWN1dGlvblN0YXRlO1xufVxuXG5cbi8vI2VuZHJlZ2lvblxuXG4vKipcbiAqIFByb2R1Y3Rpb24gV29ya2Zsb3cgQ29vcmRpbmF0b3IuXG4gKiBcbiAqIFNlcGFyYXRlcyBmcm9udGVuZC9iYWNrZW5kIGV4ZWN1dGlvbjpcbiAqIC0gRnJvbnRlbmQgYWN0aXZpdGllczogRXhlY3V0ZSB3aXRoIEFYUENvbW1hbmQgaW4gYnJvd3NlclxuICogLSBCYWNrZW5kIGFjdGl2aXRpZXM6IEV4ZWN1dGUgdmlhIEFQSSBjYWxscyB0byBiYWNrZW5kXG4gKiAtIFN0YXRlIGNhY2hpbmc6IENhY2hlcyB3b3JrZmxvdyBzdGF0ZSBpbiBjbGllbnQgZm9yIHBlcmZvcm1hbmNlXG4gKiBcbiAqIOKchSBTdWl0YWJsZSBmb3IgcHJvZHVjdGlvbiB1c2UuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFdvcmtmbG93Q29vcmRpbmF0b3Ige1xuICAvLyNyZWdpb24gLS0tLSAgIFNlcnZpY2VzICYgRGVwZW5kZW5jaWVzICAgLS0tLVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgd29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYUFdvcmtmbG93RXhlY3V0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZFNlcnZpY2UgPSBpbmplY3QoQVhQQ29tbWFuZFNlcnZpY2UpO1xuICBcbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBTdGF0ZSBDYWNoZSAoQ2xpZW50LXNpZGUgZm9yIFBlcmZvcm1hbmNlKSAgIC0tLS1cblxuICAvKipcbiAgICogQ2FjaGUgd29ya2Zsb3cgc3RhdGVzIGluIG1lbW9yeSBmb3IgcXVpY2sgYWNjZXNzLlxuICAgKiBLZXk6IGV4ZWN1dGlvbklkXG4gICAqIFZhbHVlOiBBWFBXb3JrZmxvd0V4ZWN1dGlvblN0YXRlXG4gICAqL1xuICBwcml2YXRlIHN0YXRlQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgQVhQV29ya2Zsb3dFeGVjdXRpb25TdGF0ZT4oKTtcblxuXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgUHVibGljIE1ldGhvZHMgICAtLS0tXG5cbiAgLyoqXG4gICAqIFN0YXJ0IHdvcmtmbG93IGV4ZWN1dGlvbiBpbiBiYWNrZW5kLlxuICAgKiBcbiAgICogQmFja2VuZCBkZWNpZGVzIHdoYXQgdG8gZG86IHJldHVybnMgcGVuZGluZ1Rhc2sgb3IgaW5kaWNhdGVzIGNvbXBsZXRpb24uXG4gICAqIEZyb250ZW5kIG9ubHkgY2FsbHMgQVBJIC0gbm8gYnVzaW5lc3MgbG9naWMgaGVyZS5cbiAgICogXG4gICAqIEBwYXJhbSB3b3JrZmxvd0lkIC0gV29ya2Zsb3cgSURcbiAgICogQHBhcmFtIGlucHV0IC0gSW5pdGlhbCBpbnB1dCBkYXRhXG4gICAqIEByZXR1cm5zIEV4ZWN1dGlvbiByZXN1bHQgd2l0aCBwZW5kaW5nVGFzayAoaWYgYW55KVxuICAgKiBcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCByZXN1bHQgPSBhd2FpdCBjb29yZGluYXRvci5zdGFydFdvcmtmbG93KCdteS13b3JrZmxvdycsIHsgdXNlcklkOiAnMTIzJyB9KTtcbiAgICogXG4gICAqIGlmIChyZXN1bHQucGVuZGluZ1Rhc2spIHtcbiAgICogICAvLyBFeGVjdXRlIHRhc2sgaWYgZnJvbnRlbmQsIG9yIHdhaXQgZm9yIGJhY2tlbmQgdG8gY29tcGxldGVcbiAgICogICBpZiAocmVzdWx0LnBlbmRpbmdUYXNrLmV4ZWN1dGlvbk1vZGUgPT09ICdmcm9udGVuZCcpIHtcbiAgICogICAgIGF3YWl0IGNvb3JkaW5hdG9yLmV4ZWN1dGVUYXNrKHJlc3VsdC5wZW5kaW5nVGFzayk7XG4gICAqICAgICBhd2FpdCBjb29yZGluYXRvci5jb21wbGV0ZVRhc2socmVzdWx0LmV4ZWN1dGlvbklkLCByZXN1bHQucGVuZGluZ1Rhc2ssIG91dGNvbWUsIG91dHB1dCk7XG4gICAqICAgfVxuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgc3RhcnRXb3JrZmxvdyhcbiAgICB3b3JrZmxvd0lkOiBzdHJpbmcsXG4gICAgaW5wdXQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fVxuICApOiBQcm9taXNlPFdvcmtmbG93RXhlY3V0aW9uUmVzdWx0PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGV4ZWN1dGlvbiA9IGF3YWl0IHRoaXMuc3RhcnRXb3JrZmxvd0V4ZWN1dGlvbih3b3JrZmxvd0lkLCBpbnB1dCk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIG91dHB1dDogZXhlY3V0aW9uLnN0YXRlLm91dHB1dCxcbiAgICAgICAgbmV4dFRhc2s6IGV4ZWN1dGlvbi5wZW5kaW5nVGFzayB8fCBudWxsLFxuICAgICAgICBleGVjdXRpb25JZDogZXhlY3V0aW9uLmV4ZWN1dGlvbklkLFxuICAgICAgICBzdGF0ZTogZXhlY3V0aW9uLnN0YXRlXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBlcnJvcjogZXJyb3IubWVzc2FnZSB8fCAnRmFpbGVkIHRvIHN0YXJ0IHdvcmtmbG93JyxcbiAgICAgICAgbmV4dFRhc2s6IG51bGxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgYSBmcm9udGVuZCB0YXNrIHVzaW5nIEFYUENvbW1hbmQuXG4gICAqIFxuICAgKiBPbmx5IGV4ZWN1dGVzIGlmIHRhc2suZXhlY3V0aW9uTW9kZSBpcyAnZnJvbnRlbmQnIG9yICdib3RoJy5cbiAgICogQmFja2VuZCB0YXNrcyBhcmUgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IGJ5IGJhY2tlbmQuXG4gICAqIFxuICAgKiBAcGFyYW0gdGFzayAtIFRhc2sgdG8gZXhlY3V0ZVxuICAgKiBAcmV0dXJucyBFeGVjdXRpb24gcmVzdWx0IHdpdGggb3V0cHV0IGFuZCBvdXRjb21lXG4gICAqL1xuICBhc3luYyBleGVjdXRlVGFzayhcbiAgICB0YXNrOiBBWFBXb3JrZmxvd1Rhc2tcbiAgKTogUHJvbWlzZTx7IG91dHB1dDogYW55OyBvdXRjb21lOiBzdHJpbmcgfT4ge1xuICAgIC8vIE9ubHkgZXhlY3V0ZSBmcm9udGVuZCB0YXNrc1xuICAgIGlmICh0YXNrLmV4ZWN1dGlvbk1vZGUgIT09ICdmcm9udGVuZCcgJiYgdGFzay5leGVjdXRpb25Nb2RlICE9PSAnYm90aCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGFzayAnJHt0YXNrLmFjdGl2aXR5SWR9JyBpcyBub3QgYSBmcm9udGVuZCB0YXNrLiBCYWNrZW5kIGhhbmRsZXMgaXQgYXV0b21hdGljYWxseS5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5leGVjdXRlRnJvbnRlbmRBY3Rpdml0eSh0YXNrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wbGV0ZSBhIHRhc2sgYW5kIGdldCBuZXh0IHRhc2sgZnJvbSBiYWNrZW5kLlxuICAgKiBcbiAgICogU2VuZHMgdGFzayByZXN1bHQgdG8gYmFja2VuZCBBUEkuXG4gICAqIEJhY2tlbmQgZGVjaWRlczogbmV4dCB0YXNrLCBmYWlsLCBvciBjb21wbGV0ZSB3b3JrZmxvdy5cbiAgICogXG4gICAqIEBwYXJhbSBleGVjdXRpb25JZCAtIEV4ZWN1dGlvbiBJRFxuICAgKiBAcGFyYW0gdGFzayAtIENvbXBsZXRlZCB0YXNrXG4gICAqIEBwYXJhbSBvdXRjb21lIC0gVGFzayBvdXRjb21lIChlLmcuLCAnRG9uZScsICdDb25maXJtZWQnLCAnQ2FuY2VsbGVkJylcbiAgICogQHBhcmFtIG91dHB1dCAtIFRhc2sgb3V0cHV0L3Jlc3VsdFxuICAgKiBAcmV0dXJucyBOZXh0IHRhc2sgZnJvbSBiYWNrZW5kIChpZiBhbnkpXG4gICAqL1xuICBhc3luYyBjb21wbGV0ZVRhc2soXG4gICAgZXhlY3V0aW9uSWQ6IHN0cmluZyxcbiAgICB0YXNrOiBBWFBXb3JrZmxvd1Rhc2ssXG4gICAgb3V0Y29tZTogc3RyaW5nLFxuICAgIG91dHB1dD86IGFueVxuICApOiBQcm9taXNlPFdvcmtmbG93RXhlY3V0aW9uUmVzdWx0PiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIFNlbmQgcmVzdWx0IHRvIGJhY2tlbmQgLSBiYWNrZW5kIGRlY2lkZXMgbmV4dCBzdGVwXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMud29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlLnJlc3VtZUV4ZWN1dGlvbih7XG4gICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICBzdGVwSWQ6IHRhc2suYWN0aXZpdHlJZCxcbiAgICAgICAgb3V0Y29tZSxcbiAgICAgICAgdXNlcklucHV0OiBvdXRwdXRcbiAgICAgIH0pO1xuXG4gICAgICAvLyBVcGRhdGUgY2FjaGVcbiAgICAgIGlmIChyZXNwb25zZS5zdGF0ZSkge1xuICAgICAgICB0aGlzLnN0YXRlQ2FjaGUuc2V0KGV4ZWN1dGlvbklkLCByZXNwb25zZS5zdGF0ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgIG91dHB1dDogcmVzcG9uc2Uub3V0cHV0LFxuICAgICAgICBuZXh0VGFzazogcmVzcG9uc2UubmV4dFRhc2sgfHwgbnVsbCxcbiAgICAgICAgZXhlY3V0aW9uSWQsXG4gICAgICAgIHN0YXRlOiByZXNwb25zZS5zdGF0ZVxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IGVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBjb21wbGV0ZSB0YXNrJyxcbiAgICAgICAgbmV4dFRhc2s6IG51bGxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cblxuICAvKipcbiAgICogRXhlY3V0ZSB3b3JrZmxvdyBieSBJRCAoYmFja3dhcmQgY29tcGF0aWJpbGl0eSkuXG4gICAqIFxuICAgKiBAZGVwcmVjYXRlZCBVc2Ugc3RhcnRXb3JrZmxvdyArIGV4ZWN1dGVUYXNrICsgY29tcGxldGVUYXNrIHBhdHRlcm4gaW5zdGVhZC5cbiAgICogVGhpcyBtZXRob2QgaXMga2VwdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBidXQgd2lsbCBiZSByZW1vdmVkLlxuICAgKi9cbiAgYXN5bmMgZXhlY3V0ZVdvcmtmbG93QnlJZChcbiAgICB3b3JrZmxvd0lkOiBzdHJpbmcsXG4gICAgaW5wdXQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fVxuICApOiBQcm9taXNlPFdvcmtmbG93RXhlY3V0aW9uUmVzdWx0PiB7XG4gICAgLy8gSnVzdCBzdGFydCB3b3JrZmxvdyAtIGNhbGxlciBzaG91bGQgaGFuZGxlIHRhc2sgZXhlY3V0aW9uXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuc3RhcnRXb3JrZmxvdyh3b3JrZmxvd0lkLCBpbnB1dCk7XG4gIH1cblxuICAvKipcbiAgICogUmVzdW1lIGEgc3VzcGVuZGVkIHdvcmtmbG93IChlLmcuLCBhZnRlciB1c2VyIGludGVyYWN0aW9uKS5cbiAgICogXG4gICAqIEJhY2tlbmQgZGV0ZXJtaW5lcyBuZXh0U3RlcCBiYXNlZCBvbiBvdXRjb21lIGFuZCBvdXRjb21lQ29ubmVjdGlvbnMuXG4gICAqIENsaWVudCBvbmx5IHByb3ZpZGVzIGV4ZWN1dGlvbklkLCBzdGVwSWQsIG91dGNvbWUsIGFuZCBvcHRpb25hbCB1c2VySW5wdXQuXG4gICAqIFxuICAgKiBAcGFyYW0gZXhlY3V0aW9uSWQgLSBXb3JrZmxvdyBleGVjdXRpb24gSURcbiAgICogQHBhcmFtIHN0ZXBJZCAtIFN0ZXAgSUQgdGhhdCB3YXMgd2FpdGluZyBmb3IgdXNlciBpbnB1dFxuICAgKiBAcGFyYW0gb3V0Y29tZSAtIFVzZXIgYWN0aW9uIG91dGNvbWUgKGUuZy4sICdDb25maXJtZWQnLCAnQ2FuY2VsbGVkJywgJ1N1Ym1pdHRlZCcpXG4gICAqIEBwYXJhbSB1c2VySW5wdXQgLSBPcHRpb25hbCB1c2VyIGlucHV0IGRhdGFcbiAgICovXG4gIGFzeW5jIHJlc3VtZVdvcmtmbG93KFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG4gICAgc3RlcElkOiBzdHJpbmcsXG4gICAgb3V0Y29tZTogc3RyaW5nLFxuICAgIHVzZXJJbnB1dD86IGFueVxuICApOiBQcm9taXNlPFdvcmtmbG93RXhlY3V0aW9uUmVzdWx0PiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIEJhY2tlbmQgaGFuZGxlcyBldmVyeXRoaW5nOiBjaGVja3Mgb3V0Y29tZUNvbm5lY3Rpb25zIGFuZCBkZXRlcm1pbmVzIG5leHRTdGVwXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMud29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlLnJlc3VtZUV4ZWN1dGlvbih7XG4gICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICBzdGVwSWQsXG4gICAgICAgIG91dGNvbWUsXG4gICAgICAgIHVzZXJJbnB1dFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFVwZGF0ZSBjYWNoZSB3aXRoIHN0YXRlIGZyb20gYmFja2VuZFxuICAgICAgaWYgKHJlc3BvbnNlLnN0YXRlKSB7XG4gICAgICAgIHRoaXMuc3RhdGVDYWNoZS5zZXQoZXhlY3V0aW9uSWQsIHJlc3BvbnNlLnN0YXRlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgb3V0cHV0OiByZXNwb25zZS5vdXRwdXQsXG4gICAgICAgIG5leHRUYXNrOiByZXNwb25zZS5uZXh0VGFzayB8fCBudWxsLCAvLyBCYWNrZW5kIGRldGVybWluZXMgdGhpcyBmcm9tIG91dGNvbWVDb25uZWN0aW9uc1xuICAgICAgICBleGVjdXRpb25JZCxcbiAgICAgICAgc3RhdGU6IHJlc3BvbnNlLnN0YXRlXG4gICAgICB9O1xuXG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIGVycm9yOiBlcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gcmVzdW1lIHdvcmtmbG93JyxcbiAgICAgICAgbmV4dFRhc2s6IG51bGxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB3b3JrZmxvdyBleGVjdXRpb24gc3RhdGUgKGZyb20gY2FjaGUgb3IgYmFja2VuZCkuXG4gICAqL1xuICBhc3luYyBnZXRXb3JrZmxvd1N0YXRlKGV4ZWN1dGlvbklkOiBzdHJpbmcpOiBQcm9taXNlPEFYUFdvcmtmbG93RXhlY3V0aW9uU3RhdGUgfCBudWxsPiB7XG4gICAgLy8gQ2hlY2sgY2FjaGUgZmlyc3RcbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLnN0YXRlQ2FjaGUuZ2V0KGV4ZWN1dGlvbklkKTtcbiAgICBpZiAoY2FjaGVkKSB7XG4gICAgICAvLyBDYWNoZSBpcyB2YWxpZCBmb3IgNSBtaW51dGVzXG4gICAgICBjb25zdCBjYWNoZUFnZSA9IERhdGUubm93KCkgLSBjYWNoZWQubGFzdFVwZGF0ZWQuZ2V0VGltZSgpO1xuICAgICAgaWYgKGNhY2hlQWdlIDwgNSAqIDYwICogMTAwMCkge1xuICAgICAgICByZXR1cm4gY2FjaGVkO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZldGNoIGZyb20gYmFja2VuZFxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdGF0ZSA9IGF3YWl0IHRoaXMud29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlLmdldEV4ZWN1dGlvblN0YXRlKHtcbiAgICAgICAgZXhlY3V0aW9uSWRcbiAgICAgIH0pO1xuICAgICAgXG4gICAgICAvLyBVcGRhdGUgY2FjaGVcbiAgICAgIHRoaXMuc3RhdGVDYWNoZS5zZXQoZXhlY3V0aW9uSWQsIHN0YXRlKTtcbiAgICAgIFxuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IHN0ZXAtYmFzZWQgZXhlY3V0aW9uIChvbmx5IGN1cnJlbnQgc3RlcCwgbm90IGZ1bGwgd29ya2Zsb3cpLlxuICAgKiBcbiAgICogVXNlIHRoaXMgd2hlbiB5b3Ugb25seSBuZWVkIHRvIGV4ZWN1dGUgb25lIHN0ZXAgYXQgYSB0aW1lLlxuICAgKiBQZXJmZWN0IGZvciBmb3JtLWJhc2VkIHdvcmtmbG93cyB3aGVyZSB1c2VyIGludGVyYWN0cyB3aXRoIGZvcm1zLlxuICAgKiBcbiAgICogQHBhcmFtIHdvcmtmbG93SWQgLSBXb3JrZmxvdyBJRFxuICAgKiBAcGFyYW0gc3RlcElkIC0gSW5pdGlhbCBzdGVwIElEIHRvIGV4ZWN1dGVcbiAgICogQHBhcmFtIGlucHV0IC0gSW5pdGlhbCBpbnB1dCBkYXRhXG4gICAqIEByZXR1cm5zIEV4ZWN1dGlvbiBpbmZvIHdpdGggZXhlY3V0aW9uSWQgYW5kIGluaXRpYWwgc3RhdGVcbiAgICogXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogLy8gU3RhcnQgbG9naW4gZm9ybSBzdGVwXG4gICAqIGNvbnN0IGV4ZWN1dGlvbiA9IGF3YWl0IGNvb3JkaW5hdG9yLnN0YXJ0U3RlcEV4ZWN1dGlvbihcbiAgICogICAnbG9naW4td29ya2Zsb3cnLFxuICAgKiAgICdsb2dpbi1mb3JtLXN0ZXAnLFxuICAgKiAgIHt9XG4gICAqICk7XG4gICAqIFxuICAgKiAvLyBTYXZlIGV4ZWN1dGlvbklkIGZvciByZXN1bWUgYWZ0ZXIgcmVmcmVzaFxuICAgKiBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZXhlY3V0aW9uLWlkJywgZXhlY3V0aW9uLmV4ZWN1dGlvbklkKTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBzdGFydFN0ZXBFeGVjdXRpb24oXG4gICAgd29ya2Zsb3dJZDogc3RyaW5nLFxuICAgIHN0ZXBJZDogc3RyaW5nLFxuICAgIGlucHV0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cbiAgKTogUHJvbWlzZTx7IGV4ZWN1dGlvbklkOiBzdHJpbmc7IHN0YXRlOiBBWFBXb3JrZmxvd0V4ZWN1dGlvblN0YXRlIH0+IHtcbiAgICAvLyBTdGFydCB3b3JrZmxvdyBleGVjdXRpb24gaW4gYmFja2VuZFxuICAgIGNvbnN0IGV4ZWN1dGlvbiA9IGF3YWl0IHRoaXMuc3RhcnRXb3JrZmxvd0V4ZWN1dGlvbih3b3JrZmxvd0lkLCBpbnB1dCk7XG4gICAgXG4gICAgLy8gVXBkYXRlIHN0YXRlIHdpdGggY3VycmVudCBzdGVwXG4gICAgY29uc3Qgc3RhdGVXaXRoU3RlcDogQVhQV29ya2Zsb3dFeGVjdXRpb25TdGF0ZSA9IHtcbiAgICAgIC4uLmV4ZWN1dGlvbi5zdGF0ZSxcbiAgICAgIGN1cnJlbnRTdGVwSWQ6IHN0ZXBJZCxcbiAgICAgIHN0YXR1czogJ3J1bm5pbmcnIGFzIGNvbnN0XG4gICAgfTtcbiAgICBcbiAgICAvLyBVcGRhdGUgY2FjaGVcbiAgICB0aGlzLnN0YXRlQ2FjaGUuc2V0KGV4ZWN1dGlvbi5leGVjdXRpb25JZCwgc3RhdGVXaXRoU3RlcCk7XG4gICAgXG4gICAgcmV0dXJuIHtcbiAgICAgIGV4ZWN1dGlvbklkOiBleGVjdXRpb24uZXhlY3V0aW9uSWQsXG4gICAgICBzdGF0ZTogc3RhdGVXaXRoU3RlcFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogR2V0IG5leHQgdGFzayBmcm9tIGJhY2tlbmQgYWZ0ZXIgYmFja2VuZCB0YXNrIGNvbXBsZXRpb24uXG4gICAqIFxuICAgKiBVc2UgdGhpcyB3aGVuIGJhY2tlbmQgdGFzayBjb21wbGV0ZXMgLSBiYWNrZW5kIHdpbGwgcmV0dXJuIG5leHQgdGFzay5cbiAgICogRm9yIGZyb250ZW5kIHRhc2tzLCB1c2UgZXhlY3V0ZVRhc2sgKyBjb21wbGV0ZVRhc2sgaW5zdGVhZC5cbiAgICogXG4gICAqIEBwYXJhbSBleGVjdXRpb25JZCAtIEV4ZWN1dGlvbiBJRFxuICAgKiBAcmV0dXJucyBOZXh0IHRhc2sgZnJvbSBiYWNrZW5kIChpZiBhbnkpXG4gICAqL1xuICBhc3luYyBnZXROZXh0VGFzayhcbiAgICBleGVjdXRpb25JZDogc3RyaW5nXG4gICk6IFByb21pc2U8V29ya2Zsb3dFeGVjdXRpb25SZXN1bHQ+IHtcbiAgICB0cnkge1xuICAgICAgLy8gQmFja2VuZCBoYW5kbGVzIGV2ZXJ5dGhpbmc6IGV4ZWN1dGVzIGJhY2tlbmQgdGFza3MgYW5kIHJldHVybnMgbmV4dCB0YXNrXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMud29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlLmV4ZWN1dGVDdXJyZW50U3RlcCh7XG4gICAgICAgIGV4ZWN1dGlvbklkXG4gICAgICB9KTtcblxuICAgICAgLy8gVXBkYXRlIGNhY2hlXG4gICAgICBpZiAocmVzcG9uc2Uuc3RhdGUpIHtcbiAgICAgICAgdGhpcy5zdGF0ZUNhY2hlLnNldChleGVjdXRpb25JZCwgcmVzcG9uc2Uuc3RhdGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBvdXRwdXQ6IHJlc3BvbnNlLm91dHB1dCxcbiAgICAgICAgbmV4dFRhc2s6IHJlc3BvbnNlLm5leHRUYXNrIHx8IG51bGwsXG4gICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICBzdGF0ZTogcmVzcG9uc2Uuc3RhdGVcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIGVycm9yOiBlcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gZ2V0IG5leHQgdGFzaycsXG4gICAgICAgIG5leHRUYXNrOiBudWxsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgLy8jcmVnaW9uIC0tLS0gICBQcml2YXRlIE1ldGhvZHMgICAtLS0tXG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgYSBmcm9udGVuZCBhY3Rpdml0eSB1c2luZyBDb21tYW5kQnVzLlxuICAgKiBcbiAgICogRnJvbnRlbmQgYWN0aXZpdGllcyBhcmUgZXhlY3V0ZWQgaW4gdGhlIGJyb3dzZXIgdXNpbmcgQVhQQ29tbWFuZFNlcnZpY2UuXG4gICAqIEFjdGl2aXRpZXMgY2FuIGFsc28gYmUgZXhlY3V0ZWQgaW4gYm90aCBmcm9udGVuZCBhbmQgYmFja2VuZCAoaHlicmlkIG1vZGUpLlxuICAgKiBcbiAgICogQHBhcmFtIHRhc2sgLSBGcm9udGVuZCB0YXNrIHRvIGV4ZWN1dGVcbiAgICogQHJldHVybnMgRXhlY3V0aW9uIHJlc3VsdCB3aXRoIG91dHB1dCBhbmQgb3V0Y29tZVxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBleGVjdXRlRnJvbnRlbmRBY3Rpdml0eShcbiAgICB0YXNrOiBBWFBXb3JrZmxvd1Rhc2tcbiAgKTogUHJvbWlzZTx7IG91dHB1dDogYW55OyBvdXRjb21lOiBzdHJpbmcgfT4ge1xuICAgIHRyeSB7XG4gICAgICAvLyBDaGVjayBpZiBjb21tYW5kIGV4aXN0c1xuICAgICAgaWYgKCF0aGlzLmNvbW1hbmRTZXJ2aWNlLmV4aXN0cyh0YXNrLmFjdGl2aXR5VHlwZSkpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBbV29ya2Zsb3dDb29yZGluYXRvcl0gRnJvbnRlbmQgYWN0aXZpdHkgJyR7dGFzay5hY3Rpdml0eVR5cGV9JyBpcyBub3QgcmVnaXN0ZXJlZC4gU2tpcHBpbmcgZXhlY3V0aW9uLmApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG91dHB1dDogbnVsbCxcbiAgICAgICAgICBvdXRjb21lOiAnRG9uZSdcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgLy8gRXhlY3V0ZSBhY3Rpdml0eSB2aWEgQ29tbWFuZEJ1c1xuICAgICAgLy8gQWN0aXZpdGllcyByZWdpc3RlcmVkIGFzIEFYUENvbW1hbmQgcmV0dXJuIHtvdXRwdXQsIG91dGNvbWVzfVxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jb21tYW5kU2VydmljZS5leGVjdXRlPFJlY29yZDxzdHJpbmcsIGFueT4sIHsgXG4gICAgICAgIG91dHB1dDogYW55OyBcbiAgICAgICAgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gXG4gICAgICB9Pih0YXNrLmFjdGl2aXR5VHlwZSwgdGFzay5pbnB1dCB8fCB0YXNrLmNvbmZpZyB8fCB7fSk7XG5cbiAgICAgIC8vIEV4dHJhY3Qgb3V0Y29tZSBmcm9tIG91dGNvbWVzICh1c3VhbGx5ICdEb25lJyBvciBmaXJzdCBrZXkpXG4gICAgICBsZXQgb3V0Y29tZSA9ICdEb25lJztcbiAgICAgIGlmIChyZXN1bHQ/Lm91dGNvbWVzKSB7XG4gICAgICAgIC8vIFByZWZlciAnRG9uZScgaWYgZXhpc3RzLCBvdGhlcndpc2UgdXNlIGZpcnN0IG91dGNvbWUga2V5XG4gICAgICAgIG91dGNvbWUgPSByZXN1bHQub3V0Y29tZXNbJ0RvbmUnXSA/ICdEb25lJyA6IE9iamVjdC5rZXlzKHJlc3VsdC5vdXRjb21lcylbMF0gfHwgJ0RvbmUnO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBvdXRwdXQ6IHJlc3VsdD8ub3V0cHV0IHx8IHJlc3VsdCxcbiAgICAgICAgb3V0Y29tZVxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBbV29ya2Zsb3dDb29yZGluYXRvcl0gRXJyb3IgZXhlY3V0aW5nIGZyb250ZW5kIGFjdGl2aXR5ICcke3Rhc2suYWN0aXZpdHlUeXBlfSc6YCwgZXJyb3IpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3V0cHV0OiB7IGVycm9yOiBlcnJvci5tZXNzYWdlIHx8ICdVbmtub3duIGVycm9yJyB9LFxuICAgICAgICBvdXRjb21lOiAnRmFpbGVkJ1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgd29ya2Zsb3cgZXhlY3V0aW9uIGluIGJhY2tlbmQuXG4gICAqIEJhY2tlbmQgcmV0dXJucyBleGVjdXRpb25JZCwgaW5pdGlhbCBzdGF0ZSwgYW5kIGZpcnN0IHRhc2sgdG8gZXhlY3V0ZS5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgc3RhcnRXb3JrZmxvd0V4ZWN1dGlvbihcbiAgICB3b3JrZmxvd0lkOiBzdHJpbmcsXG4gICAgaW5wdXQ6IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKTogUHJvbWlzZTx7IGV4ZWN1dGlvbklkOiBzdHJpbmc7IHN0YXRlOiBBWFBXb3JrZmxvd0V4ZWN1dGlvblN0YXRlOyBwZW5kaW5nVGFzaz86IEFYUFdvcmtmbG93VGFzayB8IG51bGwgfT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy53b3JrZmxvd0V4ZWN1dGlvblNlcnZpY2Uuc3RhcnRFeGVjdXRpb24oe1xuICAgICAgd29ya2Zsb3dJZCxcbiAgICAgIGlucHV0XG4gICAgfSk7XG5cbiAgICAvLyBDYWNoZSBzdGF0ZVxuICAgIHRoaXMuc3RhdGVDYWNoZS5zZXQocmVzcG9uc2UuZXhlY3V0aW9uSWQsIHJlc3BvbnNlLnN0YXRlKTtcblxuICAgIHJldHVybiB7XG4gICAgICBleGVjdXRpb25JZDogcmVzcG9uc2UuZXhlY3V0aW9uSWQsXG4gICAgICBzdGF0ZTogcmVzcG9uc2Uuc3RhdGUsXG4gICAgICBwZW5kaW5nVGFzazogcmVzcG9uc2UucGVuZGluZ1Rhc2tcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIE5PVEU6IEFsbCB3b3JrZmxvdyBleGVjdXRpb24gbG9naWMgKGNvbnRyb2wgZmxvdywgc3RlcCBmaW5kaW5nLCBjb25kaXRpb24gZXZhbHVhdGlvbilcbiAgICogaGFzIGJlZW4gbW92ZWQgdG8gYmFja2VuZCBzZXJ2aWNlcy5cbiAgICogXG4gICAqIENsaWVudCAoV29ya2Zsb3dDb29yZGluYXRvcikgbm93IG9ubHk6XG4gICAqIDEuIENhbGxzIGJhY2tlbmQgdG8gc3RhcnQvcmVzdW1lIHdvcmtmbG93XG4gICAqIDIuIEV4ZWN1dGVzIFVJIGFjdGl2aXRpZXMgKHNob3ctZGlhbG9nLCBzaG93LXRvYXN0LCBuYXZpZ2F0ZSkgbG9jYWxseVxuICAgKiAzLiBTZW5kcyBvdXRjb21lIGJhY2sgdG8gYmFja2VuZCBmb3IgbmV4dCBzdGVwIGRldGVybWluYXRpb25cbiAgICogXG4gICAqIFRoaXMgZW5zdXJlcyBwcm9wZXIgc2VwYXJhdGlvbiBvZiBjb25jZXJucyBhbmQgc2VjdXJpdHk6XG4gICAqIC0gQmFja2VuZCBvd25zIHdvcmtmbG93IGRlZmluaXRpb25zXG4gICAqIC0gQmFja2VuZCBoYW5kbGVzIGFsbCBidXNpbmVzcyBsb2dpYyBhbmQgc3RhdGUgdHJhbnNpdGlvbnNcbiAgICogLSBGcm9udGVuZCBvbmx5IGhhbmRsZXMgVUkgcmVuZGVyaW5nIGFuZCB1c2VyIGludGVyYWN0aW9uc1xuICAgKi9cblxuICAvLyNlbmRyZWdpb25cbn1cblxuIl19","/**\n * Types and interfaces for Workflow Execution Service.\n */\nexport {};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZXhlY3V0aW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2VuZ2luZS9ydW50aW1lL3dvcmtmbG93LWV4ZWN1dGlvbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTs7R0FFRyIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBUeXBlcyBhbmQgaW50ZXJmYWNlcyBmb3IgV29ya2Zsb3cgRXhlY3V0aW9uIFNlcnZpY2UuXG4gKi9cblxuaW1wb3J0IHsgQVhQV29ya2Zsb3dFbmdpbmUsIEFYUFdvcmtmbG93RW5naW5lU3RlcCB9IGZyb20gXCIuLi93b3JrZmxvdy50eXBlc1wiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSB3b3JrZmxvdyB0YXNrIHRoYXQgbmVlZHMgdG8gYmUgZXhlY3V0ZWQuXG4gKiBJbnNwaXJlZCBieSBUZW1wb3JhbCdzIEFjdGl2aXR5IFRhc2tzIGFuZCBDYW11bmRhJ3MgRXh0ZXJuYWwgVGFza3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3dUYXNrIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSB0b2tlbiBmb3IgdGhpcyB0YXNrICh1c2VkIGZvciBjb21wbGV0aW9uL3NlY3VyaXR5KS5cbiAgICovXG4gIHRhc2tUb2tlbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBY3Rpdml0eSBJRCBmcm9tIHdvcmtmbG93IGRlZmluaXRpb24uXG4gICAqL1xuICBhY3Rpdml0eUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFjdGl2aXR5IHR5cGUgKGUuZy4sICd3b3JrZmxvdy1hY3Rpdml0eTpzaG93LXRvYXN0JykuXG4gICAqL1xuICBhY3Rpdml0eVR5cGU6IHN0cmluZztcblxuICAvKipcbiAgICogSHVtYW4tcmVhZGFibGUgYWN0aXZpdHkgbmFtZS5cbiAgICovXG4gIGFjdGl2aXR5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogV2hlcmUgdGhpcyB0YXNrIHNob3VsZCBiZSBleGVjdXRlZC5cbiAgICogLSAnZnJvbnRlbmQnOiBFeGVjdXRlIGluIGJyb3dzZXIgKFVJIGFjdGl2aXRpZXMsIGNvbnNvbGUsIGV2ZW50cylcbiAgICogLSAnYmFja2VuZCc6IEV4ZWN1dGUgaW4gYmFja2VuZCAoYnVzaW5lc3MgbG9naWMsIEFQSSBjYWxscylcbiAgICogLSAnYm90aCc6IEV4ZWN1dGUgaW4gYm90aCBmcm9udGVuZCBhbmQgYmFja2VuZCAoaHlicmlkIGFjdGl2aXRpZXMpXG4gICAqL1xuICBleGVjdXRpb25Nb2RlOiAnZnJvbnRlbmQnIHwgJ2JhY2tlbmQnIHwgJ2JvdGgnO1xuXG4gIC8qKlxuICAgKiBJbnB1dCBkYXRhIGZvciB0aGUgYWN0aXZpdHkgKGZvciBmcm9udGVuZCBhY3Rpdml0aWVzKS5cbiAgICovXG4gIGlucHV0PzogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIGFjdGl2aXR5IChmb3IgZnJvbnRlbmQgYWN0aXZpdGllcykuXG4gICAqL1xuICBjb25maWc/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG4vKipcbiAqIFJlcXVlc3QgdG8gc3RhcnQgYSB3b3JrZmxvdyBleGVjdXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQU3RhcnRXb3JrZmxvd0V4ZWN1dGlvblJlcXVlc3Qge1xuICAvKipcbiAgICogV29ya2Zsb3cgSUQgdG8gZXhlY3V0ZS5cbiAgICovXG4gIHdvcmtmbG93SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogSW5pdGlhbCBpbnB1dCBkYXRhIGZvciB3b3JrZmxvdy5cbiAgICovXG4gIGlucHV0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGFmdGVyIHN0YXJ0aW5nIHdvcmtmbG93IGV4ZWN1dGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBTdGFydFdvcmtmbG93RXhlY3V0aW9uUmVzcG9uc2Uge1xuICAvKipcbiAgICogVW5pcXVlIGV4ZWN1dGlvbiBJRCBmb3IgdGhpcyB3b3JrZmxvdyBydW4uXG4gICAqL1xuICBleGVjdXRpb25JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDdXJyZW50IHdvcmtmbG93IHN0YXRlLlxuICAgKi9cbiAgc3RhdGU6IEFYUFdvcmtmbG93RXhlY3V0aW9uU3RhdGU7XG5cbiAgLyoqXG4gICAqIEZpcnN0IHRhc2sgdG8gZXhlY3V0ZSAoZGV0ZXJtaW5lZCBieSBiYWNrZW5kKS5cbiAgICogQ2xpZW50IHNob3VsZCBleGVjdXRlIHRoaXMgdGFzayBiYXNlZCBvbiBleGVjdXRpb25Nb2RlLlxuICAgKi9cbiAgcGVuZGluZ1Rhc2s/OiBBWFBXb3JrZmxvd1Rhc2sgfCBudWxsO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgdG8gZXhlY3V0ZSBhIGJhY2tlbmQgYWN0aXZpdHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQRXhlY3V0ZUJhY2tlbmRBY3Rpdml0eVJlcXVlc3Qge1xuICAvKipcbiAgICogV29ya2Zsb3cgSUQuXG4gICAqL1xuICB3b3JrZmxvd0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGlvbiBJRC5cbiAgICovXG4gIGV4ZWN1dGlvbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFjdGl2aXR5IHR5cGUgKGUuZy4sICd3b3JrZmxvdy1hY3Rpdml0eTpleGVjdXRlLWNvbW1hbmQnKS5cbiAgICovXG4gIGFjdGl2aXR5VHlwZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBY3Rpdml0eSBJRCBmcm9tIHdvcmtmbG93IGRlZmluaXRpb24uXG4gICAqL1xuICBhY3Rpdml0eUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFjdGl2aXR5IHByb3BlcnRpZXMgKGlucHV0IGRhdGEpLlxuICAgKi9cbiAgcHJvcGVydGllczogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICAvKipcbiAgICogQ3VycmVudCB3b3JrZmxvdyBzdGF0ZSAob3B0aW9uYWwsIGZvciBjb250ZXh0KS5cbiAgICovXG4gIHdvcmtmbG93U3RhdGU/OiBQYXJ0aWFsPEFYUFdvcmtmbG93RXhlY3V0aW9uU3RhdGU+O1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGFmdGVyIGV4ZWN1dGluZyBiYWNrZW5kIGFjdGl2aXR5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEV4ZWN1dGVCYWNrZW5kQWN0aXZpdHlSZXNwb25zZSB7XG4gIC8qKlxuICAgKiBBY3Rpdml0eSBleGVjdXRpb24gb3V0cHV0LlxuICAgKi9cbiAgb3V0cHV0OiBhbnk7XG5cbiAgLyoqXG4gICAqIEFjdGl2aXR5IGV4ZWN1dGlvbiBvdXRjb21lcy5cbiAgICovXG4gIG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gIC8qKlxuICAgKiBOZXh0IHRhc2sgdG8gZXhlY3V0ZSAoaWYgYW55KS5cbiAgICovXG4gIG5leHRUYXNrPzogQVhQV29ya2Zsb3dUYXNrIHwgbnVsbDtcblxuICAvKipcbiAgICogVXBkYXRlZCB3b3JrZmxvdyBzdGF0ZS5cbiAgICovXG4gIHN0YXRlOiBBWFBXb3JrZmxvd0V4ZWN1dGlvblN0YXRlO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgdG8gcmVzdW1lIGEgc3VzcGVuZGVkIHdvcmtmbG93LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlc3VtZVdvcmtmbG93RXhlY3V0aW9uUmVxdWVzdCB7XG4gIC8qKlxuICAgKiBFeGVjdXRpb24gSUQuXG4gICAqL1xuICBleGVjdXRpb25JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdGVwIElEIHRoYXQgd2FzIHdhaXRpbmcgZm9yIHVzZXIgaW5wdXQuXG4gICAqL1xuICBzdGVwSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVXNlciBhY3Rpb24gb3V0Y29tZSAoZS5nLiwgJ0NvbmZpcm1lZCcsICdDYW5jZWxsZWQnKS5cbiAgICovXG4gIG91dGNvbWU6IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBpbnB1dCBkYXRhLlxuICAgKi9cbiAgdXNlcklucHV0PzogYW55O1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGFmdGVyIHJlc3VtaW5nIHdvcmtmbG93LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlc3VtZVdvcmtmbG93RXhlY3V0aW9uUmVzcG9uc2Uge1xuICAvKipcbiAgICogQWN0aXZpdHkgZXhlY3V0aW9uIG91dHB1dC5cbiAgICovXG4gIG91dHB1dDogYW55O1xuXG4gIC8qKlxuICAgKiBBY3Rpdml0eSBleGVjdXRpb24gb3V0Y29tZXMuXG4gICAqL1xuICBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICAvKipcbiAgICogTmV4dCB0YXNrIHRvIGV4ZWN1dGUgKGlmIGFueSkuXG4gICAqL1xuICBuZXh0VGFzaz86IEFYUFdvcmtmbG93VGFzayB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFVwZGF0ZWQgd29ya2Zsb3cgc3RhdGUuXG4gICAqL1xuICBzdGF0ZTogQVhQV29ya2Zsb3dFeGVjdXRpb25TdGF0ZTtcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHRvIGdldCB3b3JrZmxvdyBleGVjdXRpb24gc3RhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQR2V0V29ya2Zsb3dFeGVjdXRpb25TdGF0ZVJlcXVlc3Qge1xuICAvKipcbiAgICogRXhlY3V0aW9uIElELlxuICAgKi9cbiAgZXhlY3V0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHRvIGV4ZWN1dGUgY3VycmVudCBzdGVwIGZyb20gZXhlY3V0aW9uIHN0YXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEV4ZWN1dGVDdXJyZW50U3RlcFJlcXVlc3Qge1xuICAvKipcbiAgICogRXhlY3V0aW9uIElELlxuICAgKi9cbiAgZXhlY3V0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBhZnRlciBleGVjdXRpbmcgY3VycmVudCBzdGVwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEV4ZWN1dGVDdXJyZW50U3RlcFJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIFN0ZXAgZXhlY3V0aW9uIG91dHB1dC5cbiAgICovXG4gIG91dHB1dDogYW55O1xuXG4gIC8qKlxuICAgKiBTdGVwIGV4ZWN1dGlvbiBvdXRjb21lcy5cbiAgICovXG4gIG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gIC8qKlxuICAgKiBOZXh0IHRhc2sgdG8gZXhlY3V0ZSAoaWYgYW55LCBkZXRlcm1pbmVkIGJ5IGJhY2tlbmQgZnJvbSBvdXRjb21lQ29ubmVjdGlvbnMpLlxuICAgKi9cbiAgbmV4dFRhc2s/OiBBWFBXb3JrZmxvd1Rhc2sgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBVcGRhdGVkIHdvcmtmbG93IHN0YXRlLlxuICAgKi9cbiAgc3RhdGU6IEFYUFdvcmtmbG93RXhlY3V0aW9uU3RhdGU7XG59XG5cbi8qKlxuICogUmVxdWVzdCB0byBnZXQgd29ya2Zsb3cgZGVmaW5pdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBHZXRXb3JrZmxvd0RlZmluaXRpb25SZXF1ZXN0IHtcbiAgLyoqXG4gICAqIFdvcmtmbG93IElEIG9yIGRlZmluaXRpb24gSUQuXG4gICAqL1xuICB3b3JrZmxvd0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2Ugd2l0aCB3b3JrZmxvdyBkZWZpbml0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEdldFdvcmtmbG93RGVmaW5pdGlvblJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIFdvcmtmbG93IGRlZmluaXRpb24gKGV4ZWN1dGFibGUgZm9ybWF0KS5cbiAgICovXG4gIHdvcmtmbG93OiBBWFBXb3JrZmxvd0VuZ2luZTtcbn1cblxuLyoqXG4gKiBXb3JrZmxvdyBleGVjdXRpb24gc3RhdGUgKG1hbmFnZWQgYnkgYmFja2VuZCwgY2FjaGVkIGluIGNsaWVudCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3dFeGVjdXRpb25TdGF0ZSB7XG4gIC8qKlxuICAgKiBVbmlxdWUgZXhlY3V0aW9uIElELlxuICAgKi9cbiAgZXhlY3V0aW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogV29ya2Zsb3cgSUQuXG4gICAqL1xuICB3b3JrZmxvd0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEN1cnJlbnQgZXhlY3V0aW9uIHN0YXR1cy5cbiAgICovXG4gIHN0YXR1czogJ3J1bm5pbmcnIHwgJ2NvbXBsZXRlZCcgfCAnc3VzcGVuZGVkJyB8ICdlcnJvcic7XG5cbiAgLyoqXG4gICAqIEN1cnJlbnQgc3RlcCBJRCAoaWYgc3VzcGVuZGVkIG9yIHJ1bm5pbmcpLlxuICAgKi9cbiAgY3VycmVudFN0ZXBJZD86IHN0cmluZztcblxuICAvKipcbiAgICogV29ya2Zsb3cgdmFyaWFibGVzIChzdGF0ZSkuXG4gICAqL1xuICB2YXJpYWJsZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgaW5wdXQgZGF0YS5cbiAgICovXG4gIGlucHV0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gIC8qKlxuICAgKiBGaW5hbCBvdXRwdXQgZGF0YSAoaWYgY29tcGxldGVkKS5cbiAgICovXG4gIG91dHB1dD86IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgLyoqXG4gICAqIExhc3QgdXBkYXRlIHRpbWVzdGFtcC5cbiAgICovXG4gIGxhc3RVcGRhdGVkOiBEYXRlO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgdG8gY29tcGxldGUgYSB0YXNrLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUENvbXBsZXRlVGFza1JlcXVlc3Qge1xuICAvKipcbiAgICogVGFzayB0b2tlbiBmcm9tIHRoZSBwZW5kaW5nIHRhc2suXG4gICAqL1xuICB0YXNrVG9rZW46IHN0cmluZztcblxuICAvKipcbiAgICogVGFzayBleGVjdXRpb24gcmVzdWx0LlxuICAgKi9cbiAgcmVzdWx0PzogYW55O1xuXG4gIC8qKlxuICAgKiBFcnJvciBtZXNzYWdlIGlmIHRhc2sgZmFpbGVkLlxuICAgKi9cbiAgZXJyb3I/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgYWZ0ZXIgY29tcGxldGluZyBhIHRhc2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQ29tcGxldGVUYXNrUmVzcG9uc2Uge1xuICAvKipcbiAgICogVXBkYXRlZCB3b3JrZmxvdyBzdGF0ZS5cbiAgICovXG4gIHN0YXRlOiBBWFBXb3JrZmxvd0V4ZWN1dGlvblN0YXRlO1xuXG4gIC8qKlxuICAgKiBOZXh0IHRhc2sgdG8gZXhlY3V0ZSAoaWYgYW55KS5cbiAgICovXG4gIG5leHRUYXNrPzogQVhQV29ya2Zsb3dUYXNrIHwgbnVsbDtcbn1cblxuIl19","// Production Workflow Coordinator (Frontend/Backend Separation)\nexport * from './workflow-coordinator';\n// Workflow Execution Service (Interface & Types)\nexport * from './workflow-execution.service';\nexport * from './workflow-execution.types';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL3J1bnRpbWUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0VBQWdFO0FBQ2hFLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsaURBQWlEO0FBQ2pELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFByb2R1Y3Rpb24gV29ya2Zsb3cgQ29vcmRpbmF0b3IgKEZyb250ZW5kL0JhY2tlbmQgU2VwYXJhdGlvbilcbmV4cG9ydCAqIGZyb20gJy4vd29ya2Zsb3ctY29vcmRpbmF0b3InO1xuXG4vLyBXb3JrZmxvdyBFeGVjdXRpb24gU2VydmljZSAoSW50ZXJmYWNlICYgVHlwZXMpXG5leHBvcnQgKiBmcm9tICcuL3dvcmtmbG93LWV4ZWN1dGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd29ya2Zsb3ctZXhlY3V0aW9uLnR5cGVzJzsiXX0=","import { Activity } from '../activity.types';\n/**\n * WriteLine Activity - Simple console logging activity.\n *\n * Usage:\n * ```typescript\n * const activity = new WriteLine();\n * await activity.execute({ text: 'Hello World' });\n * ```\n */\nexport class WriteLine extends Activity {\n constructor() {\n super('WriteLine');\n }\n async execute(input) {\n const text = input.text || '';\n if (text !== undefined && text !== null) {\n console.log(`[WriteLine] ${text}`);\n }\n return this.createResult(undefined, 'Done');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbGluZS5hY3Rpdml0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi9lbmdpbmUvYWN0aXZpdGllcy93cml0ZS1saW5lLmFjdGl2aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3Qzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sT0FBTyxTQUFVLFNBQVEsUUFBaUM7SUFDOUQ7UUFDRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBd0I7UUFDcEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFFOUIsSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5LnR5cGVzJztcblxuLyoqXG4gKiBXcml0ZUxpbmUgQWN0aXZpdHkgLSBTaW1wbGUgY29uc29sZSBsb2dnaW5nIGFjdGl2aXR5LlxuICogXG4gKiBVc2FnZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFjdGl2aXR5ID0gbmV3IFdyaXRlTGluZSgpO1xuICogYXdhaXQgYWN0aXZpdHkuZXhlY3V0ZSh7IHRleHQ6ICdIZWxsbyBXb3JsZCcgfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFdyaXRlTGluZSBleHRlbmRzIEFjdGl2aXR5PHsgdGV4dD86IHN0cmluZyB9LCB2b2lkPiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdXcml0ZUxpbmUnKTtcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGUoaW5wdXQ6IHsgdGV4dD86IHN0cmluZyB9KTogUHJvbWlzZTx7IG91dHB1dDogdm9pZDsgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfT4ge1xuICAgIGNvbnN0IHRleHQgPSBpbnB1dC50ZXh0IHx8ICcnO1xuICAgIFxuICAgIGlmICh0ZXh0ICE9PSB1bmRlZmluZWQgJiYgdGV4dCAhPT0gbnVsbCkge1xuICAgICAgY29uc29sZS5sb2coYFtXcml0ZUxpbmVdICR7dGV4dH1gKTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHVuZGVmaW5lZCwgJ0RvbmUnKTtcbiAgfVxufSJdfQ==","import { Activity } from '../activity.types';\n/**\n * Sequence Activity - Executes activities in sequential order.\n *\n * Usage:\n * ```typescript\n * const sequence = new Sequence();\n * sequence.activities = [activity1, activity2, activity3];\n * await sequence.execute({});\n * ```\n */\nexport class Sequence extends Activity {\n constructor() {\n super('Sequence');\n /**\n * Activities to execute in sequence.\n */\n this.activities = [];\n }\n async execute(input) {\n // Execute all activities in sequence\n for (const activity of this.activities) {\n await activity.execute(input);\n }\n return this.createResult(undefined, 'Done');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2UuYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvc2VxdWVuY2UuYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBRXhEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsUUFBa0I7SUFNOUM7UUFDRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFOcEI7O1dBRUc7UUFDSCxlQUFVLEdBQWdCLEVBQUUsQ0FBQztJQUk3QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFTO1FBQ3JCLHFDQUFxQztRQUNyQyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN2QyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZpdHksIElBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5LnR5cGVzJztcblxuLyoqXG4gKiBTZXF1ZW5jZSBBY3Rpdml0eSAtIEV4ZWN1dGVzIGFjdGl2aXRpZXMgaW4gc2VxdWVudGlhbCBvcmRlci5cbiAqIFxuICogVXNhZ2U6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzZXF1ZW5jZSA9IG5ldyBTZXF1ZW5jZSgpO1xuICogc2VxdWVuY2UuYWN0aXZpdGllcyA9IFthY3Rpdml0eTEsIGFjdGl2aXR5MiwgYWN0aXZpdHkzXTtcbiAqIGF3YWl0IHNlcXVlbmNlLmV4ZWN1dGUoe30pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXF1ZW5jZSBleHRlbmRzIEFjdGl2aXR5PHt9LCB2b2lkPiB7XG4gIC8qKlxuICAgKiBBY3Rpdml0aWVzIHRvIGV4ZWN1dGUgaW4gc2VxdWVuY2UuXG4gICAqL1xuICBhY3Rpdml0aWVzOiBJQWN0aXZpdHlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdTZXF1ZW5jZScpO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZShpbnB1dDoge30pOiBQcm9taXNlPHsgb3V0cHV0OiB2b2lkOyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9PiB7XG4gICAgLy8gRXhlY3V0ZSBhbGwgYWN0aXZpdGllcyBpbiBzZXF1ZW5jZVxuICAgIGZvciAoY29uc3QgYWN0aXZpdHkgb2YgdGhpcy5hY3Rpdml0aWVzKSB7XG4gICAgICBhd2FpdCBhY3Rpdml0eS5leGVjdXRlKGlucHV0KTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHVuZGVmaW5lZCwgJ0RvbmUnKTtcbiAgfVxufSJdfQ==","import { inject } from '@angular/core';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Activity } from '../activity.types';\n/**\n * Show Confirm Dialog Activity - Displays confirmation dialog to user.\n *\n * Has two outcomes:\n * - 'Confirmed': User clicked confirm/yes\n * - 'Cancelled': User clicked cancel/no\n *\n * Usage:\n * ```typescript\n * const dialog = new ShowConfirmDialog();\n * await dialog.execute({\n * title: 'Confirm Delete',\n * message: 'Are you sure?',\n * color: 'danger'\n * });\n * ```\n */\nexport class ShowConfirmDialog extends Activity {\n //#endregion\n constructor() {\n super('ShowConfirmDialog');\n //#region ---- Services & Dependencies ----\n this.dialogService = inject(AXDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(input) {\n const { title = '', message = '', color = 'primary', defaultAction = 'cancel', align = 'horizontal', backdrop = false } = input;\n // Translate title and message only if they start with '@' (translation key)\n // Otherwise use the text as-is\n const translatedTitle = title\n ? (title.startsWith('@')\n ? await this.translationService.translateAsync(title) || title\n : title)\n : '';\n const translatedMessage = message\n ? (message.startsWith('@')\n ? await this.translationService.translateAsync(message) || message\n : message)\n : '';\n try {\n const confirmResult = await this.dialogService.confirm(translatedTitle, translatedMessage, color, align, backdrop, defaultAction);\n const result = confirmResult.result;\n const action = result ? 'confirm' : 'cancel';\n return this.createResult({\n result,\n action\n }, result ? 'Confirmed' : 'Cancelled');\n }\n catch (err) {\n console.error('[ShowConfirmDialog] Error showing dialog:', err);\n return this.createResult({\n result: false,\n action: 'error'\n }, 'Cancelled');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1jb25maXJtLWRpYWxvZy5hY3Rpdml0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi9lbmdpbmUvYWN0aXZpdGllcy9zaG93LWNvbmZpcm0tZGlhbG9nLmFjdGl2aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3Qzs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxRQVVyQztJQU1BLFlBQVk7SUFFWjtRQUNFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBUjdCLCtDQUErQztRQUU5QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQU1uRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQU9iO1FBSUMsTUFBTSxFQUNKLEtBQUssR0FBRyxFQUFFLEVBQ1YsT0FBTyxHQUFHLEVBQUUsRUFDWixLQUFLLEdBQUcsU0FBUyxFQUNqQixhQUFhLEdBQUcsUUFBUSxFQUN4QixLQUFLLEdBQUcsWUFBWSxFQUNwQixRQUFRLEdBQUcsS0FBSyxFQUNqQixHQUFHLEtBQUssQ0FBQztRQUVWLDRFQUE0RTtRQUM1RSwrQkFBK0I7UUFDL0IsTUFBTSxlQUFlLEdBQUcsS0FBSztZQUMzQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLO2dCQUM5RCxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ1osQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNQLE1BQU0saUJBQWlCLEdBQUcsT0FBTztZQUMvQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFDdEIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPO2dCQUNsRSxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ2QsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLElBQUksQ0FBQztZQUNILE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQ3BELGVBQWUsRUFDZixpQkFBaUIsRUFDakIsS0FBSyxFQUNMLEtBQUssRUFDTCxRQUFRLEVBQ1IsYUFBYSxDQUNkLENBQUM7WUFFRixNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQ3BDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFFN0MsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN2QixNQUFNO2dCQUNOLE1BQU07YUFDUCxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV6QyxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDaEUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN2QixNQUFNLEVBQUUsS0FBSztnQkFDYixNQUFNLEVBQUUsT0FBTzthQUNoQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuaW1wb3J0IHsgQVhTdHlsZUNvbG9yVHlwZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5LnR5cGVzJztcblxuLyoqXG4gKiBTaG93IENvbmZpcm0gRGlhbG9nIEFjdGl2aXR5IC0gRGlzcGxheXMgY29uZmlybWF0aW9uIGRpYWxvZyB0byB1c2VyLlxuICogXG4gKiBIYXMgdHdvIG91dGNvbWVzOlxuICogLSAnQ29uZmlybWVkJzogVXNlciBjbGlja2VkIGNvbmZpcm0veWVzXG4gKiAtICdDYW5jZWxsZWQnOiBVc2VyIGNsaWNrZWQgY2FuY2VsL25vXG4gKiBcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZGlhbG9nID0gbmV3IFNob3dDb25maXJtRGlhbG9nKCk7XG4gKiBhd2FpdCBkaWFsb2cuZXhlY3V0ZSh7XG4gKiAgIHRpdGxlOiAnQ29uZmlybSBEZWxldGUnLFxuICogICBtZXNzYWdlOiAnQXJlIHlvdSBzdXJlPycsXG4gKiAgIGNvbG9yOiAnZGFuZ2VyJ1xuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFNob3dDb25maXJtRGlhbG9nIGV4dGVuZHMgQWN0aXZpdHk8e1xuICB0aXRsZT86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgY29sb3I/OiBBWFN0eWxlQ29sb3JUeXBlO1xuICBkZWZhdWx0QWN0aW9uPzogJ2NvbmZpcm0nIHwgJ2NhbmNlbCc7XG4gIGFsaWduPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcbiAgYmFja2Ryb3A/OiBib29sZWFuO1xufSwge1xuICByZXN1bHQ6IGJvb2xlYW47XG4gIGFjdGlvbjogc3RyaW5nO1xufT4ge1xuICAvLyNyZWdpb24gLS0tLSAgIFNlcnZpY2VzICYgRGVwZW5kZW5jaWVzICAgLS0tLVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ1Nob3dDb25maXJtRGlhbG9nJyk7XG4gIH1cblxuICBhc3luYyBleGVjdXRlKGlucHV0OiB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgbWVzc2FnZT86IHN0cmluZztcbiAgICBjb2xvcj86IEFYU3R5bGVDb2xvclR5cGU7XG4gICAgZGVmYXVsdEFjdGlvbj86ICdjb25maXJtJyB8ICdjYW5jZWwnO1xuICAgIGFsaWduPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcbiAgICBiYWNrZHJvcD86IGJvb2xlYW47XG4gIH0pOiBQcm9taXNlPHsgXG4gICAgb3V0cHV0OiB7IHJlc3VsdDogYm9vbGVhbjsgYWN0aW9uOiBzdHJpbmcgfTsgXG4gICAgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gXG4gIH0+IHtcbiAgICBjb25zdCB7XG4gICAgICB0aXRsZSA9ICcnLFxuICAgICAgbWVzc2FnZSA9ICcnLFxuICAgICAgY29sb3IgPSAncHJpbWFyeScsXG4gICAgICBkZWZhdWx0QWN0aW9uID0gJ2NhbmNlbCcsXG4gICAgICBhbGlnbiA9ICdob3Jpem9udGFsJyxcbiAgICAgIGJhY2tkcm9wID0gZmFsc2VcbiAgICB9ID0gaW5wdXQ7XG5cbiAgICAvLyBUcmFuc2xhdGUgdGl0bGUgYW5kIG1lc3NhZ2Ugb25seSBpZiB0aGV5IHN0YXJ0IHdpdGggJ0AnICh0cmFuc2xhdGlvbiBrZXkpXG4gICAgLy8gT3RoZXJ3aXNlIHVzZSB0aGUgdGV4dCBhcy1pc1xuICAgIGNvbnN0IHRyYW5zbGF0ZWRUaXRsZSA9IHRpdGxlIFxuICAgICAgPyAodGl0bGUuc3RhcnRzV2l0aCgnQCcpIFxuICAgICAgICAgID8gYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmModGl0bGUpIHx8IHRpdGxlXG4gICAgICAgICAgOiB0aXRsZSlcbiAgICAgIDogJyc7XG4gICAgY29uc3QgdHJhbnNsYXRlZE1lc3NhZ2UgPSBtZXNzYWdlIFxuICAgICAgPyAobWVzc2FnZS5zdGFydHNXaXRoKCdAJykgXG4gICAgICAgICAgPyBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYyhtZXNzYWdlKSB8fCBtZXNzYWdlXG4gICAgICAgICAgOiBtZXNzYWdlKVxuICAgICAgOiAnJztcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBjb25maXJtUmVzdWx0ID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oXG4gICAgICAgIHRyYW5zbGF0ZWRUaXRsZSxcbiAgICAgICAgdHJhbnNsYXRlZE1lc3NhZ2UsXG4gICAgICAgIGNvbG9yLFxuICAgICAgICBhbGlnbixcbiAgICAgICAgYmFja2Ryb3AsXG4gICAgICAgIGRlZmF1bHRBY3Rpb25cbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGNvbmZpcm1SZXN1bHQucmVzdWx0O1xuICAgICAgY29uc3QgYWN0aW9uID0gcmVzdWx0ID8gJ2NvbmZpcm0nIDogJ2NhbmNlbCc7XG5cbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlc3VsdCh7XG4gICAgICAgIHJlc3VsdCxcbiAgICAgICAgYWN0aW9uXG4gICAgICB9LCByZXN1bHQgPyAnQ29uZmlybWVkJyA6ICdDYW5jZWxsZWQnKTtcbiAgICAgIFxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignW1Nob3dDb25maXJtRGlhbG9nXSBFcnJvciBzaG93aW5nIGRpYWxvZzonLCBlcnIpO1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHtcbiAgICAgICAgcmVzdWx0OiBmYWxzZSxcbiAgICAgICAgYWN0aW9uOiAnZXJyb3InXG4gICAgICB9LCAnQ2FuY2VsbGVkJyk7XG4gICAgfVxuICB9XG59XG5cbiJdfQ==","import { inject } from '@angular/core';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Activity } from '../activity.types';\n/**\n * Show Alert Dialog Activity - Displays alert dialog to user.\n *\n * Has one outcome:\n * - 'Done': User clicked OK\n *\n * Usage:\n * ```typescript\n * const dialog = new ShowAlertDialog();\n * await dialog.execute({\n * title: 'Alert',\n * message: 'This is an alert',\n * color: 'info'\n * });\n * ```\n */\nexport class ShowAlertDialog extends Activity {\n //#endregion\n constructor() {\n super('ShowAlertDialog');\n //#region ---- Services & Dependencies ----\n this.dialogService = inject(AXDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(input) {\n const { title = '', message = '', color = 'primary' } = input;\n // Translate title and message only if they start with '@' (translation key)\n // Otherwise use the text as-is\n const translatedTitle = title\n ? (title.startsWith('@')\n ? await this.translationService.translateAsync(title) || title\n : title)\n : '';\n const translatedMessage = message\n ? (message.startsWith('@')\n ? await this.translationService.translateAsync(message) || message\n : message)\n : '';\n try {\n await this.dialogService.alert(translatedTitle, translatedMessage, color);\n return this.createResult({\n result: true,\n action: 'ok'\n }, 'Done');\n }\n catch (err) {\n console.error('[ShowAlertDialog] Error showing dialog:', err);\n return this.createResult({\n result: false,\n action: 'error'\n }, 'Done');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1hbGVydC1kaWFsb2cuYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvc2hvdy1hbGVydC1kaWFsb2cuYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sT0FBTyxlQUFnQixTQUFRLFFBT25DO0lBTUEsWUFBWTtJQUVaO1FBQ0UsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFSM0IsK0NBQStDO1FBRTlCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBTW5FLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBSWI7UUFJQyxNQUFNLEVBQ0osS0FBSyxHQUFHLEVBQUUsRUFDVixPQUFPLEdBQUcsRUFBRSxFQUNaLEtBQUssR0FBRyxTQUFTLEVBQ2xCLEdBQUcsS0FBSyxDQUFDO1FBRVYsNEVBQTRFO1FBQzVFLCtCQUErQjtRQUMvQixNQUFNLGVBQWUsR0FBRyxLQUFLO1lBQzNCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2dCQUNwQixDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUs7Z0JBQzlELENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDWixDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1AsTUFBTSxpQkFBaUIsR0FBRyxPQUFPO1lBQy9CLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2dCQUN0QixDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU87Z0JBQ2xFLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDZCxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRVAsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFMUUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN2QixNQUFNLEVBQUUsSUFBSTtnQkFDWixNQUFNLEVBQUUsSUFBSTthQUNiLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFYixDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMseUNBQXlDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDOUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN2QixNQUFNLEVBQUUsS0FBSztnQkFDYixNQUFNLEVBQUUsT0FBTzthQUNoQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2IsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWFN0eWxlQ29sb3JUeXBlIH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHkudHlwZXMnO1xuXG4vKipcbiAqIFNob3cgQWxlcnQgRGlhbG9nIEFjdGl2aXR5IC0gRGlzcGxheXMgYWxlcnQgZGlhbG9nIHRvIHVzZXIuXG4gKiBcbiAqIEhhcyBvbmUgb3V0Y29tZTpcbiAqIC0gJ0RvbmUnOiBVc2VyIGNsaWNrZWQgT0tcbiAqIFxuICogVXNhZ2U6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBkaWFsb2cgPSBuZXcgU2hvd0FsZXJ0RGlhbG9nKCk7XG4gKiBhd2FpdCBkaWFsb2cuZXhlY3V0ZSh7XG4gKiAgIHRpdGxlOiAnQWxlcnQnLFxuICogICBtZXNzYWdlOiAnVGhpcyBpcyBhbiBhbGVydCcsXG4gKiAgIGNvbG9yOiAnaW5mbydcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBTaG93QWxlcnREaWFsb2cgZXh0ZW5kcyBBY3Rpdml0eTx7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBjb2xvcj86IEFYU3R5bGVDb2xvclR5cGU7XG59LCB7XG4gIHJlc3VsdDogYm9vbGVhbjtcbiAgYWN0aW9uOiBzdHJpbmc7XG59PiB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgU2VydmljZXMgJiBEZXBlbmRlbmNpZXMgICAtLS0tXG5cbiAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICAvLyNlbmRyZWdpb25cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignU2hvd0FsZXJ0RGlhbG9nJyk7XG4gIH1cblxuICBhc3luYyBleGVjdXRlKGlucHV0OiB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgbWVzc2FnZT86IHN0cmluZztcbiAgICBjb2xvcj86IEFYU3R5bGVDb2xvclR5cGU7XG4gIH0pOiBQcm9taXNlPHsgXG4gICAgb3V0cHV0OiB7IHJlc3VsdDogYm9vbGVhbjsgYWN0aW9uOiBzdHJpbmcgfTsgXG4gICAgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gXG4gIH0+IHtcbiAgICBjb25zdCB7XG4gICAgICB0aXRsZSA9ICcnLFxuICAgICAgbWVzc2FnZSA9ICcnLFxuICAgICAgY29sb3IgPSAncHJpbWFyeSdcbiAgICB9ID0gaW5wdXQ7XG5cbiAgICAvLyBUcmFuc2xhdGUgdGl0bGUgYW5kIG1lc3NhZ2Ugb25seSBpZiB0aGV5IHN0YXJ0IHdpdGggJ0AnICh0cmFuc2xhdGlvbiBrZXkpXG4gICAgLy8gT3RoZXJ3aXNlIHVzZSB0aGUgdGV4dCBhcy1pc1xuICAgIGNvbnN0IHRyYW5zbGF0ZWRUaXRsZSA9IHRpdGxlIFxuICAgICAgPyAodGl0bGUuc3RhcnRzV2l0aCgnQCcpIFxuICAgICAgICAgID8gYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmModGl0bGUpIHx8IHRpdGxlXG4gICAgICAgICAgOiB0aXRsZSlcbiAgICAgIDogJyc7XG4gICAgY29uc3QgdHJhbnNsYXRlZE1lc3NhZ2UgPSBtZXNzYWdlIFxuICAgICAgPyAobWVzc2FnZS5zdGFydHNXaXRoKCdAJykgXG4gICAgICAgICAgPyBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYyhtZXNzYWdlKSB8fCBtZXNzYWdlXG4gICAgICAgICAgOiBtZXNzYWdlKVxuICAgICAgOiAnJztcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuYWxlcnQodHJhbnNsYXRlZFRpdGxlLCB0cmFuc2xhdGVkTWVzc2FnZSwgY29sb3IpO1xuXG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQoe1xuICAgICAgICByZXN1bHQ6IHRydWUsXG4gICAgICAgIGFjdGlvbjogJ29rJ1xuICAgICAgfSwgJ0RvbmUnKTtcbiAgICAgIFxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignW1Nob3dBbGVydERpYWxvZ10gRXJyb3Igc2hvd2luZyBkaWFsb2c6JywgZXJyKTtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlc3VsdCh7XG4gICAgICAgIHJlc3VsdDogZmFsc2UsXG4gICAgICAgIGFjdGlvbjogJ2Vycm9yJ1xuICAgICAgfSwgJ0RvbmUnKTtcbiAgICB9XG4gIH1cbn1cblxuIl19","import { inject } from '@angular/core';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Activity } from '../activity.types';\n/**\n * Show Toast Activity - Displays toast notification to user.\n *\n * Usage:\n * ```typescript\n * const toast = new ShowToast();\n * await toast.execute({\n * color: 'success',\n * title: 'Success',\n * message: 'Operation completed successfully!'\n * });\n * ```\n */\nexport class ShowToast extends Activity {\n constructor() {\n super('ShowToast');\n this.toastService = inject(AXToastService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(input) {\n const { color = 'primary', title = '', message = '', duration = 3000 } = input;\n // Translate title and message only if they start with '@' (translation key)\n // Otherwise use the text as-is\n const translatedTitle = title\n ? (title.startsWith('@')\n ? await this.translationService.translateAsync(title) || title\n : title)\n : '';\n const translatedMessage = message\n ? (message.startsWith('@')\n ? await this.translationService.translateAsync(message) || message\n : message)\n : '';\n try {\n await this.toastService.show({\n color: color,\n title: translatedTitle,\n content: translatedMessage,\n closeButton: true,\n timeOut: duration,\n timeOutProgress: true,\n });\n return this.createResult(undefined, 'Done');\n }\n catch (err) {\n console.error('[ShowToast] Error showing toast:', err);\n return this.createResult(undefined, 'Error');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy10b2FzdC5hY3Rpdml0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi9lbmdpbmUvYWN0aXZpdGllcy9zaG93LXRvYXN0LmFjdGl2aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3Qzs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLE9BQU8sU0FBVSxTQUFRLFFBS3ZCO0lBSU47UUFDRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFKSixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUluRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUtiO1FBQ0MsTUFBTSxFQUNKLEtBQUssR0FBRyxTQUFTLEVBQ2pCLEtBQUssR0FBRyxFQUFFLEVBQ1YsT0FBTyxHQUFHLEVBQUUsRUFDWixRQUFRLEdBQUcsSUFBSSxFQUNoQixHQUFHLEtBQUssQ0FBQztRQUVWLDRFQUE0RTtRQUM1RSwrQkFBK0I7UUFDL0IsTUFBTSxlQUFlLEdBQUcsS0FBSztZQUMzQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLO2dCQUM5RCxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ1osQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNQLE1BQU0saUJBQWlCLEdBQUcsT0FBTztZQUMvQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFDdEIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPO2dCQUNsRSxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ2QsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQzNCLEtBQUssRUFBRSxLQUFLO2dCQUNaLEtBQUssRUFBRSxlQUFlO2dCQUN0QixPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsSUFBSTtnQkFDakIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLGVBQWUsRUFBRSxJQUFJO2FBQ3RCLENBQUMsQ0FBQztZQUVILE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFOUMsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9hc3QnO1xuaW1wb3J0IHsgQVhTdHlsZUNvbG9yVHlwZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5LnR5cGVzJztcblxuLyoqXG4gKiBTaG93IFRvYXN0IEFjdGl2aXR5IC0gRGlzcGxheXMgdG9hc3Qgbm90aWZpY2F0aW9uIHRvIHVzZXIuXG4gKiBcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdG9hc3QgPSBuZXcgU2hvd1RvYXN0KCk7XG4gKiBhd2FpdCB0b2FzdC5leGVjdXRlKHtcbiAqICAgY29sb3I6ICdzdWNjZXNzJyxcbiAqICAgdGl0bGU6ICdTdWNjZXNzJyxcbiAqICAgbWVzc2FnZTogJ09wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5ISdcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBTaG93VG9hc3QgZXh0ZW5kcyBBY3Rpdml0eTx7XG4gIGNvbG9yPzogQVhTdHlsZUNvbG9yVHlwZTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xufSwgdm9pZD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0U2VydmljZSA9IGluamVjdChBWFRvYXN0U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignU2hvd1RvYXN0Jyk7XG4gIH1cblxuICBhc3luYyBleGVjdXRlKGlucHV0OiB7XG4gICAgY29sb3I/OiBBWFN0eWxlQ29sb3JUeXBlO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgZHVyYXRpb24/OiBudW1iZXI7XG4gIH0pOiBQcm9taXNlPHsgb3V0cHV0OiB2b2lkOyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9PiB7XG4gICAgY29uc3Qge1xuICAgICAgY29sb3IgPSAncHJpbWFyeScsXG4gICAgICB0aXRsZSA9ICcnLFxuICAgICAgbWVzc2FnZSA9ICcnLFxuICAgICAgZHVyYXRpb24gPSAzMDAwXG4gICAgfSA9IGlucHV0O1xuXG4gICAgLy8gVHJhbnNsYXRlIHRpdGxlIGFuZCBtZXNzYWdlIG9ubHkgaWYgdGhleSBzdGFydCB3aXRoICdAJyAodHJhbnNsYXRpb24ga2V5KVxuICAgIC8vIE90aGVyd2lzZSB1c2UgdGhlIHRleHQgYXMtaXNcbiAgICBjb25zdCB0cmFuc2xhdGVkVGl0bGUgPSB0aXRsZSBcbiAgICAgID8gKHRpdGxlLnN0YXJ0c1dpdGgoJ0AnKSBcbiAgICAgICAgICA/IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKHRpdGxlKSB8fCB0aXRsZVxuICAgICAgICAgIDogdGl0bGUpXG4gICAgICA6ICcnO1xuICAgIGNvbnN0IHRyYW5zbGF0ZWRNZXNzYWdlID0gbWVzc2FnZSBcbiAgICAgID8gKG1lc3NhZ2Uuc3RhcnRzV2l0aCgnQCcpIFxuICAgICAgICAgID8gYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMobWVzc2FnZSkgfHwgbWVzc2FnZVxuICAgICAgICAgIDogbWVzc2FnZSlcbiAgICAgIDogJyc7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIGNvbG9yOiBjb2xvcixcbiAgICAgICAgdGl0bGU6IHRyYW5zbGF0ZWRUaXRsZSxcbiAgICAgICAgY29udGVudDogdHJhbnNsYXRlZE1lc3NhZ2UsXG4gICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICB0aW1lT3V0OiBkdXJhdGlvbixcbiAgICAgICAgdGltZU91dFByb2dyZXNzOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICBcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlc3VsdCh1bmRlZmluZWQsICdEb25lJyk7XG4gICAgICBcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tTaG93VG9hc3RdIEVycm9yIHNob3dpbmcgdG9hc3Q6JywgZXJyKTtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlc3VsdCh1bmRlZmluZWQsICdFcnJvcicpO1xuICAgIH1cbiAgfVxufSJdfQ==","import { inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Activity } from '../activity.types';\n/**\n * Navigate Activity - Navigates to different pages/routes.\n *\n * Usage:\n * ```typescript\n * const navigate = new Navigate();\n * await navigate.execute({\n * mode: 'route',\n * route: '/users',\n * params: { id: '123' }\n * });\n * ```\n */\nexport class Navigate extends Activity {\n constructor() {\n super('Navigate');\n this.router = inject(Router);\n }\n async execute(input) {\n const { mode = 'route', route = '', params = {}, queryParams = {}, entity = '', entityId = '', url = '' } = input;\n try {\n switch (mode) {\n case 'route':\n await this.router.navigate([route], { queryParams });\n break;\n case 'entity-details':\n const detailsRoute = `/entities/${entity}/details/${entityId}`;\n await this.router.navigate([detailsRoute], { queryParams });\n break;\n case 'entity-list':\n const listRoute = `/entities/${entity}`;\n await this.router.navigate([listRoute], { queryParams });\n break;\n case 'external':\n if (url) {\n window.open(url, '_blank');\n }\n break;\n default:\n console.error(`[Navigate] Unknown navigation mode: ${mode}`);\n return this.createResult(undefined, 'Error');\n }\n return this.createResult(undefined, 'Done');\n }\n catch (err) {\n console.error('[Navigate] Error navigating:', err);\n return this.createResult(undefined, 'Error');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGUuYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvbmF2aWdhdGUuYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsUUFRdEI7SUFHTjtRQUNFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUhILFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFJekMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FRYjtRQUNDLE1BQU0sRUFDSixJQUFJLEdBQUcsT0FBTyxFQUNkLEtBQUssR0FBRyxFQUFFLEVBQ1YsTUFBTSxHQUFHLEVBQUUsRUFDWCxXQUFXLEdBQUcsRUFBRSxFQUNoQixNQUFNLEdBQUcsRUFBRSxFQUNYLFFBQVEsR0FBRyxFQUFFLEVBQ2IsR0FBRyxHQUFHLEVBQUUsRUFDVCxHQUFHLEtBQUssQ0FBQztRQUVWLElBQUksQ0FBQztZQUNILFFBQVEsSUFBSSxFQUFFLENBQUM7Z0JBQ2IsS0FBSyxPQUFPO29CQUNWLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7b0JBQ3JELE1BQU07Z0JBRVIsS0FBSyxnQkFBZ0I7b0JBQ25CLE1BQU0sWUFBWSxHQUFHLGFBQWEsTUFBTSxZQUFZLFFBQVEsRUFBRSxDQUFDO29CQUMvRCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO29CQUM1RCxNQUFNO2dCQUVSLEtBQUssYUFBYTtvQkFDaEIsTUFBTSxTQUFTLEdBQUcsYUFBYSxNQUFNLEVBQUUsQ0FBQztvQkFDeEMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztvQkFDekQsTUFBTTtnQkFFUixLQUFLLFVBQVU7b0JBQ2IsSUFBSSxHQUFHLEVBQUUsQ0FBQzt3QkFDUixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDN0IsQ0FBQztvQkFDRCxNQUFNO2dCQUVSO29CQUNFLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQzdELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDakQsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFOUMsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHkudHlwZXMnO1xuXG4vKipcbiAqIE5hdmlnYXRlIEFjdGl2aXR5IC0gTmF2aWdhdGVzIHRvIGRpZmZlcmVudCBwYWdlcy9yb3V0ZXMuXG4gKiBcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmF2aWdhdGUgPSBuZXcgTmF2aWdhdGUoKTtcbiAqIGF3YWl0IG5hdmlnYXRlLmV4ZWN1dGUoe1xuICogICBtb2RlOiAncm91dGUnLFxuICogICByb3V0ZTogJy91c2VycycsXG4gKiAgIHBhcmFtczogeyBpZDogJzEyMycgfVxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIE5hdmlnYXRlIGV4dGVuZHMgQWN0aXZpdHk8e1xuICBtb2RlPzogJ3JvdXRlJyB8ICdlbnRpdHktZGV0YWlscycgfCAnZW50aXR5LWxpc3QnIHwgJ2V4dGVybmFsJztcbiAgcm91dGU/OiBzdHJpbmc7XG4gIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHF1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgZW50aXR5Pzogc3RyaW5nO1xuICBlbnRpdHlJZD86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xufSwgdm9pZD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdOYXZpZ2F0ZScpO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZShpbnB1dDoge1xuICAgIG1vZGU/OiAncm91dGUnIHwgJ2VudGl0eS1kZXRhaWxzJyB8ICdlbnRpdHktbGlzdCcgfCAnZXh0ZXJuYWwnO1xuICAgIHJvdXRlPzogc3RyaW5nO1xuICAgIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgcXVlcnlQYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGVudGl0eT86IHN0cmluZztcbiAgICBlbnRpdHlJZD86IHN0cmluZztcbiAgICB1cmw/OiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPHsgb3V0cHV0OiB2b2lkOyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9PiB7XG4gICAgY29uc3Qge1xuICAgICAgbW9kZSA9ICdyb3V0ZScsXG4gICAgICByb3V0ZSA9ICcnLFxuICAgICAgcGFyYW1zID0ge30sXG4gICAgICBxdWVyeVBhcmFtcyA9IHt9LFxuICAgICAgZW50aXR5ID0gJycsXG4gICAgICBlbnRpdHlJZCA9ICcnLFxuICAgICAgdXJsID0gJydcbiAgICB9ID0gaW5wdXQ7XG5cbiAgICB0cnkge1xuICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgIGNhc2UgJ3JvdXRlJzpcbiAgICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcm91dGVdLCB7IHF1ZXJ5UGFyYW1zIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBcbiAgICAgICAgY2FzZSAnZW50aXR5LWRldGFpbHMnOlxuICAgICAgICAgIGNvbnN0IGRldGFpbHNSb3V0ZSA9IGAvZW50aXRpZXMvJHtlbnRpdHl9L2RldGFpbHMvJHtlbnRpdHlJZH1gO1xuICAgICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFtkZXRhaWxzUm91dGVdLCB7IHF1ZXJ5UGFyYW1zIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBcbiAgICAgICAgY2FzZSAnZW50aXR5LWxpc3QnOlxuICAgICAgICAgIGNvbnN0IGxpc3RSb3V0ZSA9IGAvZW50aXRpZXMvJHtlbnRpdHl9YDtcbiAgICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbbGlzdFJvdXRlXSwgeyBxdWVyeVBhcmFtcyB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgXG4gICAgICAgIGNhc2UgJ2V4dGVybmFsJzpcbiAgICAgICAgICBpZiAodXJsKSB7XG4gICAgICAgICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIFxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFtOYXZpZ2F0ZV0gVW5rbm93biBuYXZpZ2F0aW9uIG1vZGU6ICR7bW9kZX1gKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQodW5kZWZpbmVkLCAnRXJyb3InKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHVuZGVmaW5lZCwgJ0RvbmUnKTtcbiAgICAgIFxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignW05hdmlnYXRlXSBFcnJvciBuYXZpZ2F0aW5nOicsIGVycik7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQodW5kZWZpbmVkLCAnRXJyb3InKTtcbiAgICB9XG4gIH1cbn0iXX0=","import { Activity } from '../activity.types';\n/**\n * Set Variable Activity - Sets a variable value in workflow context.\n *\n * Usage:\n * ```typescript\n * const setVar = new SetVariable();\n * await setVar.execute({\n * variableName: 'userId',\n * value: '12345'\n * });\n * ```\n */\nexport class SetVariable extends Activity {\n constructor() {\n super('workflow-activity:set-variable', 'Set Variable');\n }\n async execute(input) {\n const { variableName, value } = input;\n try {\n // In a real implementation, this would set the variable in workflow context\n // For now, we'll just log it\n console.log(`[SetVariable] Setting ${variableName} = ${JSON.stringify(value)}`);\n return this.createResult(undefined, 'Done');\n }\n catch (err) {\n console.error('[SetVariable] Error setting variable:', err);\n return this.createResult(undefined, 'Error');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LXZhcmlhYmxlLmFjdGl2aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2VuZ2luZS9hY3Rpdml0aWVzL3NldC12YXJpYWJsZS5hY3Rpdml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFN0M7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sV0FBWSxTQUFRLFFBR3pCO0lBQ047UUFDRSxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FHYjtRQUNDLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXRDLElBQUksQ0FBQztZQUNILDRFQUE0RTtZQUM1RSw2QkFBNkI7WUFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsWUFBWSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRWhGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFOUMsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHkudHlwZXMnO1xuXG4vKipcbiAqIFNldCBWYXJpYWJsZSBBY3Rpdml0eSAtIFNldHMgYSB2YXJpYWJsZSB2YWx1ZSBpbiB3b3JrZmxvdyBjb250ZXh0LlxuICogXG4gKiBVc2FnZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNldFZhciA9IG5ldyBTZXRWYXJpYWJsZSgpO1xuICogYXdhaXQgc2V0VmFyLmV4ZWN1dGUoe1xuICogICB2YXJpYWJsZU5hbWU6ICd1c2VySWQnLFxuICogICB2YWx1ZTogJzEyMzQ1J1xuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFNldFZhcmlhYmxlIGV4dGVuZHMgQWN0aXZpdHk8e1xuICB2YXJpYWJsZU5hbWU6IHN0cmluZztcbiAgdmFsdWU6IGFueTtcbn0sIHZvaWQ+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ3dvcmtmbG93LWFjdGl2aXR5OnNldC12YXJpYWJsZScsICdTZXQgVmFyaWFibGUnKTtcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGUoaW5wdXQ6IHtcbiAgICB2YXJpYWJsZU5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogYW55O1xuICB9KTogUHJvbWlzZTx7IG91dHB1dDogdm9pZDsgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfT4ge1xuICAgIGNvbnN0IHsgdmFyaWFibGVOYW1lLCB2YWx1ZSB9ID0gaW5wdXQ7XG5cbiAgICB0cnkge1xuICAgICAgLy8gSW4gYSByZWFsIGltcGxlbWVudGF0aW9uLCB0aGlzIHdvdWxkIHNldCB0aGUgdmFyaWFibGUgaW4gd29ya2Zsb3cgY29udGV4dFxuICAgICAgLy8gRm9yIG5vdywgd2UnbGwganVzdCBsb2cgaXRcbiAgICAgIGNvbnNvbGUubG9nKGBbU2V0VmFyaWFibGVdIFNldHRpbmcgJHt2YXJpYWJsZU5hbWV9ID0gJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9YCk7XG4gICAgICBcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlc3VsdCh1bmRlZmluZWQsICdEb25lJyk7XG4gICAgICBcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tTZXRWYXJpYWJsZV0gRXJyb3Igc2V0dGluZyB2YXJpYWJsZTonLCBlcnIpO1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHVuZGVmaW5lZCwgJ0Vycm9yJyk7XG4gICAgfVxuICB9XG59Il19","import { Activity } from '../activity.types';\n/**\n * Dispatch Event Activity - Dispatches an event to the system.\n *\n * Usage:\n * ```typescript\n * const dispatch = new DispatchEvent();\n * await dispatch.execute({\n * eventName: 'user-created',\n * eventData: { userId: '123', name: 'John' }\n * });\n * ```\n */\nexport class DispatchEvent extends Activity {\n constructor() {\n super('DispatchEvent');\n }\n async execute(input) {\n const { eventName, eventData } = input;\n try {\n // In a real implementation, this would dispatch the event through an event bus\n // For now, we'll just log it\n console.log(`[DispatchEvent] Dispatching event: ${eventName}`, eventData);\n return this.createResult(undefined, 'Done');\n }\n catch (err) {\n console.error('[DispatchEvent] Error dispatching event:', err);\n return this.createResult(undefined, 'Error');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2gtZXZlbnQuYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvZGlzcGF0Y2gtZXZlbnQuYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxPQUFPLGFBQWMsU0FBUSxRQUczQjtJQUNOO1FBQ0UsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBR2I7UUFDQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUV2QyxJQUFJLENBQUM7WUFDSCwrRUFBK0U7WUFDL0UsNkJBQTZCO1lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0NBQXNDLFNBQVMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRTFFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFOUMsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHkudHlwZXMnO1xuXG4vKipcbiAqIERpc3BhdGNoIEV2ZW50IEFjdGl2aXR5IC0gRGlzcGF0Y2hlcyBhbiBldmVudCB0byB0aGUgc3lzdGVtLlxuICogXG4gKiBVc2FnZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGRpc3BhdGNoID0gbmV3IERpc3BhdGNoRXZlbnQoKTtcbiAqIGF3YWl0IGRpc3BhdGNoLmV4ZWN1dGUoe1xuICogICBldmVudE5hbWU6ICd1c2VyLWNyZWF0ZWQnLFxuICogICBldmVudERhdGE6IHsgdXNlcklkOiAnMTIzJywgbmFtZTogJ0pvaG4nIH1cbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBEaXNwYXRjaEV2ZW50IGV4dGVuZHMgQWN0aXZpdHk8e1xuICBldmVudE5hbWU6IHN0cmluZztcbiAgZXZlbnREYXRhPzogYW55O1xufSwgdm9pZD4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignRGlzcGF0Y2hFdmVudCcpO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZShpbnB1dDoge1xuICAgIGV2ZW50TmFtZTogc3RyaW5nO1xuICAgIGV2ZW50RGF0YT86IGFueTtcbiAgfSk6IFByb21pc2U8eyBvdXRwdXQ6IHZvaWQ7IG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0+IHtcbiAgICBjb25zdCB7IGV2ZW50TmFtZSwgZXZlbnREYXRhIH0gPSBpbnB1dDtcblxuICAgIHRyeSB7XG4gICAgICAvLyBJbiBhIHJlYWwgaW1wbGVtZW50YXRpb24sIHRoaXMgd291bGQgZGlzcGF0Y2ggdGhlIGV2ZW50IHRocm91Z2ggYW4gZXZlbnQgYnVzXG4gICAgICAvLyBGb3Igbm93LCB3ZSdsbCBqdXN0IGxvZyBpdFxuICAgICAgY29uc29sZS5sb2coYFtEaXNwYXRjaEV2ZW50XSBEaXNwYXRjaGluZyBldmVudDogJHtldmVudE5hbWV9YCwgZXZlbnREYXRhKTtcbiAgICAgIFxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHVuZGVmaW5lZCwgJ0RvbmUnKTtcbiAgICAgIFxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignW0Rpc3BhdGNoRXZlbnRdIEVycm9yIGRpc3BhdGNoaW5nIGV2ZW50OicsIGVycik7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQodW5kZWZpbmVkLCAnRXJyb3InKTtcbiAgICB9XG4gIH1cbn0iXX0=","import { Activity } from '../activity.types';\n/**\n * If Activity - Conditional execution based on a condition.\n *\n * Usage:\n * ```typescript\n * const ifActivity = new If();\n * ifActivity.condition = '{{user.isAdmin}}';\n * ifActivity.thenActivities = [activity1, activity2];\n * ifActivity.elseActivities = [activity3];\n * ```\n */\nexport class If extends Activity {\n constructor() {\n super('If');\n }\n async execute(input) {\n const { condition, thenActivities = [], elseActivities = [] } = input;\n try {\n // Evaluate condition (simplified - in real implementation, use expression evaluator)\n const conditionResult = this.evaluateCondition(condition);\n let result;\n let activities;\n if (conditionResult) {\n activities = thenActivities;\n result = { branch: 'then' };\n }\n else {\n activities = elseActivities;\n result = { branch: 'else' };\n }\n // Execute activities in the chosen branch\n for (const activity of activities) {\n await activity.execute(input);\n }\n return this.createResult(result, conditionResult ? 'Then' : 'Else');\n }\n catch (err) {\n console.error('[If] Error evaluating condition:', err);\n return this.createResult({ branch: 'error' }, 'Error');\n }\n }\n evaluateCondition(condition) {\n if (typeof condition === 'boolean') {\n return condition;\n }\n if (typeof condition === 'string') {\n // Simple evaluation - in real implementation, use proper expression evaluator\n return condition === 'true' || condition === '1' || condition === 'yes';\n }\n return false;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYuYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvaWYuYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBRXhEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQU8sRUFBRyxTQUFRLFFBSWpCO0lBQ0w7UUFDRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUliO1FBQ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxjQUFjLEdBQUcsRUFBRSxFQUFFLGNBQWMsR0FBRyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFdEUsSUFBSSxDQUFDO1lBQ0gscUZBQXFGO1lBQ3JGLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUUxRCxJQUFJLE1BQVcsQ0FBQztZQUNoQixJQUFJLFVBQXVCLENBQUM7WUFFNUIsSUFBSSxlQUFlLEVBQUUsQ0FBQztnQkFDcEIsVUFBVSxHQUFHLGNBQWMsQ0FBQztnQkFDNUIsTUFBTSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzlCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixVQUFVLEdBQUcsY0FBYyxDQUFDO2dCQUM1QixNQUFNLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDOUIsQ0FBQztZQUVELDBDQUEwQztZQUMxQyxLQUFLLE1BQU0sUUFBUSxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRFLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxTQUEyQjtRQUNuRCxJQUFJLE9BQU8sU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25DLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLDhFQUE4RTtZQUM5RSxPQUFPLFNBQVMsS0FBSyxNQUFNLElBQUksU0FBUyxLQUFLLEdBQUcsSUFBSSxTQUFTLEtBQUssS0FBSyxDQUFDO1FBQzFFLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2aXR5LCBJQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eS50eXBlcyc7XG5cbi8qKlxuICogSWYgQWN0aXZpdHkgLSBDb25kaXRpb25hbCBleGVjdXRpb24gYmFzZWQgb24gYSBjb25kaXRpb24uXG4gKiBcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaWZBY3Rpdml0eSA9IG5ldyBJZigpO1xuICogaWZBY3Rpdml0eS5jb25kaXRpb24gPSAne3t1c2VyLmlzQWRtaW59fSc7XG4gKiBpZkFjdGl2aXR5LnRoZW5BY3Rpdml0aWVzID0gW2FjdGl2aXR5MSwgYWN0aXZpdHkyXTtcbiAqIGlmQWN0aXZpdHkuZWxzZUFjdGl2aXRpZXMgPSBbYWN0aXZpdHkzXTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgSWYgZXh0ZW5kcyBBY3Rpdml0eTx7XG4gIGNvbmRpdGlvbjogc3RyaW5nIHwgYm9vbGVhbjtcbiAgdGhlbkFjdGl2aXRpZXM/OiBJQWN0aXZpdHlbXTtcbiAgZWxzZUFjdGl2aXRpZXM/OiBJQWN0aXZpdHlbXTtcbn0sIGFueT4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignSWYnKTtcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGUoaW5wdXQ6IHtcbiAgICBjb25kaXRpb246IHN0cmluZyB8IGJvb2xlYW47XG4gICAgdGhlbkFjdGl2aXRpZXM/OiBJQWN0aXZpdHlbXTtcbiAgICBlbHNlQWN0aXZpdGllcz86IElBY3Rpdml0eVtdO1xuICB9KTogUHJvbWlzZTx7IG91dHB1dDogYW55OyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9PiB7XG4gICAgY29uc3QgeyBjb25kaXRpb24sIHRoZW5BY3Rpdml0aWVzID0gW10sIGVsc2VBY3Rpdml0aWVzID0gW10gfSA9IGlucHV0O1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIEV2YWx1YXRlIGNvbmRpdGlvbiAoc2ltcGxpZmllZCAtIGluIHJlYWwgaW1wbGVtZW50YXRpb24sIHVzZSBleHByZXNzaW9uIGV2YWx1YXRvcilcbiAgICAgIGNvbnN0IGNvbmRpdGlvblJlc3VsdCA9IHRoaXMuZXZhbHVhdGVDb25kaXRpb24oY29uZGl0aW9uKTtcbiAgICAgIFxuICAgICAgbGV0IHJlc3VsdDogYW55O1xuICAgICAgbGV0IGFjdGl2aXRpZXM6IElBY3Rpdml0eVtdO1xuXG4gICAgICBpZiAoY29uZGl0aW9uUmVzdWx0KSB7XG4gICAgICAgIGFjdGl2aXRpZXMgPSB0aGVuQWN0aXZpdGllcztcbiAgICAgICAgcmVzdWx0ID0geyBicmFuY2g6ICd0aGVuJyB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWN0aXZpdGllcyA9IGVsc2VBY3Rpdml0aWVzO1xuICAgICAgICByZXN1bHQgPSB7IGJyYW5jaDogJ2Vsc2UnIH07XG4gICAgICB9XG5cbiAgICAgIC8vIEV4ZWN1dGUgYWN0aXZpdGllcyBpbiB0aGUgY2hvc2VuIGJyYW5jaFxuICAgICAgZm9yIChjb25zdCBhY3Rpdml0eSBvZiBhY3Rpdml0aWVzKSB7XG4gICAgICAgIGF3YWl0IGFjdGl2aXR5LmV4ZWN1dGUoaW5wdXQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQocmVzdWx0LCBjb25kaXRpb25SZXN1bHQgPyAnVGhlbicgOiAnRWxzZScpO1xuICAgICAgXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbSWZdIEVycm9yIGV2YWx1YXRpbmcgY29uZGl0aW9uOicsIGVycik7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQoeyBicmFuY2g6ICdlcnJvcicgfSwgJ0Vycm9yJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBldmFsdWF0ZUNvbmRpdGlvbihjb25kaXRpb246IHN0cmluZyB8IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBpZiAodHlwZW9mIGNvbmRpdGlvbiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICByZXR1cm4gY29uZGl0aW9uO1xuICAgIH1cbiAgICBcbiAgICBpZiAodHlwZW9mIGNvbmRpdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFNpbXBsZSBldmFsdWF0aW9uIC0gaW4gcmVhbCBpbXBsZW1lbnRhdGlvbiwgdXNlIHByb3BlciBleHByZXNzaW9uIGV2YWx1YXRvclxuICAgICAgcmV0dXJuIGNvbmRpdGlvbiA9PT0gJ3RydWUnIHx8IGNvbmRpdGlvbiA9PT0gJzEnIHx8IGNvbmRpdGlvbiA9PT0gJ3llcyc7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufSJdfQ==","import { Activity } from '../activity.types';\n/**\n * While Activity - Loop execution while condition is true.\n *\n * Usage:\n * ```typescript\n * const whileActivity = new While();\n * whileActivity.condition = '{{counter < 10}}';\n * whileActivity.activities = [incrementActivity, logActivity];\n * ```\n */\nexport class While extends Activity {\n constructor() {\n super('While');\n }\n async execute(input) {\n const { condition, activities = [], maxIterations = 1000 } = input;\n try {\n let iteration = 0;\n let conditionResult = this.evaluateCondition(condition);\n while (conditionResult && iteration < maxIterations) {\n // Execute activities in the loop\n for (const activity of activities) {\n await activity.execute(input);\n }\n iteration++;\n conditionResult = this.evaluateCondition(condition);\n }\n const result = {\n iterations: iteration,\n completed: iteration < maxIterations\n };\n return this.createResult(result, 'Done');\n }\n catch (err) {\n console.error('[While] Error in loop execution:', err);\n return this.createResult({ iterations: 0, completed: false }, 'Error');\n }\n }\n evaluateCondition(condition) {\n if (typeof condition === 'boolean') {\n return condition;\n }\n if (typeof condition === 'string') {\n // Simple evaluation - in real implementation, use proper expression evaluator\n return condition === 'true' || condition === '1' || condition === 'yes';\n }\n return false;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hpbGUuYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvd2hpbGUuYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBRXhEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sT0FBTyxLQUFNLFNBQVEsUUFJcEI7SUFDTDtRQUNFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUliO1FBQ0MsTUFBTSxFQUNKLFNBQVMsRUFDVCxVQUFVLEdBQUcsRUFBRSxFQUNmLGFBQWEsR0FBRyxJQUFJLEVBQ3JCLEdBQUcsS0FBSyxDQUFDO1FBRVYsSUFBSSxDQUFDO1lBQ0gsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV4RCxPQUFPLGVBQWUsSUFBSSxTQUFTLEdBQUcsYUFBYSxFQUFFLENBQUM7Z0JBQ3BELGlDQUFpQztnQkFDakMsS0FBSyxNQUFNLFFBQVEsSUFBSSxVQUFVLEVBQUUsQ0FBQztvQkFDbEMsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoQyxDQUFDO2dCQUVELFNBQVMsRUFBRSxDQUFDO2dCQUNaLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsQ0FBQztZQUVELE1BQU0sTUFBTSxHQUFHO2dCQUNiLFVBQVUsRUFBRSxTQUFTO2dCQUNyQixTQUFTLEVBQUUsU0FBUyxHQUFHLGFBQWE7YUFDckMsQ0FBQztZQUVGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFM0MsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3pFLENBQUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsU0FBMkI7UUFDbkQsSUFBSSxPQUFPLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNsQyw4RUFBOEU7WUFDOUUsT0FBTyxTQUFTLEtBQUssTUFBTSxJQUFJLFNBQVMsS0FBSyxHQUFHLElBQUksU0FBUyxLQUFLLEtBQUssQ0FBQztRQUMxRSxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpdml0eSwgSUFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHkudHlwZXMnO1xuXG4vKipcbiAqIFdoaWxlIEFjdGl2aXR5IC0gTG9vcCBleGVjdXRpb24gd2hpbGUgY29uZGl0aW9uIGlzIHRydWUuXG4gKiBcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgd2hpbGVBY3Rpdml0eSA9IG5ldyBXaGlsZSgpO1xuICogd2hpbGVBY3Rpdml0eS5jb25kaXRpb24gPSAne3tjb3VudGVyIDwgMTB9fSc7XG4gKiB3aGlsZUFjdGl2aXR5LmFjdGl2aXRpZXMgPSBbaW5jcmVtZW50QWN0aXZpdHksIGxvZ0FjdGl2aXR5XTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgV2hpbGUgZXh0ZW5kcyBBY3Rpdml0eTx7XG4gIGNvbmRpdGlvbjogc3RyaW5nIHwgYm9vbGVhbjtcbiAgYWN0aXZpdGllcz86IElBY3Rpdml0eVtdO1xuICBtYXhJdGVyYXRpb25zPzogbnVtYmVyO1xufSwgYW55PiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdXaGlsZScpO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZShpbnB1dDoge1xuICAgIGNvbmRpdGlvbjogc3RyaW5nIHwgYm9vbGVhbjtcbiAgICBhY3Rpdml0aWVzPzogSUFjdGl2aXR5W107XG4gICAgbWF4SXRlcmF0aW9ucz86IG51bWJlcjtcbiAgfSk6IFByb21pc2U8eyBvdXRwdXQ6IGFueTsgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfT4ge1xuICAgIGNvbnN0IHsgXG4gICAgICBjb25kaXRpb24sIFxuICAgICAgYWN0aXZpdGllcyA9IFtdLCBcbiAgICAgIG1heEl0ZXJhdGlvbnMgPSAxMDAwIFxuICAgIH0gPSBpbnB1dDtcblxuICAgIHRyeSB7XG4gICAgICBsZXQgaXRlcmF0aW9uID0gMDtcbiAgICAgIGxldCBjb25kaXRpb25SZXN1bHQgPSB0aGlzLmV2YWx1YXRlQ29uZGl0aW9uKGNvbmRpdGlvbik7XG5cbiAgICAgIHdoaWxlIChjb25kaXRpb25SZXN1bHQgJiYgaXRlcmF0aW9uIDwgbWF4SXRlcmF0aW9ucykge1xuICAgICAgICAvLyBFeGVjdXRlIGFjdGl2aXRpZXMgaW4gdGhlIGxvb3BcbiAgICAgICAgZm9yIChjb25zdCBhY3Rpdml0eSBvZiBhY3Rpdml0aWVzKSB7XG4gICAgICAgICAgYXdhaXQgYWN0aXZpdHkuZXhlY3V0ZShpbnB1dCk7XG4gICAgICAgIH1cblxuICAgICAgICBpdGVyYXRpb24rKztcbiAgICAgICAgY29uZGl0aW9uUmVzdWx0ID0gdGhpcy5ldmFsdWF0ZUNvbmRpdGlvbihjb25kaXRpb24pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbixcbiAgICAgICAgY29tcGxldGVkOiBpdGVyYXRpb24gPCBtYXhJdGVyYXRpb25zXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQocmVzdWx0LCAnRG9uZScpO1xuICAgICAgXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbV2hpbGVdIEVycm9yIGluIGxvb3AgZXhlY3V0aW9uOicsIGVycik7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQoeyBpdGVyYXRpb25zOiAwLCBjb21wbGV0ZWQ6IGZhbHNlIH0sICdFcnJvcicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXZhbHVhdGVDb25kaXRpb24oY29uZGl0aW9uOiBzdHJpbmcgfCBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgaWYgKHR5cGVvZiBjb25kaXRpb24gPT09ICdib29sZWFuJykge1xuICAgICAgcmV0dXJuIGNvbmRpdGlvbjtcbiAgICB9XG4gICAgXG4gICAgaWYgKHR5cGVvZiBjb25kaXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBTaW1wbGUgZXZhbHVhdGlvbiAtIGluIHJlYWwgaW1wbGVtZW50YXRpb24sIHVzZSBwcm9wZXIgZXhwcmVzc2lvbiBldmFsdWF0b3JcbiAgICAgIHJldHVybiBjb25kaXRpb24gPT09ICd0cnVlJyB8fCBjb25kaXRpb24gPT09ICcxJyB8fCBjb25kaXRpb24gPT09ICd5ZXMnO1xuICAgIH1cbiAgICBcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn0iXX0=","import { Activity } from '../activity.types';\n/**\n * ForEach Activity - Iterates over a collection of items.\n *\n * Usage:\n * ```typescript\n * const forEach = new ForEach();\n * await forEach.execute({\n * items: ['item1', 'item2', 'item3'],\n * activities: [processItemActivity]\n * });\n * ```\n */\nexport class ForEach extends Activity {\n constructor() {\n super('ForEach');\n }\n async execute(input) {\n const { items = [], activities = [], itemVariableName = 'currentItem', indexVariableName = 'currentIndex' } = input;\n try {\n const results = [];\n for (let index = 0; index < items.length; index++) {\n const currentItem = items[index];\n // Create context with current item and index\n const itemContext = {\n ...input,\n [itemVariableName]: currentItem,\n [indexVariableName]: index\n };\n // Execute activities for current item\n for (const activity of activities) {\n await activity.execute(itemContext);\n }\n results.push({\n item: currentItem,\n index,\n processed: true\n });\n }\n const result = {\n totalItems: items.length,\n processedItems: results.length,\n results\n };\n return this.createResult(result, 'Done');\n }\n catch (err) {\n console.error('[ForEach] Error in iteration:', err);\n return this.createResult({ totalItems: 0, processedItems: 0, results: [] }, 'Error');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLWVhY2guYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvZm9yLWVhY2guYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBRXhEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxPQUFPLE9BQVEsU0FBUSxRQUt0QjtJQUNMO1FBQ0UsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBS2I7UUFDQyxNQUFNLEVBQ0osS0FBSyxHQUFHLEVBQUUsRUFDVixVQUFVLEdBQUcsRUFBRSxFQUNmLGdCQUFnQixHQUFHLGFBQWEsRUFDaEMsaUJBQWlCLEdBQUcsY0FBYyxFQUNuQyxHQUFHLEtBQUssQ0FBQztRQUVWLElBQUksQ0FBQztZQUNILE1BQU0sT0FBTyxHQUFVLEVBQUUsQ0FBQztZQUUxQixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNsRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRWpDLDZDQUE2QztnQkFDN0MsTUFBTSxXQUFXLEdBQUc7b0JBQ2xCLEdBQUcsS0FBSztvQkFDUixDQUFDLGdCQUFnQixDQUFDLEVBQUUsV0FBVztvQkFDL0IsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEtBQUs7aUJBQzNCLENBQUM7Z0JBRUYsc0NBQXNDO2dCQUN0QyxLQUFLLE1BQU0sUUFBUSxJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUNsQyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3RDLENBQUM7Z0JBRUQsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDWCxJQUFJLEVBQUUsV0FBVztvQkFDakIsS0FBSztvQkFDTCxTQUFTLEVBQUUsSUFBSTtpQkFDaEIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELE1BQU0sTUFBTSxHQUFHO2dCQUNiLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTTtnQkFDeEIsY0FBYyxFQUFFLE9BQU8sQ0FBQyxNQUFNO2dCQUM5QixPQUFPO2FBQ1IsQ0FBQztZQUVGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFM0MsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLCtCQUErQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdkYsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2aXR5LCBJQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eS50eXBlcyc7XG5cbi8qKlxuICogRm9yRWFjaCBBY3Rpdml0eSAtIEl0ZXJhdGVzIG92ZXIgYSBjb2xsZWN0aW9uIG9mIGl0ZW1zLlxuICogXG4gKiBVc2FnZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZvckVhY2ggPSBuZXcgRm9yRWFjaCgpO1xuICogYXdhaXQgZm9yRWFjaC5leGVjdXRlKHtcbiAqICAgaXRlbXM6IFsnaXRlbTEnLCAnaXRlbTInLCAnaXRlbTMnXSxcbiAqICAgYWN0aXZpdGllczogW3Byb2Nlc3NJdGVtQWN0aXZpdHldXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgRm9yRWFjaCBleHRlbmRzIEFjdGl2aXR5PHtcbiAgaXRlbXM6IGFueVtdO1xuICBhY3Rpdml0aWVzPzogSUFjdGl2aXR5W107XG4gIGl0ZW1WYXJpYWJsZU5hbWU/OiBzdHJpbmc7XG4gIGluZGV4VmFyaWFibGVOYW1lPzogc3RyaW5nO1xufSwgYW55PiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdGb3JFYWNoJyk7XG4gIH1cblxuICBhc3luYyBleGVjdXRlKGlucHV0OiB7XG4gICAgaXRlbXM6IGFueVtdO1xuICAgIGFjdGl2aXRpZXM/OiBJQWN0aXZpdHlbXTtcbiAgICBpdGVtVmFyaWFibGVOYW1lPzogc3RyaW5nO1xuICAgIGluZGV4VmFyaWFibGVOYW1lPzogc3RyaW5nO1xuICB9KTogUHJvbWlzZTx7IG91dHB1dDogYW55OyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9PiB7XG4gICAgY29uc3QgeyBcbiAgICAgIGl0ZW1zID0gW10sIFxuICAgICAgYWN0aXZpdGllcyA9IFtdLCBcbiAgICAgIGl0ZW1WYXJpYWJsZU5hbWUgPSAnY3VycmVudEl0ZW0nLFxuICAgICAgaW5kZXhWYXJpYWJsZU5hbWUgPSAnY3VycmVudEluZGV4J1xuICAgIH0gPSBpbnB1dDtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHRzOiBhbnlbXSA9IFtdO1xuXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgaXRlbXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJdGVtID0gaXRlbXNbaW5kZXhdO1xuICAgICAgICBcbiAgICAgICAgLy8gQ3JlYXRlIGNvbnRleHQgd2l0aCBjdXJyZW50IGl0ZW0gYW5kIGluZGV4XG4gICAgICAgIGNvbnN0IGl0ZW1Db250ZXh0ID0ge1xuICAgICAgICAgIC4uLmlucHV0LFxuICAgICAgICAgIFtpdGVtVmFyaWFibGVOYW1lXTogY3VycmVudEl0ZW0sXG4gICAgICAgICAgW2luZGV4VmFyaWFibGVOYW1lXTogaW5kZXhcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBFeGVjdXRlIGFjdGl2aXRpZXMgZm9yIGN1cnJlbnQgaXRlbVxuICAgICAgICBmb3IgKGNvbnN0IGFjdGl2aXR5IG9mIGFjdGl2aXRpZXMpIHtcbiAgICAgICAgICBhd2FpdCBhY3Rpdml0eS5leGVjdXRlKGl0ZW1Db250ZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc3VsdHMucHVzaCh7XG4gICAgICAgICAgaXRlbTogY3VycmVudEl0ZW0sXG4gICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgcHJvY2Vzc2VkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgIHRvdGFsSXRlbXM6IGl0ZW1zLmxlbmd0aCxcbiAgICAgICAgcHJvY2Vzc2VkSXRlbXM6IHJlc3VsdHMubGVuZ3RoLFxuICAgICAgICByZXN1bHRzXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQocmVzdWx0LCAnRG9uZScpO1xuICAgICAgXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbRm9yRWFjaF0gRXJyb3IgaW4gaXRlcmF0aW9uOicsIGVycik7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQoeyB0b3RhbEl0ZW1zOiAwLCBwcm9jZXNzZWRJdGVtczogMCwgcmVzdWx0czogW10gfSwgJ0Vycm9yJyk7XG4gICAgfVxuICB9XG59Il19","import { inject } from '@angular/core';\nimport { Activity } from '../activity.types';\nimport { AXPCommandService } from '@acorex/platform/runtime';\n/**\n * Execute Command Activity - Executes a command through Command Bus.\n *\n * Usage:\n * ```typescript\n * const executeCmd = new ExecuteCommand();\n * await executeCmd.execute({\n * commandKey: 'UserManagement.CreateUser',\n * input: { name: 'John', email: 'john@example.com' }\n * });\n * ```\n */\nexport class ExecuteCommand extends Activity {\n constructor() {\n super('workflow-activity:execute-command', 'Execute Command');\n this.commandService = inject(AXPCommandService);\n }\n async execute(input) {\n const { commandKey, input: commandInput = {} } = input;\n try {\n // Check if command exists\n if (!this.commandService.exists(commandKey)) {\n console.warn(`[ExecuteCommand] Command '${commandKey}' is not registered. Simulating execution.`);\n // Simulate command execution for unregistered commands\n const result = {\n commandKey,\n success: true,\n output: commandInput,\n executedAt: new Date().toISOString(),\n simulated: true\n };\n return this.createResult(result, 'Done');\n }\n // Execute command through Command Bus\n const result = await this.commandService.execute(commandKey, commandInput);\n return this.createResult({\n commandKey,\n success: true,\n output: result,\n executedAt: new Date().toISOString()\n }, 'Done');\n }\n catch (err) {\n console.error('[ExecuteCommand] Error executing command:', err);\n return this.createResult({\n commandKey,\n success: false,\n error: err instanceof Error ? err.message : 'Unknown error'\n }, 'Failed');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS1jb21tYW5kLmFjdGl2aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2VuZ2luZS9hY3Rpdml0aWVzL2V4ZWN1dGUtY29tbWFuZC5hY3Rpdml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFHN0I7SUFHTDtRQUNFLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBSC9DLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFJNUQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FHYjtRQUNDLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksR0FBRyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFdkQsSUFBSSxDQUFDO1lBQ0gsMEJBQTBCO1lBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxPQUFPLENBQUMsSUFBSSxDQUFDLDZCQUE2QixVQUFVLDRDQUE0QyxDQUFDLENBQUM7Z0JBRWxHLHVEQUF1RDtnQkFDdkQsTUFBTSxNQUFNLEdBQUc7b0JBQ2IsVUFBVTtvQkFDVixPQUFPLEVBQUUsSUFBSTtvQkFDYixNQUFNLEVBQUUsWUFBWTtvQkFDcEIsVUFBVSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO29CQUNwQyxTQUFTLEVBQUUsSUFBSTtpQkFDaEIsQ0FBQztnQkFFRixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFFRCxzQ0FBc0M7WUFDdEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFFM0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN2QixVQUFVO2dCQUNWLE9BQU8sRUFBRSxJQUFJO2dCQUNiLE1BQU0sRUFBRSxNQUFNO2dCQUNkLFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTthQUNyQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRWIsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLDJDQUEyQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDdkIsVUFBVTtnQkFDVixPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsR0FBRyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZTthQUM1RCxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eS50eXBlcyc7XG5pbXBvcnQgeyBBWFBDb21tYW5kU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5cbi8qKlxuICogRXhlY3V0ZSBDb21tYW5kIEFjdGl2aXR5IC0gRXhlY3V0ZXMgYSBjb21tYW5kIHRocm91Z2ggQ29tbWFuZCBCdXMuXG4gKiBcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZXhlY3V0ZUNtZCA9IG5ldyBFeGVjdXRlQ29tbWFuZCgpO1xuICogYXdhaXQgZXhlY3V0ZUNtZC5leGVjdXRlKHtcbiAqICAgY29tbWFuZEtleTogJ1VzZXJNYW5hZ2VtZW50LkNyZWF0ZVVzZXInLFxuICogICBpbnB1dDogeyBuYW1lOiAnSm9obicsIGVtYWlsOiAnam9obkBleGFtcGxlLmNvbScgfVxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIEV4ZWN1dGVDb21tYW5kIGV4dGVuZHMgQWN0aXZpdHk8e1xuICBjb21tYW5kS2V5OiBzdHJpbmc7XG4gIGlucHV0PzogYW55O1xufSwgYW55PiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZFNlcnZpY2UgPSBpbmplY3QoQVhQQ29tbWFuZFNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCd3b3JrZmxvdy1hY3Rpdml0eTpleGVjdXRlLWNvbW1hbmQnLCAnRXhlY3V0ZSBDb21tYW5kJyk7XG4gIH1cblxuICBhc3luYyBleGVjdXRlKGlucHV0OiB7XG4gICAgY29tbWFuZEtleTogc3RyaW5nO1xuICAgIGlucHV0PzogYW55O1xuICB9KTogUHJvbWlzZTx7IG91dHB1dDogYW55OyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9PiB7XG4gICAgY29uc3QgeyBjb21tYW5kS2V5LCBpbnB1dDogY29tbWFuZElucHV0ID0ge30gfSA9IGlucHV0O1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENoZWNrIGlmIGNvbW1hbmQgZXhpc3RzXG4gICAgICBpZiAoIXRoaXMuY29tbWFuZFNlcnZpY2UuZXhpc3RzKGNvbW1hbmRLZXkpKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgW0V4ZWN1dGVDb21tYW5kXSBDb21tYW5kICcke2NvbW1hbmRLZXl9JyBpcyBub3QgcmVnaXN0ZXJlZC4gU2ltdWxhdGluZyBleGVjdXRpb24uYCk7XG4gICAgICAgIFxuICAgICAgICAvLyBTaW11bGF0ZSBjb21tYW5kIGV4ZWN1dGlvbiBmb3IgdW5yZWdpc3RlcmVkIGNvbW1hbmRzXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgICAgICBjb21tYW5kS2V5LFxuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgb3V0cHV0OiBjb21tYW5kSW5wdXQsXG4gICAgICAgICAgZXhlY3V0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHNpbXVsYXRlZDogdHJ1ZVxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlc3VsdChyZXN1bHQsICdEb25lJyk7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4ZWN1dGUgY29tbWFuZCB0aHJvdWdoIENvbW1hbmQgQnVzXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNvbW1hbmRTZXJ2aWNlLmV4ZWN1dGUoY29tbWFuZEtleSwgY29tbWFuZElucHV0KTtcblxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHtcbiAgICAgICAgY29tbWFuZEtleSxcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgb3V0cHV0OiByZXN1bHQsXG4gICAgICAgIGV4ZWN1dGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKVxuICAgICAgfSwgJ0RvbmUnKTtcbiAgICAgIFxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignW0V4ZWN1dGVDb21tYW5kXSBFcnJvciBleGVjdXRpbmcgY29tbWFuZDonLCBlcnIpO1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHtcbiAgICAgICAgY29tbWFuZEtleSxcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIGVycm9yOiBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InXG4gICAgICB9LCAnRmFpbGVkJyk7XG4gICAgfVxuICB9XG59Il19","import { inject } from '@angular/core';\nimport { Activity } from '../activity.types';\nimport { AXPQueryService } from '@acorex/platform/runtime';\n/**\n * Execute Query Activity - Executes a query through Query Bus.\n *\n * Usage:\n * ```typescript\n * const executeQuery = new ExecuteQuery();\n * await executeQuery.execute({\n * queryKey: 'UserManagement.GetUsers',\n * input: { page: 1, pageSize: 10 }\n * });\n * ```\n */\nexport class ExecuteQuery extends Activity {\n constructor() {\n super('workflow-activity:execute-query', 'Execute Query');\n this.queryService = inject(AXPQueryService);\n }\n async execute(input) {\n const { queryKey, input: queryInput = {} } = input;\n try {\n // Check if query exists\n if (!this.queryService.exists(queryKey)) {\n console.warn(`[ExecuteQuery] Query '${queryKey}' is not registered. Simulating execution.`);\n // Simulate query execution for unregistered queries\n const result = {\n queryKey,\n success: true,\n data: [],\n totalCount: 0,\n executedAt: new Date().toISOString(),\n simulated: true\n };\n return this.createResult(result, 'Done');\n }\n // Execute query through Query Bus\n const result = await this.queryService.fetch(queryKey, queryInput);\n return this.createResult({\n queryKey,\n success: true,\n data: result,\n totalCount: Array.isArray(result) ? result.length : (result?.totalCount || 0),\n executedAt: new Date().toISOString()\n }, 'Done');\n }\n catch (err) {\n console.error('[ExecuteQuery] Error executing query:', err);\n return this.createResult({\n queryKey,\n success: false,\n error: err instanceof Error ? err.message : 'Unknown error'\n }, 'Failed');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS1xdWVyeS5hY3Rpdml0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi9lbmdpbmUvYWN0aXZpdGllcy9leGVjdXRlLXF1ZXJ5LmFjdGl2aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sT0FBTyxZQUFhLFNBQVEsUUFHM0I7SUFHTDtRQUNFLEtBQUssQ0FBQyxpQ0FBaUMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUgzQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUl4RCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUdiO1FBQ0MsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsVUFBVSxHQUFHLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVuRCxJQUFJLENBQUM7WUFDSCx3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sQ0FBQyxJQUFJLENBQUMseUJBQXlCLFFBQVEsNENBQTRDLENBQUMsQ0FBQztnQkFFNUYsb0RBQW9EO2dCQUNwRCxNQUFNLE1BQU0sR0FBRztvQkFDYixRQUFRO29CQUNSLE9BQU8sRUFBRSxJQUFJO29CQUNiLElBQUksRUFBRSxFQUFFO29CQUNSLFVBQVUsRUFBRSxDQUFDO29CQUNiLFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtvQkFDcEMsU0FBUyxFQUFFLElBQUk7aUJBQ2hCLENBQUM7Z0JBRUYsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMzQyxDQUFDO1lBRUQsa0NBQWtDO1lBQ2xDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRW5FLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDdkIsUUFBUTtnQkFDUixPQUFPLEVBQUUsSUFBSTtnQkFDYixJQUFJLEVBQUUsTUFBTTtnQkFDWixVQUFVLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxJQUFJLENBQUMsQ0FBQztnQkFDN0UsVUFBVSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO2FBQ3JDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFYixDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDNUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN2QixRQUFRO2dCQUNSLE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUssRUFBRSxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlO2FBQzVELEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5LnR5cGVzJztcbmltcG9ydCB7IEFYUFF1ZXJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5cbi8qKlxuICogRXhlY3V0ZSBRdWVyeSBBY3Rpdml0eSAtIEV4ZWN1dGVzIGEgcXVlcnkgdGhyb3VnaCBRdWVyeSBCdXMuXG4gKiBcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZXhlY3V0ZVF1ZXJ5ID0gbmV3IEV4ZWN1dGVRdWVyeSgpO1xuICogYXdhaXQgZXhlY3V0ZVF1ZXJ5LmV4ZWN1dGUoe1xuICogICBxdWVyeUtleTogJ1VzZXJNYW5hZ2VtZW50LkdldFVzZXJzJyxcbiAqICAgaW5wdXQ6IHsgcGFnZTogMSwgcGFnZVNpemU6IDEwIH1cbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBFeGVjdXRlUXVlcnkgZXh0ZW5kcyBBY3Rpdml0eTx7XG4gIHF1ZXJ5S2V5OiBzdHJpbmc7XG4gIGlucHV0PzogYW55O1xufSwgYW55PiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcXVlcnlTZXJ2aWNlID0gaW5qZWN0KEFYUFF1ZXJ5U2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ3dvcmtmbG93LWFjdGl2aXR5OmV4ZWN1dGUtcXVlcnknLCAnRXhlY3V0ZSBRdWVyeScpO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZShpbnB1dDoge1xuICAgIHF1ZXJ5S2V5OiBzdHJpbmc7XG4gICAgaW5wdXQ/OiBhbnk7XG4gIH0pOiBQcm9taXNlPHsgb3V0cHV0OiBhbnk7IG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0+IHtcbiAgICBjb25zdCB7IHF1ZXJ5S2V5LCBpbnB1dDogcXVlcnlJbnB1dCA9IHt9IH0gPSBpbnB1dDtcblxuICAgIHRyeSB7XG4gICAgICAvLyBDaGVjayBpZiBxdWVyeSBleGlzdHNcbiAgICAgIGlmICghdGhpcy5xdWVyeVNlcnZpY2UuZXhpc3RzKHF1ZXJ5S2V5KSkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFtFeGVjdXRlUXVlcnldIFF1ZXJ5ICcke3F1ZXJ5S2V5fScgaXMgbm90IHJlZ2lzdGVyZWQuIFNpbXVsYXRpbmcgZXhlY3V0aW9uLmApO1xuICAgICAgICBcbiAgICAgICAgLy8gU2ltdWxhdGUgcXVlcnkgZXhlY3V0aW9uIGZvciB1bnJlZ2lzdGVyZWQgcXVlcmllc1xuICAgICAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgICAgcXVlcnlLZXksXG4gICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgICBkYXRhOiBbXSxcbiAgICAgICAgICB0b3RhbENvdW50OiAwLFxuICAgICAgICAgIGV4ZWN1dGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICBzaW11bGF0ZWQ6IHRydWVcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQocmVzdWx0LCAnRG9uZScpO1xuICAgICAgfVxuXG4gICAgICAvLyBFeGVjdXRlIHF1ZXJ5IHRocm91Z2ggUXVlcnkgQnVzXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5U2VydmljZS5mZXRjaChxdWVyeUtleSwgcXVlcnlJbnB1dCk7XG5cbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlc3VsdCh7XG4gICAgICAgIHF1ZXJ5S2V5LFxuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBkYXRhOiByZXN1bHQsXG4gICAgICAgIHRvdGFsQ291bnQ6IEFycmF5LmlzQXJyYXkocmVzdWx0KSA/IHJlc3VsdC5sZW5ndGggOiAocmVzdWx0Py50b3RhbENvdW50IHx8IDApLFxuICAgICAgICBleGVjdXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcbiAgICAgIH0sICdEb25lJyk7XG4gICAgICBcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tFeGVjdXRlUXVlcnldIEVycm9yIGV4ZWN1dGluZyBxdWVyeTonLCBlcnIpO1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHtcbiAgICAgICAgcXVlcnlLZXksXG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBlcnJvcjogZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ1xuICAgICAgfSwgJ0ZhaWxlZCcpO1xuICAgIH1cbiAgfVxufSJdfQ==","import { Activity } from '../activity.types';\n/**\n * Start Activity - Marks the start point of a workflow.\n *\n * This is a visual marker activity that doesn't perform any actual work.\n * It's used in workflow designers to clearly indicate where a workflow begins.\n *\n * Usage:\n * ```typescript\n * const start = new StartActivity();\n * await start.execute({});\n * ```\n */\nexport class StartActivity extends Activity {\n constructor() {\n super('StartActivity');\n }\n async execute(input) {\n // This activity is a visual marker only\n // It immediately completes and allows workflow to proceed\n console.log('[StartActivity] Workflow started');\n return this.createResult(undefined, 'Done');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtYWN0aXZpdHkuYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvc3RhcnQtYWN0aXZpdHkuYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxPQUFPLGFBQWMsU0FBUSxRQUFxQztJQUN0RTtRQUNFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUE0QjtRQUN4Qyx3Q0FBd0M7UUFDeEMsMERBQTBEO1FBQzFELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUVoRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHkudHlwZXMnO1xuXG4vKipcbiAqIFN0YXJ0IEFjdGl2aXR5IC0gTWFya3MgdGhlIHN0YXJ0IHBvaW50IG9mIGEgd29ya2Zsb3cuXG4gKiBcbiAqIFRoaXMgaXMgYSB2aXN1YWwgbWFya2VyIGFjdGl2aXR5IHRoYXQgZG9lc24ndCBwZXJmb3JtIGFueSBhY3R1YWwgd29yay5cbiAqIEl0J3MgdXNlZCBpbiB3b3JrZmxvdyBkZXNpZ25lcnMgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVyZSBhIHdvcmtmbG93IGJlZ2lucy5cbiAqIFxuICogVXNhZ2U6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzdGFydCA9IG5ldyBTdGFydEFjdGl2aXR5KCk7XG4gKiBhd2FpdCBzdGFydC5leGVjdXRlKHt9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgU3RhcnRBY3Rpdml0eSBleHRlbmRzIEFjdGl2aXR5PFJlY29yZDxzdHJpbmcsIG5ldmVyPiwgdm9pZD4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignU3RhcnRBY3Rpdml0eScpO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZShpbnB1dDogUmVjb3JkPHN0cmluZywgbmV2ZXI+KTogUHJvbWlzZTx7IG91dHB1dDogdm9pZDsgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfT4ge1xuICAgIC8vIFRoaXMgYWN0aXZpdHkgaXMgYSB2aXN1YWwgbWFya2VyIG9ubHlcbiAgICAvLyBJdCBpbW1lZGlhdGVseSBjb21wbGV0ZXMgYW5kIGFsbG93cyB3b3JrZmxvdyB0byBwcm9jZWVkXG4gICAgY29uc29sZS5sb2coJ1tTdGFydEFjdGl2aXR5XSBXb3JrZmxvdyBzdGFydGVkJyk7XG4gICAgXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHVuZGVmaW5lZCwgJ0RvbmUnKTtcbiAgfVxufVxuXG4iXX0=","import { Activity } from '../activity.types';\n/**\n * End Activity - Marks the end point of a workflow.\n *\n * This is a visual marker activity that terminates the workflow execution.\n * When this activity is reached, the workflow completes successfully.\n *\n * Usage:\n * ```typescript\n * const end = new EndActivity();\n * await end.execute({});\n * ```\n */\nexport class EndActivity extends Activity {\n constructor() {\n super('EndActivity');\n }\n async execute(input) {\n // This activity marks the end of workflow execution\n console.log('[EndActivity] Workflow completed');\n return this.createResult(undefined, 'Done');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kLWFjdGl2aXR5LmFjdGl2aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2VuZ2luZS9hY3Rpdml0aWVzL2VuZC1hY3Rpdml0eS5hY3Rpdml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFN0M7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sV0FBWSxTQUFRLFFBQXFDO0lBQ3BFO1FBQ0UsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQTRCO1FBQ3hDLG9EQUFvRDtRQUNwRCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFFaEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5LnR5cGVzJztcblxuLyoqXG4gKiBFbmQgQWN0aXZpdHkgLSBNYXJrcyB0aGUgZW5kIHBvaW50IG9mIGEgd29ya2Zsb3cuXG4gKiBcbiAqIFRoaXMgaXMgYSB2aXN1YWwgbWFya2VyIGFjdGl2aXR5IHRoYXQgdGVybWluYXRlcyB0aGUgd29ya2Zsb3cgZXhlY3V0aW9uLlxuICogV2hlbiB0aGlzIGFjdGl2aXR5IGlzIHJlYWNoZWQsIHRoZSB3b3JrZmxvdyBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5LlxuICogXG4gKiBVc2FnZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGVuZCA9IG5ldyBFbmRBY3Rpdml0eSgpO1xuICogYXdhaXQgZW5kLmV4ZWN1dGUoe30pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBFbmRBY3Rpdml0eSBleHRlbmRzIEFjdGl2aXR5PFJlY29yZDxzdHJpbmcsIG5ldmVyPiwgdm9pZD4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignRW5kQWN0aXZpdHknKTtcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGUoaW5wdXQ6IFJlY29yZDxzdHJpbmcsIG5ldmVyPik6IFByb21pc2U8eyBvdXRwdXQ6IHZvaWQ7IG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0+IHtcbiAgICAvLyBUaGlzIGFjdGl2aXR5IG1hcmtzIHRoZSBlbmQgb2Ygd29ya2Zsb3cgZXhlY3V0aW9uXG4gICAgY29uc29sZS5sb2coJ1tFbmRBY3Rpdml0eV0gV29ya2Zsb3cgY29tcGxldGVkJyk7XG4gICAgXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHVuZGVmaW5lZCwgJ0RvbmUnKTtcbiAgfVxufVxuXG4iXX0=","import { provideCommandSetups } from '@acorex/platform/runtime';\n/**\n * Command setups for all built-in workflow activities.\n * Registers activities as AXPCommand instances.\n */\nexport const provideWorkflowActivityCommands = () => provideCommandSetups([\n // Workflow Markers\n {\n key: 'workflow-activity:start',\n command: () => import('./start-activity.activity').then(m => m.StartActivity),\n },\n {\n key: 'workflow-activity:end',\n command: () => import('./end-activity.activity').then(m => m.EndActivity),\n },\n // Console Activities\n {\n key: 'workflow-activity:write-line',\n command: () => import('./write-line.activity').then(m => m.WriteLine),\n },\n // Control Flow Activities\n {\n key: 'workflow-activity:sequence',\n command: () => import('./sequence.activity').then(m => m.Sequence),\n },\n {\n key: 'workflow-activity:if',\n command: () => import('./if.activity').then(m => m.If),\n },\n {\n key: 'workflow-activity:while',\n command: () => import('./while.activity').then(m => m.While),\n },\n {\n key: 'workflow-activity:for-each',\n command: () => import('./for-each.activity').then(m => m.ForEach),\n },\n // Dialog Activities\n {\n key: 'workflow-activity:show-confirm-dialog',\n command: () => import('./show-confirm-dialog.activity').then(m => m.ShowConfirmDialog),\n },\n {\n key: 'workflow-activity:show-alert-dialog',\n command: () => import('./show-alert-dialog.activity').then(m => m.ShowAlertDialog),\n },\n // Notification Activities\n {\n key: 'workflow-activity:show-toast',\n command: () => import('./show-toast.activity').then(m => m.ShowToast),\n },\n // Event Activities\n {\n key: 'workflow-activity:dispatch-event',\n command: () => import('./dispatch-event.activity').then(m => m.DispatchEvent),\n },\n // Variable Activities\n {\n key: 'workflow-activity:set-variable',\n command: () => import('./set-variable.activity').then(m => m.SetVariable),\n },\n // Command & Query Activities\n {\n key: 'workflow-activity:execute-command',\n command: () => import('./execute-command.activity').then(m => m.ExecuteCommand),\n },\n {\n key: 'workflow-activity:execute-query',\n command: () => import('./execute-query.activity').then(m => m.ExecuteQuery),\n },\n // Navigation Activities\n {\n key: 'workflow-activity:navigate',\n command: () => import('./navigate.activity').then(m => m.Navigate),\n },\n]);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29tbWFuZC1zZXR1cHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvYWN0aXZpdHktY29tbWFuZC1zZXR1cHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7SUFDeEUsbUJBQW1CO0lBQ25CO1FBQ0UsR0FBRyxFQUFFLHlCQUF5QjtRQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztLQUM5RTtJQUNEO1FBQ0UsR0FBRyxFQUFFLHVCQUF1QjtRQUM1QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztLQUMxRTtJQUVELHFCQUFxQjtJQUNyQjtRQUNFLEdBQUcsRUFBRSw4QkFBOEI7UUFDbkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7S0FDdEU7SUFFRCwwQkFBMEI7SUFDMUI7UUFDRSxHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0tBQ25FO0lBQ0Q7UUFDRSxHQUFHLEVBQUUsc0JBQXNCO1FBQzNCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUN2RDtJQUNEO1FBQ0UsR0FBRyxFQUFFLHlCQUF5QjtRQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztLQUM3RDtJQUNEO1FBQ0UsR0FBRyxFQUFFLDRCQUE0QjtRQUNqQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztLQUNsRTtJQUVELG9CQUFvQjtJQUNwQjtRQUNFLEdBQUcsRUFBRSx1Q0FBdUM7UUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztLQUN2RjtJQUNEO1FBQ0UsR0FBRyxFQUFFLHFDQUFxQztRQUMxQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztLQUNuRjtJQUVELDBCQUEwQjtJQUMxQjtRQUNFLEdBQUcsRUFBRSw4QkFBOEI7UUFDbkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7S0FDdEU7SUFFRCxtQkFBbUI7SUFDbkI7UUFDRSxHQUFHLEVBQUUsa0NBQWtDO1FBQ3ZDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0tBQzlFO0lBRUQsc0JBQXNCO0lBQ3RCO1FBQ0UsR0FBRyxFQUFFLGdDQUFnQztRQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztLQUMxRTtJQUVELDZCQUE2QjtJQUM3QjtRQUNFLEdBQUcsRUFBRSxtQ0FBbUM7UUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7S0FDaEY7SUFDRDtRQUNFLEdBQUcsRUFBRSxpQ0FBaUM7UUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7S0FDNUU7SUFFRCx3QkFBd0I7SUFDeEI7UUFDRSxHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0tBQ25FO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvdmlkZUNvbW1hbmRTZXR1cHMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuXG4vKipcbiAqIENvbW1hbmQgc2V0dXBzIGZvciBhbGwgYnVpbHQtaW4gd29ya2Zsb3cgYWN0aXZpdGllcy5cbiAqIFJlZ2lzdGVycyBhY3Rpdml0aWVzIGFzIEFYUENvbW1hbmQgaW5zdGFuY2VzLlxuICovXG5leHBvcnQgY29uc3QgcHJvdmlkZVdvcmtmbG93QWN0aXZpdHlDb21tYW5kcyA9ICgpID0+IHByb3ZpZGVDb21tYW5kU2V0dXBzKFtcbiAgLy8gV29ya2Zsb3cgTWFya2Vyc1xuICB7XG4gICAga2V5OiAnd29ya2Zsb3ctYWN0aXZpdHk6c3RhcnQnLFxuICAgIGNvbW1hbmQ6ICgpID0+IGltcG9ydCgnLi9zdGFydC1hY3Rpdml0eS5hY3Rpdml0eScpLnRoZW4obSA9PiBtLlN0YXJ0QWN0aXZpdHkpLFxuICB9LFxuICB7XG4gICAga2V5OiAnd29ya2Zsb3ctYWN0aXZpdHk6ZW5kJyxcbiAgICBjb21tYW5kOiAoKSA9PiBpbXBvcnQoJy4vZW5kLWFjdGl2aXR5LmFjdGl2aXR5JykudGhlbihtID0+IG0uRW5kQWN0aXZpdHkpLFxuICB9LFxuXG4gIC8vIENvbnNvbGUgQWN0aXZpdGllc1xuICB7XG4gICAga2V5OiAnd29ya2Zsb3ctYWN0aXZpdHk6d3JpdGUtbGluZScsXG4gICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL3dyaXRlLWxpbmUuYWN0aXZpdHknKS50aGVuKG0gPT4gbS5Xcml0ZUxpbmUpLFxuICB9LFxuXG4gIC8vIENvbnRyb2wgRmxvdyBBY3Rpdml0aWVzXG4gIHtcbiAgICBrZXk6ICd3b3JrZmxvdy1hY3Rpdml0eTpzZXF1ZW5jZScsXG4gICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL3NlcXVlbmNlLmFjdGl2aXR5JykudGhlbihtID0+IG0uU2VxdWVuY2UpLFxuICB9LFxuICB7XG4gICAga2V5OiAnd29ya2Zsb3ctYWN0aXZpdHk6aWYnLFxuICAgIGNvbW1hbmQ6ICgpID0+IGltcG9ydCgnLi9pZi5hY3Rpdml0eScpLnRoZW4obSA9PiBtLklmKSxcbiAgfSxcbiAge1xuICAgIGtleTogJ3dvcmtmbG93LWFjdGl2aXR5OndoaWxlJyxcbiAgICBjb21tYW5kOiAoKSA9PiBpbXBvcnQoJy4vd2hpbGUuYWN0aXZpdHknKS50aGVuKG0gPT4gbS5XaGlsZSksXG4gIH0sXG4gIHtcbiAgICBrZXk6ICd3b3JrZmxvdy1hY3Rpdml0eTpmb3ItZWFjaCcsXG4gICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL2Zvci1lYWNoLmFjdGl2aXR5JykudGhlbihtID0+IG0uRm9yRWFjaCksXG4gIH0sXG5cbiAgLy8gRGlhbG9nIEFjdGl2aXRpZXNcbiAge1xuICAgIGtleTogJ3dvcmtmbG93LWFjdGl2aXR5OnNob3ctY29uZmlybS1kaWFsb2cnLFxuICAgIGNvbW1hbmQ6ICgpID0+IGltcG9ydCgnLi9zaG93LWNvbmZpcm0tZGlhbG9nLmFjdGl2aXR5JykudGhlbihtID0+IG0uU2hvd0NvbmZpcm1EaWFsb2cpLFxuICB9LFxuICB7XG4gICAga2V5OiAnd29ya2Zsb3ctYWN0aXZpdHk6c2hvdy1hbGVydC1kaWFsb2cnLFxuICAgIGNvbW1hbmQ6ICgpID0+IGltcG9ydCgnLi9zaG93LWFsZXJ0LWRpYWxvZy5hY3Rpdml0eScpLnRoZW4obSA9PiBtLlNob3dBbGVydERpYWxvZyksXG4gIH0sXG5cbiAgLy8gTm90aWZpY2F0aW9uIEFjdGl2aXRpZXNcbiAge1xuICAgIGtleTogJ3dvcmtmbG93LWFjdGl2aXR5OnNob3ctdG9hc3QnLFxuICAgIGNvbW1hbmQ6ICgpID0+IGltcG9ydCgnLi9zaG93LXRvYXN0LmFjdGl2aXR5JykudGhlbihtID0+IG0uU2hvd1RvYXN0KSxcbiAgfSxcblxuICAvLyBFdmVudCBBY3Rpdml0aWVzXG4gIHtcbiAgICBrZXk6ICd3b3JrZmxvdy1hY3Rpdml0eTpkaXNwYXRjaC1ldmVudCcsXG4gICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL2Rpc3BhdGNoLWV2ZW50LmFjdGl2aXR5JykudGhlbihtID0+IG0uRGlzcGF0Y2hFdmVudCksXG4gIH0sXG5cbiAgLy8gVmFyaWFibGUgQWN0aXZpdGllc1xuICB7XG4gICAga2V5OiAnd29ya2Zsb3ctYWN0aXZpdHk6c2V0LXZhcmlhYmxlJyxcbiAgICBjb21tYW5kOiAoKSA9PiBpbXBvcnQoJy4vc2V0LXZhcmlhYmxlLmFjdGl2aXR5JykudGhlbihtID0+IG0uU2V0VmFyaWFibGUpLFxuICB9LFxuXG4gIC8vIENvbW1hbmQgJiBRdWVyeSBBY3Rpdml0aWVzXG4gIHtcbiAgICBrZXk6ICd3b3JrZmxvdy1hY3Rpdml0eTpleGVjdXRlLWNvbW1hbmQnLFxuICAgIGNvbW1hbmQ6ICgpID0+IGltcG9ydCgnLi9leGVjdXRlLWNvbW1hbmQuYWN0aXZpdHknKS50aGVuKG0gPT4gbS5FeGVjdXRlQ29tbWFuZCksXG4gIH0sXG4gIHtcbiAgICBrZXk6ICd3b3JrZmxvdy1hY3Rpdml0eTpleGVjdXRlLXF1ZXJ5JyxcbiAgICBjb21tYW5kOiAoKSA9PiBpbXBvcnQoJy4vZXhlY3V0ZS1xdWVyeS5hY3Rpdml0eScpLnRoZW4obSA9PiBtLkV4ZWN1dGVRdWVyeSksXG4gIH0sXG5cbiAgLy8gTmF2aWdhdGlvbiBBY3Rpdml0aWVzXG4gIHtcbiAgICBrZXk6ICd3b3JrZmxvdy1hY3Rpdml0eTpuYXZpZ2F0ZScsXG4gICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL25hdmlnYXRlLmFjdGl2aXR5JykudGhlbihtID0+IG0uTmF2aWdhdGUpLFxuICB9LFxuXSk7XG4iXX0=","// Built-in Activities\nexport * from './write-line.activity';\nexport * from './sequence.activity';\nexport * from './show-confirm-dialog.activity';\nexport * from './show-alert-dialog.activity';\nexport * from './show-toast.activity';\nexport * from './navigate.activity';\nexport * from './set-variable.activity';\nexport * from './dispatch-event.activity';\nexport * from './if.activity';\nexport * from './while.activity';\nexport * from './for-each.activity';\nexport * from './execute-command.activity';\nexport * from './execute-query.activity';\nexport * from './start-activity.activity';\nexport * from './end-activity.activity';\n// Command Setups\nexport * from './activity-command-setups';\n// Re-export activity types\nexport * from '../activity.types';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0JBQXNCO0FBQ3RCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxpQkFBaUI7QUFDakIsY0FBYywyQkFBMkIsQ0FBQztBQUUxQywyQkFBMkI7QUFDM0IsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEJ1aWx0LWluIEFjdGl2aXRpZXNcbmV4cG9ydCAqIGZyb20gJy4vd3JpdGUtbGluZS5hY3Rpdml0eSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcXVlbmNlLmFjdGl2aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vc2hvdy1jb25maXJtLWRpYWxvZy5hY3Rpdml0eSc7XG5leHBvcnQgKiBmcm9tICcuL3Nob3ctYWxlcnQtZGlhbG9nLmFjdGl2aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vc2hvdy10b2FzdC5hY3Rpdml0eSc7XG5leHBvcnQgKiBmcm9tICcuL25hdmlnYXRlLmFjdGl2aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vc2V0LXZhcmlhYmxlLmFjdGl2aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vZGlzcGF0Y2gtZXZlbnQuYWN0aXZpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9pZi5hY3Rpdml0eSc7XG5leHBvcnQgKiBmcm9tICcuL3doaWxlLmFjdGl2aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vZm9yLWVhY2guYWN0aXZpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9leGVjdXRlLWNvbW1hbmQuYWN0aXZpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9leGVjdXRlLXF1ZXJ5LmFjdGl2aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vc3RhcnQtYWN0aXZpdHkuYWN0aXZpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9lbmQtYWN0aXZpdHkuYWN0aXZpdHknO1xuXG4vLyBDb21tYW5kIFNldHVwc1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eS1jb21tYW5kLXNldHVwcyc7XG5cbi8vIFJlLWV4cG9ydCBhY3Rpdml0eSB0eXBlc1xuZXhwb3J0ICogZnJvbSAnLi4vYWN0aXZpdHkudHlwZXMnOyJdfQ==","// Workflow Definition Types (Storage/Database)\nexport * from './workflow-definition.types';\n// Workflow Types (Simplified)\nexport * from './workflow.types';\n// Activity System Types (Simplified)\nexport * from './activity.types';\n// Activity Provider Infrastructure\nexport * from './activity-provider.service';\nexport * from './activity-category.provider';\n// Simple Runtime (Coordinator only)\nexport * from './runtime';\n// Built-in Activities\nexport * from './activities';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLDhCQUE4QjtBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBRWpDLHFDQUFxQztBQUNyQyxjQUFjLGtCQUFrQixDQUFDO0FBRWpDLG1DQUFtQztBQUNuQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsOEJBQThCLENBQUM7QUFFN0Msb0NBQW9DO0FBQ3BDLGNBQWMsV0FBVyxDQUFDO0FBRTFCLHNCQUFzQjtBQUN0QixjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFdvcmtmbG93IERlZmluaXRpb24gVHlwZXMgKFN0b3JhZ2UvRGF0YWJhc2UpXG5leHBvcnQgKiBmcm9tICcuL3dvcmtmbG93LWRlZmluaXRpb24udHlwZXMnO1xuXG4vLyBXb3JrZmxvdyBUeXBlcyAoU2ltcGxpZmllZClcbmV4cG9ydCAqIGZyb20gJy4vd29ya2Zsb3cudHlwZXMnO1xuXG4vLyBBY3Rpdml0eSBTeXN0ZW0gVHlwZXMgKFNpbXBsaWZpZWQpXG5leHBvcnQgKiBmcm9tICcuL2FjdGl2aXR5LnR5cGVzJztcblxuLy8gQWN0aXZpdHkgUHJvdmlkZXIgSW5mcmFzdHJ1Y3R1cmVcbmV4cG9ydCAqIGZyb20gJy4vYWN0aXZpdHktcHJvdmlkZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGl2aXR5LWNhdGVnb3J5LnByb3ZpZGVyJztcblxuLy8gU2ltcGxlIFJ1bnRpbWUgKENvb3JkaW5hdG9yIG9ubHkpXG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUnO1xuXG4vLyBCdWlsdC1pbiBBY3Rpdml0aWVzXG5leHBvcnQgKiBmcm9tICcuL2FjdGl2aXRpZXMnOyJdfQ==","import { Inject, NgModule, Optional, inject } from '@angular/core';\nimport { AXPWorkflowDecideAction } from './actions/decide.action';\nimport { AXPStartWorkflowAction } from './actions/start-workflow.action';\nimport { AXPWorkflowRegistryService } from './workflow-registery.service';\nimport { provideWorkflowActivityCommands } from './engine';\nimport { AXP_COMMAND_SETUP } from '@acorex/platform/runtime';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowModule {\n static forRoot(config) {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n provideWorkflowActivityCommands(),\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry) => () => {\n registry.registerAction('start-workflow', AXPStartWorkflowAction);\n registry.registerAction('decide', AXPWorkflowDecideAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true,\n },\n ...Object.values(config?.actions ?? { AXPStartWorkflowAction }),\n ...Object.values(config?.functions ?? {}),\n ],\n };\n }\n static forChild(config) {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n // Built-in activities are already registered in forRoot via @NgModule providers\n // No need to register again in forChild\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry) => () => {\n registry.registerAction('start-workflow', AXPStartWorkflowAction);\n registry.registerAction('decide', AXPWorkflowDecideAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true,\n },\n ...Object.values(config?.actions ?? {}),\n ...Object.values(config?.functions ?? {}),\n ],\n };\n }\n /**\n * @ignore\n */\n constructor(instances) {\n // Inject AXP_COMMAND_SETUP to trigger command registration factory\n this._commandSetup = inject(AXP_COMMAND_SETUP, { optional: true });\n instances?.forEach((f) => {\n f();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowModule, deps: [{ token: 'AXPWorkflowModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowModule, providers: [\n provideWorkflowActivityCommands(),\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n provideWorkflowActivityCommands(),\n ],\n }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['AXPWorkflowModuleFactory']\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL3dvcmtmbG93Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFRLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBcUI3RCxNQUFNLE9BQU8saUJBQWlCO0lBSTVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBaUM7UUFDOUMsT0FBTztZQUNMLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsU0FBUyxFQUFFO2dCQUNULCtCQUErQixFQUFFO2dCQUNqQztvQkFDRSxPQUFPLEVBQUUsMEJBQTBCO29CQUNuQyxVQUFVLEVBQUUsQ0FBQyxRQUFvQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7d0JBQ3pELFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQzt3QkFDbEUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsdUJBQXVCLENBQUMsQ0FBQzt3QkFDM0QsRUFBRTt3QkFDRixJQUFJLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQzs0QkFDdEIsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNB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WjtnQkFDRCxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7Z0JBQ3ZDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQzthQUMxQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUE0RCxTQUFnQjtRQW5GNUUsbUVBQW1FO1FBQzNELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFtRnBFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2QixDQUFDLEVBQUUsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F4RlUsaUJBQWlCLGtCQW9GSSwwQkFBMEI7Z0hBcEYvQyxpQkFBaUI7Z0hBQWpCLGlCQUFpQixhQUpqQjtZQUNULCtCQUErQixFQUFFO1NBQ2xDOzs0RkFFVSxpQkFBaUI7a0JBUjdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVCwrQkFBK0IsRUFBRTtxQkFDbEM7aUJBQ0Y7OzBCQXFGYyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBUeXBlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93RGVjaWRlQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zL2RlY2lkZS5hY3Rpb24nO1xuaW1wb3J0IHsgQVhQU3RhcnRXb3JrZmxvd0FjdGlvbiB9IGZyb20gJy4vYWN0aW9ucy9zdGFydC13b3JrZmxvdy5hY3Rpb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuL3dvcmtmbG93LXJlZ2lzdGVyeS5zZXJ2aWNlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dGdW5jdGlvbiB9IGZyb20gJy4vd29ya2Zsb3cudHlwZXMnO1xuaW1wb3J0IHsgcHJvdmlkZVdvcmtmbG93QWN0aXZpdHlDb21tYW5kcyB9IGZyb20gJy4vZW5naW5lJztcbmltcG9ydCB7IEFYUF9DT01NQU5EX1NFVFVQIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3dNb2R1bGVDb25maWdzIHtcbiAgZnVuY3Rpb25zPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBUeXBlPEFYUFdvcmtmbG93RnVuY3Rpb24+O1xuICB9O1xuICBhY3Rpb25zPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPjtcbiAgfTtcbiAgd29ya2Zsb3dzPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBBWFBXb3JrZmxvdztcbiAgfTtcbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlV29ya2Zsb3dBY3Rpdml0eUNvbW1hbmRzKCksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFdvcmtmbG93TW9kdWxlIHtcbiAgLy8gSW5qZWN0IEFYUF9DT01NQU5EX1NFVFVQIHRvIHRyaWdnZXIgY29tbWFuZCByZWdpc3RyYXRpb24gZmFjdG9yeVxuICBwcml2YXRlIF9jb21tYW5kU2V0dXAgPSBpbmplY3QoQVhQX0NPTU1BTkRfU0VUVVAsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogQVhQV29ya2Zsb3dNb2R1bGVDb25maWdzKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBWFBXb3JrZmxvd01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQVhQV29ya2Zsb3dNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZVdvcmtmbG93QWN0aXZpdHlDb21tYW5kcygpLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogJ0FYUFdvcmtmbG93TW9kdWxlRmFjdG9yeScsXG4gICAgICAgICAgdXNlRmFjdG9yeTogKHJlZ2lzdHJ5OiBBWFBXb3JrZmxvd1JlZ2lzdHJ5U2VydmljZSkgPT4gKCkgPT4ge1xuICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJBY3Rpb24oJ3N0YXJ0LXdvcmtmbG93JywgQVhQU3RhcnRXb3JrZmxvd0FjdGlvbik7XG4gICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckFjdGlvbignZGVjaWRlJywgQVhQV29ya2Zsb3dEZWNpZGVBY3Rpb24pO1xuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIGlmIChjb25maWc/LmZ1bmN0aW9ucykge1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbmZpZy5mdW5jdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJGdW5jdGlvbihrZXksIHR5cGUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgaWYgKGNvbmZpZz8uYWN0aW9ucykge1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbmZpZy5hY3Rpb25zKSkge1xuICAgICAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyQWN0aW9uKGtleSwgdHlwZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBpZiAoY29uZmlnPy53b3JrZmxvd3MpIHtcbiAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB0eXBlXSBvZiBPYmplY3QuZW50cmllcyhjb25maWcud29ya2Zsb3dzKSkge1xuICAgICAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyV29ya2Zsb3coa2V5LCB0eXBlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGVwczogW0FYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlXSxcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uT2JqZWN0LnZhbHVlcyhjb25maWc/LmFjdGlvbnMgPz8geyBBWFBTdGFydFdvcmtmbG93QWN0aW9uIH0pLFxuICAgICAgICAuLi5PYmplY3QudmFsdWVzKGNvbmZpZz8uZnVuY3Rpb25zID8/IHt9KSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBmb3JDaGlsZChjb25maWc/OiBBWFBXb3JrZmxvd01vZHVsZUNvbmZpZ3MpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFYUFdvcmtmbG93TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBWFBXb3JrZmxvd01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAvLyBCdWlsdC1pbiBhY3Rpdml0aWVzIGFyZSBhbHJlYWR5IHJlZ2lzdGVyZWQgaW4gZm9yUm9vdCB2aWEgQE5nTW9kdWxlIHByb3ZpZGVyc1xuICAgICAgICAvLyBObyBuZWVkIHRvIHJlZ2lzdGVyIGFnYWluIGluIGZvckNoaWxkXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiAnQVhQV29ya2Zsb3dNb2R1bGVGYWN0b3J5JyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlKSA9PiAoKSA9PiB7XG4gICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckFjdGlvbignc3RhcnQtd29ya2Zsb3cnLCBBWFBTdGFydFdvcmtmbG93QWN0aW9uKTtcbiAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyQWN0aW9uKCdkZWNpZGUnLCBBWFBXb3JrZmxvd0RlY2lkZUFjdGlvbik7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgaWYgKGNvbmZpZz8uZnVuY3Rpb25zKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmZ1bmN0aW9ucykpIHtcbiAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckZ1bmN0aW9uKGtleSwgdHlwZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBpZiAoY29uZmlnPy5hY3Rpb25zKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmFjdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJBY3Rpb24oa2V5LCB0eXBlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIGlmIChjb25maWc/LndvcmtmbG93cykge1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbmZpZy53b3JrZmxvd3MpKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJXb3JrZmxvdyhrZXksIHR5cGUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXBzOiBbQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICAuLi5PYmplY3QudmFsdWVzKGNvbmZpZz8uYWN0aW9ucyA/PyB7fSksXG4gICAgICAgIC4uLk9iamVjdC52YWx1ZXMoY29uZmlnPy5mdW5jdGlvbnMgPz8ge30pLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoJ0FYUFdvcmtmbG93TW9kdWxlRmFjdG9yeScpIGluc3RhbmNlczogYW55W10pIHtcbiAgICBpbnN0YW5jZXM/LmZvckVhY2goKGYpID0+IHtcbiAgICAgIGYoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LXBsYXRmb3JtLXdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvYWNvcmV4LXBsYXRmb3JtLXdvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1.AXPWorkflowRegistryService"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-workflow.mjs","sources":["../tmp-esm2022/workflow/lib/errors.types.js","../tmp-esm2022/workflow/lib/workflow-event-dispatcher.service.js","../tmp-esm2022/workflow/lib/workflow-registery.service.js","../tmp-esm2022/workflow/lib/workflow.types.js","../tmp-esm2022/workflow/lib/actions/decide.action.js","../tmp-esm2022/workflow/lib/workflow.service.js","../tmp-esm2022/workflow/lib/actions/start-workflow.action.js","../tmp-esm2022/workflow/lib/engine/workflow-instance.types.js","../tmp-esm2022/workflow/lib/engine/activity.types.js","../tmp-esm2022/workflow/lib/engine/activity-provider.service.js","../tmp-esm2022/workflow/lib/engine/activity-category.provider.js","../tmp-esm2022/workflow/lib/engine/runtime/workflow-execution.service.js","../tmp-esm2022/workflow/lib/engine/runtime/workflow-coordinator.js","../tmp-esm2022/workflow/lib/engine/runtime/workflow-execution.types.js","../tmp-esm2022/workflow/lib/engine/runtime/index.js","../tmp-esm2022/workflow/lib/engine/activities/write-line.activity.js","../tmp-esm2022/workflow/lib/engine/activities/sequence.activity.js","../tmp-esm2022/workflow/lib/engine/activities/show-confirm-dialog.activity.js","../tmp-esm2022/workflow/lib/engine/activities/show-alert-dialog.activity.js","../tmp-esm2022/workflow/lib/engine/activities/show-toast.activity.js","../tmp-esm2022/workflow/lib/engine/activities/navigate.activity.js","../tmp-esm2022/workflow/lib/engine/activities/set-variable.activity.js","../tmp-esm2022/workflow/lib/engine/activities/dispatch-event.activity.js","../tmp-esm2022/workflow/lib/engine/activities/if.activity.js","../tmp-esm2022/workflow/lib/engine/activities/while.activity.js","../tmp-esm2022/workflow/lib/engine/activities/for-each.activity.js","../tmp-esm2022/workflow/lib/engine/activities/execute-command.activity.js","../tmp-esm2022/workflow/lib/engine/activities/execute-query.activity.js","../tmp-esm2022/workflow/lib/engine/activities/start-activity.activity.js","../tmp-esm2022/workflow/lib/engine/activities/end-activity.activity.js","../tmp-esm2022/workflow/lib/engine/activities/activity-command-setups.js","../tmp-esm2022/workflow/lib/engine/activities/index.js","../tmp-esm2022/workflow/lib/engine/index.js","../tmp-esm2022/workflow/lib/workflow.module.js","../tmp-esm2022/workflow/acorex-platform-workflow.js"],"sourcesContent":["export class AXPWorkflowError extends Error {\n constructor(message, inner = null) {\n super(message);\n this.inner = inner;\n this.name = 'AXPWorkflowError';\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2Vycm9ycy50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsS0FBSztJQUN2QyxZQUFZLE9BQWUsRUFBUyxRQUFzQixJQUFJO1FBQzFELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURpQixVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQUUxRCxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDO0lBQ25DLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGlubmVyOiBFcnJvciB8IG51bGwgPSBudWxsKSB7XG4gICAgICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgICAgICB0aGlzLm5hbWUgPSAnQVhQV29ya2Zsb3dFcnJvcic7XG4gICAgfVxufSJdfQ==","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowEventService {\n constructor() {\n this.eventSubject = new Subject();\n }\n dispatch(event) {\n this.eventSubject.next(event);\n }\n get events$() {\n return this.eventSubject.asObservable();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowEventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowEventService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowEventService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL3dvcmtmbG93LWV2ZW50LWRpc3BhdGNoZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBTTNDLE1BQU0sT0FBTyx1QkFBdUI7SUFIcEM7UUFJVSxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFvQixDQUFDO0tBU3hEO0lBUEMsUUFBUSxDQUFDLEtBQXVCO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQzsrR0FUVSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzs0RkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dFdmVudCB9IGZyb20gJy4vd29ya2Zsb3cudHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQV29ya2Zsb3dFdmVudFNlcnZpY2Uge1xuICBwcml2YXRlIGV2ZW50U3ViamVjdCA9IG5ldyBTdWJqZWN0PEFYUFdvcmtmbG93RXZlbnQ+KCk7XG5cbiAgZGlzcGF0Y2goZXZlbnQ6IEFYUFdvcmtmbG93RXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50U3ViamVjdC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIGdldCBldmVudHMkKCk6IE9ic2VydmFibGU8QVhQV29ya2Zsb3dFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLmV2ZW50U3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowRegistryService {\n constructor() {\n this.functionsMap = new Map();\n this.actionsMap = new Map();\n this.workflowsMap = new Map();\n }\n registerWorkflow(name, workflow) {\n this.workflowsMap.set(name, workflow);\n }\n getWorkflow(name) {\n return this.workflowsMap.get(name);\n }\n registerAction(name, action) {\n this.actionsMap.set(name, action);\n }\n getAction(name) {\n return this.actionsMap.get(name);\n }\n registerFunction(name, func) {\n this.functionsMap.set(name, func);\n }\n getFunction(name) {\n return this.functionsMap.get(name);\n }\n getFunctionNames() {\n return Array.from(this.functionsMap.keys());\n }\n getStep(workflowName, stepName) {\n const workflow = this.workflowsMap.get(workflowName);\n if (workflow) {\n const steps = workflow.steps;\n return steps[stepName];\n }\n return undefined;\n }\n updateStepInWorkflow(workflowName, stepName, step) {\n const workflow = this.workflowsMap.get(workflowName);\n if (workflow) {\n const steps = workflow.steps;\n if (steps[stepName]) {\n steps[stepName] = step;\n }\n else {\n throw new Error(`Step with name ${stepName} does not exist in workflow ${workflowName}.`);\n }\n }\n else {\n throw new Error(`Workflow with name ${workflowName} does not exist.`);\n }\n }\n addStepToWorkflow(workflowName, stepName, step) {\n const workflow = this.workflowsMap.get(workflowName);\n if (workflow) {\n const steps = workflow.steps;\n if (!steps[stepName]) {\n steps[stepName] = step;\n }\n else {\n throw new Error(`Step with name ${stepName} already exists in workflow ${workflowName}.`);\n }\n }\n else {\n throw new Error(`Workflow with name ${workflowName} does not exist.`);\n }\n }\n addAfterStep(workflowId, stepId, newStepId, newStepAction, conditionExpression) {\n const step = this.getStep(workflowId, stepId);\n if (step != undefined) {\n this.addStepToWorkflow(workflowId, newStepId, {\n action: newStepAction,\n nextSteps: step.nextSteps,\n });\n this.updateStepInWorkflow(workflowId, stepId, {\n ...step,\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: conditionExpression }],\n nextStepId: newStepId,\n },\n ],\n });\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowRegistryService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowRegistryService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctcmVnaXN0ZXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvd29ya2Zsb3ctcmVnaXN0ZXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQzs7QUFNakQsTUFBTSxPQUFPLDBCQUEwQjtJQUh2QztRQUlVLGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQXFDLENBQUM7UUFDNUQsZUFBVSxHQUFHLElBQUksR0FBRyxFQUFtQyxDQUFDO1FBQ3hELGlCQUFZLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7S0E0RnZEO0lBMUZDLGdCQUFnQixDQUFDLElBQVksRUFBRSxRQUFxQjtRQUNsRCxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFZLEVBQUUsTUFBK0I7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxTQUFTLENBQUMsSUFBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsSUFBK0I7UUFDNUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWTtRQUN0QixPQUFPLElBQUksQ0FB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QUFDO0lBQ0gsQ0FBQzsrR0E5RlUsMEJBQTBCO21IQUExQiwwQkFBMEIsY0FGekIsTUFBTTs7NEZBRVAsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dGdW5jdGlvbiwgQVhQV29ya2Zsb3dTdGVwIH0gZnJvbSAnLi93b3JrZmxvdy50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd1JlZ2lzdHJ5U2VydmljZSB7XG4gIHByaXZhdGUgZnVuY3Rpb25zTWFwID0gbmV3IE1hcDxzdHJpbmcsIFR5cGU8QVhQV29ya2Zsb3dGdW5jdGlvbj4+KCk7XG4gIHByaXZhdGUgYWN0aW9uc01hcCA9IG5ldyBNYXA8c3RyaW5nLCBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPj4oKTtcbiAgcHJpdmF0ZSB3b3JrZmxvd3NNYXAgPSBuZXcgTWFwPHN0cmluZywgQVhQV29ya2Zsb3c+KCk7XG5cbiAgcmVnaXN0ZXJXb3JrZmxvdyhuYW1lOiBzdHJpbmcsIHdvcmtmbG93OiBBWFBXb3JrZmxvdyk6IHZvaWQge1xuICAgIHRoaXMud29ya2Zsb3dzTWFwLnNldChuYW1lLCB3b3JrZmxvdyk7XG4gIH1cblxuICBnZXRXb3JrZmxvdyhuYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvdyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMud29ya2Zsb3dzTWFwLmdldChuYW1lKTtcbiAgfVxuXG4gIHJlZ2lzdGVyQWN0aW9uKG5hbWU6IHN0cmluZywgYWN0aW9uOiBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPik6IHZvaWQge1xuICAgIHRoaXMuYWN0aW9uc01hcC5zZXQobmFtZSwgYWN0aW9uKTtcbiAgfVxuXG4gIGdldEFjdGlvbihuYW1lOiBzdHJpbmcpOiBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aW9uc01hcC5nZXQobmFtZSk7XG4gIH1cblxuICByZWdpc3RlckZ1bmN0aW9uKG5hbWU6IHN0cmluZywgZnVuYzogVHlwZTxBWFBXb3JrZmxvd0Z1bmN0aW9uPik6IHZvaWQge1xuICAgIHRoaXMuZnVuY3Rpb25zTWFwLnNldChuYW1lLCBmdW5jKTtcbiAgfVxuXG4gIGdldEZ1bmN0aW9uKG5hbWU6IHN0cmluZyk6IFR5cGU8QVhQV29ya2Zsb3dGdW5jdGlvbj4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmZ1bmN0aW9uc01hcC5nZXQobmFtZSk7XG4gIH1cblxuICBnZXRGdW5jdGlvbk5hbWVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmZ1bmN0aW9uc01hcC5rZXlzKCkpO1xuICB9XG5cbiAgZ2V0U3RlcCh3b3JrZmxvd05hbWU6IHN0cmluZywgc3RlcE5hbWU6IHN0cmluZyk6IEFYUFdvcmtmbG93U3RlcCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3Qgd29ya2Zsb3cgPSB0aGlzLndvcmtmbG93c01hcC5nZXQod29ya2Zsb3dOYW1lKTtcbiAgICBpZiAod29ya2Zsb3cpIHtcbiAgICAgIGNvbnN0IHN0ZXBzID0gd29ya2Zsb3cuc3RlcHMgYXMgeyBba2V5OiBzdHJpbmddOiBBWFBXb3JrZmxvd1N0ZXAgfTtcbiAgICAgIHJldHVybiBzdGVwc1tzdGVwTmFtZV07XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICB1cGRhdGVTdGVwSW5Xb3JrZmxvdyh3b3JrZmxvd05hbWU6IHN0cmluZywgc3RlcE5hbWU6IHN0cmluZywgc3RlcDogQVhQV29ya2Zsb3dTdGVwKTogdm9pZCB7XG4gICAgY29uc3Qgd29ya2Zsb3cgPSB0aGlzLndvcmtmbG93c01hcC5nZXQod29ya2Zsb3dOYW1lKTtcbiAgICBpZiAod29ya2Zsb3cpIHtcbiAgICAgIGNvbnN0IHN0ZXBzID0gd29ya2Zsb3cuc3RlcHMgYXMgeyBba2V5OiBzdHJpbmddOiBBWFBXb3JrZmxvd1N0ZXAgfTtcbiAgICAgIGlmIChzdGVwc1tzdGVwTmFtZV0pIHtcbiAgICAgICAgc3RlcHNbc3RlcE5hbWVdID0gc3RlcDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU3RlcCB3aXRoIG5hbWUgJHtzdGVwTmFtZX0gZG9lcyBub3QgZXhpc3QgaW4gd29ya2Zsb3cgJHt3b3JrZmxvd05hbWV9LmApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFdvcmtmbG93IHdpdGggbmFtZSAke3dvcmtmbG93TmFtZX0gZG9lcyBub3QgZXhpc3QuYCk7XG4gICAgfVxuICB9XG5cbiAgYWRkU3RlcFRvV29ya2Zsb3cod29ya2Zsb3dOYW1lOiBzdHJpbmcsIHN0ZXBOYW1lOiBzdHJpbmcsIHN0ZXA6IEFYUFdvcmtmbG93U3RlcCk6IHZvaWQge1xuICAgIGNvbnN0IHdvcmtmbG93ID0gdGhpcy53b3JrZmxvd3NNYXAuZ2V0KHdvcmtmbG93TmFtZSk7XG4gICAgaWYgKHdvcmtmbG93KSB7XG4gICAgICBjb25zdCBzdGVwcyA9IHdvcmtmbG93LnN0ZXBzIGFzIHsgW2tleTogc3RyaW5nXTogQVhQV29ya2Zsb3dTdGVwIH07XG4gICAgICBpZiAoIXN0ZXBzW3N0ZXBOYW1lXSkge1xuICAgICAgICBzdGVwc1tzdGVwTmFtZV0gPSBzdGVwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdGVwIHdpdGggbmFtZSAke3N0ZXBOYW1lfSBhbHJlYWR5IGV4aXN0cyBpbiB3b3JrZmxvdyAke3dvcmtmbG93TmFtZX0uYCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgV29ya2Zsb3cgd2l0aCBuYW1lICR7d29ya2Zsb3dOYW1lfSBkb2VzIG5vdCBleGlzdC5gKTtcbiAgICB9XG4gIH1cblxuICBhZGRBZnRlclN0ZXAoXG4gICAgd29ya2Zsb3dJZDogc3RyaW5nLFxuICAgIHN0ZXBJZDogc3RyaW5nLFxuICAgIG5ld1N0ZXBJZDogc3RyaW5nLFxuICAgIG5ld1N0ZXBBY3Rpb246IHN0cmluZyxcbiAgICBjb25kaXRpb25FeHByZXNzaW9uOiBzdHJpbmdcbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgc3RlcCA9IHRoaXMuZ2V0U3RlcCh3b3JrZmxvd0lkLCBzdGVwSWQpO1xuICAgIGlmIChzdGVwICE9IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5hZGRTdGVwVG9Xb3JrZmxvdyh3b3JrZmxvd0lkLCBuZXdTdGVwSWQsIHtcbiAgICAgICAgYWN0aW9uOiBuZXdTdGVwQWN0aW9uLFxuICAgICAgICBuZXh0U3RlcHM6IHN0ZXAubmV4dFN0ZXBzLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMudXBkYXRlU3RlcEluV29ya2Zsb3cod29ya2Zsb3dJZCwgc3RlcElkLCB7XG4gICAgICAgIC4uLnN0ZXAsXG4gICAgICAgIG5leHRTdGVwczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNvbmRpdGlvbnM6IFt7IHR5cGU6ICdTSU5HTEUnLCBleHByZXNzaW9uOiBjb25kaXRpb25FeHByZXNzaW9uIH1dLFxuICAgICAgICAgICAgbmV4dFN0ZXBJZDogbmV3U3RlcElkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { Injectable, inject } from '@angular/core';\nimport { filter } from 'rxjs';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { cloneDeep, get } from 'lodash-es';\nimport { setSmart } from '@acorex/platform/core';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowContext {\n constructor(initialData = {}) {\n this.variables = {};\n this.stepOutputs = new Map();\n this.variables = cloneDeep(initialData);\n }\n setVariable(key, value) {\n setSmart(this.variables, key, value);\n }\n setVariables(context = {}) {\n this.variables = { ...this.variables, ...context };\n }\n getVariable(key) {\n return !key ? this.variables : get(this.variables, key);\n }\n setOutput(key, output) {\n this.stepOutputs.set(key, output);\n }\n setOutputs(values) {\n this.stepOutputs = new Map([...this.stepOutputs, ...values]);\n }\n getOutput(key) {\n return this.stepOutputs.get(key);\n }\n}\nexport class AXPWorkflowAction {\n constructor() {\n this.eventService = inject(AXPWorkflowEventService);\n }\n dispatch(event) {\n this.eventService.dispatch(event);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowAction, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowAction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowAction, decorators: [{\n type: Injectable\n }] });\nexport class AXPWorkflowFunction {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowFunction, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowFunction }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowFunction, decorators: [{\n type: Injectable\n }] });\nexport function createWorkFlowEvent(type) {\n const eventCreator = (payload) => ({ type, payload });\n eventCreator.type = type;\n return eventCreator;\n}\nexport function ofType(...allowedTypes) {\n return filter((event) => allowedTypes.some((type) => event.type === type.type));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvd29ya2Zsb3cudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBUWpELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0IsWUFBWSxjQUFtQixFQUFFO1FBSXpCLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBcUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUpoRCxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBS0QsV0FBVyxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ2pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBR0QsWUFBWSxDQUFDLFVBQWUsRUFBRTtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELFdBQVcsQ0FBVSxHQUFtQjtRQUN0QyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsU0FBUyxDQUFDLEdBQVcsRUFBRSxNQUFXO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQXdCO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFBO0lBQzlELENBQUM7SUFFRCxTQUFTLENBQVUsR0FBVztRQUM1QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7Q0FDRjtBQXlCRCxNQUFNLE9BQWdCLGlCQUFpQjtJQUR2QztRQUVVLGlCQUFZLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7S0FPeEQ7SUFMVyxRQUFRLENBQUMsS0FBdUI7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzsrR0FMbUIsaUJBQWlCO21IQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBRHRDLFVBQVU7O0FBWVgsTUFBTSxPQUFnQixtQkFBbUI7K0dBQW5CLG1CQUFtQjttSEFBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUR4QyxVQUFVOztBQVlYLE1BQU0sVUFBVSxtQkFBbUIsQ0FBSSxJQUFZO0lBQ2pELE1BQU0sWUFBWSxHQUFHLENBQUMsT0FBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekQsWUFBWSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDekIsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQTZCLEdBQUcsWUFBcUM7SUFDekYsT0FBTyxNQUFNLENBQUMsQ0FBQyxLQUFRLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0V2ZW50U2VydmljZSB9IGZyb20gJy4vd29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgZ2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IHNldFNtYXJ0IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvdyB7XG4gIHN0ZXBzOiB7IFtzdGVwTmFtZTogc3RyaW5nXTogQVhQV29ya2Zsb3dTdGVwIH07XG4gIHN0YXJ0U3RlcElkOiBzdHJpbmc7XG59XG5cblxuZXhwb3J0IGNsYXNzIEFYUFdvcmtmbG93Q29udGV4dCB7XG5cbiAgY29uc3RydWN0b3IoaW5pdGlhbERhdGE6IGFueSA9IHt9KSB7XG4gICAgdGhpcy52YXJpYWJsZXMgPSBjbG9uZURlZXAoaW5pdGlhbERhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSB2YXJpYWJsZXM6IGFueSA9IHt9O1xuICBwcml2YXRlIHN0ZXBPdXRwdXRzOiBNYXA8c3RyaW5nLCBhbnk+ID0gbmV3IE1hcCgpO1xuXG4gIHNldFZhcmlhYmxlKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgc2V0U21hcnQodGhpcy52YXJpYWJsZXMsIGtleSwgdmFsdWUpO1xuICB9XG5cblxuICBzZXRWYXJpYWJsZXMoY29udGV4dDogYW55ID0ge30pIHtcbiAgICB0aGlzLnZhcmlhYmxlcyA9IHsgLi4udGhpcy52YXJpYWJsZXMsIC4uLmNvbnRleHQgfTtcbiAgfVxuXG4gIGdldFZhcmlhYmxlPFQgPSBhbnk+KGtleT86IHN0cmluZyB8IG51bGwpOiBUIHtcbiAgICByZXR1cm4gIWtleSA/IHRoaXMudmFyaWFibGVzIDogZ2V0KHRoaXMudmFyaWFibGVzLCBrZXkpO1xuICB9XG5cbiAgc2V0T3V0cHV0KGtleTogc3RyaW5nLCBvdXRwdXQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc3RlcE91dHB1dHMuc2V0KGtleSwgb3V0cHV0KTtcbiAgfVxuXG4gIHNldE91dHB1dHModmFsdWVzOiBNYXA8c3RyaW5nLCBhbnk+KTogdm9pZCB7XG4gICAgdGhpcy5zdGVwT3V0cHV0cyA9IG5ldyBNYXAoWy4uLnRoaXMuc3RlcE91dHB1dHMsIC4uLnZhbHVlc10pXG4gIH1cblxuICBnZXRPdXRwdXQ8VCA9IGFueT4oa2V5OiBzdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwT3V0cHV0cy5nZXQoa2V5KTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBBWFBXb3JrZmxvd0FjdGlvbklucHV0ID0gYW55O1xuXG5leHBvcnQgdHlwZSBBWFBXb3JrZmxvd0NvbmRpdGlvblR5cGUgPSAnQU5EJyB8ICdPUicgfCAnU0lOR0xFJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvd0NvbmRpdGlvbiB7XG4gIHR5cGU6IEFYUFdvcmtmbG93Q29uZGl0aW9uVHlwZTtcbiAgY29uZGl0aW9ucz86IEFYUFdvcmtmbG93Q29uZGl0aW9uW107IC8vIE5lc3RlZCBjb25kaXRpb25zXG4gIGV4cHJlc3Npb24/OiBzdHJpbmc7IC8vIFVzZWQgaWYgdHlwZSBpcyAnU0lOR0xFJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdvcmtmbG93TmV4dFN0ZXAge1xuICBjb25kaXRpb25zOiBBWFBXb3JrZmxvd0NvbmRpdGlvbltdO1xuICBuZXh0U3RlcElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3dTdGVwIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIGFjdGlvbjogQVhQV29ya2Zsb3dBY3Rpb24gfCBzdHJpbmc7XG4gIGlucHV0PzogQVhQV29ya2Zsb3dBY3Rpb25JbnB1dDtcbiAgbmV4dFN0ZXBzPzogQVhQV29ya2Zsb3dOZXh0U3RlcFtdO1xuICBjb25kaXRpb25zPzogQVhQV29ya2Zsb3dDb25kaXRpb25bXTtcbn1cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgZXZlbnRTZXJ2aWNlID0gaW5qZWN0KEFYUFdvcmtmbG93RXZlbnRTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgZGlzcGF0Y2goZXZlbnQ6IEFYUFdvcmtmbG93RXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50U2VydmljZS5kaXNwYXRjaChldmVudCk7XG4gIH1cblxuICBhYnN0cmFjdCBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBWFBXb3JrZmxvd0Z1bmN0aW9uIHtcbiAgYWJzdHJhY3QgZXhlY3V0ZSguLi5hcmdzOiBhbnlbXSk6IFByb21pc2U8YW55PiB8IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvd0V2ZW50PFQgPSBhbnk+IHtcbiAgdHlwZTogc3RyaW5nO1xuICBwYXlsb2FkPzogVDtcbn1cblxuXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVXb3JrRmxvd0V2ZW50PFQ+KHR5cGU6IHN0cmluZykge1xuICBjb25zdCBldmVudENyZWF0b3IgPSAocGF5bG9hZDogVCkgPT4gKHsgdHlwZSwgcGF5bG9hZCB9KTtcbiAgZXZlbnRDcmVhdG9yLnR5cGUgPSB0eXBlO1xuICByZXR1cm4gZXZlbnRDcmVhdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2ZUeXBlPFQgZXh0ZW5kcyB7IHR5cGU6IHN0cmluZyB9PiguLi5hbGxvd2VkVHlwZXM6IEFycmF5PHsgdHlwZTogc3RyaW5nIH0+KSB7XG4gIHJldHVybiBmaWx0ZXIoKGV2ZW50OiBUKSA9PiBhbGxvd2VkVHlwZXMuc29tZSgodHlwZSkgPT4gZXZlbnQudHlwZSA9PT0gdHlwZS50eXBlKSk7XG59XG4iXX0=","import { Injectable } from \"@angular/core\";\nimport { AXPWorkflowAction } from \"../workflow.types\";\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowDecideAction extends AXPWorkflowAction {\n async execute(context) {\n // its a fake action\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowDecideAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowDecideAction, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowDecideAction, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjaWRlLmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi9hY3Rpb25zL2RlY2lkZS5hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQXNCLE1BQU0sbUJBQW1CLENBQUM7O0FBTTFFLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxpQkFBaUI7SUFDMUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUNyQyxvQkFBb0I7SUFDeEIsQ0FBQzsrR0FIUSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQUZwQixNQUFNOzs0RkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0IH0gZnJvbSBcIi4uL3dvcmtmbG93LnR5cGVzXCI7XG5cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQVhQV29ya2Zsb3dEZWNpZGVBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy8gaXRzIGEgZmFrZSBhY3Rpb25cbiAgICB9XG59Il19","import { Injectable, Injector, inject } from '@angular/core';\nimport { cloneDeep, set } from 'lodash-es';\nimport { AXPWorkflowError } from './errors.types';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { AXPWorkflowRegistryService } from './workflow-registery.service';\nimport { AXPWorkflowContext, } from './workflow.types';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./workflow-registery.service\";\nexport class AXPWorkflowService {\n get events$() {\n return this.eventService.events$;\n }\n constructor(registryService, injector) {\n this.registryService = registryService;\n this.injector = injector;\n this.eventService = inject(AXPWorkflowEventService);\n }\n exists(name) {\n return !!this.registryService.getWorkflow(name);\n }\n async execute(workflow, initialContext = null) {\n // Instantiate or retrieve the workflow\n const wk = typeof workflow === 'string' ? this.getWorkflowInstance(workflow) : workflow;\n let currentStepId = wk.startStepId;\n const context = initialContext instanceof AXPWorkflowContext\n ? initialContext\n : new AXPWorkflowContext(this.processData(initialContext) ?? {});\n // Initialize context with initial variables\n while (currentStepId) {\n const currentStep = wk.steps[currentStepId];\n if (!currentStep) {\n throw new AXPWorkflowError(`Step '${currentStepId}' not found in the workflow steps.`);\n }\n // Instantiate or retrieve the action\n const action = typeof currentStep.action === 'string' ? this.getActionInstance(currentStep.action) : currentStep.action;\n //\n if (currentStep.input) {\n let inputs = {};\n await this.processInputs(cloneDeep(currentStep.input), inputs, '', context);\n await new Promise((resolve) => setTimeout(async () => {\n Object.assign(action, inputs);\n resolve(0);\n }));\n }\n try {\n await new Promise((resolve) => setTimeout(async () => {\n await action.execute(context);\n resolve(0);\n }, 0));\n }\n catch (error) {\n console.error(error);\n throw new AXPWorkflowError('Workflow Error', error);\n }\n // Determine the next step based on the conditions\n const nextStepInfo = await this.determineNextStep(currentStep, context);\n if (nextStepInfo) {\n currentStepId = nextStepInfo.nextStepId;\n }\n else {\n break; // Exit the loop if no next step is determined\n }\n }\n return context;\n }\n processData(initialContext) {\n //TODO: update values with expressions and return new object\n return initialContext;\n }\n getActionInstance(actionName) {\n const actionType = this.registryService.getAction(actionName);\n if (!actionType) {\n throw new AXPWorkflowError(`Action type '${actionName}' not found in the registry.`);\n }\n return this.injector.get(actionType);\n }\n getWorkflowInstance(workflowName) {\n const workflowType = this.registryService.getWorkflow(workflowName);\n if (!workflowType) {\n throw new AXPWorkflowError(`Workflow type '${workflowName}' not found in the registry.`);\n }\n return workflowType;\n }\n async determineNextStep(currentStep, context) {\n if (!currentStep.nextSteps) {\n return null;\n }\n for (const nextStep of currentStep.nextSteps) {\n if (await this.evaluateCondition(nextStep.conditions, context)) {\n return nextStep;\n }\n }\n return null;\n }\n async evaluateCondition(conditions, context) {\n if (!conditions || conditions.length === 0) {\n return true; // If no conditions, the step proceeds\n }\n // Map each condition to a promise using evaluateSingleCondition\n const conditionPromises = conditions.map((condition) => this.evaluateSingleCondition(condition, context));\n // Wait for all promises to resolve\n const results = await Promise.all(conditionPromises);\n // Check if every condition is true\n return results.every((result) => result);\n }\n async evaluateSingleCondition(condition, context) {\n switch (condition.type) {\n case 'SINGLE':\n return (!condition.expression ? true : await this.evaluateExpression(condition.expression, context));\n case 'AND':\n // Evaluate all conditions with 'AND' logic\n const andConditions = condition.conditions ?? [];\n const andResults = await Promise.all(andConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return andResults.every((result) => result);\n case 'OR':\n // Evaluate all conditions with 'OR' logic\n const orConditions = condition.conditions ?? [];\n const orResults = await Promise.all(orConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return orResults.some((result) => result);\n default:\n throw new AXPWorkflowError(`Unsupported condition type: ${condition.type}`);\n }\n }\n //TODO: return any and recursively update object, update scopes\n async evaluateExpression(templateExpression, context) {\n try {\n let expression = '';\n if (typeof templateExpression === 'string' && templateExpression.trim().includes('{{')) {\n const expressionMatch = templateExpression.match(/\\{\\{\\s*(.*?)\\s*\\}\\}/);\n if (!expressionMatch) {\n throw Error(`No valid expression found in \"${templateExpression}\"`);\n }\n expression = expressionMatch[1];\n }\n else {\n expression = templateExpression;\n }\n // Create a scope that includes context and registered functions\n const scope = { context, ...this.createFunctionScope() };\n // Evaluating the expression within the created scope\n const sandbox = new Function('scope', `return (async function() { with (scope) { return ${expression}; } })();`);\n const result = await sandbox(scope);\n return result;\n }\n catch (error) {\n console.error('Error evaluating expression:', error);\n return false;\n }\n }\n async processInputs(obj, inputs, pathPrefix = '', context = {}) {\n if (!obj) {\n return;\n }\n for await (const i of Object.entries(obj)) {\n const key = i[0];\n const value = i[1];\n const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;\n if (typeof value === 'string' && value.trim().includes('{{')) {\n const expValue = await this.evaluateExpression(value, context);\n set(inputs, currentPath, expValue);\n }\n else if (typeof value === 'object' &&\n value !== null &&\n (value.constructor === Object || Array.isArray(value))) {\n // Recursively handle nested objects\n this.processInputs(value, inputs, currentPath, context);\n }\n else {\n // Apply static values directly\n set(inputs, currentPath, value);\n }\n }\n }\n createFunctionScope() {\n const scope = {};\n this.registryService.getFunctionNames().forEach((name) => {\n scope[name] = this.getFunctionInstance(name).execute;\n });\n return { methods: { scope } };\n }\n getFunctionInstance(functionName) {\n const functionType = this.registryService.getFunction(functionName);\n if (!functionType) {\n throw new AXPWorkflowError(`Function type '${functionName}' not found in the registry.`);\n }\n return this.injector.get(functionType);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowService, deps: [{ token: i1.AXPWorkflowRegistryService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }], ctorParameters: () => [{ type: i1.AXPWorkflowRegistryService }, { type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi93b3JrZmxvdy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRSxPQUFPLEVBSUwsa0JBQWtCLEdBS25CLE1BQU0sa0JBQWtCLENBQUM7OztBQUsxQixNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQW9CLGVBQTJDLEVBQVUsUUFBa0I7UUFBdkUsb0JBQWUsR0FBZixlQUFlLENBQTRCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQU5uRixpQkFBWSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBTXdDLENBQUM7SUFFaEcsTUFBTSxDQUFDLElBQVk7UUFDakIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUdELEtBQUssQ0FBQyxPQUFPLENBQ1gsUUFBOEIsRUFDOUIsaUJBQWtELElBQUk7UUFFdEQsdUNBQXVDO1FBQ3ZDLE1BQU0sRUFBRSxHQUFHLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMs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SUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUMxRCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sK0JBQStCO2dCQUMvQixHQUFHLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxtQkFBbUI7UUFDekIsTUFBTSxLQUFLLEdBQVEsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN2RCxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxZQUFvQjtRQUM5QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLGdCQUFnQixDQUFDLGtCQUFrQixZQUFZLDhCQUE4QixDQUFDLENBQUM7UUFDM0YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsQ0FBQzsrR0FwTlUsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7NEZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCwgc2V0IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYUFdvcmtmbG93RXJyb3IgfSBmcm9tICcuL2Vycm9ycy50eXBlcyc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd0V2ZW50U2VydmljZSB9IGZyb20gJy4vd29ya2Zsb3ctZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnLi93b3JrZmxvdy1yZWdpc3Rlcnkuc2VydmljZSc7XG5pbXBvcnQge1xuICBBWFBXb3JrZmxvdyxcbiAgQVhQV29ya2Zsb3dBY3Rpb24sXG4gIEFYUFdvcmtmbG93Q29uZGl0aW9uLFxuICBBWFBXb3JrZmxvd0NvbnRleHQsXG4gIEFYUFdvcmtmbG93RXZlbnQsXG4gIEFYUFdvcmtmbG93RnVuY3Rpb24sXG4gIEFYUFdvcmtmbG93TmV4dFN0ZXAsXG4gIEFYUFdvcmtmbG93U3RlcCxcbn0gZnJvbSAnLi93b3JrZmxvdy50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBXb3JrZmxvd1NlcnZpY2Uge1xuICBwcml2YXRlIGV2ZW50U2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd0V2ZW50U2VydmljZSk7XG5cbiAgZ2V0IGV2ZW50cyQoKTogT2JzZXJ2YWJsZTxBWFBXb3JrZmxvd0V2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuZXZlbnRTZXJ2aWNlLmV2ZW50cyQ7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZ2lzdHJ5U2VydmljZTogQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2UsIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7IH1cblxuICBleGlzdHMobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0V29ya2Zsb3cobmFtZSk7XG4gIH1cblxuXG4gIGFzeW5jIGV4ZWN1dGUoXG4gICAgd29ya2Zsb3c6IEFYUFdvcmtmbG93IHwgc3RyaW5nLFxuICAgIGluaXRpYWxDb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQgfCBhbnkgfCBudWxsID0gbnVsbFxuICApOiBQcm9taXNlPEFYUFdvcmtmbG93Q29udGV4dD4ge1xuICAgIC8vIEluc3RhbnRpYXRlIG9yIHJldHJpZXZlIHRoZSB3b3JrZmxvd1xuICAgIGNvbnN0IHdrID0gdHlwZW9mIHdvcmtmbG93ID09PSAnc3RyaW5nJyA/IHRoaXMuZ2V0V29ya2Zsb3dJbnN0YW5jZSh3b3JrZmxvdykgOiB3b3JrZmxvdztcblxuICAgIGxldCBjdXJyZW50U3RlcElkID0gd2suc3RhcnRTdGVwSWQ7XG4gICAgY29uc3QgY29udGV4dCA9XG4gICAgICBpbml0aWFsQ29udGV4dCBpbnN0YW5jZW9mIEFYUFdvcmtmbG93Q29udGV4dFxuICAgICAgICA/IGluaXRpYWxDb250ZXh0XG4gICAgICAgIDogbmV3IEFYUFdvcmtmbG93Q29udGV4dCh0aGlzLnByb2Nlc3NEYXRhKGluaXRpYWxDb250ZXh0KSA/PyB7fSk7XG4gICAgLy8gSW5pdGlhbGl6ZSBjb250ZXh0IHdpdGggaW5pdGlhbCB2YXJpYWJsZXNcblxuICAgIHdoaWxlIChjdXJyZW50U3RlcElkKSB7XG4gICAgICBjb25zdCBjdXJyZW50U3RlcCA9IHdrLnN0ZXBzW2N1cnJlbnRTdGVwSWRdO1xuICAgICAgaWYgKCFjdXJyZW50U3RlcCkge1xuICAgICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcihgU3RlcCAnJHtjdXJyZW50U3RlcElkfScgbm90IGZvdW5kIGluIHRoZSB3b3JrZmxvdyBzdGVwcy5gKTtcbiAgICAgIH1cblxuICAgICAgLy8gSW5zdGFudGlhdGUgb3IgcmV0cmlldmUgdGhlIGFjdGlvblxuICAgICAgY29uc3QgYWN0aW9uID1cbiAgICAgICAgdHlwZW9mIGN1cnJlbnRTdGVwLmFjdGlvbiA9PT0gJ3N0cmluZycgPyB0aGlzLmdldEFjdGlvbkluc3RhbmNlKGN1cnJlbnRTdGVwLmFjdGlvbikgOiBjdXJyZW50U3RlcC5hY3Rpb247XG4gICAgICAvL1xuICAgICAgaWYgKGN1cnJlbnRTdGVwLmlucHV0KSB7XG4gICAgICAgIGxldCBpbnB1dHM6IGFueSA9IHt9O1xuICAgICAgICBhd2FpdCB0aGlzLnByb2Nlc3NJbnB1dHMoY2xvbmVEZWVwKGN1cnJlbnRTdGVwLmlucHV0KSwgaW5wdXRzLCAnJywgY29udGV4dCk7XG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PlxuICAgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihhY3Rpb24sIGlucHV0cyk7XG4gICAgICAgICAgICByZXNvbHZlKDApO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT5cbiAgICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGFjdGlvbi5leGVjdXRlKGNvbnRleHQpO1xuICAgICAgICAgICAgcmVzb2x2ZSgwKTtcbiAgICAgICAgICB9LCAwKVxuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgIHRocm93IG5ldyBBWFBXb3JrZmxvd0Vycm9yKCdXb3JrZmxvdyBFcnJvcicsIGVycm9yIGFzIEVycm9yKTtcbiAgICAgIH1cbiAgICAgIC8vIERldGVybWluZSB0aGUgbmV4dCBzdGVwIGJhc2VkIG9uIHRoZSBjb25kaXRpb25zXG4gICAgICBjb25zdCBuZXh0U3RlcEluZm8gPSBhd2FpdCB0aGlzLmRldGVybWluZU5leHRTdGVwKGN1cnJlbnRTdGVwLCBjb250ZXh0KTtcbiAgICAgIGlmIChuZXh0U3RlcEluZm8pIHtcbiAgICAgICAgY3VycmVudFN0ZXBJZCA9IG5leHRTdGVwSW5mby5uZXh0U3RlcElkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWs7IC8vIEV4aXQgdGhlIGxvb3AgaWYgbm8gbmV4dCBzdGVwIGlzIGRldGVybWluZWRcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH1cblxuICBwcml2YXRlIHByb2Nlc3NEYXRhKGluaXRpYWxDb250ZXh0OiBhbnkpOiBhbnkge1xuICAgIC8vVE9ETzogdXBkYXRlIHZhbHVlcyB3aXRoIGV4cHJlc3Npb25zIGFuZCByZXR1cm4gbmV3IG9iamVjdFxuICAgIHJldHVybiBpbml0aWFsQ29udGV4dDtcbiAgfVxuXG5cblxuICBwcml2YXRlIGdldEFjdGlvbkluc3RhbmNlKGFjdGlvbk5hbWU6IHN0cmluZyk6IEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgICBjb25zdCBhY3Rpb25UeXBlID0gdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0QWN0aW9uKGFjdGlvbk5hbWUpO1xuICAgIGlmICghYWN0aW9uVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoYEFjdGlvbiB0eXBlICcke2FjdGlvbk5hbWV9JyBub3QgZm91bmQgaW4gdGhlIHJlZ2lzdHJ5LmApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoYWN0aW9uVHlwZSk7XG4gIH1cblxuICBwcml2YXRlIGdldFdvcmtmbG93SW5zdGFuY2Uod29ya2Zsb3dOYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvdyB7XG4gICAgY29uc3Qgd29ya2Zsb3dUeXBlID0gdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0V29ya2Zsb3cod29ya2Zsb3dOYW1lKTtcbiAgICBpZiAoIXdvcmtmbG93VHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoYFdvcmtmbG93IHR5cGUgJyR7d29ya2Zsb3dOYW1lfScgbm90IGZvdW5kIGluIHRoZSByZWdpc3RyeS5gKTtcbiAgICB9XG4gICAgcmV0dXJuIHdvcmtmbG93VHlwZTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGV0ZXJtaW5lTmV4dFN0ZXAoXG4gICAgY3VycmVudFN0ZXA6IEFYUFdvcmtmbG93U3RlcCxcbiAgICBjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHRcbiAgKTogUHJvbWlzZTxBWFBXb3JrZmxvd05leHRTdGVwIHwgbnVsbD4ge1xuICAgIGlmICghY3VycmVudFN0ZXAubmV4dFN0ZXBzKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZm9yIChjb25zdCBuZXh0U3RlcCBvZiBjdXJyZW50U3RlcC5uZXh0U3RlcHMpIHtcbiAgICAgIGlmIChhd2FpdCB0aGlzLmV2YWx1YXRlQ29uZGl0aW9uKG5leHRTdGVwLmNvbmRpdGlvbnMsIGNvbnRleHQpKSB7XG4gICAgICAgIHJldHVybiBuZXh0U3RlcDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlQ29uZGl0aW9uKGNvbmRpdGlvbnM6IEFYUFdvcmtmbG93Q29uZGl0aW9uW10sIGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICghY29uZGl0aW9ucyB8fCBjb25kaXRpb25zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHRydWU7IC8vIElmIG5vIGNvbmRpdGlvbnMsIHRoZSBzdGVwIHByb2NlZWRzXG4gICAgfVxuXG4gICAgLy8gTWFwIGVhY2ggY29uZGl0aW9uIHRvIGEgcHJvbWlzZSB1c2luZyBldmFsdWF0ZVNpbmdsZUNvbmRpdGlvblxuICAgIGNvbnN0IGNvbmRpdGlvblByb21pc2VzID0gY29uZGl0aW9ucy5tYXAoKGNvbmRpdGlvbikgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kaXRpb24sIGNvbnRleHQpKTtcblxuICAgIC8vIFdhaXQgZm9yIGFsbCBwcm9taXNlcyB0byByZXNvbHZlXG4gICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKGNvbmRpdGlvblByb21pc2VzKTtcblxuICAgIC8vIENoZWNrIGlmIGV2ZXJ5IGNvbmRpdGlvbiBpcyB0cnVlXG4gICAgcmV0dXJuIHJlc3VsdHMuZXZlcnkoKHJlc3VsdCkgPT4gcmVzdWx0KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZXZhbHVhdGVTaW5nbGVDb25kaXRpb24oXG4gICAgY29uZGl0aW9uOiBBWFBXb3JrZmxvd0NvbmRpdGlvbixcbiAgICBjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHRcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgc3dpdGNoIChjb25kaXRpb24udHlwZSkge1xuICAgICAgY2FzZSAnU0lOR0xFJzpcbiAgICAgICAgcmV0dXJuICghY29uZGl0aW9uLmV4cHJlc3Npb24gPyB0cnVlIDogYXdhaXQgdGhpcy5ldmFsdWF0ZUV4cHJlc3Npb24oY29uZGl0aW9uLmV4cHJlc3Npb24sIGNvbnRleHQpKSBhcyBib29sZWFuO1xuICAgICAgY2FzZSAnQU5EJzpcbiAgICAgICAgLy8gRXZhbHVhdGUgYWxsIGNvbmRpdGlvbnMgd2l0aCAnQU5EJyBsb2dpY1xuICAgICAgICBjb25zdCBhbmRDb25kaXRpb25zID0gY29uZGl0aW9uLmNvbmRpdGlvbnMgPz8gW107XG4gICAgICAgIGNvbnN0IGFuZFJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbChhbmRDb25kaXRpb25zLm1hcCgoY29uZCkgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kLCBjb250ZXh0KSkpO1xuICAgICAgICByZXR1cm4gYW5kUmVzdWx0cy5ldmVyeSgocmVzdWx0KSA9PiByZXN1bHQpO1xuXG4gICAgICBjYXNlICdPUic6XG4gICAgICAgIC8vIEV2YWx1YXRlIGFsbCBjb25kaXRpb25zIHdpdGggJ09SJyBsb2dpY1xuICAgICAgICBjb25zdCBvckNvbmRpdGlvbnMgPSBjb25kaXRpb24uY29uZGl0aW9ucyA/PyBbXTtcbiAgICAgICAgY29uc3Qgb3JSZXN1bHRzID0gYXdhaXQgUHJvbWlzZS5hbGwob3JDb25kaXRpb25zLm1hcCgoY29uZCkgPT4gdGhpcy5ldmFsdWF0ZVNpbmdsZUNvbmRpdGlvbihjb25kLCBjb250ZXh0KSkpO1xuICAgICAgICByZXR1cm4gb3JSZXN1bHRzLnNvbWUoKHJlc3VsdCkgPT4gcmVzdWx0KTtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEFYUFdvcmtmbG93RXJyb3IoYFVuc3VwcG9ydGVkIGNvbmRpdGlvbiB0eXBlOiAke2NvbmRpdGlvbi50eXBlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8vVE9ETzogcmV0dXJuIGFueSBhbmQgcmVjdXJzaXZlbHkgdXBkYXRlIG9iamVjdCwgdXBkYXRlIHNjb3Blc1xuICBwcml2YXRlIGFzeW5jIGV2YWx1YXRlRXhwcmVzc2lvbih0ZW1wbGF0ZUV4cHJlc3Npb246IHN0cmluZywgY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTxCb29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGxldCBleHByZXNzaW9uID0gJyc7XG4gICAgICBpZiAodHlwZW9mIHRlbXBsYXRlRXhwcmVzc2lvbiA9PT0gJ3N0cmluZycgJiYgdGVtcGxhdGVFeHByZXNzaW9uLnRyaW0oKS5pbmNsdWRlcygne3snKSkge1xuICAgICAgICBjb25zdCBleHByZXNzaW9uTWF0Y2ggPSB0ZW1wbGF0ZUV4cHJlc3Npb24ubWF0Y2goL1xce1xce1xccyooLio/KVxccypcXH1cXH0vKTtcbiAgICAgICAgaWYgKCFleHByZXNzaW9uTWF0Y2gpIHtcbiAgICAgICAgICB0aHJvdyBFcnJvcihgTm8gdmFsaWQgZXhwcmVzc2lvbiBmb3VuZCBpbiBcIiR7dGVtcGxhdGVFeHByZXNzaW9ufVwiYCk7XG4gICAgICAgIH1cbiAgICAgICAgZXhwcmVzc2lvbiA9IGV4cHJlc3Npb25NYXRjaFsxXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGV4cHJlc3Npb24gPSB0ZW1wbGF0ZUV4cHJlc3Npb247XG4gICAgICB9XG4gICAgICAvLyBDcmVhdGUgYSBzY29wZSB0aGF0IGluY2x1ZGVzIGNvbnRleHQgYW5kIHJlZ2lzdGVyZWQgZnVuY3Rpb25zXG4gICAgICBjb25zdCBzY29wZSA9IHsgY29udGV4dCwgLi4udGhpcy5jcmVhdGVGdW5jdGlvblNjb3BlKCkgfTtcbiAgICAgIC8vIEV2YWx1YXRpbmcgdGhlIGV4cHJlc3Npb24gd2l0aGluIHRoZSBjcmVhdGVkIHNjb3BlXG4gICAgICBjb25zdCBzYW5kYm94ID0gbmV3IEZ1bmN0aW9uKCdzY29wZScsIGByZXR1cm4gKGFzeW5jIGZ1bmN0aW9uKCkgeyB3aXRoIChzY29wZSkgeyByZXR1cm4gJHtleHByZXNzaW9ufTsgfSB9KSgpO2ApO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2FuZGJveChzY29wZSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBldmFsdWF0aW5nIGV4cHJlc3Npb246JywgZXJyb3IpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcHJvY2Vzc0lucHV0cyhvYmo6IGFueSwgaW5wdXRzOiBhbnksIHBhdGhQcmVmaXg6IHN0cmluZyA9ICcnLCBjb250ZXh0OiBhbnkgPSB7fSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghb2JqKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZm9yIGF3YWl0IChjb25zdCBpIG9mIE9iamVjdC5lbnRyaWVzKG9iaikpIHtcbiAgICAgIGNvbnN0IGtleSA9IGlbMF07XG4gICAgICBjb25zdCB2YWx1ZSA9IGlbMV07XG4gICAgICBjb25zdCBjdXJyZW50UGF0aCA9IHBhdGhQcmVmaXggPyBgJHtwYXRoUHJlZml4fS4ke2tleX1gIDoga2V5O1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUudHJpbSgpLmluY2x1ZGVzKCd7eycpKSB7XG4gICAgICAgIGNvbnN0IGV4cFZhbHVlID0gYXdhaXQgdGhpcy5ldmFsdWF0ZUV4cHJlc3Npb24odmFsdWUsIGNvbnRleHQpO1xuICAgICAgICBzZXQoaW5wdXRzLCBjdXJyZW50UGF0aCwgZXhwVmFsdWUpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICAgICB2YWx1ZSAhPT0gbnVsbCAmJlxuICAgICAgICAodmFsdWUuY29uc3RydWN0b3IgPT09IE9iamVjdCB8fCBBcnJheS5pc0FycmF5KHZhbHVlKSlcbiAgICAgICkge1xuICAgICAgICAvLyBSZWN1cnNpdmVseSBoYW5kbGUgbmVzdGVkIG9iamVjdHNcbiAgICAgICAgdGhpcy5wcm9jZXNzSW5wdXRzKHZhbHVlLCBpbnB1dHMsIGN1cnJlbnRQYXRoLCBjb250ZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFwcGx5IHN0YXRpYyB2YWx1ZXMgZGlyZWN0bHlcbiAgICAgICAgc2V0KGlucHV0cywgY3VycmVudFBhdGgsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZ1bmN0aW9uU2NvcGUoKTogYW55IHtcbiAgICBjb25zdCBzY29wZTogYW55ID0ge307XG4gICAgdGhpcy5yZWdpc3RyeVNlcnZpY2UuZ2V0RnVuY3Rpb25OYW1lcygpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIHNjb3BlW25hbWVdID0gdGhpcy5nZXRGdW5jdGlvbkluc3RhbmNlKG5hbWUpLmV4ZWN1dGU7XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgbWV0aG9kczogeyBzY29wZSB9IH07XG4gIH1cblxuICBwcml2YXRlIGdldEZ1bmN0aW9uSW5zdGFuY2UoZnVuY3Rpb25OYW1lOiBzdHJpbmcpOiBBWFBXb3JrZmxvd0Z1bmN0aW9uIHtcbiAgICBjb25zdCBmdW5jdGlvblR5cGUgPSB0aGlzLnJlZ2lzdHJ5U2VydmljZS5nZXRGdW5jdGlvbihmdW5jdGlvbk5hbWUpO1xuICAgIGlmICghZnVuY3Rpb25UeXBlKSB7XG4gICAgICB0aHJvdyBuZXcgQVhQV29ya2Zsb3dFcnJvcihgRnVuY3Rpb24gdHlwZSAnJHtmdW5jdGlvbk5hbWV9JyBub3QgZm91bmQgaW4gdGhlIHJlZ2lzdHJ5LmApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pbmplY3Rvci5nZXQoZnVuY3Rpb25UeXBlKTtcbiAgfVxufVxuIl19","import { inject, Injectable } from \"@angular/core\";\nimport { AXPWorkflowAction } from \"../workflow.types\";\nimport { AXPWorkflowService } from \"../workflow.service\";\nimport * as i0 from \"@angular/core\";\nexport class AXPStartWorkflowAction extends AXPWorkflowAction {\n constructor() {\n super(...arguments);\n this.workflowService = inject(AXPWorkflowService);\n }\n async execute(context) {\n //console.log(\"start WK current context\", context);\n //console.log(\"start WK input context\", this.context);\n if (this.context)\n context.setVariables(this.context);\n //console.log(\"start WK merged context\", context);\n try {\n await this.workflowService.execute(this.workflow, context);\n }\n catch (e) {\n throw e;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPStartWorkflowAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPStartWorkflowAction, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPStartWorkflowAction, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtd29ya2Zsb3cuYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2FjdGlvbnMvc3RhcnQtd29ya2Zsb3cuYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFLekQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLGlCQUFpQjtJQUg3RDs7UUFLWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBO0tBa0J2RDtJQWRHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDckMsbURBQW1EO1FBQ25ELHNEQUFzRDtRQUN0RCxJQUFJLElBQUksQ0FBQyxPQUFPO1lBQ1osT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDdEMsa0RBQWtEO1FBQ2xELElBQUksQ0FBQztZQUNELE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsT0FBTyxDQUFVLEVBQUUsQ0FBQztZQUNoQixNQUFNLENBQUMsQ0FBQztRQUNaLENBQUM7SUFFTCxDQUFDOytHQW5CUSxzQkFBc0I7bUhBQXRCLHNCQUFzQixjQUZuQixNQUFNOzs0RkFFVCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFYUFdvcmtmbG93QWN0aW9uLCBBWFBXb3JrZmxvd0NvbnRleHQgfSBmcm9tIFwiLi4vd29ya2Zsb3cudHlwZXNcIjtcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSB9IGZyb20gXCIuLi93b3JrZmxvdy5zZXJ2aWNlXCI7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFN0YXJ0V29ya2Zsb3dBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG5cbiAgICBwcml2YXRlIHdvcmtmbG93U2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd1NlcnZpY2UpXG4gICAgcHJpdmF0ZSB3b3JrZmxvdzogc3RyaW5nO1xuICAgIHByaXZhdGUgY29udGV4dDogYW55O1xuXG4gICAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcInN0YXJ0IFdLIGN1cnJlbnQgY29udGV4dFwiLCBjb250ZXh0KTtcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcInN0YXJ0IFdLIGlucHV0IGNvbnRleHRcIiwgdGhpcy5jb250ZXh0KTtcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dClcbiAgICAgICAgICAgIGNvbnRleHQuc2V0VmFyaWFibGVzKHRoaXMuY29udGV4dClcbiAgICAgICAgLy9jb25zb2xlLmxvZyhcInN0YXJ0IFdLIG1lcmdlZCBjb250ZXh0XCIsIGNvbnRleHQpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy53b3JrZmxvd1NlcnZpY2UuZXhlY3V0ZSh0aGlzLndvcmtmbG93LCBjb250ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4iXX0=","// ============================================\n// WORKFLOW INSTANCE v3.0.0 TYPES\n// Based on Elsa Workflow Instance schema: https://elsaworkflows.io/schemas/workflow-instance/v3.0.0/schema.json\n// Compatible with Elsa backend while using ACoreX naming conventions\n// ============================================\nexport {};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctaW5zdGFuY2UudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL3dvcmtmbG93LWluc3RhbmNlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxpQ0FBaUM7QUFDakMsZ0hBQWdIO0FBQ2hILHFFQUFxRTtBQUNyRSwrQ0FBK0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gV09SS0ZMT1cgSU5TVEFOQ0UgdjMuMC4wIFRZUEVTXG4vLyBCYXNlZCBvbiBFbHNhIFdvcmtmbG93IEluc3RhbmNlIHNjaGVtYTogaHR0cHM6Ly9lbHNhd29ya2Zsb3dzLmlvL3NjaGVtYXMvd29ya2Zsb3ctaW5zdGFuY2UvdjMuMC4wL3NjaGVtYS5qc29uXG4vLyBDb21wYXRpYmxlIHdpdGggRWxzYSBiYWNrZW5kIHdoaWxlIHVzaW5nIEFDb3JlWCBuYW1pbmcgY29udmVudGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogV29ya2Zsb3cgc3RhdHVzLlxuICovXG5leHBvcnQgdHlwZSBBWFBXb3JrZmxvd1N0YXR1cyA9ICdSdW5uaW5nJyB8ICdGaW5pc2hlZCc7XG5cbi8qKlxuICogV29ya2Zsb3cgc3ViLXN0YXR1cy5cbiAqL1xuZXhwb3J0IHR5cGUgQVhQV29ya2Zsb3dTdWJTdGF0dXMgPSAnUGVuZGluZycgfCAnRXhlY3V0aW5nJyB8ICdTdXNwZW5kZWQnIHwgJ0ZpbmlzaGVkJyB8ICdDYW5jZWxsZWQnIHwgJ0ZhdWx0ZWQnO1xuXG4vKipcbiAqIEFjdGl2aXR5IHN0YXR1cy5cbiAqL1xuZXhwb3J0IHR5cGUgQVhQQWN0aXZpdHlTdGF0dXMgPSAnUnVubmluZycgfCAnQ29tcGxldGVkJyB8ICdDYW5jZWxlZCcgfCAnRmF1bHRlZCc7XG5cbi8qKlxuICogRXhjZXB0aW9uIHN0YXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEV4Y2VwdGlvblN0YXRlIHtcbiAgLyoqXG4gICAqIEV4Y2VwdGlvbiB0eXBlIG5hbWUuXG4gICAqL1xuICB0eXBlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4Y2VwdGlvbiBtZXNzYWdlLlxuICAgKi9cbiAgbWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdGFjayB0cmFjZSAobnVsbGFibGUpLlxuICAgKi9cbiAgc3RhY2tUcmFjZT86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIElubmVyIGV4Y2VwdGlvbiAobnVsbGFibGUpLlxuICAgKi9cbiAgaW5uZXJFeGNlcHRpb24/OiBBWFBFeGNlcHRpb25TdGF0ZSB8IG51bGw7XG59XG5cbi8qKlxuICogQWN0aXZpdHkgaW5jaWRlbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQWN0aXZpdHlJbmNpZGVudCB7XG4gIC8qKlxuICAgKiBBY3Rpdml0eSBJRCB0aGF0IGNhdXNlZCB0aGUgaW5jaWRlbnQuXG4gICAqL1xuICBhY3Rpdml0eUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFjdGl2aXR5IG5vZGUgSUQuXG4gICAqL1xuICBhY3Rpdml0eU5vZGVJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBY3Rpdml0eSB0eXBlLlxuICAgKi9cbiAgYWN0aXZpdHlUeXBlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluY2lkZW50IG1lc3NhZ2UuXG4gICAqL1xuICBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4Y2VwdGlvbiAobnVsbGFibGUpLlxuICAgKi9cbiAgZXhjZXB0aW9uPzogQVhQRXhjZXB0aW9uU3RhdGUgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaW1lc3RhbXAgKElTTyBkYXRlLXRpbWUpLlxuICAgKi9cbiAgdGltZXN0YW1wOiBzdHJpbmc7XG59XG5cbi8qKlxuICogV29ya2Zsb3cgZmF1bHQgc3RhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3dGYXVsdFN0YXRlIHtcbiAgLyoqXG4gICAqIEV4Y2VwdGlvbiAobnVsbGFibGUpLlxuICAgKi9cbiAgZXhjZXB0aW9uPzogQVhQRXhjZXB0aW9uU3RhdGUgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBGYXVsdCBtZXNzYWdlLlxuICAgKi9cbiAgbWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGYXVsdGVkIGFjdGl2aXR5IElEIChudWxsYWJsZSkuXG4gICAqL1xuICBmYXVsdGVkQWN0aXZpdHlJZD86IHN0cmluZyB8IG51bGw7XG59XG5cbi8qKlxuICogQm9va21hcmsuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQm9va21hcmsge1xuICAvKipcbiAgICogQm9va21hcmsgSUQuXG4gICAqL1xuICBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCb29rbWFyayBuYW1lLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCb29rbWFyayBoYXNoLlxuICAgKi9cbiAgaGFzaDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCb29rbWFyayBwYXlsb2FkIChudWxsYWJsZSkuXG4gICAqL1xuICBwYXlsb2FkPzogYW55IHwgbnVsbDtcblxuICAvKipcbiAgICogQWN0aXZpdHkgbm9kZSBJRC5cbiAgICovXG4gIGFjdGl2aXR5Tm9kZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFjdGl2aXR5IGluc3RhbmNlIElELlxuICAgKi9cbiAgYWN0aXZpdHlJbnN0YW5jZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEF1dG8gYnVybiBmbGFnLlxuICAgKi9cbiAgYXV0b0J1cm4/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDYWxsYmFjayBtZXRob2QgbmFtZSAobnVsbGFibGUpLlxuICAgKi9cbiAgY2FsbGJhY2tNZXRob2ROYW1lPzogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogTWV0YWRhdGEgKG51bGxhYmxlKS5cbiAgICovXG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IG51bGw7XG59XG5cbi8qKlxuICogQ29tcGxldGlvbiBjYWxsYmFjayBzdGF0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBDb21wbGV0aW9uQ2FsbGJhY2tTdGF0ZSB7XG4gIC8qKlxuICAgKiBPd25lciBhY3Rpdml0eSBpbnN0YW5jZSBJRC5cbiAgICovXG4gIG93bmVySW5zdGFuY2VJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDaGlsZCBhY3Rpdml0eSBub2RlIElELlxuICAgKi9cbiAgY2hpbGROb2RlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogTWV0aG9kIG5hbWUgKG51bGxhYmxlKS5cbiAgICovXG4gIG1ldGhvZE5hbWU/OiBzdHJpbmcgfCBudWxsO1xufVxuXG4vKipcbiAqIFZhcmlhYmxlIChmb3IgYWN0aXZpdHkgY29udGV4dCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQWN0aXZpdHlWYXJpYWJsZSB7XG4gIC8qKlxuICAgKiBWYXJpYWJsZSBJRC5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZhcmlhYmxlIG5hbWUuXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFR5cGUgbmFtZS5cbiAgICovXG4gIHR5cGVOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElzIGFycmF5IGZsYWcuXG4gICAqL1xuICBpc0FycmF5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVmFyaWFibGUgdmFsdWUgKG51bGxhYmxlKS5cbiAgICovXG4gIHZhbHVlPzogYW55IHwgbnVsbDtcblxuICAvKipcbiAgICogU3RvcmFnZSBkcml2ZXIgdHlwZSBuYW1lIChudWxsYWJsZSkuXG4gICAqL1xuICBzdG9yYWdlRHJpdmVyVHlwZU5hbWU/OiBzdHJpbmcgfCBudWxsO1xufVxuXG4vKipcbiAqIEFjdGl2aXR5IGV4ZWN1dGlvbiBjb250ZXh0IHN0YXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEFjdGl2aXR5RXhlY3V0aW9uQ29udGV4dFN0YXRlIHtcbiAgLyoqXG4gICAqIENvbnRleHQgSUQgKGFjdGl2aXR5IGluc3RhbmNlIElEKS5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFBhcmVudCBjb250ZXh0IElEIChudWxsYWJsZSkuXG4gICAqL1xuICBwYXJlbnRDb250ZXh0SWQ/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBTY2hlZHVsZWQgYWN0aXZpdHkgbm9kZSBJRC5cbiAgICovXG4gIHNjaGVkdWxlZEFjdGl2aXR5Tm9kZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE93bmVyIGFjdGl2aXR5IG5vZGUgSUQgKG51bGxhYmxlKS5cbiAgICovXG4gIG93bmVyQWN0aXZpdHlOb2RlSWQ/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBQcm9wZXJ0aWVzIGJhZy5cbiAgICovXG4gIHByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgLyoqXG4gICAqIEFjdGl2aXR5IHN0YXRlIChldmFsdWF0ZWQgcHJvcGVydGllcykgKG51bGxhYmxlKS5cbiAgICovXG4gIGFjdGl2aXR5U3RhdGU/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgbnVsbDtcblxuICAvKipcbiAgICogRHluYW1pYyB2YXJpYWJsZXMuXG4gICAqL1xuICBkeW5hbWljVmFyaWFibGVzOiBBWFBBY3Rpdml0eVZhcmlhYmxlW107XG5cbiAgLyoqXG4gICAqIEFjdGl2aXR5IHN0YXR1cy5cbiAgICovXG4gIHN0YXR1czogQVhQQWN0aXZpdHlTdGF0dXM7XG5cbiAgLyoqXG4gICAqIElzIGV4ZWN1dGluZyBmbGFnLlxuICAgKi9cbiAgaXNFeGVjdXRpbmc6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZhdWx0IGNvdW50LlxuICAgKi9cbiAgZmF1bHRDb3VudDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTdGFydGVkIGF0IHRpbWVzdGFtcCAoSVNPIGRhdGUtdGltZSkuXG4gICAqL1xuICBzdGFydGVkQXQ6IHN0cmluZztcblxuICAvKipcbiAgICogQ29tcGxldGVkIGF0IHRpbWVzdGFtcCAoSVNPIGRhdGUtdGltZSwgbnVsbGFibGUpLlxuICAgKi9cbiAgY29tcGxldGVkQXQ/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUYWcgKG51bGxhYmxlKS5cbiAgICovXG4gIHRhZz86IGFueSB8IG51bGw7XG59XG5cbi8qKlxuICogV29ya2Zsb3cgc3RhdGUgKGludGVybmFsIGV4ZWN1dGlvbiBzdGF0ZSkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3dTdGF0ZSB7XG4gIC8qKlxuICAgKiBTdGF0ZSBJRC5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdvcmtmbG93IGRlZmluaXRpb24gSUQuXG4gICAqL1xuICBkZWZpbml0aW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogV29ya2Zsb3cgZGVmaW5pdGlvbiB2ZXJzaW9uLlxuICAgKi9cbiAgZGVmaW5pdGlvblZlcnNpb246IG51bWJlcjtcblxuICAvKipcbiAgICogQ29ycmVsYXRpb24gSUQgKG51bGxhYmxlKS5cbiAgICovXG4gIGNvcnJlbGF0aW9uSWQ/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBXb3JrZmxvdyBzdGF0dXMuXG4gICAqL1xuICBzdGF0dXM6IEFYUFdvcmtmbG93U3RhdHVzO1xuXG4gIC8qKlxuICAgKiBXb3JrZmxvdyBzdWItc3RhdHVzLlxuICAgKi9cbiAgc3ViU3RhdHVzOiBBWFBXb3JrZmxvd1N1YlN0YXR1cztcblxuICAvKipcbiAgICogQm9va21hcmtzLlxuICAgKi9cbiAgYm9va21hcmtzOiBBWFBCb29rbWFya1tdO1xuXG4gIC8qKlxuICAgKiBJbmNpZGVudHMuXG4gICAqL1xuICBpbmNpZGVudHM6IEFYUEFjdGl2aXR5SW5jaWRlbnRbXTtcblxuICAvKipcbiAgICogRmF1bHQgKG51bGxhYmxlKS5cbiAgICovXG4gIGZhdWx0PzogQVhQV29ya2Zsb3dGYXVsdFN0YXRlIHwgbnVsbDtcblxuICAvKipcbiAgICogQ29tcGxldGlvbiBjYWxsYmFja3MuXG4gICAqL1xuICBjb21wbGV0aW9uQ2FsbGJhY2tzOiBBWFBDb21wbGV0aW9uQ2FsbGJhY2tTdGF0ZVtdO1xuXG4gIC8qKlxuICAgKiBBY3Rpdml0eSBleGVjdXRpb24gY29udGV4dHMuXG4gICAqL1xuICBhY3Rpdml0eUV4ZWN1dGlvbkNvbnRleHRzOiBBWFBBY3Rpdml0eUV4ZWN1dGlvbkNvbnRleHRTdGF0ZVtdO1xuXG4gIC8qKlxuICAgKiBJbnB1dCBkYXRhLlxuICAgKi9cbiAgaW5wdXQ6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgLyoqXG4gICAqIE91dHB1dCBkYXRhLlxuICAgKi9cbiAgb3V0cHV0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gIC8qKlxuICAgKiBQcm9wZXJ0aWVzIGJhZy5cbiAgICovXG4gIHByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgLyoqXG4gICAqIENyZWF0ZWQgYXQgdGltZXN0YW1wIChJU08gZGF0ZS10aW1lKS5cbiAgICovXG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVcGRhdGVkIGF0IHRpbWVzdGFtcCAoSVNPIGRhdGUtdGltZSkuXG4gICAqL1xuICB1cGRhdGVkQXQ6IHN0cmluZztcblxuICAvKipcbiAgICogRmluaXNoZWQgYXQgdGltZXN0YW1wIChJU08gZGF0ZS10aW1lLCBudWxsYWJsZSkuXG4gICAqL1xuICBmaW5pc2hlZEF0Pzogc3RyaW5nIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBXb3JrZmxvdyBpbnN0YW5jZSAoc3RvcmVkIGluIGRhdGFiYXNlKS5cbiAqIFRoaXMgbWF0Y2hlcyB0aGUgRWxzYSBXb3JrZmxvdyBJbnN0YW5jZSBzY2hlbWEgZm9yIGJhY2tlbmQgY29tcGF0aWJpbGl0eS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBXb3JrZmxvd0luc3RhbmNlIHtcbiAgLyoqXG4gICAqIFNjaGVtYSByZWZlcmVuY2UuXG4gICAqL1xuICAkc2NoZW1hPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBVbmlxdWUgaW5zdGFuY2UgSUQuXG4gICAqL1xuICBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXb3JrZmxvdyBkZWZpbml0aW9uIElELlxuICAgKi9cbiAgZGVmaW5pdGlvbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdvcmtmbG93IGRlZmluaXRpb24gdmVyc2lvbiBJRC5cbiAgICovXG4gIGRlZmluaXRpb25WZXJzaW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogV29ya2Zsb3cgZGVmaW5pdGlvbiB2ZXJzaW9uIG51bWJlci5cbiAgICovXG4gIHZlcnNpb246IG51bWJlcjtcblxuICAvKipcbiAgICogUGFyZW50IHdvcmtmbG93IGluc3RhbmNlIElEIChudWxsYWJsZSwgZm9yIGNoaWxkIHdvcmtmbG93cykuXG4gICAqL1xuICBwYXJlbnRXb3JrZmxvd0luc3RhbmNlSWQ/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBXb3JrZmxvdyBzdGF0ZSAoaW50ZXJuYWwgZXhlY3V0aW9uIHN0YXRlKS5cbiAgICovXG4gIHdvcmtmbG93U3RhdGU6IEFYUFdvcmtmbG93U3RhdGU7XG5cbiAgLyoqXG4gICAqIFdvcmtmbG93IHN0YXR1cy5cbiAgICovXG4gIHN0YXR1czogQVhQV29ya2Zsb3dTdGF0dXM7XG5cbiAgLyoqXG4gICAqIFdvcmtmbG93IHN1Yi1zdGF0dXMuXG4gICAqL1xuICBzdWJTdGF0dXM6IEFYUFdvcmtmbG93U3ViU3RhdHVzO1xuXG4gIC8qKlxuICAgKiBDb3JyZWxhdGlvbiBJRCAobnVsbGFibGUpLlxuICAgKi9cbiAgY29ycmVsYXRpb25JZD86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIG5hbWUgKG51bGxhYmxlKS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBJbmNpZGVudCBjb3VudC5cbiAgICovXG4gIGluY2lkZW50Q291bnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogQ3JlYXRlZCBhdCB0aW1lc3RhbXAgKElTTyBkYXRlLXRpbWUpLlxuICAgKi9cbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVwZGF0ZWQgYXQgdGltZXN0YW1wIChJU08gZGF0ZS10aW1lKS5cbiAgICovXG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGaW5pc2hlZCBhdCB0aW1lc3RhbXAgKElTTyBkYXRlLXRpbWUsIG51bGxhYmxlKS5cbiAgICovXG4gIGZpbmlzaGVkQXQ/OiBzdHJpbmcgfCBudWxsO1xufVxuXG4iXX0=","/**\n * Base abstract class for activities.\n * Extend this to create custom activities.\n */\nexport class Activity {\n constructor(type, name) {\n this.type = type;\n this.name = name;\n }\n /**\n * Helper method that returns Done outcome by default.\n */\n createResult(output, outcome = 'Done') {\n return {\n output,\n outcomes: { [outcome]: true }\n };\n }\n}\n/**\n * Activity registry for registering and creating activities.\n */\nexport class ActivityRegistry {\n constructor() {\n this.registry = new Map();\n this.descriptors = new Map();\n }\n /**\n * Register an activity type.\n */\n register(type, factory, descriptor) {\n this.registry.set(type, factory);\n this.descriptors.set(type, descriptor);\n }\n /**\n * Create an activity instance.\n */\n create(type) {\n const factory = this.registry.get(type);\n if (!factory) {\n throw new Error(`Unknown activity type: ${type}`);\n }\n return factory();\n }\n /**\n * Get activity descriptor.\n */\n getDescriptor(type) {\n return this.descriptors.get(type);\n }\n /**\n * Get all registered types.\n */\n getTypes() {\n return Array.from(this.registry.keys());\n }\n /**\n * Get all descriptors.\n */\n getAllDescriptors() {\n return Array.from(this.descriptors.values());\n }\n /**\n * Get descriptors by category.\n */\n getDescriptorsByCategory(category) {\n return this.getAllDescriptors().filter(d => d.category === category);\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXR5LnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdDQTs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLFFBQVE7SUFJNUIsWUFBWSxJQUFZLEVBQUUsSUFBYTtRQUNyQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBUUQ7O09BRUc7SUFDTyxZQUFZLENBQUMsTUFBZSxFQUFFLFVBQWtCLE1BQU07UUFDOUQsT0FBTztZQUNMLE1BQU07WUFDTixRQUFRLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRTtTQUM5QixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcUdEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUE3QjtRQUNVLGFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBMkIsQ0FBQztRQUM5QyxnQkFBVyxHQUFHLElBQUksR0FBRyxFQUE4QixDQUFDO0lBb0Q5RCxDQUFDO0lBbERDOztPQUVHO0lBQ0gsUUFBUSxDQUNOLElBQVksRUFDWixPQUF3QixFQUN4QixVQUE4QjtRQUU5QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFZO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLElBQUksRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUNELE9BQU8sT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYSxDQUFDLElBQVk7UUFDeEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUI7UUFDZixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7T0FFRztJQUNILHdCQUF3QixDQUFDLFFBQWdCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQztJQUN2RSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBDb21tYW5kIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vcnVudGltZVwiO1xuaW1wb3J0IHsgQVhQVmFsaWRhdGlvblJ1bGVzIH0gZnJvbSBcIkBhY29yZXgvcGxhdGZvcm0vY29yZVwiO1xuaW1wb3J0IHsgQVhQV2lkZ2V0VHlwZXNNYXAgfSBmcm9tIFwiQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmVcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNJTVBMSUZJRUQgQUNUSVZJVFkgU1lTVEVNXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5UHJvcGVydHlXaWRnZXQge1xuICB0eXBlOiBBWFBXaWRnZXRUeXBlc01hcFtrZXlvZiBBWFBXaWRnZXRUeXBlc01hcF0gfCBzdHJpbmc7XG4gIG9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufVxuXG4vKipcbiAqIFNpbXBsZSBhY3Rpdml0eSBpbnRlcmZhY2UgLSBqdXN0IGEgY29tbWFuZCB3aXRoIG91dGNvbWVzLlxuICogQWxsIGFjdGl2aXRpZXMgYXJlIEFYUENvbW1hbmQgZm9yIHVuaWZpZWQgZXhlY3V0aW9uIHRocm91Z2ggQ29tbWFuZCBCdXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFjdGl2aXR5PFRJbnB1dCA9IGFueSwgVE91dHB1dCA9IGFueT4gZXh0ZW5kcyBBWFBDb21tYW5kPFRJbnB1dCwge1xuICBvdXRwdXQ6IFRPdXRwdXQ7XG4gIG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufT4ge1xuICAvKipcbiAgICogQWN0aXZpdHkgdHlwZSBuYW1lLlxuICAgKiBFeGFtcGxlOiBcIldyaXRlTGluZVwiLCBcIlNob3dEaWFsb2dcIiwgXCJDcmVhdGVVc2VyQ29tbWFuZFwiXG4gICAqL1xuICB0eXBlOiBzdHJpbmc7XG4gIFxuICAvKipcbiAgICogRGlzcGxheSBuYW1lIGZvciBVSS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIFxuICAvKipcbiAgICogRXhlY3V0ZSB0aGUgYWN0aXZpdHkgYXMgYSBjb21tYW5kLlxuICAgKiBAcGFyYW0gaW5wdXQgLSBBY3Rpdml0eSBpbnB1dCBkYXRhXG4gICAqIEByZXR1cm5zIFByb21pc2Ugd2l0aCBvdXRwdXQgYW5kIG91dGNvbWVzXG4gICAqL1xuICBleGVjdXRlKGlucHV0OiBUSW5wdXQpOiBQcm9taXNlPHsgb3V0cHV0OiBUT3V0cHV0OyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9Pjtcbn1cblxuLyoqXG4gKiBCYXNlIGFic3RyYWN0IGNsYXNzIGZvciBhY3Rpdml0aWVzLlxuICogRXh0ZW5kIHRoaXMgdG8gY3JlYXRlIGN1c3RvbSBhY3Rpdml0aWVzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWN0aXZpdHk8VElucHV0ID0gYW55LCBUT3V0cHV0ID0gYW55PiBpbXBsZW1lbnRzIElBY3Rpdml0eTxUSW5wdXQsIFRPdXRwdXQ+IHtcbiAgdHlwZTogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHR5cGU6IHN0cmluZywgbmFtZT86IHN0cmluZykge1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIHRoZSBhY3Rpdml0eSBhcyBhIGNvbW1hbmQuXG4gICAqIE92ZXJyaWRlIHRoaXMgbWV0aG9kIGluIHN1YmNsYXNzZXMgdG8gaW1wbGVtZW50IGFjdGl2aXR5IGxvZ2ljLlxuICAgKi9cbiAgYWJzdHJhY3QgZXhlY3V0ZShpbnB1dDogVElucHV0KTogUHJvbWlzZTx7IG91dHB1dDogVE91dHB1dDsgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfT47XG4gIFxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0aGF0IHJldHVybnMgRG9uZSBvdXRjb21lIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlUmVzdWx0KG91dHB1dDogVE91dHB1dCwgb3V0Y29tZTogc3RyaW5nID0gJ0RvbmUnKTogeyBvdXRwdXQ6IFRPdXRwdXQ7IG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0ge1xuICAgIHJldHVybiB7XG4gICAgICBvdXRwdXQsXG4gICAgICBvdXRjb21lczogeyBbb3V0Y29tZV06IHRydWUgfVxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBBY3Rpdml0eSBkZXNjcmlwdG9yIC0gbWV0YWRhdGEgYWJvdXQgYW4gYWN0aXZpdHkgdHlwZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eURlc2NyaXB0b3Ige1xuICAvKipcbiAgICogQWN0aXZpdHkgdHlwZSBuYW1lLlxuICAgKi9cbiAgdHlwZTogc3RyaW5nO1xuICBcbiAgLyoqXG4gICAqIERpc3BsYXkgbmFtZSBmb3IgVUkuXG4gICAqL1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICBcbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIG9mIHdoYXQgdGhlIGFjdGl2aXR5IGRvZXMuXG4gICAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgXG4gIC8qKlxuICAgKiBDYXRlZ29yeSBmb3IgZ3JvdXBpbmcgaW4gdG9vbGJveC5cbiAgICovXG4gIGNhdGVnb3J5OiBzdHJpbmc7XG4gIFxuICAvKipcbiAgICogSWNvbiBuYW1lIG9yIGNsYXNzLlxuICAgKi9cbiAgaWNvbj86IHN0cmluZztcbiAgXG4gIC8qKlxuICAgKiBXaGVyZSB0aGlzIGFjdGl2aXR5IHNob3VsZCBiZSBleGVjdXRlZC5cbiAgICogLSAnZnJvbnRlbmQnOiBFeGVjdXRlIGluIGJyb3dzZXIgKFVJIGFjdGl2aXRpZXMsIGNvbnNvbGUsIGV2ZW50cylcbiAgICogLSAnYmFja2VuZCc6IEV4ZWN1dGUgaW4gYmFja2VuZCAoYnVzaW5lc3MgbG9naWMsIEFQSSBjYWxscylcbiAgICogLSAnYm90aCc6IEV4ZWN1dGUgaW4gYm90aCBmcm9udGVuZCBhbmQgYmFja2VuZCAoaHlicmlkIGFjdGl2aXRpZXMpXG4gICAqIFxuICAgKiBEZWZhdWx0OiAnZnJvbnRlbmQnXG4gICAqL1xuICBleGVjdXRpb25Nb2RlPzogJ2Zyb250ZW5kJyB8ICdiYWNrZW5kJyB8ICdib3RoJztcbiAgXG4gIC8qKlxuICAgKiBJbnB1dCBkZXNjcmlwdG9ycy5cbiAgICovXG4gIGlucHV0czogSW5wdXREZXNjcmlwdG9yW107XG4gIFxuICAvKipcbiAgICogT3V0cHV0IGRlc2NyaXB0b3JzLlxuICAgKi9cbiAgb3V0cHV0czogT3V0cHV0RGVzY3JpcHRvcltdO1xuICBcbiAgLyoqXG4gICAqIFN0YXRpYyBvdXRjb21lcyAoZXhpdCBwb2ludHMpLlxuICAgKiBFeGFtcGxlOiBbJ0RvbmUnLCAnU3VjY2VzcycsICdGYWlsZWQnXVxuICAgKi9cbiAgb3V0Y29tZXM/OiBzdHJpbmdbXTtcbiAgXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgYWN0aXZpdHkgaXMgYnJvd3NhYmxlIGluIHRoZSB0b29sYm94LlxuICAgKiBEZWZhdWx0OiB0cnVlXG4gICAqL1xuICBpc0Jyb3dzYWJsZT86IGJvb2xlYW47XG4gIFxuICAvKipcbiAgICogV2hldGhlciB0aGlzIGFjdGl2aXR5IGlzIGEgY29udGFpbmVyIChjYW4gaGF2ZSBjaGlsZHJlbikuXG4gICAqIERlZmF1bHQ6IGZhbHNlXG4gICAqL1xuICBpc0NvbnRhaW5lcj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogSW5wdXQgcHJvcGVydHkgZGVzY3JpcHRvci5cbiAqIFNpbWlsYXIgdG8gQVhQRW50aXR5UHJvcGVydHkgc3RydWN0dXJlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElucHV0RGVzY3JpcHRvciB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHNjaGVtYToge1xuICAgIGRhdGFUeXBlOiBzdHJpbmc7XG4gICAgbnVsbGFibGU/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5PzogYm9vbGVhbjtcbiAgICBoaWRkZW4/OiBib29sZWFuIHwgc3RyaW5nO1xuICAgIGRlZmF1bHRWYWx1ZT86IGFueSB8IHN0cmluZyB8ICgoY29udGV4dDogYW55IHwgbnVsbCkgPT4gYW55KTtcbiAgICBpbnRlcmZhY2U/OiBBY3Rpdml0eVByb3BlcnR5V2lkZ2V0O1xuICB9O1xuICB2YWxpZGF0aW9ucz86IEFYUFZhbGlkYXRpb25SdWxlcztcbn1cblxuLyoqXG4gKiBPdXRwdXQgcHJvcGVydHkgZGVzY3JpcHRvci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPdXRwdXREZXNjcmlwdG9yIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgc2NoZW1hOiB7XG4gICAgZGF0YVR5cGU6IHN0cmluZztcbiAgfTtcbn1cblxuLyoqXG4gKiBBY3Rpdml0eSByZWdpc3RyeSBmb3IgcmVnaXN0ZXJpbmcgYW5kIGNyZWF0aW5nIGFjdGl2aXRpZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBY3Rpdml0eVJlZ2lzdHJ5IHtcbiAgcHJpdmF0ZSByZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCAoKSA9PiBJQWN0aXZpdHk+KCk7XG4gIHByaXZhdGUgZGVzY3JpcHRvcnMgPSBuZXcgTWFwPHN0cmluZywgQWN0aXZpdHlEZXNjcmlwdG9yPigpO1xuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhbiBhY3Rpdml0eSB0eXBlLlxuICAgKi9cbiAgcmVnaXN0ZXIoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGZhY3Rvcnk6ICgpID0+IElBY3Rpdml0eSxcbiAgICBkZXNjcmlwdG9yOiBBY3Rpdml0eURlc2NyaXB0b3JcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RyeS5zZXQodHlwZSwgZmFjdG9yeSk7XG4gICAgdGhpcy5kZXNjcmlwdG9ycy5zZXQodHlwZSwgZGVzY3JpcHRvcik7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGFjdGl2aXR5IGluc3RhbmNlLlxuICAgKi9cbiAgY3JlYXRlKHR5cGU6IHN0cmluZyk6IElBY3Rpdml0eSB7XG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMucmVnaXN0cnkuZ2V0KHR5cGUpO1xuICAgIGlmICghZmFjdG9yeSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGFjdGl2aXR5IHR5cGU6ICR7dHlwZX1gKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhY3RvcnkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWN0aXZpdHkgZGVzY3JpcHRvci5cbiAgICovXG4gIGdldERlc2NyaXB0b3IodHlwZTogc3RyaW5nKTogQWN0aXZpdHlEZXNjcmlwdG9yIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5kZXNjcmlwdG9ycy5nZXQodHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCByZWdpc3RlcmVkIHR5cGVzLlxuICAgKi9cbiAgZ2V0VHlwZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMucmVnaXN0cnkua2V5cygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGRlc2NyaXB0b3JzLlxuICAgKi9cbiAgZ2V0QWxsRGVzY3JpcHRvcnMoKTogQWN0aXZpdHlEZXNjcmlwdG9yW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZGVzY3JpcHRvcnMudmFsdWVzKCkpO1xuICB9XG4gIFxuICAvKipcbiAgICogR2V0IGRlc2NyaXB0b3JzIGJ5IGNhdGVnb3J5LlxuICAgKi9cbiAgZ2V0RGVzY3JpcHRvcnNCeUNhdGVnb3J5KGNhdGVnb3J5OiBzdHJpbmcpOiBBY3Rpdml0eURlc2NyaXB0b3JbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsRGVzY3JpcHRvcnMoKS5maWx0ZXIoZCA9PiBkLmNhdGVnb3J5ID09PSBjYXRlZ29yeSk7XG4gIH1cbn0iXX0=","import { Injectable, inject, InjectionToken } from '@angular/core';\nimport { AXPCommandService, AXPCommandRegistry } from '@acorex/platform/runtime';\nimport * as i0 from \"@angular/core\";\n/**\n * Injection token for activity providers.\n */\nexport const AXP_ACTIVITY_PROVIDER = new InjectionToken('AXP_ACTIVITY_PROVIDER');\n/**\n * Activity Provider Service.\n * Collects all activity providers and manages activity registration.\n */\nexport class AXPActivityProviderService {\n constructor() {\n this.activityDescriptors = new Map();\n this.categories = [];\n this.providers = [];\n this.categoryProviders = [];\n this.initialized = false;\n this.commandService = inject(AXPCommandService);\n this.commandRegistry = inject(AXPCommandRegistry);\n }\n /**\n * Register an activity provider.\n */\n registerProvider(provider) {\n this.providers.push(provider);\n if (this.initialized) {\n this.initializeProvider(provider);\n }\n }\n /**\n * Register a category provider.\n */\n registerCategoryProvider(provider) {\n this.categoryProviders.push(provider);\n if (this.initialized) {\n this.initializeCategoryProvider(provider);\n }\n }\n /**\n * Initialize all providers.\n */\n async initialize() {\n if (this.initialized)\n return;\n // Initialize category providers first\n for (const provider of this.categoryProviders) {\n await this.initializeCategoryProvider(provider);\n }\n // Initialize activity providers\n for (const provider of this.providers) {\n await this.initializeProvider(provider);\n }\n this.initialized = true;\n }\n /**\n * Get activity descriptor by key.\n */\n getDescriptor(key) {\n return this.activityDescriptors.get(key);\n }\n /**\n * Get all activity descriptors.\n */\n getAllDescriptors() {\n return Array.from(this.activityDescriptors.values());\n }\n /**\n * Get descriptors by category.\n */\n getDescriptorsByCategory(category) {\n return this.getAllDescriptors().filter(d => d.category === category);\n }\n /**\n * Get all categories.\n */\n getCategories() {\n return [...this.categories].sort((a, b) => (a.order || 999) - (b.order || 999));\n }\n /**\n * Create an activity instance by key using AXPCommandService.\n */\n async createActivity(key) {\n try {\n // Check if command exists\n if (!this.commandService.exists(key)) {\n return null;\n }\n // Get command loader from registry\n const loader = this.commandRegistry.getLoader(key);\n if (!loader) {\n return null;\n }\n // Create command instance\n const command = await loader();\n return command;\n }\n catch (error) {\n return null;\n }\n }\n // ============================================\n // PRIVATE METHODS\n // ============================================\n async initializeProvider(provider) {\n const context = {\n registerActivity: (config) => {\n this.activityDescriptors.set(config.key, config.descriptor);\n }\n };\n await provider.provide(context);\n }\n async initializeCategoryProvider(provider) {\n const context = {\n registerCategories: (categories) => {\n this.categories.push(...categories);\n }\n };\n await provider.provide(context);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPActivityProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPActivityProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPActivityProviderService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktcHJvdmlkZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi9lbmdpbmUvYWN0aXZpdHktcHJvdmlkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBK0JqRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUF3Qix1QkFBdUIsQ0FBQyxDQUFDO0FBaUJ4Rzs7O0dBR0c7QUFJSCxNQUFNLE9BQU8sMEJBQTBCO0lBSHZDO1FBSVUsd0JBQW1CLEdBQUcsSUFBSSxHQUFHLEVBQThCLENBQUM7UUFDNUQsZUFBVSxHQUF1QixFQUFFLENBQUM7UUFDcEMsY0FBUyxHQUEwQixFQUFFLENBQUM7UUFDdEMsc0JBQWlCLEdBQWtDLEVBQUUsQ0FBQztRQUN0RCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNYLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0Msb0JBQWUsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQW9IL0Q7SUFsSEM7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxRQUE2QjtRQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILHdCQUF3QixDQUFDLFFBQXFDO1FBQzVELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsVUFBVTtRQUNkLElBQUksSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPO1FBRTdCLHNDQUFzQztRQUN0QyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzlDLE1BQU0sSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFFRCxnQ0FBZ0M7UUFDaEMsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWEsQ0FBQyxHQUFXO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUI7UUFDZixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsd0JBQXdCLENBQUMsUUFBZ0I7UUFDdkMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBVztRQUM5QixJQUFJLENBQUM7WUFDSCwwQkFBMEI7WUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JDLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUVELG1DQUFtQztZQUNuQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ1osT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBRUQsMEJBQTBCO1lBQzFCLE1BQU0sT0FBTyxHQUFHLE1BQU0sTUFBTSxFQUFFLENBQUM7WUFDL0IsT0FBTyxPQUFvQixDQUFDO1FBQzlCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVELCtDQUErQztJQUMvQyxrQkFBa0I7SUFDbEIsK0NBQStDO0lBRXZDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxRQUE2QjtRQUM1RCxNQUFNLE9BQU8sR0FBK0I7WUFDMUMsZ0JBQWdCLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM5RCxDQUFDO1NBQ0YsQ0FBQztRQUVGLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sS0FBSyxDQUFDLDBCQUEwQixDQUFDLFFBQXFDO1FBQzVFLE1BQU0sT0FBTyxHQUF1QztZQUNsRCxrQkFBa0IsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDO1lBQ3RDLENBQUM7U0FDRixDQUFDO1FBRUYsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7K0dBMUhVLDBCQUEwQjttSEFBMUIsMEJBQTBCLGNBRnpCLE1BQU07OzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFBBY3Rpdml0eUNhdGVnb3J5UHJvdmlkZXIsIEFYUEFjdGl2aXR5Q2F0ZWdvcnlQcm92aWRlckNvbnRleHQgfSBmcm9tICcuL2FjdGl2aXR5LWNhdGVnb3J5LnByb3ZpZGVyJztcbmltcG9ydCB7IEFYUENvbW1hbmRTZXJ2aWNlLCBBWFBDb21tYW5kUmVnaXN0cnkgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuaW1wb3J0IHsgQWN0aXZpdHlEZXNjcmlwdG9yLCBJQWN0aXZpdHkgfSBmcm9tICcuL2FjdGl2aXR5LnR5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFDVElWSVRZIFBST1ZJREVSIFBBVFRFUk4gKEluZnJhc3RydWN0dXJlKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDb250ZXh0IGZvciByZWdpc3RlcmluZyBhY3Rpdml0aWVzIGluIGEgcHJvdmlkZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQQWN0aXZpdHlQcm92aWRlckNvbnRleHQge1xuICAvKipcbiAgICogUmVnaXN0ZXIgYW4gYWN0aXZpdHkgd2l0aCBpdHMgZGVzY3JpcHRvci5cbiAgICovXG4gIHJlZ2lzdGVyQWN0aXZpdHkoY29uZmlnOiB7XG4gICAga2V5OiBzdHJpbmc7XG4gICAgZGVzY3JpcHRvcjogQWN0aXZpdHlEZXNjcmlwdG9yO1xuICB9KTogdm9pZDtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGFjdGl2aXR5IHByb3ZpZGVycy5cbiAqIE1vZHVsZXMgaW1wbGVtZW50IHRoaXMgdG8gcmVnaXN0ZXIgdGhlaXIgYWN0aXZpdGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBWFBBY3Rpdml0eVByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIFByb3ZpZGUgYWN0aXZpdGllcyB0byB0aGUgc3lzdGVtLlxuICAgKi9cbiAgcHJvdmlkZShjb250ZXh0OiBBWFBBY3Rpdml0eVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4gfCB2b2lkO1xufVxuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiBmb3IgYWN0aXZpdHkgcHJvdmlkZXJzLlxuICovXG5leHBvcnQgY29uc3QgQVhQX0FDVElWSVRZX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUEFjdGl2aXR5UHJvdmlkZXJbXT4oJ0FYUF9BQ1RJVklUWV9QUk9WSURFUicpO1xuXG4vKipcbiAqIENhdGVnb3J5IGRlZmluaXRpb24gZm9yIGFjdGl2aXR5IGNhdGVnb3JpemF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGl2aXR5Q2F0ZWdvcnkge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbiAgb3JkZXI/OiBudW1iZXI7XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIHRhZ3M/OiBzdHJpbmdbXTtcbn1cblxuXG4vKipcbiAqIEFjdGl2aXR5IFByb3ZpZGVyIFNlcnZpY2UuXG4gKiBDb2xsZWN0cyBhbGwgYWN0aXZpdHkgcHJvdmlkZXJzIGFuZCBtYW5hZ2VzIGFjdGl2aXR5IHJlZ2lzdHJhdGlvbi5cbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQVhQQWN0aXZpdHlQcm92aWRlclNlcnZpY2Uge1xuICBwcml2YXRlIGFjdGl2aXR5RGVzY3JpcHRvcnMgPSBuZXcgTWFwPHN0cmluZywgQWN0aXZpdHlEZXNjcmlwdG9yPigpO1xuICBwcml2YXRlIGNhdGVnb3JpZXM6IEFjdGl2aXR5Q2F0ZWdvcnlbXSA9IFtdO1xuICBwcml2YXRlIHByb3ZpZGVyczogQVhQQWN0aXZpdHlQcm92aWRlcltdID0gW107XG4gIHByaXZhdGUgY2F0ZWdvcnlQcm92aWRlcnM6IEFYUEFjdGl2aXR5Q2F0ZWdvcnlQcm92aWRlcltdID0gW107XG4gIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kU2VydmljZSA9IGluamVjdChBWFBDb21tYW5kU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZFJlZ2lzdHJ5ID0gaW5qZWN0KEFYUENvbW1hbmRSZWdpc3RyeSk7XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGFuIGFjdGl2aXR5IHByb3ZpZGVyLlxuICAgKi9cbiAgcmVnaXN0ZXJQcm92aWRlcihwcm92aWRlcjogQVhQQWN0aXZpdHlQcm92aWRlcik6IHZvaWQge1xuICAgIHRoaXMucHJvdmlkZXJzLnB1c2gocHJvdmlkZXIpO1xuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICB0aGlzLmluaXRpYWxpemVQcm92aWRlcihwcm92aWRlcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGEgY2F0ZWdvcnkgcHJvdmlkZXIuXG4gICAqL1xuICByZWdpc3RlckNhdGVnb3J5UHJvdmlkZXIocHJvdmlkZXI6IEFYUEFjdGl2aXR5Q2F0ZWdvcnlQcm92aWRlcik6IHZvaWQge1xuICAgIHRoaXMuY2F0ZWdvcnlQcm92aWRlcnMucHVzaChwcm92aWRlcik7XG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUNhdGVnb3J5UHJvdmlkZXIocHJvdmlkZXIpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIGFsbCBwcm92aWRlcnMuXG4gICAqL1xuICBhc3luYyBpbml0aWFsaXplKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSByZXR1cm47XG5cbiAgICAvLyBJbml0aWFsaXplIGNhdGVnb3J5IHByb3ZpZGVycyBmaXJzdFxuICAgIGZvciAoY29uc3QgcHJvdmlkZXIgb2YgdGhpcy5jYXRlZ29yeVByb3ZpZGVycykge1xuICAgICAgYXdhaXQgdGhpcy5pbml0aWFsaXplQ2F0ZWdvcnlQcm92aWRlcihwcm92aWRlcik7XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhbGl6ZSBhY3Rpdml0eSBwcm92aWRlcnNcbiAgICBmb3IgKGNvbnN0IHByb3ZpZGVyIG9mIHRoaXMucHJvdmlkZXJzKSB7XG4gICAgICBhd2FpdCB0aGlzLmluaXRpYWxpemVQcm92aWRlcihwcm92aWRlcik7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFjdGl2aXR5IGRlc2NyaXB0b3IgYnkga2V5LlxuICAgKi9cbiAgZ2V0RGVzY3JpcHRvcihrZXk6IHN0cmluZyk6IEFjdGl2aXR5RGVzY3JpcHRvciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlEZXNjcmlwdG9ycy5nZXQoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYWxsIGFjdGl2aXR5IGRlc2NyaXB0b3JzLlxuICAgKi9cbiAgZ2V0QWxsRGVzY3JpcHRvcnMoKTogQWN0aXZpdHlEZXNjcmlwdG9yW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuYWN0aXZpdHlEZXNjcmlwdG9ycy52YWx1ZXMoKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRlc2NyaXB0b3JzIGJ5IGNhdGVnb3J5LlxuICAgKi9cbiAgZ2V0RGVzY3JpcHRvcnNCeUNhdGVnb3J5KGNhdGVnb3J5OiBzdHJpbmcpOiBBY3Rpdml0eURlc2NyaXB0b3JbXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsRGVzY3JpcHRvcnMoKS5maWx0ZXIoZCA9PiBkLmNhdGVnb3J5ID09PSBjYXRlZ29yeSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGFsbCBjYXRlZ29yaWVzLlxuICAgKi9cbiAgZ2V0Q2F0ZWdvcmllcygpOiBBY3Rpdml0eUNhdGVnb3J5W10ge1xuICAgIHJldHVybiBbLi4udGhpcy5jYXRlZ29yaWVzXS5zb3J0KChhLCBiKSA9PiAoYS5vcmRlciB8fCA5OTkpIC0gKGIub3JkZXIgfHwgOTk5KSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIGFjdGl2aXR5IGluc3RhbmNlIGJ5IGtleSB1c2luZyBBWFBDb21tYW5kU2VydmljZS5cbiAgICovXG4gIGFzeW5jIGNyZWF0ZUFjdGl2aXR5KGtleTogc3RyaW5nKTogUHJvbWlzZTxJQWN0aXZpdHkgfCBudWxsPiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIENoZWNrIGlmIGNvbW1hbmQgZXhpc3RzXG4gICAgICBpZiAoIXRoaXMuY29tbWFuZFNlcnZpY2UuZXhpc3RzKGtleSkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIEdldCBjb21tYW5kIGxvYWRlciBmcm9tIHJlZ2lzdHJ5XG4gICAgICBjb25zdCBsb2FkZXIgPSB0aGlzLmNvbW1hbmRSZWdpc3RyeS5nZXRMb2FkZXIoa2V5KTtcbiAgICAgIGlmICghbG9hZGVyKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyBDcmVhdGUgY29tbWFuZCBpbnN0YW5jZVxuICAgICAgY29uc3QgY29tbWFuZCA9IGF3YWl0IGxvYWRlcigpO1xuICAgICAgcmV0dXJuIGNvbW1hbmQgYXMgSUFjdGl2aXR5O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQUklWQVRFIE1FVEhPRFNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBwcml2YXRlIGFzeW5jIGluaXRpYWxpemVQcm92aWRlcihwcm92aWRlcjogQVhQQWN0aXZpdHlQcm92aWRlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbnRleHQ6IEFYUEFjdGl2aXR5UHJvdmlkZXJDb250ZXh0ID0ge1xuICAgICAgcmVnaXN0ZXJBY3Rpdml0eTogKGNvbmZpZykgPT4ge1xuICAgICAgICB0aGlzLmFjdGl2aXR5RGVzY3JpcHRvcnMuc2V0KGNvbmZpZy5rZXksIGNvbmZpZy5kZXNjcmlwdG9yKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgYXdhaXQgcHJvdmlkZXIucHJvdmlkZShjb250ZXh0KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgaW5pdGlhbGl6ZUNhdGVnb3J5UHJvdmlkZXIocHJvdmlkZXI6IEFYUEFjdGl2aXR5Q2F0ZWdvcnlQcm92aWRlcik6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbnRleHQ6IEFYUEFjdGl2aXR5Q2F0ZWdvcnlQcm92aWRlckNvbnRleHQgPSB7XG4gICAgICByZWdpc3RlckNhdGVnb3JpZXM6IChjYXRlZ29yaWVzKSA9PiB7XG4gICAgICAgIHRoaXMuY2F0ZWdvcmllcy5wdXNoKC4uLmNhdGVnb3JpZXMpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBhd2FpdCBwcm92aWRlci5wcm92aWRlKGNvbnRleHQpO1xuICB9XG59XG4iXX0=","import { Injectable, InjectionToken, Optional, SkipSelf, Inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Injection token for activity category providers.\n */\nexport const AXP_ACTIVITY_CATEGORY_PROVIDER = new InjectionToken('AXP_ACTIVITY_CATEGORY_PROVIDER');\nexport class AXPActivityCategoryProviderService {\n constructor(parent, providers = []) {\n this.parent = parent;\n this.providers = providers;\n this.categories = new Map();\n this.isInitialized = false;\n if (!parent) {\n this.initialize();\n }\n }\n async initialize() {\n if (this.isInitialized) {\n return;\n }\n for (const provider of this.providers) {\n await provider.provide({\n registerCategories: (categories) => {\n categories.forEach(cat => this.categories.set(cat.name, cat));\n }\n });\n }\n this.isInitialized = true;\n }\n getAllCategories() {\n return Array.from(this.categories.values()).sort((a, b) => (a.order || 0) - (b.order || 0));\n }\n getCategory(name) {\n return this.categories.get(name);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPActivityCategoryProviderService, deps: [{ token: AXPActivityCategoryProviderService, optional: true, skipSelf: true }, { token: AXP_ACTIVITY_CATEGORY_PROVIDER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPActivityCategoryProviderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPActivityCategoryProviderService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }], ctorParameters: () => [{ type: AXPActivityCategoryProviderService, decorators: [{\n type: Optional\n }, {\n type: SkipSelf\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [AXP_ACTIVITY_CATEGORY_PROVIDER]\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY2F0ZWdvcnkucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXR5LWNhdGVnb3J5LnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsY0FBYyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQXFCL0Y7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxJQUFJLGNBQWMsQ0FBZ0MsZ0NBQWdDLENBQUMsQ0FBQztBQUdsSSxNQUFNLE9BQU8sa0NBQWtDO0lBSTdDLFlBQ2tDLE1BQTJDLEVBQ2YsWUFBMkMsRUFBRTtRQUR6RSxXQUFNLEdBQU4sTUFBTSxDQUFxQztRQUNmLGNBQVMsR0FBVCxTQUFTLENBQW9DO1FBTG5HLGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBc0MsQ0FBQztRQUMzRCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQU01QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsVUFBVTtRQUN0QixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixPQUFPO1FBQ1QsQ0FBQztRQUVELEtBQUssTUFBTSxRQUFRLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFDckIsa0JBQWtCLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRTtvQkFDakMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDaEUsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0FsQ1Usa0NBQWtDLGlHQU12Qiw4QkFBOEI7bUhBTnpDLGtDQUFrQyxjQURyQixNQUFNOzs0RkFDbkIsa0NBQWtDO2tCQUQ5QyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBTTdCLFFBQVE7OzBCQUFJLFFBQVE7OzBCQUNwQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsLCBTa2lwU2VsZiwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZpdHlDYXRlZ29yeURlc2NyaXB0b3Ige1xuICBuYW1lOiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZztcbiAgb3JkZXI/OiBudW1iZXI7XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIHRhZ3M/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWFBBY3Rpdml0eUNhdGVnb3J5UHJvdmlkZXJDb250ZXh0IHtcbiAgcmVnaXN0ZXJDYXRlZ29yaWVzKGNhdGVnb3JpZXM6IEFjdGl2aXR5Q2F0ZWdvcnlEZXNjcmlwdG9yW10pOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYUEFjdGl2aXR5Q2F0ZWdvcnlQcm92aWRlciB7XG4gIHByb3ZpZGUoY29udGV4dDogQVhQQWN0aXZpdHlDYXRlZ29yeVByb3ZpZGVyQ29udGV4dCk6IFByb21pc2U8dm9pZD4gfCB2b2lkO1xufVxuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiBmb3IgYWN0aXZpdHkgY2F0ZWdvcnkgcHJvdmlkZXJzLlxuICovXG5leHBvcnQgY29uc3QgQVhQX0FDVElWSVRZX0NBVEVHT1JZX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUEFjdGl2aXR5Q2F0ZWdvcnlQcm92aWRlcltdPignQVhQX0FDVElWSVRZX0NBVEVHT1JZX1BST1ZJREVSJyk7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQQWN0aXZpdHlDYXRlZ29yeVByb3ZpZGVyU2VydmljZSB7XG4gIHByaXZhdGUgY2F0ZWdvcmllcyA9IG5ldyBNYXA8c3RyaW5nLCBBY3Rpdml0eUNhdGVnb3J5RGVzY3JpcHRvcj4oKTtcbiAgcHJpdmF0ZSBpc0luaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcHJpdmF0ZSBwYXJlbnQ/OiBBWFBBY3Rpdml0eUNhdGVnb3J5UHJvdmlkZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVhQX0FDVElWSVRZX0NBVEVHT1JZX1BST1ZJREVSKSBwcml2YXRlIHByb3ZpZGVyczogQVhQQWN0aXZpdHlDYXRlZ29yeVByb3ZpZGVyW10gPSBbXVxuICApIHtcbiAgICBpZiAoIXBhcmVudCkge1xuICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBpbml0aWFsaXplKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3ZpZGVyIG9mIHRoaXMucHJvdmlkZXJzKSB7XG4gICAgICBhd2FpdCBwcm92aWRlci5wcm92aWRlKHtcbiAgICAgICAgcmVnaXN0ZXJDYXRlZ29yaWVzOiAoY2F0ZWdvcmllcykgPT4ge1xuICAgICAgICAgIGNhdGVnb3JpZXMuZm9yRWFjaChjYXQgPT4gdGhpcy5jYXRlZ29yaWVzLnNldChjYXQubmFtZSwgY2F0KSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLmlzSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgZ2V0QWxsQ2F0ZWdvcmllcygpOiBBY3Rpdml0eUNhdGVnb3J5RGVzY3JpcHRvcltdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmNhdGVnb3JpZXMudmFsdWVzKCkpLnNvcnQoKGEsIGIpID0+IChhLm9yZGVyIHx8IDApIC0gKGIub3JkZXIgfHwgMCkpO1xuICB9XG5cbiAgZ2V0Q2F0ZWdvcnkobmFtZTogc3RyaW5nKTogQWN0aXZpdHlDYXRlZ29yeURlc2NyaXB0b3IgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNhdGVnb3JpZXMuZ2V0KG5hbWUpO1xuICB9XG59XG4iXX0=","import { Injectable } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * Abstract service for workflow execution operations.\n *\n * This service handles communication with backend for workflow execution.\n *\n * Implementation should be provided in connectivity layer:\n * - Mock implementation: @acorex/connectivity/mock\n * - API implementation: @acorex/connectivity/api\n *\n * @example\n * ```typescript\n * // In connectivity/mock\n * @Injectable()\n * export class AXCWorkflowExecutionService implements AXPWorkflowExecutionService {\n * async startExecution(request: AXPStartWorkflowExecutionRequest): Promise<AXPStartWorkflowExecutionResponse> {\n * // Mock implementation\n * }\n * }\n *\n * // In connectivity/api\n * @Injectable()\n * export class AXCWorkflowExecutionService implements AXPWorkflowExecutionService {\n * constructor(private http: HttpClient) {}\n *\n * async startExecution(request: AXPStartWorkflowExecutionRequest): Promise<AXPStartWorkflowExecutionResponse> {\n * return firstValueFrom(\n * this.http.post<AXPStartWorkflowExecutionResponse>(\n * `${this.config.baseUrl}/api/workflows/${request.workflowId}/start`,\n * { input: request.input }\n * )\n * );\n * }\n * }\n * ```\n */\nexport class AXPWorkflowExecutionService {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowExecutionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowExecutionService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowExecutionService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZXhlY3V0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL3J1bnRpbWUvd29ya2Zsb3ctZXhlY3V0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFZM0M7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQ0c7QUFFSCxNQUFNLE9BQWdCLDJCQUEyQjsrR0FBM0IsMkJBQTJCO21IQUEzQiwyQkFBMkI7OzRGQUEzQiwyQkFBMkI7a0JBRGhELFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWFBTdGFydFdvcmtmbG93RXhlY3V0aW9uUmVxdWVzdCxcbiAgQVhQU3RhcnRXb3JrZmxvd0V4ZWN1dGlvblJlc3BvbnNlLFxuICBBWFBSZXN1bWVXb3JrZmxvd0V4ZWN1dGlvblJlcXVlc3QsXG4gIEFYUFJlc3VtZVdvcmtmbG93RXhlY3V0aW9uUmVzcG9uc2UsXG4gIEFYUEdldFdvcmtmbG93RXhlY3V0aW9uU3RhdGVSZXF1ZXN0LFxuICBBWFBHZXRXb3JrZmxvd0RlZmluaXRpb25SZXF1ZXN0LFxuICBBWFBHZXRXb3JrZmxvd0RlZmluaXRpb25SZXNwb25zZSxcbiAgQVhQV29ya2Zsb3dFeGVjdXRpb25TdGF0ZSxcbn0gZnJvbSAnLi93b3JrZmxvdy1leGVjdXRpb24udHlwZXMnO1xuXG4vKipcbiAqIEFic3RyYWN0IHNlcnZpY2UgZm9yIHdvcmtmbG93IGV4ZWN1dGlvbiBvcGVyYXRpb25zLlxuICogXG4gKiBUaGlzIHNlcnZpY2UgaGFuZGxlcyBjb21tdW5pY2F0aW9uIHdpdGggYmFja2VuZCBmb3Igd29ya2Zsb3cgZXhlY3V0aW9uLlxuICogXG4gKiBJbXBsZW1lbnRhdGlvbiBzaG91bGQgYmUgcHJvdmlkZWQgaW4gY29ubmVjdGl2aXR5IGxheWVyOlxuICogLSBNb2NrIGltcGxlbWVudGF0aW9uOiBAYWNvcmV4L2Nvbm5lY3Rpdml0eS9tb2NrXG4gKiAtIEFQSSBpbXBsZW1lbnRhdGlvbjogQGFjb3JleC9jb25uZWN0aXZpdHkvYXBpXG4gKiBcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBJbiBjb25uZWN0aXZpdHkvbW9ja1xuICogQEluamVjdGFibGUoKVxuICogZXhwb3J0IGNsYXNzIEFYQ1dvcmtmbG93RXhlY3V0aW9uU2VydmljZSBpbXBsZW1lbnRzIEFYUFdvcmtmbG93RXhlY3V0aW9uU2VydmljZSB7XG4gKiAgIGFzeW5jIHN0YXJ0RXhlY3V0aW9uKHJlcXVlc3Q6IEFYUFN0YXJ0V29ya2Zsb3dFeGVjdXRpb25SZXF1ZXN0KTogUHJvbWlzZTxBWFBTdGFydFdvcmtmbG93RXhlY3V0aW9uUmVzcG9uc2U+IHtcbiAqICAgICAvLyBNb2NrIGltcGxlbWVudGF0aW9uXG4gKiAgIH1cbiAqIH1cbiAqIFxuICogLy8gSW4gY29ubmVjdGl2aXR5L2FwaVxuICogQEluamVjdGFibGUoKVxuICogZXhwb3J0IGNsYXNzIEFYQ1dvcmtmbG93RXhlY3V0aW9uU2VydmljZSBpbXBsZW1lbnRzIEFYUFdvcmtmbG93RXhlY3V0aW9uU2VydmljZSB7XG4gKiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge31cbiAqICAgXG4gKiAgIGFzeW5jIHN0YXJ0RXhlY3V0aW9uKHJlcXVlc3Q6IEFYUFN0YXJ0V29ya2Zsb3dFeGVjdXRpb25SZXF1ZXN0KTogUHJvbWlzZTxBWFBTdGFydFdvcmtmbG93RXhlY3V0aW9uUmVzcG9uc2U+IHtcbiAqICAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gKiAgICAgICB0aGlzLmh0dHAucG9zdDxBWFBTdGFydFdvcmtmbG93RXhlY3V0aW9uUmVzcG9uc2U+KFxuICogICAgICAgICBgJHt0aGlzLmNvbmZpZy5iYXNlVXJsfS9hcGkvd29ya2Zsb3dzLyR7cmVxdWVzdC53b3JrZmxvd0lkfS9zdGFydGAsXG4gKiAgICAgICAgIHsgaW5wdXQ6IHJlcXVlc3QuaW5wdXQgfVxuICogICAgICAgKVxuICogICAgICk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVhQV29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlIHtcbiAgLyoqXG4gICAqIFN0YXJ0IGEgbmV3IHdvcmtmbG93IGV4ZWN1dGlvbi5cbiAgICogXG4gICAqIENyZWF0ZXMgYSBuZXcgd29ya2Zsb3cgZXhlY3V0aW9uIGluc3RhbmNlIGluIGJhY2tlbmQgYW5kIHJldHVybnMgZXhlY3V0aW9uIElELlxuICAgKiBcbiAgICogQHBhcmFtIHJlcXVlc3QgLSBTdGFydCBleGVjdXRpb24gcmVxdWVzdFxuICAgKiBAcmV0dXJucyBFeGVjdXRpb24gcmVzcG9uc2Ugd2l0aCBleGVjdXRpb25JZCBhbmQgaW5pdGlhbCBzdGF0ZVxuICAgKiBcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCByZXNwb25zZSA9IGF3YWl0IHdvcmtmbG93RXhlY3V0aW9uU2VydmljZS5zdGFydEV4ZWN1dGlvbih7XG4gICAqICAgd29ya2Zsb3dJZDogJ215LXdvcmtmbG93JyxcbiAgICogICBpbnB1dDogeyB1c2VySWQ6ICcxMjMnLCBhY3Rpb246ICdjcmVhdGUnIH1cbiAgICogfSk7XG4gICAqIFxuICAgKiBjb25zb2xlLmxvZygnRXhlY3V0aW9uIElEOicsIHJlc3BvbnNlLmV4ZWN1dGlvbklkKTtcbiAgICogY29uc29sZS5sb2coJ0luaXRpYWwgU3RhdGU6JywgcmVzcG9uc2Uuc3RhdGUpO1xuICAgKiBgYGBcbiAgICovXG4gIGFic3RyYWN0IHN0YXJ0RXhlY3V0aW9uKFxuICAgIHJlcXVlc3Q6IEFYUFN0YXJ0V29ya2Zsb3dFeGVjdXRpb25SZXF1ZXN0XG4gICk6IFByb21pc2U8QVhQU3RhcnRXb3JrZmxvd0V4ZWN1dGlvblJlc3BvbnNlPjtcblxuICAvKipcbiAgICogUmVzdW1lIGEgc3VzcGVuZGVkIHdvcmtmbG93IGV4ZWN1dGlvbi5cbiAgICogXG4gICAqIFJlc3VtZXMgd29ya2Zsb3cgZXhlY3V0aW9uIGFmdGVyIHVzZXIgaW50ZXJhY3Rpb24gKGUuZy4sIGFmdGVyIHNob3ctZGlhbG9nKS5cbiAgICogXG4gICAqIEBwYXJhbSByZXF1ZXN0IC0gUmVzdW1lIGV4ZWN1dGlvbiByZXF1ZXN0XG4gICAqIEByZXR1cm5zIFJlc3VtZSByZXNwb25zZSB3aXRoIG5leHQgc3RlcCBhbmQgdXBkYXRlZCBzdGF0ZVxuICAgKiBcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCByZXNwb25zZSA9IGF3YWl0IHdvcmtmbG93RXhlY3V0aW9uU2VydmljZS5yZXN1bWVFeGVjdXRpb24oe1xuICAgKiAgIGV4ZWN1dGlvbklkOiAnZXhlYy0xMjMnLFxuICAgKiAgIHN0ZXBJZDogJ3N0ZXAtZGlhbG9nLTEnLFxuICAgKiAgIHRhc2tUb2tlbjogJ3NlYy10YXNrLXRva2VuJyxcbiAgICogICBvdXRjb21lOiAnQ29uZmlybWVkJyxcbiAgICogICB1c2VySW5wdXQ6IHsgY29uZmlybWVkOiB0cnVlIH1cbiAgICogfSk7XG4gICAqIFxuICAgKiBjb25zb2xlLmxvZygnTmV4dCBTdGVwOicsIHJlc3BvbnNlLm5leHRTdGVwKTtcbiAgICogY29uc29sZS5sb2coJ1VwZGF0ZWQgU3RhdGU6JywgcmVzcG9uc2Uuc3RhdGUpO1xuICAgKiBgYGBcbiAgICovXG4gIGFic3RyYWN0IHJlc3VtZUV4ZWN1dGlvbihcbiAgICByZXF1ZXN0OiBBWFBSZXN1bWVXb3JrZmxvd0V4ZWN1dGlvblJlcXVlc3RcbiAgKTogUHJvbWlzZTxBWFBSZXN1bWVXb3JrZmxvd0V4ZWN1dGlvblJlc3BvbnNlPjtcblxuICAvKipcbiAgICogR2V0IGN1cnJlbnQgd29ya2Zsb3cgZXhlY3V0aW9uIHN0YXRlLlxuICAgKiBcbiAgICogUmV0cmlldmVzIGN1cnJlbnQgc3RhdGUgb2YgYSB3b3JrZmxvdyBleGVjdXRpb24gZnJvbSBiYWNrZW5kLlxuICAgKiBcbiAgICogQHBhcmFtIHJlcXVlc3QgLSBHZXQgc3RhdGUgcmVxdWVzdFxuICAgKiBAcmV0dXJucyBDdXJyZW50IHdvcmtmbG93IGV4ZWN1dGlvbiBzdGF0ZVxuICAgKiBcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBzdGF0ZSA9IGF3YWl0IHdvcmtmbG93RXhlY3V0aW9uU2VydmljZS5nZXRFeGVjdXRpb25TdGF0ZSh7XG4gICAqICAgZXhlY3V0aW9uSWQ6ICdleGVjLTEyMydcbiAgICogfSk7XG4gICAqIFxuICAgKiBjb25zb2xlLmxvZygnU3RhdHVzOicsIHN0YXRlLnN0YXR1cyk7XG4gICAqIGNvbnNvbGUubG9nKCdWYXJpYWJsZXM6Jywgc3RhdGUudmFyaWFibGVzKTtcbiAgICogYGBgXG4gICAqL1xuICBhYnN0cmFjdCBnZXRFeGVjdXRpb25TdGF0ZShcbiAgICByZXF1ZXN0OiBBWFBHZXRXb3JrZmxvd0V4ZWN1dGlvblN0YXRlUmVxdWVzdFxuICApOiBQcm9taXNlPEFYUFdvcmtmbG93RXhlY3V0aW9uU3RhdGU+O1xuXG4gIC8qKlxuICAgKiBHZXQgd29ya2Zsb3cgZGVmaW5pdGlvbiBieSBJRC5cbiAgICogXG4gICAqIFJldHJpZXZlcyB3b3JrZmxvdyBkZWZpbml0aW9uIGZyb20gYmFja2VuZC5cbiAgICogXG4gICAqIEBwYXJhbSByZXF1ZXN0IC0gR2V0IHdvcmtmbG93IGRlZmluaXRpb24gcmVxdWVzdFxuICAgKiBAcmV0dXJucyBXb3JrZmxvdyBkZWZpbml0aW9uIGluIGV4ZWN1dGFibGUgZm9ybWF0XG4gICAqIFxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgd29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlLmdldFdvcmtmbG93RGVmaW5pdGlvbih7XG4gICAqICAgd29ya2Zsb3dJZDogJ215LXdvcmtmbG93J1xuICAgKiB9KTtcbiAgICogXG4gICAqIGNvbnNvbGUubG9nKCdXb3JrZmxvdzonLCByZXNwb25zZS53b3JrZmxvdyk7XG4gICAqIGBgYFxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0V29ya2Zsb3dEZWZpbml0aW9uKFxuICAgIHJlcXVlc3Q6IEFYUEdldFdvcmtmbG93RGVmaW5pdGlvblJlcXVlc3RcbiAgKTogUHJvbWlzZTxBWFBHZXRXb3JrZmxvd0RlZmluaXRpb25SZXNwb25zZT47XG59XG5cbiJdfQ==","import { Injectable, inject } from '@angular/core';\nimport { AXPCommandService } from '@acorex/platform/runtime';\nimport { AXPWorkflowExecutionService } from './workflow-execution.service';\nimport * as i0 from \"@angular/core\";\n//#endregion\n/**\n * Production Workflow Coordinator.\n *\n * Separates frontend/backend execution:\n * - Frontend activities: Execute with AXPCommand in browser\n * - Backend activities: Execute via API calls to backend\n * - State caching: Caches workflow state in client for performance\n *\n * ✅ Suitable for production use.\n */\nexport class WorkflowCoordinator {\n constructor() {\n //#region ---- Services & Dependencies ----\n this.workflowExecutionService = inject(AXPWorkflowExecutionService);\n this.commandService = inject(AXPCommandService);\n //#endregion\n //#region ---- State Cache (Client-side for Performance) ----\n /**\n * Cache workflow states in memory for quick access.\n * Key: executionId\n * Value: AXPWorkflowExecutionState\n */\n this.stateCache = new Map();\n }\n //#endregion\n //#region ---- Public Methods ----\n /**\n * Start workflow execution in backend.\n *\n * Backend decides what to do: returns pendingTask or indicates completion.\n * Frontend only calls API - no business logic here.\n *\n * @param workflowId - Workflow ID\n * @param input - Initial input data\n * @returns Execution result with pendingTask (if any)\n *\n * @example\n * ```typescript\n * const result = await coordinator.startWorkflow('my-workflow', { userId: '123' });\n *\n * if (result.pendingTask) {\n * // Execute task if frontend, or wait for backend to complete\n * if (result.pendingTask.executionMode === 'frontend') {\n * await coordinator.executeTask(result.pendingTask);\n * await coordinator.completeTask(result.executionId, result.pendingTask, outcome, output);\n * }\n * }\n * ```\n */\n async startWorkflow(workflowId, input = {}) {\n try {\n const execution = await this.startWorkflowExecution(workflowId, input);\n return {\n success: true,\n output: execution.state.output,\n nextTask: execution.pendingTask || null,\n executionId: execution.executionId,\n state: execution.state\n };\n }\n catch (error) {\n return {\n success: false,\n error: error.message || 'Failed to start workflow',\n nextTask: null\n };\n }\n }\n /**\n * Execute a frontend task using AXPCommand.\n *\n * Only executes if task.executionMode is 'frontend' or 'both'.\n * Backend tasks are handled automatically by backend.\n *\n * @param task - Task to execute\n * @returns Execution result with output and outcome\n */\n async executeTask(task) {\n // Only execute frontend tasks\n if (task.executionMode !== 'frontend' && task.executionMode !== 'both') {\n throw new Error(`Task '${task.activityId}' is not a frontend task. Backend handles it automatically.`);\n }\n return await this.executeFrontendActivity(task);\n }\n /**\n * Complete a task and get next task from backend.\n *\n * Sends task result to backend API.\n * Backend decides: next task, fail, or complete workflow.\n *\n * @param executionId - Execution ID\n * @param task - Completed task\n * @param outcome - Task outcome (e.g., 'Done', 'Confirmed', 'Cancelled')\n * @param output - Task output/result\n * @returns Next task from backend (if any)\n */\n async completeTask(executionId, task, outcome, output) {\n try {\n // Send result to backend - backend decides next step\n const response = await this.workflowExecutionService.resumeExecution({\n executionId,\n stepId: task.activityId,\n taskToken: task.taskToken,\n outcome,\n userInput: output\n });\n // Update cache\n if (response.state) {\n this.stateCache.set(executionId, response.state);\n }\n return {\n success: true,\n output: response.output,\n nextTask: response.nextTask || null,\n executionId,\n state: response.state\n };\n }\n catch (error) {\n return {\n success: false,\n error: error.message || 'Failed to complete task',\n nextTask: null\n };\n }\n }\n /**\n * Execute workflow by ID (backward compatibility).\n *\n * @deprecated Use startWorkflow + executeTask + completeTask pattern instead.\n * This method is kept for backward compatibility but will be removed.\n */\n async executeWorkflowById(workflowId, input = {}) {\n // Just start workflow - caller should handle task execution\n return await this.startWorkflow(workflowId, input);\n }\n /**\n * Resume a suspended workflow (e.g., after user interaction).\n *\n * Backend determines nextStep based on outcome and outcomeConnections.\n * Client only provides executionId, stepId, outcome, and optional userInput.\n *\n * @param executionId - Workflow execution ID\n * @param stepId - Step ID that was waiting for user input\n * @param outcome - User action outcome (e.g., 'Confirmed', 'Cancelled', 'Submitted')\n * @param userInput - Optional user input data\n */\n async resumeWorkflow(executionId, stepId, outcome, userInput, taskToken) {\n try {\n // Ensure taskToken is provided for secure resumption\n if (!taskToken) {\n throw new Error('Missing taskToken for resumeWorkflow');\n }\n // Backend handles everything: checks outcomeConnections and determines nextStep\n const response = await this.workflowExecutionService.resumeExecution({\n executionId,\n stepId,\n taskToken,\n outcome,\n userInput\n });\n // Update cache with state from backend\n if (response.state) {\n this.stateCache.set(executionId, response.state);\n }\n return {\n success: true,\n output: response.output,\n nextTask: response.nextTask || null, // Backend determines this from outcomeConnections\n executionId,\n state: response.state\n };\n }\n catch (error) {\n return {\n success: false,\n error: error.message || 'Failed to resume workflow',\n nextTask: null\n };\n }\n }\n /**\n * Get workflow execution state (from cache or backend).\n */\n async getWorkflowState(executionId) {\n // Check cache first\n const cached = this.stateCache.get(executionId);\n if (cached) {\n // Cache is valid for 5 minutes\n const cacheAge = Date.now() - cached.lastUpdated.getTime();\n if (cacheAge < 5 * 60 * 1000) {\n return cached;\n }\n }\n // Fetch from backend\n try {\n const state = await this.workflowExecutionService.getExecutionState({\n executionId\n });\n // Update cache\n this.stateCache.set(executionId, state);\n return state;\n }\n catch {\n return null;\n }\n }\n //#endregion\n //#region ---- Private Methods ----\n /**\n * Execute a frontend activity using CommandBus.\n *\n * Frontend activities are executed in the browser using AXPCommandService.\n * Activities can also be executed in both frontend and backend (hybrid mode).\n *\n * @param task - Frontend task to execute\n * @returns Execution result with output and outcome\n */\n async executeFrontendActivity(task) {\n try {\n // Check if command exists\n if (!this.commandService.exists(task.activityType)) {\n console.warn(`[WorkflowCoordinator] Frontend activity '${task.activityType}' is not registered. Skipping execution.`);\n return {\n output: null,\n outcome: 'Done'\n };\n }\n // Execute activity via CommandBus\n // Activities registered as AXPCommand return {output, outcomes}\n const result = await this.commandService.execute(task.activityType, task.input || task.config || {});\n // Extract outcome from outcomes (usually 'Done' or first key)\n let outcome = 'Done';\n if (result?.outcomes) {\n // Prefer 'Done' if exists, otherwise use first outcome key\n outcome = result.outcomes['Done'] ? 'Done' : Object.keys(result.outcomes)[0] || 'Done';\n }\n return {\n output: result?.output || result,\n outcome\n };\n }\n catch (error) {\n console.error(`[WorkflowCoordinator] Error executing frontend activity '${task.activityType}':`, error);\n return {\n output: { error: error.message || 'Unknown error' },\n outcome: 'Failed'\n };\n }\n }\n /**\n * Start workflow execution in backend.\n * Backend returns executionId, initial state, and first task to execute.\n */\n async startWorkflowExecution(workflowId, input) {\n const response = await this.workflowExecutionService.startExecution({\n workflowId,\n input\n });\n // Cache state\n this.stateCache.set(response.executionId, response.state);\n return {\n executionId: response.executionId,\n state: response.state,\n pendingTask: response.pendingTask\n };\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: WorkflowCoordinator, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: WorkflowCoordinator, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: WorkflowCoordinator, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root'\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctY29vcmRpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL3J1bnRpbWUvd29ya2Zsb3ctY29vcmRpbmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBcUIzRSxZQUFZO0FBRVo7Ozs7Ozs7OztHQVNHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQUlFLCtDQUErQztRQUU5Qiw2QkFBd0IsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUMvRCxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRTVELFlBQVk7UUFFWixpRUFBaUU7UUFFakU7Ozs7V0FJRztRQUNLLGVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBcUMsQ0FBQztLQXlUbkU7SUF0VEMsWUFBWTtJQUVaLHNDQUFzQztJQUV0Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXNCRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQ2pCLFVBQWtCLEVBQ2xCLFFBQTZCLEVBQUU7UUFFL0IsSUFBSSxDQUFDO1lBQ0gsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRXZFLE9BQU87Z0JBQ0wsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTTtnQkFDOUIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxXQUFXLElBQUksSUFBSTtnQkFDdkMsV0FBVyxFQUFFLFNB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TzthQUNSLENBQUM7UUFDSixDQUFDO1FBQUMsT0FBTyxLQUFVLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsS0FBSyxDQUFDLDREQUE0RCxJQUFJLENBQUMsWUFBWSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDeEcsT0FBTztnQkFDTCxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sSUFBSSxlQUFlLEVBQUU7Z0JBQ25ELE9BQU8sRUFBRSxRQUFRO2FBQ2xCLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLEtBQUssQ0FBQyxzQkFBc0IsQ0FDbEMsVUFBa0IsRUFDbEIsS0FBMEI7UUFFMUIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUFDO1lBQ2xFLFVBQVU7WUFDVixLQUFLO1NBQ04sQ0FBQyxDQUFDO1FBRUgsY0FBYztRQUNkLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFELE9BQU87WUFDTCxXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVc7WUFDakMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO1lBQ3JCLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVztTQUNsQyxDQUFDO0lBQ0osQ0FBQzsrR0F0VFUsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhQQ29tbWFuZFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlIH0gZnJvbSAnLi93b3JrZmxvdy1leGVjdXRpb24uc2VydmljZSc7XG5pbXBvcnQge1xuICBBWFBXb3JrZmxvd0V4ZWN1dGlvblN0YXRlLFxuICBBWFBXb3JrZmxvd1Rhc2ssXG59IGZyb20gJy4vd29ya2Zsb3ctZXhlY3V0aW9uLnR5cGVzJztcblxuLy8jcmVnaW9uIC0tLS0gICBUeXBlcyAmIEludGVyZmFjZXMgICAtLS0tXG5cbi8qKlxuICogV29ya2Zsb3cgZXhlY3V0aW9uIHJlc3VsdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvd0V4ZWN1dGlvblJlc3VsdCB7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIG91dHB1dD86IGFueTtcbiAgZXJyb3I/OiBzdHJpbmc7XG4gIG5leHRUYXNrPzogQVhQV29ya2Zsb3dUYXNrIHwgbnVsbDtcbiAgZXhlY3V0aW9uSWQ/OiBzdHJpbmc7XG4gIHN0YXRlPzogQVhQV29ya2Zsb3dFeGVjdXRpb25TdGF0ZTtcbn1cblxuXG4vLyNlbmRyZWdpb25cblxuLyoqXG4gKiBQcm9kdWN0aW9uIFdvcmtmbG93IENvb3JkaW5hdG9yLlxuICogXG4gKiBTZXBhcmF0ZXMgZnJvbnRlbmQvYmFja2VuZCBleGVjdXRpb246XG4gKiAtIEZyb250ZW5kIGFjdGl2aXRpZXM6IEV4ZWN1dGUgd2l0aCBBWFBDb21tYW5kIGluIGJyb3dzZXJcbiAqIC0gQmFja2VuZCBhY3Rpdml0aWVzOiBFeGVjdXRlIHZpYSBBUEkgY2FsbHMgdG8gYmFja2VuZFxuICogLSBTdGF0ZSBjYWNoaW5nOiBDYWNoZXMgd29ya2Zsb3cgc3RhdGUgaW4gY2xpZW50IGZvciBwZXJmb3JtYW5jZVxuICogXG4gKiDinIUgU3VpdGFibGUgZm9yIHByb2R1Y3Rpb24gdXNlLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBXb3JrZmxvd0Nvb3JkaW5hdG9yIHtcbiAgLy8jcmVnaW9uIC0tLS0gICBTZXJ2aWNlcyAmIERlcGVuZGVuY2llcyAgIC0tLS1cblxuICBwcml2YXRlIHJlYWRvbmx5IHdvcmtmbG93RXhlY3V0aW9uU2VydmljZSA9IGluamVjdChBWFBXb3JrZmxvd0V4ZWN1dGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbW1hbmRTZXJ2aWNlID0gaW5qZWN0KEFYUENvbW1hbmRTZXJ2aWNlKTtcbiAgXG4gIC8vI2VuZHJlZ2lvblxuXG4gIC8vI3JlZ2lvbiAtLS0tICAgU3RhdGUgQ2FjaGUgKENsaWVudC1zaWRlIGZvciBQZXJmb3JtYW5jZSkgICAtLS0tXG5cbiAgLyoqXG4gICAqIENhY2hlIHdvcmtmbG93IHN0YXRlcyBpbiBtZW1vcnkgZm9yIHF1aWNrIGFjY2Vzcy5cbiAgICogS2V5OiBleGVjdXRpb25JZFxuICAgKiBWYWx1ZTogQVhQV29ya2Zsb3dFeGVjdXRpb25TdGF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0ZUNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIEFYUFdvcmtmbG93RXhlY3V0aW9uU3RhdGU+KCk7XG5cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFB1YmxpYyBNZXRob2RzICAgLS0tLVxuXG4gIC8qKlxuICAgKiBTdGFydCB3b3JrZmxvdyBleGVjdXRpb24gaW4gYmFja2VuZC5cbiAgICogXG4gICAqIEJhY2tlbmQgZGVjaWRlcyB3aGF0IHRvIGRvOiByZXR1cm5zIHBlbmRpbmdUYXNrIG9yIGluZGljYXRlcyBjb21wbGV0aW9uLlxuICAgKiBGcm9udGVuZCBvbmx5IGNhbGxzIEFQSSAtIG5vIGJ1c2luZXNzIGxvZ2ljIGhlcmUuXG4gICAqIFxuICAgKiBAcGFyYW0gd29ya2Zsb3dJZCAtIFdvcmtmbG93IElEXG4gICAqIEBwYXJhbSBpbnB1dCAtIEluaXRpYWwgaW5wdXQgZGF0YVxuICAgKiBAcmV0dXJucyBFeGVjdXRpb24gcmVzdWx0IHdpdGggcGVuZGluZ1Rhc2sgKGlmIGFueSlcbiAgICogXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgcmVzdWx0ID0gYXdhaXQgY29vcmRpbmF0b3Iuc3RhcnRXb3JrZmxvdygnbXktd29ya2Zsb3cnLCB7IHVzZXJJZDogJzEyMycgfSk7XG4gICAqIFxuICAgKiBpZiAocmVzdWx0LnBlbmRpbmdUYXNrKSB7XG4gICAqICAgLy8gRXhlY3V0ZSB0YXNrIGlmIGZyb250ZW5kLCBvciB3YWl0IGZvciBiYWNrZW5kIHRvIGNvbXBsZXRlXG4gICAqICAgaWYgKHJlc3VsdC5wZW5kaW5nVGFzay5leGVjdXRpb25Nb2RlID09PSAnZnJvbnRlbmQnKSB7XG4gICAqICAgICBhd2FpdCBjb29yZGluYXRvci5leGVjdXRlVGFzayhyZXN1bHQucGVuZGluZ1Rhc2spO1xuICAgKiAgICAgYXdhaXQgY29vcmRpbmF0b3IuY29tcGxldGVUYXNrKHJlc3VsdC5leGVjdXRpb25JZCwgcmVzdWx0LnBlbmRpbmdUYXNrLCBvdXRjb21lLCBvdXRwdXQpO1xuICAgKiAgIH1cbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIHN0YXJ0V29ya2Zsb3coXG4gICAgd29ya2Zsb3dJZDogc3RyaW5nLFxuICAgIGlucHV0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cbiAgKTogUHJvbWlzZTxXb3JrZmxvd0V4ZWN1dGlvblJlc3VsdD4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBleGVjdXRpb24gPSBhd2FpdCB0aGlzLnN0YXJ0V29ya2Zsb3dFeGVjdXRpb24od29ya2Zsb3dJZCwgaW5wdXQpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBvdXRwdXQ6IGV4ZWN1dGlvbi5zdGF0ZS5vdXRwdXQsXG4gICAgICAgIG5leHRUYXNrOiBleGVjdXRpb24ucGVuZGluZ1Rhc2sgfHwgbnVsbCxcbiAgICAgICAgZXhlY3V0aW9uSWQ6IGV4ZWN1dGlvbi5leGVjdXRpb25JZCxcbiAgICAgICAgc3RhdGU6IGV4ZWN1dGlvbi5zdGF0ZVxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IGVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byBzdGFydCB3b3JrZmxvdycsXG4gICAgICAgIG5leHRUYXNrOiBudWxsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIGEgZnJvbnRlbmQgdGFzayB1c2luZyBBWFBDb21tYW5kLlxuICAgKiBcbiAgICogT25seSBleGVjdXRlcyBpZiB0YXNrLmV4ZWN1dGlvbk1vZGUgaXMgJ2Zyb250ZW5kJyBvciAnYm90aCcuXG4gICAqIEJhY2tlbmQgdGFza3MgYXJlIGhhbmRsZWQgYXV0b21hdGljYWxseSBieSBiYWNrZW5kLlxuICAgKiBcbiAgICogQHBhcmFtIHRhc2sgLSBUYXNrIHRvIGV4ZWN1dGVcbiAgICogQHJldHVybnMgRXhlY3V0aW9uIHJlc3VsdCB3aXRoIG91dHB1dCBhbmQgb3V0Y29tZVxuICAgKi9cbiAgYXN5bmMgZXhlY3V0ZVRhc2soXG4gICAgdGFzazogQVhQV29ya2Zsb3dUYXNrXG4gICk6IFByb21pc2U8eyBvdXRwdXQ6IGFueTsgb3V0Y29tZTogc3RyaW5nIH0+IHtcbiAgICAvLyBPbmx5IGV4ZWN1dGUgZnJvbnRlbmQgdGFza3NcbiAgICBpZiAodGFzay5leGVjdXRpb25Nb2RlICE9PSAnZnJvbnRlbmQnICYmIHRhc2suZXhlY3V0aW9uTW9kZSAhPT0gJ2JvdGgnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRhc2sgJyR7dGFzay5hY3Rpdml0eUlkfScgaXMgbm90IGEgZnJvbnRlbmQgdGFzay4gQmFja2VuZCBoYW5kbGVzIGl0IGF1dG9tYXRpY2FsbHkuYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZXhlY3V0ZUZyb250ZW5kQWN0aXZpdHkodGFzayk7XG4gIH1cblxuICAvKipcbiAgICogQ29tcGxldGUgYSB0YXNrIGFuZCBnZXQgbmV4dCB0YXNrIGZyb20gYmFja2VuZC5cbiAgICogXG4gICAqIFNlbmRzIHRhc2sgcmVzdWx0IHRvIGJhY2tlbmQgQVBJLlxuICAgKiBCYWNrZW5kIGRlY2lkZXM6IG5leHQgdGFzaywgZmFpbCwgb3IgY29tcGxldGUgd29ya2Zsb3cuXG4gICAqIFxuICAgKiBAcGFyYW0gZXhlY3V0aW9uSWQgLSBFeGVjdXRpb24gSURcbiAgICogQHBhcmFtIHRhc2sgLSBDb21wbGV0ZWQgdGFza1xuICAgKiBAcGFyYW0gb3V0Y29tZSAtIFRhc2sgb3V0Y29tZSAoZS5nLiwgJ0RvbmUnLCAnQ29uZmlybWVkJywgJ0NhbmNlbGxlZCcpXG4gICAqIEBwYXJhbSBvdXRwdXQgLSBUYXNrIG91dHB1dC9yZXN1bHRcbiAgICogQHJldHVybnMgTmV4dCB0YXNrIGZyb20gYmFja2VuZCAoaWYgYW55KVxuICAgKi9cbiAgYXN5bmMgY29tcGxldGVUYXNrKFxuICAgIGV4ZWN1dGlvbklkOiBzdHJpbmcsXG4gICAgdGFzazogQVhQV29ya2Zsb3dUYXNrLFxuICAgIG91dGNvbWU6IHN0cmluZyxcbiAgICBvdXRwdXQ/OiBhbnlcbiAgKTogUHJvbWlzZTxXb3JrZmxvd0V4ZWN1dGlvblJlc3VsdD4ge1xuICAgIHRyeSB7XG4gICAgICAvLyBTZW5kIHJlc3VsdCB0byBiYWNrZW5kIC0gYmFja2VuZCBkZWNpZGVzIG5leHQgc3RlcFxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLndvcmtmbG93RXhlY3V0aW9uU2VydmljZS5yZXN1bWVFeGVjdXRpb24oe1xuICAgICAgICBleGVjdXRpb25JZCxcbiAgICAgICAgc3RlcElkOiB0YXNrLmFjdGl2aXR5SWQsXG4gICAgICAgIHRhc2tUb2tlbjogdGFzay50YXNrVG9rZW4sXG4gICAgICAgIG91dGNvbWUsXG4gICAgICAgIHVzZXJJbnB1dDogb3V0cHV0XG4gICAgICB9KTtcblxuICAgICAgLy8gVXBkYXRlIGNhY2hlXG4gICAgICBpZiAocmVzcG9uc2Uuc3RhdGUpIHtcbiAgICAgICAgdGhpcy5zdGF0ZUNhY2hlLnNldChleGVjdXRpb25JZCwgcmVzcG9uc2Uuc3RhdGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBvdXRwdXQ6IHJlc3BvbnNlLm91dHB1dCxcbiAgICAgICAgbmV4dFRhc2s6IHJlc3BvbnNlLm5leHRUYXNrIHx8IG51bGwsXG4gICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICBzdGF0ZTogcmVzcG9uc2Uuc3RhdGVcbiAgICAgIH07XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIGVycm9yOiBlcnJvci5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gY29tcGxldGUgdGFzaycsXG4gICAgICAgIG5leHRUYXNrOiBudWxsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgd29ya2Zsb3cgYnkgSUQgKGJhY2t3YXJkIGNvbXBhdGliaWxpdHkpLlxuICAgKiBcbiAgICogQGRlcHJlY2F0ZWQgVXNlIHN0YXJ0V29ya2Zsb3cgKyBleGVjdXRlVGFzayArIGNvbXBsZXRlVGFzayBwYXR0ZXJuIGluc3RlYWQuXG4gICAqIFRoaXMgbWV0aG9kIGlzIGtlcHQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgYnV0IHdpbGwgYmUgcmVtb3ZlZC5cbiAgICovXG4gIGFzeW5jIGV4ZWN1dGVXb3JrZmxvd0J5SWQoXG4gICAgd29ya2Zsb3dJZDogc3RyaW5nLFxuICAgIGlucHV0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge31cbiAgKTogUHJvbWlzZTxXb3JrZmxvd0V4ZWN1dGlvblJlc3VsdD4ge1xuICAgIC8vIEp1c3Qgc3RhcnQgd29ya2Zsb3cgLSBjYWxsZXIgc2hvdWxkIGhhbmRsZSB0YXNrIGV4ZWN1dGlvblxuICAgIHJldHVybiBhd2FpdCB0aGlzLnN0YXJ0V29ya2Zsb3cod29ya2Zsb3dJZCwgaW5wdXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc3VtZSBhIHN1c3BlbmRlZCB3b3JrZmxvdyAoZS5nLiwgYWZ0ZXIgdXNlciBpbnRlcmFjdGlvbikuXG4gICAqIFxuICAgKiBCYWNrZW5kIGRldGVybWluZXMgbmV4dFN0ZXAgYmFzZWQgb24gb3V0Y29tZSBhbmQgb3V0Y29tZUNvbm5lY3Rpb25zLlxuICAgKiBDbGllbnQgb25seSBwcm92aWRlcyBleGVjdXRpb25JZCwgc3RlcElkLCBvdXRjb21lLCBhbmQgb3B0aW9uYWwgdXNlcklucHV0LlxuICAgKiBcbiAgICogQHBhcmFtIGV4ZWN1dGlvbklkIC0gV29ya2Zsb3cgZXhlY3V0aW9uIElEXG4gICAqIEBwYXJhbSBzdGVwSWQgLSBTdGVwIElEIHRoYXQgd2FzIHdhaXRpbmcgZm9yIHVzZXIgaW5wdXRcbiAgICogQHBhcmFtIG91dGNvbWUgLSBVc2VyIGFjdGlvbiBvdXRjb21lIChlLmcuLCAnQ29uZmlybWVkJywgJ0NhbmNlbGxlZCcsICdTdWJtaXR0ZWQnKVxuICAgKiBAcGFyYW0gdXNlcklucHV0IC0gT3B0aW9uYWwgdXNlciBpbnB1dCBkYXRhXG4gICAqL1xuICBhc3luYyByZXN1bWVXb3JrZmxvdyhcbiAgICBleGVjdXRpb25JZDogc3RyaW5nLFxuICAgIHN0ZXBJZDogc3RyaW5nLFxuICAgIG91dGNvbWU6IHN0cmluZyxcbiAgICB1c2VySW5wdXQ/OiBhbnksXG4gICAgdGFza1Rva2VuPzogc3RyaW5nXG4gICk6IFByb21pc2U8V29ya2Zsb3dFeGVjdXRpb25SZXN1bHQ+IHtcbiAgICB0cnkge1xuICAgICAgLy8gRW5zdXJlIHRhc2tUb2tlbiBpcyBwcm92aWRlZCBmb3Igc2VjdXJlIHJlc3VtcHRpb25cbiAgICAgIGlmICghdGFza1Rva2VuKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZyB0YXNrVG9rZW4gZm9yIHJlc3VtZVdvcmtmbG93Jyk7XG4gICAgICB9XG5cbiAgICAgIC8vIEJhY2tlbmQgaGFuZGxlcyBldmVyeXRoaW5nOiBjaGVja3Mgb3V0Y29tZUNvbm5lY3Rpb25zIGFuZCBkZXRlcm1pbmVzIG5leHRTdGVwXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMud29ya2Zsb3dFeGVjdXRpb25TZXJ2aWNlLnJlc3VtZUV4ZWN1dGlvbih7XG4gICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICBzdGVwSWQsXG4gICAgICAgIHRhc2tUb2tlbixcbiAgICAgICAgb3V0Y29tZSxcbiAgICAgICAgdXNlcklucHV0XG4gICAgICB9KTtcblxuICAgICAgLy8gVXBkYXRlIGNhY2hlIHdpdGggc3RhdGUgZnJvbSBiYWNrZW5kXG4gICAgICBpZiAocmVzcG9uc2Uuc3RhdGUpIHtcbiAgICAgICAgdGhpcy5zdGF0ZUNhY2hlLnNldChleGVjdXRpb25JZCwgcmVzcG9uc2Uuc3RhdGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBvdXRwdXQ6IHJlc3BvbnNlLm91dHB1dCxcbiAgICAgICAgbmV4dFRhc2s6IHJlc3BvbnNlLm5leHRUYXNrIHx8IG51bGwsIC8vIEJhY2tlbmQgZGV0ZXJtaW5lcyB0aGlzIGZyb20gb3V0Y29tZUNvbm5lY3Rpb25zXG4gICAgICAgIGV4ZWN1dGlvbklkLFxuICAgICAgICBzdGF0ZTogcmVzcG9uc2Uuc3RhdGVcbiAgICAgIH07XG5cbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IGVycm9yLm1lc3NhZ2UgfHwgJ0ZhaWxlZCB0byByZXN1bWUgd29ya2Zsb3cnLFxuICAgICAgICBuZXh0VGFzazogbnVsbFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IHdvcmtmbG93IGV4ZWN1dGlvbiBzdGF0ZSAoZnJvbSBjYWNoZSBvciBiYWNrZW5kKS5cbiAgICovXG4gIGFzeW5jIGdldFdvcmtmbG93U3RhdGUoZXhlY3V0aW9uSWQ6IHN0cmluZyk6IFByb21pc2U8QVhQV29ya2Zsb3dFeGVjdXRpb25TdGF0ZSB8IG51bGw+IHtcbiAgICAvLyBDaGVjayBjYWNoZSBmaXJzdFxuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMuc3RhdGVDYWNoZS5nZXQoZXhlY3V0aW9uSWQpO1xuICAgIGlmIChjYWNoZWQpIHtcbiAgICAgIC8vIENhY2hlIGlzIHZhbGlkIGZvciA1IG1pbnV0ZXNcbiAgICAgIGNvbnN0IGNhY2hlQWdlID0gRGF0ZS5ub3coKSAtIGNhY2hlZC5sYXN0VXBkYXRlZC5nZXRUaW1lKCk7XG4gICAgICBpZiAoY2FjaGVBZ2UgPCA1ICogNjAgKiAxMDAwKSB7XG4gICAgICAgIHJldHVybiBjYWNoZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmV0Y2ggZnJvbSBiYWNrZW5kXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXRlID0gYXdhaXQgdGhpcy53b3JrZmxvd0V4ZWN1dGlvblNlcnZpY2UuZ2V0RXhlY3V0aW9uU3RhdGUoe1xuICAgICAgICBleGVjdXRpb25JZFxuICAgICAgfSk7XG4gICAgICBcbiAgICAgIC8vIFVwZGF0ZSBjYWNoZVxuICAgICAgdGhpcy5zdGF0ZUNhY2hlLnNldChleGVjdXRpb25JZCwgc3RhdGUpO1xuICAgICAgXG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvLyNlbmRyZWdpb25cblxuICAvLyNyZWdpb24gLS0tLSAgIFByaXZhdGUgTWV0aG9kcyAgIC0tLS1cblxuICAvKipcbiAgICogRXhlY3V0ZSBhIGZyb250ZW5kIGFjdGl2aXR5IHVzaW5nIENvbW1hbmRCdXMuXG4gICAqIFxuICAgKiBGcm9udGVuZCBhY3Rpdml0aWVzIGFyZSBleGVjdXRlZCBpbiB0aGUgYnJvd3NlciB1c2luZyBBWFBDb21tYW5kU2VydmljZS5cbiAgICogQWN0aXZpdGllcyBjYW4gYWxzbyBiZSBleGVjdXRlZCBpbiBib3RoIGZyb250ZW5kIGFuZCBiYWNrZW5kIChoeWJyaWQgbW9kZSkuXG4gICAqIFxuICAgKiBAcGFyYW0gdGFzayAtIEZyb250ZW5kIHRhc2sgdG8gZXhlY3V0ZVxuICAgKiBAcmV0dXJucyBFeGVjdXRpb24gcmVzdWx0IHdpdGggb3V0cHV0IGFuZCBvdXRjb21lXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGVGcm9udGVuZEFjdGl2aXR5KFxuICAgIHRhc2s6IEFYUFdvcmtmbG93VGFza1xuICApOiBQcm9taXNlPHsgb3V0cHV0OiBhbnk7IG91dGNvbWU6IHN0cmluZyB9PiB7XG4gICAgdHJ5IHtcbiAgICAgIC8vIENoZWNrIGlmIGNvbW1hbmQgZXhpc3RzXG4gICAgICBpZiAoIXRoaXMuY29tbWFuZFNlcnZpY2UuZXhpc3RzKHRhc2suYWN0aXZpdHlUeXBlKSkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFtXb3JrZmxvd0Nvb3JkaW5hdG9yXSBGcm9udGVuZCBhY3Rpdml0eSAnJHt0YXNrLmFjdGl2aXR5VHlwZX0nIGlzIG5vdCByZWdpc3RlcmVkLiBTa2lwcGluZyBleGVjdXRpb24uYCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgb3V0cHV0OiBudWxsLFxuICAgICAgICAgIG91dGNvbWU6ICdEb25lJ1xuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICAvLyBFeGVjdXRlIGFjdGl2aXR5IHZpYSBDb21tYW5kQnVzXG4gICAgICAvLyBBY3Rpdml0aWVzIHJlZ2lzdGVyZWQgYXMgQVhQQ29tbWFuZCByZXR1cm4ge291dHB1dCwgb3V0Y29tZXN9XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNvbW1hbmRTZXJ2aWNlLmV4ZWN1dGU8UmVjb3JkPHN0cmluZywgYW55PiwgeyBcbiAgICAgICAgb3V0cHV0OiBhbnk7IFxuICAgICAgICBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiBcbiAgICAgIH0+KHRhc2suYWN0aXZpdHlUeXBlLCB0YXNrLmlucHV0IHx8IHRhc2suY29uZmlnIHx8IHt9KTtcblxuICAgICAgLy8gRXh0cmFjdCBvdXRjb21lIGZyb20gb3V0Y29tZXMgKHVzdWFsbHkgJ0RvbmUnIG9yIGZpcnN0IGtleSlcbiAgICAgIGxldCBvdXRjb21lID0gJ0RvbmUnO1xuICAgICAgaWYgKHJlc3VsdD8ub3V0Y29tZXMpIHtcbiAgICAgICAgLy8gUHJlZmVyICdEb25lJyBpZiBleGlzdHMsIG90aGVyd2lzZSB1c2UgZmlyc3Qgb3V0Y29tZSBrZXlcbiAgICAgICAgb3V0Y29tZSA9IHJlc3VsdC5vdXRjb21lc1snRG9uZSddID8gJ0RvbmUnIDogT2JqZWN0LmtleXMocmVzdWx0Lm91dGNvbWVzKVswXSB8fCAnRG9uZSc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIG91dHB1dDogcmVzdWx0Py5vdXRwdXQgfHwgcmVzdWx0LFxuICAgICAgICBvdXRjb21lXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYFtXb3JrZmxvd0Nvb3JkaW5hdG9yXSBFcnJvciBleGVjdXRpbmcgZnJvbnRlbmQgYWN0aXZpdHkgJyR7dGFzay5hY3Rpdml0eVR5cGV9JzpgLCBlcnJvcik7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvdXRwdXQ6IHsgZXJyb3I6IGVycm9yLm1lc3NhZ2UgfHwgJ1Vua25vd24gZXJyb3InIH0sXG4gICAgICAgIG91dGNvbWU6ICdGYWlsZWQnXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCB3b3JrZmxvdyBleGVjdXRpb24gaW4gYmFja2VuZC5cbiAgICogQmFja2VuZCByZXR1cm5zIGV4ZWN1dGlvbklkLCBpbml0aWFsIHN0YXRlLCBhbmQgZmlyc3QgdGFzayB0byBleGVjdXRlLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBzdGFydFdvcmtmbG93RXhlY3V0aW9uKFxuICAgIHdvcmtmbG93SWQ6IHN0cmluZyxcbiAgICBpbnB1dDogUmVjb3JkPHN0cmluZywgYW55PlxuICApOiBQcm9taXNlPHsgZXhlY3V0aW9uSWQ6IHN0cmluZzsgc3RhdGU6IEFYUFdvcmtmbG93RXhlY3V0aW9uU3RhdGU7IHBlbmRpbmdUYXNrPzogQVhQV29ya2Zsb3dUYXNrIHwgbnVsbCB9PiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLndvcmtmbG93RXhlY3V0aW9uU2VydmljZS5zdGFydEV4ZWN1dGlvbih7XG4gICAgICB3b3JrZmxvd0lkLFxuICAgICAgaW5wdXRcbiAgICB9KTtcblxuICAgIC8vIENhY2hlIHN0YXRlXG4gICAgdGhpcy5zdGF0ZUNhY2hlLnNldChyZXNwb25zZS5leGVjdXRpb25JZCwgcmVzcG9uc2Uuc3RhdGUpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGV4ZWN1dGlvbklkOiByZXNwb25zZS5leGVjdXRpb25JZCxcbiAgICAgIHN0YXRlOiByZXNwb25zZS5zdGF0ZSxcbiAgICAgIHBlbmRpbmdUYXNrOiByZXNwb25zZS5wZW5kaW5nVGFza1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogTk9URTogQWxsIHdvcmtmbG93IGV4ZWN1dGlvbiBsb2dpYyAoY29udHJvbCBmbG93LCBzdGVwIGZpbmRpbmcsIGNvbmRpdGlvbiBldmFsdWF0aW9uKVxuICAgKiBoYXMgYmVlbiBtb3ZlZCB0byBiYWNrZW5kIHNlcnZpY2VzLlxuICAgKiBcbiAgICogQ2xpZW50IChXb3JrZmxvd0Nvb3JkaW5hdG9yKSBub3cgb25seTpcbiAgICogMS4gQ2FsbHMgYmFja2VuZCB0byBzdGFydC9yZXN1bWUgd29ya2Zsb3dcbiAgICogMi4gRXhlY3V0ZXMgVUkgYWN0aXZpdGllcyAoc2hvdy1kaWFsb2csIHNob3ctdG9hc3QsIG5hdmlnYXRlKSBsb2NhbGx5XG4gICAqIDMuIFNlbmRzIG91dGNvbWUgYmFjayB0byBiYWNrZW5kIGZvciBuZXh0IHN0ZXAgZGV0ZXJtaW5hdGlvblxuICAgKiBcbiAgICogVGhpcyBlbnN1cmVzIHByb3BlciBzZXBhcmF0aW9uIG9mIGNvbmNlcm5zIGFuZCBzZWN1cml0eTpcbiAgICogLSBCYWNrZW5kIG93bnMgd29ya2Zsb3cgZGVmaW5pdGlvbnNcbiAgICogLSBCYWNrZW5kIGhhbmRsZXMgYWxsIGJ1c2luZXNzIGxvZ2ljIGFuZCBzdGF0ZSB0cmFuc2l0aW9uc1xuICAgKiAtIEZyb250ZW5kIG9ubHkgaGFuZGxlcyBVSSByZW5kZXJpbmcgYW5kIHVzZXIgaW50ZXJhY3Rpb25zXG4gICAqL1xuXG4gIC8vI2VuZHJlZ2lvblxufVxuXG4iXX0=","/**\n * Types and interfaces for Workflow Execution Service.\n */\nexport {};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctZXhlY3V0aW9uLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2VuZ2luZS9ydW50aW1lL3dvcmtmbG93LWV4ZWN1dGlvbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTs7R0FFRyIsInNvdXJjZXNDb250ZW50IjpbIlxuLyoqXG4gKiBUeXBlcyBhbmQgaW50ZXJmYWNlcyBmb3IgV29ya2Zsb3cgRXhlY3V0aW9uIFNlcnZpY2UuXG4gKi9cblxuaW1wb3J0IHsgQVhQV29ya2Zsb3dEZWZpbml0aW9uIH0gZnJvbSBcIi4uL3dvcmtmbG93LWRlZmluaXRpb24udHlwZXNcIjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgd29ya2Zsb3cgdGFzayB0aGF0IG5lZWRzIHRvIGJlIGV4ZWN1dGVkLlxuICogSW5zcGlyZWQgYnkgVGVtcG9yYWwncyBBY3Rpdml0eSBUYXNrcyBhbmQgQ2FtdW5kYSdzIEV4dGVybmFsIFRhc2tzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdvcmtmbG93VGFzayB7XG4gIC8qKlxuICAgKiBVbmlxdWUgdG9rZW4gZm9yIHRoaXMgdGFzayAodXNlZCBmb3IgY29tcGxldGlvbi9zZWN1cml0eSkuXG4gICAqL1xuICB0YXNrVG9rZW46IHN0cmluZztcblxuICAvKipcbiAgICogQWN0aXZpdHkgSUQgZnJvbSB3b3JrZmxvdyBkZWZpbml0aW9uLlxuICAgKi9cbiAgYWN0aXZpdHlJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBY3Rpdml0eSB0eXBlIChlLmcuLCAnd29ya2Zsb3ctYWN0aXZpdHk6c2hvdy10b2FzdCcpLlxuICAgKi9cbiAgYWN0aXZpdHlUeXBlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEh1bWFuLXJlYWRhYmxlIGFjdGl2aXR5IG5hbWUuXG4gICAqL1xuICBhY3Rpdml0eU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRoaXMgdGFzayBzaG91bGQgYmUgZXhlY3V0ZWQuXG4gICAqIC0gJ2Zyb250ZW5kJzogRXhlY3V0ZSBpbiBicm93c2VyIChVSSBhY3Rpdml0aWVzLCBjb25zb2xlLCBldmVudHMpXG4gICAqIC0gJ2JhY2tlbmQnOiBFeGVjdXRlIGluIGJhY2tlbmQgKGJ1c2luZXNzIGxvZ2ljLCBBUEkgY2FsbHMpXG4gICAqIC0gJ2JvdGgnOiBFeGVjdXRlIGluIGJvdGggZnJvbnRlbmQgYW5kIGJhY2tlbmQgKGh5YnJpZCBhY3Rpdml0aWVzKVxuICAgKi9cbiAgZXhlY3V0aW9uTW9kZTogJ2Zyb250ZW5kJyB8ICdiYWNrZW5kJyB8ICdib3RoJztcblxuICAvKipcbiAgICogSW5wdXQgZGF0YSBmb3IgdGhlIGFjdGl2aXR5IChmb3IgZnJvbnRlbmQgYWN0aXZpdGllcykuXG4gICAqL1xuICBpbnB1dD86IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBhY3Rpdml0eSAoZm9yIGZyb250ZW5kIGFjdGl2aXRpZXMpLlxuICAgKi9cbiAgY29uZmlnPzogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHRvIHN0YXJ0IGEgd29ya2Zsb3cgZXhlY3V0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFN0YXJ0V29ya2Zsb3dFeGVjdXRpb25SZXF1ZXN0IHtcbiAgLyoqXG4gICAqIFdvcmtmbG93IElEIHRvIGV4ZWN1dGUuXG4gICAqL1xuICB3b3JrZmxvd0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEluaXRpYWwgaW5wdXQgZGF0YSBmb3Igd29ya2Zsb3cuXG4gICAqL1xuICBpbnB1dDogUmVjb3JkPHN0cmluZywgYW55Pjtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBhZnRlciBzdGFydGluZyB3b3JrZmxvdyBleGVjdXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQU3RhcnRXb3JrZmxvd0V4ZWN1dGlvblJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBleGVjdXRpb24gSUQgZm9yIHRoaXMgd29ya2Zsb3cgcnVuLlxuICAgKi9cbiAgZXhlY3V0aW9uSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQ3VycmVudCB3b3JrZmxvdyBzdGF0ZS5cbiAgICovXG4gIHN0YXRlOiBBWFBXb3JrZmxvd0V4ZWN1dGlvblN0YXRlO1xuXG4gIC8qKlxuICAgKiBGaXJzdCB0YXNrIHRvIGV4ZWN1dGUgKGRldGVybWluZWQgYnkgYmFja2VuZCkuXG4gICAqIENsaWVudCBzaG91bGQgZXhlY3V0ZSB0aGlzIHRhc2sgYmFzZWQgb24gZXhlY3V0aW9uTW9kZS5cbiAgICovXG4gIHBlbmRpbmdUYXNrPzogQVhQV29ya2Zsb3dUYXNrIHwgbnVsbDtcbn1cblxuXG4vKipcbiAqIFJlcXVlc3QgdG8gcmVzdW1lIGEgc3VzcGVuZGVkIHdvcmtmbG93LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlc3VtZVdvcmtmbG93RXhlY3V0aW9uUmVxdWVzdCB7XG4gIC8qKlxuICAgKiBFeGVjdXRpb24gSUQuXG4gICAqL1xuICBleGVjdXRpb25JZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdGVwIElEIHRoYXQgd2FzIHdhaXRpbmcgZm9yIHVzZXIgaW5wdXQuXG4gICAqL1xuICBzdGVwSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogU2VjdXJlIHRhc2sgdG9rZW4gaXNzdWVkIHdpdGggdGhlIHBlbmRpbmcgdGFzay5cbiAgICogQmFja2VuZCB2YWxpZGF0ZXMgYW5kIHJlc29sdmVzIHRoZSBzdGVwIHVzaW5nIHRoaXMgdG9rZW4uXG4gICAqL1xuICB0YXNrVG9rZW46IHN0cmluZztcblxuICAvKipcbiAgICogVXNlciBhY3Rpb24gb3V0Y29tZSAoZS5nLiwgJ0NvbmZpcm1lZCcsICdDYW5jZWxsZWQnKS5cbiAgICovXG4gIG91dGNvbWU6IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBpbnB1dCBkYXRhLlxuICAgKi9cbiAgdXNlcklucHV0PzogYW55O1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGFmdGVyIHJlc3VtaW5nIHdvcmtmbG93LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFJlc3VtZVdvcmtmbG93RXhlY3V0aW9uUmVzcG9uc2Uge1xuICAvKipcbiAgICogQWN0aXZpdHkgZXhlY3V0aW9uIG91dHB1dC5cbiAgICovXG4gIG91dHB1dDogYW55O1xuXG4gIC8qKlxuICAgKiBBY3Rpdml0eSBleGVjdXRpb24gb3V0Y29tZXMuXG4gICAqL1xuICBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICAvKipcbiAgICogTmV4dCB0YXNrIHRvIGV4ZWN1dGUgKGlmIGFueSkuXG4gICAqL1xuICBuZXh0VGFzaz86IEFYUFdvcmtmbG93VGFzayB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFVwZGF0ZWQgd29ya2Zsb3cgc3RhdGUuXG4gICAqL1xuICBzdGF0ZTogQVhQV29ya2Zsb3dFeGVjdXRpb25TdGF0ZTtcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHRvIGdldCB3b3JrZmxvdyBleGVjdXRpb24gc3RhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQR2V0V29ya2Zsb3dFeGVjdXRpb25TdGF0ZVJlcXVlc3Qge1xuICAvKipcbiAgICogRXhlY3V0aW9uIElELlxuICAgKi9cbiAgZXhlY3V0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHRvIGdldCB3b3JrZmxvdyBkZWZpbml0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUEdldFdvcmtmbG93RGVmaW5pdGlvblJlcXVlc3Qge1xuICAvKipcbiAgICogV29ya2Zsb3cgSUQgb3IgZGVmaW5pdGlvbiBJRC5cbiAgICovXG4gIHdvcmtmbG93SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSB3aXRoIHdvcmtmbG93IGRlZmluaXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQVhQR2V0V29ya2Zsb3dEZWZpbml0aW9uUmVzcG9uc2Uge1xuICAvKipcbiAgICogV29ya2Zsb3cgZGVmaW5pdGlvbi5cbiAgICovXG4gIHdvcmtmbG93OiBBWFBXb3JrZmxvd0RlZmluaXRpb247XG59XG5cbi8qKlxuICogV29ya2Zsb3cgZXhlY3V0aW9uIHN0YXRlIChtYW5hZ2VkIGJ5IGJhY2tlbmQsIGNhY2hlZCBpbiBjbGllbnQpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFYUFdvcmtmbG93RXhlY3V0aW9uU3RhdGUge1xuICAvKipcbiAgICogVW5pcXVlIGV4ZWN1dGlvbiBJRC5cbiAgICovXG4gIGV4ZWN1dGlvbklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdvcmtmbG93IElELlxuICAgKi9cbiAgd29ya2Zsb3dJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDdXJyZW50IGV4ZWN1dGlvbiBzdGF0dXMuXG4gICAqL1xuICBzdGF0dXM6ICdydW5uaW5nJyB8ICdjb21wbGV0ZWQnIHwgJ3N1c3BlbmRlZCcgfCAnZXJyb3InO1xuXG4gIC8qKlxuICAgKiBDdXJyZW50IHN0ZXAgSUQgKGlmIHN1c3BlbmRlZCBvciBydW5uaW5nKS5cbiAgICovXG4gIGN1cnJlbnRTdGVwSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdvcmtmbG93IHZhcmlhYmxlcyAoc3RhdGUpLlxuICAgKi9cbiAgdmFyaWFibGVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gIC8qKlxuICAgKiBJbml0aWFsIGlucHV0IGRhdGEuXG4gICAqL1xuICBpbnB1dDogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICAvKipcbiAgICogRmluYWwgb3V0cHV0IGRhdGEgKGlmIGNvbXBsZXRlZCkuXG4gICAqL1xuICBvdXRwdXQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gIC8qKlxuICAgKiBMYXN0IHVwZGF0ZSB0aW1lc3RhbXAuXG4gICAqL1xuICBsYXN0VXBkYXRlZDogRGF0ZTtcbn1cblxuIl19","// Production Workflow Coordinator (Frontend/Backend Separation)\nexport * from './workflow-coordinator';\n// Workflow Execution Service (Interface & Types)\nexport * from './workflow-execution.service';\nexport * from './workflow-execution.types';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL3J1bnRpbWUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0VBQWdFO0FBQ2hFLGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsaURBQWlEO0FBQ2pELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFByb2R1Y3Rpb24gV29ya2Zsb3cgQ29vcmRpbmF0b3IgKEZyb250ZW5kL0JhY2tlbmQgU2VwYXJhdGlvbilcbmV4cG9ydCAqIGZyb20gJy4vd29ya2Zsb3ctY29vcmRpbmF0b3InO1xuXG4vLyBXb3JrZmxvdyBFeGVjdXRpb24gU2VydmljZSAoSW50ZXJmYWNlICYgVHlwZXMpXG5leHBvcnQgKiBmcm9tICcuL3dvcmtmbG93LWV4ZWN1dGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vd29ya2Zsb3ctZXhlY3V0aW9uLnR5cGVzJzsiXX0=","import { Activity } from '../activity.types';\n/**\n * WriteLine Activity - Simple console logging activity.\n *\n * Usage:\n * ```typescript\n * const activity = new WriteLine();\n * await activity.execute({ text: 'Hello World' });\n * ```\n */\nexport class WriteLine extends Activity {\n constructor() {\n super('WriteLine');\n }\n async execute(input) {\n const text = input.text || '';\n if (text !== undefined && text !== null) {\n console.log(`[WriteLine] ${text}`);\n }\n return this.createResult(undefined, 'Done');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbGluZS5hY3Rpdml0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi9lbmdpbmUvYWN0aXZpdGllcy93cml0ZS1saW5lLmFjdGl2aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3Qzs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sT0FBTyxTQUFVLFNBQVEsUUFBaUM7SUFDOUQ7UUFDRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBd0I7UUFDcEMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7UUFFOUIsSUFBSSxJQUFJLEtBQUssU0FBUyxJQUFJLElBQUksS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5LnR5cGVzJztcblxuLyoqXG4gKiBXcml0ZUxpbmUgQWN0aXZpdHkgLSBTaW1wbGUgY29uc29sZSBsb2dnaW5nIGFjdGl2aXR5LlxuICogXG4gKiBVc2FnZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFjdGl2aXR5ID0gbmV3IFdyaXRlTGluZSgpO1xuICogYXdhaXQgYWN0aXZpdHkuZXhlY3V0ZSh7IHRleHQ6ICdIZWxsbyBXb3JsZCcgfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFdyaXRlTGluZSBleHRlbmRzIEFjdGl2aXR5PHsgdGV4dD86IHN0cmluZyB9LCB2b2lkPiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdXcml0ZUxpbmUnKTtcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGUoaW5wdXQ6IHsgdGV4dD86IHN0cmluZyB9KTogUHJvbWlzZTx7IG91dHB1dDogdm9pZDsgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfT4ge1xuICAgIGNvbnN0IHRleHQgPSBpbnB1dC50ZXh0IHx8ICcnO1xuICAgIFxuICAgIGlmICh0ZXh0ICE9PSB1bmRlZmluZWQgJiYgdGV4dCAhPT0gbnVsbCkge1xuICAgICAgY29uc29sZS5sb2coYFtXcml0ZUxpbmVdICR7dGV4dH1gKTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHVuZGVmaW5lZCwgJ0RvbmUnKTtcbiAgfVxufSJdfQ==","import { Activity } from '../activity.types';\n/**\n * Sequence Activity - Executes activities in sequential order.\n *\n * Usage:\n * ```typescript\n * const sequence = new Sequence();\n * sequence.activities = [activity1, activity2, activity3];\n * await sequence.execute({});\n * ```\n */\nexport class Sequence extends Activity {\n constructor() {\n super('Sequence');\n /**\n * Activities to execute in sequence.\n */\n this.activities = [];\n }\n async execute(input) {\n // Execute all activities in sequence\n for (const activity of this.activities) {\n await activity.execute(input);\n }\n return this.createResult(undefined, 'Done');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2UuYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvc2VxdWVuY2UuYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBRXhEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsUUFBa0I7SUFNOUM7UUFDRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFOcEI7O1dBRUc7UUFDSCxlQUFVLEdBQWdCLEVBQUUsQ0FBQztJQUk3QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFTO1FBQ3JCLHFDQUFxQztRQUNyQyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN2QyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZpdHksIElBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5LnR5cGVzJztcblxuLyoqXG4gKiBTZXF1ZW5jZSBBY3Rpdml0eSAtIEV4ZWN1dGVzIGFjdGl2aXRpZXMgaW4gc2VxdWVudGlhbCBvcmRlci5cbiAqIFxuICogVXNhZ2U6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzZXF1ZW5jZSA9IG5ldyBTZXF1ZW5jZSgpO1xuICogc2VxdWVuY2UuYWN0aXZpdGllcyA9IFthY3Rpdml0eTEsIGFjdGl2aXR5MiwgYWN0aXZpdHkzXTtcbiAqIGF3YWl0IHNlcXVlbmNlLmV4ZWN1dGUoe30pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXF1ZW5jZSBleHRlbmRzIEFjdGl2aXR5PHt9LCB2b2lkPiB7XG4gIC8qKlxuICAgKiBBY3Rpdml0aWVzIHRvIGV4ZWN1dGUgaW4gc2VxdWVuY2UuXG4gICAqL1xuICBhY3Rpdml0aWVzOiBJQWN0aXZpdHlbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdTZXF1ZW5jZScpO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZShpbnB1dDoge30pOiBQcm9taXNlPHsgb3V0cHV0OiB2b2lkOyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9PiB7XG4gICAgLy8gRXhlY3V0ZSBhbGwgYWN0aXZpdGllcyBpbiBzZXF1ZW5jZVxuICAgIGZvciAoY29uc3QgYWN0aXZpdHkgb2YgdGhpcy5hY3Rpdml0aWVzKSB7XG4gICAgICBhd2FpdCBhY3Rpdml0eS5leGVjdXRlKGlucHV0KTtcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHVuZGVmaW5lZCwgJ0RvbmUnKTtcbiAgfVxufSJdfQ==","import { inject } from '@angular/core';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Activity } from '../activity.types';\n/**\n * Show Confirm Dialog Activity - Displays confirmation dialog to user.\n *\n * Has two outcomes:\n * - 'Confirmed': User clicked confirm/yes\n * - 'Cancelled': User clicked cancel/no\n *\n * Usage:\n * ```typescript\n * const dialog = new ShowConfirmDialog();\n * await dialog.execute({\n * title: 'Confirm Delete',\n * message: 'Are you sure?',\n * color: 'danger'\n * });\n * ```\n */\nexport class ShowConfirmDialog extends Activity {\n //#endregion\n constructor() {\n super('ShowConfirmDialog');\n //#region ---- Services & Dependencies ----\n this.dialogService = inject(AXDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(input) {\n const { title = '', message = '', color = 'primary', defaultAction = 'cancel', align = 'horizontal', backdrop = false } = input;\n // Translate title and message only if they start with '@' (translation key)\n // Otherwise use the text as-is\n const translatedTitle = title\n ? (title.startsWith('@')\n ? await this.translationService.translateAsync(title) || title\n : title)\n : '';\n const translatedMessage = message\n ? (message.startsWith('@')\n ? await this.translationService.translateAsync(message) || message\n : message)\n : '';\n try {\n const confirmResult = await this.dialogService.confirm(translatedTitle, translatedMessage, color, align, backdrop, defaultAction);\n const result = confirmResult.result;\n const action = result ? 'confirm' : 'cancel';\n return this.createResult({\n result,\n action\n }, result ? 'Confirmed' : 'Cancelled');\n }\n catch (err) {\n console.error('[ShowConfirmDialog] Error showing dialog:', err);\n return this.createResult({\n result: false,\n action: 'error'\n }, 'Cancelled');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1jb25maXJtLWRpYWxvZy5hY3Rpdml0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi9lbmdpbmUvYWN0aXZpdGllcy9zaG93LWNvbmZpcm0tZGlhbG9nLmFjdGl2aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3Qzs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxRQVVyQztJQU1BLFlBQVk7SUFFWjtRQUNFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBUjdCLCtDQUErQztRQUU5QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQU1uRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQU9iO1FBSUMsTUFBTSxFQUNKLEtBQUssR0FBRyxFQUFFLEVBQ1YsT0FBTyxHQUFHLEVBQUUsRUFDWixLQUFLLEdBQUcsU0FBUyxFQUNqQixhQUFhLEdBQUcsUUFBUSxFQUN4QixLQUFLLEdBQUcsWUFBWSxFQUNwQixRQUFRLEdBQUcsS0FBSyxFQUNqQixHQUFHLEtBQUssQ0FBQztRQUVWLDRFQUE0RTtRQUM1RSwrQkFBK0I7UUFDL0IsTUFBTSxlQUFlLEdBQUcsS0FBSztZQUMzQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLO2dCQUM5RCxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ1osQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNQLE1BQU0saUJBQWlCLEdBQUcsT0FBTztZQUMvQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFDdEIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPO2dCQUNsRSxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ2QsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLElBQUksQ0FBQztZQUNILE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQ3BELGVBQWUsRUFDZixpQkFBaUIsRUFDakIsS0FBSyxFQUNMLEtBQUssRUFDTCxRQUFRLEVBQ1IsYUFBYSxDQUNkLENBQUM7WUFFRixNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQ3BDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFFN0MsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN2QixNQUFNO2dCQUNOLE1BQU07YUFDUCxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV6QyxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDaEUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN2QixNQUFNLEVBQUUsS0FBSztnQkFDYixNQUFNLEVBQUUsT0FBTzthQUNoQixFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYRGlhbG9nU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuaW1wb3J0IHsgQVhTdHlsZUNvbG9yVHlwZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5LnR5cGVzJztcblxuLyoqXG4gKiBTaG93IENvbmZpcm0gRGlhbG9nIEFjdGl2aXR5IC0gRGlzcGxheXMgY29uZmlybWF0aW9uIGRpYWxvZyB0byB1c2VyLlxuICogXG4gKiBIYXMgdHdvIG91dGNvbWVzOlxuICogLSAnQ29uZmlybWVkJzogVXNlciBjbGlja2VkIGNvbmZpcm0veWVzXG4gKiAtICdDYW5jZWxsZWQnOiBVc2VyIGNsaWNrZWQgY2FuY2VsL25vXG4gKiBcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZGlhbG9nID0gbmV3IFNob3dDb25maXJtRGlhbG9nKCk7XG4gKiBhd2FpdCBkaWFsb2cuZXhlY3V0ZSh7XG4gKiAgIHRpdGxlOiAnQ29uZmlybSBEZWxldGUnLFxuICogICBtZXNzYWdlOiAnQXJlIHlvdSBzdXJlPycsXG4gKiAgIGNvbG9yOiAnZGFuZ2VyJ1xuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFNob3dDb25maXJtRGlhbG9nIGV4dGVuZHMgQWN0aXZpdHk8e1xuICB0aXRsZT86IHN0cmluZztcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgY29sb3I/OiBBWFN0eWxlQ29sb3JUeXBlO1xuICBkZWZhdWx0QWN0aW9uPzogJ2NvbmZpcm0nIHwgJ2NhbmNlbCc7XG4gIGFsaWduPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcbiAgYmFja2Ryb3A/OiBib29sZWFuO1xufSwge1xuICByZXN1bHQ6IGJvb2xlYW47XG4gIGFjdGlvbjogc3RyaW5nO1xufT4ge1xuICAvLyNyZWdpb24gLS0tLSAgIFNlcnZpY2VzICYgRGVwZW5kZW5jaWVzICAgLS0tLVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChBWFRyYW5zbGF0aW9uU2VydmljZSk7XG5cbiAgLy8jZW5kcmVnaW9uXG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ1Nob3dDb25maXJtRGlhbG9nJyk7XG4gIH1cblxuICBhc3luYyBleGVjdXRlKGlucHV0OiB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgbWVzc2FnZT86IHN0cmluZztcbiAgICBjb2xvcj86IEFYU3R5bGVDb2xvclR5cGU7XG4gICAgZGVmYXVsdEFjdGlvbj86ICdjb25maXJtJyB8ICdjYW5jZWwnO1xuICAgIGFsaWduPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJztcbiAgICBiYWNrZHJvcD86IGJvb2xlYW47XG4gIH0pOiBQcm9taXNlPHsgXG4gICAgb3V0cHV0OiB7IHJlc3VsdDogYm9vbGVhbjsgYWN0aW9uOiBzdHJpbmcgfTsgXG4gICAgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gXG4gIH0+IHtcbiAgICBjb25zdCB7XG4gICAgICB0aXRsZSA9ICcnLFxuICAgICAgbWVzc2FnZSA9ICcnLFxuICAgICAgY29sb3IgPSAncHJpbWFyeScsXG4gICAgICBkZWZhdWx0QWN0aW9uID0gJ2NhbmNlbCcsXG4gICAgICBhbGlnbiA9ICdob3Jpem9udGFsJyxcbiAgICAgIGJhY2tkcm9wID0gZmFsc2VcbiAgICB9ID0gaW5wdXQ7XG5cbiAgICAvLyBUcmFuc2xhdGUgdGl0bGUgYW5kIG1lc3NhZ2Ugb25seSBpZiB0aGV5IHN0YXJ0IHdpdGggJ0AnICh0cmFuc2xhdGlvbiBrZXkpXG4gICAgLy8gT3RoZXJ3aXNlIHVzZSB0aGUgdGV4dCBhcy1pc1xuICAgIGNvbnN0IHRyYW5zbGF0ZWRUaXRsZSA9IHRpdGxlIFxuICAgICAgPyAodGl0bGUuc3RhcnRzV2l0aCgnQCcpIFxuICAgICAgICAgID8gYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmModGl0bGUpIHx8IHRpdGxlXG4gICAgICAgICAgOiB0aXRsZSlcbiAgICAgIDogJyc7XG4gICAgY29uc3QgdHJhbnNsYXRlZE1lc3NhZ2UgPSBtZXNzYWdlIFxuICAgICAgPyAobWVzc2FnZS5zdGFydHNXaXRoKCdAJykgXG4gICAgICAgICAgPyBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYyhtZXNzYWdlKSB8fCBtZXNzYWdlXG4gICAgICAgICAgOiBtZXNzYWdlKVxuICAgICAgOiAnJztcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBjb25maXJtUmVzdWx0ID0gYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmNvbmZpcm0oXG4gICAgICAgIHRyYW5zbGF0ZWRUaXRsZSxcbiAgICAgICAgdHJhbnNsYXRlZE1lc3NhZ2UsXG4gICAgICAgIGNvbG9yLFxuICAgICAgICBhbGlnbixcbiAgICAgICAgYmFja2Ryb3AsXG4gICAgICAgIGRlZmF1bHRBY3Rpb25cbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGNvbmZpcm1SZXN1bHQucmVzdWx0O1xuICAgICAgY29uc3QgYWN0aW9uID0gcmVzdWx0ID8gJ2NvbmZpcm0nIDogJ2NhbmNlbCc7XG5cbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlc3VsdCh7XG4gICAgICAgIHJlc3VsdCxcbiAgICAgICAgYWN0aW9uXG4gICAgICB9LCByZXN1bHQgPyAnQ29uZmlybWVkJyA6ICdDYW5jZWxsZWQnKTtcbiAgICAgIFxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignW1Nob3dDb25maXJtRGlhbG9nXSBFcnJvciBzaG93aW5nIGRpYWxvZzonLCBlcnIpO1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHtcbiAgICAgICAgcmVzdWx0OiBmYWxzZSxcbiAgICAgICAgYWN0aW9uOiAnZXJyb3InXG4gICAgICB9LCAnQ2FuY2VsbGVkJyk7XG4gICAgfVxuICB9XG59XG5cbiJdfQ==","import { inject } from '@angular/core';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Activity } from '../activity.types';\n/**\n * Show Alert Dialog Activity - Displays alert dialog to user.\n *\n * Has one outcome:\n * - 'Done': User clicked OK\n *\n * Usage:\n * ```typescript\n * const dialog = new ShowAlertDialog();\n * await dialog.execute({\n * title: 'Alert',\n * message: 'This is an alert',\n * color: 'info'\n * });\n * ```\n */\nexport class ShowAlertDialog extends Activity {\n //#endregion\n constructor() {\n super('ShowAlertDialog');\n //#region ---- Services & Dependencies ----\n this.dialogService = inject(AXDialogService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(input) {\n const { title = '', message = '', color = 'primary' } = input;\n // Translate title and message only if they start with '@' (translation key)\n // Otherwise use the text as-is\n const translatedTitle = title\n ? (title.startsWith('@')\n ? await this.translationService.translateAsync(title) || title\n : title)\n : '';\n const translatedMessage = message\n ? (message.startsWith('@')\n ? await this.translationService.translateAsync(message) || message\n : message)\n : '';\n try {\n await this.dialogService.alert(translatedTitle, translatedMessage, color);\n return this.createResult({\n result: true,\n action: 'ok'\n }, 'Done');\n }\n catch (err) {\n console.error('[ShowAlertDialog] Error showing dialog:', err);\n return this.createResult({\n result: false,\n action: 'error'\n }, 'Done');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy1hbGVydC1kaWFsb2cuYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvc2hvdy1hbGVydC1kaWFsb2cuYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sT0FBTyxlQUFnQixTQUFRLFFBT25DO0lBTUEsWUFBWTtJQUVaO1FBQ0UsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFSM0IsK0NBQStDO1FBRTlCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3hDLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBTW5FLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBSWI7UUFJQyxNQUFNLEVBQ0osS0FBSyxHQUFHLEVBQUUsRUFDVixPQUFPLEdBQUcsRUFBRSxFQUNaLEtBQUssR0FBRyxTQUFTLEVBQ2xCLEdBQUcsS0FBSyxDQUFDO1FBRVYsNEVBQTRFO1FBQzVFLCtCQUErQjtRQUMvQixNQUFNLGVBQWUsR0FBRyxLQUFLO1lBQzNCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2dCQUNwQixDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUs7Z0JBQzlELENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDWixDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1AsTUFBTSxpQkFBaUIsR0FBRyxPQUFPO1lBQy9CLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO2dCQUN0QixDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLE9BQU87Z0JBQ2xFLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDZCxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRVAsSUFBSSxDQUFDO1lBQ0gsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFFMUUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN2QixNQUFNLEVBQUUsSUFBSTtnQkFDWixNQUFNLEVBQUUsSUFBSTthQUNiLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFYixDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMseUNBQXlDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDOUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN2QixNQUFNLEVBQUUsS0FBSztnQkFDYixNQUFNLEVBQUUsT0FBTzthQUNoQixFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2IsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWFN0eWxlQ29sb3JUeXBlIH0gZnJvbSAnQGFjb3JleC9jZGsvY29tbW9uJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHkudHlwZXMnO1xuXG4vKipcbiAqIFNob3cgQWxlcnQgRGlhbG9nIEFjdGl2aXR5IC0gRGlzcGxheXMgYWxlcnQgZGlhbG9nIHRvIHVzZXIuXG4gKiBcbiAqIEhhcyBvbmUgb3V0Y29tZTpcbiAqIC0gJ0RvbmUnOiBVc2VyIGNsaWNrZWQgT0tcbiAqIFxuICogVXNhZ2U6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBkaWFsb2cgPSBuZXcgU2hvd0FsZXJ0RGlhbG9nKCk7XG4gKiBhd2FpdCBkaWFsb2cuZXhlY3V0ZSh7XG4gKiAgIHRpdGxlOiAnQWxlcnQnLFxuICogICBtZXNzYWdlOiAnVGhpcyBpcyBhbiBhbGVydCcsXG4gKiAgIGNvbG9yOiAnaW5mbydcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBTaG93QWxlcnREaWFsb2cgZXh0ZW5kcyBBY3Rpdml0eTx7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBjb2xvcj86IEFYU3R5bGVDb2xvclR5cGU7XG59LCB7XG4gIHJlc3VsdDogYm9vbGVhbjtcbiAgYWN0aW9uOiBzdHJpbmc7XG59PiB7XG4gIC8vI3JlZ2lvbiAtLS0tICAgU2VydmljZXMgJiBEZXBlbmRlbmNpZXMgICAtLS0tXG5cbiAgcHJpdmF0ZSByZWFkb25seSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICAvLyNlbmRyZWdpb25cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignU2hvd0FsZXJ0RGlhbG9nJyk7XG4gIH1cblxuICBhc3luYyBleGVjdXRlKGlucHV0OiB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgbWVzc2FnZT86IHN0cmluZztcbiAgICBjb2xvcj86IEFYU3R5bGVDb2xvclR5cGU7XG4gIH0pOiBQcm9taXNlPHsgXG4gICAgb3V0cHV0OiB7IHJlc3VsdDogYm9vbGVhbjsgYWN0aW9uOiBzdHJpbmcgfTsgXG4gICAgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gXG4gIH0+IHtcbiAgICBjb25zdCB7XG4gICAgICB0aXRsZSA9ICcnLFxuICAgICAgbWVzc2FnZSA9ICcnLFxuICAgICAgY29sb3IgPSAncHJpbWFyeSdcbiAgICB9ID0gaW5wdXQ7XG5cbiAgICAvLyBUcmFuc2xhdGUgdGl0bGUgYW5kIG1lc3NhZ2Ugb25seSBpZiB0aGV5IHN0YXJ0IHdpdGggJ0AnICh0cmFuc2xhdGlvbiBrZXkpXG4gICAgLy8gT3RoZXJ3aXNlIHVzZSB0aGUgdGV4dCBhcy1pc1xuICAgIGNvbnN0IHRyYW5zbGF0ZWRUaXRsZSA9IHRpdGxlIFxuICAgICAgPyAodGl0bGUuc3RhcnRzV2l0aCgnQCcpIFxuICAgICAgICAgID8gYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmModGl0bGUpIHx8IHRpdGxlXG4gICAgICAgICAgOiB0aXRsZSlcbiAgICAgIDogJyc7XG4gICAgY29uc3QgdHJhbnNsYXRlZE1lc3NhZ2UgPSBtZXNzYWdlIFxuICAgICAgPyAobWVzc2FnZS5zdGFydHNXaXRoKCdAJykgXG4gICAgICAgICAgPyBhd2FpdCB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS50cmFuc2xhdGVBc3luYyhtZXNzYWdlKSB8fCBtZXNzYWdlXG4gICAgICAgICAgOiBtZXNzYWdlKVxuICAgICAgOiAnJztcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuYWxlcnQodHJhbnNsYXRlZFRpdGxlLCB0cmFuc2xhdGVkTWVzc2FnZSwgY29sb3IpO1xuXG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQoe1xuICAgICAgICByZXN1bHQ6IHRydWUsXG4gICAgICAgIGFjdGlvbjogJ29rJ1xuICAgICAgfSwgJ0RvbmUnKTtcbiAgICAgIFxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignW1Nob3dBbGVydERpYWxvZ10gRXJyb3Igc2hvd2luZyBkaWFsb2c6JywgZXJyKTtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlc3VsdCh7XG4gICAgICAgIHJlc3VsdDogZmFsc2UsXG4gICAgICAgIGFjdGlvbjogJ2Vycm9yJ1xuICAgICAgfSwgJ0RvbmUnKTtcbiAgICB9XG4gIH1cbn1cblxuIl19","import { inject } from '@angular/core';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { Activity } from '../activity.types';\n/**\n * Show Toast Activity - Displays toast notification to user.\n *\n * Usage:\n * ```typescript\n * const toast = new ShowToast();\n * await toast.execute({\n * color: 'success',\n * title: 'Success',\n * message: 'Operation completed successfully!'\n * });\n * ```\n */\nexport class ShowToast extends Activity {\n constructor() {\n super('ShowToast');\n this.toastService = inject(AXToastService);\n this.translationService = inject(AXTranslationService);\n }\n async execute(input) {\n const { color = 'primary', title = '', message = '', duration = 3000 } = input;\n // Translate title and message only if they start with '@' (translation key)\n // Otherwise use the text as-is\n const translatedTitle = title\n ? (title.startsWith('@')\n ? await this.translationService.translateAsync(title) || title\n : title)\n : '';\n const translatedMessage = message\n ? (message.startsWith('@')\n ? await this.translationService.translateAsync(message) || message\n : message)\n : '';\n try {\n await this.toastService.show({\n color: color,\n title: translatedTitle,\n content: translatedMessage,\n closeButton: true,\n timeOut: duration,\n timeOutProgress: true,\n });\n return this.createResult(undefined, 'Done');\n }\n catch (err) {\n console.error('[ShowToast] Error showing toast:', err);\n return this.createResult(undefined, 'Error');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvdy10b2FzdC5hY3Rpdml0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi9lbmdpbmUvYWN0aXZpdGllcy9zaG93LXRvYXN0LmFjdGl2aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3Qzs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFNLE9BQU8sU0FBVSxTQUFRLFFBS3ZCO0lBSU47UUFDRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFKSixpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0Qyx1QkFBa0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUluRSxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUtiO1FBQ0MsTUFBTSxFQUNKLEtBQUssR0FBRyxTQUFTLEVBQ2pCLEtBQUssR0FBRyxFQUFFLEVBQ1YsT0FBTyxHQUFHLEVBQUUsRUFDWixRQUFRLEdBQUcsSUFBSSxFQUNoQixHQUFHLEtBQUssQ0FBQztRQUVWLDRFQUE0RTtRQUM1RSwrQkFBK0I7UUFDL0IsTUFBTSxlQUFlLEdBQUcsS0FBSztZQUMzQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLO2dCQUM5RCxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ1osQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNQLE1BQU0saUJBQWlCLEdBQUcsT0FBTztZQUMvQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFDdEIsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPO2dCQUNsRSxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ2QsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUVQLElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQzNCLEtBQUssRUFBRSxLQUFLO2dCQUNaLEtBQUssRUFBRSxlQUFlO2dCQUN0QixPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsSUFBSTtnQkFDakIsT0FBTyxFQUFFLFFBQVE7Z0JBQ2pCLGVBQWUsRUFBRSxJQUFJO2FBQ3RCLENBQUMsQ0FBQztZQUVILE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFOUMsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhUb2FzdFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9hc3QnO1xuaW1wb3J0IHsgQVhTdHlsZUNvbG9yVHlwZSB9IGZyb20gJ0BhY29yZXgvY2RrL2NvbW1vbic7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5LnR5cGVzJztcblxuLyoqXG4gKiBTaG93IFRvYXN0IEFjdGl2aXR5IC0gRGlzcGxheXMgdG9hc3Qgbm90aWZpY2F0aW9uIHRvIHVzZXIuXG4gKiBcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdG9hc3QgPSBuZXcgU2hvd1RvYXN0KCk7XG4gKiBhd2FpdCB0b2FzdC5leGVjdXRlKHtcbiAqICAgY29sb3I6ICdzdWNjZXNzJyxcbiAqICAgdGl0bGU6ICdTdWNjZXNzJyxcbiAqICAgbWVzc2FnZTogJ09wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5ISdcbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBTaG93VG9hc3QgZXh0ZW5kcyBBY3Rpdml0eTx7XG4gIGNvbG9yPzogQVhTdHlsZUNvbG9yVHlwZTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xufSwgdm9pZD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0U2VydmljZSA9IGluamVjdChBWFRvYXN0U2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRpb25TZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignU2hvd1RvYXN0Jyk7XG4gIH1cblxuICBhc3luYyBleGVjdXRlKGlucHV0OiB7XG4gICAgY29sb3I/OiBBWFN0eWxlQ29sb3JUeXBlO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgZHVyYXRpb24/OiBudW1iZXI7XG4gIH0pOiBQcm9taXNlPHsgb3V0cHV0OiB2b2lkOyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9PiB7XG4gICAgY29uc3Qge1xuICAgICAgY29sb3IgPSAncHJpbWFyeScsXG4gICAgICB0aXRsZSA9ICcnLFxuICAgICAgbWVzc2FnZSA9ICcnLFxuICAgICAgZHVyYXRpb24gPSAzMDAwXG4gICAgfSA9IGlucHV0O1xuXG4gICAgLy8gVHJhbnNsYXRlIHRpdGxlIGFuZCBtZXNzYWdlIG9ubHkgaWYgdGhleSBzdGFydCB3aXRoICdAJyAodHJhbnNsYXRpb24ga2V5KVxuICAgIC8vIE90aGVyd2lzZSB1c2UgdGhlIHRleHQgYXMtaXNcbiAgICBjb25zdCB0cmFuc2xhdGVkVGl0bGUgPSB0aXRsZSBcbiAgICAgID8gKHRpdGxlLnN0YXJ0c1dpdGgoJ0AnKSBcbiAgICAgICAgICA/IGF3YWl0IHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLnRyYW5zbGF0ZUFzeW5jKHRpdGxlKSB8fCB0aXRsZVxuICAgICAgICAgIDogdGl0bGUpXG4gICAgICA6ICcnO1xuICAgIGNvbnN0IHRyYW5zbGF0ZWRNZXNzYWdlID0gbWVzc2FnZSBcbiAgICAgID8gKG1lc3NhZ2Uuc3RhcnRzV2l0aCgnQCcpIFxuICAgICAgICAgID8gYXdhaXQgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UudHJhbnNsYXRlQXN5bmMobWVzc2FnZSkgfHwgbWVzc2FnZVxuICAgICAgICAgIDogbWVzc2FnZSlcbiAgICAgIDogJyc7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy50b2FzdFNlcnZpY2Uuc2hvdyh7XG4gICAgICAgIGNvbG9yOiBjb2xvcixcbiAgICAgICAgdGl0bGU6IHRyYW5zbGF0ZWRUaXRsZSxcbiAgICAgICAgY29udGVudDogdHJhbnNsYXRlZE1lc3NhZ2UsXG4gICAgICAgIGNsb3NlQnV0dG9uOiB0cnVlLFxuICAgICAgICB0aW1lT3V0OiBkdXJhdGlvbixcbiAgICAgICAgdGltZU91dFByb2dyZXNzOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICBcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlc3VsdCh1bmRlZmluZWQsICdEb25lJyk7XG4gICAgICBcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tTaG93VG9hc3RdIEVycm9yIHNob3dpbmcgdG9hc3Q6JywgZXJyKTtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlc3VsdCh1bmRlZmluZWQsICdFcnJvcicpO1xuICAgIH1cbiAgfVxufSJdfQ==","import { inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Activity } from '../activity.types';\n/**\n * Navigate Activity - Navigates to different pages/routes.\n *\n * Usage:\n * ```typescript\n * const navigate = new Navigate();\n * await navigate.execute({\n * mode: 'route',\n * route: '/users',\n * params: { id: '123' }\n * });\n * ```\n */\nexport class Navigate extends Activity {\n constructor() {\n super('Navigate');\n this.router = inject(Router);\n }\n async execute(input) {\n const { mode = 'route', route = '', params = {}, queryParams = {}, entity = '', entityId = '', url = '' } = input;\n try {\n switch (mode) {\n case 'route':\n await this.router.navigate([route], { queryParams });\n break;\n case 'entity-details':\n const detailsRoute = `/entities/${entity}/details/${entityId}`;\n await this.router.navigate([detailsRoute], { queryParams });\n break;\n case 'entity-list':\n const listRoute = `/entities/${entity}`;\n await this.router.navigate([listRoute], { queryParams });\n break;\n case 'external':\n if (url) {\n window.open(url, '_blank');\n }\n break;\n default:\n console.error(`[Navigate] Unknown navigation mode: ${mode}`);\n return this.createResult(undefined, 'Error');\n }\n return this.createResult(undefined, 'Done');\n }\n catch (err) {\n console.error('[Navigate] Error navigating:', err);\n return this.createResult(undefined, 'Error');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGUuYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvbmF2aWdhdGUuYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsUUFRdEI7SUFHTjtRQUNFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUhILFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFJekMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FRYjtRQUNDLE1BQU0sRUFDSixJQUFJLEdBQUcsT0FBTyxFQUNkLEtBQUssR0FBRyxFQUFFLEVBQ1YsTUFBTSxHQUFHLEVBQUUsRUFDWCxXQUFXLEdBQUcsRUFBRSxFQUNoQixNQUFNLEdBQUcsRUFBRSxFQUNYLFFBQVEsR0FBRyxFQUFFLEVBQ2IsR0FBRyxHQUFHLEVBQUUsRUFDVCxHQUFHLEtBQUssQ0FBQztRQUVWLElBQUksQ0FBQztZQUNILFFBQVEsSUFBSSxFQUFFLENBQUM7Z0JBQ2IsS0FBSyxPQUFPO29CQUNWLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7b0JBQ3JELE1BQU07Z0JBRVIsS0FBSyxnQkFBZ0I7b0JBQ25CLE1BQU0sWUFBWSxHQUFHLGFBQWEsTUFBTSxZQUFZLFFBQVEsRUFBRSxDQUFDO29CQUMvRCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO29CQUM1RCxNQUFNO2dCQUVSLEtBQUssYUFBYTtvQkFDaEIsTUFBTSxTQUFTLEdBQUcsYUFBYSxNQUFNLEVBQUUsQ0FBQztvQkFDeEMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztvQkFDekQsTUFBTTtnQkFFUixLQUFLLFVBQVU7b0JBQ2IsSUFBSSxHQUFHLEVBQUUsQ0FBQzt3QkFDUixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDN0IsQ0FBQztvQkFDRCxNQUFNO2dCQUVSO29CQUNFLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQzdELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDakQsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFOUMsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ25ELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHkudHlwZXMnO1xuXG4vKipcbiAqIE5hdmlnYXRlIEFjdGl2aXR5IC0gTmF2aWdhdGVzIHRvIGRpZmZlcmVudCBwYWdlcy9yb3V0ZXMuXG4gKiBcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmF2aWdhdGUgPSBuZXcgTmF2aWdhdGUoKTtcbiAqIGF3YWl0IG5hdmlnYXRlLmV4ZWN1dGUoe1xuICogICBtb2RlOiAncm91dGUnLFxuICogICByb3V0ZTogJy91c2VycycsXG4gKiAgIHBhcmFtczogeyBpZDogJzEyMycgfVxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIE5hdmlnYXRlIGV4dGVuZHMgQWN0aXZpdHk8e1xuICBtb2RlPzogJ3JvdXRlJyB8ICdlbnRpdHktZGV0YWlscycgfCAnZW50aXR5LWxpc3QnIHwgJ2V4dGVybmFsJztcbiAgcm91dGU/OiBzdHJpbmc7XG4gIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIHF1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgZW50aXR5Pzogc3RyaW5nO1xuICBlbnRpdHlJZD86IHN0cmluZztcbiAgdXJsPzogc3RyaW5nO1xufSwgdm9pZD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdOYXZpZ2F0ZScpO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZShpbnB1dDoge1xuICAgIG1vZGU/OiAncm91dGUnIHwgJ2VudGl0eS1kZXRhaWxzJyB8ICdlbnRpdHktbGlzdCcgfCAnZXh0ZXJuYWwnO1xuICAgIHJvdXRlPzogc3RyaW5nO1xuICAgIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgcXVlcnlQYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGVudGl0eT86IHN0cmluZztcbiAgICBlbnRpdHlJZD86IHN0cmluZztcbiAgICB1cmw/OiBzdHJpbmc7XG4gIH0pOiBQcm9taXNlPHsgb3V0cHV0OiB2b2lkOyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9PiB7XG4gICAgY29uc3Qge1xuICAgICAgbW9kZSA9ICdyb3V0ZScsXG4gICAgICByb3V0ZSA9ICcnLFxuICAgICAgcGFyYW1zID0ge30sXG4gICAgICBxdWVyeVBhcmFtcyA9IHt9LFxuICAgICAgZW50aXR5ID0gJycsXG4gICAgICBlbnRpdHlJZCA9ICcnLFxuICAgICAgdXJsID0gJydcbiAgICB9ID0gaW5wdXQ7XG5cbiAgICB0cnkge1xuICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgIGNhc2UgJ3JvdXRlJzpcbiAgICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbcm91dGVdLCB7IHF1ZXJ5UGFyYW1zIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBcbiAgICAgICAgY2FzZSAnZW50aXR5LWRldGFpbHMnOlxuICAgICAgICAgIGNvbnN0IGRldGFpbHNSb3V0ZSA9IGAvZW50aXRpZXMvJHtlbnRpdHl9L2RldGFpbHMvJHtlbnRpdHlJZH1gO1xuICAgICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFtkZXRhaWxzUm91dGVdLCB7IHF1ZXJ5UGFyYW1zIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBcbiAgICAgICAgY2FzZSAnZW50aXR5LWxpc3QnOlxuICAgICAgICAgIGNvbnN0IGxpc3RSb3V0ZSA9IGAvZW50aXRpZXMvJHtlbnRpdHl9YDtcbiAgICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbbGlzdFJvdXRlXSwgeyBxdWVyeVBhcmFtcyB9KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgXG4gICAgICAgIGNhc2UgJ2V4dGVybmFsJzpcbiAgICAgICAgICBpZiAodXJsKSB7XG4gICAgICAgICAgICB3aW5kb3cub3Blbih1cmwsICdfYmxhbmsnKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIFxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYFtOYXZpZ2F0ZV0gVW5rbm93biBuYXZpZ2F0aW9uIG1vZGU6ICR7bW9kZX1gKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQodW5kZWZpbmVkLCAnRXJyb3InKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHVuZGVmaW5lZCwgJ0RvbmUnKTtcbiAgICAgIFxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignW05hdmlnYXRlXSBFcnJvciBuYXZpZ2F0aW5nOicsIGVycik7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQodW5kZWZpbmVkLCAnRXJyb3InKTtcbiAgICB9XG4gIH1cbn0iXX0=","import { Activity } from '../activity.types';\n/**\n * Set Variable Activity - Sets a variable value in workflow context.\n *\n * Usage:\n * ```typescript\n * const setVar = new SetVariable();\n * await setVar.execute({\n * variableName: 'userId',\n * value: '12345'\n * });\n * ```\n */\nexport class SetVariable extends Activity {\n constructor() {\n super('workflow-activity:set-variable', 'Set Variable');\n }\n async execute(input) {\n const { variableName, value } = input;\n try {\n // In a real implementation, this would set the variable in workflow context\n // For now, we'll just log it\n console.log(`[SetVariable] Setting ${variableName} = ${JSON.stringify(value)}`);\n return this.createResult(undefined, 'Done');\n }\n catch (err) {\n console.error('[SetVariable] Error setting variable:', err);\n return this.createResult(undefined, 'Error');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LXZhcmlhYmxlLmFjdGl2aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2VuZ2luZS9hY3Rpdml0aWVzL3NldC12YXJpYWJsZS5hY3Rpdml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFN0M7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sV0FBWSxTQUFRLFFBR3pCO0lBQ047UUFDRSxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FHYjtRQUNDLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBRXRDLElBQUksQ0FBQztZQUNILDRFQUE0RTtZQUM1RSw2QkFBNkI7WUFDN0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsWUFBWSxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRWhGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFOUMsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHkudHlwZXMnO1xuXG4vKipcbiAqIFNldCBWYXJpYWJsZSBBY3Rpdml0eSAtIFNldHMgYSB2YXJpYWJsZSB2YWx1ZSBpbiB3b3JrZmxvdyBjb250ZXh0LlxuICogXG4gKiBVc2FnZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHNldFZhciA9IG5ldyBTZXRWYXJpYWJsZSgpO1xuICogYXdhaXQgc2V0VmFyLmV4ZWN1dGUoe1xuICogICB2YXJpYWJsZU5hbWU6ICd1c2VySWQnLFxuICogICB2YWx1ZTogJzEyMzQ1J1xuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFNldFZhcmlhYmxlIGV4dGVuZHMgQWN0aXZpdHk8e1xuICB2YXJpYWJsZU5hbWU6IHN0cmluZztcbiAgdmFsdWU6IGFueTtcbn0sIHZvaWQ+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ3dvcmtmbG93LWFjdGl2aXR5OnNldC12YXJpYWJsZScsICdTZXQgVmFyaWFibGUnKTtcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGUoaW5wdXQ6IHtcbiAgICB2YXJpYWJsZU5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogYW55O1xuICB9KTogUHJvbWlzZTx7IG91dHB1dDogdm9pZDsgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfT4ge1xuICAgIGNvbnN0IHsgdmFyaWFibGVOYW1lLCB2YWx1ZSB9ID0gaW5wdXQ7XG5cbiAgICB0cnkge1xuICAgICAgLy8gSW4gYSByZWFsIGltcGxlbWVudGF0aW9uLCB0aGlzIHdvdWxkIHNldCB0aGUgdmFyaWFibGUgaW4gd29ya2Zsb3cgY29udGV4dFxuICAgICAgLy8gRm9yIG5vdywgd2UnbGwganVzdCBsb2cgaXRcbiAgICAgIGNvbnNvbGUubG9nKGBbU2V0VmFyaWFibGVdIFNldHRpbmcgJHt2YXJpYWJsZU5hbWV9ID0gJHtKU09OLnN0cmluZ2lmeSh2YWx1ZSl9YCk7XG4gICAgICBcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlc3VsdCh1bmRlZmluZWQsICdEb25lJyk7XG4gICAgICBcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tTZXRWYXJpYWJsZV0gRXJyb3Igc2V0dGluZyB2YXJpYWJsZTonLCBlcnIpO1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHVuZGVmaW5lZCwgJ0Vycm9yJyk7XG4gICAgfVxuICB9XG59Il19","import { Activity } from '../activity.types';\n/**\n * Dispatch Event Activity - Dispatches an event to the system.\n *\n * Usage:\n * ```typescript\n * const dispatch = new DispatchEvent();\n * await dispatch.execute({\n * eventName: 'user-created',\n * eventData: { userId: '123', name: 'John' }\n * });\n * ```\n */\nexport class DispatchEvent extends Activity {\n constructor() {\n super('DispatchEvent');\n }\n async execute(input) {\n const { eventName, eventData } = input;\n try {\n // In a real implementation, this would dispatch the event through an event bus\n // For now, we'll just log it\n console.log(`[DispatchEvent] Dispatching event: ${eventName}`, eventData);\n return this.createResult(undefined, 'Done');\n }\n catch (err) {\n console.error('[DispatchEvent] Error dispatching event:', err);\n return this.createResult(undefined, 'Error');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGF0Y2gtZXZlbnQuYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvZGlzcGF0Y2gtZXZlbnQuYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxPQUFPLGFBQWMsU0FBUSxRQUczQjtJQUNOO1FBQ0UsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBR2I7UUFDQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUV2QyxJQUFJLENBQUM7WUFDSCwrRUFBK0U7WUFDL0UsNkJBQTZCO1lBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0NBQXNDLFNBQVMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRTFFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFOUMsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHkudHlwZXMnO1xuXG4vKipcbiAqIERpc3BhdGNoIEV2ZW50IEFjdGl2aXR5IC0gRGlzcGF0Y2hlcyBhbiBldmVudCB0byB0aGUgc3lzdGVtLlxuICogXG4gKiBVc2FnZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGRpc3BhdGNoID0gbmV3IERpc3BhdGNoRXZlbnQoKTtcbiAqIGF3YWl0IGRpc3BhdGNoLmV4ZWN1dGUoe1xuICogICBldmVudE5hbWU6ICd1c2VyLWNyZWF0ZWQnLFxuICogICBldmVudERhdGE6IHsgdXNlcklkOiAnMTIzJywgbmFtZTogJ0pvaG4nIH1cbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBEaXNwYXRjaEV2ZW50IGV4dGVuZHMgQWN0aXZpdHk8e1xuICBldmVudE5hbWU6IHN0cmluZztcbiAgZXZlbnREYXRhPzogYW55O1xufSwgdm9pZD4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignRGlzcGF0Y2hFdmVudCcpO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZShpbnB1dDoge1xuICAgIGV2ZW50TmFtZTogc3RyaW5nO1xuICAgIGV2ZW50RGF0YT86IGFueTtcbiAgfSk6IFByb21pc2U8eyBvdXRwdXQ6IHZvaWQ7IG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0+IHtcbiAgICBjb25zdCB7IGV2ZW50TmFtZSwgZXZlbnREYXRhIH0gPSBpbnB1dDtcblxuICAgIHRyeSB7XG4gICAgICAvLyBJbiBhIHJlYWwgaW1wbGVtZW50YXRpb24sIHRoaXMgd291bGQgZGlzcGF0Y2ggdGhlIGV2ZW50IHRocm91Z2ggYW4gZXZlbnQgYnVzXG4gICAgICAvLyBGb3Igbm93LCB3ZSdsbCBqdXN0IGxvZyBpdFxuICAgICAgY29uc29sZS5sb2coYFtEaXNwYXRjaEV2ZW50XSBEaXNwYXRjaGluZyBldmVudDogJHtldmVudE5hbWV9YCwgZXZlbnREYXRhKTtcbiAgICAgIFxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHVuZGVmaW5lZCwgJ0RvbmUnKTtcbiAgICAgIFxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignW0Rpc3BhdGNoRXZlbnRdIEVycm9yIGRpc3BhdGNoaW5nIGV2ZW50OicsIGVycik7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQodW5kZWZpbmVkLCAnRXJyb3InKTtcbiAgICB9XG4gIH1cbn0iXX0=","import { Activity } from '../activity.types';\n/**\n * If Activity - Conditional execution based on a condition.\n *\n * Usage:\n * ```typescript\n * const ifActivity = new If();\n * ifActivity.condition = '{{user.isAdmin}}';\n * ifActivity.thenActivities = [activity1, activity2];\n * ifActivity.elseActivities = [activity3];\n * ```\n */\nexport class If extends Activity {\n constructor() {\n super('If');\n }\n async execute(input) {\n const { condition, thenActivities = [], elseActivities = [] } = input;\n try {\n // Evaluate condition (simplified - in real implementation, use expression evaluator)\n const conditionResult = this.evaluateCondition(condition);\n let result;\n let activities;\n if (conditionResult) {\n activities = thenActivities;\n result = { branch: 'then' };\n }\n else {\n activities = elseActivities;\n result = { branch: 'else' };\n }\n // Execute activities in the chosen branch\n for (const activity of activities) {\n await activity.execute(input);\n }\n return this.createResult(result, conditionResult ? 'Then' : 'Else');\n }\n catch (err) {\n console.error('[If] Error evaluating condition:', err);\n return this.createResult({ branch: 'error' }, 'Error');\n }\n }\n evaluateCondition(condition) {\n if (typeof condition === 'boolean') {\n return condition;\n }\n if (typeof condition === 'string') {\n // Simple evaluation - in real implementation, use proper expression evaluator\n return condition === 'true' || condition === '1' || condition === 'yes';\n }\n return false;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYuYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvaWYuYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBRXhEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLE9BQU8sRUFBRyxTQUFRLFFBSWpCO0lBQ0w7UUFDRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUliO1FBQ0MsTUFBTSxFQUFFLFNBQVMsRUFBRSxjQUFjLEdBQUcsRUFBRSxFQUFFLGNBQWMsR0FBRyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFdEUsSUFBSSxDQUFDO1lBQ0gscUZBQXFGO1lBQ3JGLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUUxRCxJQUFJLE1BQVcsQ0FBQztZQUNoQixJQUFJLFVBQXVCLENBQUM7WUFFNUIsSUFBSSxlQUFlLEVBQUUsQ0FBQztnQkFDcEIsVUFBVSxHQUFHLGNBQWMsQ0FBQztnQkFDNUIsTUFBTSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQzlCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixVQUFVLEdBQUcsY0FBYyxDQUFDO2dCQUM1QixNQUFNLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDOUIsQ0FBQztZQUVELDBDQUEwQztZQUMxQyxLQUFLLE1BQU0sUUFBUSxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNsQyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEMsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXRFLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxTQUEyQjtRQUNuRCxJQUFJLE9BQU8sU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25DLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLDhFQUE4RTtZQUM5RSxPQUFPLFNBQVMsS0FBSyxNQUFNLElBQUksU0FBUyxLQUFLLEdBQUcsSUFBSSxTQUFTLEtBQUssS0FBSyxDQUFDO1FBQzFFLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2aXR5LCBJQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eS50eXBlcyc7XG5cbi8qKlxuICogSWYgQWN0aXZpdHkgLSBDb25kaXRpb25hbCBleGVjdXRpb24gYmFzZWQgb24gYSBjb25kaXRpb24uXG4gKiBcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaWZBY3Rpdml0eSA9IG5ldyBJZigpO1xuICogaWZBY3Rpdml0eS5jb25kaXRpb24gPSAne3t1c2VyLmlzQWRtaW59fSc7XG4gKiBpZkFjdGl2aXR5LnRoZW5BY3Rpdml0aWVzID0gW2FjdGl2aXR5MSwgYWN0aXZpdHkyXTtcbiAqIGlmQWN0aXZpdHkuZWxzZUFjdGl2aXRpZXMgPSBbYWN0aXZpdHkzXTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgSWYgZXh0ZW5kcyBBY3Rpdml0eTx7XG4gIGNvbmRpdGlvbjogc3RyaW5nIHwgYm9vbGVhbjtcbiAgdGhlbkFjdGl2aXRpZXM/OiBJQWN0aXZpdHlbXTtcbiAgZWxzZUFjdGl2aXRpZXM/OiBJQWN0aXZpdHlbXTtcbn0sIGFueT4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignSWYnKTtcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGUoaW5wdXQ6IHtcbiAgICBjb25kaXRpb246IHN0cmluZyB8IGJvb2xlYW47XG4gICAgdGhlbkFjdGl2aXRpZXM/OiBJQWN0aXZpdHlbXTtcbiAgICBlbHNlQWN0aXZpdGllcz86IElBY3Rpdml0eVtdO1xuICB9KTogUHJvbWlzZTx7IG91dHB1dDogYW55OyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9PiB7XG4gICAgY29uc3QgeyBjb25kaXRpb24sIHRoZW5BY3Rpdml0aWVzID0gW10sIGVsc2VBY3Rpdml0aWVzID0gW10gfSA9IGlucHV0O1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIEV2YWx1YXRlIGNvbmRpdGlvbiAoc2ltcGxpZmllZCAtIGluIHJlYWwgaW1wbGVtZW50YXRpb24sIHVzZSBleHByZXNzaW9uIGV2YWx1YXRvcilcbiAgICAgIGNvbnN0IGNvbmRpdGlvblJlc3VsdCA9IHRoaXMuZXZhbHVhdGVDb25kaXRpb24oY29uZGl0aW9uKTtcbiAgICAgIFxuICAgICAgbGV0IHJlc3VsdDogYW55O1xuICAgICAgbGV0IGFjdGl2aXRpZXM6IElBY3Rpdml0eVtdO1xuXG4gICAgICBpZiAoY29uZGl0aW9uUmVzdWx0KSB7XG4gICAgICAgIGFjdGl2aXRpZXMgPSB0aGVuQWN0aXZpdGllcztcbiAgICAgICAgcmVzdWx0ID0geyBicmFuY2g6ICd0aGVuJyB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWN0aXZpdGllcyA9IGVsc2VBY3Rpdml0aWVzO1xuICAgICAgICByZXN1bHQgPSB7IGJyYW5jaDogJ2Vsc2UnIH07XG4gICAgICB9XG5cbiAgICAgIC8vIEV4ZWN1dGUgYWN0aXZpdGllcyBpbiB0aGUgY2hvc2VuIGJyYW5jaFxuICAgICAgZm9yIChjb25zdCBhY3Rpdml0eSBvZiBhY3Rpdml0aWVzKSB7XG4gICAgICAgIGF3YWl0IGFjdGl2aXR5LmV4ZWN1dGUoaW5wdXQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQocmVzdWx0LCBjb25kaXRpb25SZXN1bHQgPyAnVGhlbicgOiAnRWxzZScpO1xuICAgICAgXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbSWZdIEVycm9yIGV2YWx1YXRpbmcgY29uZGl0aW9uOicsIGVycik7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQoeyBicmFuY2g6ICdlcnJvcicgfSwgJ0Vycm9yJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBldmFsdWF0ZUNvbmRpdGlvbihjb25kaXRpb246IHN0cmluZyB8IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBpZiAodHlwZW9mIGNvbmRpdGlvbiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICByZXR1cm4gY29uZGl0aW9uO1xuICAgIH1cbiAgICBcbiAgICBpZiAodHlwZW9mIGNvbmRpdGlvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIC8vIFNpbXBsZSBldmFsdWF0aW9uIC0gaW4gcmVhbCBpbXBsZW1lbnRhdGlvbiwgdXNlIHByb3BlciBleHByZXNzaW9uIGV2YWx1YXRvclxuICAgICAgcmV0dXJuIGNvbmRpdGlvbiA9PT0gJ3RydWUnIHx8IGNvbmRpdGlvbiA9PT0gJzEnIHx8IGNvbmRpdGlvbiA9PT0gJ3llcyc7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufSJdfQ==","import { Activity } from '../activity.types';\n/**\n * While Activity - Loop execution while condition is true.\n *\n * Usage:\n * ```typescript\n * const whileActivity = new While();\n * whileActivity.condition = '{{counter < 10}}';\n * whileActivity.activities = [incrementActivity, logActivity];\n * ```\n */\nexport class While extends Activity {\n constructor() {\n super('While');\n }\n async execute(input) {\n const { condition, activities = [], maxIterations = 1000 } = input;\n try {\n let iteration = 0;\n let conditionResult = this.evaluateCondition(condition);\n while (conditionResult && iteration < maxIterations) {\n // Execute activities in the loop\n for (const activity of activities) {\n await activity.execute(input);\n }\n iteration++;\n conditionResult = this.evaluateCondition(condition);\n }\n const result = {\n iterations: iteration,\n completed: iteration < maxIterations\n };\n return this.createResult(result, 'Done');\n }\n catch (err) {\n console.error('[While] Error in loop execution:', err);\n return this.createResult({ iterations: 0, completed: false }, 'Error');\n }\n }\n evaluateCondition(condition) {\n if (typeof condition === 'boolean') {\n return condition;\n }\n if (typeof condition === 'string') {\n // Simple evaluation - in real implementation, use proper expression evaluator\n return condition === 'true' || condition === '1' || condition === 'yes';\n }\n return false;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hpbGUuYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvd2hpbGUuYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBRXhEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sT0FBTyxLQUFNLFNBQVEsUUFJcEI7SUFDTDtRQUNFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUliO1FBQ0MsTUFBTSxFQUNKLFNBQVMsRUFDVCxVQUFVLEdBQUcsRUFBRSxFQUNmLGFBQWEsR0FBRyxJQUFJLEVBQ3JCLEdBQUcsS0FBSyxDQUFDO1FBRVYsSUFBSSxDQUFDO1lBQ0gsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUV4RCxPQUFPLGVBQWUsSUFBSSxTQUFTLEdBQUcsYUFBYSxFQUFFLENBQUM7Z0JBQ3BELGlDQUFpQztnQkFDakMsS0FBSyxNQUFNLFFBQVEsSUFBSSxVQUFVLEVBQUUsQ0FBQztvQkFDbEMsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoQyxDQUFDO2dCQUVELFNBQVMsRUFBRSxDQUFDO2dCQUNaLGVBQWUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEQsQ0FBQztZQUVELE1BQU0sTUFBTSxHQUFHO2dCQUNiLFVBQVUsRUFBRSxTQUFTO2dCQUNyQixTQUFTLEVBQUUsU0FBUyxHQUFHLGFBQWE7YUFDckMsQ0FBQztZQUVGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFM0MsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3pFLENBQUM7SUFDSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsU0FBMkI7UUFDbkQsSUFBSSxPQUFPLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNsQyw4RUFBOEU7WUFDOUUsT0FBTyxTQUFTLEtBQUssTUFBTSxJQUFJLFNBQVMsS0FBSyxHQUFHLElBQUksU0FBUyxLQUFLLEtBQUssQ0FBQztRQUMxRSxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpdml0eSwgSUFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHkudHlwZXMnO1xuXG4vKipcbiAqIFdoaWxlIEFjdGl2aXR5IC0gTG9vcCBleGVjdXRpb24gd2hpbGUgY29uZGl0aW9uIGlzIHRydWUuXG4gKiBcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgd2hpbGVBY3Rpdml0eSA9IG5ldyBXaGlsZSgpO1xuICogd2hpbGVBY3Rpdml0eS5jb25kaXRpb24gPSAne3tjb3VudGVyIDwgMTB9fSc7XG4gKiB3aGlsZUFjdGl2aXR5LmFjdGl2aXRpZXMgPSBbaW5jcmVtZW50QWN0aXZpdHksIGxvZ0FjdGl2aXR5XTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgV2hpbGUgZXh0ZW5kcyBBY3Rpdml0eTx7XG4gIGNvbmRpdGlvbjogc3RyaW5nIHwgYm9vbGVhbjtcbiAgYWN0aXZpdGllcz86IElBY3Rpdml0eVtdO1xuICBtYXhJdGVyYXRpb25zPzogbnVtYmVyO1xufSwgYW55PiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdXaGlsZScpO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZShpbnB1dDoge1xuICAgIGNvbmRpdGlvbjogc3RyaW5nIHwgYm9vbGVhbjtcbiAgICBhY3Rpdml0aWVzPzogSUFjdGl2aXR5W107XG4gICAgbWF4SXRlcmF0aW9ucz86IG51bWJlcjtcbiAgfSk6IFByb21pc2U8eyBvdXRwdXQ6IGFueTsgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfT4ge1xuICAgIGNvbnN0IHsgXG4gICAgICBjb25kaXRpb24sIFxuICAgICAgYWN0aXZpdGllcyA9IFtdLCBcbiAgICAgIG1heEl0ZXJhdGlvbnMgPSAxMDAwIFxuICAgIH0gPSBpbnB1dDtcblxuICAgIHRyeSB7XG4gICAgICBsZXQgaXRlcmF0aW9uID0gMDtcbiAgICAgIGxldCBjb25kaXRpb25SZXN1bHQgPSB0aGlzLmV2YWx1YXRlQ29uZGl0aW9uKGNvbmRpdGlvbik7XG5cbiAgICAgIHdoaWxlIChjb25kaXRpb25SZXN1bHQgJiYgaXRlcmF0aW9uIDwgbWF4SXRlcmF0aW9ucykge1xuICAgICAgICAvLyBFeGVjdXRlIGFjdGl2aXRpZXMgaW4gdGhlIGxvb3BcbiAgICAgICAgZm9yIChjb25zdCBhY3Rpdml0eSBvZiBhY3Rpdml0aWVzKSB7XG4gICAgICAgICAgYXdhaXQgYWN0aXZpdHkuZXhlY3V0ZShpbnB1dCk7XG4gICAgICAgIH1cblxuICAgICAgICBpdGVyYXRpb24rKztcbiAgICAgICAgY29uZGl0aW9uUmVzdWx0ID0gdGhpcy5ldmFsdWF0ZUNvbmRpdGlvbihjb25kaXRpb24pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgIGl0ZXJhdGlvbnM6IGl0ZXJhdGlvbixcbiAgICAgICAgY29tcGxldGVkOiBpdGVyYXRpb24gPCBtYXhJdGVyYXRpb25zXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQocmVzdWx0LCAnRG9uZScpO1xuICAgICAgXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbV2hpbGVdIEVycm9yIGluIGxvb3AgZXhlY3V0aW9uOicsIGVycik7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQoeyBpdGVyYXRpb25zOiAwLCBjb21wbGV0ZWQ6IGZhbHNlIH0sICdFcnJvcicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZXZhbHVhdGVDb25kaXRpb24oY29uZGl0aW9uOiBzdHJpbmcgfCBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgaWYgKHR5cGVvZiBjb25kaXRpb24gPT09ICdib29sZWFuJykge1xuICAgICAgcmV0dXJuIGNvbmRpdGlvbjtcbiAgICB9XG4gICAgXG4gICAgaWYgKHR5cGVvZiBjb25kaXRpb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBTaW1wbGUgZXZhbHVhdGlvbiAtIGluIHJlYWwgaW1wbGVtZW50YXRpb24sIHVzZSBwcm9wZXIgZXhwcmVzc2lvbiBldmFsdWF0b3JcbiAgICAgIHJldHVybiBjb25kaXRpb24gPT09ICd0cnVlJyB8fCBjb25kaXRpb24gPT09ICcxJyB8fCBjb25kaXRpb24gPT09ICd5ZXMnO1xuICAgIH1cbiAgICBcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn0iXX0=","import { Activity } from '../activity.types';\n/**\n * ForEach Activity - Iterates over a collection of items.\n *\n * Usage:\n * ```typescript\n * const forEach = new ForEach();\n * await forEach.execute({\n * items: ['item1', 'item2', 'item3'],\n * activities: [processItemActivity]\n * });\n * ```\n */\nexport class ForEach extends Activity {\n constructor() {\n super('ForEach');\n }\n async execute(input) {\n const { items = [], activities = [], itemVariableName = 'currentItem', indexVariableName = 'currentIndex' } = input;\n try {\n const results = [];\n for (let index = 0; index < items.length; index++) {\n const currentItem = items[index];\n // Create context with current item and index\n const itemContext = {\n ...input,\n [itemVariableName]: currentItem,\n [indexVariableName]: index\n };\n // Execute activities for current item\n for (const activity of activities) {\n await activity.execute(itemContext);\n }\n results.push({\n item: currentItem,\n index,\n processed: true\n });\n }\n const result = {\n totalItems: items.length,\n processedItems: results.length,\n results\n };\n return this.createResult(result, 'Done');\n }\n catch (err) {\n console.error('[ForEach] Error in iteration:', err);\n return this.createResult({ totalItems: 0, processedItems: 0, results: [] }, 'Error');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yLWVhY2guYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvZm9yLWVhY2guYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBYSxNQUFNLG1CQUFtQixDQUFDO0FBRXhEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxPQUFPLE9BQVEsU0FBUSxRQUt0QjtJQUNMO1FBQ0UsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBS2I7UUFDQyxNQUFNLEVBQ0osS0FBSyxHQUFHLEVBQUUsRUFDVixVQUFVLEdBQUcsRUFBRSxFQUNmLGdCQUFnQixHQUFHLGFBQWEsRUFDaEMsaUJBQWlCLEdBQUcsY0FBYyxFQUNuQyxHQUFHLEtBQUssQ0FBQztRQUVWLElBQUksQ0FBQztZQUNILE1BQU0sT0FBTyxHQUFVLEVBQUUsQ0FBQztZQUUxQixLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNsRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBRWpDLDZDQUE2QztnQkFDN0MsTUFBTSxXQUFXLEdBQUc7b0JBQ2xCLEdBQUcsS0FBSztvQkFDUixDQUFDLGdCQUFnQixDQUFDLEVBQUUsV0FBVztvQkFDL0IsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEtBQUs7aUJBQzNCLENBQUM7Z0JBRUYsc0NBQXNDO2dCQUN0QyxLQUFLLE1BQU0sUUFBUSxJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUNsQyxNQUFNLFFBQVEsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3RDLENBQUM7Z0JBRUQsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDWCxJQUFJLEVBQUUsV0FBVztvQkFDakIsS0FBSztvQkFDTCxTQUFTLEVBQUUsSUFBSTtpQkFDaEIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUVELE1BQU0sTUFBTSxHQUFHO2dCQUNiLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTTtnQkFDeEIsY0FBYyxFQUFFLE9BQU8sQ0FBQyxNQUFNO2dCQUM5QixPQUFPO2FBQ1IsQ0FBQztZQUVGLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFM0MsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLCtCQUErQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdkYsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2aXR5LCBJQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eS50eXBlcyc7XG5cbi8qKlxuICogRm9yRWFjaCBBY3Rpdml0eSAtIEl0ZXJhdGVzIG92ZXIgYSBjb2xsZWN0aW9uIG9mIGl0ZW1zLlxuICogXG4gKiBVc2FnZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGZvckVhY2ggPSBuZXcgRm9yRWFjaCgpO1xuICogYXdhaXQgZm9yRWFjaC5leGVjdXRlKHtcbiAqICAgaXRlbXM6IFsnaXRlbTEnLCAnaXRlbTInLCAnaXRlbTMnXSxcbiAqICAgYWN0aXZpdGllczogW3Byb2Nlc3NJdGVtQWN0aXZpdHldXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgRm9yRWFjaCBleHRlbmRzIEFjdGl2aXR5PHtcbiAgaXRlbXM6IGFueVtdO1xuICBhY3Rpdml0aWVzPzogSUFjdGl2aXR5W107XG4gIGl0ZW1WYXJpYWJsZU5hbWU/OiBzdHJpbmc7XG4gIGluZGV4VmFyaWFibGVOYW1lPzogc3RyaW5nO1xufSwgYW55PiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdGb3JFYWNoJyk7XG4gIH1cblxuICBhc3luYyBleGVjdXRlKGlucHV0OiB7XG4gICAgaXRlbXM6IGFueVtdO1xuICAgIGFjdGl2aXRpZXM/OiBJQWN0aXZpdHlbXTtcbiAgICBpdGVtVmFyaWFibGVOYW1lPzogc3RyaW5nO1xuICAgIGluZGV4VmFyaWFibGVOYW1lPzogc3RyaW5nO1xuICB9KTogUHJvbWlzZTx7IG91dHB1dDogYW55OyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9PiB7XG4gICAgY29uc3QgeyBcbiAgICAgIGl0ZW1zID0gW10sIFxuICAgICAgYWN0aXZpdGllcyA9IFtdLCBcbiAgICAgIGl0ZW1WYXJpYWJsZU5hbWUgPSAnY3VycmVudEl0ZW0nLFxuICAgICAgaW5kZXhWYXJpYWJsZU5hbWUgPSAnY3VycmVudEluZGV4J1xuICAgIH0gPSBpbnB1dDtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHRzOiBhbnlbXSA9IFtdO1xuXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgaXRlbXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRJdGVtID0gaXRlbXNbaW5kZXhdO1xuICAgICAgICBcbiAgICAgICAgLy8gQ3JlYXRlIGNvbnRleHQgd2l0aCBjdXJyZW50IGl0ZW0gYW5kIGluZGV4XG4gICAgICAgIGNvbnN0IGl0ZW1Db250ZXh0ID0ge1xuICAgICAgICAgIC4uLmlucHV0LFxuICAgICAgICAgIFtpdGVtVmFyaWFibGVOYW1lXTogY3VycmVudEl0ZW0sXG4gICAgICAgICAgW2luZGV4VmFyaWFibGVOYW1lXTogaW5kZXhcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBFeGVjdXRlIGFjdGl2aXRpZXMgZm9yIGN1cnJlbnQgaXRlbVxuICAgICAgICBmb3IgKGNvbnN0IGFjdGl2aXR5IG9mIGFjdGl2aXRpZXMpIHtcbiAgICAgICAgICBhd2FpdCBhY3Rpdml0eS5leGVjdXRlKGl0ZW1Db250ZXh0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc3VsdHMucHVzaCh7XG4gICAgICAgICAgaXRlbTogY3VycmVudEl0ZW0sXG4gICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgcHJvY2Vzc2VkOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgIHRvdGFsSXRlbXM6IGl0ZW1zLmxlbmd0aCxcbiAgICAgICAgcHJvY2Vzc2VkSXRlbXM6IHJlc3VsdHMubGVuZ3RoLFxuICAgICAgICByZXN1bHRzXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQocmVzdWx0LCAnRG9uZScpO1xuICAgICAgXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdbRm9yRWFjaF0gRXJyb3IgaW4gaXRlcmF0aW9uOicsIGVycik7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQoeyB0b3RhbEl0ZW1zOiAwLCBwcm9jZXNzZWRJdGVtczogMCwgcmVzdWx0czogW10gfSwgJ0Vycm9yJyk7XG4gICAgfVxuICB9XG59Il19","import { inject } from '@angular/core';\nimport { Activity } from '../activity.types';\nimport { AXPCommandService } from '@acorex/platform/runtime';\n/**\n * Execute Command Activity - Executes a command through Command Bus.\n *\n * Usage:\n * ```typescript\n * const executeCmd = new ExecuteCommand();\n * await executeCmd.execute({\n * commandKey: 'UserManagement.CreateUser',\n * input: { name: 'John', email: 'john@example.com' }\n * });\n * ```\n */\nexport class ExecuteCommand extends Activity {\n constructor() {\n super('workflow-activity:execute-command', 'Execute Command');\n this.commandService = inject(AXPCommandService);\n }\n async execute(input) {\n const { commandKey, input: commandInput = {} } = input;\n try {\n // Check if command exists\n if (!this.commandService.exists(commandKey)) {\n console.warn(`[ExecuteCommand] Command '${commandKey}' is not registered. Simulating execution.`);\n // Simulate command execution for unregistered commands\n const result = {\n commandKey,\n success: true,\n output: commandInput,\n executedAt: new Date().toISOString(),\n simulated: true\n };\n return this.createResult(result, 'Done');\n }\n // Execute command through Command Bus\n const result = await this.commandService.execute(commandKey, commandInput);\n return this.createResult({\n commandKey,\n success: true,\n output: result,\n executedAt: new Date().toISOString()\n }, 'Done');\n }\n catch (err) {\n console.error('[ExecuteCommand] Error executing command:', err);\n return this.createResult({\n commandKey,\n success: false,\n error: err instanceof Error ? err.message : 'Unknown error'\n }, 'Failed');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS1jb21tYW5kLmFjdGl2aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2VuZ2luZS9hY3Rpdml0aWVzL2V4ZWN1dGUtY29tbWFuZC5hY3Rpdml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sT0FBTyxjQUFlLFNBQVEsUUFHN0I7SUFHTDtRQUNFLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBSC9DLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFJNUQsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsS0FHYjtRQUNDLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFlBQVksR0FBRyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFdkQsSUFBSSxDQUFDO1lBQ0gsMEJBQTBCO1lBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUM1QyxPQUFPLENBQUMsSUFBSSxDQUFDLDZCQUE2QixVQUFVLDRDQUE0QyxDQUFDLENBQUM7Z0JBRWxHLHVEQUF1RDtnQkFDdkQsTUFBTSxNQUFNLEdBQUc7b0JBQ2IsVUFBVTtvQkFDVixPQUFPLEVBQUUsSUFBSTtvQkFDYixNQUFNLEVBQUUsWUFBWTtvQkFDcEIsVUFBVSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO29CQUNwQyxTQUFTLEVBQUUsSUFBSTtpQkFDaEIsQ0FBQztnQkFFRixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzNDLENBQUM7WUFFRCxzQ0FBc0M7WUFDdEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7WUFFM0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN2QixVQUFVO2dCQUNWLE9BQU8sRUFBRSxJQUFJO2dCQUNiLE1BQU0sRUFBRSxNQUFNO2dCQUNkLFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTthQUNyQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRWIsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLDJDQUEyQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDdkIsVUFBVTtnQkFDVixPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsR0FBRyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZUFBZTthQUM1RCxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZpdHkgfSBmcm9tICcuLi9hY3Rpdml0eS50eXBlcyc7XG5pbXBvcnQgeyBBWFBDb21tYW5kU2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5cbi8qKlxuICogRXhlY3V0ZSBDb21tYW5kIEFjdGl2aXR5IC0gRXhlY3V0ZXMgYSBjb21tYW5kIHRocm91Z2ggQ29tbWFuZCBCdXMuXG4gKiBcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZXhlY3V0ZUNtZCA9IG5ldyBFeGVjdXRlQ29tbWFuZCgpO1xuICogYXdhaXQgZXhlY3V0ZUNtZC5leGVjdXRlKHtcbiAqICAgY29tbWFuZEtleTogJ1VzZXJNYW5hZ2VtZW50LkNyZWF0ZVVzZXInLFxuICogICBpbnB1dDogeyBuYW1lOiAnSm9obicsIGVtYWlsOiAnam9obkBleGFtcGxlLmNvbScgfVxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIEV4ZWN1dGVDb21tYW5kIGV4dGVuZHMgQWN0aXZpdHk8e1xuICBjb21tYW5kS2V5OiBzdHJpbmc7XG4gIGlucHV0PzogYW55O1xufSwgYW55PiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZFNlcnZpY2UgPSBpbmplY3QoQVhQQ29tbWFuZFNlcnZpY2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCd3b3JrZmxvdy1hY3Rpdml0eTpleGVjdXRlLWNvbW1hbmQnLCAnRXhlY3V0ZSBDb21tYW5kJyk7XG4gIH1cblxuICBhc3luYyBleGVjdXRlKGlucHV0OiB7XG4gICAgY29tbWFuZEtleTogc3RyaW5nO1xuICAgIGlucHV0PzogYW55O1xuICB9KTogUHJvbWlzZTx7IG91dHB1dDogYW55OyBvdXRjb21lczogUmVjb3JkPHN0cmluZywgYW55PiB9PiB7XG4gICAgY29uc3QgeyBjb21tYW5kS2V5LCBpbnB1dDogY29tbWFuZElucHV0ID0ge30gfSA9IGlucHV0O1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIENoZWNrIGlmIGNvbW1hbmQgZXhpc3RzXG4gICAgICBpZiAoIXRoaXMuY29tbWFuZFNlcnZpY2UuZXhpc3RzKGNvbW1hbmRLZXkpKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihgW0V4ZWN1dGVDb21tYW5kXSBDb21tYW5kICcke2NvbW1hbmRLZXl9JyBpcyBub3QgcmVnaXN0ZXJlZC4gU2ltdWxhdGluZyBleGVjdXRpb24uYCk7XG4gICAgICAgIFxuICAgICAgICAvLyBTaW11bGF0ZSBjb21tYW5kIGV4ZWN1dGlvbiBmb3IgdW5yZWdpc3RlcmVkIGNvbW1hbmRzXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHtcbiAgICAgICAgICBjb21tYW5kS2V5LFxuICAgICAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICAgICAgb3V0cHV0OiBjb21tYW5kSW5wdXQsXG4gICAgICAgICAgZXhlY3V0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHNpbXVsYXRlZDogdHJ1ZVxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlc3VsdChyZXN1bHQsICdEb25lJyk7XG4gICAgICB9XG5cbiAgICAgIC8vIEV4ZWN1dGUgY29tbWFuZCB0aHJvdWdoIENvbW1hbmQgQnVzXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNvbW1hbmRTZXJ2aWNlLmV4ZWN1dGUoY29tbWFuZEtleSwgY29tbWFuZElucHV0KTtcblxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHtcbiAgICAgICAgY29tbWFuZEtleSxcbiAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgb3V0cHV0OiByZXN1bHQsXG4gICAgICAgIGV4ZWN1dGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKVxuICAgICAgfSwgJ0RvbmUnKTtcbiAgICAgIFxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcignW0V4ZWN1dGVDb21tYW5kXSBFcnJvciBleGVjdXRpbmcgY29tbWFuZDonLCBlcnIpO1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHtcbiAgICAgICAgY29tbWFuZEtleSxcbiAgICAgICAgc3VjY2VzczogZmFsc2UsXG4gICAgICAgIGVycm9yOiBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InXG4gICAgICB9LCAnRmFpbGVkJyk7XG4gICAgfVxuICB9XG59Il19","import { inject } from '@angular/core';\nimport { Activity } from '../activity.types';\nimport { AXPQueryService } from '@acorex/platform/runtime';\n/**\n * Execute Query Activity - Executes a query through Query Bus.\n *\n * Usage:\n * ```typescript\n * const executeQuery = new ExecuteQuery();\n * await executeQuery.execute({\n * queryKey: 'UserManagement.GetUsers',\n * input: { page: 1, pageSize: 10 }\n * });\n * ```\n */\nexport class ExecuteQuery extends Activity {\n constructor() {\n super('workflow-activity:execute-query', 'Execute Query');\n this.queryService = inject(AXPQueryService);\n }\n async execute(input) {\n const { queryKey, input: queryInput = {} } = input;\n try {\n // Check if query exists\n if (!this.queryService.exists(queryKey)) {\n console.warn(`[ExecuteQuery] Query '${queryKey}' is not registered. Simulating execution.`);\n // Simulate query execution for unregistered queries\n const result = {\n queryKey,\n success: true,\n data: [],\n totalCount: 0,\n executedAt: new Date().toISOString(),\n simulated: true\n };\n return this.createResult(result, 'Done');\n }\n // Execute query through Query Bus\n const result = await this.queryService.fetch(queryKey, queryInput);\n return this.createResult({\n queryKey,\n success: true,\n data: result,\n totalCount: Array.isArray(result) ? result.length : (result?.totalCount || 0),\n executedAt: new Date().toISOString()\n }, 'Done');\n }\n catch (err) {\n console.error('[ExecuteQuery] Error executing query:', err);\n return this.createResult({\n queryKey,\n success: false,\n error: err instanceof Error ? err.message : 'Unknown error'\n }, 'Failed');\n }\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS1xdWVyeS5hY3Rpdml0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vd29ya2Zsb3cvc3JjL2xpYi9lbmdpbmUvYWN0aXZpdGllcy9leGVjdXRlLXF1ZXJ5LmFjdGl2aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sT0FBTyxZQUFhLFNBQVEsUUFHM0I7SUFHTDtRQUNFLEtBQUssQ0FBQyxpQ0FBaUMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUgzQyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUl4RCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUdiO1FBQ0MsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsVUFBVSxHQUFHLEVBQUUsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVuRCxJQUFJLENBQUM7WUFDSCx3QkFBd0I7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sQ0FBQyxJQUFJLENBQUMseUJBQXlCLFFBQVEsNENBQTRDLENBQUMsQ0FBQztnQkFFNUYsb0RBQW9EO2dCQUNwRCxNQUFNLE1BQU0sR0FBRztvQkFDYixRQUFRO29CQUNSLE9BQU8sRUFBRSxJQUFJO29CQUNiLElBQUksRUFBRSxFQUFFO29CQUNSLFVBQVUsRUFBRSxDQUFDO29CQUNiLFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtvQkFDcEMsU0FBUyxFQUFFLElBQUk7aUJBQ2hCLENBQUM7Z0JBRUYsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMzQyxDQUFDO1lBRUQsa0NBQWtDO1lBQ2xDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBRW5FLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDdkIsUUFBUTtnQkFDUixPQUFPLEVBQUUsSUFBSTtnQkFDYixJQUFJLEVBQUUsTUFBTTtnQkFDWixVQUFVLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxJQUFJLENBQUMsQ0FBQztnQkFDN0UsVUFBVSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO2FBQ3JDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFYixDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxLQUFLLENBQUMsdUNBQXVDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDNUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUN2QixRQUFRO2dCQUNSLE9BQU8sRUFBRSxLQUFLO2dCQUNkLEtBQUssRUFBRSxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxlQUFlO2FBQzVELEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5LnR5cGVzJztcbmltcG9ydCB7IEFYUFF1ZXJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vcnVudGltZSc7XG5cbi8qKlxuICogRXhlY3V0ZSBRdWVyeSBBY3Rpdml0eSAtIEV4ZWN1dGVzIGEgcXVlcnkgdGhyb3VnaCBRdWVyeSBCdXMuXG4gKiBcbiAqIFVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZXhlY3V0ZVF1ZXJ5ID0gbmV3IEV4ZWN1dGVRdWVyeSgpO1xuICogYXdhaXQgZXhlY3V0ZVF1ZXJ5LmV4ZWN1dGUoe1xuICogICBxdWVyeUtleTogJ1VzZXJNYW5hZ2VtZW50LkdldFVzZXJzJyxcbiAqICAgaW5wdXQ6IHsgcGFnZTogMSwgcGFnZVNpemU6IDEwIH1cbiAqIH0pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBFeGVjdXRlUXVlcnkgZXh0ZW5kcyBBY3Rpdml0eTx7XG4gIHF1ZXJ5S2V5OiBzdHJpbmc7XG4gIGlucHV0PzogYW55O1xufSwgYW55PiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcXVlcnlTZXJ2aWNlID0gaW5qZWN0KEFYUFF1ZXJ5U2VydmljZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ3dvcmtmbG93LWFjdGl2aXR5OmV4ZWN1dGUtcXVlcnknLCAnRXhlY3V0ZSBRdWVyeScpO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZShpbnB1dDoge1xuICAgIHF1ZXJ5S2V5OiBzdHJpbmc7XG4gICAgaW5wdXQ/OiBhbnk7XG4gIH0pOiBQcm9taXNlPHsgb3V0cHV0OiBhbnk7IG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0+IHtcbiAgICBjb25zdCB7IHF1ZXJ5S2V5LCBpbnB1dDogcXVlcnlJbnB1dCA9IHt9IH0gPSBpbnB1dDtcblxuICAgIHRyeSB7XG4gICAgICAvLyBDaGVjayBpZiBxdWVyeSBleGlzdHNcbiAgICAgIGlmICghdGhpcy5xdWVyeVNlcnZpY2UuZXhpc3RzKHF1ZXJ5S2V5KSkge1xuICAgICAgICBjb25zb2xlLndhcm4oYFtFeGVjdXRlUXVlcnldIFF1ZXJ5ICcke3F1ZXJ5S2V5fScgaXMgbm90IHJlZ2lzdGVyZWQuIFNpbXVsYXRpbmcgZXhlY3V0aW9uLmApO1xuICAgICAgICBcbiAgICAgICAgLy8gU2ltdWxhdGUgcXVlcnkgZXhlY3V0aW9uIGZvciB1bnJlZ2lzdGVyZWQgcXVlcmllc1xuICAgICAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgICAgcXVlcnlLZXksXG4gICAgICAgICAgc3VjY2VzczogdHJ1ZSxcbiAgICAgICAgICBkYXRhOiBbXSxcbiAgICAgICAgICB0b3RhbENvdW50OiAwLFxuICAgICAgICAgIGV4ZWN1dGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICBzaW11bGF0ZWQ6IHRydWVcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVSZXN1bHQocmVzdWx0LCAnRG9uZScpO1xuICAgICAgfVxuXG4gICAgICAvLyBFeGVjdXRlIHF1ZXJ5IHRocm91Z2ggUXVlcnkgQnVzXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnF1ZXJ5U2VydmljZS5mZXRjaChxdWVyeUtleSwgcXVlcnlJbnB1dCk7XG5cbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVJlc3VsdCh7XG4gICAgICAgIHF1ZXJ5S2V5LFxuICAgICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgICBkYXRhOiByZXN1bHQsXG4gICAgICAgIHRvdGFsQ291bnQ6IEFycmF5LmlzQXJyYXkocmVzdWx0KSA/IHJlc3VsdC5sZW5ndGggOiAocmVzdWx0Py50b3RhbENvdW50IHx8IDApLFxuICAgICAgICBleGVjdXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKClcbiAgICAgIH0sICdEb25lJyk7XG4gICAgICBcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1tFeGVjdXRlUXVlcnldIEVycm9yIGV4ZWN1dGluZyBxdWVyeTonLCBlcnIpO1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHtcbiAgICAgICAgcXVlcnlLZXksXG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxuICAgICAgICBlcnJvcjogZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ1xuICAgICAgfSwgJ0ZhaWxlZCcpO1xuICAgIH1cbiAgfVxufSJdfQ==","import { Activity } from '../activity.types';\n/**\n * Start Activity - Marks the start point of a workflow.\n *\n * This is a visual marker activity that doesn't perform any actual work.\n * It's used in workflow designers to clearly indicate where a workflow begins.\n *\n * Usage:\n * ```typescript\n * const start = new StartActivity();\n * await start.execute({});\n * ```\n */\nexport class StartActivity extends Activity {\n constructor() {\n super('StartActivity');\n }\n async execute(input) {\n // This activity is a visual marker only\n // It immediately completes and allows workflow to proceed\n console.log('[StartActivity] Workflow started');\n return this.createResult(undefined, 'Done');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtYWN0aXZpdHkuYWN0aXZpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvc3RhcnQtYWN0aXZpdHkuYWN0aXZpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTdDOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxPQUFPLGFBQWMsU0FBUSxRQUFxQztJQUN0RTtRQUNFLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUE0QjtRQUN4Qyx3Q0FBd0M7UUFDeEMsMERBQTBEO1FBQzFELE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUVoRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2aXR5IH0gZnJvbSAnLi4vYWN0aXZpdHkudHlwZXMnO1xuXG4vKipcbiAqIFN0YXJ0IEFjdGl2aXR5IC0gTWFya3MgdGhlIHN0YXJ0IHBvaW50IG9mIGEgd29ya2Zsb3cuXG4gKiBcbiAqIFRoaXMgaXMgYSB2aXN1YWwgbWFya2VyIGFjdGl2aXR5IHRoYXQgZG9lc24ndCBwZXJmb3JtIGFueSBhY3R1YWwgd29yay5cbiAqIEl0J3MgdXNlZCBpbiB3b3JrZmxvdyBkZXNpZ25lcnMgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVyZSBhIHdvcmtmbG93IGJlZ2lucy5cbiAqIFxuICogVXNhZ2U6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzdGFydCA9IG5ldyBTdGFydEFjdGl2aXR5KCk7XG4gKiBhd2FpdCBzdGFydC5leGVjdXRlKHt9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgY2xhc3MgU3RhcnRBY3Rpdml0eSBleHRlbmRzIEFjdGl2aXR5PFJlY29yZDxzdHJpbmcsIG5ldmVyPiwgdm9pZD4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignU3RhcnRBY3Rpdml0eScpO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZShpbnB1dDogUmVjb3JkPHN0cmluZywgbmV2ZXI+KTogUHJvbWlzZTx7IG91dHB1dDogdm9pZDsgb3V0Y29tZXM6IFJlY29yZDxzdHJpbmcsIGFueT4gfT4ge1xuICAgIC8vIFRoaXMgYWN0aXZpdHkgaXMgYSB2aXN1YWwgbWFya2VyIG9ubHlcbiAgICAvLyBJdCBpbW1lZGlhdGVseSBjb21wbGV0ZXMgYW5kIGFsbG93cyB3b3JrZmxvdyB0byBwcm9jZWVkXG4gICAgY29uc29sZS5sb2coJ1tTdGFydEFjdGl2aXR5XSBXb3JrZmxvdyBzdGFydGVkJyk7XG4gICAgXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHVuZGVmaW5lZCwgJ0RvbmUnKTtcbiAgfVxufVxuXG4iXX0=","import { Activity } from '../activity.types';\n/**\n * End Activity - Marks the end point of a workflow.\n *\n * This is a visual marker activity that terminates the workflow execution.\n * When this activity is reached, the workflow completes successfully.\n *\n * Usage:\n * ```typescript\n * const end = new EndActivity();\n * await end.execute({});\n * ```\n */\nexport class EndActivity extends Activity {\n constructor() {\n super('EndActivity');\n }\n async execute(input) {\n // This activity marks the end of workflow execution\n console.log('[EndActivity] Workflow completed');\n return this.createResult(undefined, 'Done');\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kLWFjdGl2aXR5LmFjdGl2aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL2VuZ2luZS9hY3Rpdml0aWVzL2VuZC1hY3Rpdml0eS5hY3Rpdml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFN0M7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLE9BQU8sV0FBWSxTQUFRLFFBQXFDO0lBQ3BFO1FBQ0UsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQTRCO1FBQ3hDLG9EQUFvRDtRQUNwRCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFFaEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpdml0eSB9IGZyb20gJy4uL2FjdGl2aXR5LnR5cGVzJztcblxuLyoqXG4gKiBFbmQgQWN0aXZpdHkgLSBNYXJrcyB0aGUgZW5kIHBvaW50IG9mIGEgd29ya2Zsb3cuXG4gKiBcbiAqIFRoaXMgaXMgYSB2aXN1YWwgbWFya2VyIGFjdGl2aXR5IHRoYXQgdGVybWluYXRlcyB0aGUgd29ya2Zsb3cgZXhlY3V0aW9uLlxuICogV2hlbiB0aGlzIGFjdGl2aXR5IGlzIHJlYWNoZWQsIHRoZSB3b3JrZmxvdyBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5LlxuICogXG4gKiBVc2FnZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGVuZCA9IG5ldyBFbmRBY3Rpdml0eSgpO1xuICogYXdhaXQgZW5kLmV4ZWN1dGUoe30pO1xuICogYGBgXG4gKi9cbmV4cG9ydCBjbGFzcyBFbmRBY3Rpdml0eSBleHRlbmRzIEFjdGl2aXR5PFJlY29yZDxzdHJpbmcsIG5ldmVyPiwgdm9pZD4ge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignRW5kQWN0aXZpdHknKTtcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGUoaW5wdXQ6IFJlY29yZDxzdHJpbmcsIG5ldmVyPik6IFByb21pc2U8eyBvdXRwdXQ6IHZvaWQ7IG91dGNvbWVzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IH0+IHtcbiAgICAvLyBUaGlzIGFjdGl2aXR5IG1hcmtzIHRoZSBlbmQgb2Ygd29ya2Zsb3cgZXhlY3V0aW9uXG4gICAgY29uc29sZS5sb2coJ1tFbmRBY3Rpdml0eV0gV29ya2Zsb3cgY29tcGxldGVkJyk7XG4gICAgXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlUmVzdWx0KHVuZGVmaW5lZCwgJ0RvbmUnKTtcbiAgfVxufVxuXG4iXX0=","import { provideCommandSetups } from '@acorex/platform/runtime';\n/**\n * Command setups for all built-in workflow activities.\n * Registers activities as AXPCommand instances.\n */\nexport const provideWorkflowActivityCommands = () => provideCommandSetups([\n // Workflow Markers\n {\n key: 'workflow-activity:start',\n command: () => import('./start-activity.activity').then(m => m.StartActivity),\n },\n {\n key: 'workflow-activity:end',\n command: () => import('./end-activity.activity').then(m => m.EndActivity),\n },\n // Console Activities\n {\n key: 'workflow-activity:write-line',\n command: () => import('./write-line.activity').then(m => m.WriteLine),\n },\n // Control Flow Activities\n {\n key: 'workflow-activity:sequence',\n command: () => import('./sequence.activity').then(m => m.Sequence),\n },\n {\n key: 'workflow-activity:if',\n command: () => import('./if.activity').then(m => m.If),\n },\n {\n key: 'workflow-activity:while',\n command: () => import('./while.activity').then(m => m.While),\n },\n {\n key: 'workflow-activity:for-each',\n command: () => import('./for-each.activity').then(m => m.ForEach),\n },\n // Dialog Activities\n {\n key: 'workflow-activity:show-confirm-dialog',\n command: () => import('./show-confirm-dialog.activity').then(m => m.ShowConfirmDialog),\n },\n {\n key: 'workflow-activity:show-alert-dialog',\n command: () => import('./show-alert-dialog.activity').then(m => m.ShowAlertDialog),\n },\n // Notification Activities\n {\n key: 'workflow-activity:show-toast',\n command: () => import('./show-toast.activity').then(m => m.ShowToast),\n },\n // Event Activities\n {\n key: 'workflow-activity:dispatch-event',\n command: () => import('./dispatch-event.activity').then(m => m.DispatchEvent),\n },\n // Variable Activities\n {\n key: 'workflow-activity:set-variable',\n command: () => import('./set-variable.activity').then(m => m.SetVariable),\n },\n // Command & Query Activities\n {\n key: 'workflow-activity:execute-command',\n command: () => import('./execute-command.activity').then(m => m.ExecuteCommand),\n },\n {\n key: 'workflow-activity:execute-query',\n command: () => import('./execute-query.activity').then(m => m.ExecuteQuery),\n },\n // Navigation Activities\n {\n key: 'workflow-activity:navigate',\n command: () => import('./navigate.activity').then(m => m.Navigate),\n },\n]);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktY29tbWFuZC1zZXR1cHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvYWN0aXZpdHktY29tbWFuZC1zZXR1cHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEU7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7SUFDeEUsbUJBQW1CO0lBQ25CO1FBQ0UsR0FBRyxFQUFFLHlCQUF5QjtRQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLDJCQUEyQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztLQUM5RTtJQUNEO1FBQ0UsR0FBRyxFQUFFLHVCQUF1QjtRQUM1QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztLQUMxRTtJQUVELHFCQUFxQjtJQUNyQjtRQUNFLEdBQUcsRUFBRSw4QkFBOEI7UUFDbkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7S0FDdEU7SUFFRCwwQkFBMEI7SUFDMUI7UUFDRSxHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0tBQ25FO0lBQ0Q7UUFDRSxHQUFHLEVBQUUsc0JBQXNCO1FBQzNCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUN2RDtJQUNEO1FBQ0UsR0FBRyxFQUFFLHlCQUF5QjtRQUM5QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztLQUM3RDtJQUNEO1FBQ0UsR0FBRyxFQUFFLDRCQUE0QjtRQUNqQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztLQUNsRTtJQUVELG9CQUFvQjtJQUNwQjtRQUNFLEdBQUcsRUFBRSx1Q0FBdUM7UUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztLQUN2RjtJQUNEO1FBQ0UsR0FBRyxFQUFFLHFDQUFxQztRQUMxQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztLQUNuRjtJQUVELDBCQUEwQjtJQUMxQjtRQUNFLEdBQUcsRUFBRSw4QkFBOEI7UUFDbkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7S0FDdEU7SUFFRCxtQkFBbUI7SUFDbkI7UUFDRSxHQUFHLEVBQUUsa0NBQWtDO1FBQ3ZDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0tBQzlFO0lBRUQsc0JBQXNCO0lBQ3RCO1FBQ0UsR0FBRyxFQUFFLGdDQUFnQztRQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztLQUMxRTtJQUVELDZCQUE2QjtJQUM3QjtRQUNFLEdBQUcsRUFBRSxtQ0FBbUM7UUFDeEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUM7S0FDaEY7SUFDRDtRQUNFLEdBQUcsRUFBRSxpQ0FBaUM7UUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7S0FDNUU7SUFFRCx3QkFBd0I7SUFDeEI7UUFDRSxHQUFHLEVBQUUsNEJBQTRCO1FBQ2pDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0tBQ25FO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvdmlkZUNvbW1hbmRTZXR1cHMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3J1bnRpbWUnO1xuXG4vKipcbiAqIENvbW1hbmQgc2V0dXBzIGZvciBhbGwgYnVpbHQtaW4gd29ya2Zsb3cgYWN0aXZpdGllcy5cbiAqIFJlZ2lzdGVycyBhY3Rpdml0aWVzIGFzIEFYUENvbW1hbmQgaW5zdGFuY2VzLlxuICovXG5leHBvcnQgY29uc3QgcHJvdmlkZVdvcmtmbG93QWN0aXZpdHlDb21tYW5kcyA9ICgpID0+IHByb3ZpZGVDb21tYW5kU2V0dXBzKFtcbiAgLy8gV29ya2Zsb3cgTWFya2Vyc1xuICB7XG4gICAga2V5OiAnd29ya2Zsb3ctYWN0aXZpdHk6c3RhcnQnLFxuICAgIGNvbW1hbmQ6ICgpID0+IGltcG9ydCgnLi9zdGFydC1hY3Rpdml0eS5hY3Rpdml0eScpLnRoZW4obSA9PiBtLlN0YXJ0QWN0aXZpdHkpLFxuICB9LFxuICB7XG4gICAga2V5OiAnd29ya2Zsb3ctYWN0aXZpdHk6ZW5kJyxcbiAgICBjb21tYW5kOiAoKSA9PiBpbXBvcnQoJy4vZW5kLWFjdGl2aXR5LmFjdGl2aXR5JykudGhlbihtID0+IG0uRW5kQWN0aXZpdHkpLFxuICB9LFxuXG4gIC8vIENvbnNvbGUgQWN0aXZpdGllc1xuICB7XG4gICAga2V5OiAnd29ya2Zsb3ctYWN0aXZpdHk6d3JpdGUtbGluZScsXG4gICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL3dyaXRlLWxpbmUuYWN0aXZpdHknKS50aGVuKG0gPT4gbS5Xcml0ZUxpbmUpLFxuICB9LFxuXG4gIC8vIENvbnRyb2wgRmxvdyBBY3Rpdml0aWVzXG4gIHtcbiAgICBrZXk6ICd3b3JrZmxvdy1hY3Rpdml0eTpzZXF1ZW5jZScsXG4gICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL3NlcXVlbmNlLmFjdGl2aXR5JykudGhlbihtID0+IG0uU2VxdWVuY2UpLFxuICB9LFxuICB7XG4gICAga2V5OiAnd29ya2Zsb3ctYWN0aXZpdHk6aWYnLFxuICAgIGNvbW1hbmQ6ICgpID0+IGltcG9ydCgnLi9pZi5hY3Rpdml0eScpLnRoZW4obSA9PiBtLklmKSxcbiAgfSxcbiAge1xuICAgIGtleTogJ3dvcmtmbG93LWFjdGl2aXR5OndoaWxlJyxcbiAgICBjb21tYW5kOiAoKSA9PiBpbXBvcnQoJy4vd2hpbGUuYWN0aXZpdHknKS50aGVuKG0gPT4gbS5XaGlsZSksXG4gIH0sXG4gIHtcbiAgICBrZXk6ICd3b3JrZmxvdy1hY3Rpdml0eTpmb3ItZWFjaCcsXG4gICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL2Zvci1lYWNoLmFjdGl2aXR5JykudGhlbihtID0+IG0uRm9yRWFjaCksXG4gIH0sXG5cbiAgLy8gRGlhbG9nIEFjdGl2aXRpZXNcbiAge1xuICAgIGtleTogJ3dvcmtmbG93LWFjdGl2aXR5OnNob3ctY29uZmlybS1kaWFsb2cnLFxuICAgIGNvbW1hbmQ6ICgpID0+IGltcG9ydCgnLi9zaG93LWNvbmZpcm0tZGlhbG9nLmFjdGl2aXR5JykudGhlbihtID0+IG0uU2hvd0NvbmZpcm1EaWFsb2cpLFxuICB9LFxuICB7XG4gICAga2V5OiAnd29ya2Zsb3ctYWN0aXZpdHk6c2hvdy1hbGVydC1kaWFsb2cnLFxuICAgIGNvbW1hbmQ6ICgpID0+IGltcG9ydCgnLi9zaG93LWFsZXJ0LWRpYWxvZy5hY3Rpdml0eScpLnRoZW4obSA9PiBtLlNob3dBbGVydERpYWxvZyksXG4gIH0sXG5cbiAgLy8gTm90aWZpY2F0aW9uIEFjdGl2aXRpZXNcbiAge1xuICAgIGtleTogJ3dvcmtmbG93LWFjdGl2aXR5OnNob3ctdG9hc3QnLFxuICAgIGNvbW1hbmQ6ICgpID0+IGltcG9ydCgnLi9zaG93LXRvYXN0LmFjdGl2aXR5JykudGhlbihtID0+IG0uU2hvd1RvYXN0KSxcbiAgfSxcblxuICAvLyBFdmVudCBBY3Rpdml0aWVzXG4gIHtcbiAgICBrZXk6ICd3b3JrZmxvdy1hY3Rpdml0eTpkaXNwYXRjaC1ldmVudCcsXG4gICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL2Rpc3BhdGNoLWV2ZW50LmFjdGl2aXR5JykudGhlbihtID0+IG0uRGlzcGF0Y2hFdmVudCksXG4gIH0sXG5cbiAgLy8gVmFyaWFibGUgQWN0aXZpdGllc1xuICB7XG4gICAga2V5OiAnd29ya2Zsb3ctYWN0aXZpdHk6c2V0LXZhcmlhYmxlJyxcbiAgICBjb21tYW5kOiAoKSA9PiBpbXBvcnQoJy4vc2V0LXZhcmlhYmxlLmFjdGl2aXR5JykudGhlbihtID0+IG0uU2V0VmFyaWFibGUpLFxuICB9LFxuXG4gIC8vIENvbW1hbmQgJiBRdWVyeSBBY3Rpdml0aWVzXG4gIHtcbiAgICBrZXk6ICd3b3JrZmxvdy1hY3Rpdml0eTpleGVjdXRlLWNvbW1hbmQnLFxuICAgIGNvbW1hbmQ6ICgpID0+IGltcG9ydCgnLi9leGVjdXRlLWNvbW1hbmQuYWN0aXZpdHknKS50aGVuKG0gPT4gbS5FeGVjdXRlQ29tbWFuZCksXG4gIH0sXG4gIHtcbiAgICBrZXk6ICd3b3JrZmxvdy1hY3Rpdml0eTpleGVjdXRlLXF1ZXJ5JyxcbiAgICBjb21tYW5kOiAoKSA9PiBpbXBvcnQoJy4vZXhlY3V0ZS1xdWVyeS5hY3Rpdml0eScpLnRoZW4obSA9PiBtLkV4ZWN1dGVRdWVyeSksXG4gIH0sXG5cbiAgLy8gTmF2aWdhdGlvbiBBY3Rpdml0aWVzXG4gIHtcbiAgICBrZXk6ICd3b3JrZmxvdy1hY3Rpdml0eTpuYXZpZ2F0ZScsXG4gICAgY29tbWFuZDogKCkgPT4gaW1wb3J0KCcuL25hdmlnYXRlLmFjdGl2aXR5JykudGhlbihtID0+IG0uTmF2aWdhdGUpLFxuICB9LFxuXSk7XG4iXX0=","// Built-in Activities\nexport * from './write-line.activity';\nexport * from './sequence.activity';\nexport * from './show-confirm-dialog.activity';\nexport * from './show-alert-dialog.activity';\nexport * from './show-toast.activity';\nexport * from './navigate.activity';\nexport * from './set-variable.activity';\nexport * from './dispatch-event.activity';\nexport * from './if.activity';\nexport * from './while.activity';\nexport * from './for-each.activity';\nexport * from './execute-command.activity';\nexport * from './execute-query.activity';\nexport * from './start-activity.activity';\nexport * from './end-activity.activity';\n// Command Setups\nexport * from './activity-command-setups';\n// Re-export activity types\nexport * from '../activity.types';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2FjdGl2aXRpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0JBQXNCO0FBQ3RCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4QyxpQkFBaUI7QUFDakIsY0FBYywyQkFBMkIsQ0FBQztBQUUxQywyQkFBMkI7QUFDM0IsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEJ1aWx0LWluIEFjdGl2aXRpZXNcbmV4cG9ydCAqIGZyb20gJy4vd3JpdGUtbGluZS5hY3Rpdml0eSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcXVlbmNlLmFjdGl2aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vc2hvdy1jb25maXJtLWRpYWxvZy5hY3Rpdml0eSc7XG5leHBvcnQgKiBmcm9tICcuL3Nob3ctYWxlcnQtZGlhbG9nLmFjdGl2aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vc2hvdy10b2FzdC5hY3Rpdml0eSc7XG5leHBvcnQgKiBmcm9tICcuL25hdmlnYXRlLmFjdGl2aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vc2V0LXZhcmlhYmxlLmFjdGl2aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vZGlzcGF0Y2gtZXZlbnQuYWN0aXZpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9pZi5hY3Rpdml0eSc7XG5leHBvcnQgKiBmcm9tICcuL3doaWxlLmFjdGl2aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vZm9yLWVhY2guYWN0aXZpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9leGVjdXRlLWNvbW1hbmQuYWN0aXZpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9leGVjdXRlLXF1ZXJ5LmFjdGl2aXR5JztcbmV4cG9ydCAqIGZyb20gJy4vc3RhcnQtYWN0aXZpdHkuYWN0aXZpdHknO1xuZXhwb3J0ICogZnJvbSAnLi9lbmQtYWN0aXZpdHkuYWN0aXZpdHknO1xuXG4vLyBDb21tYW5kIFNldHVwc1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eS1jb21tYW5kLXNldHVwcyc7XG5cbi8vIFJlLWV4cG9ydCBhY3Rpdml0eSB0eXBlc1xuZXhwb3J0ICogZnJvbSAnLi4vYWN0aXZpdHkudHlwZXMnOyJdfQ==","// Workflow Definition Types (Storage/Database)\nexport * from './workflow-definition.types';\n// Workflow Instance Types (Storage/Database)\nexport * from './workflow-instance.types';\n// Activity System Types (Simplified)\nexport * from './activity.types';\n// Activity Provider Infrastructure\nexport * from './activity-provider.service';\nexport * from './activity-category.provider';\n// Simple Runtime (Coordinator only)\nexport * from './runtime';\n// Built-in Activities\nexport * from './activities';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3dvcmtmbG93L3NyYy9saWIvZW5naW5lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLDZDQUE2QztBQUM3QyxjQUFjLDJCQUEyQixDQUFDO0FBMkMxQyxxQ0FBcUM7QUFDckMsY0FBYyxrQkFBa0IsQ0FBQztBQUVqQyxtQ0FBbUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDhCQUE4QixDQUFDO0FBRTdDLG9DQUFvQztBQUNwQyxjQUFjLFdBQVcsQ0FBQztBQUUxQixzQkFBc0I7QUFDdEIsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBXb3JrZmxvdyBEZWZpbml0aW9uIFR5cGVzIChTdG9yYWdlL0RhdGFiYXNlKVxuZXhwb3J0ICogZnJvbSAnLi93b3JrZmxvdy1kZWZpbml0aW9uLnR5cGVzJztcblxuLy8gV29ya2Zsb3cgSW5zdGFuY2UgVHlwZXMgKFN0b3JhZ2UvRGF0YWJhc2UpXG5leHBvcnQgKiBmcm9tICcuL3dvcmtmbG93LWluc3RhbmNlLnR5cGVzJztcblxuLy8gUmUtZXhwb3J0IElBY3Rpdml0eSBmb3IgY29udmVuaWVuY2VcbmV4cG9ydCB0eXBlIHsgSUFjdGl2aXR5IH0gZnJvbSAnLi9hY3Rpdml0eS50eXBlcyc7XG5cbi8vIFJlLWV4cG9ydCBXb3JrZmxvdyBEZWZpbml0aW9uIHR5cGVzXG5leHBvcnQgdHlwZSB7XG4gIEFYUFdvcmtmbG93RGVmaW5pdGlvbixcbiAgQVhQRmxvd2NoYXJ0LFxuICBBWFBBY3Rpdml0eSxcbiAgQVhQQ29ubmVjdGlvbixcbiAgQVhQRW5kcG9pbnQsXG4gIEFYUFBvc2l0aW9uLFxuICBBWFBWYXJpYWJsZURlZmluaXRpb24sXG4gIEFYUFdvcmtmbG93SW5wdXREZWZpbml0aW9uLFxuICBBWFBXb3JrZmxvd091dHB1dERlZmluaXRpb24sXG4gIEFYUEV4cHJlc3Npb24sXG4gIEFYUElucHV0VmFsdWUsXG4gIEFYUE91dHB1dFZhbHVlLFxuICBBWFBWYXJpYWJsZU1vZGVsLFxuICBBWFBNZXRhZGF0YSxcbiAgQVhQQ3VzdG9tUHJvcGVydGllcyxcbiAgQVhQV29ya2Zsb3dPcHRpb25zLFxuICBBWFBTdG9yZWRXb3JrZmxvd0RlZmluaXRpb24sXG4gIEFYUFZlcnNpb25lZEVudGl0eSxcbn0gZnJvbSAnLi93b3JrZmxvdy1kZWZpbml0aW9uLnR5cGVzJztcblxuLy8gUmUtZXhwb3J0IFdvcmtmbG93IEluc3RhbmNlIHR5cGVzXG5leHBvcnQgdHlwZSB7XG4gIEFYUFdvcmtmbG93SW5zdGFuY2UsXG4gIEFYUFdvcmtmbG93U3RhdGUsXG4gIEFYUFdvcmtmbG93U3RhdHVzLFxuICBBWFBXb3JrZmxvd1N1YlN0YXR1cyxcbiAgQVhQQWN0aXZpdHlTdGF0dXMsXG4gIEFYUEV4Y2VwdGlvblN0YXRlLFxuICBBWFBBY3Rpdml0eUluY2lkZW50LFxuICBBWFBXb3JrZmxvd0ZhdWx0U3RhdGUsXG4gIEFYUEJvb2ttYXJrLFxuICBBWFBDb21wbGV0aW9uQ2FsbGJhY2tTdGF0ZSxcbiAgQVhQQWN0aXZpdHlWYXJpYWJsZSxcbiAgQVhQQWN0aXZpdHlFeGVjdXRpb25Db250ZXh0U3RhdGUsXG59IGZyb20gJy4vd29ya2Zsb3ctaW5zdGFuY2UudHlwZXMnO1xuXG4vLyBBY3Rpdml0eSBTeXN0ZW0gVHlwZXMgKFNpbXBsaWZpZWQpXG5leHBvcnQgKiBmcm9tICcuL2FjdGl2aXR5LnR5cGVzJztcblxuLy8gQWN0aXZpdHkgUHJvdmlkZXIgSW5mcmFzdHJ1Y3R1cmVcbmV4cG9ydCAqIGZyb20gJy4vYWN0aXZpdHktcHJvdmlkZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGl2aXR5LWNhdGVnb3J5LnByb3ZpZGVyJztcblxuLy8gU2ltcGxlIFJ1bnRpbWUgKENvb3JkaW5hdG9yIG9ubHkpXG5leHBvcnQgKiBmcm9tICcuL3J1bnRpbWUnO1xuXG4vLyBCdWlsdC1pbiBBY3Rpdml0aWVzXG5leHBvcnQgKiBmcm9tICcuL2FjdGl2aXRpZXMnOyJdfQ==","import { Inject, NgModule, Optional, inject } from '@angular/core';\nimport { AXPWorkflowDecideAction } from './actions/decide.action';\nimport { AXPStartWorkflowAction } from './actions/start-workflow.action';\nimport { AXPWorkflowRegistryService } from './workflow-registery.service';\nimport { provideWorkflowActivityCommands } from './engine';\nimport { AXP_COMMAND_SETUP } from '@acorex/platform/runtime';\nimport * as i0 from \"@angular/core\";\nexport class AXPWorkflowModule {\n static forRoot(config) {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n provideWorkflowActivityCommands(),\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry) => () => {\n registry.registerAction('start-workflow', AXPStartWorkflowAction);\n registry.registerAction('decide', AXPWorkflowDecideAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true,\n },\n ...Object.values(config?.actions ?? { AXPStartWorkflowAction }),\n ...Object.values(config?.functions ?? {}),\n ],\n };\n }\n static forChild(config) {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n // Built-in activities are already registered in forRoot via @NgModule providers\n // No need to register again in forChild\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry) => () => {\n registry.registerAction('start-workflow', AXPStartWorkflowAction);\n registry.registerAction('decide', AXPWorkflowDecideAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true,\n },\n ...Object.values(config?.actions ?? {}),\n ...Object.values(config?.functions ?? {}),\n ],\n };\n }\n /**\n * @ignore\n */\n constructor(instances) {\n // Inject AXP_COMMAND_SETUP to trigger command registration factory\n this._commandSetup = inject(AXP_COMMAND_SETUP, { optional: true });\n instances?.forEach((f) => {\n f();\n });\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowModule, deps: [{ token: 'AXPWorkflowModuleFactory', optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowModule }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowModule, providers: [\n provideWorkflowActivityCommands(),\n ] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.10\", ngImport: i0, type: AXPWorkflowModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n provideWorkflowActivityCommands(),\n ],\n }]\n }], ctorParameters: () => [{ type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: ['AXPWorkflowModuleFactory']\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvbGliL3dvcmtmbG93Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUF1QixRQUFRLEVBQUUsUUFBUSxFQUFRLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUUxRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBcUI3RCxNQUFNLE9BQU8saUJBQWlCO0lBSTVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBaUM7UUFDOUMsT0FBTztZQUNMLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsU0FBUyxFQUFFO2dCQUNULCtCQUErQixFQUFFO2dCQUNqQztvQkFDRSxPQUFPLEVBQUUsMEJBQTBCO29CQUNuQyxVQUFVLEVBQUUsQ0FBQyxRQUFvQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUU7d0JBQ3pELFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUMsQ0FBQzt3QkFDbEUsUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsdUJBQXVCLENBQUMsQ0FBQzt3QkFDM0QsRUFBRTt3QkFDRixJQUFJLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQzs0QkFDdEIsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNB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WjtnQkFDRCxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7Z0JBQ3ZDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQzthQUMxQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUE0RCxTQUFnQjtRQW5GNUUsbUVBQW1FO1FBQzNELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFtRnBFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2QixDQUFDLEVBQUUsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F4RlUsaUJBQWlCLGtCQW9GSSwwQkFBMEI7Z0hBcEYvQyxpQkFBaUI7Z0hBQWpCLGlCQUFpQixhQUpqQjtZQUNULCtCQUErQixFQUFFO1NBQ2xDOzs0RkFFVSxpQkFBaUI7a0JBUjdCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxFQUFFLEVBQUU7b0JBQ1gsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVCwrQkFBK0IsRUFBRTtxQkFDbEM7aUJBQ0Y7OzBCQXFGYyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBUeXBlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93RGVjaWRlQWN0aW9uIH0gZnJvbSAnLi9hY3Rpb25zL2RlY2lkZS5hY3Rpb24nO1xuaW1wb3J0IHsgQVhQU3RhcnRXb3JrZmxvd0FjdGlvbiB9IGZyb20gJy4vYWN0aW9ucy9zdGFydC13b3JrZmxvdy5hY3Rpb24nO1xuaW1wb3J0IHsgQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICcuL3dvcmtmbG93LXJlZ2lzdGVyeS5zZXJ2aWNlJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dGdW5jdGlvbiB9IGZyb20gJy4vd29ya2Zsb3cudHlwZXMnO1xuaW1wb3J0IHsgcHJvdmlkZVdvcmtmbG93QWN0aXZpdHlDb21tYW5kcyB9IGZyb20gJy4vZW5naW5lJztcbmltcG9ydCB7IEFYUF9DT01NQU5EX1NFVFVQIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9ydW50aW1lJztcbmV4cG9ydCBpbnRlcmZhY2UgQVhQV29ya2Zsb3dNb2R1bGVDb25maWdzIHtcbiAgZnVuY3Rpb25zPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBUeXBlPEFYUFdvcmtmbG93RnVuY3Rpb24+O1xuICB9O1xuICBhY3Rpb25zPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBUeXBlPEFYUFdvcmtmbG93QWN0aW9uPjtcbiAgfTtcbiAgd29ya2Zsb3dzPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBBWFBXb3JrZmxvdztcbiAgfTtcbn1cblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGV4cG9ydHM6IFtdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBwcm92aWRlcnM6IFtcbiAgICBwcm92aWRlV29ya2Zsb3dBY3Rpdml0eUNvbW1hbmRzKCksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYUFdvcmtmbG93TW9kdWxlIHtcbiAgLy8gSW5qZWN0IEFYUF9DT01NQU5EX1NFVFVQIHRvIHRyaWdnZXIgY29tbWFuZCByZWdpc3RyYXRpb24gZmFjdG9yeVxuICBwcml2YXRlIF9jb21tYW5kU2V0dXAgPSBpbmplY3QoQVhQX0NPTU1BTkRfU0VUVVAsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgc3RhdGljIGZvclJvb3QoY29uZmlnPzogQVhQV29ya2Zsb3dNb2R1bGVDb25maWdzKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBWFBXb3JrZmxvd01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogQVhQV29ya2Zsb3dNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZVdvcmtmbG93QWN0aXZpdHlDb21tYW5kcygpLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogJ0FYUFdvcmtmbG93TW9kdWxlRmFjdG9yeScsXG4gICAgICAgICAgdXNlRmFjdG9yeTogKHJlZ2lzdHJ5OiBBWFBXb3JrZmxvd1JlZ2lzdHJ5U2VydmljZSkgPT4gKCkgPT4ge1xuICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJBY3Rpb24oJ3N0YXJ0LXdvcmtmbG93JywgQVhQU3RhcnRXb3JrZmxvd0FjdGlvbik7XG4gICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckFjdGlvbignZGVjaWRlJywgQVhQV29ya2Zsb3dEZWNpZGVBY3Rpb24pO1xuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIGlmIChjb25maWc/LmZ1bmN0aW9ucykge1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbmZpZy5mdW5jdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJGdW5jdGlvbihrZXksIHR5cGUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgaWYgKGNvbmZpZz8uYWN0aW9ucykge1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbmZpZy5hY3Rpb25zKSkge1xuICAgICAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyQWN0aW9uKGtleSwgdHlwZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBpZiAoY29uZmlnPy53b3JrZmxvd3MpIHtcbiAgICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB0eXBlXSBvZiBPYmplY3QuZW50cmllcyhjb25maWcud29ya2Zsb3dzKSkge1xuICAgICAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyV29ya2Zsb3coa2V5LCB0eXBlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgZGVwczogW0FYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlXSxcbiAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgLi4uT2JqZWN0LnZhbHVlcyhjb25maWc/LmFjdGlvbnMgPz8geyBBWFBTdGFydFdvcmtmbG93QWN0aW9uIH0pLFxuICAgICAgICAuLi5PYmplY3QudmFsdWVzKGNvbmZpZz8uZnVuY3Rpb25zID8/IHt9KSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBmb3JDaGlsZChjb25maWc/OiBBWFBXb3JrZmxvd01vZHVsZUNvbmZpZ3MpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFYUFdvcmtmbG93TW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBBWFBXb3JrZmxvd01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICAvLyBCdWlsdC1pbiBhY3Rpdml0aWVzIGFyZSBhbHJlYWR5IHJlZ2lzdGVyZWQgaW4gZm9yUm9vdCB2aWEgQE5nTW9kdWxlIHByb3ZpZGVyc1xuICAgICAgICAvLyBObyBuZWVkIHRvIHJlZ2lzdGVyIGFnYWluIGluIGZvckNoaWxkXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiAnQVhQV29ya2Zsb3dNb2R1bGVGYWN0b3J5JyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiAocmVnaXN0cnk6IEFYUFdvcmtmbG93UmVnaXN0cnlTZXJ2aWNlKSA9PiAoKSA9PiB7XG4gICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckFjdGlvbignc3RhcnQtd29ya2Zsb3cnLCBBWFBTdGFydFdvcmtmbG93QWN0aW9uKTtcbiAgICAgICAgICAgIHJlZ2lzdHJ5LnJlZ2lzdGVyQWN0aW9uKCdkZWNpZGUnLCBBWFBXb3JrZmxvd0RlY2lkZUFjdGlvbik7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgaWYgKGNvbmZpZz8uZnVuY3Rpb25zKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmZ1bmN0aW9ucykpIHtcbiAgICAgICAgICAgICAgICByZWdpc3RyeS5yZWdpc3RlckZ1bmN0aW9uKGtleSwgdHlwZSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICBpZiAoY29uZmlnPy5hY3Rpb25zKSB7XG4gICAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdHlwZV0gb2YgT2JqZWN0LmVudHJpZXMoY29uZmlnLmFjdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJBY3Rpb24oa2V5LCB0eXBlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIGlmIChjb25maWc/LndvcmtmbG93cykge1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHR5cGVdIG9mIE9iamVjdC5lbnRyaWVzKGNvbmZpZy53b3JrZmxvd3MpKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0cnkucmVnaXN0ZXJXb3JrZmxvdyhrZXksIHR5cGUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXBzOiBbQVhQV29ya2Zsb3dSZWdpc3RyeVNlcnZpY2VdLFxuICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICAuLi5PYmplY3QudmFsdWVzKGNvbmZpZz8uYWN0aW9ucyA/PyB7fSksXG4gICAgICAgIC4uLk9iamVjdC52YWx1ZXMoY29uZmlnPy5mdW5jdGlvbnMgPz8ge30pLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoJ0FYUFdvcmtmbG93TW9kdWxlRmFjdG9yeScpIGluc3RhbmNlczogYW55W10pIHtcbiAgICBpbnN0YW5jZXM/LmZvckVhY2goKGYpID0+IHtcbiAgICAgIGYoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LXBsYXRmb3JtLXdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS93b3JrZmxvdy9zcmMvYWNvcmV4LXBsYXRmb3JtLXdvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1.AXPWorkflowRegistryService"],"mappings":"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"}