@pgflow/core 0.3.1 → 0.4.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/dist/CHANGELOG.md CHANGED
@@ -1,5 +1,77 @@
1
1
  # @pgflow/core
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 98556d3: Add TypeScript client library for pgflow workflow management
8
+
9
+ ## @pgflow/client
10
+
11
+ Introduces a new TypeScript client library that provides both event-based and promise-based APIs for interacting with pgflow workflows:
12
+
13
+ ### Features
14
+
15
+ - **Type-safe workflow management** with full TypeScript support and automatic type inference from flow definitions
16
+ - **Dual API approach**: Choose between event-based subscriptions or promise-based async/await patterns
17
+ - **Real-time monitoring** via Supabase broadcasts with granular event subscriptions
18
+ - **Resource management** with automatic cleanup and disposal
19
+ - **Comprehensive error handling** and recovery mechanisms
20
+
21
+ ### Core Components
22
+
23
+ - `PgflowClient` - Main client for starting and managing workflow runs
24
+ - `FlowRun` - Monitor and interact with workflow executions
25
+ - `FlowStep` - Track individual step progress and outputs
26
+
27
+ ### Example Usage
28
+
29
+ ```typescript
30
+ // Start a workflow
31
+ const pgflow = new PgflowClient(supabase);
32
+ const run = await pgflow.startFlow('analyze_website', {
33
+ url: 'https://example.com',
34
+ });
35
+
36
+ // Event-based monitoring
37
+ run.on('completed', (event) => {
38
+ console.log('Workflow completed:', event.output);
39
+ });
40
+
41
+ // Promise-based monitoring
42
+ const completed = await run.waitForStatus(FlowRunStatus.Completed, {
43
+ timeoutMs: 30000,
44
+ });
45
+ ```
46
+
47
+ ## @pgflow/core
48
+
49
+ ### Database Enhancements
50
+
51
+ - Add `start_flow_with_states()` function to start flows and return complete initial state
52
+ - Add `get_run_with_states()` function to retrieve runs with all step states efficiently
53
+ - Implement `SECURITY DEFINER` functions for secure API access
54
+ - Add real-time broadcast support for workflow state changes
55
+
56
+ ## @pgflow/edge-worker
57
+
58
+ ### Test Infrastructure Updates
59
+
60
+ - Update test database configuration to use standard PostgreSQL credentials
61
+ - Improve test helper functions for database transactions
62
+ - Update Docker Compose configuration for test environment
63
+
64
+ ## @pgflow/dsl
65
+
66
+ ### Build Configuration
67
+
68
+ - Add TypeScript references to tsconfig.spec.json for improved type checking in tests
69
+
70
+ ### Patch Changes
71
+
72
+ - Updated dependencies [98556d3]
73
+ - @pgflow/dsl@0.4.0
74
+
3
75
  ## 0.3.1
4
76
 
5
77
  ### Patch Changes
@@ -12,6 +12,6 @@ export declare class PgflowSqlClient<TFlow extends AnyFlow> implements IPgflowCl
12
12
  startTasks(flowSlug: string, msgIds: number[], workerId: string): Promise<StepTaskRecord<TFlow>[]>;
13
13
  completeTask(stepTask: StepTaskKey, output?: Json): Promise<void>;
14
14
  failTask(stepTask: StepTaskKey, error: unknown): Promise<void>;
15
- startFlow<TFlow extends AnyFlow>(flow: TFlow, input: ExtractFlowInput<TFlow>): Promise<RunRow>;
15
+ startFlow<TFlow extends AnyFlow>(flow_slug: string, input: ExtractFlowInput<TFlow>, run_id?: string): Promise<RunRow>;
16
16
  }
17
17
  //# sourceMappingURL=PgflowSqlClient.d.ts.map
@@ -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,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"}
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,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAC9B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC;CAiBnB"}
@@ -53,12 +53,16 @@ export class PgflowSqlClient {
53
53
  );
54
54
  `;
55
55
  }
56
- async startFlow(flow, input) {
56
+ async startFlow(flow_slug, input, run_id) {
57
57
  const results = await this.sql `
