@dbos-inc/dbos-sdk 4.26.3-preview → 4.26.4-preview

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 (82) hide show
  1. package/dist/schemas/system_db_schema.d.ts +5 -0
  2. package/dist/schemas/system_db_schema.d.ts.map +1 -1
  3. package/dist/schemas/system_db_schema.js.map +1 -1
  4. package/dist/src/adminserver.js +1 -1
  5. package/dist/src/adminserver.js.map +1 -1
  6. package/dist/src/cli/cli.d.ts.map +1 -1
  7. package/dist/src/cli/cli.js +64 -0
  8. package/dist/src/cli/cli.js.map +1 -1
  9. package/dist/src/cli/schema.d.ts.map +1 -1
  10. package/dist/src/cli/schema.js +26 -16
  11. package/dist/src/cli/schema.js.map +1 -1
  12. package/dist/src/client.d.ts +62 -4
  13. package/dist/src/client.d.ts.map +1 -1
  14. package/dist/src/client.js +58 -8
  15. package/dist/src/client.js.map +1 -1
  16. package/dist/src/conductor/conductor.d.ts.map +1 -1
  17. package/dist/src/conductor/conductor.js +13 -2
  18. package/dist/src/conductor/conductor.js.map +1 -1
  19. package/dist/src/conductor/protocol.d.ts +16 -2
  20. package/dist/src/conductor/protocol.d.ts.map +1 -1
  21. package/dist/src/conductor/protocol.js +10 -2
  22. package/dist/src/conductor/protocol.js.map +1 -1
  23. package/dist/src/context.d.ts +1 -0
  24. package/dist/src/context.d.ts.map +1 -1
  25. package/dist/src/context.js +2 -1
  26. package/dist/src/context.js.map +1 -1
  27. package/dist/src/dbos-executor.d.ts +1 -0
  28. package/dist/src/dbos-executor.d.ts.map +1 -1
  29. package/dist/src/dbos-executor.js +11 -2
  30. package/dist/src/dbos-executor.js.map +1 -1
  31. package/dist/src/dbos.d.ts +41 -7
  32. package/dist/src/dbos.d.ts.map +1 -1
  33. package/dist/src/dbos.js +61 -4
  34. package/dist/src/dbos.js.map +1 -1
  35. package/dist/src/debouncer.d.ts +4 -0
  36. package/dist/src/debouncer.d.ts.map +1 -1
  37. package/dist/src/debouncer.js +32 -8
  38. package/dist/src/debouncer.js.map +1 -1
  39. package/dist/src/enqueue_options.d.ts +59 -0
  40. package/dist/src/enqueue_options.d.ts.map +1 -0
  41. package/dist/src/enqueue_options.js +61 -0
  42. package/dist/src/enqueue_options.js.map +1 -0
  43. package/dist/src/enqueue_workflow.d.ts +12 -0
  44. package/dist/src/enqueue_workflow.d.ts.map +1 -0
  45. package/dist/src/enqueue_workflow.js +91 -0
  46. package/dist/src/enqueue_workflow.js.map +1 -0
  47. package/dist/src/index.d.ts +2 -1
  48. package/dist/src/index.d.ts.map +1 -1
  49. package/dist/src/index.js +3 -1
  50. package/dist/src/index.js.map +1 -1
  51. package/dist/src/scheduler/scheduler.d.ts +1 -0
  52. package/dist/src/scheduler/scheduler.d.ts.map +1 -1
  53. package/dist/src/scheduler/scheduler.js +13 -5
  54. package/dist/src/scheduler/scheduler.js.map +1 -1
  55. package/dist/src/sysdb_migrations/internal/migrations.d.ts +2 -1
  56. package/dist/src/sysdb_migrations/internal/migrations.d.ts.map +1 -1
  57. package/dist/src/sysdb_migrations/internal/migrations.js +186 -2
  58. package/dist/src/sysdb_migrations/internal/migrations.js.map +1 -1
  59. package/dist/src/sysdb_migrations/migration_runner.d.ts +5 -0
  60. package/dist/src/sysdb_migrations/migration_runner.d.ts.map +1 -1
  61. package/dist/src/sysdb_migrations/migration_runner.js +48 -10
  62. package/dist/src/sysdb_migrations/migration_runner.js.map +1 -1
  63. package/dist/src/system_database.d.ts +65 -10
  64. package/dist/src/system_database.d.ts.map +1 -1
  65. package/dist/src/system_database.js +544 -152
  66. package/dist/src/system_database.js.map +1 -1
  67. package/dist/src/utils.d.ts +1 -0
  68. package/dist/src/utils.d.ts.map +1 -1
  69. package/dist/src/utils.js +1 -0
  70. package/dist/src/utils.js.map +1 -1
  71. package/dist/src/wfqueue.d.ts +2 -0
  72. package/dist/src/wfqueue.d.ts.map +1 -1
  73. package/dist/src/wfqueue.js +5 -1
  74. package/dist/src/wfqueue.js.map +1 -1
  75. package/dist/src/workflow.d.ts +2 -0
  76. package/dist/src/workflow.d.ts.map +1 -1
  77. package/dist/src/workflow.js.map +1 -1
  78. package/dist/src/workflow_management.d.ts.map +1 -1
  79. package/dist/src/workflow_management.js +4 -9
  80. package/dist/src/workflow_management.js.map +1 -1
  81. package/dist/tsconfig.tsbuildinfo +1 -1
  82. package/package.json +1 -1
