@auto-engineer/pipeline 1.68.0 → 1.70.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 (71) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-test.log +6 -6
  3. package/.turbo/turbo-type-check.log +1 -1
  4. package/CHANGELOG.md +63 -0
  5. package/dist/src/engine/workflow-processor.d.ts +3 -0
  6. package/dist/src/engine/workflow-processor.d.ts.map +1 -1
  7. package/dist/src/engine/workflow-processor.js +50 -7
  8. package/dist/src/engine/workflow-processor.js.map +1 -1
  9. package/dist/src/index.d.ts +0 -2
  10. package/dist/src/index.d.ts.map +1 -1
  11. package/dist/src/index.js +0 -2
  12. package/dist/src/index.js.map +1 -1
  13. package/dist/src/server/phased-bridge.d.ts +13 -0
  14. package/dist/src/server/phased-bridge.d.ts.map +1 -0
  15. package/dist/src/server/phased-bridge.js +103 -0
  16. package/dist/src/server/phased-bridge.js.map +1 -0
  17. package/dist/src/server/pipeline-server.d.ts +2 -2
  18. package/dist/src/server/pipeline-server.d.ts.map +1 -1
  19. package/dist/src/server/pipeline-server.js +19 -39
  20. package/dist/src/server/pipeline-server.js.map +1 -1
  21. package/dist/src/server/v2-runtime-bridge.d.ts +21 -0
  22. package/dist/src/server/v2-runtime-bridge.d.ts.map +1 -0
  23. package/dist/src/server/v2-runtime-bridge.js +184 -0
  24. package/dist/src/server/v2-runtime-bridge.js.map +1 -0
  25. package/dist/src/store/pipeline-event-store.d.ts.map +1 -1
  26. package/dist/src/store/pipeline-event-store.js +0 -30
  27. package/dist/src/store/pipeline-event-store.js.map +1 -1
  28. package/dist/src/store/pipeline-read-model.d.ts +0 -15
  29. package/dist/src/store/pipeline-read-model.d.ts.map +1 -1
  30. package/dist/src/store/pipeline-read-model.js +0 -49
  31. package/dist/src/store/pipeline-read-model.js.map +1 -1
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/ketchup-plan.md +10 -12
  34. package/package.json +3 -3
  35. package/src/engine/workflow-processor.specs.ts +101 -0
  36. package/src/engine/workflow-processor.ts +54 -8
  37. package/src/index.ts +0 -2
  38. package/src/server/phased-bridge.specs.ts +272 -0
  39. package/src/server/phased-bridge.ts +130 -0
  40. package/src/server/pipeline-server.specs.ts +94 -0
  41. package/src/server/pipeline-server.ts +21 -42
  42. package/src/server/v2-runtime-bridge.specs.ts +347 -0
  43. package/src/server/v2-runtime-bridge.ts +255 -0
  44. package/src/store/pipeline-event-store.specs.ts +0 -137
  45. package/src/store/pipeline-event-store.ts +0 -35
  46. package/src/store/pipeline-read-model.specs.ts +0 -567
  47. package/src/store/pipeline-read-model.ts +0 -71
  48. package/dist/src/projections/phased-execution-projection.d.ts +0 -77
  49. package/dist/src/projections/phased-execution-projection.d.ts.map +0 -1
  50. package/dist/src/projections/phased-execution-projection.js +0 -54
  51. package/dist/src/projections/phased-execution-projection.js.map +0 -1
  52. package/dist/src/projections/settled-instance-projection.d.ts +0 -67
  53. package/dist/src/projections/settled-instance-projection.d.ts.map +0 -1
  54. package/dist/src/projections/settled-instance-projection.js +0 -66
  55. package/dist/src/projections/settled-instance-projection.js.map +0 -1
  56. package/dist/src/runtime/phased-executor.d.ts +0 -34
  57. package/dist/src/runtime/phased-executor.d.ts.map +0 -1
  58. package/dist/src/runtime/phased-executor.js +0 -172
  59. package/dist/src/runtime/phased-executor.js.map +0 -1
  60. package/dist/src/runtime/settled-tracker.d.ts +0 -44
  61. package/dist/src/runtime/settled-tracker.d.ts.map +0 -1
  62. package/dist/src/runtime/settled-tracker.js +0 -170
  63. package/dist/src/runtime/settled-tracker.js.map +0 -1
  64. package/src/projections/phased-execution-projection.specs.ts +0 -202
  65. package/src/projections/phased-execution-projection.ts +0 -146
  66. package/src/projections/settled-instance-projection.specs.ts +0 -296
  67. package/src/projections/settled-instance-projection.ts +0 -160
  68. package/src/runtime/phased-executor.specs.ts +0 -680
  69. package/src/runtime/phased-executor.ts +0 -230
  70. package/src/runtime/settled-tracker.specs.ts +0 -1044
  71. package/src/runtime/settled-tracker.ts +0 -235