58
- SELECT * FROM pgflow.start_flow(${flow.slug}::text, ${this.sql.json(input)}::jsonb);
58
+ SELECT * FROM pgflow.start_flow(
59
+ flow_slug => ${flow_slug}::text,
60
+ input => ${this.sql.json(input)}::jsonb
61
+ ${run_id ? this.sql `, run_id => ${run_id}::uuid` : this.sql ``}
62
+ );
59
63
  `;
60
64
  if (results.length === 0) {
61
- throw new Error(`Failed to start flow ${flow.slug}`);
65
+ throw new Error(`Failed to start flow ${flow_slug}`);
62
66
  }
63
67
  const [flowRun] = results;
64
68
  return flowRun;
@@ -119,6 +119,7 @@ export type Database = {
119
119
  Row: {
120
120
  completed_at: string | null;
121
121
  created_at: string;
122
+ error_message: string | null;
122
123
  failed_at: string | null;
123
124
  flow_slug: string;
124
125
  remaining_deps: number;
@@ -131,6 +132,7 @@ export type Database = {
131
132
  Insert: {
132
133
  completed_at?: string | null;
133
134
  created_at?: string;
135
+ error_message?: string | null;
134
136
  failed_at?: string | null;
135
137
  flow_slug: string;
136
138
  remaining_deps?: number;
@@ -143,6 +145,7 @@ export type Database = {
143
145
  Update: {
144
146
  completed_at?: string | null;
145
147
  created_at?: string;
148
+ error_message?: string | null;
146
149
  failed_at?: string | null;
147
150
  flow_slug?: string;
148
151
  remaining_deps?: number;
@@ -429,6 +432,12 @@ export type Database = {
429
432
  task_index: number;
430
433
  }[];
431
434
  };
435
+ get_run_with_states: {
436
+ Args: {
437
+ run_id: string;
438
+ };
439
+ Returns: Json;
440
+ };
432
441
  is_valid_slug: {
433
442
  Args: {
434
443
  slug: string;
@@ -474,6 +483,7 @@ export type Database = {
474
483
  Args: {
475
484
  flow_slug: string;
476
485
  input: Json;
486
+ run_id?: string;
477
487
  };
478
488
  Returns: {
479
489
  completed_at: string | null;
@@ -487,6 +497,14 @@ export type Database = {
487
497
  status: string;
488
498
  }[];
489
499
  };
500
+ start_flow_with_states: {
501
+ Args: {
502
+ flow_slug: string;
503
+ input: Json;
504
+ run_id?: string;
505
+ };
506
+ Returns: Json;
507
+ };
490
508
  start_ready_steps: {
491
509
  Args: {
492
510
  run_id: string;
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pgflow/core",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "license": "AGPL-3.0",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -0,0 +1,501 @@
1
+ -- Modify "step_states" table
2
+ ALTER TABLE "pgflow"."step_states" ADD COLUMN "error_message" text NULL;
3
+ -- Create index "idx_step_states_run_id" to table: "step_states"
4
+ CREATE INDEX "idx_step_states_run_id" ON "pgflow"."step_states" ("run_id");
5
+ -- Modify "maybe_complete_run" function
6
+ CREATE OR REPLACE FUNCTION "pgflow"."maybe_complete_run" ("run_id" uuid) RETURNS void LANGUAGE plpgsql SET "search_path" = '' AS $$
7
+ declare
8
+ v_completed_run pgflow.runs%ROWTYPE;
9
+ begin
10
+ -- Update run status to completed and set output when there are no remaining steps
11
+ WITH run_output AS (
12
+ -- Get outputs from final steps (steps that are not dependencies for other steps)
13
+ SELECT jsonb_object_agg(st.step_slug, st.output) as final_output
14
+ FROM pgflow.step_tasks st
15
+ JOIN pgflow.step_states ss ON ss.run_id = st.run_id AND ss.step_slug = st.step_slug
16
+ JOIN pgflow.runs r ON r.run_id = ss.run_id AND r.flow_slug = ss.flow_slug
17
+ WHERE st.run_id = maybe_complete_run.run_id
18
+ AND st.status = 'completed'
19
+ AND NOT EXISTS (
20
+ SELECT 1
21
+ FROM pgflow.deps d
22
+ WHERE d.flow_slug = ss.flow_slug
23
+ AND d.dep_slug = ss.step_slug
24
+ )
25
+ )
26
+ UPDATE pgflow.runs
27
+ SET
28
+ status = 'completed',
29
+ completed_at = now(),
30
+ output = (SELECT final_output FROM run_output)
31
+ WHERE pgflow.runs.run_id = maybe_complete_run.run_id
32
+ AND pgflow.runs.remaining_steps = 0
33
+ AND pgflow.runs.status != 'completed'
34
+ RETURNING * INTO v_completed_run;
35
+
36
+ -- Only send broadcast if run was completed
37
+ IF v_completed_run.run_id IS NOT NULL THEN
38
+ PERFORM realtime.send(
39
+ jsonb_build_object(
40
+ 'event_type', 'run:completed',
41
+ 'run_id', v_completed_run.run_id,
42
+ 'flow_slug', v_completed_run.flow_slug,
43
+ 'status', 'completed',
44
+ 'output', v_completed_run.output,
45
+ 'completed_at', v_completed_run.completed_at
46
+ ),
47
+ 'run:completed',
48
+ concat('pgflow:run:', v_completed_run.run_id),
49
+ false
50
+ );
51
+ END IF;
52
+ end;
53
+ $$;
54
+ -- Modify "start_ready_steps" function
55
+ CREATE OR REPLACE FUNCTION "pgflow"."start_ready_steps" ("run_id" uuid) RETURNS void LANGUAGE sql SET "search_path" = '' AS $$
56
+ WITH ready_steps AS (
57
+ SELECT *
58
+ FROM pgflow.step_states AS step_state
59
+ WHERE step_state.run_id = start_ready_steps.run_id
60
+ AND step_state.status = 'created'
61
+ AND step_state.remaining_deps = 0
62
+ ORDER BY step_state.step_slug
63
+ FOR UPDATE
64
+ ),
65
+ started_step_states AS (
66
+ UPDATE pgflow.step_states
67
+ SET status = 'started',
68
+ started_at = now()
69
+ FROM ready_steps
70
+ WHERE pgflow.step_states.run_id = start_ready_steps.run_id
71
+ AND pgflow.step_states.step_slug = ready_steps.step_slug
72
+ RETURNING pgflow.step_states.*
73
+ ),
74
+ sent_messages AS (
75
+ SELECT
76
+ started_step.flow_slug,
77
+ started_step.run_id,
78
+ started_step.step_slug,
79
+ pgmq.send(started_step.flow_slug, jsonb_build_object(
80
+ 'flow_slug', started_step.flow_slug,
81
+ 'run_id', started_step.run_id,
82
+ 'step_slug', started_step.step_slug,
83
+ 'task_index', 0
84
+ )) AS msg_id
85
+ FROM started_step_states AS started_step
86
+ ),
87
+ broadcast_events AS (
88
+ SELECT
89
+ realtime.send(
90
+ jsonb_build_object(
91
+ 'event_type', 'step:started',
92
+ 'run_id', started_step.run_id,
93
+ 'step_slug', started_step.step_slug,
94
+ 'status', 'started',
95
+ 'started_at', started_step.started_at,
96
+ 'remaining_tasks', 1,
97
+ 'remaining_deps', started_step.remaining_deps
98
+ ),
99
+ concat('step:', started_step.step_slug, ':started'),
100
+ concat('pgflow:run:', started_step.run_id),
101
+ false
102
+ )
103
+ FROM started_step_states AS started_step
104
+ )
105
+ INSERT INTO pgflow.step_tasks (flow_slug, run_id, step_slug, message_id)
106
+ SELECT
107
+ sent_messages.flow_slug,
108
+ sent_messages.run_id,
109
+ sent_messages.step_slug,
110
+ sent_messages.msg_id
111
+ FROM sent_messages;
112
+ $$;
113
+ -- Modify "complete_task" function
114
+ CREATE OR REPLACE FUNCTION "pgflow"."complete_task" ("run_id" uuid, "step_slug" text, "task_index" integer, "output" jsonb) RETURNS SETOF "pgflow"."step_tasks" LANGUAGE plpgsql SET "search_path" = '' AS $$
115
+ declare
116
+ v_step_state pgflow.step_states%ROWTYPE;
117
+ begin
118
+
119
+ WITH run_lock AS (
120
+ SELECT * FROM pgflow.runs
121
+ WHERE pgflow.runs.run_id = complete_task.run_id
122
+ FOR UPDATE
123
+ ),
124
+ step_lock AS (
125
+ SELECT * FROM pgflow.step_states
126
+ WHERE pgflow.step_states.run_id = complete_task.run_id
127
+ AND pgflow.step_states.step_slug = complete_task.step_slug
128
+ FOR UPDATE
129
+ ),
130
+ task AS (
131
+ UPDATE pgflow.step_tasks
132
+ SET
133
+ status = 'completed',
134
+ completed_at = now(),
135
+ output = complete_task.output
136
+ WHERE pgflow.step_tasks.run_id = complete_task.run_id
137
+ AND pgflow.step_tasks.step_slug = complete_task.step_slug
138
+ AND pgflow.step_tasks.task_index = complete_task.task_index
139
+ AND pgflow.step_tasks.status = 'started'
140
+ RETURNING *
141
+ ),
142
+ step_state AS (
143
+ UPDATE pgflow.step_states
144
+ SET
145
+ status = CASE
146
+ WHEN pgflow.step_states.remaining_tasks = 1 THEN 'completed' -- Will be 0 after decrement
147
+ ELSE 'started'
148
+ END,
149
+ completed_at = CASE
150
+ WHEN pgflow.step_states.remaining_tasks = 1 THEN now() -- Will be 0 after decrement
151
+ ELSE NULL
152
+ END,
153
+ remaining_tasks = pgflow.step_states.remaining_tasks - 1
154
+ FROM task
155
+ WHERE pgflow.step_states.run_id = complete_task.run_id
156
+ AND pgflow.step_states.step_slug = complete_task.step_slug
157
+ RETURNING pgflow.step_states.*
158
+ ),
159
+ -- Find all dependent steps if the current step was completed
160
+ dependent_steps AS (
161
+ SELECT d.step_slug AS dependent_step_slug
162
+ FROM pgflow.deps d
163
+ JOIN step_state s ON s.status = 'completed' AND d.flow_slug = s.flow_slug
164
+ WHERE d.dep_slug = complete_task.step_slug
165
+ ORDER BY d.step_slug -- Ensure consistent ordering
166
+ ),
167
+ -- Lock dependent steps before updating
168
+ dependent_steps_lock AS (
169
+ SELECT * FROM pgflow.step_states
170
+ WHERE pgflow.step_states.run_id = complete_task.run_id
171
+ AND pgflow.step_states.step_slug IN (SELECT dependent_step_slug FROM dependent_steps)
172
+ FOR UPDATE
173
+ ),
174
+ -- Update all dependent steps
175
+ dependent_steps_update AS (
176
+ UPDATE pgflow.step_states
177
+ SET remaining_deps = pgflow.step_states.remaining_deps - 1
178
+ FROM dependent_steps
179
+ WHERE pgflow.step_states.run_id = complete_task.run_id
180
+ AND pgflow.step_states.step_slug = dependent_steps.dependent_step_slug
181
+ )
182
+ -- Only decrement remaining_steps, don't update status
183
+ UPDATE pgflow.runs
184
+ SET remaining_steps = pgflow.runs.remaining_steps - 1
185
+ FROM step_state
186
+ WHERE pgflow.runs.run_id = complete_task.run_id
187
+ AND step_state.status = 'completed';
188
+
189
+ -- Get the updated step state for broadcasting
190
+ SELECT * INTO v_step_state FROM pgflow.step_states
191
+ WHERE pgflow.step_states.run_id = complete_task.run_id AND pgflow.step_states.step_slug = complete_task.step_slug;
192
+
193
+ -- Send broadcast event for step completed if the step is completed
194
+ IF v_step_state.status = 'completed' THEN
195
+ PERFORM realtime.send(
196
+ jsonb_build_object(
197
+ 'event_type', 'step:completed',
198
+ 'run_id', complete_task.run_id,
199
+ 'step_slug', complete_task.step_slug,
200
+ 'status', 'completed',
201
+ 'output', complete_task.output,
202
+ 'completed_at', v_step_state.completed_at
203
+ ),
204
+ concat('step:', complete_task.step_slug, ':completed'),
205
+ concat('pgflow:run:', complete_task.run_id),
206
+ false
207
+ );
208
+ END IF;
209
+
210
+ -- For completed tasks: archive the message
211
+ PERFORM (
212
+ WITH completed_tasks AS (
213
+ SELECT r.flow_slug, st.message_id
214
+ FROM pgflow.step_tasks st
215
+ JOIN pgflow.runs r ON st.run_id = r.run_id
216
+ WHERE st.run_id = complete_task.run_id
217
+ AND st.step_slug = complete_task.step_slug
218
+ AND st.task_index = complete_task.task_index
219
+ AND st.status = 'completed'
220
+ )
221
+ SELECT pgmq.archive(ct.flow_slug, ct.message_id)
222
+ FROM completed_tasks ct
223
+ WHERE EXISTS (SELECT 1 FROM completed_tasks)
224
+ );
225
+
226
+ PERFORM pgflow.start_ready_steps(complete_task.run_id);
227
+
228
+ PERFORM pgflow.maybe_complete_run(complete_task.run_id);
229
+
230
+ RETURN QUERY SELECT *
231
+ FROM pgflow.step_tasks AS step_task
232
+ WHERE step_task.run_id = complete_task.run_id
233
+ AND step_task.step_slug = complete_task.step_slug
234
+ AND step_task.task_index = complete_task.task_index;
235
+
236
+ end;
237
+ $$;
238
+ -- Modify "fail_task" function
239
+ CREATE OR REPLACE FUNCTION "pgflow"."fail_task" ("run_id" uuid, "step_slug" text, "task_index" integer, "error_message" text) RETURNS SETOF "pgflow"."step_tasks" LANGUAGE plpgsql SET "search_path" = '' AS $$
240
+ DECLARE
241
+ v_run_failed boolean;
242
+ begin
243
+
244
+ WITH run_lock AS (
245
+ SELECT * FROM pgflow.runs
246
+ WHERE pgflow.runs.run_id = fail_task.run_id
247
+ FOR UPDATE
248
+ ),
249
+ step_lock AS (
250
+ SELECT * FROM pgflow.step_states
251
+ WHERE pgflow.step_states.run_id = fail_task.run_id
252
+ AND pgflow.step_states.step_slug = fail_task.step_slug
253
+ FOR UPDATE
254
+ ),
255
+ flow_info AS (
256
+ SELECT r.flow_slug
257
+ FROM pgflow.runs r
258
+ WHERE r.run_id = fail_task.run_id
259
+ ),
260
+ config AS (
261
+ SELECT
262
+ COALESCE(s.opt_max_attempts, f.opt_max_attempts) AS opt_max_attempts,
263
+ COALESCE(s.opt_base_delay, f.opt_base_delay) AS opt_base_delay
264
+ FROM pgflow.steps s
265
+ JOIN pgflow.flows f ON f.flow_slug = s.flow_slug
266
+ JOIN flow_info fi ON fi.flow_slug = s.flow_slug
267
+ WHERE s.flow_slug = fi.flow_slug AND s.step_slug = fail_task.step_slug
268
+ ),
269
+ fail_or_retry_task as (
270
+ UPDATE pgflow.step_tasks as task
271
+ SET
272
+ status = CASE
273
+ WHEN task.attempts_count < (SELECT opt_max_attempts FROM config) THEN 'queued'
274
+ ELSE 'failed'
275
+ END,
276
+ failed_at = CASE
277
+ WHEN task.attempts_count >= (SELECT opt_max_attempts FROM config) THEN now()
278
+ ELSE NULL
279
+ END,
280
+ started_at = CASE
281
+ WHEN task.attempts_count < (SELECT opt_max_attempts FROM config) THEN NULL
282
+ ELSE task.started_at
283
+ END,
284
+ error_message = fail_task.error_message
285
+ WHERE task.run_id = fail_task.run_id
286
+ AND task.step_slug = fail_task.step_slug
287
+ AND task.task_index = fail_task.task_index
288
+ AND task.status = 'started'
289
+ RETURNING *
290
+ ),
291
+ maybe_fail_step AS (
292
+ UPDATE pgflow.step_states
293
+ SET
294
+ status = CASE
295
+ WHEN (select fail_or_retry_task.status from fail_or_retry_task) = 'failed' THEN 'failed'
296
+ ELSE pgflow.step_states.status
297
+ END,
298
+ failed_at = CASE
299
+ WHEN (select fail_or_retry_task.status from fail_or_retry_task) = 'failed' THEN now()
300
+ ELSE NULL
301
+ END,
302
+ error_message = CASE
303
+ WHEN (select fail_or_retry_task.status from fail_or_retry_task) = 'failed' THEN fail_task.error_message
304
+ ELSE NULL
305
+ END
306
+ FROM fail_or_retry_task
307
+ WHERE pgflow.step_states.run_id = fail_task.run_id
308
+ AND pgflow.step_states.step_slug = fail_task.step_slug
309
+ RETURNING pgflow.step_states.*
310
+ ),
311
+ -- Send broadcast event for step failed if necessary
312
+ broadcast_step_failed AS (
313
+ SELECT
314
+ realtime.send(
315
+ jsonb_build_object(
316
+ 'event_type', 'step:failed',
317
+ 'run_id', fail_task.run_id,
318
+ 'step_slug', fail_task.step_slug,
319
+ 'status', 'failed',
320
+ 'error_message', fail_task.error_message,
321
+ 'failed_at', now()
322
+ ),
323
+ concat('step:', fail_task.step_slug, ':failed'),
324
+ concat('pgflow:run:', fail_task.run_id),
325
+ false
326
+ )
327
+ FROM maybe_fail_step
328
+ WHERE maybe_fail_step.status = 'failed'
329
+ )
330
+ -- Only decrement remaining_steps, don't update status
331
+ UPDATE pgflow.runs
332
+ SET status = CASE
333
+ WHEN (select status from maybe_fail_step) = 'failed' THEN 'failed'
334
+ ELSE status
335
+ END,
336
+ failed_at = CASE
337
+ WHEN (select status from maybe_fail_step) = 'failed' THEN now()
338
+ ELSE NULL
339
+ END
340
+ WHERE pgflow.runs.run_id = fail_task.run_id
341
+ RETURNING (status = 'failed') INTO v_run_failed;
342
+
343
+ -- Send broadcast event for run failure if the run was failed
344
+ IF v_run_failed THEN
345
+ DECLARE
346
+ v_flow_slug text;
347
+ BEGIN
348
+ SELECT flow_slug INTO v_flow_slug FROM pgflow.runs WHERE pgflow.runs.run_id = fail_task.run_id;
349
+
350
+ PERFORM realtime.send(
351
+ jsonb_build_object(
352
+ 'event_type', 'run:failed',
353
+ 'run_id', fail_task.run_id,
354
+ 'flow_slug', v_flow_slug,
355
+ 'status', 'failed',
356
+ 'error_message', fail_task.error_message,
357
+ 'failed_at', now()
358
+ ),
359
+ 'run:failed',
360
+ concat('pgflow:run:', fail_task.run_id),
361
+ false
362
+ );
363
+ END;
364
+ END IF;
365
+
366
+ -- For queued tasks: delay the message for retry with exponential backoff
367
+ PERFORM (
368
+ WITH retry_config AS (
369
+ SELECT
370
+ COALESCE(s.opt_base_delay, f.opt_base_delay) AS base_delay
371
+ FROM pgflow.steps s
372
+ JOIN pgflow.flows f ON f.flow_slug = s.flow_slug
373
+ JOIN pgflow.runs r ON r.flow_slug = f.flow_slug
374
+ WHERE r.run_id = fail_task.run_id
375
+ AND s.step_slug = fail_task.step_slug
376
+ ),
377
+ queued_tasks AS (
378
+ SELECT
379
+ r.flow_slug,
380
+ st.message_id,
381
+ pgflow.calculate_retry_delay((SELECT base_delay FROM retry_config), st.attempts_count) AS calculated_delay
382
+ FROM pgflow.step_tasks st
383
+ JOIN pgflow.runs r ON st.run_id = r.run_id
384
+ WHERE st.run_id = fail_task.run_id
385
+ AND st.step_slug = fail_task.step_slug
386
+ AND st.task_index = fail_task.task_index
387
+ AND st.status = 'queued'
388
+ )
389
+ SELECT pgmq.set_vt(qt.flow_slug, qt.message_id, qt.calculated_delay)
390
+ FROM queued_tasks qt
391
+ WHERE EXISTS (SELECT 1 FROM queued_tasks)
392
+ );
393
+
394
+ -- For failed tasks: archive the message
395
+ PERFORM (
396
+ WITH failed_tasks AS (
397
+ SELECT r.flow_slug, st.message_id
398
+ FROM pgflow.step_tasks st
399
+ JOIN pgflow.runs r ON st.run_id = r.run_id
400
+ WHERE st.run_id = fail_task.run_id
401
+ AND st.step_slug = fail_task.step_slug
402
+ AND st.task_index = fail_task.task_index
403
+ AND st.status = 'failed'
404
+ )
405
+ SELECT pgmq.archive(ft.flow_slug, ft.message_id)
406
+ FROM failed_tasks ft
407
+ WHERE EXISTS (SELECT 1 FROM failed_tasks)
408
+ );
409
+
410
+ return query select *
411
+ from pgflow.step_tasks st
412
+ where st.run_id = fail_task.run_id
413
+ and st.step_slug = fail_task.step_slug
414
+ and st.task_index = fail_task.task_index;
415
+
416
+ end;
417
+ $$;
418
+ -- Create "get_run_with_states" function
419
+ CREATE FUNCTION "pgflow"."get_run_with_states" ("run_id" uuid) RETURNS jsonb LANGUAGE sql SECURITY DEFINER AS $$
420
+ SELECT jsonb_build_object(
421
+ 'run', to_jsonb(r),
422
+ 'steps', COALESCE(jsonb_agg(to_jsonb(s)) FILTER (WHERE s.run_id IS NOT NULL), '[]'::jsonb)
423
+ )
424
+ FROM pgflow.runs r
425
+ LEFT JOIN pgflow.step_states s ON s.run_id = r.run_id
426
+ WHERE r.run_id = get_run_with_states.run_id
427
+ GROUP BY r.run_id;
428
+ $$;
429
+ -- Create "start_flow" function
430
+ CREATE 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 $$
431
+ declare
432
+ v_created_run pgflow.runs%ROWTYPE;
433
+ begin
434
+
435
+ WITH
436
+ flow_steps AS (
437
+ SELECT steps.flow_slug, steps.step_slug, steps.deps_count
438
+ FROM pgflow.steps
439
+ WHERE steps.flow_slug = start_flow.flow_slug
440
+ ),
441
+ created_run AS (
442
+ INSERT INTO pgflow.runs (run_id, flow_slug, input, remaining_steps)
443
+ VALUES (
444
+ COALESCE(start_flow.run_id, gen_random_uuid()),
445
+ start_flow.flow_slug,
446
+ start_flow.input,
447
+ (SELECT count(*) FROM flow_steps)
448
+ )
449
+ RETURNING *
450
+ ),
451
+ created_step_states AS (
452
+ INSERT INTO pgflow.step_states (flow_slug, run_id, step_slug, remaining_deps)
453
+ SELECT
454
+ fs.flow_slug,
455
+ (SELECT created_run.run_id FROM created_run),
456
+ fs.step_slug,
457
+ fs.deps_count
458
+ FROM flow_steps fs
459
+ )
460
+ SELECT * FROM created_run INTO v_created_run;
461
+
462
+ -- Send broadcast event for run started
463
+ PERFORM realtime.send(
464
+ jsonb_build_object(
465
+ 'event_type', 'run:started',
466
+ 'run_id', v_created_run.run_id,
467
+ 'flow_slug', v_created_run.flow_slug,
468
+ 'input', v_created_run.input,
469
+ 'status', 'started',
470
+ 'remaining_steps', v_created_run.remaining_steps,
471
+ 'started_at', v_created_run.started_at
472
+ ),
473
+ 'run:started',
474
+ concat('pgflow:run:', v_created_run.run_id),
475
+ false
476
+ );
477
+
478
+ PERFORM pgflow.start_ready_steps(v_created_run.run_id);
479
+
480
+ RETURN QUERY SELECT * FROM pgflow.runs where pgflow.runs.run_id = v_created_run.run_id;
481
+
482
+ end;
483
+ $$;
484
+ -- Create "start_flow_with_states" function
485
+ CREATE FUNCTION "pgflow"."start_flow_with_states" ("flow_slug" text, "input" jsonb, "run_id" uuid DEFAULT NULL::uuid) RETURNS jsonb LANGUAGE plpgsql SECURITY DEFINER AS $$
486
+ DECLARE
487
+ v_run_id UUID;
488
+ BEGIN
489
+ -- Start the flow using existing function
490
+ SELECT r.run_id INTO v_run_id FROM pgflow.start_flow(
491
+ start_flow_with_states.flow_slug,
492
+ start_flow_with_states.input,
493
+ start_flow_with_states.run_id
494
+ ) AS r LIMIT 1;
495
+
496
+ -- Use get_run_with_states to return the complete state
497
+ RETURN pgflow.get_run_with_states(v_run_id);
498
+ END;
499
+ $$;
500
+ -- Drop "start_flow" function
501
+ DROP FUNCTION "pgflow"."start_flow" (text, jsonb);
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ExtractFlowSteps, StepInput, Simplify, AnyFlow } from '@pgflow/dsl';
1
+ import type { ExtractFlowSteps, StepInput, Simplify, AnyFlow, ExtractFlowInput } from '@pgflow/dsl';
2
2
  import type { Database } from './database-types.js';
3
3
  export type Json = string | number | boolean | null | {
4
4
  [key: string]: Json | undefined;
@@ -38,6 +38,10 @@ export type MessageRecord = {
38
38
  * Interface for interacting with pgflow database functions
39
39
  */
40
40
  export interface IPgflowClient<TFlow extends AnyFlow = AnyFlow> {
41
+ /**
42
+ * Start a flow with optional run_id
43
+ */
44
+ startFlow<TFlow extends AnyFlow>(flow_slug: string, input: ExtractFlowInput<TFlow>, run_id?: string): Promise<RunRow>;
41
45
  /**
42
46
  * Reads messages from queue without starting tasks (phase 1 of two-phase approach)
43
47
  * @param queueName - Name of the queue
@@ -55,15 +59,11 @@ export interface IPgflowClient<TFlow extends AnyFlow = AnyFlow> {
55
59
  */
56
60
  startTasks(flowSlug: string, msgIds: number[], workerId: string): Promise<StepTaskRecord<TFlow>[]>;
57
61
  /**
58
- * Marks a task as completed
59
- * @param stepTask - Step task key containing run_id and step_slug
60
- * @param output - Output payload for the task
62
+ * Mark a task as completed with output
61
63
  */
62
64
  completeTask(stepTask: StepTaskKey, output?: Json): Promise<void>;
63
65
  /**
64
- * Marks a task as failed
65
- * @param stepTask - Step task key containing run_id and step_slug
66
- * @param error - Error to fail task with
66
+ * Mark a task as failed with error
67
67
  */
68
68
  failTask(stepTask: StepTaskKey, error: unknown): Promise<void>;
69
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pgflow/core",
3
- "version": "0.3.1",
3
+ "version": "0.4.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.3.1"
27
+ "@pgflow/dsl": "0.4.0"
28
28
  },
29
29
  "publishConfig": {
30
30
  "access": "public"