@dbos-inc/dbos-sdk 3.4.4-preview → 3.4.7-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 (84) hide show
  1. package/dist/src/client.d.ts.map +1 -1
  2. package/dist/src/client.js +2 -3
  3. package/dist/src/client.js.map +1 -1
  4. package/dist/src/conductor/conductor.js +15 -15
  5. package/dist/src/conductor/conductor.js.map +1 -1
  6. package/dist/src/database_utils.d.ts +99 -0
  7. package/dist/src/database_utils.d.ts.map +1 -0
  8. package/dist/src/database_utils.js +428 -0
  9. package/dist/src/database_utils.js.map +1 -0
  10. package/dist/src/datasource.d.ts +1 -1
  11. package/dist/src/datasource.d.ts.map +1 -1
  12. package/dist/src/datasource.js +10 -1
  13. package/dist/src/datasource.js.map +1 -1
  14. package/dist/src/dbos-executor.d.ts.map +1 -1
  15. package/dist/src/dbos-executor.js +15 -4
  16. package/dist/src/dbos-executor.js.map +1 -1
  17. package/dist/src/dbos-runtime/cli.d.ts.map +1 -1
  18. package/dist/src/dbos-runtime/cli.js +128 -95
  19. package/dist/src/dbos-runtime/cli.js.map +1 -1
  20. package/dist/src/dbos-runtime/commands.d.ts +1 -1
  21. package/dist/src/dbos-runtime/commands.d.ts.map +1 -1
  22. package/dist/src/dbos-runtime/commands.js +1 -2
  23. package/dist/src/dbos-runtime/commands.js.map +1 -1
  24. package/dist/src/dbos-runtime/config.d.ts +5 -2
  25. package/dist/src/dbos-runtime/config.d.ts.map +1 -1
  26. package/dist/src/dbos-runtime/config.js +48 -25
  27. package/dist/src/dbos-runtime/config.js.map +1 -1
  28. package/dist/src/dbos-runtime/migrate.d.ts +1 -2
  29. package/dist/src/dbos-runtime/migrate.d.ts.map +1 -1
  30. package/dist/src/dbos-runtime/migrate.js +28 -99
  31. package/dist/src/dbos-runtime/migrate.js.map +1 -1
  32. package/dist/src/index.d.ts +1 -1
  33. package/dist/src/index.d.ts.map +1 -1
  34. package/dist/src/index.js +3 -2
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/sysdb_migrations/internal/migrations.d.ts +3 -0
  37. package/dist/src/sysdb_migrations/internal/migrations.d.ts.map +1 -0
  38. package/dist/src/sysdb_migrations/internal/migrations.js +174 -0
  39. package/dist/src/sysdb_migrations/internal/migrations.js.map +1 -0
  40. package/dist/src/sysdb_migrations/migration_runner.d.ts +27 -0
  41. package/dist/src/sysdb_migrations/migration_runner.d.ts.map +1 -0
  42. package/dist/src/sysdb_migrations/migration_runner.js +117 -0
  43. package/dist/src/sysdb_migrations/migration_runner.js.map +1 -0
  44. package/dist/src/system_database.d.ts +4 -4
  45. package/dist/src/system_database.d.ts.map +1 -1
  46. package/dist/src/system_database.js +71 -73
  47. package/dist/src/system_database.js.map +1 -1
  48. package/dist/src/user_database.d.ts +1 -2
  49. package/dist/src/user_database.d.ts.map +1 -1
  50. package/dist/src/user_database.js +23 -33
  51. package/dist/src/user_database.js.map +1 -1
  52. package/dist/src/utils.d.ts +1 -3
  53. package/dist/src/utils.d.ts.map +1 -1
  54. package/dist/src/utils.js +1 -5
  55. package/dist/src/utils.js.map +1 -1
  56. package/dist/tsconfig.tsbuildinfo +1 -1
  57. package/package.json +4 -2
  58. package/dist/src/dbos-runtime/reset.d.ts +0 -4
  59. package/dist/src/dbos-runtime/reset.d.ts.map +0 -1
  60. package/dist/src/dbos-runtime/reset.js +0 -26
  61. package/dist/src/dbos-runtime/reset.js.map +0 -1
  62. package/migrations/20240123182943_schema.js +0 -7
  63. package/migrations/20240123183021_tables.js +0 -52
  64. package/migrations/20240123183025_indexes.js +0 -11
  65. package/migrations/20240123183030_triggers.js +0 -38
  66. package/migrations/20240124015239_status_timestamp.js +0 -16
  67. package/migrations/20240201213211_replica_identity.js +0 -12
  68. package/migrations/20240205223925_foreign_keys.js +0 -67
  69. package/migrations/20240207192338_executor_id_index.js +0 -19
  70. package/migrations/20240430090000_tables.js +0 -11
  71. package/migrations/20240516004341_application_version.js +0 -21
  72. package/migrations/20240517000000_status_class_config.js +0 -14
  73. package/migrations/20240621000000_workflow_tries.js +0 -11
  74. package/migrations/20240924000000_workflowqueue.js +0 -33
  75. package/migrations/20241009150000_event_dispatch_kv.js +0 -15
  76. package/migrations/20250312171547_function_name_op_outputs.js +0 -22
  77. package/migrations/20250319190617_add_childid_opoutputs.js +0 -22
  78. package/migrations/20252101000000_workflow_queues_executor_id.js +0 -27
  79. package/migrations/20252501190959_queue_dedup_id.js +0 -21
  80. package/migrations/20252505000000_workflow_timeout.js +0 -24
  81. package/migrations/20252512000000_queue_priority.js +0 -22
  82. package/migrations/20252523000000_consolidate_inputs.js +0 -22
  83. package/migrations/20252528000000_consolidate_queues.js +0 -30
  84. package/migrations/20252806000000_streaming.js +0 -30
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../../src/sysdb_migrations/internal/migrations.ts"],"names":[],"mappings":";;;AAEa,QAAA,aAAa,GAA+B;IACvD;QACE,IAAI,EAAE,uBAAuB;QAC7B,EAAE,EAAE,CAAC,kCAAkC,CAAC;KACzC;IACD;QACE,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE;YACF,8HAA8H;SAC/H;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,EAAE,EAAE;YACF,wNAAwN;YACxN,gKAAgK;YAChK,wSAAwS;YACxS,uMAAuM;YACvM,2LAA2L;SAC5L;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,EAAE,EAAE,CAAC,2FAA2F,CAAC;KAClG;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,EAAE,EAAE;YACF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BH;SACE;KACF;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,EAAE,EAAE;YACF,yNAAyN;SAC1N;KACF;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,EAAE,EAAE;YACF,4CAA4C;YAC5C,8FAA8F;YAC9F,qGAAqG;SACtG;KACF;IACD;QACE,IAAI,EAAE,6BAA6B;QACnC,EAAE,EAAE;YACF,4FAA4F;YAC5F,yNAAyN;YACzN,qNAAqN;YACrN,uNAAuN;YACvN,qNAAqN;SACtN;KACF;IACD;QACE,IAAI,EAAE,kCAAkC;QACxC,EAAE,EAAE,CAAC,8FAA8F,CAAC;KACrG;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,EAAE,EAAE;YACF,+KAA+K;SAChL;KACF;IACD;QACE,IAAI,EAAE,oCAAoC;QAC1C,EAAE,EAAE;YACF,8GAA8G;SAC/G;KACF;IACD;QACE,IAAI,EAAE,oCAAoC;QAC1C,EAAE,EAAE;YACF,4IAA4I;SAC7I;KACF;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,EAAE,EAAE,CAAC,wFAAwF,CAAC;KAC/F;IACD;QACE,IAAI,EAAE,8BAA8B;QACpC,EAAE,EAAE;YACF,gFAAgF;YAChF,wTAAwT;YACxT,mNAAmN;SACpN;KACF;IACD;QACE,IAAI,EAAE,kCAAkC;QACxC,EAAE,EAAE;YACF,sSAAsS;SACvS;KACF;IACD;QACE,IAAI,EAAE,yCAAyC;QAC/C,EAAE,EAAE,CAAC,4FAA4F,CAAC;KACnG;IACD;QACE,IAAI,EAAE,sCAAsC;QAC5C,EAAE,EAAE,CAAC,4EAA4E,CAAC;KACnF;IACD;QACE,IAAI,EAAE,4CAA4C;QAClD,EAAE,EAAE,CAAC,mEAAmE,CAAC;KAC1E;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,EAAE,EAAE;YACF,wEAAwE;YACxE,kJAAkJ;SACnJ;KACF;IACD;QACE,IAAI,EAAE,iCAAiC;QACvC,EAAE,EAAE;YACF,8HAA8H;SAC/H;KACF;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,EAAE,EAAE,CAAC,wFAAwF,CAAC;KAC/F;IACD;QACE,IAAI,EAAE,mCAAmC;QACzC,EAAE,EAAE,CAAC,oEAAoE,CAAC;KAC3E;IACD;QACE,IAAI,EAAE,mCAAmC;QACzC,EAAE,EAAE;YACF,gLAAgL;YAChL,wIAAwI;YACxI,oFAAoF;SACrF;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,EAAE,EAAE;YACF,gNAAgN;YAChN,qMAAqM;SACtM;KACF;CACF,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { Client } from 'pg';
2
+ export type DBMigration = {
3
+ name?: string;
4
+ pg?: ReadonlyArray<string>;
5
+ sqlite3?: ReadonlyArray<string>;
6
+ };
7
+ /** Get the current DB version, or 0 if table is missing/empty. */
8
+ export declare function getCurrentSysDBVersion(client: Client): Promise<number>;
9
+ export type PgMigratorOptions = {
10
+ ignoreErrorCodes?: ReadonlySet<string>;
11
+ onWarn?: (msg: string, err?: unknown) => void;
12
+ };
13
+ /**
14
+ * Apply all migrations greater than the current DB version.
15
+ * - Reads current version (0 if table missing/empty)
16
+ * - Applies migrations in order
17
+ * - Updates dbos_migrations.version at the end
18
+ * - Warns if current version > max known (likely newer software concurrently)
19
+ */
20
+ export declare function runSysMigrationsPg(client: Client, allMigrations: ReadonlyArray<DBMigration>, opts?: PgMigratorOptions): Promise<{
21
+ fromVersion: number;
22
+ toVersion: number;
23
+ appliedCount: number;
24
+ skippedCount: number;
25
+ notice?: string;
26
+ }>;
27
+ //# sourceMappingURL=migration_runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration_runner.d.ts","sourceRoot":"","sources":["../../../src/sysdb_migrations/migration_runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAEjC,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;CACjC,CAAC;AAEF,kEAAkE;AAClE,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgB5E;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;CAC/C,CAAC;AA6CF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,EACzC,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,CAmED"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runSysMigrationsPg = exports.getCurrentSysDBVersion = void 0;
4
+ /** Get the current DB version, or 0 if table is missing/empty. */
5
+ async function getCurrentSysDBVersion(client) {
6
+ // Does table exist?
7
+ const regRes = await client.query("SELECT table_name FROM information_schema.tables WHERE table_schema = 'dbos' AND table_name = 'dbos_migrations'", []);
8
+ if (!regRes.rows[0]?.table_name)
9
+ return 0;
10
+ const verRes = await client.query(`select version from "dbos"."dbos_migrations" order by version desc limit 1`);
11
+ if (verRes.rowCount === 0)
12
+ return 0;
13
+ const raw = verRes.rows[0].version;
14
+ const n = typeof raw === 'string' ? Number(raw) : Number(raw);
15
+ return Number.isFinite(n) ? n : 0;
16
+ }
17
+ exports.getCurrentSysDBVersion = getCurrentSysDBVersion;
18
+ const DEFAULT_IGNORABLE_CODES = new Set([
19
+ // Relation / object already exists
20
+ '42P07', // duplicate_table
21
+ '42710', // duplicate_object (e.g., index)
22
+ '42701', // duplicate_column
23
+ '42P06', // duplicate_schema
24
+ // Uniqueness (e.g., insert seed rows twice)
25
+ '23505', // unique_violation
26
+ ]);
27
+ function isPgErrorLike(x) {
28
+ return typeof x === 'object' && x !== null && ('code' in x || 'message' in x);
29
+ }
30
+ function isDDLAlreadyAppliedPgError(err, ignoreCodes) {
31
+ if (!isPgErrorLike(err))
32
+ return false;
33
+ if (err.code && ignoreCodes.has(err.code))
34
+ return true;
35
+ const msg = err.message ?? '';
36
+ // Fallback on message matching (best-effort)
37
+ return /already exists/i.test(msg) || /duplicate/i.test(msg) || /multiple.*?not allowed/i.test(msg);
38
+ }
39
+ /** Run a list of statements, ignoring “already applied” errors. */
40
+ async function runStatementsIgnoring(client, stmts, ignoreCodes, warn) {
41
+ for (const s of stmts) {
42
+ try {
43
+ await client.query(s, []);
44
+ }
45
+ catch (err) {
46
+ if (isDDLAlreadyAppliedPgError(err, ignoreCodes)) {
47
+ warn(`Ignoring migration error; migration was likely already applied. Occurred while executing: ${s}`, err);
48
+ continue;
49
+ }
50
+ throw err;
51
+ }
52
+ }
53
+ }
54
+ /**
55
+ * Apply all migrations greater than the current DB version.
56
+ * - Reads current version (0 if table missing/empty)
57
+ * - Applies migrations in order
58
+ * - Updates dbos_migrations.version at the end
59
+ * - Warns if current version > max known (likely newer software concurrently)
60
+ */
61
+ async function runSysMigrationsPg(client, allMigrations, opts = {}) {
62
+ const { ignoreErrorCodes = DEFAULT_IGNORABLE_CODES, onWarn = (m) => console.info(m) } = opts;
63
+ const current = await getCurrentSysDBVersion(client);
64
+ const maxKnown = allMigrations.length;
65
+ if (current > maxKnown) {
66
+ return {
67
+ fromVersion: current,
68
+ toVersion: current,
69
+ appliedCount: 0,
70
+ skippedCount: allMigrations.length,
71
+ notice: `Database version (${current}) is ahead of this build's max (${maxKnown}). ` +
72
+ `A newer software version may be running concurrently.`,
73
+ };
74
+ }
75
+ let applied = 0;
76
+ let skipped = 0;
77
+ let lastAppliedVersion = current;
78
+ let loggedInfo = false;
79
+ // Apply needed migrations in order
80
+ for (let i = 0; i < allMigrations.length; i++) {
81
+ const m = allMigrations[i];
82
+ const v = i + 1;
83
+ if (v <= current) {
84
+ skipped++;
85
+ continue;
86
+ }
87
+ if (!loggedInfo) {
88
+ onWarn(`Running DBOS system database migrations...`);
89
+ loggedInfo = true;
90
+ }
91
+ const stmts = m.pg ?? [];
92
+ if (stmts.length === 0) {
93
+ onWarn(`Migration "${m.name}" has no Postgres statements; skipping.`);
94
+ skipped++;
95
+ continue;
96
+ }
97
+ await runStatementsIgnoring(client, stmts, ignoreErrorCodes, (msg, e) => onWarn(`${msg}${e ? `\n → ${String(e.message ?? '')}` : ''}`));
98
+ applied++;
99
+ lastAppliedVersion = v;
100
+ }
101
+ // Update version at the end (insert or update)
102
+ const updateRes = await client.query(`UPDATE "dbos"."dbos_migrations" SET "version" = $1`, [lastAppliedVersion]);
103
+ if (updateRes.rowCount === 0) {
104
+ await client.query(`INSERT into "dbos"."dbos_migrations" ("version") values ($1)`, [lastAppliedVersion]);
105
+ }
106
+ return {
107
+ fromVersion: current,
108
+ toVersion: lastAppliedVersion,
109
+ appliedCount: applied,
110
+ skippedCount: skipped,
111
+ notice: current < maxKnown && applied === 0 && skipped > 0
112
+ ? 'Nothing to apply; DB is already up-to-date relative to known migrations.'
113
+ : undefined,
114
+ };
115
+ }
116
+ exports.runSysMigrationsPg = runSysMigrationsPg;
117
+ //# sourceMappingURL=migration_runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migration_runner.js","sourceRoot":"","sources":["../../../src/sysdb_migrations/migration_runner.ts"],"names":[],"mappings":";;;AAQA,kEAAkE;AAC3D,KAAK,UAAU,sBAAsB,CAAC,MAAc;IACzD,oBAAoB;IACpB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAC/B,iHAAiH,EACjH,EAAE,CACH,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU;QAAE,OAAO,CAAC,CAAC;IAE1C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAC/B,4EAA4E,CAC7E,CAAC;IACF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEpC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACnC,MAAM,CAAC,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAhBD,wDAgBC;AAOD,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAS;IAC9C,mCAAmC;IACnC,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,iCAAiC;IAC1C,OAAO,EAAE,mBAAmB;IAC5B,OAAO,EAAE,mBAAmB;IAC5B,4CAA4C;IAC5C,OAAO,EAAE,mBAAmB;CAC7B,CAAC,CAAC;AAGH,SAAS,aAAa,CAAC,CAAU;IAC/B,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,0BAA0B,CAAC,GAAY,EAAE,WAAgC;IAChF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,GAAG,CAAC,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9B,6CAA6C;IAC7C,OAAO,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtG,CAAC;AAED,mEAAmE;AACnE,KAAK,UAAU,qBAAqB,CAClC,MAAc,EACd,KAA4B,EAC5B,WAAgC,EAChC,IAAsC;IAEtC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,0BAA0B,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,8FAA8F,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC7G,SAAS;YACX,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,kBAAkB,CACtC,MAAc,EACd,aAAyC,EACzC,OAA0B,EAAE;IAQ5B,MAAM,EAAE,gBAAgB,GAAG,uBAAuB,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;IAE7F,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC;IAEtC,IAAI,OAAO,GAAG,QAAQ,EAAE,CAAC;QACvB,OAAO;YACL,WAAW,EAAE,OAAO;YACpB,SAAS,EAAE,OAAO;YAClB,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,aAAa,CAAC,MAAM;YAClC,MAAM,EACJ,qBAAqB,OAAO,mCAAmC,QAAQ,KAAK;gBAC5E,uDAAuD;SAC1D,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,kBAAkB,GAAG,OAAO,CAAC;IACjC,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,mCAAmC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,4CAA4C,CAAC,CAAC;YACrD,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,yCAAyC,CAAC,CAAC;YACtE,OAAO,EAAE,CAAC;YACV,SAAS;QACX,CAAC;QAED,MAAM,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACtE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAE,CAA0B,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACzF,CAAC;QACF,OAAO,EAAE,CAAC;QACV,kBAAkB,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,+CAA+C;IAC/C,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,oDAAoD,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACjH,IAAI,SAAS,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,MAAM,CAAC,KAAK,CAAC,8DAA8D,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC3G,CAAC;IAED,OAAO;QACL,WAAW,EAAE,OAAO;QACpB,SAAS,EAAE,kBAAkB;QAC7B,YAAY,EAAE,OAAO;QACrB,YAAY,EAAE,OAAO;QACrB,MAAM,EACJ,OAAO,GAAG,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC;YAChD,CAAC,CAAC,0EAA0E;YAC5E,CAAC,CAAC,SAAS;KAChB,CAAC;AACJ,CAAC;AA7ED,gDA6EC"}
@@ -34,7 +34,7 @@ export declare const DBOS_STREAM_CLOSED_SENTINEL = "__DBOS_STREAM_CLOSED__";
34
34
  * be done elsewhere (executor), as it may require application-specific logic or extensions.
