@dbos-inc/dbos-sdk 5.4.9-preview → 5.4.11-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 (74) hide show
  1. package/dist/src/cli/cli.js +56 -13
  2. package/dist/src/cli/cli.js.map +1 -1
  3. package/dist/src/client.d.ts +20 -10
  4. package/dist/src/client.d.ts.map +1 -1
  5. package/dist/src/client.js +76 -44
  6. package/dist/src/client.js.map +1 -1
  7. package/dist/src/config.d.ts +1 -0
  8. package/dist/src/config.d.ts.map +1 -1
  9. package/dist/src/config.js +1 -0
  10. package/dist/src/config.js.map +1 -1
  11. package/dist/src/context.d.ts +6 -0
  12. package/dist/src/context.d.ts.map +1 -1
  13. package/dist/src/context.js +15 -1
  14. package/dist/src/context.js.map +1 -1
  15. package/dist/src/datasource.d.ts +2 -0
  16. package/dist/src/datasource.d.ts.map +1 -1
  17. package/dist/src/datasource.js +7 -1
  18. package/dist/src/datasource.js.map +1 -1
  19. package/dist/src/dbos-executor.d.ts +13 -4
  20. package/dist/src/dbos-executor.d.ts.map +1 -1
  21. package/dist/src/dbos-executor.js +64 -31
  22. package/dist/src/dbos-executor.js.map +1 -1
  23. package/dist/src/dbos.d.ts +60 -11
  24. package/dist/src/dbos.d.ts.map +1 -1
  25. package/dist/src/dbos.js +192 -65
  26. package/dist/src/dbos.js.map +1 -1
  27. package/dist/src/enqueue_options.d.ts +2 -0
  28. package/dist/src/enqueue_options.d.ts.map +1 -1
  29. package/dist/src/enqueue_options.js +3 -0
  30. package/dist/src/enqueue_options.js.map +1 -1
  31. package/dist/src/enqueue_workflow.d.ts.map +1 -1
  32. package/dist/src/enqueue_workflow.js +11 -5
  33. package/dist/src/enqueue_workflow.js.map +1 -1
  34. package/dist/src/enterprise.d.ts +23 -3
  35. package/dist/src/enterprise.d.ts.map +1 -1
  36. package/dist/src/enterprise.js +81 -44
  37. package/dist/src/enterprise.js.map +1 -1
  38. package/dist/src/eventreceiver.d.ts +2 -0
  39. package/dist/src/eventreceiver.d.ts.map +1 -1
  40. package/dist/src/eventreceiver.js +7 -1
  41. package/dist/src/eventreceiver.js.map +1 -1
  42. package/dist/src/index.d.ts +2 -1
  43. package/dist/src/index.d.ts.map +1 -1
  44. package/dist/src/index.js.map +1 -1
  45. package/dist/src/scheduler/scheduler.d.ts +5 -0
  46. package/dist/src/scheduler/scheduler.d.ts.map +1 -1
  47. package/dist/src/scheduler/scheduler.js +14 -4
  48. package/dist/src/scheduler/scheduler.js.map +1 -1
  49. package/dist/src/shard_keys.d.ts +13 -0
  50. package/dist/src/shard_keys.d.ts.map +1 -0
  51. package/dist/src/shard_keys.js +55 -0
  52. package/dist/src/shard_keys.js.map +1 -0
  53. package/dist/src/streams.d.ts +2 -0
  54. package/dist/src/streams.d.ts.map +1 -1
  55. package/dist/src/streams.js +5 -2
  56. package/dist/src/streams.js.map +1 -1
  57. package/dist/src/system_database.d.ts +143 -9
  58. package/dist/src/system_database.d.ts.map +1 -1
  59. package/dist/src/system_database.js +1095 -503
  60. package/dist/src/system_database.js.map +1 -1
  61. package/dist/src/wfqueue.d.ts +1 -2
  62. package/dist/src/wfqueue.d.ts.map +1 -1
  63. package/dist/src/wfqueue.js +83 -63
  64. package/dist/src/wfqueue.js.map +1 -1
  65. package/dist/src/workflow.d.ts +12 -2
  66. package/dist/src/workflow.d.ts.map +1 -1
  67. package/dist/src/workflow.js +14 -9
  68. package/dist/src/workflow.js.map +1 -1
  69. package/dist/src/workflow_management.d.ts +5 -3
  70. package/dist/src/workflow_management.d.ts.map +1 -1
  71. package/dist/src/workflow_management.js +45 -14
  72. package/dist/src/workflow_management.js.map +1 -1
  73. package/dist/tsconfig.tsbuildinfo +1 -1
  74. package/package.json +1 -1
@@ -1,9 +1,14 @@
1
1
  "use strict";
2
2
  // What core uses from @dbos-inc/dbos-enterprise, which checks it satisfies these types; loaded only when needed.
3
3
  // Also the entitlement check every enterprise feature goes through before the package is loaded.
4
+ //
5
+ // Transact Enterprise (the @dbos-inc/dbos-enterprise package) is proprietary, not MIT-licensed like this
6
+ // project. Its license (https://www.dbos.dev/conductor-license) forbids modifying it, and makes disabling
7
+ // or circumventing the entitlement checks here a material breach.
4
8
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.load = exports.requireEnterprise = exports.entitlementURL = exports.defaultConductorURL = exports.HOSTED_CONDUCTOR_URL = exports.ENTITLEMENT_TIMEOUT_MS = exports.ENTITLEMENTS_PATH = exports.enabledFeatures = exports.FEATURES = exports.AUTO_UPGRADE = exports.CONDUCTOR = exports.enterpriseLoader = exports.ENTERPRISE_PACKAGE = void 0;
9
+ exports.load = exports.requireEnterprise = exports.entitlementURL = exports.defaultConductorURL = exports.HOSTED_CONDUCTOR_URL = exports.ENTITLEMENT_TIMEOUT_MS = exports.ENTITLEMENTS_PATH = exports.enabledFeatures = exports.FEATURES = exports.SHARDING = exports.AUTO_UPGRADE = exports.CONDUCTOR = exports.enterpriseLoader = exports.ENTERPRISE_PACKAGE = void 0;
6
10
  const error_1 = require("./error");
11
+ const logs_1 = require("./telemetry/logs");
7
12
  const utils_1 = require("./utils");
8
13
  exports.ENTERPRISE_PACKAGE = '@dbos-inc/dbos-enterprise';
9
14
  // Tests substitute the loaded module here.
@@ -16,7 +21,13 @@ exports.AUTO_UPGRADE = {
16
21
  description: 'Auto-upgrading workflows',
17
22
  configKey: 'autoUpgrade',
18
23
  };
