@auto-engineer/job-graph-processor 1.12.1

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 (116) hide show
  1. package/.turbo/turbo-build.log +5 -0
  2. package/.turbo/turbo-test.log +14 -0
  3. package/.turbo/turbo-type-check.log +4 -0
  4. package/CHANGELOG.md +12 -0
  5. package/LICENSE +10 -0
  6. package/README.md +408 -0
  7. package/dist/src/apply-policy.d.ts +3 -0
  8. package/dist/src/apply-policy.d.ts.map +1 -0
  9. package/dist/src/apply-policy.js +24 -0
  10. package/dist/src/apply-policy.js.map +1 -0
  11. package/dist/src/apply-policy.specs.d.ts +2 -0
  12. package/dist/src/apply-policy.specs.d.ts.map +1 -0
  13. package/dist/src/apply-policy.specs.js +75 -0
  14. package/dist/src/apply-policy.specs.js.map +1 -0
  15. package/dist/src/commands/process-job-graph.d.ts +31 -0
  16. package/dist/src/commands/process-job-graph.d.ts.map +1 -0
  17. package/dist/src/commands/process-job-graph.js +64 -0
  18. package/dist/src/commands/process-job-graph.js.map +1 -0
  19. package/dist/src/commands/process-job-graph.specs.d.ts +2 -0
  20. package/dist/src/commands/process-job-graph.specs.d.ts.map +1 -0
  21. package/dist/src/commands/process-job-graph.specs.js +73 -0
  22. package/dist/src/commands/process-job-graph.specs.js.map +1 -0
  23. package/dist/src/evolve.d.ts +70 -0
  24. package/dist/src/evolve.d.ts.map +1 -0
  25. package/dist/src/evolve.js +82 -0
  26. package/dist/src/evolve.js.map +1 -0
  27. package/dist/src/evolve.specs.d.ts +2 -0
  28. package/dist/src/evolve.specs.d.ts.map +1 -0
  29. package/dist/src/evolve.specs.js +209 -0
  30. package/dist/src/evolve.specs.js.map +1 -0
  31. package/dist/src/graph-processor.d.ts +22 -0
  32. package/dist/src/graph-processor.d.ts.map +1 -0
  33. package/dist/src/graph-processor.js +82 -0
  34. package/dist/src/graph-processor.js.map +1 -0
  35. package/dist/src/graph-processor.specs.d.ts +2 -0
  36. package/dist/src/graph-processor.specs.d.ts.map +1 -0
  37. package/dist/src/graph-processor.specs.js +286 -0
  38. package/dist/src/graph-processor.specs.js.map +1 -0
  39. package/dist/src/graph-validator.d.ts +19 -0
  40. package/dist/src/graph-validator.d.ts.map +1 -0
  41. package/dist/src/graph-validator.js +65 -0
  42. package/dist/src/graph-validator.js.map +1 -0
  43. package/dist/src/graph-validator.specs.d.ts +2 -0
  44. package/dist/src/graph-validator.specs.d.ts.map +1 -0
  45. package/dist/src/graph-validator.specs.js +86 -0
  46. package/dist/src/graph-validator.specs.js.map +1 -0
  47. package/dist/src/handle-job-event.d.ts +16 -0
  48. package/dist/src/handle-job-event.d.ts.map +1 -0
  49. package/dist/src/handle-job-event.js +46 -0
  50. package/dist/src/handle-job-event.js.map +1 -0
  51. package/dist/src/handle-job-event.specs.d.ts +2 -0
  52. package/dist/src/handle-job-event.specs.d.ts.map +1 -0
  53. package/dist/src/handle-job-event.specs.js +136 -0
  54. package/dist/src/handle-job-event.specs.js.map +1 -0
  55. package/dist/src/index.d.ts +41 -0
  56. package/dist/src/index.d.ts.map +1 -0
  57. package/dist/src/index.js +11 -0
  58. package/dist/src/index.js.map +1 -0
  59. package/dist/src/integration.specs.d.ts +2 -0
  60. package/dist/src/integration.specs.d.ts.map +1 -0
  61. package/dist/src/integration.specs.js +225 -0
  62. package/dist/src/integration.specs.js.map +1 -0
  63. package/dist/src/process-graph.d.ts +14 -0
  64. package/dist/src/process-graph.d.ts.map +1 -0
  65. package/dist/src/process-graph.js +26 -0
  66. package/dist/src/process-graph.js.map +1 -0
  67. package/dist/src/process-graph.specs.d.ts +2 -0
  68. package/dist/src/process-graph.specs.d.ts.map +1 -0
  69. package/dist/src/process-graph.specs.js +41 -0
  70. package/dist/src/process-graph.specs.js.map +1 -0
  71. package/dist/src/process-job-graph.e2e.specs.d.ts +2 -0
  72. package/dist/src/process-job-graph.e2e.specs.d.ts.map +1 -0
  73. package/dist/src/process-job-graph.e2e.specs.js +81 -0
  74. package/dist/src/process-job-graph.e2e.specs.js.map +1 -0
  75. package/dist/src/retry-manager.d.ts +10 -0
  76. package/dist/src/retry-manager.d.ts.map +1 -0
  77. package/dist/src/retry-manager.js +17 -0
  78. package/dist/src/retry-manager.js.map +1 -0
  79. package/dist/src/retry-manager.specs.d.ts +2 -0
  80. package/dist/src/retry-manager.specs.d.ts.map +1 -0
  81. package/dist/src/retry-manager.specs.js +55 -0
  82. package/dist/src/retry-manager.specs.js.map +1 -0
  83. package/dist/src/timeout-manager.d.ts +7 -0
  84. package/dist/src/timeout-manager.d.ts.map +1 -0
  85. package/dist/src/timeout-manager.js +25 -0
  86. package/dist/src/timeout-manager.js.map +1 -0
  87. package/dist/src/timeout-manager.specs.d.ts +2 -0
  88. package/dist/src/timeout-manager.specs.d.ts.map +1 -0
  89. package/dist/src/timeout-manager.specs.js +44 -0
  90. package/dist/src/timeout-manager.specs.js.map +1 -0
  91. package/dist/tsconfig.tsbuildinfo +1 -0
  92. package/ketchup-plan.md +31 -0
  93. package/package.json +25 -0
  94. package/src/apply-policy.specs.ts +85 -0
  95. package/src/apply-policy.ts +27 -0
  96. package/src/commands/process-job-graph.specs.ts +93 -0
  97. package/src/commands/process-job-graph.ts +80 -0
  98. package/src/evolve.specs.ts +235 -0
  99. package/src/evolve.ts +121 -0
  100. package/src/graph-processor.specs.ts +331 -0
  101. package/src/graph-processor.ts +121 -0
  102. package/src/graph-validator.specs.ts +105 -0
  103. package/src/graph-validator.ts +94 -0
  104. package/src/handle-job-event.specs.ts +154 -0
  105. package/src/handle-job-event.ts +59 -0
  106. package/src/index.ts +17 -0
  107. package/src/integration.specs.ts +249 -0
  108. package/src/process-graph.specs.ts +44 -0
  109. package/src/process-graph.ts +42 -0
  110. package/src/process-job-graph.e2e.specs.ts +121 -0
  111. package/src/retry-manager.specs.ts +66 -0
  112. package/src/retry-manager.ts +29 -0
  113. package/src/timeout-manager.specs.ts +55 -0
  114. package/src/timeout-manager.ts +34 -0
  115. package/tsconfig.json +9 -0
  116. package/vitest.config.ts +22 -0
