@pgflow/core 0.0.0-test-snapshot-releases2-8d5d9bc1-20250922101158 → 0.0.0-update-supabase-868977e5-20251119071021

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +177 -73
  2. package/dist/ATLAS.md +32 -0
  3. package/dist/CHANGELOG.md +796 -0
  4. package/dist/PgflowSqlClient.d.ts +17 -0
  5. package/dist/PgflowSqlClient.d.ts.map +1 -0
  6. package/dist/PgflowSqlClient.js +70 -0
  7. package/dist/README.md +497 -0
  8. package/dist/database-types.d.ts +1007 -0
  9. package/dist/database-types.d.ts.map +1 -0
  10. package/dist/database-types.js +8 -0
  11. package/dist/index.d.ts +4 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +2 -0
  14. package/dist/package.json +32 -0
  15. package/dist/supabase/migrations/20250429164909_pgflow_initial.sql +579 -0
  16. package/dist/supabase/migrations/20250517072017_pgflow_fix_poll_for_tasks_to_use_separate_statement_for_polling.sql +101 -0
  17. package/dist/supabase/migrations/20250609105135_pgflow_add_start_tasks_and_started_status.sql +371 -0
  18. package/dist/supabase/migrations/20250610180554_pgflow_add_set_vt_batch_and_use_it_in_start_tasks.sql +127 -0
  19. package/dist/supabase/migrations/20250614124241_pgflow_add_realtime.sql +501 -0
  20. package/dist/supabase/migrations/20250619195327_pgflow_fix_fail_task_missing_realtime_event.sql +185 -0
  21. package/dist/supabase/migrations/20250627090700_pgflow_fix_function_search_paths.sql +6 -0
  22. package/dist/supabase/migrations/20250707210212_pgflow_add_opt_start_delay.sql +103 -0
  23. package/dist/supabase/migrations/20250719205006_pgflow_worker_deprecation.sql +2 -0
  24. package/dist/supabase/migrations/20251006073122_pgflow_add_map_step_type.sql +1244 -0
  25. package/dist/supabase/migrations/20251103222045_pgflow_fix_broadcast_order_and_timestamp_handling.sql +622 -0
  26. package/dist/supabase/migrations/20251104080523_pgflow_upgrade_pgmq_1_5_1.sql +93 -0
  27. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  28. package/dist/types.d.ts +93 -0
  29. package/dist/types.d.ts.map +1 -0
  30. package/dist/types.js +1 -0
  31. package/package.json +4 -4