19
- exports.FEATURES = [exports.AUTO_UPGRADE];
24
+ exports.SHARDING = {
25
+ entitlement: 'sharding',
26
+ description: 'Using a sharded system database',
27
+ configKey: 'sharding',
28
+ };
29
+ // Every entitled feature; a new one is a Feature here, named by Conductor's camelCase key.
30
+ exports.FEATURES = [exports.AUTO_UPGRADE, exports.SHARDING];
20
31
  /** The enterprise features a config turns on. */
21
32
  function enabledFeatures(config) {
22
33
  return exports.FEATURES.filter((f) => f.configKey !== undefined && config[f.configKey] === true);
@@ -26,6 +37,14 @@ exports.ENTITLEMENTS_PATH = '/v2/entitlements';
26
37
  exports.ENTITLEMENT_TIMEOUT_MS = 10_000;
27
38
  const ERROR_CODE_HEADER = 'X-DBOS-Error';
28
39
  const PAST_LIMIT = 'past_limit';
40
+ // From the hosted Conductor, these mean it could not answer, not that it refused the key.
41
+ const HOSTED_UNAVAILABLE = new Set([403, 407, 408, 425, 429]);
42
+ const LICENSE_URL = 'https://www.dbos.dev/conductor-license';
43
+ const LICENSE_NOTICE = `Transact Enterprise is licensed under the DBOS Conductor Software License (${LICENSE_URL}), ` +
44
+ 'which makes disabling or circumventing this check a material breach.';
45
+ function refusal(message) {
46
+ return new error_1.DBOSInitializationError(`${message} ${LICENSE_NOTICE}`);
47
+ }
29
48
  exports.HOSTED_CONDUCTOR_URL = 'wss://cloud.dbos.dev/conductor/v1alpha1';
30
49
  function defaultConductorURL() {
31
50
  return `wss://${process.env.DBOS_DOMAIN || 'cloud.dbos.dev'}/conductor/v1alpha1`;
@@ -75,8 +94,7 @@ function parseEntitlements(body) {
75
94
  * Enterprise features use Conductor to report the org entitled to each of them. A
76
95
  * self-hosted Conductor may answer without a key; DBOS Cloud passes without a check.
77
96
  *
78
- * Any failure to get an answer refuses to start: an unreachable Conductor cannot stand
79
- * in for an entitlement.
97
+ * A license control: the Transact Enterprise license makes disabling or circumventing it a material breach.
80
98
  */
81
99
  async function requireEnterprise(features, options) {
82
100
  if (features.length === 0 || utils_1.globalParams.dbosCloud) {
@@ -96,63 +114,82 @@ async function requireEnterprise(features, options) {
96
114
  if (key) {
97
115
  headers.Authorization = `Bearer ${key}`;
98
116
  }
99
- let response;
100
- let body;
117
+ let failure;
101
118
  try {
102
- // Never follow a redirect: it would carry the key to whatever host it names.
103
- response = await fetch(url, { headers, redirect: 'manual', signal: AbortSignal.timeout(exports.ENTITLEMENT_TIMEOUT_MS) });
104
- body = await response.text();
105
- }
106
- catch (e) {
107
- // Fail closed, so an unreachable URL cannot stand in for a key.
108
- const cause = e instanceof Error ? (e.cause instanceof Error ? e.cause.message : e.message) : String(e);
109
- throw new error_1.DBOSInitializationError(`${names} requires an entitled DBOS key, but checking it with Conductor at ${url} failed (${cause}). Please retry later.`);
110
- }
111
- if (!response.ok) {
112
- const status = response.status;
113
- const detail = problemDetail(body);
114
- if (status === 403 && response.headers.get(ERROR_CODE_HEADER) === PAST_LIMIT) {
115
- throw new error_1.DBOSInitializationError(`Your DBOS organization is past its plan limit, so it is not entitled to ${entitlements} (${names}). Upgrade its plan to continue.`);
119
+ let response;
120
+ let body;
121
+ try {
122
+ // Never follow a redirect: it would carry the key to whatever host it names.
123
+ response = await fetch(url, { headers, redirect: 'manual', signal: AbortSignal.timeout(exports.ENTITLEMENT_TIMEOUT_MS) });
124
+ body = await response.text();
116
125
  }
117
- const reason = detail ?? response.statusText;
118
- if (status === 404 && detail === undefined) {
119
- // A bare 404 is a missing route: a Conductor predating per-feature entitlements.
120
- throw new error_1.DBOSInitializationError(`${names} requires an entitled DBOS key, but Conductor at ${url} has no entitlements route (HTTP 404). Upgrade Conductor, or check its URL.`);
126
+ catch (e) {
127
+ throw new EntitlementFailure(e instanceof Error ? (e.cause instanceof Error ? e.cause.message : e.message) : String(e));
121
128
  }
122
- if (status === 401 && !key) {
123
- throw new error_1.DBOSInitializationError(`${names} requires a DBOS key: Conductor at ${url} refused to check without one (HTTP 401): ${reason}. ${keyHint}`);
129
+ if (!response.ok) {
130
+ const status = response.status;
131
+ const detail = problemDetail(body);
132
+ if (status === 403 && response.headers.get(ERROR_CODE_HEADER) === PAST_LIMIT) {
133
+ throw refusal(`Your DBOS organization is past its plan limit, so it is not entitled to ${entitlements} (${names}). Upgrade its plan to continue.`);
134
+ }
135
+ const reason = detail ?? response.statusText;
136
+ if (target === exports.HOSTED_CONDUCTOR_URL && HOSTED_UNAVAILABLE.has(status)) {
137
+ // An outage, handled below.
138
+ }
139
+ else if (status === 404 && detail === undefined) {
140
+ // A bare 404 is a missing route: a Conductor predating per-feature entitlements.
141
+ throw refusal(`${names} requires an entitled DBOS key, but Conductor at ${url} has no entitlements route (HTTP 404). Upgrade Conductor, or check its URL.`);
142
+ }
143
+ else if (status === 401 && !key) {
144
+ throw new error_1.DBOSInitializationError(`${names} requires a DBOS key: Conductor at ${url} refused to check without one (HTTP 401): ${reason}. ${keyHint}`);
145
+ }
146
+ else if (status === 401) {
147
+ // An unknown key, or a user credential instead of an API key.
148
+ throw refusal(`${names} requires a valid DBOS key. Conductor at ${url} rejected the key (HTTP 401): ${reason}`);
149
+ }
150
+ else if (status < 500) {
151
+ // Any other refusal, such as the key's organization being gone, or a redirect.
152
+ throw refusal(`${names} requires an entitled DBOS key, but Conductor at ${url} refused the check (HTTP ${status}): ${reason}`);
153
+ }
154
+ throw new EntitlementFailure(detail ? `HTTP ${status}: ${detail}` : `HTTP ${status}`);
124
155
  }
125
- if (status === 401) {
126
- // An unknown key, or a user credential instead of an API key.
127
- throw new error_1.DBOSInitializationError(`${names} requires a valid DBOS key. Conductor at ${url} rejected the key (HTTP 401): ${reason}`);
156
+ let granted;
157
+ try {
158
+ granted = parseEntitlements(body);
128
159
  }
129
- if (status < 500) {
130
- // Any other refusal, such as the key's organization being gone, or a redirect.
131
- throw new error_1.DBOSInitializationError(`${names} requires an entitled DBOS key, but Conductor at ${url} refused the check (HTTP ${status}): ${reason}`);
160
+ catch (e) {
161
+ throw new EntitlementFailure(e.message);
132
162
  }
133
- const failure = detail ? `HTTP ${status}: ${detail}` : `HTTP ${status}`;
134
- throw new error_1.DBOSInitializationError(`${names} requires an entitled DBOS key, but checking it with Conductor at ${url} failed (${failure}). Please retry later.`);
135
- }
136
- let granted;
137
- try {
138
- granted = parseEntitlements(body);
163
+ const missing = features.filter((f) => granted[f.entitlement] !== true);
164
+ if (missing.length > 0) {
165
+ throw refusal(`Your DBOS organization is not entitled to ${missing.map((f) => f.entitlement).join(' and ')} ` +
166
+ `(${missing.map((f) => f.description).join(' and ')}): its plan does not include it. Contact DBOS to enable it.`);
167
+ }
168
+ return;
139
169
  }
140
170
  catch (e) {
141
- throw new error_1.DBOSInitializationError(`${names} requires an entitled DBOS key, but unable to process the entitlements answer from ${url} (${e.message}).`);
171
+ if (!(e instanceof EntitlementFailure))
172
+ throw e;
173
+ failure = e.message;
142
174
  }
143
- const missing = features.filter((f) => granted[f.entitlement] !== true);
144
- if (missing.length > 0) {
145
- throw new error_1.DBOSInitializationError(`Your DBOS organization is not entitled to ${missing.map((f) => f.entitlement).join(' and ')} ` +
146
- `(${missing.map((f) => f.description).join(' and ')}): its plan does not include it. Contact DBOS to enable it.`);
175
+ if (target === exports.HOSTED_CONDUCTOR_URL) {
176
+ new logs_1.GlobalLogger().warn(`Could not verify the DBOS key's entitlements with Conductor at ${url} (${failure}); starting anyway.`);
177
+ return;
147
178
  }
179
+ // Any other Conductor fails closed, so an unreachable URL cannot stand in for a key.
180
+ throw refusal(`${names} requires an entitled DBOS key, but checking it with Conductor at ${url} failed (${failure}). Retry once Conductor is reachable.`);
148
181
  }
149
182
  exports.requireEnterprise = requireEnterprise;
183
+ /** A check that got no answer from Conductor, as opposed to a refusal. */
184
+ class EntitlementFailure extends Error {
185
+ }
150
186
  function unavailable(feature, cause) {
151
187
  return new error_1.DBOSInitializationError(`${feature} requires ${exports.ENTERPRISE_PACKAGE}, at the same minor version as @dbos-inc/dbos-sdk ` +
152
188
  `(${utils_1.globalParams.dbosVersion}). Install or upgrade it with \`npm install ${exports.ENTERPRISE_PACKAGE}\`. Cause: ${cause}`);
153
189
  }
154
190
  /** Load @dbos-inc/dbos-enterprise, for `feature`, which the error names when it cannot be loaded. */
155
191
  function load(feature = exports.CONDUCTOR) {
192
+ // @dbos-inc/dbos-enterprise is proprietary: its license forbids modifying it or copying it beyond authorized use.
156
193
  let loaded;
157
194
  try {
158
195
  // A literal specifier inside try: bundlers include the package when it is installed and tolerate its absence.
@@ -164,7 +201,7 @@ function load(feature = exports.CONDUCTOR) {
164
201
  catch (e) {
165
202
  throw unavailable(feature, e instanceof Error ? e.message.split('\n')[0] : String(e));
166
203
  }
167
- for (const name of ['ConductorWebsocket', 'AutoUpgradePass']) {
204
+ for (const name of ['ConductorWebsocket', 'AutoUpgradePass', 'ShardedSystemDatabase']) {
168
205
  if (typeof loaded?.[name] !== 'function') {
169
206
  throw unavailable(feature, `it does not export ${name}`);
170
207
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enterprise.js","sourceRoot":"","sources":["../../src/enterprise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enterprise.js","sourceRoot":"","sources":["../../src/enterprise.ts"],"names":[],"mappings":"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"}
@@ -48,4 +48,6 @@ export { registerInternalQueue, isPartitionedQueue } from './wfqueue';
48
48
  * name, otherwise a database-backed queue. Returns `null` if neither exists.
49
49
  */
50
50
  export declare function getQueue(name: string): Promise<WorkflowQueue | null>;
51
+ /** Whether the system database is sharded, which a receiver enqueueing in batches does not support. */
52
+ export declare function isShardedSystemDatabase(): boolean;
51
53
  //# sourceMappingURL=eventreceiver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventreceiver.d.ts","sourceRoot":"","sources":["../../src/eventreceiver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAgB,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAwB,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAiB,aAAa,EAAE,MAAM,WAAW,CAAC;AAEzD,YAAY,EAAE,8BAA8B,EAAE,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAClE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAClC,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAG1F;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED,yEAAyE;AACzE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEtE;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAM1E"}
1
+ {"version":3,"file":"eventreceiver.d.ts","sourceRoot":"","sources":["../../src/eventreceiver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAgB,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAwB,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAiB,aAAa,EAAE,MAAM,WAAW,CAAC;AAEzD,YAAY,EAAE,8BAA8B,EAAE,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAClE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,EAClC,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,gBAAgB,CAAC,CAG3B;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAG1F;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED,yEAAyE;AACzE,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAEtE;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAM1E;AAED,uGAAuG;AACvG,wBAAgB,uBAAuB,IAAI,OAAO,CAGjD"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getQueue = exports.isPartitionedQueue = exports.registerInternalQueue = exports.registerPollerQueue = exports.enqueueWorkflows = exports.prepareEnqueuedWorkflow = void 0;
3
+ exports.isShardedSystemDatabase = exports.getQueue = exports.isPartitionedQueue = exports.registerInternalQueue = exports.registerPollerQueue = exports.enqueueWorkflows = exports.prepareEnqueuedWorkflow = void 0;
4
4
  /**
5
5
  * Entry point for event receivers (Kafka, SQS, ...) that live in their own packages.
6
6
  *
@@ -65,4 +65,10 @@ async function getQueue(name) {
65
65
  return record === null ? null : new wfqueue_1.WorkflowQueue(record);
66
66
  }
67
67
  exports.getQueue = getQueue;
68
+ /** Whether the system database is sharded, which a receiver enqueueing in batches does not support. */
69
+ function isShardedSystemDatabase() {
70
+ (0, decorators_1.ensureDBOSIsLaunched)('isShardedSystemDatabase');
71
+ return dbos_executor_1.DBOSExecutor.globalInstance.systemDatabase.sharded;
72
+ }
73
+ exports.isShardedSystemDatabase = isShardedSystemDatabase;
68
74
  //# sourceMappingURL=eventreceiver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventreceiver.js","sourceRoot":"","sources":["../../src/eventreceiver.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,mDAA+E;AAC/E,6CAAwE;AAExE,uCAAyD;AAUzD;;;;;;GAMG;AACI,KAAK,UAAU,uBAAuB,CAC3C,QAAkC,EAClC,IAAO,EACP,OAAuC;IAEvC,IAAA,iCAAoB,EAAC,yBAAyB,CAAC,CAAC;IAChD,OAAO,MAAM,4BAAY,CAAC,cAAe,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7F,CAAC;AAPD,0DAOC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,gBAAgB,CAAC,SAA6B;IAClE,IAAA,iCAAoB,EAAC,kBAAkB,CAAC,CAAC;IACzC,OAAO,MAAM,4BAAY,CAAC,cAAe,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACvF,CAAC;AAHD,4CAGC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,uBAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAFD,kDAEC;AAED,yEAAyE;AACzE,qCAAsE;AAA7D,gHAAA,qBAAqB,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAElD;;;GAGG;AACI,KAAK,UAAU,QAAQ,CAAC,IAAY;IACzC,MAAM,QAAQ,GAAG,uBAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAA,iCAAoB,EAAC,UAAU,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,4BAAY,CAAC,cAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChF,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,uBAAa,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAND,4BAMC"}
1
+ {"version":3,"file":"eventreceiver.js","sourceRoot":"","sources":["../../src/eventreceiver.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,mDAA+E;AAC/E,6CAAwE;AAExE,uCAAyD;AAUzD;;;;;;GAMG;AACI,KAAK,UAAU,uBAAuB,CAC3C,QAAkC,EAClC,IAAO,EACP,OAAuC;IAEvC,IAAA,iCAAoB,EAAC,yBAAyB,CAAC,CAAC;IAChD,OAAO,MAAM,4BAAY,CAAC,cAAe,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7F,CAAC;AAPD,0DAOC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,gBAAgB,CAAC,SAA6B;IAClE,IAAA,iCAAoB,EAAC,kBAAkB,CAAC,CAAC;IACzC,OAAO,MAAM,4BAAY,CAAC,cAAe,CAAC,cAAc,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;AACvF,CAAC;AAHD,4CAGC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,uBAAa,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAFD,kDAEC;AAED,yEAAyE;AACzE,qCAAsE;AAA7D,gHAAA,qBAAqB,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AAElD;;;GAGG;AACI,KAAK,UAAU,QAAQ,CAAC,IAAY;IACzC,MAAM,QAAQ,GAAG,uBAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAA,iCAAoB,EAAC,UAAU,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,MAAM,4BAAY,CAAC,cAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChF,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,uBAAa,CAAC,MAAM,CAAC,CAAC;AAC5D,CAAC;AAND,4BAMC;AAED,uGAAuG;AACvG,SAAgB,uBAAuB;IACrC,IAAA,iCAAoB,EAAC,yBAAyB,CAAC,CAAC;IAChD,OAAO,4BAAY,CAAC,cAAe,CAAC,cAAc,CAAC,OAAO,CAAC;AAC7D,CAAC;AAHD,0DAGC"}
@@ -1,4 +1,5 @@
1
- export { DBOS, RecvOptions, GetEventOptions, GetResultOptions, PollingOptions, WaitFirstOptions, WaitAllOptions, SetWorkflowDelayOptions, ReadStreamOptions, ReadStreamOffsetOptions, } from './dbos';
1
+ export { DBOS, RecvOptions, GetEventOptions, GetResultOptions, PollingOptions, WaitFirstOptions, WaitAllOptions, SetWorkflowDelayOptions, ReadStreamOptions, ReadStreamOffsetOptions, ShardKeyOptions, } from './dbos';
2
+ export type { StepReservation } from './dbos';
2
3
  export { DBOSClient } from './client';
3
4
  export { WorkflowSchedule, ScheduledWorkflowFn, ScheduleOptions } from './scheduler/scheduler';
4
5
  export { AlertHandler, DBOSLifecycleCallback, ExternalRegistration, MethodRegistrationBase } from './decorators';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/F,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEjH,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,GAChB,MAAM,QAAQ,CAAC;AAEhB,YAAY,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE/F,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEjH,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EACL,WAAW,EACX,cAAc,EACd,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,cAAc,EACd,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAWgB;AAVd,4FAAA,IAAI,OAAA;AAYN,mCAAsC;AAA7B,oGAAA,UAAU,OAAA;AAQnB,iDAAiC;AAEjC,iCAAiF;AAAxE,kHAAA,yBAAyB,OAAA;AAAE,oHAAA,2BAA2B,OAAA;AAE/D,gEAAoE;AAA3D,yHAAA,qBAAqB,OAAA;AAE9B,uCAUoB;AANlB,wGAAA,YAAY,OAAA;AAQd,yCAAyD;AAAhD,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAMnC,2CAAgE;AAAzC,gHAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAYgB;AAXd,4FAAA,IAAI,OAAA;AAeN,mCAAsC;AAA7B,oGAAA,UAAU,OAAA;AAQnB,iDAAiC;AAEjC,iCAAiF;AAAxE,kHAAA,yBAAyB,OAAA;AAAE,oHAAA,2BAA2B,OAAA;AAE/D,gEAAoE;AAA3D,yHAAA,qBAAqB,OAAA;AAE9B,uCAUoB;AANlB,wGAAA,YAAY,OAAA;AAQd,yCAAyD;AAAhD,sGAAA,SAAS,OAAA;AAAE,4GAAA,eAAe,OAAA;AAMnC,2CAAgE;AAAzC,gHAAA,kBAAkB,OAAA"}
@@ -6,6 +6,7 @@ export interface ScheduleOptions {
6
6
  automaticBackfill?: boolean;
7
7
  cronTimezone?: string;
8
8
  queueName?: string;
9
+ shardKey?: string;
9
10
  }
10
11
  export interface WorkflowSchedule {
11
12
  scheduleId: string;
@@ -20,9 +21,11 @@ export interface WorkflowSchedule {
20
21
  cronTimezone: string | null;
21
22
  queueName: string | null;
22
23
  applicationName?: string;
24
+ shardKey?: string;
23
25
  }
24
26
  export declare function toWorkflowSchedule(internal: WorkflowScheduleInternal, serializer: DBOSSerializer): Promise<WorkflowSchedule>;
25
27
  export declare function createScheduleId(): string;
28
+ export declare function scheduleSignature(sched: WorkflowScheduleInternal): string;
26
29
  export declare class DynamicSchedulerLoop implements DBOSLifecycleCallback {
27
30
  #private;
28
31
  constructor(pollingIntervalMs?: number);
@@ -31,4 +34,6 @@ export declare class DynamicSchedulerLoop implements DBOSLifecycleCallback {
31
34
  }
32
35
  export declare function triggerSchedule(systemDatabase: SystemDatabase, serializer: DBOSSerializer, name: string): Promise<string>;
33
36
  export declare function backfillSchedule(systemDatabase: SystemDatabase, serializer: DBOSSerializer, name: string, start: Date, end: Date): Promise<string[]>;
37
+ /** The shard key a schedule's workflows run under. */
38
+ export declare function scheduleShardKey(systemDatabase: SystemDatabase, name: string): Promise<string | undefined>;
34
39
  //# sourceMappingURL=scheduler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,wBAAwB,EAA+B,MAAM,oBAAoB,CAAC;AAChH,OAAO,EAAE,cAAc,EAAiB,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAWtD,MAAM,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvF,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,wBAAwB,EAClC,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAiB3B;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AA4BD,qBAAa,oBAAqB,YAAW,qBAAqB;;gBAMpD,iBAAiB,CAAC,EAAE,MAAM;IAKhC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA0M/B;AA2CD,wBAAsB,eAAe,CACnC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,IAAI,EACX,GAAG,EAAE,IAAI,GACR,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BnB"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,wBAAwB,EAA+B,MAAM,oBAAoB,CAAC;AAChH,OAAO,EAAE,cAAc,EAAiB,MAAM,kBAAkB,CAAC;AAGjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAWtD,MAAM,MAAM,mBAAmB,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEvF,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,wBAAwB,EAClC,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAkB3B;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AASD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAUzE;AAUD,qBAAa,oBAAqB,YAAW,qBAAqB;;gBAMpD,iBAAiB,CAAC,EAAE,MAAM;IAKhC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CA6M/B;AA4CD,wBAAsB,eAAe,CACnC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,wBAAsB,gBAAgB,CACpC,cAAc,EAAE,cAAc,EAC9B,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,IAAI,EACX,GAAG,EAAE,IAAI,GACR,OAAO,CAAC,MAAM,EAAE,CAAC,CA6BnB;AAED,sDAAsD;AACtD,wBAAsB,gBAAgB,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAEhH"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.backfillSchedule = exports.triggerSchedule = exports.DynamicSchedulerLoop = exports.createScheduleId = exports.toWorkflowSchedule = void 0;
3
+ exports.scheduleShardKey = exports.backfillSchedule = exports.triggerSchedule = exports.DynamicSchedulerLoop = exports.scheduleSignature = exports.createScheduleId = exports.toWorkflowSchedule = void 0;
4
4
  const serialization_1 = require("../serialization");
5
5
  const crypto_1 = require("crypto");
6
6
  const __1 = require("..");
@@ -25,6 +25,7 @@ async function toWorkflowSchedule(internal, serializer) {
25
25
  cronTimezone: internal.cronTimezone,
26
26
  queueName: internal.queueName,
27
27
  applicationName: internal.applicationName,
28
+ shardKey: internal.shardKey,
28
29
  };
29
30
  }
30
31
  exports.toWorkflowSchedule = toWorkflowSchedule;
@@ -41,8 +42,10 @@ function scheduleSignature(sched) {
41
42
  sched.context,
42
43
  sched.cronTimezone ?? null,
43
44
  sched.queueName ?? null,
45
+ sched.shardKey ?? null,
44
46
  ]);
45
47
  }
48
+ exports.scheduleSignature = scheduleSignature;
46
49
  // During the first minute after startup, poll for schedules every second so schedules
47
50
  // registered around launch are picked up promptly rather than after a full polling interval.
48
51
  const STARTUP_FAST_POLL_DURATION_MS = 60_000;
@@ -144,7 +147,7 @@ class DynamicSchedulerLoop {
144
147
  const controller = new AbortController();
145
148
  const executor = dbos_executor_1.DBOSExecutor.globalInstance;
146
149
  // Only enqueues, never runs the workflow, so its retries may be abandoned when the loop stops.
147
- const promise = (0, context_1.runWithAbortableDbRetries)(controller.signal, () => DynamicSchedulerLoop.#scheduleLoop(sched.scheduleName, sched.workflowName, sched.workflowClassName, sched.schedule, sched.context, executor.serializer, controller.signal, sched.cronTimezone ?? undefined, sched.queueName ?? undefined, sched.applicationName));
150
+ const promise = (0, context_1.runWithAbortableDbRetries)(controller.signal, () => DynamicSchedulerLoop.#scheduleLoop(sched.scheduleName, sched.workflowName, sched.workflowClassName, sched.schedule, sched.context, executor.serializer, controller.signal, sched.cronTimezone ?? undefined, sched.queueName ?? undefined, sched.applicationName, sched.shardKey));
148
151
  this.#scheduleLoops.set(sched.scheduleName, { controller, promise, signature });
149
152
  }
150
153
  }
@@ -152,7 +155,7 @@ class DynamicSchedulerLoop {
152
155
  await (0, utils_1.interruptibleSleep)(pollTimeout(), signal);
153
156
  }
154
157
  }
155
- static async #scheduleLoop(scheduleName, workflowName, workflowClassName, cronExpression, serializedContext, serializer, signal, cronTimezone, queueName, applicationName) {
158
+ static async #scheduleLoop(scheduleName, workflowName, workflowClassName, cronExpression, serializedContext, serializer, signal, cronTimezone, queueName, applicationName, shardKey) {
156
159
  let timeMatcher;
157
160
  try {
158
161
  timeMatcher = new crontab_1.TimeMatcher(cronExpression, cronTimezone);
@@ -174,6 +177,7 @@ class DynamicSchedulerLoop {
174
177
  cronTimezone: cronTimezone ?? null,
175
178
  queueName: queueName ?? null,
176
179
  applicationName,
180
+ shardKey,
177
181
  };
178
182
  let lastExec = new Date().setMilliseconds(0);
179
183
  while (!signal.aborted) {
@@ -197,7 +201,7 @@ class DynamicSchedulerLoop {
197
201
  const workflowID = `sched-${scheduleName}-${date.toISOString()}`;
198
202
  try {
199
203
  // Idempotency check -- for performance only, not needed for correctness
200
- const existing = await __1.DBOS.getWorkflowStatus(workflowID);
204
+ const existing = await __1.DBOS.getWorkflowStatus(workflowID, { shardKey });
201
205
  if (existing) {
202
206
  lastExec = nextExec;
203
207
  continue;
@@ -244,6 +248,7 @@ async function enqueueScheduledWorkflow(systemDatabase, serializer, sched, workf
244
248
  scheduleName: sched.scheduleName,
245
249
  // Owned where possible: the internal queue's shared name cannot route an unclaimed row.
246
250
  applicationName: owner,
251
+ shardKey: sched.shardKey,
247
252
  };
248
253
  await systemDatabase.initWorkflowStatus(internalStatus, null);
249
254
  return;
@@ -287,4 +292,9 @@ async function backfillSchedule(systemDatabase, serializer, name, start, end) {
287
292
  return workflowIDs;
288
293
  }
289
294
  exports.backfillSchedule = backfillSchedule;
295
+ /** The shard key a schedule's workflows run under. */
296
+ async function scheduleShardKey(systemDatabase, name) {
297
+ return (await systemDatabase.getSchedule(name))?.shardKey;
298
+ }
299
+ exports.scheduleShardKey = scheduleShardKey;
290
300
  //# sourceMappingURL=scheduler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/scheduler/scheduler.ts"],"names":[],"mappings":";;;AACA,oDAAiE;AACjE,mCAAoC;AACpC,0BAA0B;AAE1B,oCAAmE;AACnE,uCAAwC;AACxC,oDAAgD;AAChD,oCAAqC;AACrC,0CAA2C;AAC3C,wCAAuD;AAiChD,KAAK,UAAU,kBAAkB,CACtC,QAAkC,EAClC,UAA0B;IAE1B,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEzD,OAAO;QACL,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,OAAO;QACP,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAC;AACJ,CAAC;AArBD,gDAqBC;AAED,SAAgB,gBAAgB;IAC9B,OAAO,IAAA,mBAAU,GAAE,CAAC;AACtB,CAAC;AAFD,4CAEC;AAQD,yMAAyM;AACzM,SAAgB,iBAAiB,CAAC,KAA+B;IAC/D,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,iBAAiB;QACvB,KAAK,CAAC,QAAQ;QACd,KAAK,CAAC,OAAO;QACb,KAAK,CAAC,YAAY,IAAI,IAAI;QAC1B,KAAK,CAAC,SAAS,IAAI,IAAI;QACvB,KAAK,CAAC,QAAQ,IAAI,IAAI;KACvB,CAAC,CAAC;AACL,CAAC;AAVD,8CAUC;AAED,sFAAsF;AACtF,6FAA6F;AAC7F,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAC7C,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAE5C,kFAAkF;AAClF,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7C,MAAa,oBAAoB;IACtB,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IACjD,eAAe,CAA4B;IAClC,cAAc,GAAG,IAAI,GAAG,EAA6B,CAAC;IACtD,kBAAkB,CAAS;IAEpC,YAAY,iBAA0B;QACpC,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,IAAI,KAAK,CAAC;QACrD,QAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,eAAe,GAAG,IAAA,mCAAyB,EAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1F,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,+BAA+B;QAC/B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,WAAW,GAAoB,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzC,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAmB;QACpC,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,6BAA6B,CAAC;QACnE,MAAM,WAAW,GAAG,GAAG,EAAE,CACvB,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe;YAC1B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,6BAA6B,EAAE,IAAI,CAAC,kBAAkB,CAAC;YAClE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC;QAE9B,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,SAAqC,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,4BAAY,CAAC,cAAe,CAAC;gBAC9C,SAAS,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC;oBACtD,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO;iBACjD,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAAgD,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;gBACxF,MAAM,IAAA,0BAAkB,EAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;gBAChD,SAAS;YACX,CAAC;YAED,sCAAsC;YACtC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;YAEnE,mCAAmC;YACnC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBAChD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC7D,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAE3C,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,EAAE,CAAC;oBAC1C,0CAA0C;oBAC1C,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;oBAC5B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACjD,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACrC,8FAA8F;oBAC9F,IAAI,QAAQ,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;wBACjD,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;wBAC5B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBACjD,CAAC;oBAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;wBACjD,yDAAyD;wBACzD,yDAAyD;wBACzD,IAAI,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;4BACjD,IAAI,CAAC;gCACH,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gCAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;gCACvB,IAAI,SAAS,GAAG,GAAG,EAAE,CAAC;oCACpB,MAAM,QAAQ,GAAG,4BAAY,CAAC,cAAe,CAAC;oCAC9C,MAAM,gBAAgB,CACpB,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,UAAU,EACnB,KAAK,CAAC,YAAY,EAClB,SAAS,EACT,GAAG,CACJ,CAAC;gCACJ,CAAC;4BACH,CAAC;4BAAC,OAAO,CAAC,EAAE,CAAC;gCACX,QAAI,CAAC,MAAM,CAAC,IAAI,CACd,kDAAkD,KAAK,CAAC,YAAY,MAAO,CAAW,CAAC,OAAO,EAAE,CACjG,CAAC;4BACJ,CAAC;wBACH,CAAC;wBAED,0FAA0F;wBAC1F,IAAI,MAAM,CAAC,OAAO;4BAAE,OAAO;wBAE3B,yCAAyC;wBACzC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;wBACzC,MAAM,QAAQ,GAAG,4BAAY,CAAC,cAAe,CAAC;wBAC9C,+FAA+F;wBAC/F,MAAM,OAAO,GAAG,IAAA,mCAAyB,EAAC,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,CAChE,oBAAoB,CAAC,aAAa,CAChC,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,OAAO,EACb,QAAQ,CAAC,UAAU,EACnB,UAAU,CAAC,MAAM,EACjB,KAAK,CAAC,YAAY,IAAI,SAAS,EAC/B,KAAK,CAAC,SAAS,IAAI,SAAS,EAC5B,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,QAAQ,CACf,CACF,CAAC;wBACF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;oBAClF,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,IAAA,0BAAkB,EAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CACxB,YAAoB,EACpB,YAAoB,EACpB,iBAAyB,EACzB,cAAsB,EACtB,iBAAyB,EACzB,UAA0B,EAC1B,MAAmB,EACnB,YAAqB,EACrB,SAAkB,EAClB,eAAwB,EACxB,QAAiB;QAEjB,IAAI,WAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,WAAW,GAAG,IAAI,qBAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAI,CAAC,MAAM,CAAC,IAAI,CACd,oDAAoD,YAAY,OAAO,cAAc,OAAQ,CAAW,CAAC,OAAO,EAAE,CACnH,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAA6B;YACtC,UAAU,EAAE,EAAE;YACd,YAAY;YACZ,YAAY;YACZ,iBAAiB;YACjB,QAAQ,EAAE,cAAc;YACxB,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,IAAI;YACjB,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,YAAY,IAAI,IAAI;YAClC,SAAS,EAAE,SAAS,IAAI,IAAI;YAC5B,eAAe;YACf,QAAQ;SACT,CAAC;QAEF,IAAI,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAE7C,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;YAChE,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAExC,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAEvG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAChD,MAAM,IAAA,0BAAkB,EAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,qBAAqB,CAAC,EAAE,MAAM,CAAC,CAAC;YAC3F,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM;YACR,CAAC;YAED,uEAAuE;YACvE,kDAAkD;YAClD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,QAAQ,GAAG,QAAQ,CAAC;gBACpB,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,SAAS,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAEjE,IAAI,CAAC;gBACH,wEAAwE;gBACxE,MAAM,QAAQ,GAAG,MAAM,QAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACxE,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,GAAG,QAAQ,CAAC;oBACpB,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAC1D,MAAM,cAAc,GAAG,4BAAY,CAAC,cAAe,CAAC,cAAc,CAAC;gBACnE,MAAM,wBAAwB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC7F,MAAM,cAAc,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,QAAI,CAAC,MAAM,CAAC,IAAI,CACd,0DAA0D,YAAY,MAAO,CAAW,CAAC,OAAO,EAAE,CACnG,CAAC;YACJ,CAAC;YAED,QAAQ,GAAG,QAAQ,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AA9ND,oDA8NC;AAED,KAAK,UAAU,wBAAwB,CACrC,cAA8B,EAC9B,UAA0B,EAC1B,KAA+B,EAC/B,UAAkB,EAClB,aAAmB,EACnB,OAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAa,EAAC,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACjG,iJAAiJ;IACjJ,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,IAAI,cAAc,CAAC,OAAO,CAAC;IAC9D,sFAAsF;IACtF,MAAM,aAAa,GAAG,MAAM,cAAc,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,cAAc,GAA2B;QAC7C,YAAY,EAAE,UAAU;QACxB,MAAM,EAAE,uBAAY,CAAC,QAAQ;QAC7B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,kBAAkB,EAAE,EAAE;QACtB,kBAAkB,EAAE,aAAa,CAAC,WAAW;QAC7C,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,2BAAmB;QACjD,iBAAiB,EAAE,EAAE;QACrB,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,EAAE;QACf,kBAAkB,EAAE,EAAE;QACtB,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,EAAE;QACjB,KAAK,EAAE,QAAQ,CAAC,eAAe;QAC/B,eAAe,EAAE,SAAS;QAC1B,QAAQ,EAAE,CAAC;QACX,iBAAiB,EAAE,SAAS;QAC5B,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,wFAAwF;QACxF,eAAe,EAAE,KAAK;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;IACF,MAAM,cAAc,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAC9D,OAAO;AACT,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,cAA8B,EAC9B,UAA0B,EAC1B,IAAY;IAEZ,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,iBAAS,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,SAAS,IAAI,YAAY,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;IAChE,MAAM,wBAAwB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5F,OAAO,UAAU,CAAC;AACpB,CAAC;AAdD,0CAcC;AAEM,KAAK,UAAU,gBAAgB,CACpC,cAA8B,EAC9B,UAA0B,EAC1B,IAAY,EACZ,KAAW,EACX,GAAS;IAET,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,iBAAS,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,IAAI,qBAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC;IACrF,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAE9B,OAAO,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEjD,uEAAuE;QACvE,kDAAkD;QAClD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE;YAAE,MAAM;QAE3C,MAAM,UAAU,GAAG,SAAS,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACzD,MAAM,wBAAwB,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7F,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAnCD,4CAmCC;AAED,sDAAsD;AAC/C,KAAK,UAAU,gBAAgB,CAAC,cAA8B,EAAE,IAAY;IACjF,OAAO,CAAC,MAAM,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC;AAC5D,CAAC;AAFD,4CAEC"}
@@ -0,0 +1,13 @@
1
+ /** Throw unless `shardKey` is undefined, null, or a non-empty string. */
2
+ export declare function validateShardKey(shardKey: unknown): void;
3
+ /** Run `callback` with each workflow ID in `keys` living under its shard key. Undefined and null keys are ignored. */
4
+ export declare function bindShardKeys<R>(keys: Iterable<readonly [string, string | null | undefined]> | Record<string, string | null | undefined>, callback: () => R): R;
5
+ /** The shard key bound for this workflow ID, if any. */
6
+ export declare function boundShardKey(workflowID: string): string | undefined;
7
+ /** Run `callback` with statements not addressing a specific workflow running under `key`. */
8
+ export declare function shardKeyScope<R>(key: string | null | undefined, callback: () => R): R;
9
+ /** The shard key of the enclosing scope, if any. */
10
+ export declare function scopedShardKey(): string | undefined;
11
+ /** Run `callback` with every binding and scope emptied, so a workflow body inherits none from its caller. */
12
+ export declare function withClearedShardKeyState<R>(callback: () => R): R;
13
+ //# sourceMappingURL=shard_keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shard_keys.d.ts","sourceRoot":"","sources":["../../src/shard_keys.ts"],"names":[],"mappings":"AAeA,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAIxD;AAED,sHAAsH;AACtH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EACxG,QAAQ,EAAE,MAAM,CAAC,GAChB,CAAC,CAeH;AAED,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEpE;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAGrF;AAED,oDAAoD;AACpD,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAEnD;AAED,6GAA6G;AAC7G,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAEhE"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ // Shard keys a caller supplies for the workflows it addresses, read only by a sharded system database.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.withClearedShardKeyState = exports.scopedShardKey = exports.shardKeyScope = exports.boundShardKey = exports.bindShardKeys = exports.validateShardKey = void 0;
5
+ const async_hooks_1 = require("async_hooks");
6
+ const util_1 = require("util");
7
+ const error_1 = require("./error");
8
+ const shardKeyState = new async_hooks_1.AsyncLocalStorage();
9
+ /** Throw unless `shardKey` is undefined, null, or a non-empty string. */
10
+ function validateShardKey(shardKey) {
11
+ if (shardKey !== undefined && shardKey !== null && (typeof shardKey !== 'string' || shardKey === '')) {
12
+ throw new error_1.DBOSError(`Invalid shard key ${(0, util_1.inspect)(shardKey)}: a shard key must be a non-empty string`);
13
+ }
14
+ }
15
+ exports.validateShardKey = validateShardKey;
16
+ /** Run `callback` with each workflow ID in `keys` living under its shard key. Undefined and null keys are ignored. */
17
+ function bindShardKeys(keys, callback) {
18
+ const entries = Symbol.iterator in keys ? Array.from(keys) : Object.entries(keys);
19
+ const given = entries.filter((entry) => entry[1] !== undefined && entry[1] !== null);
20
+ for (const [, key] of given) {
21
+ validateShardKey(key);
22
+ }
23
+ if (given.length === 0) {
24
+ return callback();
25
+ }
26
+ const current = shardKeyState.getStore();
27
+ const bindings = new Map(current?.bindings);
28
+ for (const [workflowID, key] of given) {
29
+ bindings.set(workflowID, key);
30
+ }
31
+ return shardKeyState.run({ ...current, bindings }, callback);
32
+ }
33
+ exports.bindShardKeys = bindShardKeys;
34
+ /** The shard key bound for this workflow ID, if any. */
35
+ function boundShardKey(workflowID) {
36
+ return shardKeyState.getStore()?.bindings?.get(workflowID);
37
+ }
38
+ exports.boundShardKey = boundShardKey;
39
+ /** Run `callback` with statements not addressing a specific workflow running under `key`. */
40
+ function shardKeyScope(key, callback) {
41
+ validateShardKey(key);
42
+ return shardKeyState.run({ ...shardKeyState.getStore(), scope: key ?? undefined }, callback);
43
+ }
44
+ exports.shardKeyScope = shardKeyScope;
45
+ /** The shard key of the enclosing scope, if any. */
46
+ function scopedShardKey() {
47
+ return shardKeyState.getStore()?.scope;
48
+ }
49
+ exports.scopedShardKey = scopedShardKey;
50
+ /** Run `callback` with every binding and scope emptied, so a workflow body inherits none from its caller. */
51
+ function withClearedShardKeyState(callback) {
52
+ return shardKeyState.run({}, callback);
53
+ }
54
+ exports.withClearedShardKeyState = withClearedShardKeyState;
55
+ //# sourceMappingURL=shard_keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shard_keys.js","sourceRoot":"","sources":["../../src/shard_keys.ts"],"names":[],"mappings":";AAAA,uGAAuG;;;AAEvG,6CAAgD;AAChD,+BAA+B;AAC/B,mCAAoC;AASpC,MAAM,aAAa,GAAG,IAAI,+BAAiB,EAAiB,CAAC;AAE7D,yEAAyE;AACzE,SAAgB,gBAAgB,CAAC,QAAiB;IAChD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,EAAE,CAAC,EAAE,CAAC;QACrG,MAAM,IAAI,iBAAS,CAAC,qBAAqB,IAAA,cAAO,EAAC,QAAQ,CAAC,0CAA0C,CAAC,CAAC;IACxG,CAAC;AACH,CAAC;AAJD,4CAIC;AAED,sHAAsH;AACtH,SAAgB,aAAa,CAC3B,IAAwG,EACxG,QAAiB;IAEjB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IAChH,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;QAC5B,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5C,KAAK,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;QACtC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC/D,CAAC;AAlBD,sCAkBC;AAED,wDAAwD;AACxD,SAAgB,aAAa,CAAC,UAAkB;IAC9C,OAAO,aAAa,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;AAC7D,CAAC;AAFD,sCAEC;AAED,6FAA6F;AAC7F,SAAgB,aAAa,CAAI,GAA8B,EAAE,QAAiB;IAChF,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC/F,CAAC;AAHD,sCAGC;AAED,oDAAoD;AACpD,SAAgB,cAAc;IAC5B,OAAO,aAAa,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC;AACzC,CAAC;AAFD,wCAEC;AAED,6GAA6G;AAC7G,SAAgB,wBAAwB,CAAI,QAAiB;IAC3D,OAAO,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AACzC,CAAC;AAFD,4DAEC"}
@@ -9,6 +9,8 @@ export interface StreamReadParams {
9
9
  functionName: string;
10
10
  /** Whether a read from a workflow is recorded as a step. Client reads never are. */
11
11
  checkpoint: boolean;
12
+ /** The shard key of the workflow whose stream is read; required on a sharded system database. */
13
+ shardKey?: string;
12
14
  }
13
15
  /** Yield a stream's values in order, checkpointing each one when read from a workflow. */
14
16
  export declare function readStreamCore<T>(sysdb: SystemDatabase, serializer: DBOSSerializer, workflowID: string, key: string, params: StreamReadParams): AsyncGenerator<T, void, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../../src/streams.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,cAAc,EAGf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIL,cAAc,EACf,MAAM,mBAAmB,CAAC;AAI3B,gFAAgF;AAChF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,UAAU,EAAE,OAAO,CAAC;CACrB;AAkJD,0FAA0F;AAC1F,wBAAuB,cAAc,CAAC,CAAC,EACrC,KAAK,EAAE,cAAc,EACrB,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,gBAAgB,GACvB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAiGlC;AAED,uFAAuF;AACvF,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,KAAK,EAAE,cAAc,EACrB,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,CAAC,CAAC,CAOZ"}
1
+ {"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../../src/streams.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,cAAc,EAGf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIL,cAAc,EACf,MAAM,mBAAmB,CAAC;AAK3B,gFAAgF;AAChF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,UAAU,EAAE,OAAO,CAAC;IACpB,iGAAiG;IACjG,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAkJD,0FAA0F;AAC1F,wBAAuB,cAAc,CAAC,CAAC,EACrC,KAAK,EAAE,cAAc,EACrB,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,gBAAgB,GACvB,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAmGlC;AAED,uFAAuF;AACvF,wBAAsB,oBAAoB,CAAC,CAAC,EAC1C,KAAK,EAAE,cAAc,EACrB,UAAU,EAAE,cAAc,EAC1B,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,CAAC,CAAC,CAOZ"}
@@ -6,6 +6,7 @@ const error_1 = require("./error");
6
6
  const serialization_1 = require("./serialization");
7
7
  const system_database_1 = require("./system_database");
8
8
  const utils_1 = require("./utils");
9
+ const shard_keys_1 = require("./shard_keys");
9
10
  const workflow_1 = require("./workflow");
10
11
  // Returned by StreamReadCheckpointer.replay when a step has no recorded result and must be read live.
11
12
  const noRecordedValue = Symbol('noRecordedValue');
@@ -139,7 +140,9 @@ async function* readStreamCore(sysdb, serializer, workflowID, key, params) {
139
140
  const { pollingIntervalMs, timeoutMS, functionName } = params;
140
141
  let offset = params.offset;
141
142
  const checkpointer = params.checkpoint ? new StreamReadCheckpointer(sysdb, serializer, key, functionName) : undefined;
142
- const payload = `${workflowID}::${key}`;
143
+ // Bound per call, never across a yield, which would leak into the consumer's context.
144
+ const targetKey = [[workflowID, params.shardKey]];
145
+ const payload = (0, shard_keys_1.bindShardKeys)(targetKey, () => sysdb.waiter(workflowID, key));
143
146
  let finalRead = false;
144
147
  try {
145
148
  while (true) {
@@ -171,7 +174,7 @@ async function* readStreamCore(sysdb, serializer, workflowID, key, params) {
171
174
  const cbr = sysdb.streamsMap.registerCallback(payload, resolveNotification);
172
175
  try {
173
176
  // One round trip for both the value and the workflow's status.
174
- const read = await sysdb.readStreamValue(workflowID, key, offset);
177
+ const read = await (0, shard_keys_1.bindShardKeys)(targetKey, () => sysdb.readStreamValue(workflowID, key, offset));
175
178
  if (read.status === null) {
176
179
  throw new error_1.DBOSNonExistentWorkflowError(`Workflow ${workflowID} does not exist`);
177
180
  }