@loopstack/core 0.19.0 → 0.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/common.module.d.ts.map +1 -1
- package/dist/common/common.module.js +1 -0
- package/dist/common/common.module.js.map +1 -1
- package/dist/common/errors/jexl-expression.error.d.ts +5 -0
- package/dist/common/errors/jexl-expression.error.d.ts.map +1 -0
- package/dist/common/errors/jexl-expression.error.js +13 -0
- package/dist/common/errors/jexl-expression.error.js.map +1 -0
- package/dist/common/interfaces/processor.interface.d.ts +2 -2
- package/dist/common/interfaces/processor.interface.d.ts.map +1 -1
- package/dist/common/services/expression-handler/jexl-expression.handler.d.ts +16 -0
- package/dist/common/services/expression-handler/jexl-expression.handler.d.ts.map +1 -0
- package/dist/common/services/expression-handler/jexl-expression.handler.js +80 -0
- package/dist/common/services/expression-handler/jexl-expression.handler.js.map +1 -0
- package/dist/common/services/index.d.ts +1 -0
- package/dist/common/services/index.d.ts.map +1 -1
- package/dist/common/services/index.js +1 -0
- package/dist/common/services/index.js.map +1 -1
- package/dist/common/services/template.service.d.ts +3 -3
- package/dist/common/services/template.service.d.ts.map +1 -1
- package/dist/common/services/template.service.js +6 -6
- package/dist/common/services/template.service.js.map +1 -1
- package/dist/persistence/services/document.service.d.ts +2 -2
- package/dist/persistence/services/document.service.d.ts.map +1 -1
- package/dist/persistence/services/document.service.js +9 -12
- package/dist/persistence/services/document.service.js.map +1 -1
- package/dist/persistence/services/event-subscriber.service.d.ts +1 -1
- package/dist/persistence/services/event-subscriber.service.d.ts.map +1 -1
- package/dist/scheduler/services/task-processor/run-pipeline-task-processor.service.d.ts +1 -3
- package/dist/scheduler/services/task-processor/run-pipeline-task-processor.service.d.ts.map +1 -1
- package/dist/scheduler/services/task-processor/run-pipeline-task-processor.service.js +3 -17
- package/dist/scheduler/services/task-processor/run-pipeline-task-processor.service.js.map +1 -1
- package/dist/tools/execute-workflow-async.tool.d.ts +3 -2
- package/dist/tools/execute-workflow-async.tool.d.ts.map +1 -1
- package/dist/tools/execute-workflow-async.tool.js +12 -6
- package/dist/tools/execute-workflow-async.tool.js.map +1 -1
- package/dist/workflow-processor/services/block-processor.service.d.ts +2 -2
- package/dist/workflow-processor/services/block-processor.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/block-processor.service.js.map +1 -1
- package/dist/workflow-processor/services/namespace-processor.service.d.ts +3 -4
- package/dist/workflow-processor/services/namespace-processor.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/namespace-processor.service.js +2 -12
- package/dist/workflow-processor/services/namespace-processor.service.js.map +1 -1
- package/dist/workflow-processor/services/processors/factory-processor.service.d.ts +2 -4
- package/dist/workflow-processor/services/processors/factory-processor.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/processors/factory-processor.service.js +0 -15
- package/dist/workflow-processor/services/processors/factory-processor.service.js.map +1 -1
- package/dist/workflow-processor/services/processors/sequence-processor.service.d.ts +2 -2
- package/dist/workflow-processor/services/processors/sequence-processor.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/processors/sequence-processor.service.js.map +1 -1
- package/dist/workflow-processor/services/processors/workflow-processor.service.d.ts +4 -3
- package/dist/workflow-processor/services/processors/workflow-processor.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/processors/workflow-processor.service.js +57 -32
- package/dist/workflow-processor/services/processors/workflow-processor.service.js.map +1 -1
- package/dist/workflow-processor/services/root-processor.service.d.ts +5 -3
- package/dist/workflow-processor/services/root-processor.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/root-processor.service.js +21 -12
- package/dist/workflow-processor/services/root-processor.service.js.map +1 -1
- package/dist/workflow-processor/services/state-machine-processor.service.d.ts +7 -6
- package/dist/workflow-processor/services/state-machine-processor.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/state-machine-processor.service.js +55 -72
- package/dist/workflow-processor/services/state-machine-processor.service.js.map +1 -1
- package/dist/workflow-processor/services/state-machine-tool-call-processor.service.d.ts +7 -6
- package/dist/workflow-processor/services/state-machine-tool-call-processor.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/state-machine-tool-call-processor.service.js +55 -66
- package/dist/workflow-processor/services/state-machine-tool-call-processor.service.js.map +1 -1
- package/dist/workflow-processor/services/state-machine-validator.service.d.ts +2 -1
- package/dist/workflow-processor/services/state-machine-validator.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/state-machine-validator.service.js +2 -2
- package/dist/workflow-processor/services/state-machine-validator.service.js.map +1 -1
- package/dist/workflow-processor/services/workflow-state.service.d.ts +4 -3
- package/dist/workflow-processor/services/workflow-state.service.d.ts.map +1 -1
- package/dist/workflow-processor/services/workflow-state.service.js +10 -7
- package/dist/workflow-processor/services/workflow-state.service.js.map +1 -1
- package/dist/workflow-processor/utils/execution-context-manager.d.ts +26 -0
- package/dist/workflow-processor/utils/execution-context-manager.d.ts.map +1 -0
- package/dist/workflow-processor/utils/execution-context-manager.js +57 -0
- package/dist/workflow-processor/utils/execution-context-manager.js.map +1 -0
- package/dist/workflow-processor/utils/state/state-caretaker.d.ts +11 -0
- package/dist/workflow-processor/utils/state/state-caretaker.d.ts.map +1 -0
- package/dist/workflow-processor/utils/state/state-caretaker.js +37 -0
- package/dist/workflow-processor/utils/state/state-caretaker.js.map +1 -0
- package/dist/workflow-processor/utils/state/state-manager.d.ts +24 -0
- package/dist/workflow-processor/utils/state/state-manager.d.ts.map +1 -0
- package/dist/workflow-processor/utils/state/state-manager.js +83 -0
- package/dist/workflow-processor/utils/state/state-manager.js.map +1 -0
- package/dist/workflow-processor/utils/template-helper.d.ts +2 -6
- package/dist/workflow-processor/utils/template-helper.d.ts.map +1 -1
- package/dist/workflow-processor/utils/template-helper.js +21 -6
- package/dist/workflow-processor/utils/template-helper.js.map +1 -1
- package/dist/workflow-processor/utils/wrap-block-proxy.d.ts +4 -0
- package/dist/workflow-processor/utils/wrap-block-proxy.d.ts.map +1 -0
- package/dist/workflow-processor/utils/wrap-block-proxy.js +38 -0
- package/dist/workflow-processor/utils/wrap-block-proxy.js.map +1 -0
- package/package.json +4 -2
- package/dist/workflow-processor/services/state/workflow-state-caretaker.d.ts +0 -11
- package/dist/workflow-processor/services/state/workflow-state-caretaker.d.ts.map +0 -1
- package/dist/workflow-processor/services/state/workflow-state-caretaker.js +0 -35
- package/dist/workflow-processor/services/state/workflow-state-caretaker.js.map +0 -1
- package/dist/workflow-processor/services/state/workflow.state.d.ts +0 -24
- package/dist/workflow-processor/services/state/workflow.state.d.ts.map +0 -1
- package/dist/workflow-processor/services/state/workflow.state.js +0 -70
- package/dist/workflow-processor/services/state/workflow.state.js.map +0 -1
|
@@ -16,7 +16,6 @@ const common_2 = require("@loopstack/common");
|
|
|
16
16
|
const schemas_1 = require("@loopstack/contracts/schemas");
|
|
17
17
|
const common_3 = require("../../common");
|
|
18
18
|
const persistence_1 = require("../../persistence");
|
|
19
|
-
const template_helper_1 = require("../utils/template-helper");
|
|
20
19
|
let NamespaceProcessorService = NamespaceProcessorService_1 = class NamespaceProcessorService {
|
|
21
20
|
namespacesService;
|
|
22
21
|
templateExpressionEvaluatorService;
|
|
@@ -27,7 +26,7 @@ let NamespaceProcessorService = NamespaceProcessorService_1 = class NamespacePro
|
|
|
27
26
|
}
|
|
28
27
|
async createRootNamespace(pipeline) {
|
|
29
28
|
return this.namespacesService.create({
|
|
30
|
-
name: '
|
|
29
|
+
name: 'Project',
|
|
31
30
|
pipelineId: pipeline.id,
|
|
32
31
|
workspaceId: pipeline.workspaceId,
|
|
33
32
|
metadata: {
|
|
@@ -43,7 +42,7 @@ let NamespaceProcessorService = NamespaceProcessorService_1 = class NamespacePro
|
|
|
43
42
|
throw new Error(`Block ${block.constructor.name} is missing @BlockConfig decorator`);
|
|
44
43
|
}
|
|
45
44
|
if ('namespace' in config && config.namespace) {
|
|
46
|
-
const namespaceConfig = this.templateExpressionEvaluatorService.evaluateTemplate(config.namespace,
|
|
45
|
+
const namespaceConfig = this.templateExpressionEvaluatorService.evaluateTemplate(config.namespace, {}, { schema: schemas_1.NamespacePropsSchema });
|
|
47
46
|
ctx.namespace = await this.createNamespace(ctx, namespaceConfig);
|
|
48
47
|
ctx.labels = [...ctx.labels, ctx.namespace.name];
|
|
49
48
|
}
|
|
@@ -58,15 +57,6 @@ let NamespaceProcessorService = NamespaceProcessorService_1 = class NamespacePro
|
|
|
58
57
|
createdBy: ctx.userId,
|
|
59
58
|
});
|
|
60
59
|
}
|
|
61
|
-
async cleanupNamespace(parentBlockCtx, validBlockContexts) {
|
|
62
|
-
const newChildNamespaceIds = validBlockContexts.map((item) => item.namespace?.id).filter((v) => !!v);
|
|
63
|
-
const originalChildNamespaces = await this.namespacesService.getChildNamespaces(parentBlockCtx.namespace.id);
|
|
64
|
-
const danglingNamespaces = originalChildNamespaces.filter((item) => !newChildNamespaceIds.includes(item.id));
|
|
65
|
-
if (danglingNamespaces.length) {
|
|
66
|
-
await this.namespacesService.delete(danglingNamespaces);
|
|
67
|
-
this.logger.debug(`Removed ${danglingNamespaces.length} dangling namespaces.`);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
60
|
};
|
|
71
61
|
exports.NamespaceProcessorService = NamespaceProcessorService;
|
|
72
62
|
exports.NamespaceProcessorService = NamespaceProcessorService = NamespaceProcessorService_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace-processor.service.js","sourceRoot":"","sources":["../../../src/workflow-processor/services/namespace-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"namespace-processor.service.js","sourceRoot":"","sources":["../../../src/workflow-processor/services/namespace-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAAgH;AAChH,0DAAoE;AAEpE,yCAAkE;AAClE,mDAAsD;AAG/C,IAAM,yBAAyB,iCAA/B,MAAM,yBAAyB;IAI1B;IACA;IAJO,MAAM,GAAG,IAAI,eAAM,CAAC,2BAAyB,CAAC,IAAI,CAAC,CAAC;IAErE,YACU,iBAAoC,EACpC,kCAAsE;QADtE,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,uCAAkC,GAAlC,kCAAkC,CAAoC;IAC7E,CAAC;IAEJ,KAAK,CAAC,mBAAmB,CAAC,QAAwB;QAChD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACnC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,QAAQ,EAAE;gBACR,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB;YACD,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAA2B,KAAQ,EAAE,GAAe;QAC1E,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAe,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,IAAI,oCAAoC,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,WAAW,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,kCAAkC,CAAC,gBAAgB,CAC9E,MAAM,CAAC,SAAS,EAChB,EAAE,EAGF,EAAE,MAAM,EAAE,8BAAoB,EAAE,CACjC,CAAC;YAEF,GAAG,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YACjE,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,GAAe,EAAE,KAAyB;QAC9D,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACnC,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,OAAO;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,MAAM,EAAE,GAAG,CAAC,SAAS;YACrB,SAAS,EAAE,GAAG,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,CAAC;CAWF,CAAA;AA9DY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAKkB,+BAAiB;QACA,2CAAkC;GALrE,yBAAyB,CA8DrC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { PipelineFactoryIteratorType } from '@loopstack/contracts/types';
|
|
1
|
+
import { BlockInterface, RunContext, WorkflowMetadataInterface } from '@loopstack/common';
|
|
3
2
|
import { Processor, TemplateExpressionEvaluatorService } from '../../../common';
|
|
4
3
|
import { BlockProcessor } from '../block-processor.service';
|
|
5
4
|
import { NamespaceProcessorService } from '../namespace-processor.service';
|
|
@@ -10,8 +9,7 @@ export declare class FactoryProcessorService implements Processor {
|
|
|
10
9
|
private readonly logger;
|
|
11
10
|
constructor(templateExpressionEvaluatorService: TemplateExpressionEvaluatorService, namespaceProcessorService: NamespaceProcessorService, blockProcessor: BlockProcessor);
|
|
12
11
|
createIndex(ltreeIndex: string, increment?: number): string;
|
|
13
|
-
prepareAllContexts(ctx: PipelineExecutionContextDto, iterator: PipelineFactoryIteratorType): Promise<Record<string, BlockContextType>>;
|
|
14
12
|
private validateAvailable;
|
|
15
|
-
process(block: BlockInterface, args: any, ctx:
|
|
13
|
+
process(block: BlockInterface, args: any, ctx: RunContext): Promise<WorkflowMetadataInterface>;
|
|
16
14
|
}
|
|
17
15
|
//# sourceMappingURL=factory-processor.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory-processor.service.d.ts","sourceRoot":"","sources":["../../../../src/workflow-processor/services/processors/factory-processor.service.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"factory-processor.service.d.ts","sourceRoot":"","sources":["../../../../src/workflow-processor/services/processors/factory-processor.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,kCAAkC,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,qBACa,uBAAwB,YAAW,SAAS;IAIrD,OAAO,CAAC,QAAQ,CAAC,kCAAkC;IACnD,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc;IALjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;gBAGhD,kCAAkC,EAAE,kCAAkC,EACtE,yBAAyB,EAAE,yBAAyB,EACpD,cAAc,EAAE,cAAc;IAGjD,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,MAAM;IA+B9D,OAAO,CAAC,iBAAiB;IASnB,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,yBAAyB,CAAC;CA+GrG"}
|
|
@@ -30,21 +30,6 @@ let FactoryProcessorService = FactoryProcessorService_1 = class FactoryProcessor
|
|
|
30
30
|
parts[parts.length - 1] += increment;
|
|
31
31
|
return parts.map((part) => part.toString().padStart(4, '0')).join('.');
|
|
32
32
|
}
|
|
33
|
-
async prepareAllContexts(ctx, iterator) {
|
|
34
|
-
const index = `${ctx.index}.0`;
|
|
35
|
-
const executionContexts = {};
|
|
36
|
-
for (let i = 0; i < iterator.source.length; i++) {
|
|
37
|
-
const item = iterator.source[i];
|
|
38
|
-
const namespace = await this.namespaceProcessorService.createNamespace(ctx, { label: `${item} (${i + 1})` });
|
|
39
|
-
executionContexts[item] = {
|
|
40
|
-
...ctx,
|
|
41
|
-
namespace,
|
|
42
|
-
labels: [...ctx.labels, namespace.name],
|
|
43
|
-
index: this.createIndex(index, i + 1),
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
return executionContexts;
|
|
47
|
-
}
|
|
48
33
|
validateAvailable() {
|
|
49
34
|
}
|
|
50
35
|
async process(block, args, ctx) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory-processor.service.js","sourceRoot":"","sources":["../../../../src/workflow-processor/services/processors/factory-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;
|
|
1
|
+
{"version":3,"file":"factory-processor.service.js","sourceRoot":"","sources":["../../../../src/workflow-processor/services/processors/factory-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,4CAAgF;AAChF,wEAA4D;AAC5D,gFAA2E;AAGpE,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAIf;IACA;IACA;IALF,MAAM,GAAG,IAAI,eAAM,CAAC,yBAAuB,CAAC,IAAI,CAAC,CAAC;IAEnE,YACmB,kCAAsE,EACtE,yBAAoD,EACpD,cAA8B;QAF9B,uCAAkC,GAAlC,kCAAkC,CAAoC;QACtE,8BAAyB,GAAzB,yBAAyB,CAA2B;QACpD,mBAAc,GAAd,cAAc,CAAgB;IAC9C,CAAC;IAEJ,WAAW,CAAC,UAAkB,EAAE,YAAoB,CAAC;QACnD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;QACrC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzE,CAAC;IA2BO,iBAAiB;IAOzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAqB,EAAE,IAAS,EAAE,GAAe;QAE7D,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QA2GpE,OAAO,EAA+B,CAAC;IACzC,CAAC;CACF,CAAA;AAhKY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;qCAK4C,2CAAkC;QAC3C,uDAAyB;QACpC,wCAAc;GANtC,uBAAuB,CAgKnC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BlockInterface, RunContext, WorkflowMetadataInterface } from '@loopstack/common';
|
|
2
2
|
import { Processor, TemplateExpressionEvaluatorService } from '../../../common';
|
|
3
3
|
import { BlockProcessor } from '../block-processor.service';
|
|
4
4
|
import { NamespaceProcessorService } from '../namespace-processor.service';
|
|
@@ -9,6 +9,6 @@ export declare class SequenceProcessorService implements Processor {
|
|
|
9
9
|
private readonly logger;
|
|
10
10
|
constructor(blockProcessor: BlockProcessor, namespaceProcessorService: NamespaceProcessorService, templateExpressionEvaluatorService: TemplateExpressionEvaluatorService);
|
|
11
11
|
private validateAvailable;
|
|
12
|
-
process(block: BlockInterface, args: any, ctx:
|
|
12
|
+
process(block: BlockInterface, args: any, ctx: RunContext): Promise<WorkflowMetadataInterface>;
|
|
13
13
|
}
|
|
14
14
|
//# sourceMappingURL=sequence-processor.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequence-processor.service.d.ts","sourceRoot":"","sources":["../../../../src/workflow-processor/services/processors/sequence-processor.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sequence-processor.service.d.ts","sourceRoot":"","sources":["../../../../src/workflow-processor/services/processors/sequence-processor.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,yBAAyB,EAAkB,MAAM,mBAAmB,CAAC;AAE1G,OAAO,EAAE,SAAS,EAAE,kCAAkC,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E,qBACa,wBAAyB,YAAW,SAAS;IAItD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,kCAAkC;IALrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;gBAGjD,cAAc,EAAE,cAAc,EAC9B,yBAAyB,EAAE,yBAAyB,EACpD,kCAAkC,EAAE,kCAAkC;IAGzF,OAAO,CAAC,iBAAiB;IASnB,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,yBAAyB,CAAC;CA8ErG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequence-processor.service.js","sourceRoot":"","sources":["../../../../src/workflow-processor/services/processors/sequence-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"sequence-processor.service.js","sourceRoot":"","sources":["../../../../src/workflow-processor/services/processors/sequence-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAA0G;AAE1G,4CAAgF;AAChF,wEAA4D;AAC5D,gFAA2E;AAGpE,IAAM,wBAAwB,gCAA9B,MAAM,wBAAwB;IAIhB;IACA;IACA;IALF,MAAM,GAAG,IAAI,eAAM,CAAC,0BAAwB,CAAC,IAAI,CAAC,CAAC;IAEpE,YACmB,cAA8B,EAC9B,yBAAoD,EACpD,kCAAsE;QAFtE,mBAAc,GAAd,cAAc,CAAgB;QAC9B,8BAAyB,GAAzB,yBAAyB,CAA2B;QACpD,uCAAkC,GAAlC,kCAAkC,CAAoC;IACtF,CAAC;IAEI,iBAAiB;IAOzB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAqB,EAAE,IAAS,EAAE,GAAe;QAE7D,MAAM,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAuB,KAAK,CAAyB,CAAC;QACnF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,WAAW,CAAC,IAAI,oCAAoC,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,QAAQ,GAA6B,MAAM,CAAC,QAAQ,CAAC;QAE3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,QAAQ,CAAC,MAAM,SAAS,CAAC,CAAC;QA8DxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,OAAO,EAA+B,CAAC;IACzC,CAAC;CACF,CAAA;AAhGY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;qCAKwB,wCAAc;QACH,uDAAyB;QAChB,2CAAkC;GAN9E,wBAAwB,CAgGpC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RunContext, StateMachineValidatorResultInterface, WorkflowEntity, WorkflowInterface, WorkflowMetadataInterface } from '@loopstack/common';
|
|
2
2
|
import { Processor } from '../../../common';
|
|
3
|
+
import { ExecutionContextManager } from '../../utils/execution-context-manager';
|
|
3
4
|
import { StateMachineProcessorService } from '../state-machine-processor.service';
|
|
4
5
|
import { StateMachineValidatorService } from '../state-machine-validator.service';
|
|
5
6
|
import { WorkflowStateService } from '../workflow-state.service';
|
|
@@ -9,7 +10,7 @@ export declare class WorkflowProcessorService implements Processor {
|
|
|
9
10
|
private readonly stateMachineProcessorService;
|
|
10
11
|
private readonly logger;
|
|
11
12
|
constructor(workflowStateService: WorkflowStateService, stateMachineValidatorService: StateMachineValidatorService, stateMachineProcessorService: StateMachineProcessorService);
|
|
12
|
-
process(workflow: WorkflowInterface, args: Record<string, unknown> | undefined, context:
|
|
13
|
-
initStateMachine(ctx:
|
|
13
|
+
process(workflow: WorkflowInterface, args: Record<string, unknown> | undefined, context: RunContext): Promise<WorkflowMetadataInterface>;
|
|
14
|
+
initStateMachine(ctx: ExecutionContextManager, workflowEntity: WorkflowEntity, validation: StateMachineValidatorResultInterface): void;
|
|
14
15
|
}
|
|
15
16
|
//# sourceMappingURL=workflow-processor.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-processor.service.d.ts","sourceRoot":"","sources":["../../../../src/workflow-processor/services/processors/workflow-processor.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workflow-processor.service.d.ts","sourceRoot":"","sources":["../../../../src/workflow-processor/services/processors/workflow-processor.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,oCAAoC,EACpC,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EAI1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAoB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,qBACa,wBAAyB,YAAW,SAAS;IAItD,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,4BAA4B;IAC7C,OAAO,CAAC,QAAQ,CAAC,4BAA4B;IAL/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6C;gBAGjD,oBAAoB,EAAE,oBAAoB,EAC1C,4BAA4B,EAAE,4BAA4B,EAC1D,4BAA4B,EAAE,4BAA4B;IAGvE,OAAO,CACX,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,yBAAyB,CAAC;IAwFrC,gBAAgB,CACd,GAAG,EAAE,uBAAuB,EAC5B,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,oCAAoC,GAC/C,IAAI;CA4BR"}
|
|
@@ -12,13 +12,13 @@ var WorkflowProcessorService_1;
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.WorkflowProcessorService = void 0;
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
|
-
const zod_1 = require("zod");
|
|
16
15
|
const common_2 = require("@loopstack/common");
|
|
17
16
|
const enums_1 = require("@loopstack/contracts/enums");
|
|
17
|
+
const common_3 = require("../../../common");
|
|
18
|
+
const execution_context_manager_1 = require("../../utils/execution-context-manager");
|
|
19
|
+
const state_manager_1 = require("../../utils/state/state-manager");
|
|
18
20
|
const state_machine_processor_service_1 = require("../state-machine-processor.service");
|
|
19
21
|
const state_machine_validator_service_1 = require("../state-machine-validator.service");
|
|
20
|
-
const workflow_state_caretaker_1 = require("../state/workflow-state-caretaker");
|
|
21
|
-
const workflow_state_1 = require("../state/workflow.state");
|
|
22
22
|
const workflow_state_service_1 = require("../workflow-state.service");
|
|
23
23
|
let WorkflowProcessorService = WorkflowProcessorService_1 = class WorkflowProcessorService {
|
|
24
24
|
workflowStateService;
|
|
@@ -41,56 +41,81 @@ let WorkflowProcessorService = WorkflowProcessorService_1 = class WorkflowProces
|
|
|
41
41
|
}
|
|
42
42
|
const workflowEntity = await this.workflowStateService.getWorkflowState(workflow, context);
|
|
43
43
|
context.workflowId = workflowEntity.id;
|
|
44
|
-
const
|
|
45
|
-
const workflowStateCaretaker = workflow_state_caretaker_1.WorkflowStateCaretaker.deserialize((workflowEntity.history ?? []), workflowStateDataSchema);
|
|
46
|
-
const executionContext = new common_2.ExecutionContext({
|
|
44
|
+
const initialWorkflowData = {
|
|
47
45
|
error: false,
|
|
48
46
|
stop: false,
|
|
49
|
-
|
|
47
|
+
status: workflowEntity.status,
|
|
50
48
|
availableTransitions: [],
|
|
51
49
|
persistenceState: {
|
|
52
50
|
documentsUpdated: false,
|
|
53
51
|
},
|
|
54
|
-
});
|
|
55
|
-
const workflowState = new workflow_state_1.WorkflowState(workflowStateDataSchema, workflowStateCaretaker, {}, {
|
|
56
52
|
documents: workflowEntity.documents,
|
|
57
53
|
place: workflowEntity.place,
|
|
58
54
|
tools: {},
|
|
59
|
-
});
|
|
60
|
-
const ctx = {
|
|
61
|
-
context,
|
|
62
|
-
state: workflowState,
|
|
63
|
-
runtime: executionContext,
|
|
64
|
-
entity: workflowEntity,
|
|
65
55
|
};
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
|
|
56
|
+
const schema = (0, common_2.getBlockStateSchema)(workflow);
|
|
57
|
+
const stateManager = new state_manager_1.StateManager(schema, initialWorkflowData, workflowEntity.history);
|
|
58
|
+
let ctx = new execution_context_manager_1.ExecutionContextManager(workflow, context, validArgs, stateManager);
|
|
59
|
+
const validatorResult = this.stateMachineValidatorService.validate(workflowEntity, ctx);
|
|
60
|
+
const pendingTransition = validatorResult.valid && ctx.getContext().payload?.transition?.workflowId === ctx.getContext().workflowId
|
|
61
|
+
? ctx.getContext().payload?.transition
|
|
69
62
|
: undefined;
|
|
70
63
|
if (validatorResult.valid && !pendingTransition) {
|
|
71
64
|
this.logger.debug('Skipping processing since state is processed still valid.');
|
|
72
|
-
return ctx;
|
|
65
|
+
return ctx.getData();
|
|
73
66
|
}
|
|
74
67
|
this.logger.debug(`Process state machine for workflow ${workflow.constructor.name}`);
|
|
75
|
-
this.initStateMachine(ctx, validatorResult);
|
|
76
|
-
|
|
68
|
+
this.initStateMachine(ctx, workflowEntity, validatorResult);
|
|
69
|
+
try {
|
|
70
|
+
ctx = await this.stateMachineProcessorService.processStateMachine(workflowEntity, ctx, pendingTransition ? [pendingTransition] : []);
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
const error = e instanceof Error ? e : new Error(String(e));
|
|
74
|
+
this.logger.error(new common_3.ConfigTraceError(error, ctx.getInstance()));
|
|
75
|
+
ctx.getManager().setData('errorMessage', error.message);
|
|
76
|
+
ctx.getManager().setData('error', true);
|
|
77
|
+
}
|
|
78
|
+
if (ctx.getManager().getData('error')) {
|
|
79
|
+
ctx.getManager().setData('stop', true);
|
|
80
|
+
ctx.getManager().setData('status', enums_1.WorkflowState.Failed);
|
|
81
|
+
}
|
|
82
|
+
else if (ctx.getManager().getData('place') === 'end') {
|
|
83
|
+
const outputMetadata = (0, common_2.getBlockOutputMetadata)(ctx.getInstance());
|
|
84
|
+
if (outputMetadata) {
|
|
85
|
+
const instance = ctx.getInstance();
|
|
86
|
+
const result = instance[outputMetadata.name]();
|
|
87
|
+
ctx
|
|
88
|
+
.getManager()
|
|
89
|
+
.setData('result', (outputMetadata.schema ? outputMetadata.schema.parse(result) : result));
|
|
90
|
+
}
|
|
91
|
+
ctx.getManager().setData('status', enums_1.WorkflowState.Completed);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
ctx.getManager().setData('stop', true);
|
|
95
|
+
ctx.getManager().setData('status', enums_1.WorkflowState.Waiting);
|
|
96
|
+
}
|
|
97
|
+
await this.workflowStateService.saveExecutionState(workflowEntity, ctx);
|
|
98
|
+
return ctx.getData();
|
|
77
99
|
}
|
|
78
|
-
initStateMachine(ctx, validation) {
|
|
79
|
-
ctx.
|
|
100
|
+
initStateMachine(ctx, workflowEntity, validation) {
|
|
101
|
+
ctx.getManager().setData('status', enums_1.WorkflowState.Running);
|
|
102
|
+
workflowEntity.status = ctx.getManager().getData('status');
|
|
80
103
|
if (!validation.valid) {
|
|
81
|
-
|
|
82
|
-
...(
|
|
104
|
+
workflowEntity.hashRecord = {
|
|
105
|
+
...(workflowEntity.hashRecord ?? {}),
|
|
83
106
|
...validation.hashRecordUpdates,
|
|
84
107
|
};
|
|
85
|
-
ctx.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
ctx.
|
|
89
|
-
|
|
90
|
-
|
|
108
|
+
ctx.getManager().setData('result', null);
|
|
109
|
+
workflowEntity.result = ctx.getManager().getData('result');
|
|
110
|
+
if (ctx.getManager().getData('place') !== 'start') {
|
|
111
|
+
ctx.getManager().setData('place', 'start');
|
|
112
|
+
ctx.getManager().setData('transition', {
|
|
113
|
+
id: 'invalidation',
|
|
114
|
+
from: workflowEntity.place,
|
|
91
115
|
to: 'start',
|
|
116
|
+
payload: {},
|
|
92
117
|
});
|
|
93
|
-
ctx.
|
|
118
|
+
ctx.getManager().checkpoint();
|
|
94
119
|
}
|
|
95
120
|
}
|
|
96
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-processor.service.js","sourceRoot":"","sources":["../../../../src/workflow-processor/services/processors/workflow-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"workflow-processor.service.js","sourceRoot":"","sources":["../../../../src/workflow-processor/services/processors/workflow-processor.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EventEmitter2 } from '@nestjs/event-emitter';
|
|
2
|
+
import { PipelineEntity, RunContext, WorkflowMetadataInterface } from '@loopstack/common';
|
|
2
3
|
import { PipelineService } from '../../persistence';
|
|
3
4
|
import { BlockDiscoveryService } from './block-discovery.service';
|
|
4
5
|
import { BlockProcessor } from './block-processor.service';
|
|
@@ -8,9 +9,10 @@ export declare class RootProcessorService {
|
|
|
8
9
|
private readonly namespaceProcessorService;
|
|
9
10
|
private readonly blockProcessor;
|
|
10
11
|
private readonly blockDiscoveryService;
|
|
12
|
+
private readonly eventEmitter;
|
|
11
13
|
private readonly logger;
|
|
12
|
-
constructor(pipelineService: PipelineService, namespaceProcessorService: NamespaceProcessorService, blockProcessor: BlockProcessor, blockDiscoveryService: BlockDiscoveryService);
|
|
14
|
+
constructor(pipelineService: PipelineService, namespaceProcessorService: NamespaceProcessorService, blockProcessor: BlockProcessor, blockDiscoveryService: BlockDiscoveryService, eventEmitter: EventEmitter2);
|
|
13
15
|
private processRootPipeline;
|
|
14
|
-
runPipeline(pipeline: PipelineEntity, payload:
|
|
16
|
+
runPipeline(pipeline: PipelineEntity, payload: RunContext['payload']): Promise<WorkflowMetadataInterface>;
|
|
15
17
|
}
|
|
16
18
|
//# sourceMappingURL=root-processor.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-processor.service.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/services/root-processor.service.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"root-processor.service.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/services/root-processor.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,cAAc,EAEd,UAAU,EAEV,yBAAyB,EAE1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAA6B,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,qBACa,oBAAoB;IAI7B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAP/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;gBAG7C,eAAe,EAAE,eAAe,EAChC,yBAAyB,EAAE,yBAAyB,EACpD,cAAc,EAAE,cAAc,EAC9B,qBAAqB,EAAE,qBAAqB,EAC5C,YAAY,EAAE,aAAa;YAGhC,mBAAmB;IAwB3B,WAAW,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAoChH"}
|
|
@@ -12,7 +12,9 @@ var RootProcessorService_1;
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.RootProcessorService = void 0;
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
|
+
const event_emitter_1 = require("@nestjs/event-emitter");
|
|
15
16
|
const common_2 = require("@loopstack/common");
|
|
17
|
+
const enums_1 = require("@loopstack/contracts/enums");
|
|
16
18
|
const persistence_1 = require("../../persistence");
|
|
17
19
|
const block_discovery_service_1 = require("./block-discovery.service");
|
|
18
20
|
const block_processor_service_1 = require("./block-processor.service");
|
|
@@ -22,17 +24,19 @@ let RootProcessorService = RootProcessorService_1 = class RootProcessorService {
|
|
|
22
24
|
namespaceProcessorService;
|
|
23
25
|
blockProcessor;
|
|
24
26
|
blockDiscoveryService;
|
|
27
|
+
eventEmitter;
|
|
25
28
|
logger = new common_1.Logger(RootProcessorService_1.name);
|
|
26
|
-
constructor(pipelineService, namespaceProcessorService, blockProcessor, blockDiscoveryService) {
|
|
29
|
+
constructor(pipelineService, namespaceProcessorService, blockProcessor, blockDiscoveryService, eventEmitter) {
|
|
27
30
|
this.pipelineService = pipelineService;
|
|
28
31
|
this.namespaceProcessorService = namespaceProcessorService;
|
|
29
32
|
this.blockProcessor = blockProcessor;
|
|
30
33
|
this.blockDiscoveryService = blockDiscoveryService;
|
|
34
|
+
this.eventEmitter = eventEmitter;
|
|
31
35
|
}
|
|
32
36
|
async processRootPipeline(workflow, pipeline, payload, args) {
|
|
33
37
|
const namespace = await this.namespaceProcessorService.createRootNamespace(pipeline);
|
|
34
38
|
this.logger.debug(`Running Root Pipeline: ${pipeline.blockName}`);
|
|
35
|
-
const ctx = new common_2.
|
|
39
|
+
const ctx = new common_2.RunContext({
|
|
36
40
|
root: pipeline.blockName,
|
|
37
41
|
index: pipeline.index,
|
|
38
42
|
userId: pipeline.createdBy,
|
|
@@ -41,11 +45,6 @@ let RootProcessorService = RootProcessorService_1 = class RootProcessorService {
|
|
|
41
45
|
labels: [...pipeline.labels, namespace.name],
|
|
42
46
|
namespace: namespace,
|
|
43
47
|
payload: payload,
|
|
44
|
-
state: new common_2.BlockStateDto({
|
|
45
|
-
id: pipeline.blockName,
|
|
46
|
-
error: false,
|
|
47
|
-
stop: false,
|
|
48
|
-
}),
|
|
49
48
|
});
|
|
50
49
|
return this.blockProcessor.processBlock(workflow, args, ctx);
|
|
51
50
|
}
|
|
@@ -59,14 +58,23 @@ let RootProcessorService = RootProcessorService_1 = class RootProcessorService {
|
|
|
59
58
|
throw new Error(`Workflow ${pipeline.blockName} not available in workspace ${pipeline.blockName}`);
|
|
60
59
|
}
|
|
61
60
|
await this.pipelineService.setPipelineStatus(pipeline, common_2.PipelineState.Running);
|
|
62
|
-
const
|
|
63
|
-
const status =
|
|
61
|
+
const executionMeta = await this.processRootPipeline(workflow, pipeline, payload, pipeline.args);
|
|
62
|
+
const status = executionMeta.error
|
|
64
63
|
? common_2.PipelineState.Failed
|
|
65
|
-
:
|
|
64
|
+
: executionMeta.stop
|
|
66
65
|
? common_2.PipelineState.Paused
|
|
67
66
|
: common_2.PipelineState.Completed;
|
|
68
67
|
await this.pipelineService.setPipelineStatus(pipeline, status);
|
|
69
|
-
|
|
68
|
+
if (executionMeta.status === enums_1.WorkflowState.Completed) {
|
|
69
|
+
this.logger.log(`Root pipeline execution completed.`);
|
|
70
|
+
this.eventEmitter.emit('pipeline.event', {
|
|
71
|
+
eventPipelineId: pipeline.id,
|
|
72
|
+
eventName: 'completed',
|
|
73
|
+
workspaceId: pipeline.workspaceId,
|
|
74
|
+
data: executionMeta.result,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
return executionMeta;
|
|
70
78
|
}
|
|
71
79
|
};
|
|
72
80
|
exports.RootProcessorService = RootProcessorService;
|
|
@@ -75,6 +83,7 @@ exports.RootProcessorService = RootProcessorService = RootProcessorService_1 = _
|
|
|
75
83
|
__metadata("design:paramtypes", [persistence_1.PipelineService,
|
|
76
84
|
namespace_processor_service_1.NamespaceProcessorService,
|
|
77
85
|
block_processor_service_1.BlockProcessor,
|
|
78
|
-
block_discovery_service_1.BlockDiscoveryService
|
|
86
|
+
block_discovery_service_1.BlockDiscoveryService,
|
|
87
|
+
event_emitter_1.EventEmitter2])
|
|
79
88
|
], RootProcessorService);
|
|
80
89
|
//# sourceMappingURL=root-processor.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root-processor.service.js","sourceRoot":"","sources":["../../../src/workflow-processor/services/root-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"root-processor.service.js","sourceRoot":"","sources":["../../../src/workflow-processor/services/root-processor.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { HistoryTransition, TransitionInfoInterface,
|
|
1
|
+
import { WorkflowEntity } from '@loopstack/common';
|
|
2
|
+
import type { HistoryTransition, TransitionInfoInterface, TransitionPayloadInterface, WorkflowTransitionType } from '@loopstack/contracts/types';
|
|
3
3
|
import { TemplateExpressionEvaluatorService } from '../../common';
|
|
4
|
+
import { WorkflowExecutionContextManager } from '../utils/execution-context-manager';
|
|
4
5
|
import { StateMachineToolCallProcessorService } from './state-machine-tool-call-processor.service';
|
|
5
6
|
import { WorkflowStateService } from './workflow-state.service';
|
|
6
7
|
export declare class StateMachineProcessorService {
|
|
@@ -9,10 +10,10 @@ export declare class StateMachineProcessorService {
|
|
|
9
10
|
private readonly stateMachineToolCallProcessorService;
|
|
10
11
|
private readonly logger;
|
|
11
12
|
constructor(workflowStateService: WorkflowStateService, templateExpressionEvaluatorService: TemplateExpressionEvaluatorService, stateMachineToolCallProcessorService: StateMachineToolCallProcessorService);
|
|
12
|
-
getAvailableTransitions(
|
|
13
|
+
getAvailableTransitions(ctx: WorkflowExecutionContextManager): WorkflowTransitionType[];
|
|
13
14
|
validateTransition(nextTransition: TransitionInfoInterface, historyItem: HistoryTransition): void;
|
|
14
|
-
getNextTransition(ctx:
|
|
15
|
-
commitWorkflowTransition(ctx:
|
|
16
|
-
processStateMachine(
|
|
15
|
+
getNextTransition(ctx: WorkflowExecutionContextManager, pendingTransition: TransitionPayloadInterface | undefined): HistoryTransition | undefined;
|
|
16
|
+
commitWorkflowTransition(ctx: WorkflowExecutionContextManager, nextPlace?: string): void;
|
|
17
|
+
processStateMachine(workflowEntity: WorkflowEntity, ctx: WorkflowExecutionContextManager, pendingTransitions: TransitionPayloadInterface[]): Promise<WorkflowExecutionContextManager>;
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=state-machine-processor.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine-processor.service.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/services/state-machine-processor.service.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"state-machine-processor.service.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/services/state-machine-processor.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAA2C,MAAM,mBAAmB,CAAC;AAE5F,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EAEvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,kCAAkC,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,MAAM,oCAAoC,CAAC;AAErF,OAAO,EAAE,oCAAoC,EAAE,MAAM,6CAA6C,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,qBACa,4BAA4B;IAIrC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,kCAAkC;IACnD,OAAO,CAAC,QAAQ,CAAC,oCAAoC;IALvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiD;gBAGrD,oBAAoB,EAAE,oBAAoB,EAC1C,kCAAkC,EAAE,kCAAkC,EACtE,oCAAoC,EAAE,oCAAoC;IAG7F,uBAAuB,CAAC,GAAG,EAAE,+BAA+B,GAAG,sBAAsB,EAAE;IAsCvF,kBAAkB,CAAC,cAAc,EAAE,uBAAuB,EAAE,WAAW,EAAE,iBAAiB;IAM1F,iBAAiB,CACf,GAAG,EAAE,+BAA+B,EACpC,iBAAiB,EAAE,0BAA0B,GAAG,SAAS,GACxD,iBAAiB,GAAG,SAAS;IAoChC,wBAAwB,CAAC,GAAG,EAAE,+BAA+B,EAAE,SAAS,CAAC,EAAE,MAAM;IAgB3E,mBAAmB,CACvB,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,+BAA+B,EACpC,kBAAkB,EAAE,0BAA0B,EAAE,GAC/C,OAAO,CAAC,+BAA+B,CAAC;CAiD5C"}
|