@loopstack/core 0.0.4 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/config/core.yaml +1 -0
- package/dist/config-provider.service.js.map +1 -1
- package/dist/modules/common/services/context.service.d.ts +2 -2
- package/dist/modules/common/services/context.service.js +7 -7
- package/dist/modules/common/services/context.service.js.map +1 -1
- package/dist/modules/common/services/document-helper.service.d.ts +10 -0
- package/dist/modules/common/services/expression-evaluator.service.js.map +1 -1
- package/dist/modules/common/services/schema-validator.service.d.ts +2 -0
- package/dist/modules/common/services/schema-validator.service.js +14 -11
- package/dist/modules/common/services/schema-validator.service.js.map +1 -1
- package/dist/modules/common/services/value-parser.service.d.ts +2 -6
- package/dist/modules/common/services/value-parser.service.js +0 -3
- package/dist/modules/common/services/value-parser.service.js.map +1 -1
- package/dist/modules/configuration/configuration.module.js +2 -3
- package/dist/modules/configuration/configuration.module.js.map +1 -1
- package/dist/modules/configuration/services/config-provider.registry.js.map +1 -1
- package/dist/modules/configuration/services/configuration.service.d.ts +5 -7
- package/dist/modules/configuration/services/configuration.service.js +53 -46
- package/dist/modules/configuration/services/configuration.service.js.map +1 -1
- package/dist/modules/configuration/services/dynamic-schema-generator.service.d.ts +8 -8
- package/dist/modules/configuration/services/dynamic-schema-generator.service.js +21 -22
- package/dist/modules/configuration/services/dynamic-schema-generator.service.js.map +1 -1
- package/dist/modules/configuration/services/index.d.ts +1 -2
- package/dist/modules/configuration/services/index.js +1 -2
- package/dist/modules/configuration/services/index.js.map +1 -1
- package/dist/modules/configuration/services/service-registry.service.d.ts +20 -0
- package/dist/modules/configuration/services/{adapter-registry.service.js → service-registry.service.js} +31 -16
- package/dist/modules/configuration/services/service-registry.service.js.map +1 -0
- package/dist/modules/persistence/__tests__/database-entities-utils.d.ts +2 -2
- package/dist/modules/persistence/__tests__/database-entities-utils.js +5 -5
- package/dist/modules/persistence/__tests__/database-entities-utils.js.map +1 -1
- package/dist/modules/persistence/persistence.module.js +3 -3
- package/dist/modules/persistence/persistence.module.js.map +1 -1
- package/dist/modules/persistence/services/document.service.d.ts +3 -3
- package/dist/modules/persistence/services/document.service.js +6 -6
- package/dist/modules/persistence/services/document.service.js.map +1 -1
- package/dist/modules/persistence/services/index.d.ts +1 -1
- package/dist/modules/persistence/services/index.js +1 -1
- package/dist/modules/persistence/services/index.js.map +1 -1
- package/dist/modules/persistence/services/namespace.service.d.ts +2 -2
- package/dist/modules/persistence/services/namespace.service.js +9 -9
- package/dist/modules/persistence/services/namespace.service.js.map +1 -1
- package/dist/modules/persistence/services/pipeline.service.d.ts +8 -0
- package/dist/modules/persistence/services/{project.service.js → pipeline.service.js} +13 -13
- package/dist/modules/persistence/services/pipeline.service.js.map +1 -0
- package/dist/modules/persistence/subscriber/workflow.subscriber.js +2 -2
- package/dist/modules/persistence/subscriber/workflow.subscriber.js.map +1 -1
- package/dist/modules/workflow-processor/services/index.d.ts +2 -1
- package/dist/modules/workflow-processor/services/index.js +2 -1
- package/dist/modules/workflow-processor/services/index.js.map +1 -1
- package/dist/modules/workflow-processor/services/namespace-processor.service.js +1 -1
- package/dist/modules/workflow-processor/services/namespace-processor.service.js.map +1 -1
- package/dist/modules/workflow-processor/services/pipeline-processor.service.d.ts +15 -0
- package/dist/modules/workflow-processor/services/{project-processor.service.js → pipeline-processor.service.js} +24 -24
- package/dist/modules/workflow-processor/services/pipeline-processor.service.js.map +1 -0
- package/dist/modules/workflow-processor/services/state-machine-config.service.d.ts +7 -7
- package/dist/modules/workflow-processor/services/state-machine-config.service.js +0 -4
- package/dist/modules/workflow-processor/services/state-machine-config.service.js.map +1 -1
- package/dist/modules/workflow-processor/services/state-machine-processor.service.d.ts +4 -3
- package/dist/modules/workflow-processor/services/state-machine-processor.service.js +40 -62
- package/dist/modules/workflow-processor/services/state-machine-processor.service.js.map +1 -1
- package/dist/modules/workflow-processor/services/template-expression-evaluator.service.d.ts +9 -0
- package/dist/modules/workflow-processor/services/template-expression-evaluator.service.js +50 -0
- package/dist/modules/workflow-processor/services/template-expression-evaluator.service.js.map +1 -0
- package/dist/modules/workflow-processor/services/tool-execution.service.d.ts +18 -11
- package/dist/modules/workflow-processor/services/tool-execution.service.js +49 -35
- package/dist/modules/workflow-processor/services/tool-execution.service.js.map +1 -1
- package/dist/modules/workflow-processor/services/tool-schema-validator.service.d.ts +2 -2
- package/dist/modules/workflow-processor/services/tool-schema-validator.service.js +3 -3
- package/dist/modules/workflow-processor/services/tool-schema-validator.service.js.map +1 -1
- package/dist/modules/workflow-processor/services/workflow-processor.service.d.ts +5 -2
- package/dist/modules/workflow-processor/services/workflow-processor.service.js +33 -5
- package/dist/modules/workflow-processor/services/workflow-processor.service.js.map +1 -1
- package/dist/modules/workflow-processor/tool-services/add-namespace.service.d.ts +20 -0
- package/dist/modules/workflow-processor/{tools → tool-services}/add-namespace.service.js +16 -11
- package/dist/modules/workflow-processor/tool-services/add-namespace.service.js.map +1 -0
- package/dist/modules/workflow-processor/tool-services/batch-create-documents.service.d.ts +33 -0
- package/dist/modules/workflow-processor/{tools → tool-services}/batch-create-documents.service.js +37 -36
- package/dist/modules/workflow-processor/tool-services/batch-create-documents.service.js.map +1 -0
- package/dist/modules/workflow-processor/tool-services/create-document.service.d.ts +209 -0
- package/dist/modules/workflow-processor/{tools → tool-services}/create-document.service.js +35 -37
- package/dist/modules/workflow-processor/tool-services/create-document.service.js.map +1 -0
- package/dist/modules/workflow-processor/{tools → tool-services}/index.d.ts +2 -2
- package/dist/modules/workflow-processor/{tools → tool-services}/index.js +2 -2
- package/dist/modules/workflow-processor/tool-services/index.js.map +1 -0
- package/dist/modules/workflow-processor/tool-services/load-document.service.d.ts +68 -0
- package/dist/modules/workflow-processor/{tools → tool-services}/load-document.service.js +17 -13
- package/dist/modules/workflow-processor/tool-services/load-document.service.js.map +1 -0
- package/dist/modules/workflow-processor/tool-services/mock.service.d.ts +17 -0
- package/dist/modules/workflow-processor/{tools/debug.service.js → tool-services/mock.service.js} +29 -18
- package/dist/modules/workflow-processor/tool-services/mock.service.js.map +1 -0
- package/dist/modules/workflow-processor/tool-services/set-context.service.d.ts +18 -0
- package/dist/modules/workflow-processor/{tools → tool-services}/set-context.service.js +20 -13
- package/dist/modules/workflow-processor/tool-services/set-context.service.js.map +1 -0
- package/dist/modules/workflow-processor/tool-services/set-target-place.service.d.ts +14 -0
- package/dist/modules/workflow-processor/tool-services/set-target-place.service.js +48 -0
- package/dist/modules/workflow-processor/tool-services/set-target-place.service.js.map +1 -0
- package/dist/modules/workflow-processor/tool-services/transition-selector.service.d.ts +29 -0
- package/dist/modules/workflow-processor/{tools → tool-services}/transition-selector.service.js +22 -15
- package/dist/modules/workflow-processor/tool-services/transition-selector.service.js.map +1 -0
- package/dist/modules/workflow-processor/tool-services/update-document.service.d.ts +110 -0
- package/dist/modules/workflow-processor/{tools → tool-services}/update-document.service.js +22 -15
- package/dist/modules/workflow-processor/tool-services/update-document.service.js.map +1 -0
- package/dist/modules/workflow-processor/workflow-processor.module.js +13 -12
- package/dist/modules/workflow-processor/workflow-processor.module.js.map +1 -1
- package/dist/utils/load-configuration.js +1 -1
- package/package.json +5 -2
- package/dist/config/documents/assistant-message.yaml +0 -13
- package/dist/config/documents/info-message.yaml +0 -9
- package/dist/config/documents/internal-message.yaml +0 -14
- package/dist/config/documents/loading-message.yaml +0 -10
- package/dist/config/documents/user-message.yaml +0 -13
- package/dist/config/templates/user-input-template.yaml +0 -29
- package/dist/config/tools/creat-error-message.yaml +0 -9
- package/dist/config/tools/create-assistant-message.yaml +0 -9
- package/dist/config/tools/create-chat-message.tool.yaml +0 -7
- package/dist/config/tools/create-template-document-user-update.yaml +0 -7
- package/dist/config/tools/create-template-document.yaml +0 -5
- package/dist/config/tools/create-user-message.tool.yaml +0 -9
- package/dist/modules/configuration/services/adapter-registry.service.d.ts +0 -12
- package/dist/modules/configuration/services/adapter-registry.service.js.map +0 -1
- package/dist/modules/configuration/services/tool.registry.d.ts +0 -13
- package/dist/modules/configuration/services/tool.registry.js +0 -59
- package/dist/modules/configuration/services/tool.registry.js.map +0 -1
- package/dist/modules/persistence/services/project.service.d.ts +0 -8
- package/dist/modules/persistence/services/project.service.js.map +0 -1
- package/dist/modules/workflow-processor/services/project-processor.service.d.ts +0 -15
- package/dist/modules/workflow-processor/services/project-processor.service.js.map +0 -1
- package/dist/modules/workflow-processor/tools/add-namespace.service.d.ts +0 -29
- package/dist/modules/workflow-processor/tools/add-namespace.service.js.map +0 -1
- package/dist/modules/workflow-processor/tools/batch-create-documents.service.d.ts +0 -42
- package/dist/modules/workflow-processor/tools/batch-create-documents.service.js.map +0 -1
- package/dist/modules/workflow-processor/tools/create-document.service.d.ts +0 -378
- package/dist/modules/workflow-processor/tools/create-document.service.js.map +0 -1
- package/dist/modules/workflow-processor/tools/debug.service.d.ts +0 -20
- package/dist/modules/workflow-processor/tools/debug.service.js.map +0 -1
- package/dist/modules/workflow-processor/tools/index.js.map +0 -1
- package/dist/modules/workflow-processor/tools/load-document.service.d.ts +0 -167
- package/dist/modules/workflow-processor/tools/load-document.service.js.map +0 -1
- package/dist/modules/workflow-processor/tools/set-context.service.d.ts +0 -27
- package/dist/modules/workflow-processor/tools/set-context.service.js.map +0 -1
- package/dist/modules/workflow-processor/tools/tool-call.service.d.ts +0 -29
- package/dist/modules/workflow-processor/tools/tool-call.service.js +0 -51
- package/dist/modules/workflow-processor/tools/tool-call.service.js.map +0 -1
- package/dist/modules/workflow-processor/tools/transition-selector.service.d.ts +0 -50
- package/dist/modules/workflow-processor/tools/transition-selector.service.js.map +0 -1
- package/dist/modules/workflow-processor/tools/update-document.service.d.ts +0 -198
- package/dist/modules/workflow-processor/tools/update-document.service.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.service.js","sourceRoot":"","sources":["../../../../src/modules/persistence/services/pipeline.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAmD;AACnD,qCAA6C;AAC7C,8CAAmD;AAEnD,IAAa,eAAe,GAA5B,MAAa,eAAe;IAGhB;IAFV,YAEU,gBAA4C;QAA5C,qBAAgB,GAAhB,gBAAgB,CAA4B;IACnD,CAAC;IAEJ,WAAW,CACT,EAAU,EACV,MAAqB,EACrB,YAAsB,CAAC,WAAW,EAAE,YAAY,CAAC;QAEjD,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;YACnC,KAAK,EAAE;gBACL,EAAE;gBACF,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,gBAAM,GAAE,CAAC,CAAC,CAAC,MAAM;aAC/C;YACD,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CACF,CAAA;AAvBY,0CAAe;0BAAf,eAAe;IAEvB,WAAA,IAAA,0BAAgB,EAAC,uBAAc,CAAC,CAAA;qCACP,oBAAU;GAH3B,eAAe,CAuB3B"}
|
|
@@ -28,7 +28,7 @@ let WorkflowSubscriber = class WorkflowSubscriber {
|
|
|
28
28
|
id: event.entity.id,
|
|
29
29
|
userId: event.entity.createdBy,
|
|
30
30
|
namespaceId: event.entity.namespaceId,
|
|
31
|
-
|
|
31
|
+
pipelineId: event.entity.pipelineId,
|
|
32
32
|
data: event.entity,
|
|
33
33
|
}));
|
|
34
34
|
}
|
|
@@ -38,7 +38,7 @@ let WorkflowSubscriber = class WorkflowSubscriber {
|
|
|
38
38
|
id: event.databaseEntity.id,
|
|
39
39
|
userId: event.databaseEntity.createdBy,
|
|
40
40
|
namespaceId: event.databaseEntity.namespaceId,
|
|
41
|
-
|
|
41
|
+
pipelineId: event.databaseEntity.pipelineId,
|
|
42
42
|
data: event.entity
|
|
43
43
|
? {
|
|
44
44
|
...event.databaseEntity,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.subscriber.js","sourceRoot":"","sources":["../../../../src/modules/persistence/subscriber/workflow.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAqE;AACrE,qCAMiB;AACjB,yFAAoF;AAG7E,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAKnB;IAFV,YACE,UAAsB,EACd,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;QAElD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,QAAQ;QACN,OAAO,uBAAc,CAAC;IACxB,CAAC;IAED,WAAW,CAAC,KAAkC;QAC5C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAChC,IAAI,yBAAgB,CAAC;YACnB,IAAI,EAAE,kBAAkB;YACxB,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;YACnB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;YAC9B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;YACrC,
|
|
1
|
+
{"version":3,"file":"workflow.subscriber.js","sourceRoot":"","sources":["../../../../src/modules/persistence/subscriber/workflow.subscriber.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAqE;AACrE,qCAMiB;AACjB,yFAAoF;AAG7E,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAKnB;IAFV,YACE,UAAsB,EACd,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;QAElD,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,QAAQ;QACN,OAAO,uBAAc,CAAC;IACxB,CAAC;IAED,WAAW,CAAC,KAAkC;QAC5C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAChC,IAAI,yBAAgB,CAAC;YACnB,IAAI,EAAE,kBAAkB;YACxB,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;YACnB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;YAC9B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;YACrC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;YACnC,IAAI,EAAE,KAAK,CAAC,MAAM;SACnB,CAAC,CACH,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,KAAkC;QAC5C,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAChC,IAAI,yBAAgB,CAAC;YACnB,IAAI,EAAE,kBAAkB;YACxB,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE;YAC3B,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS;YACtC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW;YAC7C,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU;YAC3C,IAAI,EAAE,KAAK,CAAC,MAAM;gBAChB,CAAC,CAAC;oBACE,GAAG,KAAK,CAAC,cAAc;oBACvB,GAAG,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;wBAC7C,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC;wBAChE,OAAO,GAAG,CAAC;oBACb,CAAC,EAAE,EAAE,CAAC;iBACP;gBACH,CAAC,CAAC,KAAK,CAAC,cAAc;SACzB,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AA/CY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,yBAAe,GAAE;qCAKF,oBAAU;QACQ,6CAAoB;GALzC,kBAAkB,CA+C9B"}
|
|
@@ -4,5 +4,6 @@ export * from './state-machine-validator.registry';
|
|
|
4
4
|
export * from './tool-execution.service';
|
|
5
5
|
export * from './workflow-processor.service';
|
|
6
6
|
export * from './namespace-processor.service';
|
|
7
|
-
export * from './
|
|
7
|
+
export * from './pipeline-processor.service';
|
|
8
8
|
export * from './tool-schema-validator.service';
|
|
9
|
+
export * from './template-expression-evaluator.service';
|
|
@@ -20,6 +20,7 @@ __exportStar(require("./state-machine-validator.registry"), exports);
|
|
|
20
20
|
__exportStar(require("./tool-execution.service"), exports);
|
|
21
21
|
__exportStar(require("./workflow-processor.service"), exports);
|
|
22
22
|
__exportStar(require("./namespace-processor.service"), exports);
|
|
23
|
-
__exportStar(require("./
|
|
23
|
+
__exportStar(require("./pipeline-processor.service"), exports);
|
|
24
24
|
__exportStar(require("./tool-schema-validator.service"), exports);
|
|
25
|
+
__exportStar(require("./template-expression-evaluator.service"), exports);
|
|
25
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/workflow-processor/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,oEAAkD;AAClD,qEAAmD;AACnD,2DAAyC;AACzC,+DAA6C;AAC7C,gEAA8C;AAC9C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/workflow-processor/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,oEAAkD;AAClD,qEAAmD;AACnD,2DAAyC;AACzC,+DAA6C;AAC7C,gEAA8C;AAC9C,+DAA6C;AAC7C,kEAAgD;AAChD,0EAAwD"}
|
|
@@ -31,7 +31,7 @@ let NamespaceProcessorService = NamespaceProcessorService_1 = class NamespacePro
|
|
|
31
31
|
clone.namespace = await this.namespacesService.create({
|
|
32
32
|
name: props.label ?? 'Group',
|
|
33
33
|
model: context.model,
|
|
34
|
-
|
|
34
|
+
pipelineId: context.pipelineId,
|
|
35
35
|
workspaceId: context.workspaceId,
|
|
36
36
|
parent: context.namespace,
|
|
37
37
|
metadata: props.meta ?? {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace-processor.service.js","sourceRoot":"","sources":["../../../../src/modules/workflow-processor/services/namespace-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwE;AACxE,yCAA8C;AAC9C,mDAAsD;AAI/C,IAAM,yBAAyB,iCAA/B,MAAM,yBAAyB;IAM1B;IAEA;IAPO,MAAM,GAAG,IAAI,eAAM,CAAC,2BAAyB,CAAC,IAAI,CAAC,CAAC;IACrE,IAAI,GAAY,KAAK,CAAC;IAEtB,YAEU,cAA8B,EAE9B,iBAAoC;QAFpC,mBAAc,GAAd,cAAc,CAAgB;QAE9B,sBAAiB,GAAjB,iBAAiB,CAAmB;IAC3C,CAAC;IAEJ,KAAK,CAAC,eAAe,CACnB,OAAyB,EACzB,KAAyB;QAEzB,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACpD,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,OAAO;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,
|
|
1
|
+
{"version":3,"file":"namespace-processor.service.js","sourceRoot":"","sources":["../../../../src/modules/workflow-processor/services/namespace-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwE;AACxE,yCAA8C;AAC9C,mDAAsD;AAI/C,IAAM,yBAAyB,iCAA/B,MAAM,yBAAyB;IAM1B;IAEA;IAPO,MAAM,GAAG,IAAI,eAAM,CAAC,2BAAyB,CAAC,IAAI,CAAC,CAAC;IACrE,IAAI,GAAY,KAAK,CAAC;IAEtB,YAEU,cAA8B,EAE9B,iBAAoC;QAFpC,mBAAc,GAAd,cAAc,CAAgB;QAE9B,sBAAiB,GAAjB,iBAAiB,CAAmB;IAC3C,CAAC;IAEJ,KAAK,CAAC,eAAe,CACnB,OAAyB,EACzB,KAAyB;QAEzB,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChD,KAAK,CAAC,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACpD,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,OAAO;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,MAAM,EAAE,OAAO,CAAC,SAAS;YACzB,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;YAC1B,SAAS,EAAE,OAAO,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAExC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,aAA+B,EAC/B,aAAiC;QAEjC,MAAM,oBAAoB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5E,MAAM,uBAAuB,GAC3B,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAC7C,aAAa,CAAC,SAAS,CAAC,EAAE,CAC3B,CAAC;QACJ,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,MAAM,CACvD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAClD,CAAC;QACF,IAAI,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACxD,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,WAAW,kBAAkB,CAAC,MAAM,uBAAuB,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAA;AAjDY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;IAMR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,uBAAc,CAAC,CAAC,CAAA;IAExC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,+BAAiB,CAAC,CAAC,CAAA;qCADpB,uBAAc;QAEX,+BAAiB;GARnC,yBAAyB,CAiDrC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ConfigurationService } from '../../configuration';
|
|
2
|
+
import { NamespacesService, PipelineService } from '../../persistence';
|
|
3
|
+
import { WorkflowProcessorService } from './workflow-processor.service';
|
|
4
|
+
import { ContextService } from '../../common';
|
|
5
|
+
import { ContextInterface, ProcessRunInterface } from '@loopstack/shared';
|
|
6
|
+
export declare class PipelineProcessorService {
|
|
7
|
+
private loopConfigService;
|
|
8
|
+
private pipelineService;
|
|
9
|
+
private workflowProcessorService;
|
|
10
|
+
private namespacesService;
|
|
11
|
+
private contextService;
|
|
12
|
+
private readonly logger;
|
|
13
|
+
constructor(loopConfigService: ConfigurationService, pipelineService: PipelineService, workflowProcessorService: WorkflowProcessorService, namespacesService: NamespacesService, contextService: ContextService);
|
|
14
|
+
processPipeline(payload: ProcessRunInterface): Promise<ContextInterface>;
|
|
15
|
+
}
|
|
@@ -8,54 +8,54 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var
|
|
11
|
+
var PipelineProcessorService_1;
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.
|
|
13
|
+
exports.PipelineProcessorService = void 0;
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
15
|
const configuration_1 = require("../../configuration");
|
|
16
16
|
const persistence_1 = require("../../persistence");
|
|
17
17
|
const workflow_processor_service_1 = require("./workflow-processor.service");
|
|
18
18
|
const common_2 = require("../../common");
|
|
19
|
-
let
|
|
19
|
+
let PipelineProcessorService = PipelineProcessorService_1 = class PipelineProcessorService {
|
|
20
20
|
loopConfigService;
|
|
21
|
-
|
|
21
|
+
pipelineService;
|
|
22
22
|
workflowProcessorService;
|
|
23
23
|
namespacesService;
|
|
24
24
|
contextService;
|
|
25
|
-
logger = new common_1.Logger(
|
|
26
|
-
constructor(loopConfigService,
|
|
25
|
+
logger = new common_1.Logger(PipelineProcessorService_1.name);
|
|
26
|
+
constructor(loopConfigService, pipelineService, workflowProcessorService, namespacesService, contextService) {
|
|
27
27
|
this.loopConfigService = loopConfigService;
|
|
28
|
-
this.
|
|
28
|
+
this.pipelineService = pipelineService;
|
|
29
29
|
this.workflowProcessorService = workflowProcessorService;
|
|
30
30
|
this.namespacesService = namespacesService;
|
|
31
31
|
this.contextService = contextService;
|
|
32
32
|
}
|
|
33
|
-
async
|
|
34
|
-
this.logger.debug(`Processing
|
|
35
|
-
const
|
|
36
|
-
if (!
|
|
37
|
-
throw new Error(`
|
|
33
|
+
async processPipeline(payload) {
|
|
34
|
+
this.logger.debug(`Processing pipeline: ${payload.pipelineId}`);
|
|
35
|
+
const pipeline = await this.pipelineService.getPipeline(payload.pipelineId, payload.userId);
|
|
36
|
+
if (!pipeline) {
|
|
37
|
+
throw new Error(`pipeline "${payload.pipelineId}" not found.`);
|
|
38
38
|
}
|
|
39
|
-
const
|
|
40
|
-
if (!
|
|
41
|
-
throw new Error(`
|
|
39
|
+
const pipelineConfig = this.loopConfigService.get('pipelines', pipeline.model);
|
|
40
|
+
if (!pipelineConfig) {
|
|
41
|
+
throw new Error(`pipeline model "${pipeline.model}" not found.`);
|
|
42
42
|
}
|
|
43
|
-
const namespace = await this.namespacesService.createRootNamespace(
|
|
44
|
-
const context = this.contextService.createRootContext(
|
|
45
|
-
labels: [...
|
|
43
|
+
const namespace = await this.namespacesService.createRootNamespace(pipeline);
|
|
44
|
+
const context = this.contextService.createRootContext(pipeline, {
|
|
45
|
+
labels: [...pipeline.labels, namespace.name],
|
|
46
46
|
namespace: namespace,
|
|
47
47
|
transition: payload.transition,
|
|
48
48
|
});
|
|
49
|
-
return this.workflowProcessorService.start(
|
|
49
|
+
return this.workflowProcessorService.start(pipelineConfig.entrypoint, context);
|
|
50
50
|
}
|
|
51
51
|
};
|
|
52
|
-
exports.
|
|
53
|
-
exports.
|
|
52
|
+
exports.PipelineProcessorService = PipelineProcessorService;
|
|
53
|
+
exports.PipelineProcessorService = PipelineProcessorService = PipelineProcessorService_1 = __decorate([
|
|
54
54
|
(0, common_1.Injectable)(),
|
|
55
55
|
__metadata("design:paramtypes", [configuration_1.ConfigurationService,
|
|
56
|
-
persistence_1.
|
|
56
|
+
persistence_1.PipelineService,
|
|
57
57
|
workflow_processor_service_1.WorkflowProcessorService,
|
|
58
58
|
persistence_1.NamespacesService,
|
|
59
59
|
common_2.ContextService])
|
|
60
|
-
],
|
|
61
|
-
//# sourceMappingURL=
|
|
60
|
+
], PipelineProcessorService);
|
|
61
|
+
//# sourceMappingURL=pipeline-processor.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline-processor.service.js","sourceRoot":"","sources":["../../../../src/modules/workflow-processor/services/pipeline-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,uDAA2D;AAC3D,mDAAuE;AACvE,6EAAwE;AACxE,yCAA8C;AAQvC,IAAM,wBAAwB,gCAA9B,MAAM,wBAAwB;IAGzB;IACA;IACA;IACA;IACA;IANO,MAAM,GAAG,IAAI,eAAM,CAAC,0BAAwB,CAAC,IAAI,CAAC,CAAC;IACpE,YACU,iBAAuC,EACvC,eAAgC,EAChC,wBAAkD,EAClD,iBAAoC,EACpC,cAA8B;QAJ9B,sBAAiB,GAAjB,iBAAiB,CAAsB;QACvC,oBAAe,GAAf,eAAe,CAAiB;QAChC,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,mBAAc,GAAd,cAAc,CAAgB;IACrC,CAAC;IAEJ,KAAK,CAAC,eAAe,CACnB,OAA4B;QAE5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAEhE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CACrD,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,MAAM,CACf,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,aAAa,OAAO,CAAC,UAAU,cAAc,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAC/C,WAAW,EACX,QAAQ,CAAC,KAAK,CACf,CAAC;QACF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,KAAK,cAAc,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,EAAE;YAC9D,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC;YAC5C,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,CACxC,cAAc,CAAC,UAAU,EACzB,OAAO,CACR,CAAC;IACJ,CAAC;CACF,CAAA;AA3CY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;qCAIkB,oCAAoB;QACtB,6BAAe;QACN,qDAAwB;QAC/B,+BAAiB;QACpB,uBAAc;GAP7B,wBAAwB,CA2CpC"}
|
|
@@ -7,14 +7,14 @@ export declare class StateMachineConfigService {
|
|
|
7
7
|
extends?: string | undefined;
|
|
8
8
|
transitions?: {
|
|
9
9
|
name: string;
|
|
10
|
-
from
|
|
11
|
-
to
|
|
10
|
+
from?: string | string[] | undefined;
|
|
11
|
+
to?: string | string[] | undefined;
|
|
12
12
|
when?: string | undefined;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
call?: {
|
|
14
|
+
tool: string;
|
|
15
|
+
arguments?: any;
|
|
16
|
+
exportAs?: string | undefined;
|
|
17
|
+
}[] | undefined;
|
|
18
18
|
}[] | undefined;
|
|
19
19
|
};
|
|
20
20
|
getConfig(stateMachine: StateMachineType): StateMachineType;
|
|
@@ -30,22 +30,18 @@ let StateMachineConfigService = class StateMachineConfigService {
|
|
|
30
30
|
}
|
|
31
31
|
getConfig(stateMachine) {
|
|
32
32
|
let transitions = stateMachine.transitions ?? [];
|
|
33
|
-
let handlers = stateMachine.handlers ?? [];
|
|
34
33
|
if (stateMachine.extends) {
|
|
35
34
|
const parentStateMachine = this.getTemplate(stateMachine.extends);
|
|
36
35
|
transitions = lodash_1.default.unionBy(transitions, parentStateMachine?.transitions ?? [], 'name');
|
|
37
|
-
handlers = [...(parentStateMachine?.handlers ?? []), ...handlers];
|
|
38
36
|
return {
|
|
39
37
|
...parentStateMachine,
|
|
40
38
|
...stateMachine,
|
|
41
39
|
transitions,
|
|
42
|
-
handlers,
|
|
43
40
|
};
|
|
44
41
|
}
|
|
45
42
|
return {
|
|
46
43
|
...stateMachine,
|
|
47
44
|
transitions,
|
|
48
|
-
handlers,
|
|
49
45
|
};
|
|
50
46
|
}
|
|
51
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine-config.service.js","sourceRoot":"","sources":["../../../../src/modules/workflow-processor/services/state-machine-config.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oDAAuB;AAMvB,uDAA2D;AAGpD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAChB;IAApB,YAAoB,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IAE/D,WAAW,CAAC,IAAY;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAC7C,mBAAmB,EACnB,IAAI,CACL,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,kBAAkB,CAC3D,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,CAAC,YAA8B;QACtC,IAAI,WAAW,GAA6B,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"state-machine-config.service.js","sourceRoot":"","sources":["../../../../src/modules/workflow-processor/services/state-machine-config.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,oDAAuB;AAMvB,uDAA2D;AAGpD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAChB;IAApB,YAAoB,iBAAuC;QAAvC,sBAAiB,GAAjB,iBAAiB,CAAsB;IAAG,CAAC;IAE/D,WAAW,CAAC,IAAY;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAC7C,mBAAmB,EACnB,IAAI,CACL,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,oCAAoC,IAAI,kBAAkB,CAC3D,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,SAAS,CAAC,YAA8B;QACtC,IAAI,WAAW,GAA6B,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC;QAE3E,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAClE,WAAW,GAAG,gBAAC,CAAC,OAAO,CACrB,WAAW,EACX,kBAAkB,EAAE,WAAW,IAAI,EAAE,EACrC,MAAM,CACP,CAAC;YAEF,OAAO;gBACL,GAAG,kBAAkB;gBACrB,GAAG,YAAY;gBACf,WAAW;aACZ,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,YAAY;YACf,WAAW;SACZ,CAAC;IACJ,CAAC;CACF,CAAA;AAxCY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,mBAAU,GAAE;qCAE4B,oCAAoB;GADhD,yBAAyB,CAwCrC"}
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import { StateMachineConfigService } from './state-machine-config.service';
|
|
2
|
-
import { ContextInterface, HistoryTransition, TransitionInfoInterface, TransitionPayloadInterface, WorkflowEntity, WorkflowStateMachineType, WorkflowTransitionType
|
|
2
|
+
import { ContextInterface, HistoryTransition, TransitionInfoInterface, TransitionPayloadInterface, WorkflowEntity, WorkflowStateMachineType, WorkflowTransitionType } from '@loopstack/shared';
|
|
3
3
|
import { ToolExecutionService } from './tool-execution.service';
|
|
4
4
|
import { WorkflowService } from '../../persistence';
|
|
5
5
|
import { StateMachineValidatorRegistry } from './state-machine-validator.registry';
|
|
6
6
|
import { ValueParserService } from '../../common';
|
|
7
7
|
import { StateMachineValidatorResultInterface } from '@loopstack/shared/dist/interfaces/state-machine-validator-result.interface';
|
|
8
8
|
import { StateMachineInfoDto } from '@loopstack/shared/dist/dto/state-machine-info.dto';
|
|
9
|
+
import { TemplateExpressionEvaluatorService } from './template-expression-evaluator.service';
|
|
9
10
|
export declare class StateMachineProcessorService {
|
|
10
11
|
private readonly workflowConfigService;
|
|
11
12
|
private readonly workflowService;
|
|
12
13
|
private readonly toolExecutionService;
|
|
13
14
|
private readonly stateMachineValidatorRegistry;
|
|
14
15
|
private readonly configValueParserService;
|
|
16
|
+
private readonly templateExpressionEvaluatorService;
|
|
15
17
|
private readonly logger;
|
|
16
|
-
constructor(workflowConfigService: StateMachineConfigService, workflowService: WorkflowService, toolExecutionService: ToolExecutionService, stateMachineValidatorRegistry: StateMachineValidatorRegistry, configValueParserService: ValueParserService);
|
|
18
|
+
constructor(workflowConfigService: StateMachineConfigService, workflowService: WorkflowService, toolExecutionService: ToolExecutionService, stateMachineValidatorRegistry: StateMachineValidatorRegistry, configValueParserService: ValueParserService, templateExpressionEvaluatorService: TemplateExpressionEvaluatorService);
|
|
17
19
|
canSkipRun(workflow: WorkflowEntity, options: Record<string, any> | undefined): StateMachineValidatorResultInterface;
|
|
18
20
|
processStateMachine(context: ContextInterface, workflow: WorkflowEntity, config: WorkflowStateMachineType): Promise<WorkflowEntity>;
|
|
19
21
|
updateWorkflowState(workflow: WorkflowEntity, historyItem: HistoryTransition): void;
|
|
@@ -21,7 +23,6 @@ export declare class StateMachineProcessorService {
|
|
|
21
23
|
initStateMachine(workflow: WorkflowEntity, stateMachineInfo: StateMachineInfoDto): Promise<WorkflowEntity>;
|
|
22
24
|
validateTransition(nextTransition: TransitionInfoInterface, historyItem: HistoryTransition): void;
|
|
23
25
|
getNextTransition(workflow: WorkflowEntity, pendingTransition: TransitionPayloadInterface | undefined): TransitionInfoInterface | null;
|
|
24
|
-
addTransitionData(workflow: WorkflowEntity, transition: string, tool: string, alias: string | undefined, result: ToolResult | undefined): WorkflowEntity;
|
|
25
26
|
commitWorkflowTransition(workflow: WorkflowEntity, nextPlace: string | undefined, nextTransition: TransitionInfoInterface): void;
|
|
26
27
|
loopStateMachine(beforeContext: ContextInterface, workflow: WorkflowEntity, config: WorkflowStateMachineType, stateMachineInfo: StateMachineInfoDto): Promise<WorkflowEntity>;
|
|
27
28
|
}
|
|
@@ -19,19 +19,23 @@ const persistence_1 = require("../../persistence");
|
|
|
19
19
|
const state_machine_validator_registry_1 = require("./state-machine-validator.registry");
|
|
20
20
|
const common_2 = require("../../common");
|
|
21
21
|
const state_machine_info_dto_1 = require("@loopstack/shared/dist/dto/state-machine-info.dto");
|
|
22
|
+
const template_expression_evaluator_service_1 = require("./template-expression-evaluator.service");
|
|
23
|
+
const lodash_1 = require("lodash");
|
|
22
24
|
let StateMachineProcessorService = StateMachineProcessorService_1 = class StateMachineProcessorService {
|
|
23
25
|
workflowConfigService;
|
|
24
26
|
workflowService;
|
|
25
27
|
toolExecutionService;
|
|
26
28
|
stateMachineValidatorRegistry;
|
|
27
29
|
configValueParserService;
|
|
30
|
+
templateExpressionEvaluatorService;
|
|
28
31
|
logger = new common_1.Logger(StateMachineProcessorService_1.name);
|
|
29
|
-
constructor(workflowConfigService, workflowService, toolExecutionService, stateMachineValidatorRegistry, configValueParserService) {
|
|
32
|
+
constructor(workflowConfigService, workflowService, toolExecutionService, stateMachineValidatorRegistry, configValueParserService, templateExpressionEvaluatorService) {
|
|
30
33
|
this.workflowConfigService = workflowConfigService;
|
|
31
34
|
this.workflowService = workflowService;
|
|
32
35
|
this.toolExecutionService = toolExecutionService;
|
|
33
36
|
this.stateMachineValidatorRegistry = stateMachineValidatorRegistry;
|
|
34
37
|
this.configValueParserService = configValueParserService;
|
|
38
|
+
this.templateExpressionEvaluatorService = templateExpressionEvaluatorService;
|
|
35
39
|
}
|
|
36
40
|
canSkipRun(workflow, options) {
|
|
37
41
|
const validationResults = this.stateMachineValidatorRegistry
|
|
@@ -74,8 +78,8 @@ let StateMachineProcessorService = StateMachineProcessorService_1 = class StateM
|
|
|
74
78
|
]);
|
|
75
79
|
}
|
|
76
80
|
updateWorkflowAvailableTransitions(workflow, transitions) {
|
|
77
|
-
workflow.placeInfo = new shared_1.WorkflowStatePlaceInfoDto(transitions.filter((item) => item.from
|
|
78
|
-
(workflow.place && item.from
|
|
81
|
+
workflow.placeInfo = new shared_1.WorkflowStatePlaceInfoDto(transitions.filter((item) => item.from?.includes('*') ||
|
|
82
|
+
(workflow.place && item.from?.includes(workflow.place))));
|
|
79
83
|
}
|
|
80
84
|
async initStateMachine(workflow, stateMachineInfo) {
|
|
81
85
|
workflow.isWorking = true;
|
|
@@ -105,52 +109,22 @@ let StateMachineProcessorService = StateMachineProcessorService_1 = class StateM
|
|
|
105
109
|
}
|
|
106
110
|
}
|
|
107
111
|
getNextTransition(workflow, pendingTransition) {
|
|
108
|
-
let transitionPayload = null;
|
|
109
|
-
let transitionMeta = {};
|
|
110
112
|
let nextTransition;
|
|
111
113
|
if (pendingTransition) {
|
|
112
114
|
nextTransition = workflow.placeInfo?.availableTransitions.find((item) => item.name === pendingTransition.name);
|
|
113
|
-
if (nextTransition) {
|
|
114
|
-
transitionPayload = pendingTransition.payload;
|
|
115
|
-
transitionMeta = pendingTransition.meta;
|
|
116
|
-
}
|
|
117
115
|
}
|
|
118
116
|
if (!nextTransition) {
|
|
119
117
|
nextTransition = workflow.placeInfo?.availableTransitions.find((item) => undefined === item.when || item.when === 'onEntry');
|
|
120
118
|
}
|
|
121
|
-
if (!nextTransition) {
|
|
119
|
+
if (!nextTransition || !nextTransition.to) {
|
|
122
120
|
return null;
|
|
123
121
|
}
|
|
124
122
|
return {
|
|
125
123
|
transition: nextTransition.name,
|
|
126
124
|
from: workflow.place,
|
|
127
125
|
to: nextTransition.to,
|
|
128
|
-
payload: transitionPayload,
|
|
129
|
-
meta: transitionMeta,
|
|
130
126
|
};
|
|
131
127
|
}
|
|
132
|
-
addTransitionData(workflow, transition, tool, alias, result) {
|
|
133
|
-
if (result?.workflow) {
|
|
134
|
-
workflow = result?.workflow;
|
|
135
|
-
}
|
|
136
|
-
if (result?.data) {
|
|
137
|
-
if (!workflow.currData) {
|
|
138
|
-
workflow.currData = {};
|
|
139
|
-
}
|
|
140
|
-
if (!workflow.currData[transition]) {
|
|
141
|
-
workflow.currData[transition] = {};
|
|
142
|
-
}
|
|
143
|
-
workflow.currData[transition][tool] = result.data;
|
|
144
|
-
}
|
|
145
|
-
if (alias) {
|
|
146
|
-
const currAlias = workflow.aliasData ?? {};
|
|
147
|
-
workflow.aliasData = {
|
|
148
|
-
...currAlias,
|
|
149
|
-
[alias]: [transition, tool],
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
return workflow;
|
|
153
|
-
}
|
|
154
128
|
commitWorkflowTransition(workflow, nextPlace, nextTransition) {
|
|
155
129
|
const place = nextPlace ??
|
|
156
130
|
(Array.isArray(nextTransition.to)
|
|
@@ -168,46 +142,49 @@ let StateMachineProcessorService = StateMachineProcessorService_1 = class StateM
|
|
|
168
142
|
let context = beforeContext;
|
|
169
143
|
workflow = await this.initStateMachine(workflow, stateMachineInfo);
|
|
170
144
|
const workflowConfig = this.workflowConfigService.getConfig(config);
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
}
|
|
174
|
-
workflowContext.history =
|
|
175
|
-
workflow.history?.history.map((item) => item.transition) ?? [];
|
|
176
|
-
const evaluatedTransitions = this.configValueParserService.evalWithContextAndInfo(workflowConfig.transitions, { context, workflow: workflowContext });
|
|
177
|
-
this.updateWorkflowAvailableTransitions(workflow, evaluatedTransitions);
|
|
178
|
-
await this.workflowService.save(workflow);
|
|
145
|
+
if (!workflowConfig.transitions) {
|
|
146
|
+
throw new Error(`Workflow ${workflow.name} does not have any transitions.`);
|
|
147
|
+
}
|
|
179
148
|
try {
|
|
180
149
|
const pendingTransition = [stateMachineInfo.pendingTransition];
|
|
181
150
|
while (true) {
|
|
151
|
+
const meta = {
|
|
152
|
+
history: workflow.history?.history.map((item) => item.transition) ?? [],
|
|
153
|
+
payload: pendingTransition.shift()?.payload ?? null,
|
|
154
|
+
};
|
|
155
|
+
const transitionsWithoutCallProperty = workflowConfig.transitions.map((transition) => (0, lodash_1.omit)(transition, ['call']));
|
|
156
|
+
const evaluatedTransitions = this.templateExpressionEvaluatorService.evaluate(transitionsWithoutCallProperty, stateMachineInfo.options, context, workflow, meta);
|
|
157
|
+
this.updateWorkflowAvailableTransitions(workflow, evaluatedTransitions);
|
|
158
|
+
await this.workflowService.save(workflow);
|
|
182
159
|
const nextTransition = this.getNextTransition(workflow, pendingTransition.shift());
|
|
183
160
|
if (!nextTransition) {
|
|
184
161
|
this.logger.debug('stop');
|
|
185
162
|
break;
|
|
186
163
|
}
|
|
187
164
|
this.logger.debug(`Applying next transition: ${nextTransition.transition}`);
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
165
|
+
meta.transition = nextTransition.transition;
|
|
166
|
+
meta.from = nextTransition.from;
|
|
167
|
+
meta.to = nextTransition.to;
|
|
168
|
+
const toolCalls = workflowConfig.transitions
|
|
169
|
+
.find((transition) => transition.name === meta.transition)?.call;
|
|
192
170
|
let nextPlace = undefined;
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
await this.
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
171
|
+
if (toolCalls) {
|
|
172
|
+
let index = 0;
|
|
173
|
+
for (const toolCall of toolCalls) {
|
|
174
|
+
index++;
|
|
175
|
+
this.logger.debug(`Call tool ${index} (${toolCall.tool}) on transition ${meta.transition}`);
|
|
176
|
+
const evaluatedToolCall = this.templateExpressionEvaluatorService.evaluate(toolCall, stateMachineInfo.options, context, workflow, meta);
|
|
177
|
+
const result = await this.toolExecutionService.applyTool(evaluatedToolCall, workflow, context, meta);
|
|
178
|
+
workflow = this.toolExecutionService.commitServiceCallResult(workflow, meta.transition, toolCall.tool, toolCall.exportAs, result);
|
|
179
|
+
if (result?.persist) {
|
|
180
|
+
await this.workflowService.save(workflow);
|
|
181
|
+
}
|
|
182
|
+
if (result?.place) {
|
|
183
|
+
nextPlace = result?.place;
|
|
184
|
+
}
|
|
203
185
|
}
|
|
204
186
|
}
|
|
205
187
|
this.commitWorkflowTransition(workflow, nextPlace, nextTransition);
|
|
206
|
-
workflowContext.history =
|
|
207
|
-
workflow.history?.history.map((item) => item.transition) ?? [];
|
|
208
|
-
const evaluatedTransitions = this.configValueParserService.evalWithContextAndInfo(workflowConfig.transitions, { context, workflow: workflowContext });
|
|
209
|
-
this.updateWorkflowAvailableTransitions(workflow, evaluatedTransitions);
|
|
210
|
-
await this.workflowService.save(workflow);
|
|
211
188
|
}
|
|
212
189
|
}
|
|
213
190
|
catch (e) {
|
|
@@ -226,6 +203,7 @@ exports.StateMachineProcessorService = StateMachineProcessorService = StateMachi
|
|
|
226
203
|
persistence_1.WorkflowService,
|
|
227
204
|
tool_execution_service_1.ToolExecutionService,
|
|
228
205
|
state_machine_validator_registry_1.StateMachineValidatorRegistry,
|
|
229
|
-
common_2.ValueParserService
|
|
206
|
+
common_2.ValueParserService,
|
|
207
|
+
template_expression_evaluator_service_1.TemplateExpressionEvaluatorService])
|
|
230
208
|
], StateMachineProcessorService);
|
|
231
209
|
//# sourceMappingURL=state-machine-processor.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine-processor.service.js","sourceRoot":"","sources":["../../../../src/modules/workflow-processor/services/state-machine-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,iFAA2E;AAC3E,
|
|
1
|
+
{"version":3,"file":"state-machine-processor.service.js","sourceRoot":"","sources":["../../../../src/modules/workflow-processor/services/state-machine-processor.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ContextInterface, TransitionMetadataInterface, WorkflowEntity } from '@loopstack/shared';
|
|
2
|
+
import { ValueParserService } from '../../common';
|
|
3
|
+
import { ConfigurationService } from '../../configuration';
|
|
4
|
+
export declare class TemplateExpressionEvaluatorService {
|
|
5
|
+
private configurationService;
|
|
6
|
+
private valueParserService;
|
|
7
|
+
constructor(configurationService: ConfigurationService, valueParserService: ValueParserService);
|
|
8
|
+
evaluate<T>(subject: any, args: any, context: ContextInterface, workflow: WorkflowEntity | undefined, meta: TransitionMetadataInterface): T;
|
|
9
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.TemplateExpressionEvaluatorService = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const common_2 = require("../../common");
|
|
15
|
+
const configuration_1 = require("../../configuration");
|
|
16
|
+
let TemplateExpressionEvaluatorService = class TemplateExpressionEvaluatorService {
|
|
17
|
+
configurationService;
|
|
18
|
+
valueParserService;
|
|
19
|
+
constructor(configurationService, valueParserService) {
|
|
20
|
+
this.configurationService = configurationService;
|
|
21
|
+
this.valueParserService = valueParserService;
|
|
22
|
+
}
|
|
23
|
+
evaluate(subject, args, context, workflow, meta) {
|
|
24
|
+
const aliasVariables = workflow?.aliasData && workflow.currData
|
|
25
|
+
? this.valueParserService.prepareAliasVariables(workflow.aliasData, workflow.currData)
|
|
26
|
+
: {};
|
|
27
|
+
const useTemplate = (name, variables) => {
|
|
28
|
+
const snippet = this.configurationService.get('snippets', name);
|
|
29
|
+
if (!snippet) {
|
|
30
|
+
return '';
|
|
31
|
+
}
|
|
32
|
+
return this.valueParserService.evalWithContextVariables(snippet.value, variables);
|
|
33
|
+
};
|
|
34
|
+
return this.valueParserService.evalWithContextVariables(subject, {
|
|
35
|
+
...aliasVariables,
|
|
36
|
+
useTemplate,
|
|
37
|
+
context,
|
|
38
|
+
data: workflow?.currData,
|
|
39
|
+
metadata: meta,
|
|
40
|
+
arguments: args
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
exports.TemplateExpressionEvaluatorService = TemplateExpressionEvaluatorService;
|
|
45
|
+
exports.TemplateExpressionEvaluatorService = TemplateExpressionEvaluatorService = __decorate([
|
|
46
|
+
(0, common_1.Injectable)(),
|
|
47
|
+
__metadata("design:paramtypes", [configuration_1.ConfigurationService,
|
|
48
|
+
common_2.ValueParserService])
|
|
49
|
+
], TemplateExpressionEvaluatorService);
|
|
50
|
+
//# sourceMappingURL=template-expression-evaluator.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-expression-evaluator.service.js","sourceRoot":"","sources":["../../../../src/modules/workflow-processor/services/template-expression-evaluator.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAM5C,yCAAkD;AAClD,uDAA2D;AAGpD,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAGnC;IACA;IAFV,YACU,oBAA0C,EAC1C,kBAAsC;QADtC,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,uBAAkB,GAAlB,kBAAkB,CAAoB;IAC7C,CAAC;IAEJ,QAAQ,CACN,OAAY,EACZ,IAAS,EACT,OAAyB,EACzB,QAAoC,EACpC,IAAiC;QAGjC,MAAM,cAAc,GAClB,QAAQ,EAAE,SAAS,IAAI,QAAQ,CAAC,QAAQ;YACtC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAC7C,QAAQ,CAAC,SAAS,EAClB,QAAQ,CAAC,QAAQ,CAClB;YACD,CAAC,CAAC,EAAE,CAAC;QAET,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,SAAc,EAAU,EAAE;YAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAC3C,UAAU,EACV,IAAI,CACL,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CACrD,OAAO,CAAC,KAAK,EACb,SAAS,CACV,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,kBAAkB,CAAC,wBAAwB,CACrD,OAAO,EACP;YACE,GAAG,cAAc;YACjB,WAAW;YACX,OAAO;YACP,IAAI,EAAE,QAAQ,EAAE,QAAQ;YACxB,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;SAChB,CACF,CAAC;IACJ,CAAC;CACF,CAAA;AAlDY,gFAAkC;6CAAlC,kCAAkC;IAD9C,IAAA,mBAAU,GAAE;qCAIqB,oCAAoB;QACtB,2BAAkB;GAJrC,kCAAkC,CAkD9C"}
|
|
@@ -1,20 +1,27 @@
|
|
|
1
|
-
import { ConfigurationService,
|
|
2
|
-
import { ContextInterface,
|
|
1
|
+
import { ConfigurationService, ServiceRegistry } from '../../configuration';
|
|
2
|
+
import { ContextInterface, ServiceCallResult, ToolCallType, TransitionMetadataInterface } from '@loopstack/shared';
|
|
3
3
|
import { WorkflowEntity } from '@loopstack/shared';
|
|
4
|
-
import { ValueParserService } from '../../index';
|
|
5
4
|
import { ToolSchemaValidatorService } from './tool-schema-validator.service';
|
|
5
|
+
import { TemplateExpressionEvaluatorService } from './template-expression-evaluator.service';
|
|
6
|
+
import { SchemaValidatorService } from '../../common';
|
|
6
7
|
export declare class ToolExecutionService {
|
|
7
|
-
private
|
|
8
|
-
private
|
|
9
|
-
private toolRegistry;
|
|
8
|
+
private configurationService;
|
|
9
|
+
private serviceRegistry;
|
|
10
10
|
private toolSchemaValidatorService;
|
|
11
|
+
private templateExpressionEvaluatorService;
|
|
12
|
+
private schemaValidatorService;
|
|
11
13
|
private logger;
|
|
12
|
-
constructor(
|
|
14
|
+
constructor(configurationService: ConfigurationService, serviceRegistry: ServiceRegistry, toolSchemaValidatorService: ToolSchemaValidatorService, templateExpressionEvaluatorService: TemplateExpressionEvaluatorService, schemaValidatorService: SchemaValidatorService);
|
|
13
15
|
getToolConfig(toolName: string): {
|
|
14
16
|
name: string;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
execute: {
|
|
18
|
+
service: string;
|
|
19
|
+
arguments?: any;
|
|
20
|
+
};
|
|
21
|
+
description?: string | undefined;
|
|
22
|
+
parameters?: any;
|
|
18
23
|
};
|
|
19
|
-
|
|
24
|
+
callService(name: string, args: any, workflow?: WorkflowEntity, context?: ContextInterface, meta?: TransitionMetadataInterface): Promise<ServiceCallResult>;
|
|
25
|
+
applyTool(handler: ToolCallType, workflow: WorkflowEntity | undefined, context: ContextInterface, meta: TransitionMetadataInterface): Promise<ServiceCallResult>;
|
|
26
|
+
commitServiceCallResult(workflow: WorkflowEntity, transition: string, tool: string, alias: string | undefined, result: ServiceCallResult | undefined): WorkflowEntity;
|
|
20
27
|
}
|