@@ -1,11 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.allMigrations = void 0;
3
+ exports.allMigrations = exports.SHARED_MIGRATION_BASE = void 0;
4
+ const migration_runner_1 = require("../migration_runner");
5
+ Object.defineProperty(exports, "SHARED_MIGRATION_BASE", { enumerable: true, get: function () { return migration_runner_1.SHARED_MIGRATION_BASE; } });
6
+ /**
7
+ * Pad a language's own history out to SHARED_MIGRATION_BASE - 1. Earlier indices
8
+ * stay per-language, safe to skip only because the schemas converge.
9
+ */
10
+ function padToSharedBase(migrations) {
11
+ const padding = Array.from({ length: migration_runner_1.SHARED_MIGRATION_BASE - 1 - migrations.length }, () => ({
12
+ pg: [],
13
+ }));
14
+ return [...migrations, ...padding];
15
+ }
4
16
  function allMigrations(schemaName = 'dbos', opts) {
5
17
  const useListenNotify = opts?.useListenNotify ?? true;
6
18
  const isCockroach = opts?.isCockroach ?? false;
7
19
  const c = isCockroach ? '' : 'CONCURRENTLY';
8
- return [
20
+ const history = [
9
21
  {
10
22
  name: '20240123182943_schema',
11
23
  pg: [`CREATE SCHEMA IF NOT EXISTS "${schemaName}"`],
@@ -720,7 +732,179 @@ function allMigrations(schemaName = 'dbos', opts) {
720
732
  online: true,
721
733
  pg: [`DROP INDEX ${c} IF EXISTS "${schemaName}"."idx_workflow_status_partition_dequeue"`],
722
734
  },
735
+ // Long-abandoned tables whose contents moved onto workflow_status; dropping them leaves the schema identical to every other SDK's at the shared base.
736
+ {
737
+ name: '20250725_drop_consolidated_tables',
738
+ pg: [
739
+ `DROP TABLE IF EXISTS "${schemaName}"."workflow_inputs"`,
740
+ `DROP TABLE IF EXISTS "${schemaName}"."workflow_queue"`,
741
+ `DROP TABLE IF EXISTS "${schemaName}"."scheduler_state"`,
742
+ ],
743
+ },
723
744
  ];
745
+ return [...padToSharedBase(history), ...sharedMigrations(schemaName, isCockroach)];
724
746
  }
725
747
  exports.allMigrations = allMigrations;
748
+ /**
749
+ * Migrations from SHARED_MIGRATION_BASE on, defined identically by every SDK at the
750
+ * same index so applications in different languages can share a system database.
751
+ */
752
+ function sharedMigrations(schemaName, isCockroach) {
753
+ return [
754
+ // NULL means unclaimed: any application may read and claim the row. One table per migration, so a blocked table does not hold the others' locks.
755
+ {
756
+ name: '100_workflow_status_application_name',
757
+ pg: [
758
+ `ALTER TABLE "${schemaName}"."workflow_status" ADD COLUMN IF NOT EXISTS "application_name" TEXT DEFAULT NULL`,
759
+ ],
760
+ },
761
+ {
762
+ name: '101_queues_application_name',
763
+ pg: [`ALTER TABLE "${schemaName}"."queues" ADD COLUMN IF NOT EXISTS "application_name" TEXT DEFAULT NULL`],
764
+ },
765
+ {
766
+ name: '102_workflow_schedules_application_name',
767
+ pg: [
768
+ `ALTER TABLE "${schemaName}"."workflow_schedules" ADD COLUMN IF NOT EXISTS "application_name" TEXT DEFAULT NULL`,
769
+ ],
770
+ },
771
+ {
772
+ name: '103_application_versions_application_name',
773
+ pg: [
774
+ `ALTER TABLE "${schemaName}"."application_versions" ADD COLUMN IF NOT EXISTS "application_name" TEXT DEFAULT NULL`,
775
+ ],
776
+ },
777
+ {
778
+ name: '104_operation_outputs_application_name',
779
+ pg: [
780
+ `ALTER TABLE "${schemaName}"."operation_outputs" ADD COLUMN IF NOT EXISTS "application_name" TEXT DEFAULT NULL`,
781
+ ],
782
+ },
783
+ // Callers omitting the trailing application_name enqueue an unclaimed workflow.
784
+ {
785
+ name: '105_enqueue_workflow_application_name',
786
+ pg: [
787
+ `DROP FUNCTION IF EXISTS "${schemaName}".enqueue_workflow(
788
+ TEXT, TEXT, JSON[], JSON, TEXT, TEXT, TEXT, TEXT, BIGINT, BIGINT, TEXT, INT4, TEXT, TEXT, TEXT, BIGINT
789
+ )`,
790
+ `CREATE OR REPLACE FUNCTION "${schemaName}".enqueue_workflow(
791
+ workflow_name TEXT,
792
+ queue_name TEXT,
793
+ positional_args JSON[] DEFAULT ARRAY[]::JSON[],
794
+ named_args JSON DEFAULT '{}'::JSON,
795
+ class_name TEXT DEFAULT NULL,
796
+ config_name TEXT DEFAULT NULL,
797
+ workflow_id TEXT DEFAULT NULL,
798
+ app_version TEXT DEFAULT NULL,
799
+ timeout_ms BIGINT DEFAULT NULL,
800
+ deadline_epoch_ms BIGINT DEFAULT NULL,
801
+ deduplication_id TEXT DEFAULT NULL,
802
+ priority INT4 DEFAULT NULL,
803
+ queue_partition_key TEXT DEFAULT NULL,
804
+ authenticated_user TEXT DEFAULT NULL,
805
+ authenticated_roles TEXT DEFAULT NULL,
806
+ delay_until_epoch_ms BIGINT DEFAULT NULL,
807
+ application_name TEXT DEFAULT NULL
808
+ ) RETURNS TEXT AS $$
809
+ DECLARE
810
+ v_workflow_id TEXT;
811
+ v_serialized_inputs TEXT;
812
+ v_owner_xid TEXT;
813
+ v_now BIGINT;
814
+ v_recovery_attempts INT4 := 0;
815
+ v_priority INT4;
816
+ v_status TEXT;
817
+ BEGIN
818
+
819
+ -- Validate required parameters
820
+ IF workflow_name IS NULL OR workflow_name = '' THEN
821
+ RAISE EXCEPTION 'Workflow name cannot be null or empty';
822
+ END IF;
823
+ IF queue_name IS NULL OR queue_name = '' THEN
824
+ RAISE EXCEPTION 'Queue name cannot be null or empty';
825
+ END IF;
826
+ IF named_args IS NOT NULL AND jsonb_typeof(named_args::jsonb) != 'object' THEN
827
+ RAISE EXCEPTION 'Named args must be a JSON object';
828
+ END IF;
829
+ IF workflow_id IS NOT NULL AND workflow_id = '' THEN
830
+ RAISE EXCEPTION 'Workflow ID cannot be an empty string if provided.';
831
+ END IF;
832
+ IF delay_until_epoch_ms IS NOT NULL AND delay_until_epoch_ms < 0 THEN
833
+ RAISE EXCEPTION 'delay_until_epoch_ms must be >= 0';
834
+ END IF;
835
+
836
+ v_workflow_id := COALESCE(workflow_id, gen_random_uuid()::TEXT);
837
+ v_owner_xid := gen_random_uuid()::TEXT;
838
+ v_priority := COALESCE(priority, 0);
839
+ v_serialized_inputs := json_build_object(
840
+ 'positionalArgs', positional_args,
841
+ 'namedArgs', named_args
842
+ )::TEXT;
843
+ v_now := EXTRACT(epoch FROM now()) * 1000;
844
+ v_status := CASE WHEN delay_until_epoch_ms IS NULL THEN 'ENQUEUED' ELSE 'DELAYED' END;
845
+
846
+ INSERT INTO "${schemaName}".workflow_status (
847
+ workflow_uuid, status, inputs,
848
+ name, class_name, config_name,
849
+ queue_name, deduplication_id, priority, queue_partition_key,
850
+ application_version,
851
+ created_at, updated_at, recovery_attempts,
852
+ workflow_timeout_ms, workflow_deadline_epoch_ms,
853
+ parent_workflow_id, owner_xid, serialization,
854
+ authenticated_user, authenticated_roles,
855
+ delay_until_epoch_ms, application_name
856
+ ) VALUES (
857
+ v_workflow_id, v_status, v_serialized_inputs,
858
+ workflow_name, class_name, config_name,
859
+ queue_name, deduplication_id, v_priority, queue_partition_key,
860
+ app_version,
861
+ v_now, v_now, v_recovery_attempts,
862
+ timeout_ms, deadline_epoch_ms,
863
+ NULL, v_owner_xid, 'portable_json',
864
+ authenticated_user, authenticated_roles,
865
+ delay_until_epoch_ms, application_name
866
+ )
867
+ ON CONFLICT (workflow_uuid)
868
+ DO UPDATE SET
869
+ updated_at = EXCLUDED.updated_at;
870
+
871
+ RETURN v_workflow_id;
872
+
873
+ EXCEPTION
874
+ WHEN unique_violation THEN
875
+ RAISE EXCEPTION 'DBOS queue duplicated'
876
+ USING DETAIL = format('Workflow %s with queue %s and deduplication ID %s already exists', v_workflow_id, queue_name, deduplication_id),
877
+ ERRCODE = 'unique_violation';
878
+ END;
879
+ $$ LANGUAGE plpgsql;`,
880
+ ...(isCockroach
881
+ ? []
882
+ : [
883
+ `ALTER FUNCTION "${schemaName}".enqueue_workflow(
884
+ TEXT, TEXT, JSON[], JSON, TEXT, TEXT, TEXT, TEXT, BIGINT, BIGINT, TEXT, INT4, TEXT, TEXT, TEXT, BIGINT, TEXT
885
+ ) SET search_path = pg_catalog, pg_temp`,
886
+ ]),
887
+ ],
888
+ },
889
+ // Half of the key replacing version_name's global uniqueness, which will be dropped in a future version.
890
+ {
891
+ name: '106_application_versions_owner_key',
892
+ pg: [
893
+ `CREATE UNIQUE INDEX IF NOT EXISTS "uq_application_versions_owner_version"
894
+ ON "${schemaName}"."application_versions" ("application_name", "version_name")
895
+ WHERE "application_name" IS NOT NULL`,
896
+ ],
897
+ },
898
+ // The other half, unclaimed rows counting as one owner. Online because every pre-upgrade row is unclaimed, so this one indexes them all.
899
+ {
900
+ name: '107_application_versions_unclaimed_key',
901
+ online: true,
902
+ pg: [
903
+ `CREATE UNIQUE INDEX ${isCockroach ? '' : 'CONCURRENTLY'} IF NOT EXISTS "uq_application_versions_unclaimed_version"
904
+ ON "${schemaName}"."application_versions" ("version_name")
905
+ WHERE "application_name" IS NULL`,
906
+ ],
907
+ },
908
+ ];
909
+ }
726
910
  //# sourceMappingURL=migrations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../../src/sysdb_migrations/internal/migrations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../../src/sysdb_migrations/internal/migrations.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  import type { ClientBase } from 'pg';
2
+ /**
3
+ * From this index on, every SDK defines the same migration at the same index and runs it
4
+ * in one transaction, so a peer in another language never observes it half-applied.
5
+ */
6
+ export declare const SHARED_MIGRATION_BASE = 100;
2
7
  export type DBMigration = {
3
8
  name?: string;
4
9
  pg?: ReadonlyArray<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"migration_runner.d.ts","sourceRoot":"","sources":["../../../src/sysdb_migrations/migration_runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAErC,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,kEAAkE;AAClE,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,GAAE,MAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB7G;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAkFF;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,EACzC,UAAU,GAAE,MAAe,EAC3B,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC;IACT,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,CA0ED"}
1
+ {"version":3,"file":"migration_runner.d.ts","sourceRoot":"","sources":["../../../src/sysdb_migrations/migration_runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,kEAAkE;AAClE,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,GAAE,MAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB7G;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AA8GF;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,EACzC,UAAU,GAAE,MAAe,EAC3B,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC;IACT,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,CAmFD"}
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.runSysMigrationsPg = exports.getCurrentSysDBVersion = void 0;
3
+ exports.runSysMigrationsPg = exports.getCurrentSysDBVersion = exports.SHARED_MIGRATION_BASE = void 0;
4
+ /**
5
+ * From this index on, every SDK defines the same migration at the same index and runs it
6
+ * in one transaction, so a peer in another language never observes it half-applied.
7
+ */
8
+ exports.SHARED_MIGRATION_BASE = 100;
4
9
  /** Get the current DB version, or 0 if table is missing/empty. */
5
10
  async function getCurrentSysDBVersion(client, schemaName = 'dbos') {
6
11
  // Does table exist?
@@ -51,6 +56,30 @@ async function runStatementsIgnoring(client, stmts, ignoreCodes, warn) {
51
56
  }
52
57
  }
53
58
  }
59
+ /**
60
+ * Run a migration's statements and record its version in one transaction, with no "already applied"
61
+ * tolerance: every SDK must reach the same verdict, so a failure halts with the version un-advanced.
62
+ */
63
+ async function runStatementsTransactionally(client, stmts, schemaName, version) {
64
+ await client.query('BEGIN');
65
+ try {
66
+ for (const s of stmts) {
67
+ await client.query(s, []);
68
+ }
69
+ // Recorded inside the transaction, so an interrupt cannot leave the migration applied but unrecorded.
70
+ await bumpMigrationVersion(client, schemaName, version);
71
+ await client.query('COMMIT');
72
+ }
73
+ catch (err) {
74
+ try {
75
+ await client.query('ROLLBACK');
76
+ }
77
+ catch {
78
+ // Preserve the original failure; the rollback only matters if the connection survived.
79
+ }
80
+ throw err;
81
+ }
82
+ }
54
83
  /**
55
84
  * Drop indexes left INVALID by a prior interrupted `CREATE INDEX CONCURRENTLY`.
56
85
  * Postgres marks such indexes invalid; they continue to consume write overhead
@@ -114,18 +143,17 @@ async function runSysMigrationsPg(client, allMigrations, schemaName = 'dbos', op
114
143
  skipped++;
115
144
  continue;
116
145
  }
117
- if (!loggedInfo) {
118
- onWarn(`Running DBOS system database migrations...`);
119
- loggedInfo = true;
120
- }
146
+ // Renumbering onto the shared base leaves long runs of empty migrations; skip them without a round trip.
121
147
  const stmts = m.pg ?? [];
122
148
  if (stmts.length === 0) {
123
- onWarn(`Migration "${m.name}" has no Postgres statements; skipping.`);
124
- await bumpMigrationVersion(client, schemaName, v);
125
149
  skipped++;
126
- lastAppliedVersion = v;
127
150
  continue;
128
151
  }
152
+ if (!loggedInfo) {
153
+ onWarn(`Running DBOS system database migrations...`);
154
+ loggedInfo = true;
155
+ }
156
+ const warnWithCause = (msg, e) => onWarn(`${msg}${e ? `\n → ${String(e.message ?? '')}` : ''}`);
129
157
  // Run migrations in autocommit
130
158
  if (m.online && !isCockroach) {
131
159
  // Drop any indexes left INVALID by a prior interrupted run before
@@ -134,14 +162,24 @@ async function runSysMigrationsPg(client, allMigrations, schemaName = 'dbos', op
134
162
  for (const s of stmts) {
135
163
  await client.query(s, []);
136
164
  }
165
+ await bumpMigrationVersion(client, schemaName, v);
166
+ }
167
+ else if (v >= exports.SHARED_MIGRATION_BASE) {
168
+ // Shared migrations commit all-or-nothing: a peer must never find the function 105 replaces missing mid-migration.
169
+ await runStatementsTransactionally(client, stmts, schemaName, v);
137
170
  }
138
171
  else {
139
- await runStatementsIgnoring(client, stmts, ignoreErrorCodes, (msg, e) => onWarn(`${msg}${e ? `\n → ${String(e.message ?? '')}` : ''}`));
172
+ await runStatementsIgnoring(client, stmts, ignoreErrorCodes, warnWithCause);
173
+ await bumpMigrationVersion(client, schemaName, v);
140
174
  }
141
- await bumpMigrationVersion(client, schemaName, v);
142
175
  applied++;
143
176
  lastAppliedVersion = v;
144
177
  }
178
+ // Empty migrations at the end still count as applied, so record them in one write.
179
+ if (maxKnown > lastAppliedVersion) {
180
+ await bumpMigrationVersion(client, schemaName, maxKnown);
181
+ lastAppliedVersion = maxKnown;
182
+ }
145
183
  return {
146
184
  fromVersion: current,
147
185
  toVersion: lastAppliedVersion,
@@ -1 +1 @@
1
- {"version":3,"file":"migration_runner.js","sourceRoot":"","sources":["../../../src/sysdb_migrations/migration_runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migration_runner.js","sourceRoot":"","sources":["../../../src/sysdb_migrations/migration_runner.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,7 @@ export interface WorkflowScheduleInternal {
49
49
  automaticBackfill: boolean;
50
50
  cronTimezone: string | null;
51
51
  queueName: string | null;
52
+ applicationName?: string;
52
53
  }
53
54
  export interface WorkflowScheduleUpdate {
54
55
  schedule?: string;
@@ -62,7 +63,17 @@ export interface VersionInfo {
62
63
  versionName: string;
63
64
  versionTimestamp: number;
64
65
  createdAt: number;
66
+ applicationName?: string;
65
67
  }
68
+ /** Rows a rename moved, by table. */
69
+ export interface ApplicationRowCounts {
70
+ queues: number;
71
+ schedules: number;
72
+ versions: number;
73
+ workflows: number;
74
+ steps: number;
75
+ }
76
+ export declare const DEFAULT_RENAME_BATCH_SIZE = 10000;
66
77
  export interface QueueRecord {
67
78
  name: string;
68
79
  concurrency: number | null;
@@ -72,9 +83,10 @@ export interface QueueRecord {
72
83
  priorityEnabled: boolean;
73
84
  partitionQueue: boolean;
74
85
  pollingIntervalSec: number;
86
+ applicationName?: string;
75
87
  }
76
- /** The subset of a queue record that may be changed after creation. */
77
- export type QueueRecordUpdate = Partial<Omit<QueueRecord, 'name'>>;
88
+ /** The subset of a queue record that may be changed after creation. Ownership moves only by rename. */
89
+ export type QueueRecordUpdate = Partial<Omit<QueueRecord, 'name' | 'applicationName'>>;
78
90
  export interface WorkflowAggregateRow {
79
91
  group: Record<string, string | null>;
80
92
  count: number | null;
@@ -93,6 +105,7 @@ export interface GetWorkflowAggregatesInput {
93
105
  groupByQueueName?: boolean;
94
106
  groupByExecutorId?: boolean;
95
107
  groupByApplicationVersion?: boolean;
108
+ groupByApplicationName?: boolean;
96
109
  selectCount?: boolean;
97
110
  selectMinCreatedAt?: boolean;
98
111
  selectMaxQueueWaitMs?: boolean;
@@ -119,6 +132,7 @@ export interface GetWorkflowAggregatesInput {
119
132
  queuesOnly?: boolean;
120
133
  attributes?: Record<string, unknown>;
121
134
  scheduleName?: string[];
135
+ applicationName?: string[];
122
136
  }
123
137
  export interface GetStepAggregatesInput {
124
138
  groupByFunctionName?: boolean;
@@ -131,6 +145,7 @@ export interface GetStepAggregatesInput {
131
145
  workflowIdPrefix?: string[];
132
146
  completedAfter?: string;
133
147
  completedBefore?: string;
148
+ applicationName?: string[];
134
149
  }
135
150
  export interface WorkflowStatusInternal {
136
151
  workflowUUID: string;
@@ -168,6 +183,7 @@ export interface WorkflowStatusInternal {
168
183
  scheduleName?: string;
169
184
  debounceDeadlineEpochMS?: number;
170
185
  isDebounced?: boolean;
186
+ applicationName?: string;
171
187
  }
172
188
  export interface EnqueueOptions {
173
189
  deduplicationID?: string;
@@ -177,6 +193,7 @@ export interface EnqueueOptions {
177
193
  delaySeconds?: number;
178
194
  debounceDeadlineEpochMS?: number;
179
195
  isDebounced?: boolean;
196
+ applicationName?: string;
180
197
  }
181
198
  export interface DebounceParams {
182
199
  workflowName: string;
@@ -186,6 +203,7 @@ export interface DebounceParams {
186
203
  delayUntilEpochMS: number;
187
204
  input: string | null;
188
205
  serialization: string | null;
206
+ applicationName?: string;
189
207
  }
190
208
  export interface DebounceResult {
191
209
  bouncedWorkflowID: string | null;
@@ -193,6 +211,7 @@ export interface DebounceResult {
193
211
  holderIsDebounced: boolean;
194
212
  holderWorkflowName: string | null;
195
213
  holderWorkflowClassName: string | null;
214
+ holderApplicationName: string | null;
196
215
  }
197
216
  export type DuplicationPolicy = 'reject' | 'return-existing';
198
217
  export interface ExistenceCheck {
@@ -236,6 +255,7 @@ export declare class SystemDatabase {
236
255
  readonly systemDatabaseUrl: string;
237
256
  readonly logger: GlobalLogger;
238
257
  readonly serializer: DBOSSerializer;
258
+ readonly appName?: string | undefined;
239
259
  readonly pool: Pool;
240
260
  readonly schemaName: string;
241
261
  notificationsClient: PoolClient | null;
@@ -259,7 +279,7 @@ export declare class SystemDatabase {
259
279
  queueName?: string;
260
280
  queuePartitionKey?: string;
261
281
  }>;
262
- constructor(systemDatabaseUrl: string, logger: GlobalLogger, serializer: DBOSSerializer, sysDbPoolSize?: number, systemDatabasePool?: Pool, schemaName?: string, useListenNotify?: boolean, pollingConcurrency?: number, notificationCoalesceMs?: number);
282
+ constructor(systemDatabaseUrl: string, logger: GlobalLogger, serializer: DBOSSerializer, sysDbPoolSize?: number, systemDatabasePool?: Pool, schemaName?: string, useListenNotify?: boolean, pollingConcurrency?: number, notificationCoalesceMs?: number, appName?: string | undefined);
263
283
  getSerializer(): DBOSSerializer;
264
284
  init(): Promise<void>;
265
285
  destroy(): Promise<void>;
@@ -314,8 +334,9 @@ export declare class SystemDatabase {
314
334
  * Extend an existing debounced DELAYED workflow's delay and update its inputs, atomically.
315
335
  * The new delay is capped at the workflow's debounce_deadline_epoch_ms, if one is set.
316
336
  * Matching on workflow name and class ensures a debounce-key collision between different
317
- * workflows never overwrites another workflow's inputs. If nothing matched, returns the
318
- * current holder (or that the key is unheld) so the caller can start fresh or surface a conflict.
337
+ * workflows never overwrites another workflow's inputs. The bounce acts for `params.applicationName`:
338
+ * it extends only that application's holders plus unclaimed ones, claiming those. If nothing matched,
339
+ * returns the current holder (or that the key is unheld) so the caller can start fresh or surface a conflict.
319
340
  * Runs on `client` if given, joining its transaction (e.g. a transactional step's);
320
341
  * otherwise in its own retried transaction.
321
342
  */
@@ -401,12 +422,22 @@ export declare class SystemDatabase {
401
422
  getWorkflowAggregates(input: GetWorkflowAggregatesInput): Promise<WorkflowAggregateRow[]>;
402
423
  getStepAggregates(input: GetStepAggregatesInput): Promise<StepAggregateRow[]>;
403
424
  garbageCollect(cutoffEpochTimestampMs?: number | null, rowsThreshold?: number | null): Promise<void>;
404
- getMetrics(startTime: string, endTime: string): Promise<MetricData[]>;
425
+ /**
426
+ * IDs of this application's in-flight workflows created at or before the cutoff.
427
+ * Claiming-scoped, so an upgrade still times out its own unclaimed workflows.
428
+ */
429
+ listTimedOutWorkflowIds(cutoffEpochTimestampMs: number): Promise<string[]>;
430
+ getMetrics(startTime: string, endTime: string, applicationName?: string[]): Promise<MetricData[]>;
405
431
  createSchedule(schedule: WorkflowScheduleInternal, client?: PoolClient): Promise<void>;
432
+ /**
433
+ * List only schedules owned by these applications, plus unclaimed ones.
434
+ * By default, only list this application's schedules.
435
+ */
406
436
  listSchedules(filters?: {
407
437
  status?: string | string[];
408
438
  workflowName?: string | string[];
409
439
  scheduleNamePrefix?: string | string[];
440
+ applicationName?: string | string[];
410
441
  }, client?: PoolClient): Promise<WorkflowScheduleInternal[]>;
411
442
  getSchedule(name: string, client?: PoolClient): Promise<WorkflowScheduleInternal | null>;
412
443
  deleteSchedule(name: string, client?: PoolClient): Promise<void>;
@@ -414,18 +445,42 @@ export declare class SystemDatabase {
414
445
  updateSchedule(name: string, updates: WorkflowScheduleUpdate, client?: PoolClient): Promise<void>;
415
446
  updateLastFiredAt(name: string, lastFiredAt: string): Promise<void>;
416
447
  applySchedules(schedules: WorkflowScheduleInternal[]): Promise<void>;
417
- createApplicationVersion(versionName: string): Promise<void>;
418
- updateApplicationVersionTimestamp(versionName: string, newTimestamp: number): Promise<void>;
448
+ /**
449
+ * Register this version, claiming the row if nobody owns it yet so a pinned version
450
+ * does not stay unclaimed. A peer's name is a collision, which is why this throws.
451
+ */
452
+ createApplicationVersion(versionName: string, applicationName?: string): Promise<void>;
453
+ /**
454
+ * Promote a version to latest. Promoting a peer's is a collision, not a retiming;
455
+ * promotion claims an unclaimed row, which would otherwise be every peer's latest.
456
+ */
457
+ updateApplicationVersionTimestamp(versionName: string, newTimestamp: number, applicationName?: string): Promise<void>;
419
458
  listApplicationVersions(): Promise<VersionInfo[]>;
420
- getLatestApplicationVersion(): Promise<VersionInfo>;
459
+ /**
460
+ * The latest version registered by an application. Defaults to this handle's, so a
461
+ * caller acting for another one — firing its schedule — must name it.
462
+ */
463
+ getLatestApplicationVersion(applicationName?: string): Promise<VersionInfo>;
421
464
  getQueue(name: string): Promise<QueueRecord | null>;
422
- listQueues(): Promise<QueueRecord[]>;
465
+ /**
466
+ * List only queues owned by these applications, plus unclaimed ones.
467
+ * By default, only list this application's queues.
468
+ */
469
+ listQueues(applicationName?: string | string[]): Promise<QueueRecord[]>;
423
470
  deleteQueue(name: string): Promise<void>;
424
471
  updateQueue(name: string, fields: QueueRecordUpdate): Promise<void>;
425
472
  /** Returns true iff this call inserted a new row (i.e. the queue did not
426
473
  * previously exist). False if the row already existed, regardless of
427
474
  * whether it was updated. */
428
475
  upsertQueue(record: QueueRecord, updateExisting: boolean): Promise<boolean>;
476
+ /**
477
+ * Give `newName` ownership of rows `oldName` holds, of unclaimed rows, or of both.
478
+ * The renamed application must be stopped, or its dequeues race this.
479
+ */
480
+ renameApplication(oldName: string | undefined, newName: string, options?: {
481
+ batchSize?: number | null;
482
+ adoptUnclaimedRows?: boolean;
483
+ }): Promise<ApplicationRowCounts>;
429
484
  private insertWorkflowStatus;
430
485
  private getWorkflowStatusValue;
431
486
  private updateWorkflowStatus;