@@ -0,0 +1,103 @@
1
+ -- Modify "steps" table
2
+ ALTER TABLE "pgflow"."steps" ADD CONSTRAINT "opt_start_delay_is_nonnegative" CHECK ((opt_start_delay IS NULL) OR (opt_start_delay >= 0)), ADD COLUMN "opt_start_delay" integer NULL;
3
+ -- Modify "start_ready_steps" function
4
+ CREATE OR REPLACE FUNCTION "pgflow"."start_ready_steps" ("run_id" uuid) RETURNS void LANGUAGE sql SET "search_path" = '' AS $$
5
+ WITH ready_steps AS (
6
+ SELECT *
7
+ FROM pgflow.step_states AS step_state
8
+ WHERE step_state.run_id = start_ready_steps.run_id
9
+ AND step_state.status = 'created'
10
+ AND step_state.remaining_deps = 0
11
+ ORDER BY step_state.step_slug
12
+ FOR UPDATE
13
+ ),
14
+ started_step_states AS (
15
+ UPDATE pgflow.step_states
16
+ SET status = 'started',
17
+ started_at = now()
18
+ FROM ready_steps
19
+ WHERE pgflow.step_states.run_id = start_ready_steps.run_id
20
+ AND pgflow.step_states.step_slug = ready_steps.step_slug
21
+ RETURNING pgflow.step_states.*
22
+ ),
23
+ sent_messages AS (
24
+ SELECT
25
+ started_step.flow_slug,
26
+ started_step.run_id,
27
+ started_step.step_slug,
28
+ pgmq.send(
29
+ started_step.flow_slug,
30
+ jsonb_build_object(
31
+ 'flow_slug', started_step.flow_slug,
32
+ 'run_id', started_step.run_id,
33
+ 'step_slug', started_step.step_slug,
34
+ 'task_index', 0
35
+ ),
36
+ COALESCE(step.opt_start_delay, 0)
37
+ ) AS msg_id
38
+ FROM started_step_states AS started_step
39
+ JOIN pgflow.steps AS step
40
+ ON step.flow_slug = started_step.flow_slug
41
+ AND step.step_slug = started_step.step_slug
42
+ ),
43
+ broadcast_events AS (
44
+ SELECT
45
+ realtime.send(
46
+ jsonb_build_object(
47
+ 'event_type', 'step:started',
48
+ 'run_id', started_step.run_id,
49
+ 'step_slug', started_step.step_slug,
50
+ 'status', 'started',
51
+ 'started_at', started_step.started_at,
52
+ 'remaining_tasks', 1,
53
+ 'remaining_deps', started_step.remaining_deps
54
+ ),
55
+ concat('step:', started_step.step_slug, ':started'),
56
+ concat('pgflow:run:', started_step.run_id),
57
+ false
58
+ )
59
+ FROM started_step_states AS started_step
60
+ )
61
+ INSERT INTO pgflow.step_tasks (flow_slug, run_id, step_slug, message_id)
62
+ SELECT
63
+ sent_messages.flow_slug,
64
+ sent_messages.run_id,
65
+ sent_messages.step_slug,
66
+ sent_messages.msg_id
67
+ FROM sent_messages;
68
+ $$;
69
+ -- Create "add_step" function
70
+ CREATE FUNCTION "pgflow"."add_step" ("flow_slug" text, "step_slug" text, "deps_slugs" text[], "max_attempts" integer DEFAULT NULL::integer, "base_delay" integer DEFAULT NULL::integer, "timeout" integer DEFAULT NULL::integer, "start_delay" integer DEFAULT NULL::integer) RETURNS "pgflow"."steps" LANGUAGE sql SET "search_path" = '' AS $$
71
+ WITH
72
+ next_index AS (
73
+ SELECT COALESCE(MAX(step_index) + 1, 0) as idx
74
+ FROM pgflow.steps
75
+ WHERE flow_slug = add_step.flow_slug
76
+ ),
77
+ create_step AS (
78
+ INSERT INTO pgflow.steps (flow_slug, step_slug, step_index, deps_count, opt_max_attempts, opt_base_delay, opt_timeout, opt_start_delay)
79
+ SELECT add_step.flow_slug, add_step.step_slug, idx, COALESCE(array_length(deps_slugs, 1), 0), max_attempts, base_delay, timeout, start_delay
80
+ FROM next_index
81
+ ON CONFLICT (flow_slug, step_slug)
82
+ DO UPDATE SET step_slug = pgflow.steps.step_slug
83
+ RETURNING *
84
+ ),
85
+ insert_deps AS (
86
+ INSERT INTO pgflow.deps (flow_slug, dep_slug, step_slug)
87
+ SELECT add_step.flow_slug, d.dep_slug, add_step.step_slug
88
+ FROM unnest(deps_slugs) AS d(dep_slug)
89
+ ON CONFLICT (flow_slug, dep_slug, step_slug) DO NOTHING
90
+ RETURNING 1
91
+ )
92
+ -- Return the created step
93
+ SELECT * FROM create_step;
94
+ $$;
95
+ -- Drop "add_step" function
96
+ DROP FUNCTION "pgflow"."add_step" (text, text, integer, integer, integer);
97
+ -- Drop "add_step" function
98
+ DROP FUNCTION "pgflow"."add_step" (text, text, text[], integer, integer, integer);
99
+ -- Create "add_step" function
100
+ CREATE FUNCTION "pgflow"."add_step" ("flow_slug" text, "step_slug" text, "max_attempts" integer DEFAULT NULL::integer, "base_delay" integer DEFAULT NULL::integer, "timeout" integer DEFAULT NULL::integer, "start_delay" integer DEFAULT NULL::integer) RETURNS "pgflow"."steps" LANGUAGE sql SET "search_path" = '' AS $$
101
+ -- Call the original function with an empty array
102
+ SELECT * FROM pgflow.add_step(flow_slug, step_slug, ARRAY[]::text[], max_attempts, base_delay, timeout, start_delay);
103
+ $$;
@@ -0,0 +1,2 @@
1
+ -- Rename a column from "stopped_at" to "deprecated_at"
2
+ ALTER TABLE "pgflow"."workers" RENAME COLUMN "stopped_at" TO "deprecated_at";