@loopstack/core 0.19.0 → 0.20.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.
Files changed (83) hide show
  1. package/dist/common/interfaces/processor.interface.d.ts +2 -2
  2. package/dist/common/interfaces/processor.interface.d.ts.map +1 -1
  3. package/dist/persistence/services/document.service.d.ts +2 -2
  4. package/dist/persistence/services/document.service.d.ts.map +1 -1
  5. package/dist/persistence/services/document.service.js +9 -12
  6. package/dist/persistence/services/document.service.js.map +1 -1
  7. package/dist/persistence/services/event-subscriber.service.d.ts +1 -1
  8. package/dist/persistence/services/event-subscriber.service.d.ts.map +1 -1
  9. package/dist/scheduler/services/task-processor/run-pipeline-task-processor.service.d.ts +1 -3
  10. package/dist/scheduler/services/task-processor/run-pipeline-task-processor.service.d.ts.map +1 -1
  11. package/dist/scheduler/services/task-processor/run-pipeline-task-processor.service.js +3 -17
  12. package/dist/scheduler/services/task-processor/run-pipeline-task-processor.service.js.map +1 -1
  13. package/dist/tools/execute-workflow-async.tool.d.ts +3 -2
  14. package/dist/tools/execute-workflow-async.tool.d.ts.map +1 -1
  15. package/dist/tools/execute-workflow-async.tool.js +12 -6
  16. package/dist/tools/execute-workflow-async.tool.js.map +1 -1
  17. package/dist/workflow-processor/services/block-processor.service.d.ts +2 -2
  18. package/dist/workflow-processor/services/block-processor.service.d.ts.map +1 -1
  19. package/dist/workflow-processor/services/block-processor.service.js.map +1 -1
  20. package/dist/workflow-processor/services/namespace-processor.service.d.ts +3 -4
  21. package/dist/workflow-processor/services/namespace-processor.service.d.ts.map +1 -1
  22. package/dist/workflow-processor/services/namespace-processor.service.js +1 -11
  23. package/dist/workflow-processor/services/namespace-processor.service.js.map +1 -1
  24. package/dist/workflow-processor/services/processors/factory-processor.service.d.ts +2 -4
  25. package/dist/workflow-processor/services/processors/factory-processor.service.d.ts.map +1 -1
  26. package/dist/workflow-processor/services/processors/factory-processor.service.js +0 -15
  27. package/dist/workflow-processor/services/processors/factory-processor.service.js.map +1 -1
  28. package/dist/workflow-processor/services/processors/sequence-processor.service.d.ts +2 -2
  29. package/dist/workflow-processor/services/processors/sequence-processor.service.d.ts.map +1 -1
  30. package/dist/workflow-processor/services/processors/sequence-processor.service.js.map +1 -1
  31. package/dist/workflow-processor/services/processors/workflow-processor.service.d.ts +4 -3
  32. package/dist/workflow-processor/services/processors/workflow-processor.service.d.ts.map +1 -1
  33. package/dist/workflow-processor/services/processors/workflow-processor.service.js +57 -32
  34. package/dist/workflow-processor/services/processors/workflow-processor.service.js.map +1 -1
  35. package/dist/workflow-processor/services/root-processor.service.d.ts +5 -3
  36. package/dist/workflow-processor/services/root-processor.service.d.ts.map +1 -1
  37. package/dist/workflow-processor/services/root-processor.service.js +21 -12
  38. package/dist/workflow-processor/services/root-processor.service.js.map +1 -1
  39. package/dist/workflow-processor/services/state-machine-processor.service.d.ts +7 -6
  40. package/dist/workflow-processor/services/state-machine-processor.service.d.ts.map +1 -1
  41. package/dist/workflow-processor/services/state-machine-processor.service.js +55 -72
  42. package/dist/workflow-processor/services/state-machine-processor.service.js.map +1 -1
  43. package/dist/workflow-processor/services/state-machine-tool-call-processor.service.d.ts +7 -6
  44. package/dist/workflow-processor/services/state-machine-tool-call-processor.service.d.ts.map +1 -1
  45. package/dist/workflow-processor/services/state-machine-tool-call-processor.service.js +55 -66
  46. package/dist/workflow-processor/services/state-machine-tool-call-processor.service.js.map +1 -1
  47. package/dist/workflow-processor/services/state-machine-validator.service.d.ts +2 -1
  48. package/dist/workflow-processor/services/state-machine-validator.service.d.ts.map +1 -1
  49. package/dist/workflow-processor/services/state-machine-validator.service.js +2 -2
  50. package/dist/workflow-processor/services/state-machine-validator.service.js.map +1 -1
  51. package/dist/workflow-processor/services/workflow-state.service.d.ts +4 -3
  52. package/dist/workflow-processor/services/workflow-state.service.d.ts.map +1 -1
  53. package/dist/workflow-processor/services/workflow-state.service.js +10 -7
  54. package/dist/workflow-processor/services/workflow-state.service.js.map +1 -1
  55. package/dist/workflow-processor/utils/execution-context-manager.d.ts +26 -0
  56. package/dist/workflow-processor/utils/execution-context-manager.d.ts.map +1 -0
  57. package/dist/workflow-processor/utils/execution-context-manager.js +57 -0
  58. package/dist/workflow-processor/utils/execution-context-manager.js.map +1 -0
  59. package/dist/workflow-processor/utils/state/state-caretaker.d.ts +11 -0
  60. package/dist/workflow-processor/utils/state/state-caretaker.d.ts.map +1 -0
  61. package/dist/workflow-processor/utils/state/state-caretaker.js +37 -0
  62. package/dist/workflow-processor/utils/state/state-caretaker.js.map +1 -0
  63. package/dist/workflow-processor/utils/state/state-manager.d.ts +24 -0
  64. package/dist/workflow-processor/utils/state/state-manager.d.ts.map +1 -0
  65. package/dist/workflow-processor/utils/state/state-manager.js +83 -0
  66. package/dist/workflow-processor/utils/state/state-manager.js.map +1 -0
  67. package/dist/workflow-processor/utils/template-helper.d.ts +2 -6
  68. package/dist/workflow-processor/utils/template-helper.d.ts.map +1 -1
  69. package/dist/workflow-processor/utils/template-helper.js +21 -6
  70. package/dist/workflow-processor/utils/template-helper.js.map +1 -1
  71. package/dist/workflow-processor/utils/wrap-block-proxy.d.ts +4 -0
  72. package/dist/workflow-processor/utils/wrap-block-proxy.d.ts.map +1 -0
  73. package/dist/workflow-processor/utils/wrap-block-proxy.js +38 -0
  74. package/dist/workflow-processor/utils/wrap-block-proxy.js.map +1 -0
  75. package/package.json +2 -2
  76. package/dist/workflow-processor/services/state/workflow-state-caretaker.d.ts +0 -11
  77. package/dist/workflow-processor/services/state/workflow-state-caretaker.d.ts.map +0 -1
  78. package/dist/workflow-processor/services/state/workflow-state-caretaker.js +0 -35
  79. package/dist/workflow-processor/services/state/workflow-state-caretaker.js.map +0 -1
  80. package/dist/workflow-processor/services/state/workflow.state.d.ts +0 -24
  81. package/dist/workflow-processor/services/state/workflow.state.d.ts.map +0 -1
  82. package/dist/workflow-processor/services/state/workflow.state.js +0 -70
  83. package/dist/workflow-processor/services/state/workflow.state.js.map +0 -1
