@pgflow/core 0.2.6 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -11
- package/dist/CHANGELOG.md +28 -0
- package/dist/PgflowSqlClient.d.ts +3 -2
- package/dist/PgflowSqlClient.d.ts.map +1 -1
- package/dist/PgflowSqlClient.js +12 -2
- package/dist/README.md +20 -11
- package/dist/database-types.d.ts +25 -0
- package/dist/database-types.d.ts.map +1 -1
- package/dist/package.json +1 -1
- package/dist/supabase/migrations/20250609105135_pgflow_add_start_tasks_and_started_status.sql +371 -0
- package/dist/types.d.ts +24 -7
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -43,7 +43,7 @@ This package focuses on:
|
|
|
43
43
|
- Defining and storing workflow shapes
|
|
44
44
|
- Managing workflow state transitions
|
|
45
45
|
- Exposing transactional functions for workflow operations
|
|
46
|
-
- Providing APIs for task polling and status updates
|
|
46
|
+
- Providing two-phase APIs for reliable task polling and status updates
|
|
47
47
|
|
|
48
48
|
The actual execution of workflow tasks is handled by the [Edge Worker](../edge-worker/README.md), which calls back to the SQL Core to acknowledge task completion or failure.
|
|
49
49
|
|
|
@@ -87,7 +87,7 @@ The SQL Core handles the workflow lifecycle through these key operations:
|
|
|
87
87
|
|
|
88
88
|
1. **Definition**: Workflows are defined using `create_flow` and `add_step`
|
|
89
89
|
2. **Instantiation**: Workflow instances are started with `start_flow`, creating a new run
|
|
90
|
-
3. **Task
|
|
90
|
+
3. **Task Retrieval**: The [Edge Worker](../edge-worker/README.md) uses two-phase polling - first `read_with_poll` to reserve queue messages, then `start_tasks` to convert them to executable tasks
|
|
91
91
|
4. **State Transitions**: When the Edge Worker reports back using `complete_task` or `fail_task`, the SQL Core handles state transitions and schedules dependent steps
|
|
92
92
|
|
|
93
93
|
[Flow lifecycle diagram (click to enlarge)](./assets/flow-lifecycle.svg)
|
|
@@ -159,24 +159,33 @@ When a workflow starts:
|
|
|
159
159
|
|
|
160
160
|
#### Task Polling
|
|
161
161
|
|
|
162
|
-
The Edge Worker
|
|
162
|
+
The Edge Worker uses a two-phase approach to retrieve and start tasks:
|
|
163
163
|
|
|
164
|
+
**Phase 1 - Reserve Messages:**
|
|
164
165
|
```sql
|
|
165
|
-
SELECT * FROM pgflow.
|
|
166
|
+
SELECT * FROM pgflow.read_with_poll(
|
|
166
167
|
queue_name => 'analyze_website',
|
|
167
168
|
vt => 60, -- visibility timeout in seconds
|
|
168
|
-
qty => 5 -- maximum number of
|
|
169
|
+
qty => 5 -- maximum number of messages to fetch
|
|
169
170
|
);
|
|
170
171
|
```
|
|
171
172
|
|
|
172
|
-
|
|
173
|
+
**Phase 2 - Start Tasks:**
|
|
174
|
+
```sql
|
|
175
|
+
SELECT * FROM pgflow.start_tasks(
|
|
176
|
+
flow_slug => 'analyze_website',
|
|
177
|
+
msg_ids => ARRAY[101, 102, 103], -- message IDs from phase 1
|
|
178
|
+
worker_id => '550e8400-e29b-41d4-a716-446655440000'::uuid
|
|
179
|
+
);
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**How it works:**
|
|
173
183
|
|
|
174
|
-
1.
|
|
175
|
-
2.
|
|
176
|
-
3.
|
|
177
|
-
4. Task metadata and input are returned to the worker
|
|
184
|
+
1. **read_with_poll** reserves raw queue messages and hides them from other workers
|
|
185
|
+
2. **start_tasks** finds matching step_tasks, increments attempts counter, and builds task inputs
|
|
186
|
+
3. Task metadata and input are returned to the worker for execution
|
|
178
187
|
|
|
179
|
-
This
|
|
188
|
+
This two-phase approach ensures tasks always exist before processing begins, eliminating race conditions that could occur with single-phase polling.
|
|
180
189
|
|
|
181
190
|
#### Task Completion
|
|
182
191
|
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @pgflow/core
|
|
2
2
|
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- c3653fa: Replace single-phase polling with two-phase approach to eliminate race conditions
|
|
8
|
+
|
|
9
|
+
**Breaking Change**: The `poll_for_tasks` function is now deprecated and returns an empty set. Edge workers must be updated to use the new two-phase polling mechanism.
|
|
10
|
+
|
|
11
|
+
**What Changed:**
|
|
12
|
+
|
|
13
|
+
- Added new "started" status for step_tasks with `started_at` timestamp and `last_worker_id` tracking
|
|
14
|
+
- Introduced `start_tasks` function for the second phase of task processing
|
|
15
|
+
- Edge worker now uses two-phase approach: first `read_with_poll` to get messages, then `start_tasks` to process them
|
|
16
|
+
- This eliminates race conditions where tasks might not be visible when processing messages
|
|
17
|
+
|
|
18
|
+
**Migration Instructions:**
|
|
19
|
+
|
|
20
|
+
1. Run `npx pgflow install` to apply database migrations and update dependencies
|
|
21
|
+
2. Redeploy your edge workers - they will automatically use the new polling mechanism
|
|
22
|
+
3. Old workers will continue running but won't process any tasks (safe degradation)
|
|
23
|
+
|
|
24
|
+
**Why This Change:**
|
|
25
|
+
The previous `poll_for_tasks` had subtle race conditions on slower systems where messages could be read but matching step_tasks weren't visible in the same transaction, leading to lost work. The new two-phase approach provides stronger guarantees and better observability.
|
|
26
|
+
|
|
27
|
+
### Patch Changes
|
|
28
|
+
|
|
29
|
+
- @pgflow/dsl@0.3.0
|
|
30
|
+
|
|
3
31
|
## 0.2.6
|
|
4
32
|
|
|
5
33
|
### Patch Changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type postgres from 'postgres';
|
|
2
|
-
import type { StepTaskRecord, IPgflowClient, StepTaskKey, RunRow } from './types.js';
|
|
2
|
+
import type { StepTaskRecord, IPgflowClient, StepTaskKey, RunRow, MessageRecord } from './types.js';
|
|
3
3
|
import type { Json } from './types.js';
|
|
4
4
|
import type { AnyFlow, ExtractFlowInput } from '@pgflow/dsl';
|
|
5
5
|
/**
|
|
@@ -8,7 +8,8 @@ import type { AnyFlow, ExtractFlowInput } from '@pgflow/dsl';
|
|
|
8
8
|
export declare class PgflowSqlClient<TFlow extends AnyFlow> implements IPgflowClient<TFlow> {
|
|
9
9
|
private readonly sql;
|
|
10
10
|
constructor(sql: postgres.Sql);
|
|
11
|
-
|
|
11
|
+
readMessages(queueName: string, visibilityTimeout: number, batchSize: number, maxPollSeconds?: number, pollIntervalMs?: number): Promise<MessageRecord[]>;
|
|
12
|
+
startTasks(flowSlug: string, msgIds: number[], workerId: string): Promise<StepTaskRecord<TFlow>[]>;
|
|
12
13
|
completeTask(stepTask: StepTaskKey, output?: Json): Promise<void>;
|
|
13
14
|
failTask(stepTask: StepTaskKey, error: unknown): Promise<void>;
|
|
14
15
|
startFlow<TFlow extends AnyFlow>(flow: TFlow, input: ExtractFlowInput<TFlow>): Promise<RunRow>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PgflowSqlClient.d.ts","sourceRoot":"","sources":["../src/PgflowSqlClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,
|
|
1
|
+
{"version":3,"file":"PgflowSqlClient.d.ts","sourceRoot":"","sources":["../src/PgflowSqlClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,WAAW,EACX,MAAM,EACN,aAAa,EACd,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE7D;;GAEG;AACH,qBAAa,eAAe,CAAC,KAAK,SAAS,OAAO,CAChD,YAAW,aAAa,CAAC,KAAK,CAAC;IAEnB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,QAAQ,CAAC,GAAG;IAExC,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,MAAM,EACjB,cAAc,SAAI,EAClB,cAAc,SAAM,GACnB,OAAO,CAAC,aAAa,EAAE,CAAC;IAarB,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;IAW7B,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjE,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB9D,SAAS,CAAC,KAAK,SAAS,OAAO,EACnC,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,GAC7B,OAAO,CAAC,MAAM,CAAC;CAenB"}
|
package/dist/PgflowSqlClient.js
CHANGED
|
@@ -6,10 +6,10 @@ export class PgflowSqlClient {
|
|
|
6
6
|
constructor(sql) {
|
|
7
7
|
this.sql = sql;
|
|
8
8
|
}
|
|
9
|
-
async
|
|
9
|
+
async readMessages(queueName, visibilityTimeout, batchSize, maxPollSeconds = 5, pollIntervalMs = 200) {
|
|
10
10
|
return await this.sql `
|
|
11
11
|
SELECT *
|
|
12
|
-
FROM pgflow.
|
|
12
|
+
FROM pgflow.read_with_poll(
|
|
13
13
|
queue_name => ${queueName},
|
|
14
14
|
vt => ${visibilityTimeout},
|
|
15
15
|
qty => ${batchSize},
|
|
@@ -18,6 +18,16 @@ export class PgflowSqlClient {
|
|
|
18
18
|
);
|
|
19
19
|
`;
|
|
20
20
|
}
|
|
21
|
+
async startTasks(flowSlug, msgIds, workerId) {
|
|
22
|
+
return await this.sql `
|
|
23
|
+
SELECT *
|
|
24
|
+
FROM pgflow.start_tasks(
|
|
25
|
+
flow_slug => ${flowSlug},
|
|
26
|
+
msg_ids => ${msgIds}::bigint[],
|
|
27
|
+
worker_id => ${workerId}::uuid
|
|
28
|
+
);
|
|
29
|
+
`;
|
|
30
|
+
}
|
|
21
31
|
async completeTask(stepTask, output) {
|
|
22
32
|
await this.sql `
|
|
23
33
|
SELECT pgflow.complete_task(
|
package/dist/README.md
CHANGED
|
@@ -43,7 +43,7 @@ This package focuses on:
|
|
|
43
43
|
- Defining and storing workflow shapes
|
|
44
44
|
- Managing workflow state transitions
|
|
45
45
|
- Exposing transactional functions for workflow operations
|
|
46
|
-
- Providing APIs for task polling and status updates
|
|
46
|
+
- Providing two-phase APIs for reliable task polling and status updates
|
|
47
47
|
|
|
48
48
|
The actual execution of workflow tasks is handled by the [Edge Worker](../edge-worker/README.md), which calls back to the SQL Core to acknowledge task completion or failure.
|
|
49
49
|
|
|
@@ -87,7 +87,7 @@ The SQL Core handles the workflow lifecycle through these key operations:
|
|
|
87
87
|
|
|
88
88
|
1. **Definition**: Workflows are defined using `create_flow` and `add_step`
|
|
89
89
|
2. **Instantiation**: Workflow instances are started with `start_flow`, creating a new run
|
|
90
|
-
3. **Task
|
|
90
|
+
3. **Task Retrieval**: The [Edge Worker](../edge-worker/README.md) uses two-phase polling - first `read_with_poll` to reserve queue messages, then `start_tasks` to convert them to executable tasks
|
|
91
91
|
4. **State Transitions**: When the Edge Worker reports back using `complete_task` or `fail_task`, the SQL Core handles state transitions and schedules dependent steps
|
|
92
92
|
|
|
93
93
|
[Flow lifecycle diagram (click to enlarge)](./assets/flow-lifecycle.svg)
|
|
@@ -159,24 +159,33 @@ When a workflow starts:
|
|
|
159
159
|
|
|
160
160
|
#### Task Polling
|
|
161
161
|
|
|
162
|
-
The Edge Worker
|
|
162
|
+
The Edge Worker uses a two-phase approach to retrieve and start tasks:
|
|
163
163
|
|
|
164
|
+
**Phase 1 - Reserve Messages:**
|
|
164
165
|
```sql
|
|
165
|
-
SELECT * FROM pgflow.
|
|
166
|
+
SELECT * FROM pgflow.read_with_poll(
|
|
166
167
|
queue_name => 'analyze_website',
|
|
167
168
|
vt => 60, -- visibility timeout in seconds
|
|
168
|
-
qty => 5 -- maximum number of
|
|
169
|
+
qty => 5 -- maximum number of messages to fetch
|
|
169
170
|
);
|
|
170
171
|
```
|
|
171
172
|
|
|
172
|
-
|
|
173
|
+
**Phase 2 - Start Tasks:**
|
|
174
|
+
```sql
|
|
175
|
+
SELECT * FROM pgflow.start_tasks(
|
|
176
|
+
flow_slug => 'analyze_website',
|
|
177
|
+
msg_ids => ARRAY[101, 102, 103], -- message IDs from phase 1
|
|
178
|
+
worker_id => '550e8400-e29b-41d4-a716-446655440000'::uuid
|
|
179
|
+
);
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**How it works:**
|
|
173
183
|
|
|
174
|
-
1.
|
|
175
|
-
2.
|
|
176
|
-
3.
|
|
177
|
-
4. Task metadata and input are returned to the worker
|
|
184
|
+
1. **read_with_poll** reserves raw queue messages and hides them from other workers
|
|
185
|
+
2. **start_tasks** finds matching step_tasks, increments attempts counter, and builds task inputs
|
|
186
|
+
3. Task metadata and input are returned to the worker for execution
|
|
178
187
|
|
|
179
|
-
This
|
|
188
|
+
This two-phase approach ensures tasks always exist before processing begins, eliminating race conditions that could occur with single-phase polling.
|
|
180
189
|
|
|
181
190
|
#### Task Completion
|
|
182
191
|
|
package/dist/database-types.d.ts
CHANGED
|
@@ -183,10 +183,12 @@ export type Database = {
|
|
|
183
183
|
error_message: string | null;
|
|
184
184
|
failed_at: string | null;
|
|
185
185
|
flow_slug: string;
|
|
186
|
+
last_worker_id: string | null;
|
|
186
187
|
message_id: number | null;
|
|
187
188
|
output: Json | null;
|
|
188
189
|
queued_at: string;
|
|
189
190
|
run_id: string;
|
|
191
|
+
started_at: string | null;
|
|
190
192
|
status: string;
|
|
191
193
|
step_slug: string;
|
|
192
194
|
task_index: number;
|
|
@@ -197,10 +199,12 @@ export type Database = {
|
|
|
197
199
|
error_message?: string | null;
|
|
198
200
|
failed_at?: string | null;
|
|
199
201
|
flow_slug: string;
|
|
202
|
+
last_worker_id?: string | null;
|
|
200
203
|
message_id?: number | null;
|
|
201
204
|
output?: Json | null;
|
|
202
205
|
queued_at?: string;
|
|
203
206
|
run_id: string;
|
|
207
|
+
started_at?: string | null;
|
|
204
208
|
status?: string;
|
|
205
209
|
step_slug: string;
|
|
206
210
|
task_index?: number;
|
|
@@ -211,10 +215,12 @@ export type Database = {
|
|
|
211
215
|
error_message?: string | null;
|
|
212
216
|
failed_at?: string | null;
|
|
213
217
|
flow_slug?: string;
|
|
218
|
+
last_worker_id?: string | null;
|
|
214
219
|
message_id?: number | null;
|
|
215
220
|
output?: Json | null;
|
|
216
221
|
queued_at?: string;
|
|
217
222
|
run_id?: string;
|
|
223
|
+
started_at?: string | null;
|
|
218
224
|
status?: string;
|
|
219
225
|
step_slug?: string;
|
|
220
226
|
task_index?: number;
|
|
@@ -227,6 +233,13 @@ export type Database = {
|
|
|
227
233
|
referencedRelation: "flows";
|
|
228
234
|
referencedColumns: ["flow_slug"];
|
|
229
235
|
},
|
|
236
|
+
{
|
|
237
|
+
foreignKeyName: "step_tasks_last_worker_id_fkey";
|
|
238
|
+
columns: ["last_worker_id"];
|
|
239
|
+
isOneToOne: false;
|
|
240
|
+
referencedRelation: "workers";
|
|
241
|
+
referencedColumns: ["worker_id"];
|
|
242
|
+
},
|
|
230
243
|
{
|
|
231
244
|
foreignKeyName: "step_tasks_run_id_fkey";
|
|
232
245
|
columns: ["run_id"];
|
|
@@ -366,10 +379,12 @@ export type Database = {
|
|
|
366
379
|
error_message: string | null;
|
|
367
380
|
failed_at: string | null;
|
|
368
381
|
flow_slug: string;
|
|
382
|
+
last_worker_id: string | null;
|
|
369
383
|
message_id: number | null;
|
|
370
384
|
output: Json | null;
|
|
371
385
|
queued_at: string;
|
|
372
386
|
run_id: string;
|
|
387
|
+
started_at: string | null;
|
|
373
388
|
status: string;
|
|
374
389
|
step_slug: string;
|
|
375
390
|
task_index: number;
|
|
@@ -403,10 +418,12 @@ export type Database = {
|
|
|
403
418
|
error_message: string | null;
|
|
404
419
|
failed_at: string | null;
|
|
405
420
|
flow_slug: string;
|
|
421
|
+
last_worker_id: string | null;
|
|
406
422
|
message_id: number | null;
|
|
407
423
|
output: Json | null;
|
|
408
424
|
queued_at: string;
|
|
409
425
|
run_id: string;
|
|
426
|
+
started_at: string | null;
|
|
410
427
|
status: string;
|
|
411
428
|
step_slug: string;
|
|
412
429
|
task_index: number;
|
|
@@ -468,6 +485,14 @@ export type Database = {
|
|
|
468
485
|
};
|
|
469
486
|
Returns: undefined;
|
|
470
487
|
};
|
|
488
|
+
start_tasks: {
|
|
489
|
+
Args: {
|
|
490
|
+
flow_slug: string;
|
|
491
|
+
msg_ids: number[];
|
|
492
|
+
worker_id: string;
|
|
493
|
+
};
|
|
494
|
+
Returns: Database["pgflow"]["CompositeTypes"]["step_task_record"][];
|
|
495
|
+
};
|
|
471
496
|
};
|
|
472
497
|
Enums: {
|
|
473
498
|
[_ in never]: never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-types.d.ts","sourceRoot":"","sources":["../src/database-types.ts"],"names":[],"mappings":"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"}
|
|
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,371 @@
|
|
|
1
|
+
-- Create index "idx_workers_heartbeat" to table: "workers"
|
|
2
|
+
create index "idx_workers_heartbeat" on "pgflow"."workers" ("last_heartbeat_at");
|
|
3
|
+
-- Modify "step_tasks" table
|
|
4
|
+
alter table "pgflow"."step_tasks" drop constraint "valid_status",
|
|
5
|
+
add constraint "valid_status" check (
|
|
6
|
+
status = ANY(array['queued'::text, 'started'::text, 'completed'::text, 'failed'::text])
|
|
7
|
+
),
|
|
8
|
+
add constraint "completed_at_is_after_started_at" check (
|
|
9
|
+
(completed_at is null) or (started_at is null) or (completed_at >= started_at)
|
|
10
|
+
),
|
|
11
|
+
add constraint "failed_at_is_after_started_at" check (
|
|
12
|
+
(failed_at is null) or (started_at is null) or (failed_at >= started_at)
|
|
13
|
+
),
|
|
14
|
+
add constraint "started_at_is_after_queued_at" check ((started_at is null) or (started_at >= queued_at)),
|
|
15
|
+
add column "started_at" timestamptz null,
|
|
16
|
+
add column "last_worker_id" uuid null,
|
|
17
|
+
add constraint "step_tasks_last_worker_id_fkey" foreign key ("last_worker_id") references "pgflow"."workers" (
|
|
18
|
+
"worker_id"
|
|
19
|
+
) on update no action on delete set null;
|
|
20
|
+
-- Create index "idx_step_tasks_last_worker" to table: "step_tasks"
|
|
21
|
+
create index "idx_step_tasks_last_worker" on "pgflow"."step_tasks" ("last_worker_id") where (status = 'started'::text);
|
|
22
|
+
-- Create index "idx_step_tasks_queued_msg" to table: "step_tasks"
|
|
23
|
+
create index "idx_step_tasks_queued_msg" on "pgflow"."step_tasks" ("message_id") where (status = 'queued'::text);
|
|
24
|
+
-- Create index "idx_step_tasks_started" to table: "step_tasks"
|
|
25
|
+
create index "idx_step_tasks_started" on "pgflow"."step_tasks" ("started_at") where (status = 'started'::text);
|
|
26
|
+
-- Modify "complete_task" function
|
|
27
|
+
create or replace function "pgflow"."complete_task"(
|
|
28
|
+
"run_id" uuid, "step_slug" text, "task_index" integer, "output" jsonb
|
|
29
|
+
) returns setof "pgflow"."step_tasks" language plpgsql set "search_path"
|
|
30
|
+
= '' as $$
|
|
31
|
+
begin
|
|
32
|
+
|
|
33
|
+
WITH run_lock AS (
|
|
34
|
+
SELECT * FROM pgflow.runs
|
|
35
|
+
WHERE pgflow.runs.run_id = complete_task.run_id
|
|
36
|
+
FOR UPDATE
|
|
37
|
+
),
|
|
38
|
+
step_lock AS (
|
|
39
|
+
SELECT * FROM pgflow.step_states
|
|
40
|
+
WHERE pgflow.step_states.run_id = complete_task.run_id
|
|
41
|
+
AND pgflow.step_states.step_slug = complete_task.step_slug
|
|
42
|
+
FOR UPDATE
|
|
43
|
+
),
|
|
44
|
+
task AS (
|
|
45
|
+
UPDATE pgflow.step_tasks
|
|
46
|
+
SET
|
|
47
|
+
status = 'completed',
|
|
48
|
+
completed_at = now(),
|
|
49
|
+
output = complete_task.output
|
|
50
|
+
WHERE pgflow.step_tasks.run_id = complete_task.run_id
|
|
51
|
+
AND pgflow.step_tasks.step_slug = complete_task.step_slug
|
|
52
|
+
AND pgflow.step_tasks.task_index = complete_task.task_index
|
|
53
|
+
AND pgflow.step_tasks.status = 'started'
|
|
54
|
+
RETURNING *
|
|
55
|
+
),
|
|
56
|
+
step_state AS (
|
|
57
|
+
UPDATE pgflow.step_states
|
|
58
|
+
SET
|
|
59
|
+
status = CASE
|
|
60
|
+
WHEN pgflow.step_states.remaining_tasks = 1 THEN 'completed' -- Will be 0 after decrement
|
|
61
|
+
ELSE 'started'
|
|
62
|
+
END,
|
|
63
|
+
completed_at = CASE
|
|
64
|
+
WHEN pgflow.step_states.remaining_tasks = 1 THEN now() -- Will be 0 after decrement
|
|
65
|
+
ELSE NULL
|
|
66
|
+
END,
|
|
67
|
+
remaining_tasks = pgflow.step_states.remaining_tasks - 1
|
|
68
|
+
FROM task
|
|
69
|
+
WHERE pgflow.step_states.run_id = complete_task.run_id
|
|
70
|
+
AND pgflow.step_states.step_slug = complete_task.step_slug
|
|
71
|
+
RETURNING pgflow.step_states.*
|
|
72
|
+
),
|
|
73
|
+
-- Find all dependent steps if the current step was completed
|
|
74
|
+
dependent_steps AS (
|
|
75
|
+
SELECT d.step_slug AS dependent_step_slug
|
|
76
|
+
FROM pgflow.deps d
|
|
77
|
+
JOIN step_state s ON s.status = 'completed' AND d.flow_slug = s.flow_slug
|
|
78
|
+
WHERE d.dep_slug = complete_task.step_slug
|
|
79
|
+
ORDER BY d.step_slug -- Ensure consistent ordering
|
|
80
|
+
),
|
|
81
|
+
-- Lock dependent steps before updating
|
|
82
|
+
dependent_steps_lock AS (
|
|
83
|
+
SELECT * FROM pgflow.step_states
|
|
84
|
+
WHERE pgflow.step_states.run_id = complete_task.run_id
|
|
85
|
+
AND pgflow.step_states.step_slug IN (SELECT dependent_step_slug FROM dependent_steps)
|
|
86
|
+
FOR UPDATE
|
|
87
|
+
),
|
|
88
|
+
-- Update all dependent steps
|
|
89
|
+
dependent_steps_update AS (
|
|
90
|
+
UPDATE pgflow.step_states
|
|
91
|
+
SET remaining_deps = pgflow.step_states.remaining_deps - 1
|
|
92
|
+
FROM dependent_steps
|
|
93
|
+
WHERE pgflow.step_states.run_id = complete_task.run_id
|
|
94
|
+
AND pgflow.step_states.step_slug = dependent_steps.dependent_step_slug
|
|
95
|
+
)
|
|
96
|
+
-- Only decrement remaining_steps, don't update status
|
|
97
|
+
UPDATE pgflow.runs
|
|
98
|
+
SET remaining_steps = pgflow.runs.remaining_steps - 1
|
|
99
|
+
FROM step_state
|
|
100
|
+
WHERE pgflow.runs.run_id = complete_task.run_id
|
|
101
|
+
AND step_state.status = 'completed';
|
|
102
|
+
|
|
103
|
+
-- For completed tasks: archive the message
|
|
104
|
+
PERFORM (
|
|
105
|
+
WITH completed_tasks AS (
|
|
106
|
+
SELECT r.flow_slug, st.message_id
|
|
107
|
+
FROM pgflow.step_tasks st
|
|
108
|
+
JOIN pgflow.runs r ON st.run_id = r.run_id
|
|
109
|
+
WHERE st.run_id = complete_task.run_id
|
|
110
|
+
AND st.step_slug = complete_task.step_slug
|
|
111
|
+
AND st.task_index = complete_task.task_index
|
|
112
|
+
AND st.status = 'completed'
|
|
113
|
+
)
|
|
114
|
+
SELECT pgmq.archive(ct.flow_slug, ct.message_id)
|
|
115
|
+
FROM completed_tasks ct
|
|
116
|
+
WHERE EXISTS (SELECT 1 FROM completed_tasks)
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
PERFORM pgflow.start_ready_steps(complete_task.run_id);
|
|
120
|
+
|
|
121
|
+
PERFORM pgflow.maybe_complete_run(complete_task.run_id);
|
|
122
|
+
|
|
123
|
+
RETURN QUERY SELECT *
|
|
124
|
+
FROM pgflow.step_tasks AS step_task
|
|
125
|
+
WHERE step_task.run_id = complete_task.run_id
|
|
126
|
+
AND step_task.step_slug = complete_task.step_slug
|
|
127
|
+
AND step_task.task_index = complete_task.task_index;
|
|
128
|
+
|
|
129
|
+
end;
|
|
130
|
+
$$;
|
|
131
|
+
-- Modify "fail_task" function
|
|
132
|
+
create or replace function "pgflow"."fail_task"(
|
|
133
|
+
"run_id" uuid, "step_slug" text, "task_index" integer, "error_message" text
|
|
134
|
+
) returns setof "pgflow"."step_tasks" language plpgsql set "search_path"
|
|
135
|
+
= '' as $$
|
|
136
|
+
begin
|
|
137
|
+
|
|
138
|
+
WITH run_lock AS (
|
|
139
|
+
SELECT * FROM pgflow.runs
|
|
140
|
+
WHERE pgflow.runs.run_id = fail_task.run_id
|
|
141
|
+
FOR UPDATE
|
|
142
|
+
),
|
|
143
|
+
step_lock AS (
|
|
144
|
+
SELECT * FROM pgflow.step_states
|
|
145
|
+
WHERE pgflow.step_states.run_id = fail_task.run_id
|
|
146
|
+
AND pgflow.step_states.step_slug = fail_task.step_slug
|
|
147
|
+
FOR UPDATE
|
|
148
|
+
),
|
|
149
|
+
flow_info AS (
|
|
150
|
+
SELECT r.flow_slug
|
|
151
|
+
FROM pgflow.runs r
|
|
152
|
+
WHERE r.run_id = fail_task.run_id
|
|
153
|
+
),
|
|
154
|
+
config AS (
|
|
155
|
+
SELECT
|
|
156
|
+
COALESCE(s.opt_max_attempts, f.opt_max_attempts) AS opt_max_attempts,
|
|
157
|
+
COALESCE(s.opt_base_delay, f.opt_base_delay) AS opt_base_delay
|
|
158
|
+
FROM pgflow.steps s
|
|
159
|
+
JOIN pgflow.flows f ON f.flow_slug = s.flow_slug
|
|
160
|
+
JOIN flow_info fi ON fi.flow_slug = s.flow_slug
|
|
161
|
+
WHERE s.flow_slug = fi.flow_slug AND s.step_slug = fail_task.step_slug
|
|
162
|
+
),
|
|
163
|
+
|
|
164
|
+
fail_or_retry_task as (
|
|
165
|
+
UPDATE pgflow.step_tasks as task
|
|
166
|
+
SET
|
|
167
|
+
status = CASE
|
|
168
|
+
WHEN task.attempts_count < (SELECT opt_max_attempts FROM config) THEN 'queued'
|
|
169
|
+
ELSE 'failed'
|
|
170
|
+
END,
|
|
171
|
+
failed_at = CASE
|
|
172
|
+
WHEN task.attempts_count >= (SELECT opt_max_attempts FROM config) THEN now()
|
|
173
|
+
ELSE NULL
|
|
174
|
+
END,
|
|
175
|
+
started_at = CASE
|
|
176
|
+
WHEN task.attempts_count < (SELECT opt_max_attempts FROM config) THEN NULL
|
|
177
|
+
ELSE task.started_at
|
|
178
|
+
END,
|
|
179
|
+
error_message = fail_task.error_message
|
|
180
|
+
WHERE task.run_id = fail_task.run_id
|
|
181
|
+
AND task.step_slug = fail_task.step_slug
|
|
182
|
+
AND task.task_index = fail_task.task_index
|
|
183
|
+
AND task.status = 'started'
|
|
184
|
+
RETURNING *
|
|
185
|
+
),
|
|
186
|
+
maybe_fail_step AS (
|
|
187
|
+
UPDATE pgflow.step_states
|
|
188
|
+
SET
|
|
189
|
+
status = CASE
|
|
190
|
+
WHEN (select fail_or_retry_task.status from fail_or_retry_task) = 'failed' THEN 'failed'
|
|
191
|
+
ELSE pgflow.step_states.status
|
|
192
|
+
END,
|
|
193
|
+
failed_at = CASE
|
|
194
|
+
WHEN (select fail_or_retry_task.status from fail_or_retry_task) = 'failed' THEN now()
|
|
195
|
+
ELSE NULL
|
|
196
|
+
END
|
|
197
|
+
FROM fail_or_retry_task
|
|
198
|
+
WHERE pgflow.step_states.run_id = fail_task.run_id
|
|
199
|
+
AND pgflow.step_states.step_slug = fail_task.step_slug
|
|
200
|
+
RETURNING pgflow.step_states.*
|
|
201
|
+
)
|
|
202
|
+
UPDATE pgflow.runs
|
|
203
|
+
SET status = CASE
|
|
204
|
+
WHEN (select status from maybe_fail_step) = 'failed' THEN 'failed'
|
|
205
|
+
ELSE status
|
|
206
|
+
END,
|
|
207
|
+
failed_at = CASE
|
|
208
|
+
WHEN (select status from maybe_fail_step) = 'failed' THEN now()
|
|
209
|
+
ELSE NULL
|
|
210
|
+
END
|
|
211
|
+
WHERE pgflow.runs.run_id = fail_task.run_id;
|
|
212
|
+
|
|
213
|
+
-- For queued tasks: delay the message for retry with exponential backoff
|
|
214
|
+
PERFORM (
|
|
215
|
+
WITH retry_config AS (
|
|
216
|
+
SELECT
|
|
217
|
+
COALESCE(s.opt_base_delay, f.opt_base_delay) AS base_delay
|
|
218
|
+
FROM pgflow.steps s
|
|
219
|
+
JOIN pgflow.flows f ON f.flow_slug = s.flow_slug
|
|
220
|
+
JOIN pgflow.runs r ON r.flow_slug = f.flow_slug
|
|
221
|
+
WHERE r.run_id = fail_task.run_id
|
|
222
|
+
AND s.step_slug = fail_task.step_slug
|
|
223
|
+
),
|
|
224
|
+
queued_tasks AS (
|
|
225
|
+
SELECT
|
|
226
|
+
r.flow_slug,
|
|
227
|
+
st.message_id,
|
|
228
|
+
pgflow.calculate_retry_delay((SELECT base_delay FROM retry_config), st.attempts_count) AS calculated_delay
|
|
229
|
+
FROM pgflow.step_tasks st
|
|
230
|
+
JOIN pgflow.runs r ON st.run_id = r.run_id
|
|
231
|
+
WHERE st.run_id = fail_task.run_id
|
|
232
|
+
AND st.step_slug = fail_task.step_slug
|
|
233
|
+
AND st.task_index = fail_task.task_index
|
|
234
|
+
AND st.status = 'queued'
|
|
235
|
+
)
|
|
236
|
+
SELECT pgmq.set_vt(qt.flow_slug, qt.message_id, qt.calculated_delay)
|
|
237
|
+
FROM queued_tasks qt
|
|
238
|
+
WHERE EXISTS (SELECT 1 FROM queued_tasks)
|
|
239
|
+
);
|
|
240
|
+
|
|
241
|
+
-- For failed tasks: archive the message
|
|
242
|
+
PERFORM (
|
|
243
|
+
WITH failed_tasks AS (
|
|
244
|
+
SELECT r.flow_slug, st.message_id
|
|
245
|
+
FROM pgflow.step_tasks st
|
|
246
|
+
JOIN pgflow.runs r ON st.run_id = r.run_id
|
|
247
|
+
WHERE st.run_id = fail_task.run_id
|
|
248
|
+
AND st.step_slug = fail_task.step_slug
|
|
249
|
+
AND st.task_index = fail_task.task_index
|
|
250
|
+
AND st.status = 'failed'
|
|
251
|
+
)
|
|
252
|
+
SELECT pgmq.archive(ft.flow_slug, ft.message_id)
|
|
253
|
+
FROM failed_tasks ft
|
|
254
|
+
WHERE EXISTS (SELECT 1 FROM failed_tasks)
|
|
255
|
+
);
|
|
256
|
+
|
|
257
|
+
return query select *
|
|
258
|
+
from pgflow.step_tasks st
|
|
259
|
+
where st.run_id = fail_task.run_id
|
|
260
|
+
and st.step_slug = fail_task.step_slug
|
|
261
|
+
and st.task_index = fail_task.task_index;
|
|
262
|
+
|
|
263
|
+
end;
|
|
264
|
+
$$;
|
|
265
|
+
-- Modify "poll_for_tasks" function
|
|
266
|
+
create or replace function "pgflow"."poll_for_tasks"(
|
|
267
|
+
"queue_name" text,
|
|
268
|
+
"vt" integer,
|
|
269
|
+
"qty" integer,
|
|
270
|
+
"max_poll_seconds" integer default 5,
|
|
271
|
+
"poll_interval_ms" integer default 100
|
|
272
|
+
) returns setof "pgflow"."step_task_record" language plpgsql set "search_path"
|
|
273
|
+
= '' as $$
|
|
274
|
+
begin
|
|
275
|
+
-- DEPRECATED: This function is deprecated and will be removed in a future version.
|
|
276
|
+
-- Please update pgflow to use the new two-phase polling approach.
|
|
277
|
+
-- Run 'npx pgflow install' to update your installation.
|
|
278
|
+
raise notice 'DEPRECATED: poll_for_tasks is deprecated and will be removed. Please update pgflow via "npx pgflow install".';
|
|
279
|
+
|
|
280
|
+
-- Return empty set - no tasks will be processed
|
|
281
|
+
return;
|
|
282
|
+
end;
|
|
283
|
+
$$;
|
|
284
|
+
-- Create "start_tasks" function
|
|
285
|
+
create function "pgflow"."start_tasks"(
|
|
286
|
+
"flow_slug" text, "msg_ids" bigint [], "worker_id" uuid
|
|
287
|
+
) returns setof "pgflow"."step_task_record" language sql set "search_path"
|
|
288
|
+
= '' as $$
|
|
289
|
+
with tasks as (
|
|
290
|
+
select
|
|
291
|
+
task.flow_slug,
|
|
292
|
+
task.run_id,
|
|
293
|
+
task.step_slug,
|
|
294
|
+
task.task_index,
|
|
295
|
+
task.message_id
|
|
296
|
+
from pgflow.step_tasks as task
|
|
297
|
+
where task.flow_slug = start_tasks.flow_slug
|
|
298
|
+
and task.message_id = any(msg_ids)
|
|
299
|
+
and task.status = 'queued'
|
|
300
|
+
),
|
|
301
|
+
start_tasks_update as (
|
|
302
|
+
update pgflow.step_tasks
|
|
303
|
+
set
|
|
304
|
+
attempts_count = attempts_count + 1,
|
|
305
|
+
status = 'started',
|
|
306
|
+
started_at = now(),
|
|
307
|
+
last_worker_id = worker_id
|
|
308
|
+
from tasks
|
|
309
|
+
where step_tasks.message_id = tasks.message_id
|
|
310
|
+
and step_tasks.flow_slug = tasks.flow_slug
|
|
311
|
+
and step_tasks.status = 'queued'
|
|
312
|
+
),
|
|
313
|
+
runs as (
|
|
314
|
+
select
|
|
315
|
+
r.run_id,
|
|
316
|
+
r.input
|
|
317
|
+
from pgflow.runs r
|
|
318
|
+
where r.run_id in (select run_id from tasks)
|
|
319
|
+
),
|
|
320
|
+
deps as (
|
|
321
|
+
select
|
|
322
|
+
st.run_id,
|
|
323
|
+
st.step_slug,
|
|
324
|
+
dep.dep_slug,
|
|
325
|
+
dep_task.output as dep_output
|
|
326
|
+
from tasks st
|
|
327
|
+
join pgflow.deps dep on dep.flow_slug = st.flow_slug and dep.step_slug = st.step_slug
|
|
328
|
+
join pgflow.step_tasks dep_task on
|
|
329
|
+
dep_task.run_id = st.run_id and
|
|
330
|
+
dep_task.step_slug = dep.dep_slug and
|
|
331
|
+
dep_task.status = 'completed'
|
|
332
|
+
),
|
|
333
|
+
deps_outputs as (
|
|
334
|
+
select
|
|
335
|
+
d.run_id,
|
|
336
|
+
d.step_slug,
|
|
337
|
+
jsonb_object_agg(d.dep_slug, d.dep_output) as deps_output
|
|
338
|
+
from deps d
|
|
339
|
+
group by d.run_id, d.step_slug
|
|
340
|
+
),
|
|
341
|
+
timeouts as (
|
|
342
|
+
select
|
|
343
|
+
task.message_id,
|
|
344
|
+
task.flow_slug,
|
|
345
|
+
coalesce(step.opt_timeout, flow.opt_timeout) + 2 as vt_delay
|
|
346
|
+
from tasks task
|
|
347
|
+
join pgflow.flows flow on flow.flow_slug = task.flow_slug
|
|
348
|
+
join pgflow.steps step on step.flow_slug = task.flow_slug and step.step_slug = task.step_slug
|
|
349
|
+
)
|
|
350
|
+
select
|
|
351
|
+
st.flow_slug,
|
|
352
|
+
st.run_id,
|
|
353
|
+
st.step_slug,
|
|
354
|
+
jsonb_build_object('run', r.input) ||
|
|
355
|
+
coalesce(dep_out.deps_output, '{}'::jsonb) as input,
|
|
356
|
+
st.message_id as msg_id
|
|
357
|
+
from tasks st
|
|
358
|
+
join runs r on st.run_id = r.run_id
|
|
359
|
+
left join deps_outputs dep_out on
|
|
360
|
+
dep_out.run_id = st.run_id and
|
|
361
|
+
dep_out.step_slug = st.step_slug
|
|
362
|
+
cross join lateral (
|
|
363
|
+
-- TODO: this is slow because it calls set_vt for each row, and set_vt
|
|
364
|
+
-- builds dynamic query from string every time it is called
|
|
365
|
+
-- implement set_vt_batch(msgs_ids bigint[], vt_delays int[])
|
|
366
|
+
select pgmq.set_vt(t.flow_slug, st.message_id, t.vt_delay)
|
|
367
|
+
from timeouts t
|
|
368
|
+
where t.message_id = st.message_id
|
|
369
|
+
and t.flow_slug = st.flow_slug
|
|
370
|
+
) set_vt
|
|
371
|
+
$$;
|
package/dist/types.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type Json = string | number | boolean | null | {
|
|
|
4
4
|
[key: string]: Json | undefined;
|
|
5
5
|
} | Json[];
|
|
6
6
|
/**
|
|
7
|
-
* Record representing a task from pgflow.
|
|
7
|
+
* Record representing a task from pgflow.start_tasks
|
|
8
8
|
*
|
|
9
9
|
* Same as pgflow.step_task_record type, but with not-null fields and type argument for payload.
|
|
10
10
|
* The input type is automatically inferred based on the step_slug using a discriminated union.
|
|
@@ -24,19 +24,36 @@ export type StepTaskRecord<TFlow extends AnyFlow> = {
|
|
|
24
24
|
* Contains only the minimum fields needed to identify a task
|
|
25
25
|
*/
|
|
26
26
|
export type StepTaskKey = Pick<StepTaskRecord<any>, 'run_id' | 'step_slug'>;
|
|
27
|
+
/**
|
|
28
|
+
* Record representing a message from queue polling
|
|
29
|
+
*/
|
|
30
|
+
export type MessageRecord = {
|
|
31
|
+
msg_id: number;
|
|
32
|
+
read_ct: number;
|
|
33
|
+
enqueued_at: string;
|
|
34
|
+
vt: string;
|
|
35
|
+
message: Json;
|
|
36
|
+
};
|
|
27
37
|
/**
|
|
28
38
|
* Interface for interacting with pgflow database functions
|
|
29
39
|
*/
|
|
30
40
|
export interface IPgflowClient<TFlow extends AnyFlow = AnyFlow> {
|
|
31
41
|
/**
|
|
32
|
-
*
|
|
33
|
-
* @param queueName - Name
|
|
34
|
-
* @param
|
|
35
|
-
* @param
|
|
36
|
-
* @param maxPollSeconds - Maximum time to poll for
|
|
42
|
+
* Reads messages from queue without starting tasks (phase 1 of two-phase approach)
|
|
43
|
+
* @param queueName - Name of the queue
|
|
44
|
+
* @param visibilityTimeout - Visibility timeout for messages
|
|
45
|
+
* @param batchSize - Number of messages to fetch
|
|
46
|
+
* @param maxPollSeconds - Maximum time to poll for messages
|
|
37
47
|
* @param pollIntervalMs - Poll interval in milliseconds
|
|
38
48
|
*/
|
|
39
|
-
|
|
49
|
+
readMessages(queueName: string, visibilityTimeout: number, batchSize: number, maxPollSeconds?: number, pollIntervalMs?: number): Promise<MessageRecord[]>;
|
|
50
|
+
/**
|
|
51
|
+
* Starts tasks for given message IDs (phase 2 of two-phase approach)
|
|
52
|
+
* @param flowSlug - The flow slug to start tasks from
|
|
53
|
+
* @param msgIds - Array of message IDs from readMessages
|
|
54
|
+
* @param workerId - ID of the worker starting the tasks
|
|
55
|
+
*/
|
|
56
|
+
startTasks(flowSlug: string, msgIds: number[], workerId: string): Promise<StepTaskRecord<TFlow>[]>;
|
|
40
57
|
/**
|
|
41
58
|
* Marks a task as completed
|
|
42
59
|
* @param stepTask - Step task key containing run_id and step_slug
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,OAAO,EACR,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,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,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,OAAO,IAAI;KACjD,QAAQ,IAAI,OAAO,CAAC,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG;QAC5D,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,QAAQ,CAAC;QACpB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5C,MAAM,EAAE,MAAM,CAAC;KAChB;CACF,CAAC,OAAO,CAAC,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,KAAK,SAAS,OAAO,GAAG,OAAO;IAC5D;;;;;;;OAOG;IACH,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,OAAO,EACR,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,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,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,CAAC,KAAK,SAAS,OAAO,IAAI;KACjD,QAAQ,IAAI,OAAO,CAAC,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG;QAC5D,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,QAAQ,CAAC;QACpB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5C,MAAM,EAAE,MAAM,CAAC;KAChB;CACF,CAAC,OAAO,CAAC,MAAM,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAElD;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC;AAE5E;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,IAAI,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,KAAK,SAAS,OAAO,GAAG,OAAO;IAC5D;;;;;;;OAOG;IACH,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,EACvB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAE5B;;;;;OAKG;IACH,UAAU,CACR,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAEpC;;;;OAIG;IACH,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pgflow/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"license": "AGPL-3.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"postgres": "^3.4.5",
|
|
27
|
-
"@pgflow/dsl": "0.
|
|
27
|
+
"@pgflow/dsl": "0.3.0"
|
|
28
28
|
},
|
|
29
29
|
"publishConfig": {
|
|
30
30
|
"access": "public"
|