@auto-engineer/job-graph-processor 1.26.1 → 1.28.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/.turbo/turbo-test.log +3 -3
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +38 -0
- package/README.md +9 -9
- package/dist/src/commands/process-job-graph.js +4 -4
- package/dist/src/commands/process-job-graph.js.map +1 -1
- package/dist/src/commands/process-job-graph.specs.js +6 -6
- package/dist/src/commands/process-job-graph.specs.js.map +1 -1
- package/dist/src/graph-processor.js +5 -5
- package/dist/src/graph-processor.js.map +1 -1
- package/dist/src/graph-processor.specs.js +14 -14
- package/dist/src/graph-processor.specs.js.map +1 -1
- package/dist/src/process-graph.js +2 -2
- package/dist/src/process-graph.js.map +1 -1
- package/dist/src/process-graph.specs.js +3 -3
- package/dist/src/process-graph.specs.js.map +1 -1
- package/dist/src/process-job-graph.e2e.specs.js +5 -5
- package/dist/src/process-job-graph.e2e.specs.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/commands/process-job-graph.specs.ts +6 -6
- package/src/commands/process-job-graph.ts +4 -4
- package/src/graph-processor.specs.ts +14 -14
- package/src/graph-processor.ts +5 -5
- package/src/process-graph.specs.ts +3 -3
- package/src/process-graph.ts +2 -2
- package/src/process-job-graph.e2e.specs.ts +5 -5
- package/ketchup-plan.md +0 -31
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @auto-engineer/job-graph-processor@1.
|
|
2
|
+
> @auto-engineer/job-graph-processor@1.27.0 build /home/runner/work/auto-engineer/auto-engineer/packages/job-graph-processor
|
|
3
3
|
> tsc && tsx ../../scripts/fix-esm-imports.ts
|
|
4
4
|
|
|
5
5
|
Fixed ESM imports in dist/
|
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @auto-engineer/job-graph-processor@1.
|
|
2
|
+
> @auto-engineer/job-graph-processor@1.27.0 test /home/runner/work/auto-engineer/auto-engineer/packages/job-graph-processor
|
|
3
3
|
> vitest run --reporter=dot
|
|
4
4
|
|
|
5
5
|
|
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
|
|
10
10
|
[2m Test Files [22m [1m[32m11 passed[39m[22m[90m (11)[39m
|
|
11
11
|
[2m Tests [22m [1m[32m73 passed[39m[22m[90m (73)[39m
|
|
12
|
-
[2m Start at [22m
|
|
13
|
-
[2m Duration [22m
|
|
12
|
+
[2m Start at [22m 20:19:38
|
|
13
|
+
[2m Duration [22m 8.65s[2m (transform 2.78s, setup 0ms, collect 6.27s, tests 1.82s, environment 7ms, prepare 6.47s)[22m
|
|
14
14
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
> @auto-engineer/job-graph-processor@1.
|
|
2
|
+
> @auto-engineer/job-graph-processor@1.27.0 type-check /home/runner/work/auto-engineer/auto-engineer/packages/job-graph-processor
|
|
3
3
|
> tsc --noEmit
|
|
4
4
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
# @auto-engineer/job-graph-processor
|
|
2
2
|
|
|
3
|
+
## 1.28.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`251372b`](https://github.com/BeOnAuto/auto-engineer/commit/251372b0731f95f5ea38413bc40f6cab01fb7342) Thanks [@osamanar](https://github.com/osamanar)! - - Fixed issues with the React component implementer to improve reliability
|
|
8
|
+
|
|
9
|
+
- [`817d4a3`](https://github.com/BeOnAuto/auto-engineer/commit/817d4a386b205fc28da93fca6784b9ce9ec81990) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **react-component-implementer**: fix import errors
|
|
10
|
+
- **react-component-implementer**: fix import errors
|
|
11
|
+
- **typical**: improve fast mode detection and enhance command handler structure
|
|
12
|
+
- **global**: version packages
|
|
13
|
+
- **job-graph-processor**: standardize event naming and improve documentation
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies [[`251372b`](https://github.com/BeOnAuto/auto-engineer/commit/251372b0731f95f5ea38413bc40f6cab01fb7342), [`817d4a3`](https://github.com/BeOnAuto/auto-engineer/commit/817d4a386b205fc28da93fca6784b9ce9ec81990)]:
|
|
18
|
+
- @auto-engineer/message-bus@1.28.0
|
|
19
|
+
|
|
20
|
+
## 1.27.0
|
|
21
|
+
|
|
22
|
+
### Minor Changes
|
|
23
|
+
|
|
24
|
+
- [`5492d59`](https://github.com/BeOnAuto/auto-engineer/commit/5492d59747e36f36b923f5cb038e2310f38861a4) Thanks [@osamanar](https://github.com/osamanar)! - - Fixed import errors in the React component implementer
|
|
25
|
+
|
|
26
|
+
- [`518e049`](https://github.com/BeOnAuto/auto-engineer/commit/518e049e728f716830befdfa415ba45d8fd16358) Thanks [@osamanar](https://github.com/osamanar)! - - Fixed import errors in the React component implementer
|
|
27
|
+
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- [`51a6090`](https://github.com/BeOnAuto/auto-engineer/commit/51a609026825da9841b750b1e70a48809e33be63) Thanks [@github-actions[bot]](https://github.com/github-actions%5Bbot%5D)! - - **server-generator-apollo-emmett**: harden template type resolution and add implementer hints
|
|
31
|
+
- **global**: version packages
|
|
32
|
+
|
|
33
|
+
- [`5d7fc3d`](https://github.com/BeOnAuto/auto-engineer/commit/5d7fc3d9a13205adbebec6463aa5533065b8775c) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - Improved fast mode detection for more reliable behavior when toggling between standard and fast modes
|
|
34
|
+
- Enhanced command handler structure for better internal organization and maintainability
|
|
35
|
+
|
|
36
|
+
- [`c23b5b7`](https://github.com/BeOnAuto/auto-engineer/commit/c23b5b7daa777a302b9824e8ca0f1bd4d4ea9ab9) Thanks [@SamHatoum](https://github.com/SamHatoum)! - - Standardized event naming conventions in the job graph processor for more consistent behavior
|
|
37
|
+
- Improved internal documentation for job graph processing logic
|
|
38
|
+
- Updated dependencies [[`5492d59`](https://github.com/BeOnAuto/auto-engineer/commit/5492d59747e36f36b923f5cb038e2310f38861a4), [`51a6090`](https://github.com/BeOnAuto/auto-engineer/commit/51a609026825da9841b750b1e70a48809e33be63), [`5d7fc3d`](https://github.com/BeOnAuto/auto-engineer/commit/5d7fc3d9a13205adbebec6463aa5533065b8775c), [`518e049`](https://github.com/BeOnAuto/auto-engineer/commit/518e049e728f716830befdfa415ba45d8fd16358), [`c23b5b7`](https://github.com/BeOnAuto/auto-engineer/commit/c23b5b7daa777a302b9824e8ca0f1bd4d4ea9ab9)]:
|
|
39
|
+
- @auto-engineer/message-bus@1.27.0
|
|
40
|
+
|
|
3
41
|
## 1.26.1
|
|
4
42
|
|
|
5
43
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -59,7 +59,7 @@ curl -X POST http://localhost:3000/command \
|
|
|
59
59
|
}'
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
The server returns an ack. The handler creates a `createGraphProcessor(messageBus)`, validates the graph, and dispatches `build` immediately (no dependencies). When the `RunBuild` handler emits an event with `correlationId: 'graph:deploy-1:build'`, the processor dispatches `test`, and so on until `
|
|
62
|
+
The server returns an ack. The handler creates a `createGraphProcessor(messageBus)`, validates the graph, and dispatches `build` immediately (no dependencies). When the `RunBuild` handler emits an event with `correlationId: 'graph:deploy-1:build'`, the processor dispatches `test`, and so on until `GraphProcessed` is published to the messageBus.
|
|
63
63
|
|
|
64
64
|
Each job's `target` must match a registered command handler name. If `RunBuild` is not registered as a plugin, the build job dispatches but never receives a completion event, so the graph stalls.
|
|
65
65
|
|
|
@@ -92,12 +92,12 @@ const result = await handler.handle(
|
|
|
92
92
|
);
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
-
The second argument is the pipeline context. The handler extracts `messageBus` from it. Without a messageBus, the handler returns `
|
|
95
|
+
The second argument is the pipeline context. The handler extracts `messageBus` from it. Without a messageBus, the handler returns `GraphFailed` with reason `messageBus not available in context`.
|
|
96
96
|
|
|
97
97
|
### Handle Errors
|
|
98
98
|
|
|
99
99
|
```typescript
|
|
100
|
-
if (result.type === '
|
|
100
|
+
if (result.type === 'GraphFailed') {
|
|
101
101
|
console.error(result.data.reason);
|
|
102
102
|
}
|
|
103
103
|
```
|
|
@@ -105,7 +105,7 @@ if (result.type === 'graph.failed') {
|
|
|
105
105
|
### Listen for Graph Completion
|
|
106
106
|
|
|
107
107
|
```typescript
|
|
108
|
-
bus.subscribeToEvent('
|
|
108
|
+
bus.subscribeToEvent('GraphProcessed', {
|
|
109
109
|
name: 'onComplete',
|
|
110
110
|
handle: (event) => console.log('Graph done:', event.data.graphId),
|
|
111
111
|
});
|
|
@@ -258,15 +258,15 @@ import type {
|
|
|
258
258
|
|
|
259
259
|
| Event | When |
|
|
260
260
|
| ------------------ | --------------------------------------- |
|
|
261
|
-
| `
|
|
262
|
-
| `
|
|
263
|
-
| `
|
|
261
|
+
| `GraphDispatched`| Graph validated, ready jobs dispatched |
|
|
262
|
+
| `GraphFailed` | Validation error or missing messageBus |
|
|
263
|
+
| `GraphProcessed` | All jobs reached terminal status (published to messageBus, not returned from handler) |
|
|
264
264
|
|
|
265
265
|
### Functions
|
|
266
266
|
|
|
267
267
|
#### `createGraphProcessor(messageBus): { submit }`
|
|
268
268
|
|
|
269
|
-
Stateful processor that wires the pure state machine to a MessageBus. Tracks active graphs, subscribes to correlation events, dispatches ready jobs, and publishes `
|
|
269
|
+
Stateful processor that wires the pure state machine to a MessageBus. Tracks active graphs, subscribes to correlation events, dispatches ready jobs, and publishes `GraphProcessed`.
|
|
270
270
|
|
|
271
271
|
#### `evolve(state, event): GraphState`
|
|
272
272
|
|
|
@@ -388,7 +388,7 @@ flowchart LR
|
|
|
388
388
|
Policy -->|no| ReadyAgain[getReadyJobs]
|
|
389
389
|
Apply --> ReadyAgain
|
|
390
390
|
ReadyAgain --> Complete{all terminal?}
|
|
391
|
-
Complete -->|yes| Done[
|
|
391
|
+
Complete -->|yes| Done[GraphProcessed]
|
|
392
392
|
Complete -->|no| Dispatch
|
|
393
393
|
```
|
|
394
394
|
|
|
@@ -43,15 +43,15 @@ export const commandHandler = {
|
|
|
43
43
|
'$ auto process:job-graph --graphId=g1 --jobs=\'[{"id":"a","dependsOn":[],"target":"build","payload":{}}]\' --failurePolicy=halt',
|
|
44
44
|
],
|
|
45
45
|
events: [
|
|
46
|
-
{ name: '
|
|
47
|
-
{ name: '
|
|
48
|
-
{ name: '
|
|
46
|
+
{ name: 'GraphDispatched', displayName: 'Graph Dispatched' },
|
|
47
|
+
{ name: 'GraphFailed', displayName: 'Graph Failed' },
|
|
48
|
+
{ name: 'GraphProcessed', displayName: 'Graph Processed' },
|
|
49
49
|
],
|
|
50
50
|
handle: async (command, context) => {
|
|
51
51
|
const { graphId } = command.data;
|
|
52
52
|
if (!isContextWithMessageBus(context)) {
|
|
53
53
|
return {
|
|
54
|
-
type: '
|
|
54
|
+
type: 'GraphFailed',
|
|
55
55
|
data: { graphId, reason: 'messageBus not available in context' },
|
|
56
56
|
};
|
|
57
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-job-graph.js","sourceRoot":"","sources":["../../../src/commands/process-job-graph.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAA4B,MAAM,oBAAoB,CAAC;AAQpF,SAAS,uBAAuB,CAAC,OAAgB;IAC/C,OAAO,CACL,OAAO,KAAK,IAAI;QAChB,OAAO,KAAK,SAAS;QACrB,OAAO,OAAO,KAAK,QAAQ;QAC3B,YAAY,IAAI,OAAO;QACvB,OAAO,CAAC,UAAU,KAAK,IAAI;QAC3B,OAAO,CAAC,UAAU,KAAK,SAAS;QAChC,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CACvC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAA8B;IACnD,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAC3C,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAsE,CAAC;IAC5F,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,mBAAmB;IAChC,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,wFAAwF;IACrG,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE;QACN,OAAO,EAAE;YACP,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;SACf;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;SACf;QACD,aAAa,EAAE;YACb,WAAW,EAAE,sEAAsE;YACnF,QAAQ,EAAE,IAAI;SACf;KACF;IACD,QAAQ,EAAE;QACR,iIAAiI;KAClI;IACD,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"process-job-graph.js","sourceRoot":"","sources":["../../../src/commands/process-job-graph.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAA4B,MAAM,oBAAoB,CAAC;AAQpF,SAAS,uBAAuB,CAAC,OAAgB;IAC/C,OAAO,CACL,OAAO,KAAK,IAAI;QAChB,OAAO,KAAK,SAAS;QACrB,OAAO,OAAO,KAAK,QAAQ;QAC3B,YAAY,IAAI,OAAO;QACvB,OAAO,CAAC,UAAU,KAAK,IAAI;QAC3B,OAAO,CAAC,UAAU,KAAK,SAAS;QAChC,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,CACvC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,OAA8B;IACnD,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAC3C,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAsE,CAAC;IAC5F,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,mBAAmB;IAChC,KAAK,EAAE,mBAAmB;IAC1B,WAAW,EAAE,wFAAwF;IACrG,QAAQ,EAAE,eAAe;IACzB,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE;QACN,OAAO,EAAE;YACP,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;SACf;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;SACf;QACD,aAAa,EAAE;YACb,WAAW,EAAE,sEAAsE;YACnF,QAAQ,EAAE,IAAI;SACf;KACF;IACD,QAAQ,EAAE;QACR,iIAAiI;KAClI;IACD,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE;QAC5D,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE;QACpD,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,iBAAiB,EAAE;KAC3D;IACD,MAAM,EAAE,KAAK,EAAE,OAAgB,EAAE,OAAiB,EAA4B,EAAE;QAC9E,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAEjC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,qCAAqC,EAAE;aACjE,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAChG,OAAO,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;CACF,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { createMessageBus } from '@auto-engineer/message-bus';
|
|
|
2
2
|
import { describe, expect, it } from 'vitest';
|
|
3
3
|
import { commandHandler } from './process-job-graph.js';
|
|
4
4
|
describe('ProcessJobGraph command handler', () => {
|
|
5
|
-
it('returns
|
|
5
|
+
it('returns GraphDispatched with dispatched jobs when given valid graph and messageBus', async () => {
|
|
6
6
|
const messageBus = createMessageBus();
|
|
7
7
|
const result = await commandHandler.handle({
|
|
8
8
|
type: 'ProcessJobGraph',
|
|
@@ -16,14 +16,14 @@ describe('ProcessJobGraph command handler', () => {
|
|
|
16
16
|
},
|
|
17
17
|
}, { messageBus });
|
|
18
18
|
expect(result).toEqual({
|
|
19
|
-
type: '
|
|
19
|
+
type: 'GraphDispatched',
|
|
20
20
|
data: {
|
|
21
21
|
graphId: 'g1',
|
|
22
22
|
dispatchedJobs: [{ jobId: 'a', target: 'build', payload: { src: './app' }, correlationId: 'graph:g1:a' }],
|
|
23
23
|
},
|
|
24
24
|
});
|
|
25
25
|
});
|
|
26
|
-
it('returns
|
|
26
|
+
it('returns GraphFailed when messageBus is not available in context', async () => {
|
|
27
27
|
const result = await commandHandler.handle({
|
|
28
28
|
type: 'ProcessJobGraph',
|
|
29
29
|
data: {
|
|
@@ -33,7 +33,7 @@ describe('ProcessJobGraph command handler', () => {
|
|
|
33
33
|
},
|
|
34
34
|
});
|
|
35
35
|
expect(result).toEqual({
|
|
36
|
-
type: '
|
|
36
|
+
type: 'GraphFailed',
|
|
37
37
|
data: { graphId: 'g1', reason: 'messageBus not available in context' },
|
|
38
38
|
});
|
|
39
39
|
});
|
|
@@ -54,7 +54,7 @@ describe('ProcessJobGraph command handler', () => {
|
|
|
54
54
|
await new Promise((r) => setTimeout(r, 10));
|
|
55
55
|
expect(dispatched).toEqual([{ type: 'build', data: { src: './app' }, correlationId: 'graph:g1:a' }]);
|
|
56
56
|
});
|
|
57
|
-
it('returns
|
|
57
|
+
it('returns GraphFailed for invalid graph', async () => {
|
|
58
58
|
const messageBus = createMessageBus();
|
|
59
59
|
const result = await commandHandler.handle({
|
|
60
60
|
type: 'ProcessJobGraph',
|
|
@@ -65,7 +65,7 @@ describe('ProcessJobGraph command handler', () => {
|
|
|
65
65
|
},
|
|
66
66
|
}, { messageBus });
|
|
67
67
|
expect(result).toEqual({
|
|
68
|
-
type: '
|
|
68
|
+
type: 'GraphFailed',
|
|
69
69
|
data: { graphId: 'g1', reason: 'Graph must contain at least one job' },
|
|
70
70
|
});
|
|
71
71
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-job-graph.specs.js","sourceRoot":"","sources":["../../../src/commands/process-job-graph.specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC/C,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"process-job-graph.specs.js","sourceRoot":"","sources":["../../../src/commands/process-job-graph.specs.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,14 +13,14 @@ export function createGraphProcessor(messageBus, options) {
|
|
|
13
13
|
function submit(command) {
|
|
14
14
|
const { graphId, jobs, failurePolicy } = command.data;
|
|
15
15
|
if (graphs.has(graphId)) {
|
|
16
|
-
return { type: '
|
|
16
|
+
return { type: 'GraphFailed', data: { graphId, reason: `Graph ${graphId} already submitted` } };
|
|
17
17
|
}
|
|
18
18
|
if (!Array.isArray(jobs)) {
|
|
19
|
-
return { type: '
|
|
19
|
+
return { type: 'GraphFailed', data: { graphId, reason: 'jobs is required and must be an array' } };
|
|
20
20
|
}
|
|
21
21
|
const validation = validateGraph(jobs);
|
|
22
22
|
if (!validation.valid) {
|
|
23
|
-
return { type: '
|
|
23
|
+
return { type: 'GraphFailed', data: { graphId, reason: validation.error } };
|
|
24
24
|
}
|
|
25
25
|
let state = evolve(initialState(), {
|
|
26
26
|
type: 'GraphSubmitted',
|
|
@@ -46,7 +46,7 @@ export function createGraphProcessor(messageBus, options) {
|
|
|
46
46
|
for (const d of dispatched) {
|
|
47
47
|
dispatch({ type: d.target, data: d.payload, correlationId: d.correlationId }).catch(() => { });
|
|
48
48
|
}
|
|
49
|
-
return { type: '
|
|
49
|
+
return { type: 'GraphDispatched', data: { graphId, dispatchedJobs: dispatched } };
|
|
50
50
|
}
|
|
51
51
|
function onJobEvent(graphId, event) {
|
|
52
52
|
const entry = graphs.get(graphId);
|
|
@@ -74,7 +74,7 @@ export function createGraphProcessor(messageBus, options) {
|
|
|
74
74
|
graphs.set(graphId, { ...entry, state });
|
|
75
75
|
if (isGraphComplete(state)) {
|
|
76
76
|
graphs.delete(graphId);
|
|
77
|
-
messageBus.publishEvent({ type: '
|
|
77
|
+
messageBus.publishEvent({ type: 'GraphProcessed', data: { graphId } });
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
return { submit };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-processor.js","sourceRoot":"","sources":["../../src/graph-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAoBtD,MAAM,UAAU,oBAAoB,CAAC,UAAsB,EAAE,OAAmC;IAC9F,MAAM,QAAQ,GACZ,OAAO,EAAE,QAAQ;QACjB,CAAC,CAAC,GAAG,EAAE,EAAE,CACP,UAAU,CAAC,WAAW,CAAC;YACrB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAA+B;YACzC,aAAa,EAAE,GAAG,CAAC,aAAa;SACjC,CAAC,CAAC,CAAC;IACR,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+D,CAAC;IAEtF,SAAS,MAAM,CAAC,OAA4B;QAC1C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAEtD,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"graph-processor.js","sourceRoot":"","sources":["../../src/graph-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ describe('createGraphProcessor', () => {
|
|
|
16
16
|
processor.submit(command);
|
|
17
17
|
const second = processor.submit(command);
|
|
18
18
|
expect(second).toEqual({
|
|
19
|
-
type: '
|
|
19
|
+
type: 'GraphFailed',
|
|
20
20
|
data: { graphId: 'g1', reason: 'Graph g1 already submitted' },
|
|
21
21
|
});
|
|
22
22
|
});
|
|
@@ -28,7 +28,7 @@ describe('createGraphProcessor', () => {
|
|
|
28
28
|
data: { graphId: 'g1', jobs: [], failurePolicy: 'halt' },
|
|
29
29
|
});
|
|
30
30
|
expect(result).toEqual({
|
|
31
|
-
type: '
|
|
31
|
+
type: 'GraphFailed',
|
|
32
32
|
data: { graphId: 'g1', reason: 'Graph must contain at least one job' },
|
|
33
33
|
});
|
|
34
34
|
});
|
|
@@ -47,18 +47,18 @@ describe('createGraphProcessor', () => {
|
|
|
47
47
|
},
|
|
48
48
|
});
|
|
49
49
|
expect(result).toEqual({
|
|
50
|
-
type: '
|
|
50
|
+
type: 'GraphDispatched',
|
|
51
51
|
data: {
|
|
52
52
|
graphId: 'g1',
|
|
53
53
|
dispatchedJobs: [{ jobId: 'a', target: 'build', payload: { src: './app' }, correlationId: 'graph:g1:a' }],
|
|
54
54
|
},
|
|
55
55
|
});
|
|
56
56
|
});
|
|
57
|
-
it('processes correlated events and emits
|
|
57
|
+
it('processes correlated events and emits GraphProcessed', async () => {
|
|
58
58
|
const bus = createMessageBus();
|
|
59
59
|
const processor = createGraphProcessor(bus);
|
|
60
60
|
const completed = [];
|
|
61
|
-
bus.subscribeToEvent('
|
|
61
|
+
bus.subscribeToEvent('GraphProcessed', {
|
|
62
62
|
name: 'completionTracker',
|
|
63
63
|
handle: (event) => {
|
|
64
64
|
completed.push(event);
|
|
@@ -77,13 +77,13 @@ describe('createGraphProcessor', () => {
|
|
|
77
77
|
data: { output: 'ok' },
|
|
78
78
|
correlationId: 'graph:g1:a',
|
|
79
79
|
});
|
|
80
|
-
expect(completed).toEqual([{ type: '
|
|
80
|
+
expect(completed).toEqual([{ type: 'GraphProcessed', data: { graphId: 'g1' } }]);
|
|
81
81
|
});
|
|
82
82
|
it('dispatches dependent jobs when deps complete via correlation', async () => {
|
|
83
83
|
const bus = createMessageBus();
|
|
84
84
|
const processor = createGraphProcessor(bus);
|
|
85
85
|
const completed = [];
|
|
86
|
-
bus.subscribeToEvent('
|
|
86
|
+
bus.subscribeToEvent('GraphProcessed', {
|
|
87
87
|
name: 'completionTracker',
|
|
88
88
|
handle: (event) => {
|
|
89
89
|
completed.push(event);
|
|
@@ -110,13 +110,13 @@ describe('createGraphProcessor', () => {
|
|
|
110
110
|
data: {},
|
|
111
111
|
correlationId: 'graph:g1:b',
|
|
112
112
|
});
|
|
113
|
-
expect(completed).toEqual([{ type: '
|
|
113
|
+
expect(completed).toEqual([{ type: 'GraphProcessed', data: { graphId: 'g1' } }]);
|
|
114
114
|
});
|
|
115
115
|
it('ignores correlated events after graph completes', async () => {
|
|
116
116
|
const bus = createMessageBus();
|
|
117
117
|
const processor = createGraphProcessor(bus);
|
|
118
118
|
const completed = [];
|
|
119
|
-
bus.subscribeToEvent('
|
|
119
|
+
bus.subscribeToEvent('GraphProcessed', {
|
|
120
120
|
name: 'completionTracker',
|
|
121
121
|
handle: (event) => {
|
|
122
122
|
completed.push(event);
|
|
@@ -140,13 +140,13 @@ describe('createGraphProcessor', () => {
|
|
|
140
140
|
data: {},
|
|
141
141
|
correlationId: 'graph:g1:a',
|
|
142
142
|
});
|
|
143
|
-
expect(completed).toEqual([{ type: '
|
|
143
|
+
expect(completed).toEqual([{ type: 'GraphProcessed', data: { graphId: 'g1' } }]);
|
|
144
144
|
});
|
|
145
145
|
it('ignores events with unrecognized correlationId format', async () => {
|
|
146
146
|
const bus = createMessageBus();
|
|
147
147
|
const processor = createGraphProcessor(bus);
|
|
148
148
|
const completed = [];
|
|
149
|
-
bus.subscribeToEvent('
|
|
149
|
+
bus.subscribeToEvent('GraphProcessed', {
|
|
150
150
|
name: 'completionTracker',
|
|
151
151
|
handle: (event) => {
|
|
152
152
|
completed.push(event);
|
|
@@ -250,7 +250,7 @@ describe('createGraphProcessor', () => {
|
|
|
250
250
|
data: { graphId: 'g1', failurePolicy: 'halt' },
|
|
251
251
|
});
|
|
252
252
|
expect(result).toEqual({
|
|
253
|
-
type: '
|
|
253
|
+
type: 'GraphFailed',
|
|
254
254
|
data: { graphId: 'g1', reason: 'jobs is required and must be an array' },
|
|
255
255
|
});
|
|
256
256
|
});
|
|
@@ -258,7 +258,7 @@ describe('createGraphProcessor', () => {
|
|
|
258
258
|
const bus = createMessageBus();
|
|
259
259
|
const processor = createGraphProcessor(bus);
|
|
260
260
|
const completed = [];
|
|
261
|
-
bus.subscribeToEvent('
|
|
261
|
+
bus.subscribeToEvent('GraphProcessed', {
|
|
262
262
|
name: 'completionTracker',
|
|
263
263
|
handle: (event) => {
|
|
264
264
|
completed.push(event);
|
|
@@ -280,7 +280,7 @@ describe('createGraphProcessor', () => {
|
|
|
280
280
|
data: { error: 'compile error' },
|
|
281
281
|
correlationId: 'graph:g1:a',
|
|
282
282
|
});
|
|
283
|
-
expect(completed).toEqual([{ type: '
|
|
283
|
+
expect(completed).toEqual([{ type: 'GraphProcessed', data: { graphId: 'g1' } }]);
|
|
284
284
|
});
|
|
285
285
|
});
|
|
286
286
|
//# sourceMappingURL=graph-processor.specs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-processor.specs.js","sourceRoot":"","sources":["../../src/graph-processor.specs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph-processor.specs.js","sourceRoot":"","sources":["../../src/graph-processor.specs.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ export async function handleProcessGraph(command) {
|
|
|
5
5
|
const validation = validateGraph(jobs);
|
|
6
6
|
if (!validation.valid) {
|
|
7
7
|
return {
|
|
8
|
-
type: '
|
|
8
|
+
type: 'GraphFailed',
|
|
9
9
|
data: { graphId, reason: validation.error },
|
|
10
10
|
};
|
|
11
11
|
}
|
|
@@ -19,7 +19,7 @@ export async function handleProcessGraph(command) {
|
|
|
19
19
|
}
|
|
20
20
|
const ready = getReadyJobs(state);
|
|
21
21
|
return ready.map((jobId) => ({
|
|
22
|
-
type: '
|
|
22
|
+
type: 'JobDispatched',
|
|
23
23
|
data: { graphId, jobId, target: jobById[jobId].target, payload: jobById[jobId].payload },
|
|
24
24
|
}));
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-graph.js","sourceRoot":"","sources":["../../src/process-graph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAWlD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAA4B;IACnE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO;YACL,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"process-graph.js","sourceRoot":"","sources":["../../src/process-graph.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE9D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAWlD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAA4B;IACnE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAEtD,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE;SAC5C,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,EAAE,EAAE;QACnC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE;KACvC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3B,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;KACzF,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { describe, expect, it } from 'vitest';
|
|
2
2
|
import { handleProcessGraph } from './process-graph.js';
|
|
3
3
|
describe('handleProcessGraph', () => {
|
|
4
|
-
it('returns
|
|
4
|
+
it('returns GraphFailed when graph validation fails', async () => {
|
|
5
5
|
const result = await handleProcessGraph({
|
|
6
6
|
type: 'ProcessGraph',
|
|
7
7
|
data: {
|
|
@@ -11,7 +11,7 @@ describe('handleProcessGraph', () => {
|
|
|
11
11
|
},
|
|
12
12
|
});
|
|
13
13
|
expect(result).toEqual({
|
|
14
|
-
type: '
|
|
14
|
+
type: 'GraphFailed',
|
|
15
15
|
data: {
|
|
16
16
|
graphId: 'g1',
|
|
17
17
|
reason: 'Graph must contain at least one job',
|
|
@@ -32,7 +32,7 @@ describe('handleProcessGraph', () => {
|
|
|
32
32
|
});
|
|
33
33
|
expect(result).toEqual([
|
|
34
34
|
{
|
|
35
|
-
type: '
|
|
35
|
+
type: 'JobDispatched',
|
|
36
36
|
data: { graphId: 'g1', jobId: 'a', target: 'build', payload: { src: './app' } },
|
|
37
37
|
},
|
|
38
38
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-graph.specs.js","sourceRoot":"","sources":["../../src/process-graph.specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"process-graph.specs.js","sourceRoot":"","sources":["../../src/process-graph.specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACtC,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,EAAE;gBACR,aAAa,EAAE,MAAM;aACtB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,qCAAqC;aAC9C;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC;YACtC,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE;gBACJ,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;oBACtE,EAAE,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;iBAC3D;gBACD,aAAa,EAAE,MAAM;aACtB;SACF,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;aAChF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -21,7 +21,7 @@ describe('ProcessJobGraph E2E', () => {
|
|
|
21
21
|
]));
|
|
22
22
|
await server.stop();
|
|
23
23
|
});
|
|
24
|
-
it('command dispatch returns ack and produces
|
|
24
|
+
it('command dispatch returns ack and produces GraphDispatched event', async () => {
|
|
25
25
|
const server = new PipelineServer({ port: 0 });
|
|
26
26
|
server.registerCommandHandlers(COMMANDS);
|
|
27
27
|
await server.start();
|
|
@@ -41,15 +41,15 @@ describe('ProcessJobGraph E2E', () => {
|
|
|
41
41
|
await new Promise((r) => setTimeout(r, 200));
|
|
42
42
|
const messages = await fetchJson(`http://localhost:${server.port}/messages`);
|
|
43
43
|
const eventTypes = messages.filter((m) => m.messageType === 'event').map((m) => m.message.type);
|
|
44
|
-
expect(eventTypes).toContain('
|
|
44
|
+
expect(eventTypes).toContain('GraphDispatched');
|
|
45
45
|
await server.stop();
|
|
46
46
|
});
|
|
47
|
-
it('full lifecycle produces
|
|
47
|
+
it('full lifecycle produces GraphProcessed via correlation', async () => {
|
|
48
48
|
const server = new PipelineServer({ port: 0 });
|
|
49
49
|
server.registerCommandHandlers(COMMANDS);
|
|
50
50
|
await server.start();
|
|
51
51
|
const completed = [];
|
|
52
|
-
server.getMessageBus().subscribeToEvent('
|
|
52
|
+
server.getMessageBus().subscribeToEvent('GraphProcessed', {
|
|
53
53
|
name: 'e2e-completion-tracker',
|
|
54
54
|
handle: (event) => {
|
|
55
55
|
completed.push(event);
|
|
@@ -74,7 +74,7 @@ describe('ProcessJobGraph E2E', () => {
|
|
|
74
74
|
correlationId: 'graph:e2e-g2:a',
|
|
75
75
|
});
|
|
76
76
|
await new Promise((r) => setTimeout(r, 100));
|
|
77
|
-
expect(completed).toEqual([{ type: '
|
|
77
|
+
expect(completed).toEqual([{ type: 'GraphProcessed', data: { graphId: 'e2e-g2' } }]);
|
|
78
78
|
await server.stop();
|
|
79
79
|
});
|
|
80
80
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-job-graph.e2e.specs.js","sourceRoot":"","sources":["../../src/process-job-graph.e2e.specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAqBnC,KAAK,UAAU,SAAS,CAAI,GAAW,EAAE,OAAqB;IAC5D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;AAClC,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QAErB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAmB,oBAAoB,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC;QAE/F,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;QAC9D,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAC3C,MAAM,CAAC,eAAe,CAAC;YACrB,MAAM,CAAC,gBAAgB,CAAC;gBACtB,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EAAE,wFAAwF;aACtG,CAAC;SACH,CAAC,CACH,CAAC;QAEF,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"process-job-graph.e2e.specs.js","sourceRoot":"","sources":["../../src/process-job-graph.e2e.specs.ts"],"names":[],"mappings":"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"}
|