35
35
  */
36
36
  export interface SystemDatabase {
37
- init(): Promise<void>;
37
+ init(debugMode?: boolean): Promise<void>;
38
38
  destroy(): Promise<void>;
39
39
  initWorkflowStatus(initStatus: WorkflowStatusInternal, maxRetries?: number): Promise<{
40
40
  status: string;
@@ -116,7 +116,8 @@ export interface EnqueueOptions {
116
116
  export interface ExistenceCheck {
117
117
  exists: boolean;
118
118
  }
119
- export declare function migrateSystemDatabase(systemPoolConfig: PoolConfig, logger: GlobalLogger): Promise<void>;
119
+ export declare function grantDbosSchemaPermissions(databaseUrl: string, roleName: string, logger: GlobalLogger): Promise<void>;
120
+ export declare function ensureSystemDatabase(sysDbUrl: string, logger: GlobalLogger, debugMode?: boolean): Promise<void>;
120
121
  declare class NotificationMap<T> {
121
122
  map: Map<string, Map<number, (event?: T) => void>>;
122
123
  curCK: number;
@@ -148,9 +149,8 @@ export declare class PostgresSystemDatabase implements SystemDatabase {
148
149
  readonly runningWorkflowMap: Map<string, Promise<unknown>>;
149
150
  readonly workflowCancellationMap: Map<string, boolean>;
150
151
  constructor(systemDatabaseUrl: string, logger: GlobalLogger, sysDbPoolSize?: number);
151
- init(): Promise<void>;
152
+ init(debugMode?: boolean): Promise<void>;
152
153
  destroy(): Promise<void>;
153
- static dropSystemDB(systemDatabaseUrl: string): Promise<void>;
154
154
  initWorkflowStatus(initStatus: WorkflowStatusInternal, maxRetries?: number): Promise<{
155
155
  status: string;
156
156
  deadlineEpochMS?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"system_database.d.ts","sourceRoot":"","sources":["../../src/system_database.ts"],"names":[],"mappings":";AAAA,OAAO,EAAgB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAiB,IAAI,EAA4B,UAAU,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAUvF,OAAO,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACjH,OAAO,EAEL,iBAAiB,EAIlB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAa,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAM1C,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAC9C,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAC9C,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AACtD,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AACtD,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAChD,eAAO,MAAM,uBAAuB,cAAc,CAAC;AACnD,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAC5D,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAE5D,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAEpE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,kBAAkB,CAChB,UAAU,EAAE,sBAAsB,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvF,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAIlG,qCAAqC,CACnC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;IACnD,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACzE,qBAAqB,CACnB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,GACA,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;IACpH,mBAAmB,CACjB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;IAGnD,iBAAiB,CACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,EACxD,qBAAqB,EAAE,OAAO,GAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,YAAY,CACV,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GACpF,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACrF,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAGvC,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3D,6BAA6B,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAG/G,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExF,IAAI,CACF,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,IAAI,CACF,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EACzB,KAAK,CAAC,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAE1B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnG,QAAQ,CACN,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,GACA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAY1B,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;IACpH,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAG/E,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5G,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAG9E,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC3E,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC;IACvF,cAAc,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxF;AAGD,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAE7B,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,wBAAsB,qBAAqB,CAAC,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,iBAoC7F;AAED,cAAM,eAAe,CAAC,CAAC;IACrB,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAa;IAC/D,KAAK,EAAE,MAAM,CAAK;IAElB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI;;;;IASrD,kBAAkB,CAAC,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE;IAUjD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;CAOrC;AA4YD,qBAAa,sBAAuB,YAAW,cAAc;;IAoCzD,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM;IArChC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAEtC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;IAoBtB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC1C,yBAAyB,EAAE,MAAM,CAAQ;IACzC,wBAAwB,EAAE,MAAM,CAAS;IACzC,wBAAwB,EAAE,OAAO,CAAQ;IACzC,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAyB;IACzE,QAAQ,CAAC,iBAAiB,EAAE,eAAe,CAAC,IAAI,CAAC,CAAyB;IAC1E,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC,IAAI,CAAC,CAAyB;IAExE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAa;IACvE,QAAQ,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAa;gBAGxD,iBAAiB,EAAE,MAAM,EACzB,MAAM,EAAE,YAAY,EACpB,aAAa,GAAE,MAAW;IA4B/B,IAAI;IAsCJ,OAAO;WAgBA,YAAY,CAAC,iBAAiB,EAAE,MAAM;IAiB7C,kBAAkB,CACtB,UAAU,EAAE,sBAAsB,EAClC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA+ClD,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvF,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtF,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IA0CjG,qCAAqC,CACzC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IAS5C,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IASxE,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,OAAO,EACtB,OAAO,GAAE;QACP,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAClB,GACL,OAAO,CAAC,IAAI,CAAC;IASV,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAO,GACxF,OAAO,CAAC,MAAM,CAAC;IAkFZ,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyD/F,QAAQ,CAAC,SAAS,qBAAqB;IAGjC,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IA6BV,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EACzB,KAAK,CAAC,EAAE,MAAM,EACd,cAAc,GAAE,MAAmD,GAClE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoHnB,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,EACxD,qBAAqB,EAAE,OAAO,GAC7B,OAAO,CAAC,IAAI,CAAC;IAUV,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BpG,QAAQ,CACZ,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,cAAc,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,GACA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAsHnB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8CjD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASlD,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwCvD,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC;IAcvE,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBtC,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC;IA2BnC,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IA+ElD;;;OAGG;IACH,gBAAgB,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAQ;IAmDzC,qBAAqB,CACzB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAuBnC,wBAAwB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8B9E,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAsE1E,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA4DtF,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAY1D,6BAA6B,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAsH9G,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCnF,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2C3G,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/E,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqB7E,cAAc,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA+B7F"}
1
+ {"version":3,"file":"system_database.d.ts","sourceRoot":"","sources":["../../src/system_database.ts"],"names":[],"mappings":"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"}
@@ -12,18 +12,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.PostgresSystemDatabase = exports.migrateSystemDatabase = exports.DBOS_STREAM_CLOSED_SENTINEL = exports.DBOS_FUNCNAME_CLOSESTREAM = exports.DBOS_FUNCNAME_WRITESTREAM = exports.DBOS_FUNCNAME_GETSTATUS = exports.DBOS_FUNCNAME_SLEEP = exports.DBOS_FUNCNAME_GETEVENT = exports.DBOS_FUNCNAME_SETEVENT = exports.DBOS_FUNCNAME_RECV = exports.DBOS_FUNCNAME_SEND = void 0;
15
+ exports.PostgresSystemDatabase = exports.ensureSystemDatabase = exports.grantDbosSchemaPermissions = exports.DBOS_STREAM_CLOSED_SENTINEL = exports.DBOS_FUNCNAME_CLOSESTREAM = exports.DBOS_FUNCNAME_WRITESTREAM = exports.DBOS_FUNCNAME_GETSTATUS = exports.DBOS_FUNCNAME_SLEEP = exports.DBOS_FUNCNAME_GETEVENT = exports.DBOS_FUNCNAME_SETEVENT = exports.DBOS_FUNCNAME_RECV = exports.DBOS_FUNCNAME_SEND = void 0;
16
16
  const dbos_executor_1 = require("./dbos-executor");
17
17
  const pg_1 = require("pg");
18
18
  const error_1 = require("./error");
19
19
  const workflow_1 = require("./workflow");
20
20
  const utils_1 = require("./utils");
21
21
  const knex_1 = __importDefault(require("knex"));
22
- const path_1 = __importDefault(require("path"));
23
- const fs_1 = __importDefault(require("fs"));
24
22
  const crypto_1 = require("crypto");
25
23
  const utils_2 = require("./utils");
26
- const assert_1 = __importDefault(require("assert"));
24
+ const database_utils_1 = require("./database_utils");
25
+ const migration_runner_1 = require("./sysdb_migrations/migration_runner");
26
+ const migrations_1 = require("./sysdb_migrations/internal/migrations");
27
27
  exports.DBOS_FUNCNAME_SEND = 'DBOS.send';
28
28
  exports.DBOS_FUNCNAME_RECV = 'DBOS.recv';
29
29
  exports.DBOS_FUNCNAME_SETEVENT = 'DBOS.setEvent';
@@ -33,40 +33,80 @@ exports.DBOS_FUNCNAME_GETSTATUS = 'getStatus';
33
33
  exports.DBOS_FUNCNAME_WRITESTREAM = 'DBOS.writeStream';
34
34
  exports.DBOS_FUNCNAME_CLOSESTREAM = 'DBOS.closeStream';
35
35
  exports.DBOS_STREAM_CLOSED_SENTINEL = '__DBOS_STREAM_CLOSED__';
36
- async function migrateSystemDatabase(systemPoolConfig, logger) {
37
- let migrationsDirectory;
36
+ async function grantDbosSchemaPermissions(databaseUrl, roleName, logger) {
37
+ logger.info(`Granting permissions for DBOS schema to ${roleName}`);
38
+ const client = new pg_1.Client((0, utils_2.getClientConfig)(databaseUrl));
39
+ await client.connect();
38
40
  try {
39
- migrationsDirectory = path_1.default.join((0, utils_1.findPackageRoot)(__dirname), 'migrations');
41
+ // Grant usage on the dbos schema
42
+ const grantUsageSql = `GRANT USAGE ON SCHEMA dbos TO "${roleName}"`;
43
+ logger.info(grantUsageSql);
44
+ await client.query(grantUsageSql);
45
+ // Grant all privileges on all existing tables in dbos schema (includes views)
46
+ const grantTablesSql = `GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA dbos TO "${roleName}"`;
47
+ logger.info(grantTablesSql);
48
+ await client.query(grantTablesSql);
49
+ // Grant all privileges on all sequences in dbos schema
50
+ const grantSequencesSql = `GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA dbos TO "${roleName}"`;
51
+ logger.info(grantSequencesSql);
52
+ await client.query(grantSequencesSql);
53
+ // Grant execute on all functions and procedures in dbos schema
54
+ const grantFunctionsSql = `GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA dbos TO "${roleName}"`;
55
+ logger.info(grantFunctionsSql);
56
+ await client.query(grantFunctionsSql);
57
+ // Grant default privileges for future objects in dbos schema
58
+ const alterTablesSql = `ALTER DEFAULT PRIVILEGES IN SCHEMA dbos GRANT ALL ON TABLES TO "${roleName}"`;
59
+ logger.info(alterTablesSql);
60
+ await client.query(alterTablesSql);
61
+ const alterSequencesSql = `ALTER DEFAULT PRIVILEGES IN SCHEMA dbos GRANT ALL ON SEQUENCES TO "${roleName}"`;
62
+ logger.info(alterSequencesSql);
63
+ await client.query(alterSequencesSql);
64
+ const alterFunctionsSql = `ALTER DEFAULT PRIVILEGES IN SCHEMA dbos GRANT EXECUTE ON FUNCTIONS TO "${roleName}"`;
65
+ logger.info(alterFunctionsSql);
66
+ await client.query(alterFunctionsSql);
40
67
  }
41
- catch (packageError) {
42
- migrationsDirectory = path_1.default.join(__dirname, 'migrations');
68
+ catch (e) {
69
+ logger.error(`Failed to grant permissions to role ${roleName}: ${e.message}`);
70
+ throw e;
43
71
  }
44
- // Check if migrations directory exists
45
- if (!fs_1.default.existsSync(migrationsDirectory)) {
46
- logger.warn('DBOS system database migration files not found. If you are using a bundler, DBOS cannot automatically create the system database. ' +
47
- 'Please run "npx dbos migrate" to create your system database before running your bundled application.');
48
- return;
72
+ finally {
73
+ await client.end();
49
74
  }
50
- const knexConfig = {
51
- client: 'pg',
52
- connection: systemPoolConfig,
53
- migrations: {
54
- directory: migrationsDirectory,
55
- tableName: 'knex_migrations',
56
- },
57
- };
58
- const knexDB = (0, knex_1.default)(knexConfig);
59
- try {
60
- await knexDB.migrate.latest();
75
+ }
76
+ exports.grantDbosSchemaPermissions = grantDbosSchemaPermissions;
77
+ async function ensureSystemDatabase(sysDbUrl, logger, debugMode = false) {
78
+ if (!debugMode) {
79
+ const res = await (0, database_utils_1.ensurePGDatabase)({
80
+ urlToEnsure: sysDbUrl,
81
+ logger: (msg) => logger.debug(msg),
82
+ });
83
+ if (res.status === 'failed') {
84
+ logger.warn(`Database could not be verified / created: ${(0, database_utils_1.maskDatabaseUrl)(sysDbUrl)}: ${res.message} ${res.hint ?? ''}\n ${res.notes.join('\n')}`);
85
+ }
61
86
  }
62
- catch (e) {
63
- logger.warn(`Exception during system database construction. This is most likely because the system database was configured using a later version of DBOS: ${e.message}`);
87
+ const cconnect = await (0, database_utils_1.connectToPGAndReportOutcome)(sysDbUrl, () => { }, 'System Database');
88
+ if (cconnect.result !== 'ok') {
89
+ logger.warn(`Unable to connect to system database at ${(0, database_utils_1.maskDatabaseUrl)(sysDbUrl)}${debugMode ? ' (debug mode)' : ''}
90
+ ${cconnect.message}: (${cconnect.code ? cconnect.code : 'connectivity problem'})`);
91
+ throw new error_1.DBOSInitializationError(`Unable to connect to system database at ${(0, database_utils_1.maskDatabaseUrl)(sysDbUrl)}`);
92
+ }
93
+ try {
94
+ if (debugMode) {
95
+ logger.info(`Skipping system database migration in debug mode.`);
96
+ return;
97
+ }
98
+ await (0, migration_runner_1.runSysMigrationsPg)(cconnect.client, migrations_1.allMigrations, {
99
+ onWarn: (e) => logger.info(e),
100
+ });
64
101
  }
65
102
  finally {
66
- await knexDB.destroy();
103
+ try {
104
+ await cconnect.client.end();
105
+ }
106
+ catch (e) { }
67
107
  }
68
108
  }
69
- exports.migrateSystemDatabase = migrateSystemDatabase;
109
+ exports.ensureSystemDatabase = ensureSystemDatabase;
70
110
  class NotificationMap {
71
111
  map = new Map();
72
112
  curCK = 0;
@@ -468,34 +508,8 @@ class PostgresSystemDatabase {
468
508
  };
469
509
  this.knexDB = (0, knex_1.default)(knexConfig);
470
510
  }
471
- async init() {
472
- const url = new URL(this.systemDatabaseUrl);
473
- const sysDbName = url.pathname.slice(1);
474
- (0, assert_1.default)(sysDbName, 'System database URL must include a database name in the path');
475
- url.pathname = '/postgres';
476
- const pgSystemClient = new pg_1.Client((0, utils_2.getClientConfig)(url));
477
- await pgSystemClient.connect();
478
- // Create the system database and load tables.
479
- const dbExists = await pgSystemClient.query(`SELECT EXISTS (SELECT FROM pg_database WHERE datname = '${sysDbName}')`);
480
- if (!dbExists.rows[0].exists) {
481
- // Create the DBOS system database.
482
- await pgSystemClient.query(`CREATE DATABASE "${sysDbName}"`);
483
- }
484
- try {
485
- await migrateSystemDatabase(this.systemPoolConfig, this.logger);
486
- }
487
- catch (e) {
488
- const tableExists = await this.pool.query(`SELECT EXISTS (SELECT FROM information_schema.tables WHERE table_schema = 'dbos' AND table_name = 'operation_outputs')`);
489
- if (tableExists.rows[0].exists) {
490
- this.logger.warn(`System database migration failed, you may be running an old version of DBOS Transact: ${e.message}`);
491
- }
492
- else {
493
- throw e;
494
- }
495
- }
496
- finally {
497
- await pgSystemClient.end();
498
- }
511
+ async init(debugMode = false) {
512
+ await ensureSystemDatabase(this.systemDatabaseUrl, this.logger, debugMode);
499
513
  if (this.shouldUseDBNotifications) {
500
514
  await this.#listenForNotifications();
501
515
  }
@@ -507,7 +521,6 @@ class PostgresSystemDatabase {
507
521
  }
508
522
  if (this.notificationsClient) {
509
523
  try {
510
- this.notificationsClient.removeAllListeners();
511
524
  await this.notificationsClient.end();
512
525
  }
513
526
  catch (e) {
@@ -516,21 +529,6 @@ class PostgresSystemDatabase {
516
529
  }
517
530
  await this.pool.end();
518
531
  }
519
- static async dropSystemDB(systemDatabaseUrl) {
520
- const url = new URL(systemDatabaseUrl);
521
- const systemDbName = url.pathname.slice(1);
522
- (0, assert_1.default)(systemDbName, 'System database URL must include a database name in the path');
523
- url.pathname = '/postgres';
524
- // Drop system database, for testing.
525
- const pgSystemClient = new pg_1.Client((0, utils_2.getClientConfig)(url));
526
- try {
527
- await pgSystemClient.connect();
528
- await pgSystemClient.query(`DROP DATABASE IF EXISTS ${systemDbName};`);
529
- }
530
- finally {
531
- await pgSystemClient.end();
532
- }
533
- }
534
532
  async initWorkflowStatus(initStatus, maxRetries) {
535
533
  const client = await this.pool.connect();
536
534
  try {