@auto-engineer/pipeline 1.65.0 → 1.66.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/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +119 -0
- package/dist/src/builder/define-v2.d.ts +101 -0
- package/dist/src/builder/define-v2.d.ts.map +1 -0
- package/dist/src/builder/define-v2.js +209 -0
- package/dist/src/builder/define-v2.js.map +1 -0
- package/dist/src/engine/command-dispatcher.d.ts +31 -0
- package/dist/src/engine/command-dispatcher.d.ts.map +1 -0
- package/dist/src/engine/command-dispatcher.js +26 -0
- package/dist/src/engine/command-dispatcher.js.map +1 -0
- package/dist/src/engine/event-router.d.ts +21 -0
- package/dist/src/engine/event-router.d.ts.map +1 -0
- package/dist/src/engine/event-router.js +22 -0
- package/dist/src/engine/event-router.js.map +1 -0
- package/dist/src/engine/index.d.ts +15 -0
- package/dist/src/engine/index.d.ts.map +1 -0
- package/dist/src/engine/index.js +15 -0
- package/dist/src/engine/index.js.map +1 -0
- package/dist/src/engine/pipeline-engine.d.ts +37 -0
- package/dist/src/engine/pipeline-engine.d.ts.map +1 -0
- package/dist/src/engine/pipeline-engine.js +53 -0
- package/dist/src/engine/pipeline-engine.js.map +1 -0
- package/dist/src/engine/projections/item-status.d.ts +9 -0
- package/dist/src/engine/projections/item-status.d.ts.map +1 -0
- package/dist/src/engine/projections/item-status.js +9 -0
- package/dist/src/engine/projections/item-status.js.map +1 -0
- package/dist/src/engine/projections/latest-run.d.ts +9 -0
- package/dist/src/engine/projections/latest-run.d.ts.map +1 -0
- package/dist/src/engine/projections/latest-run.js +9 -0
- package/dist/src/engine/projections/latest-run.js.map +1 -0
- package/dist/src/engine/projections/message-log.d.ts +9 -0
- package/dist/src/engine/projections/message-log.d.ts.map +1 -0
- package/dist/src/engine/projections/message-log.js +10 -0
- package/dist/src/engine/projections/message-log.js.map +1 -0
- package/dist/src/engine/projections/node-status.d.ts +9 -0
- package/dist/src/engine/projections/node-status.d.ts.map +1 -0
- package/dist/src/engine/projections/node-status.js +9 -0
- package/dist/src/engine/projections/node-status.js.map +1 -0
- package/dist/src/engine/projections/stats.d.ts +9 -0
- package/dist/src/engine/projections/stats.d.ts.map +1 -0
- package/dist/src/engine/projections/stats.js +9 -0
- package/dist/src/engine/projections/stats.js.map +1 -0
- package/dist/src/engine/sqlite-consumer.d.ts +11 -0
- package/dist/src/engine/sqlite-consumer.d.ts.map +1 -0
- package/dist/src/engine/sqlite-consumer.js +27 -0
- package/dist/src/engine/sqlite-consumer.js.map +1 -0
- package/dist/src/engine/sqlite-store.d.ts +10 -0
- package/dist/src/engine/sqlite-store.d.ts.map +1 -0
- package/dist/src/engine/sqlite-store.js +14 -0
- package/dist/src/engine/sqlite-store.js.map +1 -0
- package/dist/src/engine/workflow-processor.d.ts +20 -0
- package/dist/src/engine/workflow-processor.d.ts.map +1 -0
- package/dist/src/engine/workflow-processor.js +36 -0
- package/dist/src/engine/workflow-processor.js.map +1 -0
- package/dist/src/engine/workflows/await-workflow.d.ts +33 -0
- package/dist/src/engine/workflows/await-workflow.d.ts.map +1 -0
- package/dist/src/engine/workflows/await-workflow.js +45 -0
- package/dist/src/engine/workflows/await-workflow.js.map +1 -0
- package/dist/src/engine/workflows/phased-workflow.d.ts +64 -0
- package/dist/src/engine/workflows/phased-workflow.d.ts.map +1 -0
- package/dist/src/engine/workflows/phased-workflow.js +103 -0
- package/dist/src/engine/workflows/phased-workflow.js.map +1 -0
- package/dist/src/engine/workflows/settled-workflow.d.ts +62 -0
- package/dist/src/engine/workflows/settled-workflow.d.ts.map +1 -0
- package/dist/src/engine/workflows/settled-workflow.js +92 -0
- package/dist/src/engine/workflows/settled-workflow.js.map +1 -0
- package/dist/src/graph/types.d.ts +1 -1
- package/dist/src/graph/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/server/pipeline-server-v2.d.ts +48 -0
- package/dist/src/server/pipeline-server-v2.d.ts.map +1 -0
- package/dist/src/server/pipeline-server-v2.js +61 -0
- package/dist/src/server/pipeline-server-v2.js.map +1 -0
- package/dist/src/server/pipeline-server.d.ts +5 -1
- package/dist/src/server/pipeline-server.d.ts.map +1 -1
- package/dist/src/server/pipeline-server.js +71 -10
- package/dist/src/server/pipeline-server.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/ketchup-plan.md +13 -0
- package/package.json +3 -3
- package/src/builder/define-v2.specs.ts +236 -0
- package/src/builder/define-v2.ts +351 -0
- package/src/engine/command-dispatcher.specs.ts +62 -0
- package/src/engine/command-dispatcher.ts +46 -0
- package/src/engine/event-router.specs.ts +75 -0
- package/src/engine/event-router.ts +36 -0
- package/src/engine/index.ts +39 -0
- package/src/engine/pipeline-engine-e2e.specs.ts +776 -0
- package/src/engine/pipeline-engine.integration.specs.ts +126 -0
- package/src/engine/pipeline-engine.specs.ts +70 -0
- package/src/engine/pipeline-engine.ts +82 -0
- package/src/engine/projections/item-status.ts +11 -0
- package/src/engine/projections/latest-run.ts +10 -0
- package/src/engine/projections/message-log.ts +11 -0
- package/src/engine/projections/node-status.ts +10 -0
- package/src/engine/projections/projections.specs.ts +176 -0
- package/src/engine/projections/stats.ts +10 -0
- package/src/engine/sqlite-consumer.specs.ts +42 -0
- package/src/engine/sqlite-consumer.ts +34 -0
- package/src/engine/sqlite-store.specs.ts +46 -0
- package/src/engine/sqlite-store.ts +21 -0
- package/src/engine/workflow-processor.specs.ts +37 -0
- package/src/engine/workflow-processor.ts +57 -0
- package/src/engine/workflows/await-workflow.specs.ts +104 -0
- package/src/engine/workflows/await-workflow.ts +66 -0
- package/src/engine/workflows/phased-workflow.specs.ts +383 -0
- package/src/engine/workflows/phased-workflow.ts +153 -0
- package/src/engine/workflows/settled-workflow.specs.ts +364 -0
- package/src/engine/workflows/settled-workflow.ts +139 -0
- package/src/graph/types.ts +1 -1
- package/src/index.ts +2 -0
- package/src/server/pipeline-server-v2.specs.ts +91 -0
- package/src/server/pipeline-server-v2.ts +70 -0
- package/src/server/pipeline-server.specs.ts +327 -134
- package/src/server/pipeline-server.ts +77 -11
- package/.turbo/turbo-test.log +0 -14
- package/.turbo/turbo-type-check.log +0 -4
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @auto-engineer/pipeline@1.
|
|
2
|
+
> @auto-engineer/pipeline@1.66.0 build /Users/sam/code/auto/auto-engineer-fix/packages/pipeline
|
|
3
3
|
> tsc && tsx ../../scripts/fix-esm-imports.ts
|
|
4
4
|
|
|
5
5
|
Fixed ESM imports in dist/
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,124 @@
|
|
|
1
1
|
# @auto-engineer/pipeline
|
|
2
2
|
|
|
3
|
+
## 1.66.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 675ef99: - **pipeline**: settled decide returns SettledFailed when no retries left
|
|
8
|
+
- 3a2b8db: - **pipeline**: define-v2 toGraph() converts registrations to GraphIR
|
|
9
|
+
- 2934f85: - **pipeline**: createPipelineStore wraps SQLite event store
|
|
10
|
+
- b824630: - **pipeline**: session-based status tracking
|
|
11
|
+
- 3c013d7: - **pipeline**: settled decide returns RetryCommands on failure with retries left
|
|
12
|
+
- b0436c1: - **pipeline**: define-v2 on().emit() and on().handle() registrations
|
|
13
|
+
- 6cbae5c: - **pipeline**: settled decide returns [] when not all commands complete
|
|
14
|
+
- 34a0fd1: - **pipeline**: emit PipelineRestarted event on RestartPipeline command
|
|
15
|
+
- aa5cb13: - **pipeline**: settled workflow evolve tracks command starts and completions
|
|
16
|
+
- 5916594: - **pipeline**: parallelize emit mapping commands with Promise.all
|
|
17
|
+
- e44989c: - **pipeline**: sqlite consumer polls events in order from store
|
|
18
|
+
- bede5a3: - **pipeline**: engine projections wrap existing evolve functions for SQLite
|
|
19
|
+
- af1e4b6: - **packages/react-component-implementer**: fixes component generation
|
|
20
|
+
- **packages/generate-react-client**: fixes types
|
|
21
|
+
- **packages/generate-react-client**: improves starter
|
|
22
|
+
- **global**: version packages
|
|
23
|
+
- 00d3142: - **pipeline**: phased decide advances to next phase when current completes
|
|
24
|
+
- 0e9abee: - **pipeline**: pipeline server v2 with POST /command, GET /health, /registry, /events SSE
|
|
25
|
+
- 27c3b2a: - **pipeline**: pipeline engine wires dispatcher, router, and workflow processor
|
|
26
|
+
- 8002c21: - **pipeline**: event router dispatches commands for emit mappings
|
|
27
|
+
- 47ae70c: - **pipeline**: add SQLite persistence with dual-write and replay on startup
|
|
28
|
+
- 9e1658a: - **pipeline**: command dispatcher finds handler by command type
|
|
29
|
+
- 95399f7: - **pipeline**: settled decide returns AllSettled when all pass
|
|
30
|
+
- 1997734: - **pipeline**: dispatchAndStore appends command result events to store
|
|
31
|
+
- ea43b36: - **pipeline**: phased decide dispatches phase 0 commands on start
|
|
32
|
+
- 25dadc8: - **pipeline**: define-v2 .on().forEach().groupInto().process() produces PhasedRegistration
|
|
33
|
+
- 9d4d240: - **pipeline**: await workflow evolve tracks key completions
|
|
34
|
+
- f7c5dba: - **pipeline**: define-v2 .settled() produces SettledRegistration
|
|
35
|
+
- d6c7b68: - **pipeline**: await decide returns AwaitCompleted when all resolved
|
|
36
|
+
- bdc4728: - **pipeline**: createSettledWorkflow factory from DSL params
|
|
37
|
+
|
|
38
|
+
### Patch Changes
|
|
39
|
+
|
|
40
|
+
- 613a84b: - Fixed incorrect indentation for .env and client entries in the typical example configuration
|
|
41
|
+
- b7739f4: - **pipeline**: integration tests for engine pipeline flow
|
|
42
|
+
- ba42186: - **pipeline**: mark all durable pipeline bursts done
|
|
43
|
+
- ab5f5cb: - **job-graph-processor**: verify ready jobs dispatch in parallel
|
|
44
|
+
- 68734cd: - **pipeline**: add replay bug reproduction e2e test
|
|
45
|
+
- 0d1bbff: - **pipeline**: add E2E test suite bursts to ketchup plan
|
|
46
|
+
- c418bbf: - **pipeline**: mark all E2E bursts complete in ketchup plan
|
|
47
|
+
- 7fecdac: - **pipeline**: add multi-archetype combined pipeline e2e test
|
|
48
|
+
- 75f7b31: - **pipeline**: add concurrency and non-blocking e2e tests
|
|
49
|
+
- 09bb123: - **pipeline**: add settled all-pass e2e test
|
|
50
|
+
- ef92bf1: - **pipeline**: add durable SQLite persistence bursts to plan
|
|
51
|
+
- cf0e26e: - **pipeline**: add graph visualization e2e test
|
|
52
|
+
- c5d3c0d: - **pipeline**: add await workflow e2e test
|
|
53
|
+
- 1c79ada: - **pipeline**: update ketchup plan — 44/48 bursts complete
|
|
54
|
+
- a3353c9: - **pipeline**: add parallel scatter-gather bursts P-1 to P-3
|
|
55
|
+
- e89fda3: - **pipeline**: mark session tracking bursts done in ketchup plan
|
|
56
|
+
- 19f89b4: - **pipeline**: add phased sequential execution e2e test
|
|
57
|
+
- a6a2567: - **pipeline**: add settled retry and failure e2e tests
|
|
58
|
+
- e1f9019: - **pipeline**: mark SQLite persistence bursts done in plan
|
|
59
|
+
- 5ca50f2: - **pipeline**: add ketchup plan for Emmett engine migration
|
|
60
|
+
- f5a1a84: - **pipeline**: add phased stopOnFailure e2e test
|
|
61
|
+
- 9da7fb4: - **pipeline**: add session-based status tracking bursts to ketchup plan
|
|
62
|
+
- f09beb4: - **job-graph-processor**: add parallel dispatch verification burst P-4
|
|
63
|
+
- fd92e76: - **pipeline**: settled scatter-gather runs checks in parallel
|
|
64
|
+
- 2a23265: - **pipeline**: add e2e test harness and emit chain tests
|
|
65
|
+
- 8561e33: - **pipeline**: add v2 pipeline exports to package barrel
|
|
66
|
+
- Updated dependencies [613a84b]
|
|
67
|
+
- Updated dependencies [b7739f4]
|
|
68
|
+
- Updated dependencies [ba42186]
|
|
69
|
+
- Updated dependencies [675ef99]
|
|
70
|
+
- Updated dependencies [ab5f5cb]
|
|
71
|
+
- Updated dependencies [68734cd]
|
|
72
|
+
- Updated dependencies [3a2b8db]
|
|
73
|
+
- Updated dependencies [0d1bbff]
|
|
74
|
+
- Updated dependencies [2934f85]
|
|
75
|
+
- Updated dependencies [c418bbf]
|
|
76
|
+
- Updated dependencies [b824630]
|
|
77
|
+
- Updated dependencies [7fecdac]
|
|
78
|
+
- Updated dependencies [3c013d7]
|
|
79
|
+
- Updated dependencies [b0436c1]
|
|
80
|
+
- Updated dependencies [75f7b31]
|
|
81
|
+
- Updated dependencies [09bb123]
|
|
82
|
+
- Updated dependencies [6cbae5c]
|
|
83
|
+
- Updated dependencies [ef92bf1]
|
|
84
|
+
- Updated dependencies [cf0e26e]
|
|
85
|
+
- Updated dependencies [34a0fd1]
|
|
86
|
+
- Updated dependencies [c5d3c0d]
|
|
87
|
+
- Updated dependencies [1c79ada]
|
|
88
|
+
- Updated dependencies [a3353c9]
|
|
89
|
+
- Updated dependencies [aa5cb13]
|
|
90
|
+
- Updated dependencies [e89fda3]
|
|
91
|
+
- Updated dependencies [19f89b4]
|
|
92
|
+
- Updated dependencies [5916594]
|
|
93
|
+
- Updated dependencies [a6a2567]
|
|
94
|
+
- Updated dependencies [e44989c]
|
|
95
|
+
- Updated dependencies [bede5a3]
|
|
96
|
+
- Updated dependencies [af1e4b6]
|
|
97
|
+
- Updated dependencies [e1f9019]
|
|
98
|
+
- Updated dependencies [00d3142]
|
|
99
|
+
- Updated dependencies [0e9abee]
|
|
100
|
+
- Updated dependencies [27c3b2a]
|
|
101
|
+
- Updated dependencies [5ca50f2]
|
|
102
|
+
- Updated dependencies [8002c21]
|
|
103
|
+
- Updated dependencies [47ae70c]
|
|
104
|
+
- Updated dependencies [f5a1a84]
|
|
105
|
+
- Updated dependencies [9e1658a]
|
|
106
|
+
- Updated dependencies [9da7fb4]
|
|
107
|
+
- Updated dependencies [95399f7]
|
|
108
|
+
- Updated dependencies [1997734]
|
|
109
|
+
- Updated dependencies [ea43b36]
|
|
110
|
+
- Updated dependencies [25dadc8]
|
|
111
|
+
- Updated dependencies [9d4d240]
|
|
112
|
+
- Updated dependencies [f09beb4]
|
|
113
|
+
- Updated dependencies [f7c5dba]
|
|
114
|
+
- Updated dependencies [fd92e76]
|
|
115
|
+
- Updated dependencies [2a23265]
|
|
116
|
+
- Updated dependencies [8561e33]
|
|
117
|
+
- Updated dependencies [d6c7b68]
|
|
118
|
+
- Updated dependencies [bdc4728]
|
|
119
|
+
- @auto-engineer/file-store@1.66.0
|
|
120
|
+
- @auto-engineer/message-bus@1.66.0
|
|
121
|
+
|
|
3
122
|
## 1.65.0
|
|
4
123
|
|
|
5
124
|
### Minor Changes
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { GraphIR } from '../graph/types';
|
|
2
|
+
type EmitRegistration = {
|
|
3
|
+
type: 'emit';
|
|
4
|
+
eventType: string;
|
|
5
|
+
commands: Array<{
|
|
6
|
+
commandType: string;
|
|
7
|
+
data: Record<string, unknown> | ((event: Record<string, unknown>) => Record<string, unknown>);
|
|
8
|
+
}>;
|
|
9
|
+
};
|
|
10
|
+
type CustomHandlerRegistration = {
|
|
11
|
+
type: 'custom';
|
|
12
|
+
eventType: string;
|
|
13
|
+
handler: (event: {
|
|
14
|
+
type: string;
|
|
15
|
+
data: Record<string, unknown>;
|
|
16
|
+
}) => Array<{
|
|
17
|
+
type: string;
|
|
18
|
+
data: Record<string, unknown>;
|
|
19
|
+
}> | Promise<Array<{
|
|
20
|
+
type: string;
|
|
21
|
+
data: Record<string, unknown>;
|
|
22
|
+
}>>;
|
|
23
|
+
};
|
|
24
|
+
export type SettledRegistration = {
|
|
25
|
+
type: 'settled';
|
|
26
|
+
commandTypes: string[];
|
|
27
|
+
maxRetries?: number;
|
|
28
|
+
};
|
|
29
|
+
export type PhasedRegistration = {
|
|
30
|
+
type: 'phased';
|
|
31
|
+
eventType: string;
|
|
32
|
+
phases: string[];
|
|
33
|
+
stopOnFailure: boolean;
|
|
34
|
+
};
|
|
35
|
+
export type AwaitRegistration = {
|
|
36
|
+
type: 'await';
|
|
37
|
+
eventType: string;
|
|
38
|
+
keys: string[];
|
|
39
|
+
};
|
|
40
|
+
type Registration = EmitRegistration | CustomHandlerRegistration | SettledRegistration | PhasedRegistration | AwaitRegistration;
|
|
41
|
+
export type PipelineV2 = {
|
|
42
|
+
name: string;
|
|
43
|
+
registrations: Registration[];
|
|
44
|
+
};
|
|
45
|
+
type EmitChain = {
|
|
46
|
+
emit(commandType: string, data: Record<string, unknown> | ((event: Record<string, unknown>) => Record<string, unknown>)): EmitChain;
|
|
47
|
+
on(eventType: string): TriggerBuilder;
|
|
48
|
+
build(): PipelineV2;
|
|
49
|
+
};
|
|
50
|
+
type HandleChain = {
|
|
51
|
+
on(eventType: string): TriggerBuilder;
|
|
52
|
+
build(): PipelineV2;
|
|
53
|
+
};
|
|
54
|
+
type ProcessChain = {
|
|
55
|
+
stopOnFailure(): ProcessChain;
|
|
56
|
+
on(eventType: string): TriggerBuilder;
|
|
57
|
+
build(): PipelineV2;
|
|
58
|
+
};
|
|
59
|
+
type GroupIntoChain = {
|
|
60
|
+
process(): ProcessChain;
|
|
61
|
+
};
|
|
62
|
+
type ForEachChain = {
|
|
63
|
+
groupInto(phases: string[]): GroupIntoChain;
|
|
64
|
+
};
|
|
65
|
+
type AwaitAllChain = {
|
|
66
|
+
on(eventType: string): TriggerBuilder;
|
|
67
|
+
build(): PipelineV2;
|
|
68
|
+
};
|
|
69
|
+
type RunChain = {
|
|
70
|
+
awaitAll(): AwaitAllChain;
|
|
71
|
+
};
|
|
72
|
+
type TriggerBuilder = {
|
|
73
|
+
emit(commandType: string, data: Record<string, unknown> | ((event: Record<string, unknown>) => Record<string, unknown>)): EmitChain;
|
|
74
|
+
handle(handler: (event: {
|
|
75
|
+
type: string;
|
|
76
|
+
data: Record<string, unknown>;
|
|
77
|
+
}) => Array<{
|
|
78
|
+
type: string;
|
|
79
|
+
data: Record<string, unknown>;
|
|
80
|
+
}> | Promise<Array<{
|
|
81
|
+
type: string;
|
|
82
|
+
data: Record<string, unknown>;
|
|
83
|
+
}>>): HandleChain;
|
|
84
|
+
forEach(): ForEachChain;
|
|
85
|
+
run(keys: string[]): RunChain;
|
|
86
|
+
};
|
|
87
|
+
type SettledChain = {
|
|
88
|
+
maxRetries(n: number): SettledChain;
|
|
89
|
+
on(eventType: string): TriggerBuilder;
|
|
90
|
+
settled(commandTypes: string[]): SettledChain;
|
|
91
|
+
build(): PipelineV2;
|
|
92
|
+
};
|
|
93
|
+
type PipelineV2Builder = {
|
|
94
|
+
on(eventType: string): TriggerBuilder;
|
|
95
|
+
settled(commandTypes: string[]): SettledChain;
|
|
96
|
+
build(): PipelineV2;
|
|
97
|
+
};
|
|
98
|
+
export declare function defineV2(name: string): PipelineV2Builder;
|
|
99
|
+
export declare function toGraph(pipeline: PipelineV2): GraphIR;
|
|
100
|
+
export {};
|
|
101
|
+
//# sourceMappingURL=define-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-v2.d.ts","sourceRoot":"","sources":["../../../src/builder/define-v2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
export function defineV2(name) {
|
|
2
|
+
const registrations = [];
|
|
3
|
+
function createEmitChain(registration) {
|
|
4
|
+
return {
|
|
5
|
+
emit(commandType, data) {
|
|
6
|
+
registration.commands.push({ commandType, data });
|
|
7
|
+
return createEmitChain(registration);
|
|
8
|
+
},
|
|
9
|
+
on(eventType) {
|
|
10
|
+
return createTriggerBuilder(eventType);
|
|
11
|
+
},
|
|
12
|
+
build() {
|
|
13
|
+
return { name, registrations };
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function createHandleChain() {
|
|
18
|
+
return {
|
|
19
|
+
on(eventType) {
|
|
20
|
+
return createTriggerBuilder(eventType);
|
|
21
|
+
},
|
|
22
|
+
build() {
|
|
23
|
+
return { name, registrations };
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function createProcessChain(registration) {
|
|
28
|
+
return {
|
|
29
|
+
stopOnFailure() {
|
|
30
|
+
registration.stopOnFailure = true;
|
|
31
|
+
return createProcessChain(registration);
|
|
32
|
+
},
|
|
33
|
+
on(eventType) {
|
|
34
|
+
return createTriggerBuilder(eventType);
|
|
35
|
+
},
|
|
36
|
+
build() {
|
|
37
|
+
return { name, registrations };
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function createForEachChain(eventType) {
|
|
42
|
+
return {
|
|
43
|
+
groupInto(phases) {
|
|
44
|
+
return {
|
|
45
|
+
process() {
|
|
46
|
+
const registration = {
|
|
47
|
+
type: 'phased',
|
|
48
|
+
eventType,
|
|
49
|
+
phases,
|
|
50
|
+
stopOnFailure: false,
|
|
51
|
+
};
|
|
52
|
+
registrations.push(registration);
|
|
53
|
+
return createProcessChain(registration);
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function createAwaitAllChain() {
|
|
60
|
+
return {
|
|
61
|
+
on(eventType) {
|
|
62
|
+
return createTriggerBuilder(eventType);
|
|
63
|
+
},
|
|
64
|
+
build() {
|
|
65
|
+
return { name, registrations };
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function createRunChain(eventType, keys) {
|
|
70
|
+
return {
|
|
71
|
+
awaitAll() {
|
|
72
|
+
const registration = {
|
|
73
|
+
type: 'await',
|
|
74
|
+
eventType,
|
|
75
|
+
keys,
|
|
76
|
+
};
|
|
77
|
+
registrations.push(registration);
|
|
78
|
+
return createAwaitAllChain();
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function createTriggerBuilder(eventType) {
|
|
83
|
+
return {
|
|
84
|
+
emit(commandType, data) {
|
|
85
|
+
const registration = {
|
|
86
|
+
type: 'emit',
|
|
87
|
+
eventType,
|
|
88
|
+
commands: [{ commandType, data }],
|
|
89
|
+
};
|
|
90
|
+
registrations.push(registration);
|
|
91
|
+
return createEmitChain(registration);
|
|
92
|
+
},
|
|
93
|
+
handle(handler) {
|
|
94
|
+
const registration = {
|
|
95
|
+
type: 'custom',
|
|
96
|
+
eventType,
|
|
97
|
+
handler,
|
|
98
|
+
};
|
|
99
|
+
registrations.push(registration);
|
|
100
|
+
return createHandleChain();
|
|
101
|
+
},
|
|
102
|
+
forEach() {
|
|
103
|
+
return createForEachChain(eventType);
|
|
104
|
+
},
|
|
105
|
+
run(keys) {
|
|
106
|
+
return createRunChain(eventType, keys);
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
function createSettledChain(registration) {
|
|
111
|
+
return {
|
|
112
|
+
maxRetries(n) {
|
|
113
|
+
registration.maxRetries = n;
|
|
114
|
+
return createSettledChain(registration);
|
|
115
|
+
},
|
|
116
|
+
on(eventType) {
|
|
117
|
+
return createTriggerBuilder(eventType);
|
|
118
|
+
},
|
|
119
|
+
settled(commandTypes) {
|
|
120
|
+
const reg = { type: 'settled', commandTypes };
|
|
121
|
+
registrations.push(reg);
|
|
122
|
+
return createSettledChain(reg);
|
|
123
|
+
},
|
|
124
|
+
build() {
|
|
125
|
+
return { name, registrations };
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
on(eventType) {
|
|
131
|
+
return createTriggerBuilder(eventType);
|
|
132
|
+
},
|
|
133
|
+
settled(commandTypes) {
|
|
134
|
+
const registration = { type: 'settled', commandTypes };
|
|
135
|
+
registrations.push(registration);
|
|
136
|
+
return createSettledChain(registration);
|
|
137
|
+
},
|
|
138
|
+
build() {
|
|
139
|
+
return { name, registrations };
|
|
140
|
+
},
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
function addNode(ctx, id, type, label) {
|
|
144
|
+
if (!ctx.nodeMap.has(id)) {
|
|
145
|
+
ctx.nodeMap.set(id, { id, type, label });
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
function processEmitRegistration(ctx, reg) {
|
|
149
|
+
addNode(ctx, `evt:${reg.eventType}`, 'event', reg.eventType);
|
|
150
|
+
for (const cmd of reg.commands) {
|
|
151
|
+
addNode(ctx, `cmd:${cmd.commandType}`, 'command', cmd.commandType);
|
|
152
|
+
ctx.edges.push({ from: `evt:${reg.eventType}`, to: `cmd:${cmd.commandType}` });
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
function processCustomRegistration(ctx, reg) {
|
|
156
|
+
addNode(ctx, `evt:${reg.eventType}`, 'event', reg.eventType);
|
|
157
|
+
addNode(ctx, `handler:${reg.eventType}`, 'command', `${reg.eventType} handler`);
|
|
158
|
+
ctx.edges.push({ from: `evt:${reg.eventType}`, to: `handler:${reg.eventType}` });
|
|
159
|
+
}
|
|
160
|
+
function processSettledRegistration(ctx, reg) {
|
|
161
|
+
const settledNodeId = `settled:${reg.commandTypes.join(',')}`;
|
|
162
|
+
addNode(ctx, settledNodeId, 'settled', 'Settled');
|
|
163
|
+
for (const commandType of reg.commandTypes) {
|
|
164
|
+
addNode(ctx, `cmd:${commandType}`, 'command', commandType);
|
|
165
|
+
ctx.edges.push({ from: `cmd:${commandType}`, to: settledNodeId });
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function processPhasedRegistration(ctx, reg) {
|
|
169
|
+
addNode(ctx, `evt:${reg.eventType}`, 'event', reg.eventType);
|
|
170
|
+
const phasedNodeId = `phased:${reg.phases.join(',')}`;
|
|
171
|
+
addNode(ctx, phasedNodeId, 'phased', reg.phases.join(' → '));
|
|
172
|
+
ctx.edges.push({ from: `evt:${reg.eventType}`, to: phasedNodeId });
|
|
173
|
+
}
|
|
174
|
+
function processAwaitRegistration(ctx, reg) {
|
|
175
|
+
addNode(ctx, `evt:${reg.eventType}`, 'event', reg.eventType);
|
|
176
|
+
const awaitNodeId = `await:${reg.keys.join(',')}`;
|
|
177
|
+
addNode(ctx, awaitNodeId, 'await', reg.keys.join(', '));
|
|
178
|
+
ctx.edges.push({ from: `evt:${reg.eventType}`, to: awaitNodeId });
|
|
179
|
+
}
|
|
180
|
+
export function toGraph(pipeline) {
|
|
181
|
+
const ctx = {
|
|
182
|
+
nodeMap: new Map(),
|
|
183
|
+
edges: [],
|
|
184
|
+
};
|
|
185
|
+
for (const reg of pipeline.registrations) {
|
|
186
|
+
switch (reg.type) {
|
|
187
|
+
case 'emit':
|
|
188
|
+
processEmitRegistration(ctx, reg);
|
|
189
|
+
break;
|
|
190
|
+
case 'custom':
|
|
191
|
+
processCustomRegistration(ctx, reg);
|
|
192
|
+
break;
|
|
193
|
+
case 'settled':
|
|
194
|
+
processSettledRegistration(ctx, reg);
|
|
195
|
+
break;
|
|
196
|
+
case 'phased':
|
|
197
|
+
processPhasedRegistration(ctx, reg);
|
|
198
|
+
break;
|
|
199
|
+
case 'await':
|
|
200
|
+
processAwaitRegistration(ctx, reg);
|
|
201
|
+
break;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return {
|
|
205
|
+
nodes: Array.from(ctx.nodeMap.values()),
|
|
206
|
+
edges: ctx.edges,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=define-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-v2.js","sourceRoot":"","sources":["../../../src/builder/define-v2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SQLiteEventStore } from '@event-driven-io/emmett-sqlite';
|
|
2
|
+
type CommandHandler = (command: {
|
|
3
|
+
type: string;
|
|
4
|
+
data: Record<string, unknown>;
|
|
5
|
+
}) => Array<{
|
|
6
|
+
type: string;
|
|
7
|
+
data: Record<string, unknown>;
|
|
8
|
+
}> | Promise<Array<{
|
|
9
|
+
type: string;
|
|
10
|
+
data: Record<string, unknown>;
|
|
11
|
+
}>>;
|
|
12
|
+
export declare function createCommandDispatcher(): {
|
|
13
|
+
register(commandType: string, handler: CommandHandler): void;
|
|
14
|
+
registeredTypes(): string[];
|
|
15
|
+
dispatch(command: {
|
|
16
|
+
type: string;
|
|
17
|
+
data: Record<string, unknown>;
|
|
18
|
+
}): Promise<Array<{
|
|
19
|
+
type: string;
|
|
20
|
+
data: Record<string, unknown>;
|
|
21
|
+
}>>;
|
|
22
|
+
};
|
|
23
|
+
export declare function dispatchAndStore(dispatcher: ReturnType<typeof createCommandDispatcher>, eventStore: SQLiteEventStore, streamName: string, command: {
|
|
24
|
+
type: string;
|
|
25
|
+
data: Record<string, unknown>;
|
|
26
|
+
}): Promise<Array<{
|
|
27
|
+
type: string;
|
|
28
|
+
data: Record<string, unknown>;
|
|
29
|
+
}>>;
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=command-dispatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/engine/command-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,KAAK,cAAc,GAAG,CAAC,OAAO,EAAE;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,KACG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,GACtD,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAAC,CAAC;AAEpE,wBAAgB,uBAAuB;0BAIb,MAAM,WAAW,cAAc,GAAG,IAAI;uBAIzC,MAAM,EAAE;sBAIH;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAC/B,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;EAQtE;AAED,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,EACtD,UAAU,EAAE,gBAAgB,EAC5B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACvD,OAAO,CAAC,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAAC,CAMjE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export function createCommandDispatcher() {
|
|
2
|
+
const handlers = new Map();
|
|
3
|
+
return {
|
|
4
|
+
register(commandType, handler) {
|
|
5
|
+
handlers.set(commandType, handler);
|
|
6
|
+
},
|
|
7
|
+
registeredTypes() {
|
|
8
|
+
return [...handlers.keys()];
|
|
9
|
+
},
|
|
10
|
+
async dispatch(command) {
|
|
11
|
+
const handler = handlers.get(command.type);
|
|
12
|
+
if (!handler) {
|
|
13
|
+
throw new Error(`No handler registered for command type: ${command.type}`);
|
|
14
|
+
}
|
|
15
|
+
return handler(command);
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export async function dispatchAndStore(dispatcher, eventStore, streamName, command) {
|
|
20
|
+
const results = await dispatcher.dispatch(command);
|
|
21
|
+
if (results.length > 0) {
|
|
22
|
+
await eventStore.appendToStream(streamName, results);
|
|
23
|
+
}
|
|
24
|
+
return results;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=command-dispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-dispatcher.js","sourceRoot":"","sources":["../../../src/engine/command-dispatcher.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,uBAAuB;IACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEnD,OAAO;QACL,QAAQ,CAAC,WAAmB,EAAE,OAAuB;YACnD,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,eAAe;YACb,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,OAGd;YACC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7E,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,UAAsD,EACtD,UAA4B,EAC5B,UAAkB,EAClB,OAAwD;IAExD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { createCommandDispatcher } from './command-dispatcher.js';
|
|
2
|
+
type Event = {
|
|
3
|
+
type: string;
|
|
4
|
+
data: Record<string, unknown>;
|
|
5
|
+
};
|
|
6
|
+
type EmitMapping = {
|
|
7
|
+
eventType: string;
|
|
8
|
+
commands: Array<{
|
|
9
|
+
commandType: string;
|
|
10
|
+
data: Record<string, unknown> | ((event: Event) => Record<string, unknown>);
|
|
11
|
+
}>;
|
|
12
|
+
};
|
|
13
|
+
export declare function createEventRouter(dispatcher: ReturnType<typeof createCommandDispatcher>): {
|
|
14
|
+
register(mapping: EmitMapping): void;
|
|
15
|
+
route(event: Event): Promise<Array<{
|
|
16
|
+
type: string;
|
|
17
|
+
data: Record<string, unknown>;
|
|
18
|
+
}>>;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=event-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-router.d.ts","sourceRoot":"","sources":["../../../src/engine/event-router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAE7D,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KAC7E,CAAC,CAAC;CACJ,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC;sBAIlE,WAAW,GAAG,IAAI;iBAKjB,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;EAc7F"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export function createEventRouter(dispatcher) {
|
|
2
|
+
const mappings = new Map();
|
|
3
|
+
return {
|
|
4
|
+
register(mapping) {
|
|
5
|
+
const existing = mappings.get(mapping.eventType) ?? [];
|
|
6
|
+
mappings.set(mapping.eventType, [...existing, ...mapping.commands]);
|
|
7
|
+
},
|
|
8
|
+
async route(event) {
|
|
9
|
+
const commands = mappings.get(event.type);
|
|
10
|
+
if (!commands) {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
const commandPromises = commands.map((command) => {
|
|
14
|
+
const data = typeof command.data === 'function' ? command.data(event) : command.data;
|
|
15
|
+
return dispatcher.dispatch({ type: command.commandType, data });
|
|
16
|
+
});
|
|
17
|
+
const resultArrays = await Promise.all(commandPromises);
|
|
18
|
+
return resultArrays.flat();
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=event-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-router.js","sourceRoot":"","sources":["../../../src/engine/event-router.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,iBAAiB,CAAC,UAAsD;IACtF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;IAE5D,OAAO;QACL,QAAQ,CAAC,OAAoB;YAC3B,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACvD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtE,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,KAAY;YACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC/C,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;gBACrF,OAAO,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACxD,OAAO,YAAY,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { createCommandDispatcher, dispatchAndStore } from './command-dispatcher';
|
|
2
|
+
export { createEventRouter } from './event-router';
|
|
3
|
+
export { createPipelineEngine } from './pipeline-engine';
|
|
4
|
+
export { itemStatusProjection } from './projections/item-status';
|
|
5
|
+
export { latestRunProjection } from './projections/latest-run';
|
|
6
|
+
export { messageLogProjection } from './projections/message-log';
|
|
7
|
+
export { nodeStatusProjection } from './projections/node-status';
|
|
8
|
+
export { statsProjection } from './projections/stats';
|
|
9
|
+
export { createConsumer } from './sqlite-consumer';
|
|
10
|
+
export { createPipelineStore, type PipelineStore } from './sqlite-store';
|
|
11
|
+
export { createWorkflowProcessor, type WorkflowRegistration } from './workflow-processor';
|
|
12
|
+
export { type AwaitInput, type AwaitOutput, type AwaitState, createAwaitWorkflow, decide as awaitDecide, evolve as awaitEvolve, initialState as awaitInitialState, } from './workflows/await-workflow';
|
|
13
|
+
export { createPhasedWorkflow, decide as phasedDecide, evolve as phasedEvolve, initialState as phasedInitialState, type PhasedInput, type PhasedItem, type PhasedOutput, type PhasedState, } from './workflows/phased-workflow';
|
|
14
|
+
export { createSettledWorkflow, decide as settledDecide, evolve as settledEvolve, initialState as settledInitialState, type SettledInput, type SettledOutput, type SettledState, } from './workflows/settled-workflow';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EACL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,mBAAmB,EACnB,MAAM,IAAI,WAAW,EACrB,MAAM,IAAI,WAAW,EACrB,YAAY,IAAI,iBAAiB,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,oBAAoB,EACpB,MAAM,IAAI,YAAY,EACtB,MAAM,IAAI,YAAY,EACtB,YAAY,IAAI,kBAAkB,EAClC,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,MAAM,IAAI,aAAa,EACvB,MAAM,IAAI,aAAa,EACvB,YAAY,IAAI,mBAAmB,EACnC,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { createCommandDispatcher, dispatchAndStore } from './command-dispatcher.js';
|
|
2
|
+
export { createEventRouter } from './event-router.js';
|
|
3
|
+
export { createPipelineEngine } from './pipeline-engine.js';
|
|
4
|
+
export { itemStatusProjection } from './projections/item-status.js';
|
|
5
|
+
export { latestRunProjection } from './projections/latest-run.js';
|
|
6
|
+
export { messageLogProjection } from './projections/message-log.js';
|
|
7
|
+
export { nodeStatusProjection } from './projections/node-status.js';
|
|
8
|
+
export { statsProjection } from './projections/stats.js';
|
|
9
|
+
export { createConsumer } from './sqlite-consumer.js';
|
|
10
|
+
export { createPipelineStore } from './sqlite-store.js';
|
|
11
|
+
export { createWorkflowProcessor } from './workflow-processor.js';
|
|
12
|
+
export { createAwaitWorkflow, decide as awaitDecide, evolve as awaitEvolve, initialState as awaitInitialState, } from './workflows/await-workflow.js';
|
|
13
|
+
export { createPhasedWorkflow, decide as phasedDecide, evolve as phasedEvolve, initialState as phasedInitialState, } from './workflows/phased-workflow.js';
|
|
14
|
+
export { createSettledWorkflow, decide as settledDecide, evolve as settledEvolve, initialState as settledInitialState, } from './workflows/settled-workflow.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engine/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAsB,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAA6B,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAIL,mBAAmB,EACnB,MAAM,IAAI,WAAW,EACrB,MAAM,IAAI,WAAW,EACrB,YAAY,IAAI,iBAAiB,GAClC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,oBAAoB,EACpB,MAAM,IAAI,YAAY,EACtB,MAAM,IAAI,YAAY,EACtB,YAAY,IAAI,kBAAkB,GAKnC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,MAAM,IAAI,aAAa,EACvB,MAAM,IAAI,aAAa,EACvB,YAAY,IAAI,mBAAmB,GAIpC,MAAM,8BAA8B,CAAC"}
|