@@ -1,5 +1,5 @@
1
1
 
2
- > @auto-engineer/pipeline@1.68.0 build /home/runner/work/auto-engineer/auto-engineer/packages/pipeline
2
+ > @auto-engineer/pipeline@1.70.0 build /home/runner/work/auto-engineer/auto-engineer/packages/pipeline
3
3
  > tsc && tsx ../../scripts/fix-esm-imports.ts
4
4
 
5
5
  Fixed ESM imports in dist/
@@ -1,14 +1,14 @@
1
1
 
2
- > @auto-engineer/pipeline@1.67.0 test /home/runner/work/auto-engineer/auto-engineer/packages/pipeline
2
+ > @auto-engineer/pipeline@1.69.0 test /home/runner/work/auto-engineer/auto-engineer/packages/pipeline
3
3
  > vitest run --reporter=dot
4
4
 
5
5
 
6
6
   RUN  v3.2.4 /home/runner/work/auto-engineer/auto-engineer/packages/pipeline
7
7
 
8
- ·················································································································································································································································································································································································································································································································································································································
8
+ ·································································································································································································································································································································································································································································································································
9
9
 
10
-  Test Files  41 passed (41)
11
-  Tests  593 passed (593)
12
-  Start at  14:55:10
13
-  Duration  31.58s (transform 7.09s, setup 0ms, collect 15.35s, tests 25.36s, environment 24ms, prepare 21.71s)
10
+  Test Files  39 passed (39)
11
+  Tests  513 passed (513)
12
+  Start at  06:29:42
13
+  Duration  27.28s (transform 6.56s, setup 0ms, collect 14.08s, tests 22.18s, environment 29ms, prepare 18.05s)
14
14
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @auto-engineer/pipeline@1.67.0 type-check /home/runner/work/auto-engineer/auto-engineer/packages/pipeline
2
+ > @auto-engineer/pipeline@1.69.0 type-check /home/runner/work/auto-engineer/auto-engineer/packages/pipeline
3
3
  > tsc --noEmit
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,68 @@
1
1
  # @auto-engineer/pipeline
2
2
 