@@ -1,12 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getTemplateVars = getTemplateVars;
4
- function getTemplateVars(args, ctx) {
5
- return {
6
- ...ctx.state.getAll(),
7
- metadata: ctx.state.getAllMetadata(),
8
- transition: ctx.runtime.transition,
9
- args,
4
+ function getTemplateVars(ctx) {
5
+ const metadata = ctx.getMetadata();
6
+ const templateVars = {
7
+ transition: ctx.getManager().getData('transition'),
10
8
  };
9
+ const argsKey = metadata.args?.name;
10
+ if (argsKey) {
11
+ templateVars[argsKey] = ctx.getArgs();
12
+ }
13
+ const contextKey = metadata.context?.name;
14
+ if (contextKey) {
15
+ templateVars[contextKey] = ctx.getContext();
16
+ }
17
+ const stateKey = metadata.state?.name;
18
+ if (stateKey) {
19
+ templateVars[stateKey] = ctx.getState();
20
+ }
21
+ const runtimeKey = metadata.runtime?.name;
22
+ if (runtimeKey) {
23
+ templateVars[runtimeKey] = ctx.getData();
24
+ }
25
+ return templateVars;
11
26
  }
12
27
  //# sourceMappingURL=template-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template-helper.js","sourceRoot":"","sources":["../../../src/workflow-processor/utils/template-helper.ts"],"names":[],"mappings":";;AAEA,0CAQC;AARD,SAAgB,eAAe,CAAC,IAAa,EAAE,GAAsB;IAEnE,OAAO;QACL,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;QACrB,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE;QACpC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU;QAClC,IAAI;KACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"template-helper.js","sourceRoot":"","sources":["../../../src/workflow-processor/utils/template-helper.ts"],"names":[],"mappings":";;AAEA,0CA4BC;AA5BD,SAAgB,eAAe,CAAC,GAAoC;IAClE,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAEnC,MAAM,YAAY,GAAqC;QACrD,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;KACnD,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpC,IAAI,OAAO,EAAE,CAAC;QACZ,YAAY,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IAC1C,IAAI,UAAU,EAAE,CAAC;QACf,YAAY,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACtC,IAAI,QAAQ,EAAE,CAAC;QACb,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IAC1C,IAAI,UAAU,EAAE,CAAC;QACf,YAAY,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;IAC3C,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { BlockInterface } from '@loopstack/common';
2
+ import { ExecutionContextManager } from './execution-context-manager';
3
+ export declare function wrapBlockProxy<TInput = any, TState = any>(instance: BlockInterface, runtimeContext: ExecutionContextManager<TInput, TState>): BlockInterface;
4
+ //# sourceMappingURL=wrap-block-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap-block-proxy.d.ts","sourceRoot":"","sources":["../../../src/workflow-processor/utils/wrap-block-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAIf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,wBAAgB,cAAc,CAAC,MAAM,GAAG,GAAG,EAAE,MAAM,GAAG,GAAG,EACvD,QAAQ,EAAE,cAAc,EACxB,cAAc,EAAE,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,kBA+CxD"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wrapBlockProxy = wrapBlockProxy;
4
+ const common_1 = require("@loopstack/common");
5
+ function wrapBlockProxy(instance, runtimeContext) {
6
+ const stateMeta = (0, common_1.getBlockStateMetadata)(instance.constructor);
7
+ const argsMeta = (0, common_1.getBlockInputMetadata)(instance.constructor);
8
+ const contextMeta = (0, common_1.getBlockContextMetadata)(instance.constructor);
9
+ return new Proxy(instance, {
10
+ get(target, prop, receiver) {
11
+ if (prop === argsMeta?.name) {
12
+ return runtimeContext.getArgs();
13
+ }
14
+ if (prop === stateMeta?.name) {
15
+ return runtimeContext.getState();
16
+ }
17
+ if (prop === contextMeta?.name) {
18
+ return runtimeContext.getContext();
19
+ }
20
+ const value = Reflect.get(target, prop, receiver);
21
+ return value;
22
+ },
23
+ set(target, prop, value, receiver) {
24
+ if (prop === stateMeta?.name) {
25
+ runtimeContext.setState(value);
26
+ return true;
27
+ }
28
+ if (prop === contextMeta?.name) {
29
+ throw new Error('Cannot modify workflow context');
30
+ }
31
+ if (prop === argsMeta?.name) {
32
+ throw new Error('Cannot modify workflow arguments');
33
+ }
34
+ return Reflect.set(target, prop, value, receiver);
35
+ },
36
+ });
37
+ }
38
+ //# sourceMappingURL=wrap-block-proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap-block-proxy.js","sourceRoot":"","sources":["../../../src/workflow-processor/utils/wrap-block-proxy.ts"],"names":[],"mappings":";;AAQA,wCAiDC;AAzDD,8CAK2B;AAG3B,SAAgB,cAAc,CAC5B,QAAwB,EACxB,cAAuD;IAEvD,MAAM,SAAS,GAAG,IAAA,8BAAqB,EAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAA,8BAAqB,EAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,IAAA,gCAAuB,EAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAElE,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;QACzB,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YAExB,IAAI,IAAI,KAAK,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC5B,OAAO,cAAc,CAAC,OAAO,EAAE,CAAC;YAClC,CAAC;YAGD,IAAI,IAAI,KAAK,SAAS,EAAE,IAAI,EAAE,CAAC;gBAC7B,OAAO,cAAc,CAAC,QAAQ,EAAE,CAAC;YACnC,CAAC;YAGD,IAAI,IAAI,KAAK,WAAW,EAAE,IAAI,EAAE,CAAC;gBAC/B,OAAO,cAAc,CAAC,UAAU,EAAE,CAAC;YACrC,CAAC;YAED,MAAM,KAAK,GAAY,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAI3D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAa,EAAE,QAAQ;YACvC,IAAI,IAAI,KAAK,SAAS,EAAE,IAAI,EAAE,CAAC;gBAC7B,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC/B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,IAAI,KAAK,WAAW,EAAE,IAAI,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YAED,IAAI,IAAI,KAAK,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
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.19.0",
5
+ "version": "0.20.0",
6
6
  "repository": "loopstack-ai/core",
7
7
  "license": "BSL",
8
8
  "author": {
@@ -24,7 +24,7 @@
24
24
  "watch": "nest build --watch"
25
25
  },
26
26
  "dependencies": {
27
- "@loopstack/common": "^0.19.0",
27
+ "@loopstack/common": "^0.20.0",
28
28
  "@nestjs/bullmq": "^11.0.4",
29
29
  "@nestjs/config": "^4.0.2",
30
30
  "@nestjs/event-emitter": "^3.0.1",
@@ -1,11 +0,0 @@
1
- import { z } from 'zod';
2
- import { WorkflowMementoData } from '@loopstack/common';
3
- export declare class WorkflowStateCaretaker<TData> {
4
- private mementos;
5
- save(memento: WorkflowMementoData<TData>): void;
6
- getHistory(): WorkflowMementoData<TData>[];
7
- getLatest(): WorkflowMementoData<TData> | undefined;
8
- serialize(): WorkflowMementoData<TData>[];
9
- static deserialize<TData>(data: WorkflowMementoData<TData>[], schema: z.ZodType<TData>): WorkflowStateCaretaker<TData>;
10
- }
11
- //# sourceMappingURL=workflow-state-caretaker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-state-caretaker.d.ts","sourceRoot":"","sources":["../../../../src/workflow-processor/services/state/workflow-state-caretaker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,qBAAa,sBAAsB,CAAC,KAAK;IACvC,OAAO,CAAC,QAAQ,CAAoC;IAEpD,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,GAAG,IAAI;IAI/C,UAAU,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;IAI1C,SAAS,IAAI,mBAAmB,CAAC,KAAK,CAAC,GAAG,SAAS;IAKnD,SAAS,IAAI,mBAAmB,CAAC,KAAK,CAAC,EAAE;IAIzC,MAAM,CAAC,WAAW,CAAC,KAAK,EACtB,IAAI,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,EAClC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GACvB,sBAAsB,CAAC,KAAK,CAAC;CAgBjC"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WorkflowStateCaretaker = void 0;
4
- class WorkflowStateCaretaker {
5
- mementos = [];
6
- save(memento) {
7
- this.mementos.push(memento);
8
- }
9
- getHistory() {
10
- return [...this.mementos];
11
- }
12
- getLatest() {
13
- if (!this.mementos.length)
14
- return undefined;
15
- return this.mementos[this.mementos.length - 1];
16
- }
17
- serialize() {
18
- return this.mementos;
19
- }
20
- static deserialize(data, schema) {
21
- const caretaker = new WorkflowStateCaretaker();
22
- for (const item of data) {
23
- const memento = {
24
- data: schema.parse(item.data),
25
- metadata: item.metadata,
26
- timestamp: new Date(item.timestamp),
27
- version: item.version,
28
- };
29
- caretaker.save(memento);
30
- }
31
- return caretaker;
32
- }
33
- }
34
- exports.WorkflowStateCaretaker = WorkflowStateCaretaker;
35
- //# sourceMappingURL=workflow-state-caretaker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow-state-caretaker.js","sourceRoot":"","sources":["../../../../src/workflow-processor/services/state/workflow-state-caretaker.ts"],"names":[],"mappings":";;;AAGA,MAAa,sBAAsB;IACzB,QAAQ,GAAiC,EAAE,CAAC;IAEpD,IAAI,CAAC,OAAmC;QACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,UAAU;QACR,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,WAAW,CAChB,IAAkC,EAClC,MAAwB;QAExB,MAAM,SAAS,GAAG,IAAI,sBAAsB,EAAS,CAAC;QAEtD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG;gBACd,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO;aACe,CAAC;YAEvC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAvCD,wDAuCC"}
@@ -1,24 +0,0 @@
1
- import { z } from 'zod';
2
- import type { WorkflowMementoData, WorkflowMetadataInterface, WorkflowStateInterface } from '@loopstack/common';
3
- import { WorkflowStateCaretaker } from './workflow-state-caretaker';
4
- export declare class WorkflowState<TData extends z.ZodType, TInferred = z.infer<TData>> implements WorkflowStateInterface<TData, TInferred> {
5
- private readonly schema;
6
- private data;
7
- private metadata;
8
- private version;
9
- private caretaker;
10
- constructor(schema: TData, caretaker: WorkflowStateCaretaker<TInferred>, data: TInferred, metadata: WorkflowMetadataInterface);
11
- get<K extends keyof TInferred>(key: K): TInferred[K];
12
- set<K extends keyof TInferred>(key: K, value: TInferred[K]): void;
13
- update(partial: Partial<TInferred>): void;
14
- getAll(): Readonly<TInferred>;
15
- getAllMetadata(): Readonly<WorkflowMetadataInterface>;
16
- getMetadata<K extends keyof WorkflowMetadataInterface>(key: K): WorkflowMetadataInterface[K];
17
- setMetadata<K extends keyof WorkflowMetadataInterface>(key: K, value: WorkflowMetadataInterface[K]): void;
18
- updateMetadata(partial: Partial<WorkflowMetadataInterface>): void;
19
- checkpoint(): void;
20
- serialize(): WorkflowMementoData<TInferred>[];
21
- getHistory(): WorkflowMementoData<TInferred>[];
22
- restoreToLatest(): boolean;
23
- }
24
- //# sourceMappingURL=workflow.state.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow.state.d.ts","sourceRoot":"","sources":["../../../../src/workflow-processor/services/state/workflow.state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAChH,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,qBAAa,aAAa,CAAC,KAAK,SAAS,CAAC,CAAC,OAAO,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAE,YAAW,sBAAsB,CAC/G,KAAK,EACL,SAAS,CACV;IAOG,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAoC;gBAGlC,MAAM,EAAE,KAAK,EAC9B,SAAS,EAAE,sBAAsB,CAAC,SAAS,CAAC,EAC5C,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,yBAAyB;IAUrC,GAAG,CAAC,CAAC,SAAS,MAAM,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAIpD,GAAG,CAAC,CAAC,SAAS,MAAM,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAKjE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI;IAIzC,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC;IAI7B,cAAc,IAAI,QAAQ,CAAC,yBAAyB,CAAC;IAIrD,WAAW,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAAE,GAAG,EAAE,CAAC,GAAG,yBAAyB,CAAC,CAAC,CAAC;IAI5F,WAAW,CAAC,CAAC,SAAS,MAAM,yBAAyB,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,IAAI;IAIzG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,yBAAyB,CAAC,GAAG,IAAI;IAKjE,UAAU,IAAI,IAAI;IAUlB,SAAS,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE;IAI7C,UAAU,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE;IAI9C,eAAe,IAAI,OAAO;CAS3B"}
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WorkflowState = void 0;
4
- const lodash_1 = require("lodash");
5
- class WorkflowState {
6
- schema;
7
- data;
8
- metadata;
9
- version;
10
- caretaker;
11
- constructor(schema, caretaker, data, metadata) {
12
- this.schema = schema;
13
- this.data = data;
14
- this.metadata = metadata;
15
- this.version = 1;
16
- this.caretaker = caretaker;
17
- this.restoreToLatest();
18
- }
19
- get(key) {
20
- return this.data[key];
21
- }
22
- set(key, value) {
23
- this.data[key] = value;
24
- this.data = this.schema.parse(this.data);
25
- }
26
- update(partial) {
27
- this.data = this.schema.parse({ ...this.data, ...partial });
28
- }
29
- getAll() {
30
- return Object.freeze({ ...this.data });
31
- }
32
- getAllMetadata() {
33
- return Object.freeze({ ...this.metadata });
34
- }
35
- getMetadata(key) {
36
- return this.metadata[key];
37
- }
38
- setMetadata(key, value) {
39
- this.metadata[key] = value;
40
- }
41
- updateMetadata(partial) {
42
- this.metadata = (0, lodash_1.merge)(this.metadata, partial);
43
- }
44
- checkpoint() {
45
- const memento = {
46
- data: { ...this.data },
47
- metadata: { ...this.metadata },
48
- timestamp: new Date(),
49
- version: this.version++,
50
- };
51
- this.caretaker.save(memento);
52
- }
53
- serialize() {
54
- return this.caretaker.serialize();
55
- }
56
- getHistory() {
57
- return this.caretaker.getHistory();
58
- }
59
- restoreToLatest() {
60
- const memento = this.caretaker.getLatest();
61
- if (!memento)
62
- return false;
63
- this.data = this.schema.parse(memento.data);
64
- this.metadata = memento.metadata;
65
- this.version = memento.version + 1;
66
- return true;
67
- }
68
- }
69
- exports.WorkflowState = WorkflowState;
70
- //# sourceMappingURL=workflow.state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workflow.state.js","sourceRoot":"","sources":["../../../../src/workflow-processor/services/state/workflow.state.ts"],"names":[],"mappings":";;;AAAA,mCAA+B;AAK/B,MAAa,aAAa;IAUL;IANX,IAAI,CAAY;IAChB,QAAQ,CAA4B;IACpC,OAAO,CAAS;IAChB,SAAS,CAAoC;IAErD,YACmB,MAAa,EAC9B,SAA4C,EAC5C,IAAe,EACf,QAAmC;QAHlB,WAAM,GAAN,MAAM,CAAO;QAK9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAEjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,GAAG,CAA4B,GAAM;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,GAAG,CAA4B,GAAM,EAAE,KAAmB;QACxD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAc,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,OAA2B;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,EAAE,CAAc,CAAC;IAC3E,CAAC;IAED,MAAM;QACJ,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,cAAc;QACZ,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,WAAW,CAA4C,GAAM;QAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,WAAW,CAA4C,GAAM,EAAE,KAAmC;QAChG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,OAA2C;QACxD,IAAI,CAAC,QAAQ,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAGD,UAAU;QACR,MAAM,OAAO,GAAmC;YAC9C,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;YACtB,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC9B,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;SACxB,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;IACpC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,eAAe;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAc,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AApFD,sCAoFC"}