@pgflow/core 0.0.0-add-workerconfig-to-context--20250905094004-b98e1fec-20250905074005 → 0.0.0-array-map-steps-302d00a8-20250922101336
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/README.md +7 -1
- package/dist/CHANGELOG.md +6 -0
- package/dist/PLAN_race_condition_testing.md +176 -0
- package/dist/PgflowSqlClient.js +2 -2
- package/dist/README.md +7 -1
- package/dist/database-types.d.ts +15 -11
- package/dist/database-types.d.ts.map +1 -1
- package/dist/package.json +1 -1
- package/dist/supabase/migrations/20250912075001_pgflow_temp_pr1_schema.sql +185 -0
- package/dist/supabase/migrations/20250912080800_pgflow_temp_pr2_root_maps.sql +95 -0
- package/dist/supabase/migrations/20250912125339_pgflow_TEMP_task_spawning_optimization.sql +146 -0
- package/dist/supabase/migrations/20250916093518_pgflow_temp_add_cascade_complete.sql +321 -0
- package/dist/supabase/migrations/20250916142327_pgflow_temp_make_initial_tasks_nullable.sql +624 -0
- package/dist/supabase/migrations/20250916203905_pgflow_temp_handle_arrays_in_start_tasks.sql +157 -0
- package/dist/supabase/migrations/20250918042753_pgflow_temp_handle_map_output_aggregation.sql +489 -0
- package/dist/supabase/migrations/20250919101802_pgflow_temp_orphaned_messages_index.sql +688 -0
- package/dist/supabase/migrations/20250919135211_pgflow_temp_return_task_index_in_start_tasks.sql +178 -0
- package/dist/types.d.ts +2 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -231,10 +231,16 @@ The system handles failures by:
|
|
|
231
231
|
- Preventing processing until the visibility timeout expires
|
|
232
232
|
3. When retries are exhausted:
|
|
233
233
|
- Marking the task as 'failed'
|
|
234
|
+
- Storing the task output (even for failed tasks)
|
|
234
235
|
- Marking the step as 'failed'
|
|
235
236
|
- Marking the run as 'failed'
|
|
236
237
|
- Archiving the message in PGMQ
|
|
237
|
-
-
|
|
238
|
+
- **Archiving all queued messages for the failed run** (preventing orphaned messages)
|
|
239
|
+
4. Additional failure handling:
|
|
240
|
+
- **No retries on already-failed runs** - tasks are immediately marked as failed
|
|
241
|
+
- **Graceful type constraint violations** - handled without exceptions when single steps feed map steps
|
|
242
|
+
- **Stores invalid output on type violations** - captures the output that caused the violation for debugging
|
|
243
|
+
- **Performance-optimized message archiving** using indexed queries
|
|
238
244
|
|
|
239
245
|
#### Retries and Timeouts
|
|
240
246
|
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# PLAN: Race Condition Testing for Type Violations
|
|
2
|
+
|
|
3
|
+
## Background
|
|
4
|
+
|
|
5
|
+
When a type violation occurs (e.g., single step produces non-array for dependent map), the system must archive ALL active messages to prevent orphaned messages that cycle through workers indefinitely.
|
|
6
|
+
|
|
7
|
+
## Current Issue
|
|
8
|
+
|
|
9
|
+
The fix archives both `'queued'` AND `'started'` tasks, but existing tests don't properly validate the race condition scenarios.
|
|
10
|
+
|
|
11
|
+
## Test Scenarios Needed
|
|
12
|
+
|
|
13
|
+
### 1. Basic Type Violation (✅ Already Covered)
|
|
14
|
+
**Scenario**: Single task causes type violation
|
|
15
|
+
```
|
|
16
|
+
step1 (single) → step2 (single) → map_step
|
|
17
|
+
```
|
|
18
|
+
- Worker completes step2 with non-array
|
|
19
|
+
- Verify run fails and current task's message is archived
|
|
20
|
+
- **Coverage**: `non_array_to_map_should_fail.test.sql`
|
|
21
|
+
|
|
22
|
+
### 2. Concurrent Started Tasks (❌ Not Covered)
|
|
23
|
+
**Scenario**: Multiple workers have tasks in 'started' state when violation occurs
|
|
24
|
+
```
|
|
25
|
+
producer (single) → map_consumer (map, expects array)
|
|
26
|
+
producer (single) → parallel_task1 (single)
|
|
27
|
+
producer (single) → parallel_task2 (single)
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Test Flow**:
|
|
31
|
+
1. Complete producer with `[1, 2, 3]` (spawns 3 map tasks + 2 parallel tasks)
|
|
32
|
+
2. Worker A starts `map_consumer[0]`
|
|
33
|
+
3. Worker B starts `map_consumer[1]`
|
|
34
|
+
4. Worker C starts `parallel_task1`
|
|
35
|
+
5. Worker D starts `parallel_task2`
|
|
36
|
+
6. Worker C completes `parallel_task1` with non-array (violates some other map dependency)
|
|
37
|
+
7. **Verify**: ALL started tasks (map_consumer[0], map_consumer[1], parallel_task2) get archived
|
|
38
|
+
|
|
39
|
+
### 3. Mixed Queue States (❌ Not Covered)
|
|
40
|
+
**Scenario**: Mix of queued and started tasks across different steps
|
|
41
|
+
```
|
|
42
|
+
step1 → step2 → step3 → map_step
|
|
43
|
+
↘ step4 → step5
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**Test Flow**:
|
|
47
|
+
1. Complete step1
|
|
48
|
+
2. Worker A starts step2
|
|
49
|
+
3. Worker B starts step4
|
|
50
|
+
4. Step3 and step5 remain queued
|
|
51
|
+
5. Worker A completes step2 with type violation
|
|
52
|
+
6. **Verify**: Both started (step4) AND queued (step3, step5) messages archived
|
|
53
|
+
|
|
54
|
+
### 4. Map Task Partial Processing (❌ Not Covered)
|
|
55
|
+
**Scenario**: Some map tasks started, others queued when violation occurs
|
|
56
|
+
```
|
|
57
|
+
producer → large_map (100 elements)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
**Test Flow**:
|
|
61
|
+
1. Producer outputs array of 100 elements
|
|
62
|
+
2. Workers start processing first 10 tasks
|
|
63
|
+
3. 90 tasks remain queued
|
|
64
|
+
4. One of the started tasks detects downstream type violation
|
|
65
|
+
5. **Verify**: All 100 messages (10 started + 90 queued) get archived
|
|
66
|
+
|
|
67
|
+
### 5. Visibility Timeout Verification (❌ Not Covered)
|
|
68
|
+
**Scenario**: Ensure orphaned messages don't reappear after timeout
|
|
69
|
+
```
|
|
70
|
+
step1 → step2 → map_step
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Test Flow**:
|
|
74
|
+
1. Worker starts step2 (30s visibility timeout)
|
|
75
|
+
2. Type violation occurs but message NOT archived (simulate bug)
|
|
76
|
+
3. Wait 31 seconds
|
|
77
|
+
4. **Verify**: Message reappears in queue (demonstrates the bug)
|
|
78
|
+
5. Apply fix and verify message doesn't reappear
|
|
79
|
+
|
|
80
|
+
### 6. Nested Map Chains (❌ Not Covered)
|
|
81
|
+
**Scenario**: Type violation in middle of map chain
|
|
82
|
+
```
|
|
83
|
+
map1 (produces arrays) → map2 (expects arrays) → map3
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
**Test Flow**:
|
|
87
|
+
1. map1 task completes with non-array (violates map2 expectation)
|
|
88
|
+
2. Other map1 tasks are in various states (started/queued)
|
|
89
|
+
3. **Verify**: All map1 tasks archived, map2 never starts
|
|
90
|
+
|
|
91
|
+
### 7. Race During Archival (❌ Not Covered)
|
|
92
|
+
**Scenario**: Worker tries to complete task while archival is happening
|
|
93
|
+
```
|
|
94
|
+
step1 → step2 → map_step
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Test Flow**:
|
|
98
|
+
1. Worker A detects type violation, begins archiving
|
|
99
|
+
2. Worker B tries to complete its task during archival
|
|
100
|
+
3. **Verify**: Worker B's completion is rejected (guard clause)
|
|
101
|
+
4. **Verify**: No duplicate archival attempts
|
|
102
|
+
|
|
103
|
+
## Implementation Strategy
|
|
104
|
+
|
|
105
|
+
### Test Utilities Needed
|
|
106
|
+
|
|
107
|
+
1. **Multi-worker simulator**:
|
|
108
|
+
```sql
|
|
109
|
+
CREATE FUNCTION pgflow_tests.simulate_worker(
|
|
110
|
+
worker_id uuid,
|
|
111
|
+
flow_slug text
|
|
112
|
+
) RETURNS TABLE(...);
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
2. **Queue state inspector**:
|
|
116
|
+
```sql
|
|
117
|
+
CREATE FUNCTION pgflow_tests.inspect_queue_state(
|
|
118
|
+
flow_slug text
|
|
119
|
+
) RETURNS TABLE(
|
|
120
|
+
message_id bigint,
|
|
121
|
+
task_status text,
|
|
122
|
+
visibility_timeout timestamptz
|
|
123
|
+
);
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
3. **Time manipulation** (for visibility timeout tests):
|
|
127
|
+
```sql
|
|
128
|
+
-- May need to mock pgmq visibility behavior
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Test File Organization
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
supabase/tests/type_violations/
|
|
135
|
+
├── basic_violation.test.sql # Existing coverage
|
|
136
|
+
├── concurrent_started_tasks.test.sql # NEW: Scenario 2
|
|
137
|
+
├── mixed_queue_states.test.sql # NEW: Scenario 3
|
|
138
|
+
├── map_partial_processing.test.sql # NEW: Scenario 4
|
|
139
|
+
├── visibility_timeout_recovery.test.sql # NEW: Scenario 5
|
|
140
|
+
├── nested_map_chains.test.sql # NEW: Scenario 6
|
|
141
|
+
└── race_during_archival.test.sql # NEW: Scenario 7
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Success Criteria
|
|
145
|
+
|
|
146
|
+
1. **No orphaned messages**: Queue must be empty after type violation
|
|
147
|
+
2. **No message resurrection**: Archived messages don't reappear after timeout
|
|
148
|
+
3. **Complete cleanup**: ALL tasks (queued + started) for the run are handled
|
|
149
|
+
4. **Atomic operation**: Archival happens in single transaction
|
|
150
|
+
5. **Guard effectiveness**: No operations on failed runs
|
|
151
|
+
|
|
152
|
+
## Performance Considerations
|
|
153
|
+
|
|
154
|
+
- Test with large numbers of tasks (1000+) to verify batch archival performance
|
|
155
|
+
- Ensure archival doesn't lock tables for extended periods
|
|
156
|
+
- Verify index usage on `(run_id, status, message_id)`
|
|
157
|
+
|
|
158
|
+
## Current Gap Analysis
|
|
159
|
+
|
|
160
|
+
**What we have**:
|
|
161
|
+
- Basic type violation detection ✅
|
|
162
|
+
- Single task archival ✅
|
|
163
|
+
- Run failure on violation ✅
|
|
164
|
+
|
|
165
|
+
**What we need**:
|
|
166
|
+
- True concurrent worker simulation ❌
|
|
167
|
+
- Multi-task race condition validation ❌
|
|
168
|
+
- Visibility timeout verification ❌
|
|
169
|
+
- Performance under load testing ❌
|
|
170
|
+
|
|
171
|
+
## Priority
|
|
172
|
+
|
|
173
|
+
1. **HIGH**: Concurrent started tasks (Scenario 2) - Most common real-world case
|
|
174
|
+
2. **HIGH**: Map partial processing (Scenario 4) - Critical for large arrays
|
|
175
|
+
3. **MEDIUM**: Mixed queue states (Scenario 3) - Complex flows
|
|
176
|
+
4. **LOW**: Other scenarios - Edge cases but important for robustness
|
package/dist/PgflowSqlClient.js
CHANGED
|
@@ -33,7 +33,7 @@ export class PgflowSqlClient {
|
|
|
33
33
|
SELECT pgflow.complete_task(
|
|
34
34
|
run_id => ${stepTask.run_id}::uuid,
|
|
35
35
|
step_slug => ${stepTask.step_slug}::text,
|
|
36
|
-
task_index => ${
|
|
36
|
+
task_index => ${stepTask.task_index}::int,
|
|
37
37
|
output => ${this.sql.json(output || null)}::jsonb
|
|
38
38
|
);
|
|
39
39
|
`;
|
|
@@ -48,7 +48,7 @@ export class PgflowSqlClient {
|
|
|
48
48
|
SELECT pgflow.fail_task(
|
|
49
49
|
run_id => ${stepTask.run_id}::uuid,
|
|
50
50
|
step_slug => ${stepTask.step_slug}::text,
|
|
51
|
-
task_index => ${
|
|
51
|
+
task_index => ${stepTask.task_index}::int,
|
|
52
52
|
error_message => ${errorString}::text
|
|
53
53
|
);
|
|
54
54
|
`;
|
package/dist/README.md
CHANGED
|
@@ -231,10 +231,16 @@ The system handles failures by:
|
|
|
231
231
|
- Preventing processing until the visibility timeout expires
|
|
232
232
|
3. When retries are exhausted:
|
|
233
233
|
- Marking the task as 'failed'
|
|
234
|
+
- Storing the task output (even for failed tasks)
|
|
234
235
|
- Marking the step as 'failed'
|
|
235
236
|
- Marking the run as 'failed'
|
|
236
237
|
- Archiving the message in PGMQ
|
|
237
|
-
-
|
|
238
|
+
- **Archiving all queued messages for the failed run** (preventing orphaned messages)
|
|
239
|
+
4. Additional failure handling:
|
|
240
|
+
- **No retries on already-failed runs** - tasks are immediately marked as failed
|
|
241
|
+
- **Graceful type constraint violations** - handled without exceptions when single steps feed map steps
|
|
242
|
+
- **Stores invalid output on type violations** - captures the output that caused the violation for debugging
|
|
243
|
+
- **Performance-optimized message archiving** using indexed queries
|
|
238
244
|
|
|
239
245
|
#### Retries and Timeouts
|
|
240
246
|
|
package/dist/database-types.d.ts
CHANGED
|
@@ -122,8 +122,9 @@ export type Database = {
|
|
|
122
122
|
error_message: string | null;
|
|
123
123
|
failed_at: string | null;
|
|
124
124
|
flow_slug: string;
|
|
125
|
+
initial_tasks: number | null;
|
|
125
126
|
remaining_deps: number;
|
|
126
|
-
remaining_tasks: number;
|
|
127
|
+
remaining_tasks: number | null;
|
|
127
128
|
run_id: string;
|
|
128
129
|
started_at: string | null;
|
|
129
130
|
status: string;
|
|
@@ -135,8 +136,9 @@ export type Database = {
|
|
|
135
136
|
error_message?: string | null;
|
|
136
137
|
failed_at?: string | null;
|
|
137
138
|
flow_slug: string;
|
|
139
|
+
initial_tasks?: number | null;
|
|
138
140
|
remaining_deps?: number;
|
|
139
|
-
remaining_tasks?: number;
|
|
141
|
+
remaining_tasks?: number | null;
|
|
140
142
|
run_id: string;
|
|
141
143
|
started_at?: string | null;
|
|
142
144
|
status?: string;
|
|
@@ -148,8 +150,9 @@ export type Database = {
|
|
|
148
150
|
error_message?: string | null;
|
|
149
151
|
failed_at?: string | null;
|
|
150
152
|
flow_slug?: string;
|
|
153
|
+
initial_tasks?: number | null;
|
|
151
154
|
remaining_deps?: number;
|
|
152
|
-
remaining_tasks?: number;
|
|
155
|
+
remaining_tasks?: number | null;
|
|
153
156
|
run_id?: string;
|
|
154
157
|
started_at?: string | null;
|
|
155
158
|
status?: string;
|
|
@@ -342,18 +345,12 @@ export type Database = {
|
|
|
342
345
|
Args: {
|
|
343
346
|
flow_slug: string;
|
|
344
347
|
step_slug: string;
|
|
345
|
-
deps_slugs
|
|
346
|
-
max_attempts?: number;
|
|
347
|
-
base_delay?: number;
|
|
348
|
-
timeout?: number;
|
|
349
|
-
start_delay?: number;
|
|
350
|
-
} | {
|
|
351
|
-
flow_slug: string;
|
|
352
|
-
step_slug: string;
|
|
348
|
+
deps_slugs?: string[];
|
|
353
349
|
max_attempts?: number;
|
|
354
350
|
base_delay?: number;
|
|
355
351
|
timeout?: number;
|
|
356
352
|
start_delay?: number;
|
|
353
|
+
step_type?: string;
|
|
357
354
|
};
|
|
358
355
|
Returns: {
|
|
359
356
|
created_at: string;
|
|
@@ -375,6 +372,12 @@ export type Database = {
|
|
|
375
372
|
};
|
|
376
373
|
Returns: number;
|
|
377
374
|
};
|
|
375
|
+
cascade_complete_taskless_steps: {
|
|
376
|
+
Args: {
|
|
377
|
+
run_id: string;
|
|
378
|
+
};
|
|
379
|
+
Returns: number;
|
|
380
|
+
};
|
|
378
381
|
complete_task: {
|
|
379
382
|
Args: {
|
|
380
383
|
run_id: string;
|
|
@@ -536,6 +539,7 @@ export type Database = {
|
|
|
536
539
|
step_slug: string | null;
|
|
537
540
|
input: Json | null;
|
|
538
541
|
msg_id: number | null;
|
|
542
|
+
task_index: number | null;
|
|
539
543
|
};
|
|
540
544
|
};
|
|
541
545
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-types.d.ts","sourceRoot":"","sources":["../src/database-types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GACZ,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,GACnC,IAAI,EAAE,CAAA;AAEV,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE;QACN,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,QAAQ,EAAE,MAAM,CAAA;oBAChB,SAAS,EAAE,MAAM,CAAA;oBACjB,SAAS,EAAE,MAAM,CAAA;iBAClB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,QAAQ,EAAE,MAAM,CAAA;oBAChB,SAAS,EAAE,MAAM,CAAA;oBACjB,SAAS,EAAE,MAAM,CAAA;iBAClB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;oBACjB,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,SAAS,CAAC,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,8BAA8B,CAAA;wBAC9C,OAAO,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;wBAClC,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,OAAO,CAAA;wBAC3B,iBAAiB,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;qBAC9C;oBACD;wBACE,cAAc,EAAE,qBAAqB,CAAA;wBACrC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAA;wBACtB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,OAAO,CAAA;wBAC3B,iBAAiB,EAAE,CAAC,WAAW,CAAC,CAAA;qBACjC;oBACD;wBACE,cAAc,EAAE,+BAA+B,CAAA;wBAC/C,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;wBACnC,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,OAAO,CAAA;wBAC3B,iBAAiB,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;qBAC9C;iBACF,CAAA;aACF,CAAA;YACD,KAAK,EAAE;gBACL,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,SAAS,EAAE,MAAM,CAAA;oBACjB,cAAc,EAAE,MAAM,CAAA;oBACtB,gBAAgB,EAAE,MAAM,CAAA;oBACxB,WAAW,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,SAAS,EAAE,MAAM,CAAA;oBACjB,cAAc,CAAC,EAAE,MAAM,CAAA;oBACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;oBACzB,WAAW,CAAC,EAAE,MAAM,CAAA;iBACrB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,cAAc,CAAC,EAAE,MAAM,CAAA;oBACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;oBACzB,WAAW,CAAC,EAAE,MAAM,CAAA;iBACrB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE;oBACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,SAAS,EAAE,MAAM,CAAA;oBACjB,KAAK,EAAE,IAAI,CAAA;oBACX,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;oBACnB,eAAe,EAAE,MAAM,CAAA;oBACvB,MAAM,EAAE,MAAM,CAAA;oBACd,UAAU,EAAE,MAAM,CAAA;oBAClB,MAAM,EAAE,MAAM,CAAA;iBACf,CAAA;gBACD,MAAM,EAAE;oBACN,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,SAAS,EAAE,MAAM,CAAA;oBACjB,KAAK,EAAE,IAAI,CAAA;oBACX,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBACpB,eAAe,CAAC,EAAE,MAAM,CAAA;oBACxB,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,MAAM,CAAC,EAAE,MAAM,CAAA;iBAChB,CAAA;gBACD,MAAM,EAAE;oBACN,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,KAAK,CAAC,EAAE,IAAI,CAAA;oBACZ,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBACpB,eAAe,CAAC,EAAE,MAAM,CAAA;oBACxB,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,MAAM,CAAC,EAAE,MAAM,CAAA;iBAChB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,qBAAqB,CAAA;wBACrC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAA;wBACtB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,OAAO,CAAA;wBAC3B,iBAAiB,EAAE,CAAC,WAAW,CAAC,CAAA;qBACjC;iBACF,CAAA;aACF,CAAA;YACD,WAAW,EAAE;gBACX,GAAG,EAAE;oBACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,UAAU,EAAE,MAAM,CAAA;oBAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,SAAS,EAAE,MAAM,CAAA;oBACjB,cAAc,EAAE,MAAM,CAAA;oBACtB,eAAe,EAAE,MAAM,CAAA;oBACvB,MAAM,EAAE,MAAM,CAAA;oBACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,MAAM,EAAE,MAAM,CAAA;oBACd,SAAS,EAAE,MAAM,CAAA;iBAClB,CAAA;gBACD,MAAM,EAAE;oBACN,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,SAAS,EAAE,MAAM,CAAA;oBACjB,cAAc,CAAC,EAAE,MAAM,CAAA;oBACvB,eAAe,CAAC,EAAE,MAAM,CAAA;oBACxB,MAAM,EAAE,MAAM,CAAA;oBACd,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,SAAS,EAAE,MAAM,CAAA;iBAClB,CAAA;gBACD,MAAM,EAAE;oBACN,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,cAAc,CAAC,EAAE,MAAM,CAAA;oBACvB,eAAe,CAAC,EAAE,MAAM,CAAA;oBACxB,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,SAAS,CAAC,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,4BAA4B,CAAA;wBAC5C,OAAO,EAAE,CAAC,WAAW,CAAC,CAAA;wBACtB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,OAAO,CAAA;wBAC3B,iBAAiB,EAAE,CAAC,WAAW,CAAC,CAAA;qBACjC;oBACD;wBACE,cAAc,EAAE,sCAAsC,CAAA;wBACtD,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;wBACnC,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,OAAO,CAAA;wBAC3B,iBAAiB,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;qBAC9C;oBACD;wBACE,cAAc,EAAE,yBAAyB,CAAA;wBACzC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;wBACnB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,MAAM,CAAA;wBAC1B,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAA;qBAC9B;iBACF,CAAA;aACF,CAAA;YACD,UAAU,EAAE;gBACV,GAAG,EAAE;oBACH,cAAc,EAAE,MAAM,CAAA;oBACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,SAAS,EAAE,MAAM,CAAA;oBACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;oBACnB,SAAS,EAAE,MAAM,CAAA;oBACjB,MAAM,EAAE,MAAM,CAAA;oBACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,MAAM,EAAE,MAAM,CAAA;oBACd,SAAS,EAAE,MAAM,CAAA;oBACjB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,cAAc,CAAC,EAAE,MAAM,CAAA;oBACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,SAAS,EAAE,MAAM,CAAA;oBACjB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBACpB,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,MAAM,EAAE,MAAM,CAAA;oBACd,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,SAAS,EAAE,MAAM,CAAA;oBACjB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,MAAM,EAAE;oBACN,cAAc,CAAC,EAAE,MAAM,CAAA;oBACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;oBACpB,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;oBACf,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,2BAA2B,CAAA;wBAC3C,OAAO,EAAE,CAAC,WAAW,CAAC,CAAA;wBACtB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,OAAO,CAAA;wBAC3B,iBAAiB,EAAE,CAAC,WAAW,CAAC,CAAA;qBACjC;oBACD;wBACE,cAAc,EAAE,gCAAgC,CAAA;wBAChD,OAAO,EAAE,CAAC,gBAAgB,CAAC,CAAA;wBAC3B,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,SAAS,CAAA;wBAC7B,iBAAiB,EAAE,CAAC,WAAW,CAAC,CAAA;qBACjC;oBACD;wBACE,cAAc,EAAE,wBAAwB,CAAA;wBACxC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;wBACnB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,MAAM,CAAA;wBAC1B,iBAAiB,EAAE,CAAC,QAAQ,CAAC,CAAA;qBAC9B;oBACD;wBACE,cAAc,EAAE,kCAAkC,CAAA;wBAClD,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;wBAChC,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,aAAa,CAAA;wBACjC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;qBAC3C;iBACF,CAAA;aACF,CAAA;YACD,KAAK,EAAE;gBACL,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,UAAU,EAAE,MAAM,CAAA;oBAClB,SAAS,EAAE,MAAM,CAAA;oBACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,UAAU,EAAE,MAAM,CAAA;oBAClB,SAAS,EAAE,MAAM,CAAA;oBACjB,SAAS,EAAE,MAAM,CAAA;iBAClB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,SAAS,EAAE,MAAM,CAAA;oBACjB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAChC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,SAAS,EAAE,MAAM,CAAA;oBACjB,SAAS,CAAC,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAChC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC/B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,SAAS,CAAC,EAAE,MAAM,CAAA;oBAClB,SAAS,CAAC,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,aAAa,EAAE;oBACb;wBACE,cAAc,EAAE,sBAAsB,CAAA;wBACtC,OAAO,EAAE,CAAC,WAAW,CAAC,CAAA;wBACtB,UAAU,EAAE,KAAK,CAAA;wBACjB,kBAAkB,EAAE,OAAO,CAAA;wBAC3B,iBAAiB,EAAE,CAAC,WAAW,CAAC,CAAA;qBACjC;iBACF,CAAA;aACF,CAAA;YACD,OAAO,EAAE;gBACP,GAAG,EAAE;oBACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,aAAa,EAAE,MAAM,CAAA;oBACrB,iBAAiB,EAAE,MAAM,CAAA;oBACzB,UAAU,EAAE,MAAM,CAAA;oBAClB,UAAU,EAAE,MAAM,CAAA;oBAClB,SAAS,EAAE,MAAM,CAAA;iBAClB,CAAA;gBACD,MAAM,EAAE;oBACN,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,aAAa,EAAE,MAAM,CAAA;oBACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;oBAC1B,UAAU,EAAE,MAAM,CAAA;oBAClB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,SAAS,EAAE,MAAM,CAAA;iBAClB,CAAA;gBACD,MAAM,EAAE;oBACN,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,aAAa,CAAC,EAAE,MAAM,CAAA;oBACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;oBAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,SAAS,CAAC,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;SACF,CAAA;QACD,KAAK,EAAE;aACJ,CAAC,IAAI,KAAK,GAAG,KAAK;SACpB,CAAA;QACD,SAAS,EAAE;YACT,QAAQ,EAAE;gBACR,IAAI,EACA;oBACE,SAAS,EAAE,MAAM,CAAA;oBACjB,SAAS,EAAE,MAAM,CAAA;oBACjB,UAAU,EAAE,MAAM,EAAE,CAAA;oBACpB,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,OAAO,CAAC,EAAE,MAAM,CAAA;oBAChB,WAAW,CAAC,EAAE,MAAM,CAAA;iBACrB,GACD;oBACE,SAAS,EAAE,MAAM,CAAA;oBACjB,SAAS,EAAE,MAAM,CAAA;oBACjB,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,OAAO,CAAC,EAAE,MAAM,CAAA;oBAChB,WAAW,CAAC,EAAE,MAAM,CAAA;iBACrB,CAAA;gBACL,OAAO,EAAE;oBACP,UAAU,EAAE,MAAM,CAAA;oBAClB,UAAU,EAAE,MAAM,CAAA;oBAClB,SAAS,EAAE,MAAM,CAAA;oBACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC1B,UAAU,EAAE,MAAM,CAAA;oBAClB,SAAS,EAAE,MAAM,CAAA;oBACjB,SAAS,EAAE,MAAM,CAAA;iBAClB,CAAA;aACF,CAAA;YACD,qBAAqB,EAAE;gBACrB,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAC;oBAAC,cAAc,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACpD,OAAO,EAAE,MAAM,CAAA;aAChB,CAAA;YACD,aAAa,EAAE;gBACb,IAAI,EAAE;oBACJ,MAAM,EAAE,MAAM,CAAA;oBACd,SAAS,EAAE,MAAM,CAAA;oBACjB,UAAU,EAAE,MAAM,CAAA;oBAClB,MAAM,EAAE,IAAI,CAAA;iBACb,CAAA;gBACD,OAAO,EAAE;oBACP,cAAc,EAAE,MAAM,CAAA;oBACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,SAAS,EAAE,MAAM,CAAA;oBACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;oBACnB,SAAS,EAAE,MAAM,CAAA;oBACjB,MAAM,EAAE,MAAM,CAAA;oBACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,MAAM,EAAE,MAAM,CAAA;oBACd,SAAS,EAAE,MAAM,CAAA;oBACjB,UAAU,EAAE,MAAM,CAAA;iBACnB,EAAE,CAAA;aACJ,CAAA;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBACJ,SAAS,EAAE,MAAM,CAAA;oBACjB,YAAY,CAAC,EAAE,MAAM,CAAA;oBACrB,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,OAAO,CAAC,EAAE,MAAM,CAAA;iBACjB,CAAA;gBACD,OAAO,EAAE;oBACP,UAAU,EAAE,MAAM,CAAA;oBAClB,SAAS,EAAE,MAAM,CAAA;oBACjB,cAAc,EAAE,MAAM,CAAA;oBACtB,gBAAgB,EAAE,MAAM,CAAA;oBACxB,WAAW,EAAE,MAAM,CAAA;iBACpB,CAAA;aACF,CAAA;YACD,SAAS,EAAE;gBACT,IAAI,EAAE;oBACJ,MAAM,EAAE,MAAM,CAAA;oBACd,SAAS,EAAE,MAAM,CAAA;oBACjB,UAAU,EAAE,MAAM,CAAA;oBAClB,aAAa,EAAE,MAAM,CAAA;iBACtB,CAAA;gBACD,OAAO,EAAE;oBACP,cAAc,EAAE,MAAM,CAAA;oBACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,SAAS,EAAE,MAAM,CAAA;oBACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;oBACnB,SAAS,EAAE,MAAM,CAAA;oBACjB,MAAM,EAAE,MAAM,CAAA;oBACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;oBACzB,MAAM,EAAE,MAAM,CAAA;oBACd,SAAS,EAAE,MAAM,CAAA;oBACjB,UAAU,EAAE,MAAM,CAAA;iBACnB,EAAE,CAAA;aACJ,CAAA;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE;oBAAE,MAAM,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACxB,OAAO,EAAE,IAAI,CAAA;aACd,CAAA;YACD,aAAa,EAAE;gBACb,IAAI,EAAE;oBAAE,IAAI,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACtB,OAAO,EAAE,OAAO,CAAA;aACjB,CAAA;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE;oBAAE,MAAM,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACxB,OAAO,EAAE,SAAS,CAAA;aACnB,CAAA;YACD,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,GAAG,EAAE,MAAM,CAAA;oBACX,gBAAgB,CAAC,EAAE,MAAM,CAAA;oBACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;iBAC1B,CAAA;gBACD,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAA;aACpE,CAAA;YACD,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,GAAG,EAAE,MAAM,CAAA;oBACX,gBAAgB,CAAC,EAAE,MAAM,CAAA;oBACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;oBACzB,WAAW,CAAC,EAAE,IAAI,CAAA;iBACnB,CAAA;gBACD,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAA;aAChE,CAAA;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAC;oBAAC,OAAO,EAAE,MAAM,EAAE,CAAC;oBAAC,UAAU,EAAE,MAAM,EAAE,CAAA;iBAAE,CAAA;gBACrE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAA;aAChE,CAAA;YACD,UAAU,EAAE;gBACV,IAAI,EAAE;oBAAE,SAAS,EAAE,MAAM,CAAC;oBAAC,KAAK,EAAE,IAAI,CAAC;oBAAC,MAAM,CAAC,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACzD,OAAO,EAAE;oBACP,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;oBAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;oBACxB,SAAS,EAAE,MAAM,CAAA;oBACjB,KAAK,EAAE,IAAI,CAAA;oBACX,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;oBACnB,eAAe,EAAE,MAAM,CAAA;oBACvB,MAAM,EAAE,MAAM,CAAA;oBACd,UAAU,EAAE,MAAM,CAAA;oBAClB,MAAM,EAAE,MAAM,CAAA;iBACf,EAAE,CAAA;aACJ,CAAA;YACD,sBAAsB,EAAE;gBACtB,IAAI,EAAE;oBAAE,SAAS,EAAE,MAAM,CAAC;oBAAC,KAAK,EAAE,IAAI,CAAC;oBAAC,MAAM,CAAC,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACzD,OAAO,EAAE,IAAI,CAAA;aACd,CAAA;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE;oBAAE,MAAM,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACxB,OAAO,EAAE,SAAS,CAAA;aACnB,CAAA;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBAAE,SAAS,EAAE,MAAM,CAAC;oBAAC,OAAO,EAAE,MAAM,EAAE,CAAC;oBAAC,SAAS,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACjE,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAA;aACpE,CAAA;SACF,CAAA;QACD,KAAK,EAAE;aACJ,CAAC,IAAI,KAAK,GAAG,KAAK;SACpB,CAAA;QACD,cAAc,EAAE;YACd,gBAAgB,EAAE;gBAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;gBACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;gBACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;gBACxB,KAAK,EAAE,IAAI,GAAG,IAAI,CAAA;gBAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;aACtB,CAAA;SACF,CAAA;KACF,CAAA;IACD,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,GAAG,EAAE;oBACH,UAAU,EAAE,MAAM,CAAA;oBAClB,cAAc,EAAE,OAAO,CAAA;oBACvB,WAAW,EAAE,OAAO,CAAA;oBACpB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,cAAc,EAAE,OAAO,CAAA;oBACvB,WAAW,EAAE,OAAO,CAAA;oBACpB,UAAU,EAAE,MAAM,CAAA;iBACnB,CAAA;gBACD,MAAM,EAAE;oBACN,UAAU,CAAC,EAAE,MAAM,CAAA;oBACnB,cAAc,CAAC,EAAE,OAAO,CAAA;oBACxB,WAAW,CAAC,EAAE,OAAO,CAAA;oBACrB,UAAU,CAAC,EAAE,MAAM,CAAA;iBACpB,CAAA;gBACD,aAAa,EAAE,EAAE,CAAA;aAClB,CAAA;SACF,CAAA;QACD,KAAK,EAAE;aACJ,CAAC,IAAI,KAAK,GAAG,KAAK;SACpB,CAAA;QACD,SAAS,EAAE;YACT,gBAAgB,EAAE;gBAChB,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAA;iBAAE,CAAA;gBAC5B,OAAO,EAAE,OAAO,CAAA;aACjB,CAAA;YACD,4BAA4B,EAAE;gBAC5B,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;gBAChC,OAAO,EAAE,SAAS,CAAA;aACnB,CAAA;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE;oBAAE,kBAAkB,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACpC,OAAO,EAAE,MAAM,CAAA;aAChB,CAAA;YACD,6BAA6B,EAAE;gBAC7B,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;gBAChC,OAAO,EAAE,MAAM,CAAA;aAChB,CAAA;YACD,sBAAsB,EAAE;gBACtB,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;gBAChC,OAAO,EAAE,MAAM,CAAA;aAChB,CAAA;YACD,OAAO,EAAE;gBACP,IAAI,EACA;oBAAE,UAAU,EAAE,MAAM,CAAC;oBAAC,MAAM,EAAE,MAAM,CAAA;iBAAE,GACtC;oBAAE,UAAU,EAAE,MAAM,CAAC;oBAAC,OAAO,EAAE,MAAM,EAAE,CAAA;iBAAE,CAAA;gBAC7C,OAAO,EAAE,OAAO,CAAA;aACjB,CAAA;YACD,2BAA2B,EAAE;gBAC3B,IAAI,EAAE;oBACJ,UAAU,EAAE,MAAM,CAAA;oBAClB,kBAAkB,CAAC,EAAE,MAAM,CAAA;oBAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAA;oBAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAA;iBAC3B,CAAA;gBACD,OAAO,EAAE,SAAS,CAAA;aACnB,CAAA;YACD,MAAM,EAAE;gBACN,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAA;iBAAE,CAAA;gBAC5B,OAAO,EAAE,SAAS,CAAA;aACnB,CAAA;YACD,sBAAsB,EAAE;gBACtB,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAA;iBAAE,CAAA;gBAC5B,OAAO,EAAE,SAAS,CAAA;aACnB,CAAA;YACD,kBAAkB,EAAE;gBAClB,IAAI,EAAE;oBACJ,UAAU,EAAE,MAAM,CAAA;oBAClB,kBAAkB,CAAC,EAAE,MAAM,CAAA;oBAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAA;iBAC5B,CAAA;gBACD,OAAO,EAAE,SAAS,CAAA;aACnB,CAAA;YACD,eAAe,EAAE;gBACf,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAA;iBAAE,CAAA;gBAC5B,OAAO,EAAE,SAAS,CAAA;aACnB,CAAA;YACD,MAAM,EAAE;gBACN,IAAI,EACA;oBAAE,UAAU,EAAE,MAAM,CAAC;oBAAC,MAAM,EAAE,MAAM,CAAA;iBAAE,GACtC;oBAAE,UAAU,EAAE,MAAM,CAAC;oBAAC,OAAO,EAAE,MAAM,EAAE,CAAA;iBAAE,CAAA;gBAC7C,OAAO,EAAE,OAAO,CAAA;aACjB,CAAA;YACD,cAAc,EAAE;gBACd,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAA;iBAAE,CAAA;gBAC5B,OAAO,EAAE,SAAS,CAAA;aACnB,CAAA;YACD,UAAU,EAAE;gBACV,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAA;iBAAE,CAAA;gBAC5B,OAAO,EAAE,OAAO,CAAA;aACjB,CAAA;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAC;oBAAC,MAAM,EAAE,MAAM,CAAA;iBAAE,CAAA;gBAC5C,OAAO,EAAE,MAAM,CAAA;aAChB,CAAA;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;gBAChC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,EAAE,CAAA;aAC9D,CAAA;YACD,OAAO,EAAE;gBACP,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAA;iBAAE,CAAA;gBAC5B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,CAAA;aAC9D,CAAA;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAA;gBAChC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAA;aAChE,CAAA;YACD,GAAG,EAAE;gBACH,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAA;iBAAE,CAAA;gBAC5B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAA;aAChE,CAAA;YACD,WAAW,EAAE;gBACX,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAA;iBAAE,CAAA;gBAC5B,OAAO,EAAE,MAAM,CAAA;aAChB,CAAA;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAC;oBAAC,EAAE,EAAE,MAAM,CAAC;oBAAC,GAAG,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACrD,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAA;aAChE,CAAA;YACD,cAAc,EAAE;gBACd,IAAI,EAAE;oBACJ,UAAU,EAAE,MAAM,CAAA;oBAClB,EAAE,EAAE,MAAM,CAAA;oBACV,GAAG,EAAE,MAAM,CAAA;oBACX,gBAAgB,CAAC,EAAE,MAAM,CAAA;oBACzB,gBAAgB,CAAC,EAAE,MAAM,CAAA;iBAC1B,CAAA;gBACD,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAA;aAChE,CAAA;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAC;oBAAC,GAAG,EAAE,IAAI,CAAC;oBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACvD,OAAO,EAAE,MAAM,EAAE,CAAA;aAClB,CAAA;YACD,UAAU,EAAE;gBACV,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAC;oBAAC,IAAI,EAAE,IAAI,EAAE,CAAC;oBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;iBAAE,CAAA;gBAC1D,OAAO,EAAE,MAAM,EAAE,CAAA;aAClB,CAAA;YACD,MAAM,EAAE;gBACN,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAC;oBAAC,MAAM,EAAE,MAAM,CAAC;oBAAC,EAAE,EAAE,MAAM,CAAA;iBAAE,CAAA;gBACxD,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAA;aAChE,CAAA;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE;oBAAE,UAAU,EAAE,MAAM,CAAA;iBAAE,CAAA;gBAC5B,OAAO,EAAE,SAAS,CAAA;aACnB,CAAA;SACF,CAAA;QACD,KAAK,EAAE;aACJ,CAAC,IAAI,KAAK,GAAG,KAAK;SACpB,CAAA;QACD,cAAc,EAAE;YACd,cAAc,EAAE;gBACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;gBACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;gBACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;gBAC1B,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;gBACjB,OAAO,EAAE,IAAI,GAAG,IAAI,CAAA;aACrB,CAAA;YACD,cAAc,EAAE;gBACd,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;gBACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;gBAC3B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;gBACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;gBACjC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;gBAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;aAC3B,CAAA;YACD,YAAY,EAAE;gBACZ,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;gBACzB,cAAc,EAAE,OAAO,GAAG,IAAI,CAAA;gBAC9B,WAAW,EAAE,OAAO,GAAG,IAAI,CAAA;gBAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;aAC1B,CAAA;SACF,CAAA;KACF,CAAA;CACF,CAAA;AAED,KAAK,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;AAEhE,MAAM,MAAM,MAAM,CAChB,+BAA+B,SAC3B,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,GACxD;IAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;CAAE,EAC9B,SAAS,SAAS,+BAA+B,SAAS;IACxD,MAAM,EAAE,MAAM,QAAQ,CAAA;CACvB,GACG,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAClE,QAAQ,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAC/D,KAAK,GAAG,KAAK,IACf,+BAA+B,SAAS;IAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;CAAE,GAClE,CAAC,QAAQ,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAC5D,QAAQ,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS;IACjF,GAAG,EAAE,MAAM,CAAC,CAAA;CACb,GACC,CAAC,GACD,KAAK,GACP,+BAA+B,SAAS,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,GAClE,aAAa,CAAC,OAAO,CAAC,CAAC,GACzB,CAAC,aAAa,CAAC,QAAQ,CAAC,GACtB,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAAC,SAAS;IACjE,GAAG,EAAE,MAAM,CAAC,CAAA;CACb,GACC,CAAC,GACD,KAAK,GACP,KAAK,CAAA;AAEX,MAAM,MAAM,YAAY,CACtB,+BAA+B,SAC3B,MAAM,aAAa,CAAC,QAAQ,CAAC,GAC7B;IAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;CAAE,EAC9B,SAAS,SAAS,+BAA+B,SAAS;IACxD,MAAM,EAAE,MAAM,QAAQ,CAAA;CACvB,GACG,MAAM,QAAQ,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GACnE,KAAK,GAAG,KAAK,IACf,+BAA+B,SAAS;IAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;CAAE,GAClE,QAAQ,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS;IAC/E,MAAM,EAAE,MAAM,CAAC,CAAA;CAChB,GACC,CAAC,GACD,KAAK,GACP,+BAA+B,SAAS,MAAM,aAAa,CAAC,QAAQ,CAAC,GACnE,aAAa,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,SAAS;IAC/D,MAAM,EAAE,MAAM,CAAC,CAAA;CAChB,GACC,CAAC,GACD,KAAK,GACP,KAAK,CAAA;AAEX,MAAM,MAAM,YAAY,CACtB,+BAA+B,SAC3B,MAAM,aAAa,CAAC,QAAQ,CAAC,GAC7B;IAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;CAAE,EAC9B,SAAS,SAAS,+BAA+B,SAAS;IACxD,MAAM,EAAE,MAAM,QAAQ,CAAA;CACvB,GACG,MAAM,QAAQ,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GACnE,KAAK,GAAG,KAAK,IACf,+BAA+B,SAAS;IAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;CAAE,GAClE,QAAQ,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS;IAC/E,MAAM,EAAE,MAAM,CAAC,CAAA;CAChB,GACC,CAAC,GACD,KAAK,GACP,+BAA+B,SAAS,MAAM,aAAa,CAAC,QAAQ,CAAC,GACnE,aAAa,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,SAAS;IAC/D,MAAM,EAAE,MAAM,CAAC,CAAA;CAChB,GACC,CAAC,GACD,KAAK,GACP,KAAK,CAAA;AAEX,MAAM,MAAM,KAAK,CACf,8BAA8B,SAC1B,MAAM,aAAa,CAAC,OAAO,CAAC,GAC5B;IAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;CAAE,EAC9B,QAAQ,SAAS,8BAA8B,SAAS;IACtD,MAAM,EAAE,MAAM,QAAQ,CAAA;CACvB,GACG,MAAM,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GACjE,KAAK,GAAG,KAAK,IACf,8BAA8B,SAAS;IAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;CAAE,GACjE,QAAQ,CAAC,8BAA8B,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,GACrE,8BAA8B,SAAS,MAAM,aAAa,CAAC,OAAO,CAAC,GACjE,aAAa,CAAC,OAAO,CAAC,CAAC,8BAA8B,CAAC,GACtD,KAAK,CAAA;AAEX,MAAM,MAAM,cAAc,CACxB,gCAAgC,SAC5B,MAAM,aAAa,CAAC,gBAAgB,CAAC,GACrC;IAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;CAAE,EAC9B,iBAAiB,SAAS,gCAAgC,SAAS;IACjE,MAAM,EAAE,MAAM,QAAQ,CAAA;CACvB,GACG,MAAM,QAAQ,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAC5E,KAAK,GAAG,KAAK,IACf,gCAAgC,SAAS;IAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;CAAE,GACnE,QAAQ,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,iBAAiB,CAAC,GACzF,gCAAgC,SAAS,MAAM,aAAa,CAAC,gBAAgB,CAAC,GAC5E,aAAa,CAAC,gBAAgB,CAAC,CAAC,gCAAgC,CAAC,GACjE,KAAK,CAAA;AAEX,eAAO,MAAM,SAAS;;;;;;;CAOZ,CAAA"}
|
|
1
|
+
{"version":3,"file":"database-types.d.ts","sourceRoot":"","sources":["../src/database-types.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
-- Modify "step_states" table
|
|
2
|
+
ALTER TABLE "pgflow"."step_states" DROP CONSTRAINT "step_states_remaining_tasks_check", ADD CONSTRAINT "remaining_tasks_state_consistency" CHECK ((remaining_tasks IS NULL) OR (status <> 'created'::text)), ADD CONSTRAINT "step_states_initial_tasks_check" CHECK (initial_tasks >= 0), ALTER COLUMN "remaining_tasks" DROP NOT NULL, ALTER COLUMN "remaining_tasks" DROP DEFAULT, ADD COLUMN "initial_tasks" integer NULL DEFAULT 1;
|
|
3
|
+
-- Modify "step_tasks" table
|
|
4
|
+
ALTER TABLE "pgflow"."step_tasks" DROP CONSTRAINT "only_single_task_per_step";
|
|
5
|
+
-- Modify "steps" table
|
|
6
|
+
ALTER TABLE "pgflow"."steps" DROP CONSTRAINT "steps_step_type_check", ADD CONSTRAINT "steps_step_type_check" CHECK (step_type = ANY (ARRAY['single'::text, 'map'::text]));
|
|
7
|
+
-- Modify "start_ready_steps" function
|
|
8
|
+
CREATE OR REPLACE FUNCTION "pgflow"."start_ready_steps" ("run_id" uuid) RETURNS void LANGUAGE sql SET "search_path" = '' AS $$
|
|
9
|
+
WITH ready_steps AS (
|
|
10
|
+
SELECT *
|
|
11
|
+
FROM pgflow.step_states AS step_state
|
|
12
|
+
WHERE step_state.run_id = start_ready_steps.run_id
|
|
13
|
+
AND step_state.status = 'created'
|
|
14
|
+
AND step_state.remaining_deps = 0
|
|
15
|
+
ORDER BY step_state.step_slug
|
|
16
|
+
FOR UPDATE
|
|
17
|
+
),
|
|
18
|
+
started_step_states AS (
|
|
19
|
+
UPDATE pgflow.step_states
|
|
20
|
+
SET status = 'started',
|
|
21
|
+
started_at = now(),
|
|
22
|
+
remaining_tasks = ready_steps.initial_tasks -- Copy initial_tasks to remaining_tasks when starting
|
|
23
|
+
FROM ready_steps
|
|
24
|
+
WHERE pgflow.step_states.run_id = start_ready_steps.run_id
|
|
25
|
+
AND pgflow.step_states.step_slug = ready_steps.step_slug
|
|
26
|
+
RETURNING pgflow.step_states.*
|
|
27
|
+
),
|
|
28
|
+
sent_messages AS (
|
|
29
|
+
SELECT
|
|
30
|
+
started_step.flow_slug,
|
|
31
|
+
started_step.run_id,
|
|
32
|
+
started_step.step_slug,
|
|
33
|
+
pgmq.send(
|
|
34
|
+
started_step.flow_slug,
|
|
35
|
+
jsonb_build_object(
|
|
36
|
+
'flow_slug', started_step.flow_slug,
|
|
37
|
+
'run_id', started_step.run_id,
|
|
38
|
+
'step_slug', started_step.step_slug,
|
|
39
|
+
'task_index', 0
|
|
40
|
+
),
|
|
41
|
+
COALESCE(step.opt_start_delay, 0)
|
|
42
|
+
) AS msg_id
|
|
43
|
+
FROM started_step_states AS started_step
|
|
44
|
+
JOIN pgflow.steps AS step
|
|
45
|
+
ON step.flow_slug = started_step.flow_slug
|
|
46
|
+
AND step.step_slug = started_step.step_slug
|
|
47
|
+
),
|
|
48
|
+
broadcast_events AS (
|
|
49
|
+
SELECT
|
|
50
|
+
realtime.send(
|
|
51
|
+
jsonb_build_object(
|
|
52
|
+
'event_type', 'step:started',
|
|
53
|
+
'run_id', started_step.run_id,
|
|
54
|
+
'step_slug', started_step.step_slug,
|
|
55
|
+
'status', 'started',
|
|
56
|
+
'started_at', started_step.started_at,
|
|
57
|
+
'remaining_tasks', started_step.remaining_tasks,
|
|
58
|
+
'remaining_deps', started_step.remaining_deps
|
|
59
|
+
),
|
|
60
|
+
concat('step:', started_step.step_slug, ':started'),
|
|
61
|
+
concat('pgflow:run:', started_step.run_id),
|
|
62
|
+
false
|
|
63
|
+
)
|
|
64
|
+
FROM started_step_states AS started_step
|
|
65
|
+
)
|
|
66
|
+
INSERT INTO pgflow.step_tasks (flow_slug, run_id, step_slug, message_id)
|
|
67
|
+
SELECT
|
|
68
|
+
sent_messages.flow_slug,
|
|
69
|
+
sent_messages.run_id,
|
|
70
|
+
sent_messages.step_slug,
|
|
71
|
+
sent_messages.msg_id
|
|
72
|
+
FROM sent_messages;
|
|
73
|
+
$$;
|
|
74
|
+
-- Modify "start_flow" function
|
|
75
|
+
CREATE OR REPLACE FUNCTION "pgflow"."start_flow" ("flow_slug" text, "input" jsonb, "run_id" uuid DEFAULT NULL::uuid) RETURNS SETOF "pgflow"."runs" LANGUAGE plpgsql SET "search_path" = '' AS $$
|
|
76
|
+
declare
|
|
77
|
+
v_created_run pgflow.runs%ROWTYPE;
|
|
78
|
+
begin
|
|
79
|
+
|
|
80
|
+
WITH
|
|
81
|
+
flow_steps AS (
|
|
82
|
+
SELECT steps.flow_slug, steps.step_slug, steps.deps_count
|
|
83
|
+
FROM pgflow.steps
|
|
84
|
+
WHERE steps.flow_slug = start_flow.flow_slug
|
|
85
|
+
),
|
|
86
|
+
created_run AS (
|
|
87
|
+
INSERT INTO pgflow.runs (run_id, flow_slug, input, remaining_steps)
|
|
88
|
+
VALUES (
|
|
89
|
+
COALESCE(start_flow.run_id, gen_random_uuid()),
|
|
90
|
+
start_flow.flow_slug,
|
|
91
|
+
start_flow.input,
|
|
92
|
+
(SELECT count(*) FROM flow_steps)
|
|
93
|
+
)
|
|
94
|
+
RETURNING *
|
|
95
|
+
),
|
|
96
|
+
created_step_states AS (
|
|
97
|
+
INSERT INTO pgflow.step_states (flow_slug, run_id, step_slug, remaining_deps, initial_tasks)
|
|
98
|
+
SELECT
|
|
99
|
+
fs.flow_slug,
|
|
100
|
+
(SELECT created_run.run_id FROM created_run),
|
|
101
|
+
fs.step_slug,
|
|
102
|
+
fs.deps_count,
|
|
103
|
+
1 -- For now, all steps get initial_tasks = 1 (single steps)
|
|
104
|
+
FROM flow_steps fs
|
|
105
|
+
)
|
|
106
|
+
SELECT * FROM created_run INTO v_created_run;
|
|
107
|
+
|
|
108
|
+
-- Send broadcast event for run started
|
|
109
|
+
PERFORM realtime.send(
|
|
110
|
+
jsonb_build_object(
|
|
111
|
+
'event_type', 'run:started',
|
|
112
|
+
'run_id', v_created_run.run_id,
|
|
113
|
+
'flow_slug', v_created_run.flow_slug,
|
|
114
|
+
'input', v_created_run.input,
|
|
115
|
+
'status', 'started',
|
|
116
|
+
'remaining_steps', v_created_run.remaining_steps,
|
|
117
|
+
'started_at', v_created_run.started_at
|
|
118
|
+
),
|
|
119
|
+
'run:started',
|
|
120
|
+
concat('pgflow:run:', v_created_run.run_id),
|
|
121
|
+
false
|
|
122
|
+
);
|
|
123
|
+
|
|
124
|
+
PERFORM pgflow.start_ready_steps(v_created_run.run_id);
|
|
125
|
+
|
|
126
|
+
RETURN QUERY SELECT * FROM pgflow.runs where pgflow.runs.run_id = v_created_run.run_id;
|
|
127
|
+
|
|
128
|
+
end;
|
|
129
|
+
$$;
|
|
130
|
+
-- Create "add_step" function
|
|
131
|
+
CREATE FUNCTION "pgflow"."add_step" ("flow_slug" text, "step_slug" text, "deps_slugs" text[] DEFAULT '{}', "max_attempts" integer DEFAULT NULL::integer, "base_delay" integer DEFAULT NULL::integer, "timeout" integer DEFAULT NULL::integer, "start_delay" integer DEFAULT NULL::integer, "step_type" text DEFAULT 'single') RETURNS "pgflow"."steps" LANGUAGE plpgsql SET "search_path" = '' AS $$
|
|
132
|
+
DECLARE
|
|
133
|
+
result_step pgflow.steps;
|
|
134
|
+
next_idx int;
|
|
135
|
+
BEGIN
|
|
136
|
+
-- Validate map step constraints
|
|
137
|
+
-- Map steps can have either:
|
|
138
|
+
-- 0 dependencies (root map - maps over flow input array)
|
|
139
|
+
-- 1 dependency (dependent map - maps over dependency output array)
|
|
140
|
+
IF COALESCE(add_step.step_type, 'single') = 'map' AND COALESCE(array_length(add_step.deps_slugs, 1), 0) > 1 THEN
|
|
141
|
+
RAISE EXCEPTION 'Map step "%" can have at most one dependency, but % were provided: %',
|
|
142
|
+
add_step.step_slug,
|
|
143
|
+
COALESCE(array_length(add_step.deps_slugs, 1), 0),
|
|
144
|
+
array_to_string(add_step.deps_slugs, ', ');
|
|
145
|
+
END IF;
|
|
146
|
+
|
|
147
|
+
-- Get next step index
|
|
148
|
+
SELECT COALESCE(MAX(s.step_index) + 1, 0) INTO next_idx
|
|
149
|
+
FROM pgflow.steps s
|
|
150
|
+
WHERE s.flow_slug = add_step.flow_slug;
|
|
151
|
+
|
|
152
|
+
-- Create the step
|
|
153
|
+
INSERT INTO pgflow.steps (
|
|
154
|
+
flow_slug, step_slug, step_type, step_index, deps_count,
|
|
155
|
+
opt_max_attempts, opt_base_delay, opt_timeout, opt_start_delay
|
|
156
|
+
)
|
|
157
|
+
VALUES (
|
|
158
|
+
add_step.flow_slug,
|
|
159
|
+
add_step.step_slug,
|
|
160
|
+
COALESCE(add_step.step_type, 'single'),
|
|
161
|
+
next_idx,
|
|
162
|
+
COALESCE(array_length(add_step.deps_slugs, 1), 0),
|
|
163
|
+
add_step.max_attempts,
|
|
164
|
+
add_step.base_delay,
|
|
165
|
+
add_step.timeout,
|
|
166
|
+
add_step.start_delay
|
|
167
|
+
)
|
|
168
|
+
ON CONFLICT ON CONSTRAINT steps_pkey
|
|
169
|
+
DO UPDATE SET step_slug = EXCLUDED.step_slug
|
|
170
|
+
RETURNING * INTO result_step;
|
|
171
|
+
|
|
172
|
+
-- Insert dependencies
|
|
173
|
+
INSERT INTO pgflow.deps (flow_slug, dep_slug, step_slug)
|
|
174
|
+
SELECT add_step.flow_slug, d.dep_slug, add_step.step_slug
|
|
175
|
+
FROM unnest(COALESCE(add_step.deps_slugs, '{}')) AS d(dep_slug)
|
|
176
|
+
WHERE add_step.deps_slugs IS NOT NULL AND array_length(add_step.deps_slugs, 1) > 0
|
|
177
|
+
ON CONFLICT ON CONSTRAINT deps_pkey DO NOTHING;
|
|
178
|
+
|
|
179
|
+
RETURN result_step;
|
|
180
|
+
END;
|
|
181
|
+
$$;
|
|
182
|
+
-- Drop "add_step" function
|
|
183
|
+
DROP FUNCTION "pgflow"."add_step" (text, text, integer, integer, integer, integer);
|
|
184
|
+
-- Drop "add_step" function
|
|
185
|
+
DROP FUNCTION "pgflow"."add_step" (text, text, text[], integer, integer, integer, integer);
|