3
+ ## 1.70.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`d5b9b83`](https://github.com/BeOnAuto/auto-engineer/commit/d5b9b83ae2a40f0f34a9e5823fd7f582ffb578a5) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **generate-react-client**: update landing page header text color and height
8
+ - **pipeline**: remove v1 SettledTracker, PhasedExecutor, and related projections
9
+ - **pipeline**: wire V2 bridges into PipelineServer
10
+ - **pipeline**: add phased bridge with V2 workflow processor integration
11
+ - **pipeline**: add V2RuntimeBridge for settled descriptor path
12
+
13
+ ### Patch Changes
14
+
15
+ - [`5c8110b`](https://github.com/BeOnAuto/auto-engineer/commit/5c8110b45fcb7597e348ffc00386f69e1e4fcc13) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **pipeline**: emit to event store before SSE broadcast in broadcastPipelineRunStarted
16
+
17
+ - [`3f7324f`](https://github.com/BeOnAuto/auto-engineer/commit/3f7324fa09b306b6ce67d6c337501e2f521f2d60) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - Updated the landing page header text in the React client
18
+
19
+ - [`a7a0616`](https://github.com/BeOnAuto/auto-engineer/commit/a7a06161e3bd923116c827a816b4df809e1807f5) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - Updated Emmett and SQLite driver dependencies in the Apollo server generator
20
+
21
+ - [`4c39d83`](https://github.com/BeOnAuto/auto-engineer/commit/4c39d8395445b7fe9c36c4943214cd216471366a) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **pipeline**: plan for fix emit-before-broadcast race
22
+
23
+ - [`a83d744`](https://github.com/BeOnAuto/auto-engineer/commit/a83d74432c94c79fc7fee0beaa0e9bccc5721dd0) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **pipeline**: add settled correlationId fix bursts to plan
24
+
25
+ - [`30579ce`](https://github.com/BeOnAuto/auto-engineer/commit/30579ce1382f0fe1856b478f25828c90eeecc698) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **ci**: remove --reporter=append to show pnpm install errors
26
+
27
+ - [`d4c314e`](https://github.com/BeOnAuto/auto-engineer/commit/d4c314eb75e3de81d90b198422cb3538946cd08b) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - Updated Emmett and Emmett SQLite dependencies to version 0.42.0
28
+
29
+ - [`6e9516a`](https://github.com/BeOnAuto/auto-engineer/commit/6e9516a004d29eac3bdc8585f7b3cc70f2b624ef) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - Improved stability of parallel job dispatch timing in the job graph processor
30
+
31
+ - [`46bf3e7`](https://github.com/BeOnAuto/auto-engineer/commit/46bf3e7a2ffbce7f5a840689091ddaa061457ccc) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **pipeline**: use sessionCorrelationId for settled bridge keying
32
+
33
+ - Updated dependencies [[`5c8110b`](https://github.com/BeOnAuto/auto-engineer/commit/5c8110b45fcb7597e348ffc00386f69e1e4fcc13), [`3f7324f`](https://github.com/BeOnAuto/auto-engineer/commit/3f7324fa09b306b6ce67d6c337501e2f521f2d60), [`a7a0616`](https://github.com/BeOnAuto/auto-engineer/commit/a7a06161e3bd923116c827a816b4df809e1807f5), [`4c39d83`](https://github.com/BeOnAuto/auto-engineer/commit/4c39d8395445b7fe9c36c4943214cd216471366a), [`a83d744`](https://github.com/BeOnAuto/auto-engineer/commit/a83d74432c94c79fc7fee0beaa0e9bccc5721dd0), [`d5b9b83`](https://github.com/BeOnAuto/auto-engineer/commit/d5b9b83ae2a40f0f34a9e5823fd7f582ffb578a5), [`30579ce`](https://github.com/BeOnAuto/auto-engineer/commit/30579ce1382f0fe1856b478f25828c90eeecc698), [`d4c314e`](https://github.com/BeOnAuto/auto-engineer/commit/d4c314eb75e3de81d90b198422cb3538946cd08b), [`6e9516a`](https://github.com/BeOnAuto/auto-engineer/commit/6e9516a004d29eac3bdc8585f7b3cc70f2b624ef), [`46bf3e7`](https://github.com/BeOnAuto/auto-engineer/commit/46bf3e7a2ffbce7f5a840689091ddaa061457ccc)]:
34
+ - @auto-engineer/file-store@1.70.0
35
+ - @auto-engineer/message-bus@1.70.0
36
+
37
+ ## 1.69.0
38
+
39
+ ### Minor Changes
40
+
41
+ - [`1a2b945`](https://github.com/BeOnAuto/auto-engineer/commit/1a2b9450b359c83e5b2db1ec388eedb5d7186937) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **pipeline**: remove v1 SettledTracker, PhasedExecutor, and related projections
42
+
43
+ - [`ff965bb`](https://github.com/BeOnAuto/auto-engineer/commit/ff965bb66fe354a71646ae5cf1117ce6ec028e59) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **pipeline**: wire V2 bridges into PipelineServer
44
+
45
+ - [`44884eb`](https://github.com/BeOnAuto/auto-engineer/commit/44884ebb193c4a67ef2ee3e4db277cf59321f82a) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **pipeline**: add V2RuntimeBridge for settled descriptor path
46
+
47
+ - [`89a89bb`](https://github.com/BeOnAuto/auto-engineer/commit/89a89bbce79c56dca51558bb53a2fdf6f2449906) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **pipeline**: add processKeyed/getState/resetInstance to WorkflowProcessor
48
+
49
+ - [`e85c168`](https://github.com/BeOnAuto/auto-engineer/commit/e85c168b05612c4b2b14b4d2b014832e375ce28d) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **pipeline**: add phased bridge with V2 workflow processor integration
50
+
51
+ - [`6c6d235`](https://github.com/BeOnAuto/auto-engineer/commit/6c6d235b7f30edbf92bbd52a0a843b7f21d041a0) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - Updated landing page header styling with new text color and height
52
+
53
+ ### Patch Changes
54
+
55
+ - [`b1ef570`](https://github.com/BeOnAuto/auto-engineer/commit/b1ef57088eab79473b2527bc574e4c35c7d2630b) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **global**: version packages
56
+ - **global**: bumps turbo
57
+
58
+ - [`1712efa`](https://github.com/BeOnAuto/auto-engineer/commit/1712efa6ad43c17755aa2cb22256c7fb420e9451) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **pipeline**: move V2 engine swap to DONE in ketchup plan
59
+
60
+ - [`6004cde`](https://github.com/BeOnAuto/auto-engineer/commit/6004cdec16f7fbaa1ef92bb7effe0e626c7b288c) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - **pipeline**: update ketchup plan with V2 engine swap bursts
61
+
62
+ - Updated dependencies [[`b1ef570`](https://github.com/BeOnAuto/auto-engineer/commit/b1ef57088eab79473b2527bc574e4c35c7d2630b), [`1a2b945`](https://github.com/BeOnAuto/auto-engineer/commit/1a2b9450b359c83e5b2db1ec388eedb5d7186937), [`ff965bb`](https://github.com/BeOnAuto/auto-engineer/commit/ff965bb66fe354a71646ae5cf1117ce6ec028e59), [`44884eb`](https://github.com/BeOnAuto/auto-engineer/commit/44884ebb193c4a67ef2ee3e4db277cf59321f82a), [`89a89bb`](https://github.com/BeOnAuto/auto-engineer/commit/89a89bbce79c56dca51558bb53a2fdf6f2449906), [`e85c168`](https://github.com/BeOnAuto/auto-engineer/commit/e85c168b05612c4b2b14b4d2b014832e375ce28d), [`1712efa`](https://github.com/BeOnAuto/auto-engineer/commit/1712efa6ad43c17755aa2cb22256c7fb420e9451), [`6004cde`](https://github.com/BeOnAuto/auto-engineer/commit/6004cdec16f7fbaa1ef92bb7effe0e626c7b288c), [`6c6d235`](https://github.com/BeOnAuto/auto-engineer/commit/6c6d235b7f30edbf92bbd52a0a843b7f21d041a0)]:
63
+ - @auto-engineer/file-store@1.69.0
64
+ - @auto-engineer/message-bus@1.69.0
65
+
3
66
  ## 1.68.0
4
67
 
5
68
  ### Minor Changes
@@ -15,6 +15,9 @@ export type WorkflowRegistration = {
15
15
  export declare function createWorkflowProcessor(): {
16
16
  register(registration: WorkflowRegistration): void;
17
17
  process(event: Event): Event[];
18
+ processKeyed(event: Event, instanceKey: string): Event[];
19
+ getState(workflowId: string, instanceKey: string): unknown;
20
+ resetInstance(workflowId: string, instanceKey: string): void;
18
21
  };
19
22
  export {};
20
23
  //# sourceMappingURL=workflow-processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-processor.d.ts","sourceRoot":"","sources":["../../../src/engine/workflow-processor.ts"],"names":[],"mappings":"AAAA,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,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,KAAK,KAAK,GAAG,KAAK,EAAE,CAAC;IAC1D,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;IAClD,YAAY,EAAE,MAAM,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,wBAAgB,uBAAuB;2BAaZ,oBAAoB,GAAG,IAAI;mBAKnC,KAAK,GAAG,KAAK,EAAE;EAwBjC"}
1
+ {"version":3,"file":"workflow-processor.d.ts","sourceRoot":"","sources":["../../../src/engine/workflow-processor.ts"],"names":[],"mappings":"AAAA,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,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,KAAK,KAAK,GAAG,KAAK,EAAE,CAAC;IAC1D,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;IAClD,YAAY,EAAE,MAAM,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAEF,wBAAgB,uBAAuB;2BAyCZ,oBAAoB,GAAG,IAAI;mBAKnC,KAAK,GAAG,KAAK,EAAE;wBAcV,KAAK,eAAe,MAAM,GAAG,KAAK,EAAE;yBAcnC,MAAM,eAAe,MAAM,GAAG,OAAO;8BAOhC,MAAM,eAAe,MAAM,GAAG,IAAI;EAO/D"}
@@ -1,6 +1,7 @@
1
1
  export function createWorkflowProcessor() {
2
2
  const registrations = new Map();
3
3
  const eventsByWorkflow = new Map();
4
+ const keyedEvents = new Map();
4
5
  function rebuildState(reg, events) {
5
6
  let state = reg.workflow.initialState();
6
7
  for (const event of events) {
@@ -8,6 +9,31 @@ export function createWorkflowProcessor() {
8
9
  }
9
10
  return state;
10
11
  }
12
+ function getKeyedHistory(workflowId, instanceKey) {
13
+ let instances = keyedEvents.get(workflowId);
14
+ if (!instances) {
15
+ instances = new Map();
16
+ keyedEvents.set(workflowId, instances);
17
+ }
18
+ let history = instances.get(instanceKey);
19
+ if (!history) {
20
+ history = [];
21
+ instances.set(instanceKey, history);
22
+ }
23
+ return history;
24
+ }
25
+ function processWithHistory(reg, event, history) {
26
+ const outputs = [];
27
+ history.push(event);
28
+ const state = rebuildState(reg, history);
29
+ const result = reg.workflow.decide(event, state);
30
+ const resultEvents = Array.isArray(result) ? result : [result];
31
+ for (const outputEvent of resultEvents) {
32
+ history.push(outputEvent);
33
+ outputs.push(outputEvent);
34
+ }
35
+ return outputs;
36
+ }
11
37
  return {
12
38
  register(registration) {
13
39
  registrations.set(registration.id, registration);
@@ -20,17 +46,34 @@ export function createWorkflowProcessor() {
20
46
  continue;
21
47
  }
22
48
  const history = eventsByWorkflow.get(id);
23
- history.push(event);
24
- const state = rebuildState(reg, history);
25
- const result = reg.workflow.decide(event, state);
26
- const resultEvents = Array.isArray(result) ? result : [result];
27
- for (const outputEvent of resultEvents) {
28
- history.push(outputEvent);
29
- outputs.push(outputEvent);
49
+ outputs.push(...processWithHistory(reg, event, history));
50
+ }
51
+ return outputs;
52
+ },
53
+ processKeyed(event, instanceKey) {
54
+ const outputs = [];
55
+ for (const [id, reg] of registrations) {
56
+ if (!reg.inputEvents.includes(event.type)) {
57
+ continue;
30
58
  }
59
+ const history = getKeyedHistory(id, instanceKey);
60
+ outputs.push(...processWithHistory(reg, event, history));
31
61
  }
32
62
  return outputs;
33
63
  },
64
+ getState(workflowId, instanceKey) {
65
+ const reg = registrations.get(workflowId);
66
+ if (!reg)
67
+ return undefined;
68
+ const history = getKeyedHistory(workflowId, instanceKey);
69
+ return rebuildState(reg, history);
70
+ },
71
+ resetInstance(workflowId, instanceKey) {
72
+ const instances = keyedEvents.get(workflowId);
73
+ if (instances) {
74
+ instances.delete(instanceKey);
75
+ }
76
+ },
34
77
  };
35
78
  }
36
79
  //# sourceMappingURL=workflow-processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-processor.js","sourceRoot":"","sources":["../../../src/engine/workflow-processor.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,uBAAuB;IACrC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAgC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEpD,SAAS,YAAY,CAAC,GAAyB,EAAE,MAAe;QAC9D,IAAI,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO;QACL,QAAQ,CAAC,YAAkC;YACzC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YACjD,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,CAAC,KAAY;YAClB,MAAM,OAAO,GAAY,EAAE,CAAC;YAE5B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,SAAS;gBACX,CAAC;gBAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEpB,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACzC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACjD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAE/D,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;oBACvC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC1B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workflow-processor.js","sourceRoot":"","sources":["../../../src/engine/workflow-processor.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,uBAAuB;IACrC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAgC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAmB,CAAC;IACpD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgC,CAAC;IAE5D,SAAS,YAAY,CAAC,GAAyB,EAAE,MAAe;QAC9D,IAAI,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,SAAS,eAAe,CAAC,UAAkB,EAAE,WAAmB;QAC9D,IAAI,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,SAAS,kBAAkB,CAAC,GAAyB,EAAE,KAAY,EAAE,OAAgB;QACnF,MAAM,OAAO,GAAY,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC/D,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,QAAQ,CAAC,YAAkC;YACzC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;YACjD,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,CAAC,KAAY;YAClB,MAAM,OAAO,GAAY,EAAE,CAAC;YAE5B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,YAAY,CAAC,KAAY,EAAE,WAAmB;YAC5C,MAAM,OAAO,GAAY,EAAE,CAAC;YAE5B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,QAAQ,CAAC,UAAkB,EAAE,WAAmB;YAC9C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAC;YAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACzD,OAAO,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,aAAa,CAAC,UAAkB,EAAE,WAAmB;YACnD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,SAAS,EAAE,CAAC;gBACd,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -13,9 +13,7 @@ export type { AwaitEvent, AwaitTrackerDocument } from './projections/await-track
13
13
  export { AwaitTracker } from './runtime/await-tracker';
14
14
  export type { PipelineContext, RuntimeConfig } from './runtime/context';
15
15
  export { EventCommandMapper } from './runtime/event-command-map';
16
- export { PhasedExecutor } from './runtime/phased-executor';
17
16
  export { PipelineRuntime } from './runtime/pipeline-runtime';
18
- export { SettledTracker } from './runtime/settled-tracker';
19
17
  export type { CommandHandlerWithMetadata, PipelineServerConfig } from './server/pipeline-server';
20
18
  export { PipelineServer } from './server/pipeline-server';
21
19
  export { SSEManager } from './server/sse-manager';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC9F,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,cAAc,EACd,QAAQ,EACR,eAAe,EACf,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtF,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7E,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC9F,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,cAAc,EACd,aAAa,EACb,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,cAAc,EACd,QAAQ,EACR,eAAe,EACf,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACtF,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,yBAAyB,EACzB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7E,YAAY,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC"}
package/dist/src/index.js CHANGED
@@ -5,9 +5,7 @@ export * from './engine/index.js';
5
5
  export { EventLogger } from './logging/event-logger.js';
6
6
  export { AwaitTracker } from './runtime/await-tracker.js';
7
7
  export { EventCommandMapper } from './runtime/event-command-map.js';
8
- export { PhasedExecutor } from './runtime/phased-executor.js';
9
8
  export { PipelineRuntime } from './runtime/pipeline-runtime.js';
10
- export { SettledTracker } from './runtime/settled-tracker.js';
11
9
  export { PipelineServer } from './server/pipeline-server.js';
12
10
  export { SSEManager } from './server/sse-manager.js';
13
11
  export { compareEventSequence, containsSubsequence, findMissingEvents, findUnexpectedEvents, formatSnapshotDiff, } from './testing/snapshot-compare.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAmB,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAgBtF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAmB,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAgBtF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Event } from '@auto-engineer/message-bus';
2
+ import type { ForEachPhasedDescriptor } from '../core/descriptors.js';
3
+ interface PhasedBridgeConfig {
4
+ onDispatch: (commandType: string, data: unknown, correlationId: string) => void;
5
+ onPhasedComplete: (event: Event, correlationId: string) => void;
6
+ }
7
+ export declare function createPhasedBridge(config: PhasedBridgeConfig): {
8
+ registerPhased(descriptor: ForEachPhasedDescriptor): void;
9
+ startPhased(handler: ForEachPhasedDescriptor, event: Event, correlationId: string): void;
10
+ onPhasedItemEvent(event: Event, itemKey: string): void;
11
+ };
12
+ export {};
13
+ //# sourceMappingURL=phased-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phased-bridge.d.ts","sourceRoot":"","sources":["../../../src/server/phased-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAKtE,UAAU,kBAAkB;IAC1B,UAAU,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAChF,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;CACjE;AA4BD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB;+BAmC9B,uBAAuB,GAAG,IAAI;yBAKpC,uBAAuB,SAAS,KAAK,iBAAiB,MAAM,GAAG,IAAI;6BAmC/D,KAAK,WAAW,MAAM,GAAG,IAAI;EAiBzD"}
@@ -0,0 +1,103 @@
1
+ import { decide, evolve, initialState } from '../engine/workflows/phased-workflow.js';
2
+ function resolveData(dispatch, event) {
3
+ if (typeof dispatch.data === 'function') {
4
+ return dispatch.data(event);
5
+ }
6
+ return dispatch.data;
7
+ }
8
+ function processInput(execution, input) {
9
+ let state = evolve(execution.state, input);
10
+ const result = decide(input, state);
11
+ const outputs = Array.isArray(result) ? result : [result];
12
+ for (const output of outputs) {
13
+ state = evolve(state, output);
14
+ }
15
+ execution.state = state;
16
+ return outputs;
17
+ }
18
+ export function createPhasedBridge(config) {
19
+ const descriptors = new Map();
20
+ const executions = new Map();
21
+ const itemToExecution = new Map();
22
+ function handleOutputs(outputs, execution) {
23
+ for (const output of outputs) {
24
+ if (output.type === 'DispatchItem') {
25
+ const itemKey = output.data.itemKey;
26
+ const phase = output.data.phase;
27
+ const itemRecord = execution.items.find((i) => i.key === itemKey);
28
+ if (itemRecord) {
29
+ const command = execution.handler.emitFactory(itemRecord.original, phase, execution.triggerEvent);
30
+ const data = resolveData(command, execution.triggerEvent);
31
+ config.onDispatch(command.commandType, data, execution.correlationId);
32
+ }
33
+ }
34
+ else if (output.type === 'PhasedCompleted') {
35
+ const completionEvent = {
36
+ type: execution.handler.completion.successEvent.name,
37
+ correlationId: execution.correlationId,
38
+ data: { results: output.data.completedItems, itemCount: execution.items.length },
39
+ };
40
+ config.onPhasedComplete(completionEvent, execution.correlationId);
41
+ }
42
+ else if (output.type === 'PhasedFailed') {
43
+ const failureEvent = {
44
+ type: execution.handler.completion.failureEvent.name,
45
+ correlationId: execution.correlationId,
46
+ data: { failures: output.data.failedItems, completedItems: output.data.completedItems },
47
+ };
48
+ config.onPhasedComplete(failureEvent, execution.correlationId);
49
+ }
50
+ }
51
+ }
52
+ return {
53
+ registerPhased(descriptor) {
54
+ const handlerId = `phased-handler-${descriptor.eventType}`;
55
+ descriptors.set(handlerId, descriptor);
56
+ },
57
+ startPhased(handler, event, correlationId) {
58
+ const items = handler.itemsSelector(event);
59
+ const itemRecords = [];
60
+ for (const item of items) {
61
+ const data = Object(item);
62
+ const key = handler.completion.itemKey({ type: event.type, data });
63
+ const phase = handler.classifier(item);
64
+ itemRecords.push({ key, phase, original: item });
65
+ itemToExecution.set(key, correlationId + '|' + handler.eventType);
66
+ }
67
+ const execution = {
68
+ correlationId,
69
+ handler,
70
+ triggerEvent: event,
71
+ items: itemRecords,
72
+ state: initialState(),
73
+ };
74
+ executions.set(correlationId + '|' + handler.eventType, execution);
75
+ const startInput = {
76
+ type: 'StartPhased',
77
+ data: {
78
+ correlationId,
79
+ items: itemRecords.map((i) => ({ key: i.key, phase: i.phase })),
80
+ phases: [...handler.phases],
81
+ stopOnFailure: handler.stopOnFailure,
82
+ },
83
+ };
84
+ const outputs = processInput(execution, startInput);
85
+ handleOutputs(outputs, execution);
86
+ },
87
+ onPhasedItemEvent(event, itemKey) {
88
+ const executionKey = itemToExecution.get(itemKey);
89
+ if (!executionKey)
90
+ return;
91
+ const execution = executions.get(executionKey);
92
+ if (!execution)
93
+ return;
94
+ const isFailure = event.type === execution.handler.completion.failureEvent.name;
95
+ const input = isFailure
96
+ ? { type: 'ItemFailed', data: { itemKey, error: event.data } }
97
+ : { type: 'ItemCompleted', data: { itemKey, result: event.data } };
98
+ const outputs = processInput(execution, input);
99
+ handleOutputs(outputs, execution);
100
+ },
101
+ };
102
+ }
103
+ //# sourceMappingURL=phased-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"phased-bridge.js","sourceRoot":"","sources":["../../../src/server/phased-bridge.ts"],"names":[],"mappings":"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"}
@@ -27,9 +27,9 @@ export declare class PipelineServer {
27
27
  private readonly runtimes;
28
28
  private actualPort;
29
29
  private readonly requestedPort;
30
- private readonly settledTracker;
30
+ private readonly settledBridge;
31
31
  private readonly eventCommandMapper;
32
- private readonly phasedExecutor;
32
+ private readonly phasedBridge;
33
33
  private readonly sseManager;
34
34
  private readonly eventStoreContext;
35
35
  private readonly itemKeyExtractors;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-server.d.ts","sourceRoot":"","sources":["../../../src/server/pipeline-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,IAAI,UAAU,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,cAAc,EAEnB,KAAK,KAAK,EACV,KAAK,UAAU,EAChB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAQpE,YAAY,EAAE,eAAe,EAAE,CAAC;AAEhC,MAAM,WAAW,0BAA2B,SAAQ,cAAc;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC;CACnF;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD,qBAAa,cAAc;IACzB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsD;IACtF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IACpE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4B;IAC9D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA4D;IAC9F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAS;IACxC,OAAO,CAAC,gBAAgB,CAAC,CAAa;IACtC,OAAO,CAAC,gBAAgB,CAAM;gBAElB,MAAM,EAAE,oBAAoB;IA4CxC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,aAAa,IAAI,UAAU;IAI3B,aAAa,IAAI,UAAU;IAI3B,uBAAuB,CAAC,QAAQ,EAAE,0BAA0B,EAAE,GAAG,IAAI;IAQrE,qBAAqB,IAAI,MAAM,EAAE;IAIjC,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI;IAIrG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAgB1C,gBAAgB,IAAI,MAAM,EAAE;IAI5B,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,GAAG,IAAI;IAKpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YA2Cd,sBAAsB;IA6B9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAU/C,OAAO,CAAC,WAAW;IA2LnB,OAAO,CAAC,kBAAkB;IAkB1B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,iBAAiB;YAiBX,uBAAuB;YAkBvB,sBAAsB;YActB,sBAAsB;YAetB,qBAAqB;YAuBrB,qBAAqB;YAuBrB,qBAAqB;YAoBrB,sBAAsB;YAoBtB,sBAAsB;YAYtB,gBAAgB;YAOhB,0BAA0B;YAqB1B,2BAA2B;IAUzC,OAAO,CAAC,cAAc;YASR,qBAAqB;YAcrB,gBAAgB;YAmBhB,mBAAmB;IAOjC,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,mBAAmB;IAsB3B,OAAO,CAAC,2BAA2B;IAkCnC,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,2BAA2B;IA6BnC,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,gBAAgB;YAiCV,cAAc;IA+D5B,OAAO,CAAC,mBAAmB;YAUb,mBAAmB;YAanB,oBAAoB;YAWpB,qBAAqB;IAMnC,OAAO,CAAC,aAAa;YAoCP,0BAA0B;IAWxC,OAAO,CAAC,gBAAgB;CA8CzB"}
1
+ {"version":3,"file":"pipeline-server.d.ts","sourceRoot":"","sources":["../../../src/server/pipeline-server.ts"],"names":[],"mappings":"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"}