@loopstack/core 0.4.1 → 0.4.2
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 +8 -0
- package/dist/modules/workflow-processor/services/state-machine-processor.service.d.ts +1 -5
- package/dist/modules/workflow-processor/services/state-machine-processor.service.js +5 -15
- package/dist/modules/workflow-processor/services/state-machine-processor.service.js.map +1 -1
- package/dist/modules/workflow-processor/services/workflow-processor.service.d.ts +7 -3
- package/dist/modules/workflow-processor/services/workflow-processor.service.js +16 -6
- package/dist/modules/workflow-processor/services/workflow-processor.service.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,23 +1,19 @@
|
|
|
1
|
-
import { StateMachineConfigService } from './state-machine-config.service';
|
|
2
1
|
import { ConfigElement, ContextInterface, HistoryTransition, HandlerCallResult, ToolCallType, TransitionInfoInterface, TransitionPayloadInterface, WorkflowEntity, WorkflowTransitionType, WorkflowType } from '@loopstack/shared';
|
|
3
2
|
import { ToolExecutionService } from './tool-execution.service';
|
|
4
3
|
import { WorkflowService } from '../../persistence';
|
|
5
4
|
import { StateMachineValidatorRegistry } from './state-machine-validator.registry';
|
|
6
|
-
import { ContextService } from '../../common';
|
|
7
5
|
import { StateMachineValidatorResultInterface } from '@loopstack/shared/dist/interfaces/state-machine-validator-result.interface';
|
|
8
6
|
import { StateMachineInfoDto } from '@loopstack/shared/dist/dto/state-machine-info.dto';
|
|
9
7
|
import { TemplateExpressionEvaluatorService } from './template-expression-evaluator.service';
|
|
10
8
|
import { WorkflowContextService } from './workflow-context.service';
|
|
11
9
|
export declare class StateMachineProcessorService {
|
|
12
|
-
private readonly workflowConfigService;
|
|
13
10
|
private readonly workflowService;
|
|
14
11
|
private readonly toolExecutionService;
|
|
15
12
|
private readonly stateMachineValidatorRegistry;
|
|
16
|
-
private readonly contextService;
|
|
17
13
|
private readonly templateExpressionEvaluatorService;
|
|
18
14
|
private readonly workflowContextService;
|
|
19
15
|
private readonly logger;
|
|
20
|
-
constructor(
|
|
16
|
+
constructor(workflowService: WorkflowService, toolExecutionService: ToolExecutionService, stateMachineValidatorRegistry: StateMachineValidatorRegistry, templateExpressionEvaluatorService: TemplateExpressionEvaluatorService, workflowContextService: WorkflowContextService);
|
|
21
17
|
canSkipRun(workflow: WorkflowEntity, args: Record<string, any> | undefined): StateMachineValidatorResultInterface;
|
|
22
18
|
processStateMachine(context: ContextInterface, workflow: WorkflowEntity, configElement: ConfigElement<WorkflowType>): Promise<WorkflowEntity>;
|
|
23
19
|
updateWorkflowState(workflow: WorkflowEntity, historyItem: HistoryTransition): void;
|
|
@@ -12,12 +12,10 @@ var StateMachineProcessorService_1;
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
exports.StateMachineProcessorService = void 0;
|
|
14
14
|
const common_1 = require("@nestjs/common");
|
|
15
|
-
const state_machine_config_service_1 = require("./state-machine-config.service");
|
|
16
15
|
const shared_1 = require("@loopstack/shared");
|
|
17
16
|
const tool_execution_service_1 = require("./tool-execution.service");
|
|
18
17
|
const persistence_1 = require("../../persistence");
|
|
19
18
|
const state_machine_validator_registry_1 = require("./state-machine-validator.registry");
|
|
20
|
-
const common_2 = require("../../common");
|
|
21
19
|
const state_machine_info_dto_1 = require("@loopstack/shared/dist/dto/state-machine-info.dto");
|
|
22
20
|
const template_expression_evaluator_service_1 = require("./template-expression-evaluator.service");
|
|
23
21
|
const lodash_1 = require("lodash");
|
|
@@ -33,20 +31,16 @@ const TransitionValidationsSchema = zod_1.z.array(zod_1.z
|
|
|
33
31
|
})
|
|
34
32
|
.strict());
|
|
35
33
|
let StateMachineProcessorService = StateMachineProcessorService_1 = class StateMachineProcessorService {
|
|
36
|
-
workflowConfigService;
|
|
37
34
|
workflowService;
|
|
38
35
|
toolExecutionService;
|
|
39
36
|
stateMachineValidatorRegistry;
|
|
40
|
-
contextService;
|
|
41
37
|
templateExpressionEvaluatorService;
|
|
42
38
|
workflowContextService;
|
|
43
39
|
logger = new common_1.Logger(StateMachineProcessorService_1.name);
|
|
44
|
-
constructor(
|
|
45
|
-
this.workflowConfigService = workflowConfigService;
|
|
40
|
+
constructor(workflowService, toolExecutionService, stateMachineValidatorRegistry, templateExpressionEvaluatorService, workflowContextService) {
|
|
46
41
|
this.workflowService = workflowService;
|
|
47
42
|
this.toolExecutionService = toolExecutionService;
|
|
48
43
|
this.stateMachineValidatorRegistry = stateMachineValidatorRegistry;
|
|
49
|
-
this.contextService = contextService;
|
|
50
44
|
this.templateExpressionEvaluatorService = templateExpressionEvaluatorService;
|
|
51
45
|
this.workflowContextService = workflowContextService;
|
|
52
46
|
}
|
|
@@ -186,11 +180,9 @@ let StateMachineProcessorService = StateMachineProcessorService_1 = class StateM
|
|
|
186
180
|
async loopStateMachine(beforeContext, workflow, configElement, stateMachineInfo) {
|
|
187
181
|
let context = beforeContext;
|
|
188
182
|
workflow = await this.initStateMachine(workflow, stateMachineInfo);
|
|
189
|
-
|
|
190
|
-
if (!mergedConfigElement.config.transitions) {
|
|
183
|
+
if (!configElement.config.transitions) {
|
|
191
184
|
throw new Error(`Workflow ${workflow.name} does not have any transitions.`);
|
|
192
185
|
}
|
|
193
|
-
this.contextService.addIncludes(context, mergedConfigElement.importMap);
|
|
194
186
|
try {
|
|
195
187
|
const pendingTransition = [stateMachineInfo.pendingTransition];
|
|
196
188
|
while (true) {
|
|
@@ -199,7 +191,7 @@ let StateMachineProcessorService = StateMachineProcessorService_1 = class StateM
|
|
|
199
191
|
history: workflow.history?.history.map((item) => item.transition) ?? [],
|
|
200
192
|
payload: nextPending?.payload ?? null,
|
|
201
193
|
};
|
|
202
|
-
const transitionsWithoutCallProperty =
|
|
194
|
+
const transitionsWithoutCallProperty = configElement.config.transitions.map((transition) => (0, lodash_1.omit)(transition, ['call']));
|
|
203
195
|
const evaluatedTransitions = this.templateExpressionEvaluatorService.parse(transitionsWithoutCallProperty, {
|
|
204
196
|
arguments: stateMachineInfo.options,
|
|
205
197
|
context,
|
|
@@ -219,7 +211,7 @@ let StateMachineProcessorService = StateMachineProcessorService_1 = class StateM
|
|
|
219
211
|
transitionData.transition = nextTransition.transition;
|
|
220
212
|
transitionData.from = nextTransition.from;
|
|
221
213
|
transitionData.to = nextTransition.to;
|
|
222
|
-
const toolCalls =
|
|
214
|
+
const toolCalls = configElement.config.transitions.find((transition) => transition.name === transitionData.transition)?.call;
|
|
223
215
|
let nextPlace = undefined;
|
|
224
216
|
try {
|
|
225
217
|
if (toolCalls) {
|
|
@@ -273,11 +265,9 @@ let StateMachineProcessorService = StateMachineProcessorService_1 = class StateM
|
|
|
273
265
|
exports.StateMachineProcessorService = StateMachineProcessorService;
|
|
274
266
|
exports.StateMachineProcessorService = StateMachineProcessorService = StateMachineProcessorService_1 = __decorate([
|
|
275
267
|
(0, common_1.Injectable)(),
|
|
276
|
-
__metadata("design:paramtypes", [
|
|
277
|
-
persistence_1.WorkflowService,
|
|
268
|
+
__metadata("design:paramtypes", [persistence_1.WorkflowService,
|
|
278
269
|
tool_execution_service_1.ToolExecutionService,
|
|
279
270
|
state_machine_validator_registry_1.StateMachineValidatorRegistry,
|
|
280
|
-
common_2.ContextService,
|
|
281
271
|
template_expression_evaluator_service_1.TemplateExpressionEvaluatorService,
|
|
282
272
|
workflow_context_service_1.WorkflowContextService])
|
|
283
273
|
], StateMachineProcessorService);
|
|
@@ -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,
|
|
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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"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { StateMachineProcessorService } from './state-machine-processor.service';
|
|
2
2
|
import { ContextInterface, ConfigElement, WorkflowType } from '@loopstack/shared';
|
|
3
3
|
import { WorkflowStateService } from './workflow-state.service';
|
|
4
|
+
import { StateMachineConfigService } from './state-machine-config.service';
|
|
5
|
+
import { ContextService } from '../../common';
|
|
4
6
|
export declare class WorkflowProcessorService {
|
|
5
|
-
private
|
|
6
|
-
private
|
|
7
|
+
private readonly stateMachineConfigService;
|
|
8
|
+
private readonly contextService;
|
|
9
|
+
private readonly workflowStateService;
|
|
10
|
+
private readonly stateMachineProcessorService;
|
|
7
11
|
private readonly logger;
|
|
8
|
-
constructor(
|
|
12
|
+
constructor(stateMachineConfigService: StateMachineConfigService, contextService: ContextService, workflowStateService: WorkflowStateService, stateMachineProcessorService: StateMachineProcessorService);
|
|
9
13
|
runStateMachineType(configElement: ConfigElement<WorkflowType>, context: ContextInterface): Promise<ContextInterface>;
|
|
10
14
|
}
|
|
@@ -15,17 +15,25 @@ const common_1 = require("@nestjs/common");
|
|
|
15
15
|
const state_machine_processor_service_1 = require("./state-machine-processor.service");
|
|
16
16
|
const shared_1 = require("@loopstack/shared");
|
|
17
17
|
const workflow_state_service_1 = require("./workflow-state.service");
|
|
18
|
+
const state_machine_config_service_1 = require("./state-machine-config.service");
|
|
19
|
+
const common_2 = require("../../common");
|
|
18
20
|
let WorkflowProcessorService = WorkflowProcessorService_1 = class WorkflowProcessorService {
|
|
19
|
-
|
|
21
|
+
stateMachineConfigService;
|
|
22
|
+
contextService;
|
|
23
|
+
workflowStateService;
|
|
20
24
|
stateMachineProcessorService;
|
|
21
25
|
logger = new common_1.Logger(WorkflowProcessorService_1.name);
|
|
22
|
-
constructor(
|
|
23
|
-
this.
|
|
26
|
+
constructor(stateMachineConfigService, contextService, workflowStateService, stateMachineProcessorService) {
|
|
27
|
+
this.stateMachineConfigService = stateMachineConfigService;
|
|
28
|
+
this.contextService = contextService;
|
|
29
|
+
this.workflowStateService = workflowStateService;
|
|
24
30
|
this.stateMachineProcessorService = stateMachineProcessorService;
|
|
25
31
|
}
|
|
26
32
|
async runStateMachineType(configElement, context) {
|
|
27
|
-
const
|
|
28
|
-
|
|
33
|
+
const mergedConfigElement = this.stateMachineConfigService.getConfig(configElement);
|
|
34
|
+
this.contextService.addIncludes(context, mergedConfigElement.importMap);
|
|
35
|
+
const currentWorkflow = await this.workflowStateService.getWorkflowState(mergedConfigElement, context);
|
|
36
|
+
const workflow = await this.stateMachineProcessorService.processStateMachine(context, currentWorkflow, mergedConfigElement);
|
|
29
37
|
if (workflow.status === shared_1.WorkflowState.Failed) {
|
|
30
38
|
context.error = true;
|
|
31
39
|
}
|
|
@@ -46,7 +54,9 @@ let WorkflowProcessorService = WorkflowProcessorService_1 = class WorkflowProces
|
|
|
46
54
|
exports.WorkflowProcessorService = WorkflowProcessorService;
|
|
47
55
|
exports.WorkflowProcessorService = WorkflowProcessorService = WorkflowProcessorService_1 = __decorate([
|
|
48
56
|
(0, common_1.Injectable)(),
|
|
49
|
-
__metadata("design:paramtypes", [
|
|
57
|
+
__metadata("design:paramtypes", [state_machine_config_service_1.StateMachineConfigService,
|
|
58
|
+
common_2.ContextService,
|
|
59
|
+
workflow_state_service_1.WorkflowStateService,
|
|
50
60
|
state_machine_processor_service_1.StateMachineProcessorService])
|
|
51
61
|
], WorkflowProcessorService);
|
|
52
62
|
//# sourceMappingURL=workflow-processor.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-processor.service.js","sourceRoot":"","sources":["../../../../src/modules/workflow-processor/services/workflow-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,uFAAiF;AACjF,8CAK2B;AAC3B,qEAAgE;
|
|
1
|
+
{"version":3,"file":"workflow-processor.service.js","sourceRoot":"","sources":["../../../../src/modules/workflow-processor/services/workflow-processor.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAoD;AACpD,uFAAiF;AACjF,8CAK2B;AAC3B,qEAAgE;AAChE,iFAA2E;AAC3E,yCAA8C;AAGvC,IAAM,wBAAwB,gCAA9B,MAAM,wBAAwB;IAIhB;IACA;IACA;IACA;IANF,MAAM,GAAG,IAAI,eAAM,CAAC,0BAAwB,CAAC,IAAI,CAAC,CAAC;IAEpE,YACmB,yBAAoD,EACpD,cAA8B,EAC9B,oBAA0C,EAC1C,4BAA0D;QAH1D,8BAAyB,GAAzB,yBAAyB,CAA2B;QACpD,mBAAc,GAAd,cAAc,CAAgB;QAC9B,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,iCAA4B,GAA5B,4BAA4B,CAA8B;IAC1E,CAAC;IAEJ,KAAK,CAAC,mBAAmB,CACvB,aAA0C,EAC1C,OAAyB;QAGzB,MAAM,mBAAmB,GACvB,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAE1D,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAGxE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CACtE,mBAAmB,EACnB,OAAO,CACR,CAAC;QAEF,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,4BAA4B,CAAC,mBAAmB,CACzD,OAAO,EACP,eAAe,EACf,mBAAmB,CACpB,CAAC;QAEJ,IAAI,QAAQ,CAAC,MAAM,KAAK,sBAAa,CAAC,MAAM,EAAE,CAAC;YAC7C,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,CAAC;YAEN,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBAC9B,OAAO,CAAC,SAAS,GAAG;oBAClB,GAAG,OAAO,CAAC,SAAS;oBACpB,GAAG,QAAQ,CAAC,gBAAgB;iBAC7B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAnDY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;qCAKmC,wDAAyB;QACpC,uBAAc;QACR,6CAAoB;QACZ,8DAA4B;GAPlE,wBAAwB,CAmDpC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@loopstack/core",
|
|
3
3
|
"displayName": "Loopstack Core Module",
|
|
4
4
|
"description": "The core module of the loopstack automation framework",
|
|
5
|
-
"version": "0.4.
|
|
5
|
+
"version": "0.4.2",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Jakob Klippel",
|
|
8
8
|
"url": "https://www.linkedin.com/in/jakob-klippel//"
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"typeorm": "^0.3.20"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@loopstack/shared": "^0.4.
|
|
23
|
+
"@loopstack/shared": "^0.4.2",
|
|
24
24
|
"@nestjs/config": "^4.0.0",
|
|
25
25
|
"@nestjs/event-emitter": "^3.0.1",
|
|
26
26
|
"@nestjs/schedule": "^6.0.0",
|