@@ -0,0 +1,81 @@
1
+ import { PipelineServer } from '@auto-engineer/pipeline';
2
+ import { describe, expect, it } from 'vitest';
3
+ import { COMMANDS } from './index.js';
4
+ async function fetchJson(url, options) {
5
+ const res = await fetch(url, options);
6
+ return res.json();
7
+ }
8
+ describe('ProcessJobGraph E2E', () => {
9
+ it('registry shows ProcessJobGraph command handler', async () => {
10
+ const server = new PipelineServer({ port: 0 });
11
+ server.registerCommandHandlers(COMMANDS);
12
+ await server.start();
13
+ const registry = await fetchJson(`http://localhost:${server.port}/registry`);
14
+ expect(registry.commandHandlers).toContain('ProcessJobGraph');
15
+ expect(registry.commandsWithMetadata).toEqual(expect.arrayContaining([
16
+ expect.objectContaining({
17
+ name: 'ProcessJobGraph',
18
+ alias: 'process:job-graph',
19
+ description: 'Process a directed acyclic graph of jobs with dependency tracking and failure policies',
20
+ }),
21
+ ]));
22
+ await server.stop();
23
+ });
24
+ it('command dispatch returns ack and produces graph.dispatching event', async () => {
25
+ const server = new PipelineServer({ port: 0 });
26
+ server.registerCommandHandlers(COMMANDS);
27
+ await server.start();
28
+ const ack = await fetchJson(`http://localhost:${server.port}/command`, {
29
+ method: 'POST',
30
+ headers: { 'Content-Type': 'application/json' },
31
+ body: JSON.stringify({
32
+ type: 'ProcessJobGraph',
33
+ data: {
34
+ graphId: 'e2e-g1',
35
+ jobs: [{ id: 'a', dependsOn: [], target: 'build', payload: { src: './app' } }],
36
+ failurePolicy: 'halt',
37
+ },
38
+ }),
39
+ });
40
+ expect(ack.status).toBe('ack');
41
+ await new Promise((r) => setTimeout(r, 200));
42
+ const messages = await fetchJson(`http://localhost:${server.port}/messages`);
43
+ const eventTypes = messages.filter((m) => m.messageType === 'event').map((m) => m.message.type);
44
+ expect(eventTypes).toContain('graph.dispatching');
45
+ await server.stop();
46
+ });
47
+ it('full lifecycle produces graph.completed via correlation', async () => {
48
+ const server = new PipelineServer({ port: 0 });
49
+ server.registerCommandHandlers(COMMANDS);
50
+ await server.start();
51
+ const completed = [];
52
+ server.getMessageBus().subscribeToEvent('graph.completed', {
53
+ name: 'e2e-completion-tracker',
54
+ handle: (event) => {
55
+ completed.push(event);
56
+ },
57
+ });
58
+ await fetchJson(`http://localhost:${server.port}/command`, {
59
+ method: 'POST',
60
+ headers: { 'Content-Type': 'application/json' },
61
+ body: JSON.stringify({
62
+ type: 'ProcessJobGraph',
63
+ data: {
64
+ graphId: 'e2e-g2',
65
+ jobs: [{ id: 'a', dependsOn: [], target: 'build', payload: {} }],
66
+ failurePolicy: 'halt',
67
+ },
68
+ }),
69
+ });
70
+ await new Promise((r) => setTimeout(r, 200));
71
+ await server.getMessageBus().publishEvent({
72
+ type: 'BuildCompleted',
73
+ data: { output: 'ok' },
74
+ correlationId: 'graph:e2e-g2:a',
75
+ });
76
+ await new Promise((r) => setTimeout(r, 100));
77
+ expect(completed).toEqual([{ type: 'graph.completed', data: { graphId: 'e2e-g2' } }]);
78
+ await server.stop();
79
+ });
80
+ });
81
+ //# sourceMappingURL=process-job-graph.e2e.specs.js.map
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1,10 @@
1
+ export interface RetryConfig {
2
+ maxRetries: number;
3
+ backoffMs: number;
4
+ maxBackoffMs: number;
5
+ }
6
+ export interface RetryManager {
7
+ recordFailure(jobId: string, config: RetryConfig): boolean;
8
+ }
9
+ export declare function createRetryManager(onRetry: (jobId: string, attempt: number) => void): RetryManager;
10
+ //# sourceMappingURL=retry-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-manager.d.ts","sourceRoot":"","sources":["../../src/retry-manager.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC;CAC5D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,YAAY,CAkBlG"}
@@ -0,0 +1,17 @@
1
+ export function createRetryManager(onRetry) {
2
+ const attempts = new Map();
3
+ return {
4
+ recordFailure(jobId, config) {
5
+ const current = attempts.get(jobId) ?? 0;
6
+ const next = current + 1;
7
+ if (next > config.maxRetries) {
8
+ return true;
9
+ }
10
+ attempts.set(jobId, next);
11
+ const delay = Math.min(config.backoffMs * 2 ** (next - 1), config.maxBackoffMs);
12
+ setTimeout(() => onRetry(jobId, next), delay);
13
+ return false;
14
+ },
15
+ };
16
+ }
17
+ //# sourceMappingURL=retry-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-manager.js","sourceRoot":"","sources":["../../src/retry-manager.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,kBAAkB,CAAC,OAAiD;IAClF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3C,OAAO;QACL,aAAa,CAAC,KAAa,EAAE,MAAmB;YAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;YAEzB,IAAI,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC;YAED,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAChF,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=retry-manager.specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-manager.specs.d.ts","sourceRoot":"","sources":["../../src/retry-manager.specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+ import { createRetryManager } from './retry-manager.js';
3
+ describe('createRetryManager', () => {
4
+ it('schedules retry with initial backoff on first failure', () => {
5
+ vi.useFakeTimers();
6
+ const onRetry = vi.fn();
7
+ const manager = createRetryManager(onRetry);
8
+ manager.recordFailure('job-a', { maxRetries: 3, backoffMs: 100, maxBackoffMs: 5000 });
9
+ vi.advanceTimersByTime(100);
10
+ expect(onRetry).toHaveBeenCalledWith('job-a', 1);
11
+ vi.useRealTimers();
12
+ });
13
+ it('uses exponential backoff on subsequent failures', () => {
14
+ vi.useFakeTimers();
15
+ const onRetry = vi.fn();
16
+ const manager = createRetryManager(onRetry);
17
+ const config = { maxRetries: 3, backoffMs: 100, maxBackoffMs: 5000 };
18
+ manager.recordFailure('job-a', config);
19
+ vi.advanceTimersByTime(100);
20
+ manager.recordFailure('job-a', config);
21
+ vi.advanceTimersByTime(199);
22
+ expect(onRetry).toHaveBeenCalledTimes(1);
23
+ vi.advanceTimersByTime(1);
24
+ expect(onRetry).toHaveBeenCalledTimes(2);
25
+ expect(onRetry).toHaveBeenLastCalledWith('job-a', 2);
26
+ vi.useRealTimers();
27
+ });
28
+ it('returns true when max retries exhausted', () => {
29
+ vi.useFakeTimers();
30
+ const onRetry = vi.fn();
31
+ const manager = createRetryManager(onRetry);
32
+ const config = { maxRetries: 1, backoffMs: 100, maxBackoffMs: 5000 };
33
+ manager.recordFailure('job-a', config);
34
+ vi.advanceTimersByTime(100);
35
+ const exhausted = manager.recordFailure('job-a', config);
36
+ expect(exhausted).toBe(true);
37
+ expect(onRetry).toHaveBeenCalledTimes(1);
38
+ vi.useRealTimers();
39
+ });
40
+ it('caps backoff at maxBackoffMs', () => {
41
+ vi.useFakeTimers();
42
+ const onRetry = vi.fn();
43
+ const manager = createRetryManager(onRetry);
44
+ const config = { maxRetries: 10, backoffMs: 1000, maxBackoffMs: 2000 };
45
+ manager.recordFailure('job-a', config);
46
+ vi.advanceTimersByTime(1000);
47
+ manager.recordFailure('job-a', config);
48
+ vi.advanceTimersByTime(2000);
49
+ manager.recordFailure('job-a', config);
50
+ vi.advanceTimersByTime(2000);
51
+ expect(onRetry).toHaveBeenCalledTimes(3);
52
+ vi.useRealTimers();
53
+ });
54
+ });
55
+ //# sourceMappingURL=retry-manager.specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry-manager.specs.js","sourceRoot":"","sources":["../../src/retry-manager.specs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface TimeoutManager {
2
+ start(jobId: string, timeoutMs: number): void;
3
+ clear(jobId: string): void;
4
+ clearAll(): void;
5
+ }
6
+ export declare function createTimeoutManager(onTimeout: (jobId: string) => void): TimeoutManager;
7
+ //# sourceMappingURL=timeout-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout-manager.d.ts","sourceRoot":"","sources":["../../src/timeout-manager.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,cAAc,CA2BvF"}
@@ -0,0 +1,25 @@
1
+ export function createTimeoutManager(onTimeout) {
2
+ const timers = new Map();
3
+ return {
4
+ start(jobId, timeoutMs) {
5
+ timers.set(jobId, setTimeout(() => {
6
+ timers.delete(jobId);
7
+ onTimeout(jobId);
8
+ }, timeoutMs));
9
+ },
10
+ clear(jobId) {
11
+ const timer = timers.get(jobId);
12
+ if (timer !== undefined) {
13
+ clearTimeout(timer);
14
+ timers.delete(jobId);
15
+ }
16
+ },
17
+ clearAll() {
18
+ for (const timer of timers.values()) {
19
+ clearTimeout(timer);
20
+ }
21
+ timers.clear();
22
+ },
23
+ };
24
+ }
25
+ //# sourceMappingURL=timeout-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout-manager.js","sourceRoot":"","sources":["../../src/timeout-manager.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,oBAAoB,CAAC,SAAkC;IACrE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyC,CAAC;IAEhE,OAAO;QACL,KAAK,CAAC,KAAa,EAAE,SAAiB;YACpC,MAAM,CAAC,GAAG,CACR,KAAK,EACL,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACrB,SAAS,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,EAAE,SAAS,CAAC,CACd,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,KAAa;YACjB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,QAAQ;YACN,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBACpC,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YACD,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=timeout-manager.specs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout-manager.specs.d.ts","sourceRoot":"","sources":["../../src/timeout-manager.specs.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+ import { createTimeoutManager } from './timeout-manager.js';
3
+ describe('createTimeoutManager', () => {
4
+ it('fires callback when timer expires', () => {
5
+ vi.useFakeTimers();
6
+ const onTimeout = vi.fn();
7
+ const manager = createTimeoutManager(onTimeout);
8
+ manager.start('job-a', 1000);
9
+ vi.advanceTimersByTime(1000);
10
+ expect(onTimeout).toHaveBeenCalledWith('job-a');
11
+ vi.useRealTimers();
12
+ });
13
+ it('does not fire callback before timeout', () => {
14
+ vi.useFakeTimers();
15
+ const onTimeout = vi.fn();
16
+ const manager = createTimeoutManager(onTimeout);
17
+ manager.start('job-a', 1000);
18
+ vi.advanceTimersByTime(999);
19
+ expect(onTimeout).not.toHaveBeenCalled();
20
+ vi.useRealTimers();
21
+ });
22
+ it('cancels timer and prevents callback', () => {
23
+ vi.useFakeTimers();
24
+ const onTimeout = vi.fn();
25
+ const manager = createTimeoutManager(onTimeout);
26
+ manager.start('job-a', 1000);
27
+ manager.clear('job-a');
28
+ vi.advanceTimersByTime(1000);
29
+ expect(onTimeout).not.toHaveBeenCalled();
30
+ vi.useRealTimers();
31
+ });
32
+ it('clearAll cancels all active timers', () => {
33
+ vi.useFakeTimers();
34
+ const onTimeout = vi.fn();
35
+ const manager = createTimeoutManager(onTimeout);
36
+ manager.start('job-a', 1000);
37
+ manager.start('job-b', 2000);
38
+ manager.clearAll();
39
+ vi.advanceTimersByTime(2000);
40
+ expect(onTimeout).not.toHaveBeenCalled();
41
+ vi.useRealTimers();
42
+ });
43
+ });
44
+ //# sourceMappingURL=timeout-manager.specs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout-manager.specs.js","sourceRoot":"","sources":["../../src/timeout-manager.specs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAEhD,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7B,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAChD,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAEhD,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7B,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAE5B,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzC,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAEhD,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvB,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzC,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAEhD,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7B,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzC,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@vitest+pretty-format@3.2.4/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/helpers.d.ts","../../../node_modules/.pnpm/tinyrainbow@2.0.0/node_modules/tinyrainbow/dist/index-8b61d5bc.d.ts","../../../node_modules/.pnpm/tinyrainbow@2.0.0/node_modules/tinyrainbow/dist/node.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/tasks.d-CkscK4of.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/diff.d.ts","../../../node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/types.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/error.d.ts","../../../node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/index.d.ts","../../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.12_@types+node@20.19.11_jsdom@26.1.0_terser@5.44.1/node_modules/vitest/optional-types.d.ts","../../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.12_@types+node@20.19.11_jsdom@26.1.0_terser@5.44.1/node_modules/vitest/dist/chunks/environment.d.cL3nLXbE.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/@types+estree@1.0.8/node_modules/@types/estree/index.d.ts","../../../node_modules/.pnpm/rollup@4.49.0/node_modules/rollup/dist/rollup.d.ts","../../../node_modules/.pnpm/rollup@4.49.0/node_modules/rollup/dist/parseAst.d.ts","../../../node_modules/.pnpm/vite@5.4.19_@types+node@20.19.11_terser@5.44.1/node_modules/vite/types/hmrPayload.d.ts","../../../node_modules/.pnpm/vite@5.4.19_@types+node@20.19.11_terser@5.44.1/node_modules/vite/types/customEvent.d.ts","../../../node_modules/.pnpm/vite@5.4.19_@types+node@20.19.11_terser@5.44.1/node_modules/vite/types/hot.d.ts","../../../node_modules/.pnpm/vite@5.4.19_@types+node@20.19.11_terser@5.44.1/node_modules/vite/dist/node/types.d-aGj9QkWt.d.ts","../../../node_modules/.pnpm/esbuild@0.21.5/node_modules/esbuild/lib/main.d.ts","../../../node_modules/.pnpm/source-map-js@1.2.1/node_modules/source-map-js/source-map.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/previous-map.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/input.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/css-syntax-error.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/declaration.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/root.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/warning.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/lazy-result.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/no-work-result.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/processor.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/result.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/document.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/rule.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/node.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/comment.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/container.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/at-rule.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/list.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/postcss.d.ts","../../../node_modules/.pnpm/postcss@8.5.6/node_modules/postcss/lib/postcss.d.mts","../../../node_modules/.pnpm/vite@5.4.19_@types+node@20.19.11_terser@5.44.1/node_modules/vite/dist/node/runtime.d.ts","../../../node_modules/.pnpm/vite@5.4.19_@types+node@20.19.11_terser@5.44.1/node_modules/vite/types/importGlob.d.ts","../../../node_modules/.pnpm/vite@5.4.19_@types+node@20.19.11_terser@5.44.1/node_modules/vite/types/metadata.d.ts","../../../node_modules/.pnpm/vite@5.4.19_@types+node@20.19.11_terser@5.44.1/node_modules/vite/dist/node/index.d.ts","../../../node_modules/.pnpm/@vitest+mocker@3.2.4_vite@5.4.19_@types+node@20.19.11_terser@5.44.1_/node_modules/@vitest/mocker/dist/registry.d-D765pazg.d.ts","../../../node_modules/.pnpm/@vitest+mocker@3.2.4_vite@5.4.19_@types+node@20.19.11_terser@5.44.1_/node_modules/@vitest/mocker/dist/types.d-D_aRZRdy.d.ts","../../../node_modules/.pnpm/@vitest+mocker@3.2.4_vite@5.4.19_@types+node@20.19.11_terser@5.44.1_/node_modules/@vitest/mocker/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+utils@3.2.4/node_modules/@vitest/utils/dist/source-map.d.ts","../../../node_modules/.pnpm/vite-node@3.2.4_@types+node@20.19.11_terser@5.44.1/node_modules/vite-node/dist/trace-mapping.d-DLVdEqOp.d.ts","../../../node_modules/.pnpm/vite-node@3.2.4_@types+node@20.19.11_terser@5.44.1/node_modules/vite-node/dist/index.d-DGmxD2U7.d.ts","../../../node_modules/.pnpm/vite-node@3.2.4_@types+node@20.19.11_terser@5.44.1/node_modules/vite-node/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/environment.d-DHdQ1Csl.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/rawSnapshot.d-lFsMJFUd.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/environment.d.ts","../../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.12_@types+node@20.19.11_jsdom@26.1.0_terser@5.44.1/node_modules/vitest/dist/chunks/config.d.D2ROskhv.d.ts","../../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.12_@types+node@20.19.11_jsdom@26.1.0_terser@5.44.1/node_modules/vitest/dist/chunks/worker.d.1GmBbd7G.d.ts","../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../node_modules/.pnpm/@types+chai@5.2.2/node_modules/@types/chai/index.d.ts","../../../node_modules/.pnpm/@vitest+runner@3.2.4/node_modules/@vitest/runner/dist/utils.d.ts","../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.12_@types+node@20.19.11_jsdom@26.1.0_terser@5.44.1/node_modules/vitest/dist/chunks/benchmark.d.BwvBVTda.d.ts","../../../node_modules/.pnpm/vite-node@3.2.4_@types+node@20.19.11_terser@5.44.1/node_modules/vite-node/dist/client.d.ts","../../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.12_@types+node@20.19.11_jsdom@26.1.0_terser@5.44.1/node_modules/vitest/dist/chunks/coverage.d.S9RMNXIe.d.ts","../../../node_modules/.pnpm/@vitest+snapshot@3.2.4/node_modules/@vitest/snapshot/dist/manager.d.ts","../../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.12_@types+node@20.19.11_jsdom@26.1.0_terser@5.44.1/node_modules/vitest/dist/chunks/reporters.d.BFLkQcL6.d.ts","../../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.12_@types+node@20.19.11_jsdom@26.1.0_terser@5.44.1/node_modules/vitest/dist/chunks/worker.d.CKwWzBSj.d.ts","../../../node_modules/.pnpm/@vitest+spy@3.2.4/node_modules/@vitest/spy/dist/index.d.ts","../../../node_modules/.pnpm/@vitest+expect@3.2.4/node_modules/@vitest/expect/dist/index.d.ts","../../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.12_@types+node@20.19.11_jsdom@26.1.0_terser@5.44.1/node_modules/vitest/dist/chunks/global.d.MAmajcmJ.d.ts","../../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.12_@types+node@20.19.11_jsdom@26.1.0_terser@5.44.1/node_modules/vitest/dist/chunks/vite.d.CMLlLIFP.d.ts","../../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.12_@types+node@20.19.11_jsdom@26.1.0_terser@5.44.1/node_modules/vitest/dist/chunks/mocker.d.BE_2ls6u.d.ts","../../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.12_@types+node@20.19.11_jsdom@26.1.0_terser@5.44.1/node_modules/vitest/dist/chunks/suite.d.FvehnV49.d.ts","../../../node_modules/.pnpm/expect-type@1.2.2/node_modules/expect-type/dist/utils.d.ts","../../../node_modules/.pnpm/expect-type@1.2.2/node_modules/expect-type/dist/overloads.d.ts","../../../node_modules/.pnpm/expect-type@1.2.2/node_modules/expect-type/dist/branding.d.ts","../../../node_modules/.pnpm/expect-type@1.2.2/node_modules/expect-type/dist/messages.d.ts","../../../node_modules/.pnpm/expect-type@1.2.2/node_modules/expect-type/dist/index.d.ts","../../../node_modules/.pnpm/vitest@3.2.4_@types+debug@4.1.12_@types+node@20.19.11_jsdom@26.1.0_terser@5.44.1/node_modules/vitest/dist/index.d.ts","../src/graph-validator.ts","../src/evolve.ts","../src/apply-policy.ts","../src/apply-policy.specs.ts","../src/evolve.specs.ts","../../message-bus/dist/src/types.d.ts","../../message-bus/dist/src/define-command.d.ts","../../message-bus/dist/src/message-bus.d.ts","../../message-bus/dist/src/index.d.ts","../src/handle-job-event.ts","../src/graph-processor.ts","../src/graph-processor.specs.ts","../src/graph-validator.specs.ts","../src/handle-job-event.specs.ts","../src/commands/process-job-graph.ts","../src/process-graph.ts","../src/retry-manager.ts","../src/timeout-manager.ts","../src/index.ts","../src/integration.specs.ts","../src/process-graph.specs.ts","../../../node_modules/.pnpm/@event-driven-io+emmett@0.38.5_@types+async-retry@1.4.9_@types+uuid@10.0.0_async-retry@_17279c74b8f5ba4c5354554258b6a383/node_modules/@event-driven-io/emmett/dist/index-7wNEMFlg.d.ts","../../../node_modules/.pnpm/@types+retry@0.12.5/node_modules/@types/retry/index.d.ts","../../../node_modules/.pnpm/@types+async-retry@1.4.9/node_modules/@types/async-retry/index.d.ts","../../../node_modules/.pnpm/web-streams-polyfill@4.2.0/node_modules/web-streams-polyfill/types/ponyfill.d.ts","../../../node_modules/.pnpm/@event-driven-io+emmett@0.38.5_@types+async-retry@1.4.9_@types+uuid@10.0.0_async-retry@_17279c74b8f5ba4c5354554258b6a383/node_modules/@event-driven-io/emmett/dist/index.d.ts","../../pipeline/dist/src/runtime/context.d.ts","../../pipeline/dist/src/core/types.d.ts","../../pipeline/dist/src/core/descriptors.d.ts","../../pipeline/dist/src/graph/types.d.ts","../../pipeline/dist/src/builder/define.d.ts","../../pipeline/dist/src/logging/event-logger.d.ts","../../pipeline/dist/src/projections/await-tracker-projection.d.ts","../../pipeline/dist/src/projections/item-status-projection.d.ts","../../pipeline/dist/src/projections/message-log-projection.d.ts","../../pipeline/dist/src/projections/node-status-projection.d.ts","../../pipeline/dist/src/projections/phased-execution-projection.d.ts","../../pipeline/dist/src/projections/settled-instance-projection.d.ts","../../pipeline/dist/src/store/pipeline-read-model.d.ts","../../pipeline/dist/src/runtime/await-tracker.d.ts","../../pipeline/dist/src/runtime/event-command-map.d.ts","../../pipeline/dist/src/runtime/phased-executor.d.ts","../../pipeline/dist/src/runtime/pipeline-runtime.d.ts","../../pipeline/dist/src/runtime/settled-tracker.d.ts","../../../node_modules/.pnpm/@types+mime@1.3.5/node_modules/@types/mime/index.d.ts","../../../node_modules/.pnpm/@types+send@0.17.5/node_modules/@types/send/index.d.ts","../../../node_modules/.pnpm/@types+qs@6.14.0/node_modules/@types/qs/index.d.ts","../../../node_modules/.pnpm/@types+range-parser@1.2.7/node_modules/@types/range-parser/index.d.ts","../../../node_modules/.pnpm/@types+express-serve-static-core@5.1.0/node_modules/@types/express-serve-static-core/index.d.ts","../../../node_modules/.pnpm/@types+http-errors@2.0.5/node_modules/@types/http-errors/index.d.ts","../../../node_modules/.pnpm/@types+serve-static@2.2.0/node_modules/@types/serve-static/index.d.ts","../../../node_modules/.pnpm/@types+connect@3.4.38/node_modules/@types/connect/index.d.ts","../../../node_modules/.pnpm/@types+body-parser@1.19.6/node_modules/@types/body-parser/index.d.ts","../../../node_modules/.pnpm/@types+express@5.0.6/node_modules/@types/express/index.d.ts","../../pipeline/dist/src/server/pipeline-server.d.ts","../../pipeline/dist/src/server/sse-manager.d.ts","../../pipeline/dist/src/testing/snapshot-compare.d.ts","../../pipeline/dist/src/index.d.ts","../src/process-job-graph.e2e.specs.ts","../src/retry-manager.specs.ts","../src/timeout-manager.specs.ts","../src/commands/process-job-graph.specs.ts"],"fileIdsList":[[65,108],[65,108,246,248,249],[65,108,247],[65,108,123,157,276],[65,108,203],[65,108,123,157],[65,108,120,123,157,270,271,272],[65,108,273,275,277],[65,105,108],[65,107,108],[108],[65,108,113,142],[65,108,109,114,120,128,139,150],[65,108,109,110,120,128],[60,61,62,65,108],[65,108,111,151],[65,108,112,113,121,129],[65,108,113,139,147],[65,108,114,116,120,128],[65,107,108,115],[65,108,116,117],[65,108,118,120],[65,107,108,120],[65,108,120,121,122,139,150],[65,108,120,121,122,135,139,142],[65,103,108],[65,108,116,120,123,128,139,150],[65,108,120,121,123,124,128,139,147,150],[65,108,123,125,139,147,150],[63,64,65,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156],[65,108,120,126],[65,108,127,150,155],[65,108,116,120,128,139],[65,108,129],[65,108,130],[65,107,108,131],[65,105,106,107,108,109,110,111,112,113,114,115,116,117,118,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156],[65,108,133],[65,108,134],[65,108,120,135,136],[65,108,135,137,151,153],[65,108,120,139,140,142],[65,108,141,142],[65,108,139,140],[65,108,142],[65,108,143],[65,105,108,139,144],[65,108,120,145,146],[65,108,145,146],[65,108,113,128,139,147],[65,108,148],[65,108,128,149],[65,108,123,134,150],[65,108,113,151],[65,108,139,152],[65,108,127,153],[65,108,154],[65,108,120,122,131,139,142,150,153,155],[65,108,139,156],[65,108,121,139,157,269],[65,108,123,157,274],[50,51,54,65,108,213],[65,108,190,191],[51,52,54,55,56,65,108],[51,65,108],[51,52,54,65,108],[51,52,65,108],[65,108,197],[46,65,108,197,198],[46,65,108,197],[46,53,65,108],[47,65,108],[46,47,48,50,65,108],[46,65,108],[65,108,219,220],[65,108,219,220,221,222],[65,108,219,221],[65,108,219],[65,108,181],[65,108,179,181],[65,108,170,178,179,180,182,184],[65,108,168],[65,108,171,176,181,184],[65,108,167,184],[65,108,171,172,175,176,177,184],[65,108,171,172,173,175,176,184],[65,108,168,169,170,171,172,176,177,178,180,181,182,184],[65,108,184],[65,108,166,168,169,170,171,172,173,175,176,177,178,179,180,181,182,183],[65,108,166,184],[65,108,171,173,174,176,177,184],[65,108,175,184],[65,108,176,177,181,184],[65,108,169,179],[65,108,159,188],[65,108,158,159],[49,65,108],[65,75,79,108,150],[65,75,108,139,150],[65,70,108],[65,72,75,108,147,150],[65,108,128,147],[65,108,157],[65,70,108,157],[65,72,75,108,128,150],[65,67,68,71,74,108,120,139,150],[65,75,82,108],[65,67,73,108],[65,75,96,97,108],[65,71,75,108,142,150,157],[65,96,108,157],[65,69,70,108,157],[65,75,108],[65,69,70,71,72,73,74,75,76,77,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,97,98,99,100,101,102,108],[65,75,90,108],[65,75,82,83,108],[65,73,75,83,84,108],[65,74,108],[65,67,70,75,108],[65,75,79,83,84,108],[65,79,108],[65,73,75,78,108,150],[65,67,72,75,82,108],[65,108,139],[65,70,75,96,108,155,157],[65,108,194,195],[65,108,194],[65,108,120,121,123,124,125,128,139,147,150,156,157,159,160,161,162,163,164,165,185,186,187,188],[65,108,161,162,163,164],[65,108,161,162,163],[65,108,161],[65,108,162],[65,108,159],[57,65,108,205,206,215],[46,54,57,65,108,199,200,215],[65,108,208],[58,65,108],[46,57,59,65,108,199,207,214,215],[65,108,192],[46,51,54,57,59,65,108,111,121,139,189,192,193,196,199,201,202,204,207,209,210,215,216],[57,65,108,205,206,207,215],[65,108,189,211,216],[57,59,65,108,196,199,201,215],[65,108,155,202],[46,51,54,57,58,59,65,108,111,121,139,155,189,192,193,196,199,200,201,202,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,223],[65,108,224,226,227],[65,108,226],[65,108,224,233,239],[65,108,225,226,233,235],[65,108,224,226],[65,108,225],[65,108,224,233,235],[65,108,225,226,227,233,234],[65,108,224,225],[65,108,224,226,234],[65,108,226,227,233],[65,108,225,226,227,234,235,239,240,241,242],[65,108,224,226,234,241,242],[65,108,224,240],[65,108,225,226,233],[65,108,224,243,282],[65,108,224,241],[65,108,224,242],[65,108,230],[65,108,230,231,232],[65,108,233,251,252,253,254],[65,108,233,251,252],[65,108,233],[65,108,233,251,252,253,254,255,256,257,264,265,266,267,268,279,280,281],[65,108,254],[65,108,257,263],[65,108,233,250,253],[65,108,233,253,261,263],[65,108,233,251,253],[65,108,233,262,263],[65,108,123,233,251,255,265,278],[65,108,233,278],[65,108,250,254,257,258,259,260,261,262]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"5c54a34e3d91727f7ae840bfe4d5d1c9a2f93c54cb7b6063d06ee4a6c3322656","impliedFormat":99},{"version":"db4da53b03596668cf6cc9484834e5de3833b9e7e64620cf08399fe069cd398d","impliedFormat":99},{"version":"ac7c28f153820c10850457994db1462d8c8e462f253b828ad942a979f726f2f9","impliedFormat":99},{"version":"f9b028d3c3891dd817e24d53102132b8f696269309605e6ed4f0db2c113bbd82","impliedFormat":99},{"version":"fb7c8d90e52e2884509166f96f3d591020c7b7977ab473b746954b0c8d100960","impliedFormat":99},{"version":"0bff51d6ed0c9093f6955b9d8258ce152ddb273359d50a897d8baabcb34de2c4","impliedFormat":99},{"version":"45cec9a1ba6549060552eead8959d47226048e0b71c7d0702ae58b7e16a28912","impliedFormat":99},{"version":"ef13c73d6157a32933c612d476c1524dd674cf5b9a88571d7d6a0d147544d529","impliedFormat":99},{"version":"13918e2b81c4288695f9b1f3dcc2468caf0f848d5c1f3dc00071c619d34ff63a","impliedFormat":99},{"version":"6907b09850f86610e7a528348c15484c1e1c09a18a9c1e98861399dfe4b18b46","impliedFormat":99},{"version":"12deea8eaa7a4fc1a2908e67da99831e5c5a6b46ad4f4f948fd4759314ea2b80","impliedFormat":99},{"version":"f0a8b376568a18f9a4976ecb0855187672b16b96c4df1c183a7e52dc1b5d98e8","impliedFormat":99},{"version":"8124828a11be7db984fcdab052fd4ff756b18edcfa8d71118b55388176210923","impliedFormat":99},{"version":"092944a8c05f9b96579161e88c6f211d5304a76bd2c47f8d4c30053269146bc8","impliedFormat":99},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"49a5a44f2e68241a1d2bd9ec894535797998841c09729e506a7cbfcaa40f2180","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"1ca84b44ad1d8e4576f24904d8b95dd23b94ea67e1575f89614ac90062fc67f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d586db0a09a9495ebb5dece28f54df9684bfbd6e1f568426ca153126dac4a40","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"567b7f607f400873151d7bc63a049514b53c3c00f5f56e9e95695d93b66a138e","affectsGlobalScope":true,"impliedFormat":1},{"version":"823f9c08700a30e2920a063891df4e357c64333fdba6889522acc5b7ae13fc08","impliedFormat":1},{"version":"84c1930e33d1bb12ad01bcbe11d656f9646bd21b2fb2afd96e8e10615a021aef","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4b87f767c7bc841511113c876a6b8bf1fd0cb0b718c888ad84478b372ec486b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d04e3640dd9eb67f7f1e5bd3d0bf96c784666f7aefc8ac1537af6f2d38d4c29","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"2bf469abae4cc9c0f340d4e05d9d26e37f936f9c8ca8f007a6534f109dcc77e4","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ada07543808f3b967624645a8e1ccd446f8b01ade47842acf1328aec899fed0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c21aaa8257d7950a5b75a251d9075b6a371208fc948c9c8402f6690ef3b5b55","impliedFormat":1},{"version":"b5895e6353a5d708f55d8685c38a235c3a6d8138e374dee8ceb8ffde5aa8002a","impliedFormat":1},{"version":"54c4f21f578864961efc94e8f42bc893a53509e886370ec7dd602e0151b9266c","impliedFormat":1},{"version":"de735eca2c51dd8b860254e9fdb6d9ec19fe402dfe597c23090841ce3937cfc5","impliedFormat":1},{"version":"4ff41188773cbf465807dd2f7059c7494cbee5115608efc297383832a1150c43","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"5155da3047ef977944d791a2188ff6e6c225f6975cc1910ab7bb6838ab84cede","impliedFormat":1},{"version":"93f437e1398a4f06a984f441f7fa7a9f0535c04399619b5c22e0b87bdee182cb","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"e16d218a30f6a6810b57f7e968124eaa08c7bb366133ea34bbf01e7cd6b8c0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb8692dea24c27821f77e397272d9ed2eda0b95e4a75beb0fdda31081d15a8ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"5b6844ad931dcc1d3aca53268f4bd671428421464b1286746027aede398094f2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"0225ecb9ed86bdb7a2c7fd01f1556906902929377b44483dc4b83e03b3ef227d","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"461e54289e6287e8494a0178ba18182acce51a02bca8dea219149bf2cf96f105","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"e31e51c55800014d926e3f74208af49cb7352803619855c89296074d1ecbb524","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"dfb96ba5177b68003deec9e773c47257da5c4c8a74053d8956389d832df72002","affectsGlobalScope":true,"impliedFormat":1},{"version":"92d3070580cf72b4bb80959b7f16ede9a3f39e6f4ef2ac87cfa4561844fdc69f","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3dffd70e6375b872f0b4e152de4ae682d762c61a24881ecc5eb9f04c5caf76f","impliedFormat":1},{"version":"613deebaec53731ff6b74fe1a89f094b708033db6396b601df3e6d5ab0ec0a47","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"e56eb632f0281c9f8210eb8c86cc4839a427a4ffffcfd2a5e40b956050b3e042","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"cac793cc47c29e26e4ac3601dcb00b4435ebed26203485790e44f2ad8b6ad847","impliedFormat":1},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"8ccaa1a30e1c213a5ea06fc5388cc0846026c179d1400eceef42f94db200fc90","affectsGlobalScope":true,"impliedFormat":1},{"version":"a660aa95476042d3fdcc1343cf6bb8fdf24772d31712b1db321c5a4dcc325434","impliedFormat":1},{"version":"282f98006ed7fa9bb2cd9bdbe2524595cfc4bcd58a0bb3232e4519f2138df811","impliedFormat":1},{"version":"6222e987b58abfe92597e1273ad7233626285bc2d78409d4a7b113d81a83496b","impliedFormat":1},{"version":"cbe726263ae9a7bf32352380f7e8ab66ee25b3457137e316929269c19e18a2be","impliedFormat":1},{"version":"8b96046bf5fb0a815cba6b0880d9f97b7f3a93cf187e8dcfe8e2792e97f38f87","impliedFormat":99},{"version":"bacf2c84cf448b2cd02c717ad46c3d7fd530e0c91282888c923ad64810a4d511","affectsGlobalScope":true,"impliedFormat":1},{"version":"402e5c534fb2b85fa771170595db3ac0dd532112c8fa44fc23f233bc6967488b","impliedFormat":1},{"version":"8885cf05f3e2abf117590bbb951dcf6359e3e5ac462af1c901cfd24c6a6472e2","impliedFormat":1},{"version":"333caa2bfff7f06017f114de738050dd99a765c7eb16571c6d25a38c0d5365dc","impliedFormat":1},{"version":"e61df3640a38d535fd4bc9f4a53aef17c296b58dc4b6394fd576b808dd2fe5e6","impliedFormat":1},{"version":"459920181700cec8cbdf2a5faca127f3f17fd8dd9d9e577ed3f5f3af5d12a2e4","impliedFormat":1},{"version":"4719c209b9c00b579553859407a7e5dcfaa1c472994bd62aa5dd3cc0757eb077","impliedFormat":1},{"version":"7ec359bbc29b69d4063fe7dad0baaf35f1856f914db16b3f4f6e3e1bca4099fa","impliedFormat":1},{"version":"70790a7f0040993ca66ab8a07a059a0f8256e7bb57d968ae945f696cbff4ac7a","impliedFormat":1},{"version":"d1b9a81e99a0050ca7f2d98d7eedc6cda768f0eb9fa90b602e7107433e64c04c","impliedFormat":1},{"version":"a022503e75d6953d0e82c2c564508a5c7f8556fad5d7f971372d2d40479e4034","impliedFormat":1},{"version":"b215c4f0096f108020f666ffcc1f072c81e9f2f95464e894a5d5f34c5ea2a8b1","impliedFormat":1},{"version":"644491cde678bd462bb922c1d0cfab8f17d626b195ccb7f008612dc31f445d2d","impliedFormat":1},{"version":"dfe54dab1fa4961a6bcfba68c4ca955f8b5bbeb5f2ab3c915aa7adaa2eabc03a","impliedFormat":1},{"version":"1251d53755b03cde02466064260bb88fd83c30006a46395b7d9167340bc59b73","impliedFormat":1},{"version":"47865c5e695a382a916b1eedda1b6523145426e48a2eae4647e96b3b5e52024f","impliedFormat":1},{"version":"4cdf27e29feae6c7826cdd5c91751cc35559125e8304f9e7aed8faef97dcf572","impliedFormat":1},{"version":"331b8f71bfae1df25d564f5ea9ee65a0d847c4a94baa45925b6f38c55c7039bf","impliedFormat":1},{"version":"2a771d907aebf9391ac1f50e4ad37952943515eeea0dcc7e78aa08f508294668","impliedFormat":1},{"version":"0146fd6262c3fd3da51cb0254bb6b9a4e42931eb2f56329edd4c199cb9aaf804","impliedFormat":1},{"version":"183f480885db5caa5a8acb833c2be04f98056bdcc5fb29e969ff86e07efe57ab","impliedFormat":99},{"version":"82e687ebd99518bc63ea04b0c3810fb6e50aa6942decd0ca6f7a56d9b9a212a6","impliedFormat":99},{"version":"7f698624bbbb060ece7c0e51b7236520ebada74b747d7523c7df376453ed6fea","impliedFormat":1},{"version":"8f07f2b6514744ac96e51d7cb8518c0f4de319471237ea10cf688b8d0e9d0225","impliedFormat":1},{"version":"257b83faa134d971c738a6b9e4c47e59bb7b23274719d92197580dd662bfafc3","impliedFormat":99},{"version":"b34b5f6b506abb206b1ea73c6a332b9ee9c8c98be0f6d17cdbda9430ecc1efab","impliedFormat":99},{"version":"75d4c746c3d16af0df61e7b0afe9606475a23335d9f34fcc525d388c21e9058b","impliedFormat":99},{"version":"fa959bf357232201c32566f45d97e70538c75a093c940af594865d12f31d4912","impliedFormat":99},{"version":"d2c52abd76259fc39a30dfae70a2e5ce77fd23144457a7ff1b64b03de6e3aec7","impliedFormat":99},{"version":"e6233e1c976265e85aa8ad76c3881febe6264cb06ae3136f0257e1eab4a6cc5a","impliedFormat":99},{"version":"f73e2335e568014e279927321770da6fe26facd4ac96cdc22a56687f1ecbb58e","impliedFormat":99},{"version":"317878f156f976d487e21fd1d58ad0461ee0a09185d5b0a43eedf2a56eb7e4ea","impliedFormat":99},{"version":"324ac98294dab54fbd580c7d0e707d94506d7b2c3d5efe981a8495f02cf9ad96","impliedFormat":99},{"version":"9ec72eb493ff209b470467e24264116b6a8616484bca438091433a545dfba17e","impliedFormat":99},{"version":"d6ee22aba183d5fc0c7b8617f77ee82ecadc2c14359cc51271c135e23f6ed51f","impliedFormat":99},{"version":"49747416f08b3ba50500a215e7a55d75268b84e31e896a40313c8053e8dec908","impliedFormat":99},{"version":"81e634f1c5e1ca309e7e3dc69e2732eea932ef07b8b34517d452e5a3e9a36fa3","impliedFormat":99},{"version":"34f39f75f2b5aa9c84a9f8157abbf8322e6831430e402badeaf58dd284f9b9a6","impliedFormat":99},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"c8905dbea83f3220676a669366cd8c1acef56af4d9d72a8b2241b1d044bb4302","affectsGlobalScope":true,"impliedFormat":99},{"version":"891694d3694abd66f0b8872997b85fd8e52bc51632ce0f8128c96962b443189f","impliedFormat":99},{"version":"69bf2422313487956e4dacf049f30cb91b34968912058d244cb19e4baa24da97","impliedFormat":99},{"version":"971a2c327ff166c770c5fb35699575ba2d13bba1f6d2757309c9be4b30036c8e","impliedFormat":99},{"version":"4f45e8effab83434a78d17123b01124259fbd1e335732135c213955d85222234","impliedFormat":99},{"version":"7bd51996fb7717941cbe094b05adc0d80b9503b350a77b789bbb0fc786f28053","impliedFormat":99},{"version":"b62006bbc815fe8190c7aee262aad6bff993e3f9ade70d7057dfceab6de79d2f","impliedFormat":99},{"version":"13497c0d73306e27f70634c424cd2f3b472187164f36140b504b3756b0ff476d","impliedFormat":99},{"version":"bf7a2d0f6d9e72d59044079d61000c38da50328ccdff28c47528a1a139c610ec","impliedFormat":99},{"version":"04471dc55f802c29791cc75edda8c4dd2a121f71c2401059da61eff83099e8ab","impliedFormat":99},{"version":"120a80aa556732f684db3ed61aeff1d6671e1655bd6cba0aa88b22b88ac9a6b1","affectsGlobalScope":true,"impliedFormat":99},{"version":"e58c0b5226aff07b63be6ac6e1bec9d55bc3d2bda3b11b9b68cccea8c24ae839","affectsGlobalScope":true,"impliedFormat":99},{"version":"a23a08b626aa4d4a1924957bd8c4d38a7ffc032e21407bbd2c97413e1d8c3dbd","impliedFormat":99},{"version":"5a88655bf852c8cc007d6bc874ab61d1d63fba97063020458177173c454e9b4a","impliedFormat":99},{"version":"7e4dfae2da12ec71ffd9f55f4641a6e05610ce0d6784838659490e259e4eb13c","impliedFormat":99},{"version":"c30a41267fc04c6518b17e55dcb2b810f267af4314b0b6d7df1c33a76ce1b330","impliedFormat":1},{"version":"72422d0bac4076912385d0c10911b82e4694fc106e2d70added091f88f0824ba","impliedFormat":1},{"version":"da251b82c25bee1d93f9fd80c5a61d945da4f708ca21285541d7aff83ecb8200","impliedFormat":1},{"version":"4c8ca51077f382498f47074cf304d654aba5d362416d4f809dfdd5d4f6b3aaca","impliedFormat":1},{"version":"98b94085c9f78eba36d3d2314affe973e8994f99864b8708122750788825c771","impliedFormat":1},{"version":"13573a613314e40482386fe9c7934f9d86f3e06f19b840466c75391fb833b99b","impliedFormat":99},{"version":"b380466fe1d5a2d95194e090bf08261570df0f580230f0a98e4e7e1cb4e9577d","signature":"8fd41fe056d93ff78fe5f6900906a349233af8e6907b8b21a33cb9ff0afd8b4a"},{"version":"004a011fc871d479c23b423ca23c78e7fade29464b60785a489827bef39ab639","signature":"defd18235f79ba1f5037b1d844bba70e9937e9f7080335ec0a0b9939b9f49c30"},{"version":"b6618fa665c4455b9ad400d87e53b6f2442e6d311ad525c6b4d7de76811dc6e0","signature":"d2d504536c5dfb6e083129277c2bdf5f8430837c9004902930ad48dbd258616c"},{"version":"8ec9388e9a0ed38045749a9f41674dff2dbe1daf8ca88496a5ac1512be4d7db5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"58a2fd4fe0f4ce025cfb5a2f727016e10dd794474b6dcfac189478fdb1044ee2","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"ee2a6621965f784580813424013a2fcfcee165361920acda122c5c084bba5ec2","1225151c6679a3e80788339ee13306dcba3ebc8de2eb2eb3d01516f83310d20e","d798f4170a3fd8aa409ba66be78695eaae8b0b17bd3e30bf3f71aecd384d77c8","7acddd763df340ad296f37eff89424e00e52a1d3b50e3165772313605d1a8ffc",{"version":"d013e775d6c571be47a615a6bd1d6e7a08ce2bb5c6c183008c01378d7b879865","signature":"9daaf5ed0f6fa4ae406ad5610ca8972796bf74ce4578096cea16b57a7c9d6ba5"},{"version":"4c4ae8e550b6b8a473ab648df193575dca5c7e5e005d5ac87b206f2f8a30ff9c","signature":"26fe98dd8274b419f28ea81959ad152d0d769e7272d87aac2325e7b12f2f9335"},{"version":"487e37d9b479f30f07cf2bf3d07ed5ac64491ffec4bb01dbce7cb58d322cf0df","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"434b237044c7f0be9483e6b3ee34822a56660193cabd78098ac2bbf7a95f709c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"85ea439868f21c5471d80bbab02421bd7c1627da485f5636febac0633f6ccf28","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"546befa1320cef50a6f2fb81d90e94ccd6e73ed4caf38237953875038d769966","signature":"0fefe4ccc89c4e82b32cb67690e2bc849e78d4891e345314ee964e4484622d71"},{"version":"fd20c277a414eca850d74f62f188016240de8976184dabf20330597b4dd189b6","signature":"1987660fb12d156a9cca22d817607dd759c1cb5b90e3055405d82d0962652ee1"},{"version":"5749176ef011f9955900249ccd829a3915eb8f014b012b58b0e74f29a8e5f795","signature":"359f0844686f6ff82eacf5345ea1481a50e07b5dc99ba5b58af771f0665596aa"},{"version":"68ed37ee981826f3668f0cb5f8d8d4e3f4a3867547e3a8a6a221b3d3de6caf5f","signature":"63dba7ab62da1c8c187fc4ff50fa2a0251c554e4c0baee1e74b0809232dc9171"},{"version":"9d29d6dbf9e134ca618455c6c459a534478970effd98fbcbc5502592992d8f29","signature":"d71faa77fbd284f872af74079d4062bbcb746fe2a01d7d4631eb6fb55aab55d7"},{"version":"64318a75fd2a0d25d1462e11efa4c32216e6168d7498a49443cdf6d7ac8649ce","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"80f1c4f51fc8c57a62bdb8d3f8fac2d159206d5920ed476e4abe04cb24752ff3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"1c24713823ee867208a98a0397a402bebb74ada037bcef8909ee7213605fd1fe","impliedFormat":99},{"version":"868c78a84ad3530fc1b6e03da4611405da111bbfb0f1480abe45e801cde0b995","impliedFormat":1},{"version":"545c6dd21f8e5a38ff01521331cc6bffbd83d54cd9da772d36b54ab1081ee07a","impliedFormat":1},{"version":"b3e61d6082e4a3863c25784ad9be2c6645c00900b5db1fa90b7617408476ceed","impliedFormat":1},{"version":"416397af1e13290c0651fae871c0d74c7523e0841900028420e5d12bb2a3582f","impliedFormat":99},"f20f861bf1530dc8e4fbd908a8b6ffcbbbc87bed31b243c4e06423b44bb847ef","25f4bf11d05bee5ff696bbcb5f165d490eeb5dfcbada1697dfab0fdc974e76b9","e9f7e3ca06e44a3efc46296d0d508d6a0ff9a1ad3c0272d52895704c67585735","ec6fe736ef545cd4b1227e7b33b6157d715c684e9ff0231c5f6866b846b7fdb0","3dc2732f67d50d54311c9239de9c76b504f2e3bca71cf5a35506d22510afbffa","3735b23518d59cc015a9f7db856fe403b2476b758048a880af9bd3ed17f8bd3e","b680245bfc285555352c68abfc739e2cd20c04a966718417c6f5edbfe4a901dc","56362a6b6e74f4a21110d5c01a81f91b30f8b6b00fee43404452736c7067ca94","d0e7c6d6705f7990806253c80853d6b0b18919c3707aafa8d08fcc271f5d67fd","5aaae7edce0563c26e640e5b434f385d2b387a8299409c6a23bc3821db84e9e0","f2c78720d91b1f220726e88192ebd1f75c622cc4e37e6c861bcabe348b5cf81c","6e74e59196448ca0c35a05a8688461f482c48232d4dd42013e7904f75ab3fe51","f6677d9c4e7ef41fd89dc8b64eb110dae7a2043e4af8a0901fb69cab4cce2304","860396653b7a31c25ce106ded2f71d878a514cfb0aa7043546e217f13f5add50","e45663a1d435c11fee11cb7f29f463bec143b54d92ca4c567a61939e7589d796","71f1309fb9acba662a179134e0673d04e197fffe9ac760d57eda6c6ac27bf95a","1b1c1837ed15d90a7e090a4e3875dab53af7761952150c872aa07b3b2c50bf2b","c8dc3ae3da5ca2d35a8f9e536361892847afaf3fac570c9ace91dc986177a865",{"version":"d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","impliedFormat":1},{"version":"b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","impliedFormat":1},{"version":"baac9896d29bcc55391d769e408ff400d61273d832dd500f21de766205255acb","impliedFormat":1},{"version":"2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed","impliedFormat":1},{"version":"f429b61e369208ef7668ebf1dc63176e506fbfaea7b0ecc13d586a5839ebb071","affectsGlobalScope":true,"impliedFormat":1},{"version":"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","impliedFormat":1},{"version":"168d88e14e0d81fe170e0dadd38ae9d217476c11435ea640ddb9b7382bdb6c1f","impliedFormat":1},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","impliedFormat":1},{"version":"8e04cf0688e0d921111659c2b55851957017148fa7b977b02727477d155b3c47","impliedFormat":1},"c6fa7ca4543a2ce222f471d123d5af021b6dc7ab296675f3d0e64daff52719a7","707f1bdbda2df15d7cd595a8fae46a6de7666303d82043c4fbad99711c923049","5b2c218c14ad37997da83b4c573b1141c86e4d9ac1703bdc884f7a98a52a4b14","ad16d5ed5b55a455633fc35cdadcb0a1ed1bdbe2fdd53574bafeff53c9994a4f",{"version":"f54c9a1fea5be2acf7329d3f282731020746ff51f07247a7af3efb83d7e3f4a1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"ff2dd27e45890c9a7bd8088bd0c8b64354da3433ff7635ed7c4df64aa75084f3","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"b9ff07aa6d698b928e1887e7b9e207aae6efced907c01e7de91395ea12dcec5e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"bc911f0f913f2b49e999084015bac4e00bd97f89ab5c1b7fa4597476b146798f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"}],"root":[[225,229],[234,245],[283,286]],"options":{"allowJs":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"inlineSources":false,"module":99,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"target":7},"referencedMap":[[246,1],[250,2],[248,3],[277,4],[204,5],[276,6],[203,1],[158,1],[273,7],[278,8],[274,1],[269,1],[105,9],[106,9],[107,10],[65,11],[108,12],[109,13],[110,14],[60,1],[63,15],[61,1],[62,1],[111,16],[112,17],[113,18],[114,19],[115,20],[116,21],[117,21],[119,1],[118,22],[120,23],[121,24],[122,25],[104,26],[64,1],[123,27],[124,28],[125,29],[157,30],[126,31],[127,32],[128,33],[129,34],[130,35],[131,36],[132,37],[133,38],[134,39],[135,40],[136,40],[137,41],[138,1],[139,42],[141,43],[140,44],[142,45],[143,46],[144,47],[145,48],[146,49],[147,50],[148,51],[149,52],[150,53],[151,54],[152,55],[153,56],[154,57],[155,58],[156,59],[271,1],[272,1],[247,1],[270,60],[275,61],[214,62],[192,63],[190,1],[191,1],[46,1],[57,64],[52,65],[55,66],[205,67],[197,1],[200,68],[199,69],[210,69],[198,70],[213,1],[54,71],[56,71],[48,72],[51,73],[193,72],[53,74],[47,1],[66,1],[165,1],[221,75],[223,76],[222,77],[220,78],[219,1],[182,79],[180,80],[181,81],[169,82],[170,80],[177,83],[168,84],[173,85],[183,1],[174,86],[179,87],[185,88],[184,89],[167,90],[175,91],[176,92],[171,93],[178,79],[172,94],[160,95],[159,96],[166,1],[206,1],[49,1],[50,97],[44,1],[45,1],[9,1],[8,1],[2,1],[10,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[3,1],[18,1],[19,1],[4,1],[20,1],[24,1],[21,1],[22,1],[23,1],[25,1],[26,1],[27,1],[5,1],[28,1],[29,1],[30,1],[31,1],[6,1],[35,1],[32,1],[33,1],[34,1],[36,1],[7,1],[37,1],[42,1],[43,1],[38,1],[39,1],[40,1],[41,1],[1,1],[82,98],[92,99],[81,98],[102,100],[73,101],[72,102],[101,103],[95,104],[100,105],[75,106],[89,107],[74,108],[98,109],[70,110],[69,103],[99,111],[71,112],[76,113],[77,1],[80,113],[67,1],[103,114],[93,115],[84,116],[85,117],[87,118],[83,119],[86,120],[96,103],[78,121],[79,122],[88,123],[68,124],[91,115],[90,113],[94,1],[97,125],[208,126],[195,127],[196,126],[194,1],[189,128],[186,129],[164,130],[162,131],[161,1],[163,132],[187,1],[188,133],[207,134],[201,135],[209,136],[59,137],[215,138],[217,139],[211,140],[218,141],[216,142],[202,143],[212,144],[224,145],[58,1],[249,1],[228,146],[227,147],[286,148],[239,149],[229,150],[226,151],[236,152],[235,153],[237,154],[225,1],[238,155],[234,156],[243,157],[244,158],[245,159],[240,160],[283,161],[284,162],[241,1],[285,163],[242,1],[231,164],[233,165],[232,164],[230,1],[255,166],[253,167],[252,168],[254,1],[282,169],[256,168],[257,1],[258,1],[259,170],[260,170],[261,168],[262,168],[264,171],[251,172],[265,168],[266,173],[267,174],[268,175],[279,176],[280,177],[263,178],[281,1]],"latestChangedDtsFile":"./src/commands/process-job-graph.specs.d.ts","version":"5.8.3"}
@@ -0,0 +1,31 @@
1
+ # Ketchup Plan: ProcessJobGraph Command Handler + E2E Tests
2
+
3
+ ## TODO
4
+
5
+ (empty)
6
+
7
+ ## DONE
8
+
9
+ ### Bottle: Defensive input validation
10
+
11
+ - [x] Burst 1: guard submit against missing jobs array (ecd82695)
12
+
13
+ ### Bottle: Dispatch target commands via dispatch callback
14
+
15
+ - [x] Burst 1: submit sends target commands for initial ready jobs (caa7abf9)
16
+ - [x] Burst 2: onJobEvent sends target commands for newly ready dependent jobs (0b4be016)
17
+ - [x] Burst 3: accept dispatch callback instead of using messageBus.sendCommand (2505b01e)
18
+ - [x] Burst 4: PipelineContext.sendCommand accepts optional correlationId override (0d858127)
19
+ - [x] Burst 5: process-job-graph handler wires ctx.sendCommand as dispatch (41f044c5)
20
+
21
+ ### Bottle: Pipeline Command Handler + E2E Tests
22
+
23
+ - [x] Burst 1: Command handler + test for graph.dispatching (4e876184)
24
+ - [x] Burst 2: Test handler returns graph.failed when messageBus missing (4e876184)
25
+ - [x] Burst 3: Test handler returns graph.failed for invalid graph (4e876184)
26
+ - [x] Burst 4: Export COMMANDS array (772f16a4)
27
+ - [x] Burst 5: E2E — registry shows ProcessJobGraph (8da16e8a)
28
+ - [x] Burst 6: E2E — command callable, produces graph.dispatching (8da16e8a)
29
+ - [x] Burst 7: E2E — full lifecycle, graph.completed via correlation (8da16e8a)
30
+ - [x] Burst 8: Wire plugin into typical example (30ab6969)
31
+ - [x] Burst 9: Update README (c2a955a6)
package/package.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "@auto-engineer/job-graph-processor",
3
+ "description": "Processes directed acyclic graphs of jobs with dependency tracking, parallel dispatch, and configurable failure policies",
4
+ "type": "module",
5
+ "main": "./dist/src/index.js",
6
+ "types": "./dist/src/index.d.ts",
7
+ "dependencies": {
8
+ "@event-driven-io/emmett": "^0.38.2",
9
+ "nanoid": "^5.0.0",
10
+ "@auto-engineer/message-bus": "1.12.1"
11
+ },
12
+ "devDependencies": {
13
+ "@auto-engineer/pipeline": "1.12.1"
14
+ },
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "version": "1.12.1",
19
+ "scripts": {
20
+ "build": "tsc && tsx ../../scripts/fix-esm-imports.ts",
21
+ "test": "vitest run --reporter=dot",
22
+ "test:coverage": "vitest run --reporter=dot --coverage --coverage.reporter=text",
23
+ "type-check": "tsc --noEmit"
24
+ }
25
+ }