@dbos-inc/dbos-sdk 4.28.7-preview → 4.28.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.
- package/README.md +20 -7
- package/dist/schemas/system_db_schema.d.ts +0 -9
- package/dist/schemas/system_db_schema.d.ts.map +1 -1
- package/dist/schemas/system_db_schema.js.map +1 -1
- package/dist/src/adminserver.d.ts.map +1 -1
- package/dist/src/adminserver.js +5 -19
- package/dist/src/adminserver.js.map +1 -1
- package/dist/src/client.d.ts +8 -0
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/client.js +6 -7
- package/dist/src/client.js.map +1 -1
- package/dist/src/context.d.ts +0 -25
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js.map +1 -1
- package/dist/src/dbos-executor.d.ts +5 -36
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/dbos-executor.js +10 -31
- package/dist/src/dbos-executor.js.map +1 -1
- package/dist/src/dbos.d.ts +9 -84
- package/dist/src/dbos.d.ts.map +1 -1
- package/dist/src/dbos.js +17 -164
- package/dist/src/dbos.js.map +1 -1
- package/dist/src/debouncer.d.ts.map +1 -1
- package/dist/src/debouncer.js +9 -0
- package/dist/src/debouncer.js.map +1 -1
- package/dist/src/decorators.d.ts +0 -56
- package/dist/src/decorators.d.ts.map +1 -1
- package/dist/src/decorators.js +7 -331
- package/dist/src/decorators.js.map +1 -1
- package/dist/src/enqueue_options.d.ts.map +1 -1
- package/dist/src/enqueue_options.js +0 -1
- package/dist/src/enqueue_options.js.map +1 -1
- package/dist/src/error.d.ts +0 -8
- package/dist/src/error.d.ts.map +1 -1
- package/dist/src/error.js +1 -27
- package/dist/src/error.js.map +1 -1
- package/dist/src/eventreceiver.d.ts +5 -11
- package/dist/src/eventreceiver.d.ts.map +1 -1
- package/dist/src/eventreceiver.js +10 -18
- package/dist/src/eventreceiver.js.map +1 -1
- package/dist/src/index.d.ts +4 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -11
- package/dist/src/index.js.map +1 -1
- package/dist/src/scheduler/scheduler.d.ts.map +1 -1
- package/dist/src/scheduler/scheduler.js +0 -1
- package/dist/src/scheduler/scheduler.js.map +1 -1
- package/dist/src/sysdb_migrations/internal/migrations.js +11 -0
- package/dist/src/sysdb_migrations/internal/migrations.js.map +1 -1
- package/dist/src/system_database.d.ts +2 -4
- package/dist/src/system_database.d.ts.map +1 -1
- package/dist/src/system_database.js +19 -67
- package/dist/src/system_database.js.map +1 -1
- package/dist/src/utils.d.ts +1 -0
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +4 -2
- package/dist/src/utils.js.map +1 -1
- package/dist/src/wfqueue.d.ts +37 -21
- package/dist/src/wfqueue.d.ts.map +1 -1
- package/dist/src/wfqueue.js +74 -105
- package/dist/src/wfqueue.js.map +1 -1
- package/dist/src/workflow.d.ts +2 -1
- package/dist/src/workflow.d.ts.map +1 -1
- package/dist/src/workflow.js.map +1 -1
- package/dist/src/workflow_management.d.ts.map +1 -1
- package/dist/src/workflow_management.js +0 -1
- package/dist/src/workflow_management.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -4
- package/dist/src/authdecorators.d.ts +0 -2
- package/dist/src/authdecorators.d.ts.map +0 -1
- package/dist/src/authdecorators.js +0 -48
- package/dist/src/authdecorators.js.map +0 -1
- package/dist/src/scheduler/scheduler_decorator.d.ts +0 -41
- package/dist/src/scheduler/scheduler_decorator.d.ts.map +0 -1
- package/dist/src/scheduler/scheduler_decorator.js +0 -174
- package/dist/src/scheduler/scheduler_decorator.js.map +0 -1
|
@@ -309,7 +309,6 @@ function mapWorkflowStatus(row) {
|
|
|
309
309
|
authenticatedUser: row.authenticated_user,
|
|
310
310
|
assumedRole: row.assumed_role,
|
|
311
311
|
authenticatedRoles: JSON.parse(row.authenticated_roles),
|
|
312
|
-
request: row.request ? JSON.parse(row.request) : {},
|
|
313
312
|
executorId: row.executor_id,
|
|
314
313
|
createdAt: Number(row.created_at),
|
|
315
314
|
updatedAt: Number(row.updated_at),
|
|
@@ -961,7 +960,6 @@ class SystemDatabase {
|
|
|
961
960
|
'authenticated_user',
|
|
962
961
|
'assumed_role',
|
|
963
962
|
'authenticated_roles',
|
|
964
|
-
'request',
|
|
965
963
|
'executor_id',
|
|
966
964
|
'application_version',
|
|
967
965
|
'application_id',
|
|
@@ -998,7 +996,7 @@ class SystemDatabase {
|
|
|
998
996
|
tuples.push(`(${columns.map(() => `$${paramIdx++}`).join(', ')})`);
|
|
999
997
|
params.push(status.workflowUUID, status.status, status.workflowName,
|
|
1000
998
|
// For cross-language compatibility, these MUST be NULL in the database when not set
|
|
1001
|
-
status.workflowClassName === '' ? null : status.workflowClassName, status.workflowConfigName === '' ? null : status.workflowConfigName, status.queueName ?? null, status.authenticatedUser, status.assumedRole, JSON.stringify(status.authenticatedRoles),
|
|
999
|
+
status.workflowClassName === '' ? null : status.workflowClassName, status.workflowConfigName === '' ? null : status.workflowConfigName, status.queueName ?? null, status.authenticatedUser, status.assumedRole, JSON.stringify(status.authenticatedRoles), status.executorId, status.applicationVersion ?? null, status.applicationID, createdAt, 0, createdAt, status.timeoutMS ?? null, status.deadlineEpochMS ?? null,
|
|
1002
1000
|
// Legacy column: the payload lives in workflow_input.
|
|
1003
1001
|
null, null, status.priority, status.queuePartitionKey ?? null, status.parentWorkflowID ?? null, status.serialization, null, status.delayUntilEpochMS ?? null, status.attributes ? JSON.stringify(status.attributes) : null, status.scheduleName ?? null, status.applicationName ?? null);
|
|
1004
1002
|
}
|
|
@@ -1545,7 +1543,7 @@ class SystemDatabase {
|
|
|
1545
1543
|
const { rows: statusRows } = await client.query(`SELECT ws.workflow_uuid, ws.name, ws.class_name, ws.config_name, ws.application_id,
|
|
1546
1544
|
ws.authenticated_user, ws.authenticated_roles, ws.assumed_role,
|
|
1547
1545
|
COALESCE(wi.inputs, ws.inputs) AS inputs, ws.serialization,
|
|
1548
|
-
ws.
|
|
1546
|
+
ws.application_version, ws.attributes, ws.application_name
|
|
1549
1547
|
FROM "${this.schemaName}".workflow_status ws
|
|
1550
1548
|
LEFT JOIN "${this.schemaName}".workflow_input wi ON wi.workflow_uuid = ws.workflow_uuid
|
|
1551
1549
|
WHERE ws.workflow_uuid = ANY($1)`, [originalWorkflowIDs]);
|
|
@@ -1567,7 +1565,6 @@ class SystemDatabase {
|
|
|
1567
1565
|
'authenticated_user',
|
|
1568
1566
|
'assumed_role',
|
|
1569
1567
|
'authenticated_roles',
|
|
1570
|
-
'request',
|
|
1571
1568
|
'application_version',
|
|
1572
1569
|
'application_id',
|
|
1573
1570
|
'inputs',
|
|
@@ -1594,7 +1591,7 @@ class SystemDatabase {
|
|
|
1594
1591
|
const ws = statusByID.get(origID);
|
|
1595
1592
|
const placeholders = insertCols.map(() => `$${paramIdx++}`).join(', ');
|
|
1596
1593
|
valuesPlaceholders.push(`(${placeholders})`);
|
|
1597
|
-
params.push(forkID, workflow_1.StatusString.ENQUEUED, ws.name, ws.class_name ?? null, ws.config_name ?? null, queueName, ws.authenticated_user, ws.assumed_role, ws.authenticated_roles,
|
|
1594
|
+
params.push(forkID, workflow_1.StatusString.ENQUEUED, ws.name, ws.class_name ?? null, ws.config_name ?? null, queueName, ws.authenticated_user, ws.assumed_role, ws.authenticated_roles, options.applicationVersion ?? ws.application_version ?? null, ws.application_id,
|
|
1598
1595
|
// Legacy column: the payload lives in workflow_input.
|
|
1599
1596
|
null, options.queuePartitionKey ?? null, origID, ws.serialization, ws.attributes ? JSON.stringify(ws.attributes) : null, forkOwners.get(forkID) ?? null);
|
|
1600
1597
|
if (options.timeoutMS !== undefined) {
|
|
@@ -1707,7 +1704,7 @@ class SystemDatabase {
|
|
|
1707
1704
|
// meaningless in the target.
|
|
1708
1705
|
`SELECT
|
|
1709
1706
|
ws.workflow_uuid, ws.status, ws.name, ws.authenticated_user, ws.assumed_role,
|
|
1710
|
-
ws.authenticated_roles,
|
|
1707
|
+
ws.authenticated_roles,
|
|
1711
1708
|
COALESCE(wo.output, ws.output) AS output, COALESCE(wo.error, ws.error) AS error,
|
|
1712
1709
|
ws.executor_id,
|
|
1713
1710
|
ws.created_at, ws.updated_at, ws.application_version, ws.application_id,
|
|
@@ -1768,7 +1765,7 @@ class SystemDatabase {
|
|
|
1768
1765
|
// Import workflow_status
|
|
1769
1766
|
await client.query(`INSERT INTO "${this.schemaName}".workflow_status (
|
|
1770
1767
|
workflow_uuid, status, name, authenticated_user, assumed_role,
|
|
1771
|
-
authenticated_roles,
|
|
1768
|
+
authenticated_roles, output, error, executor_id,
|
|
1772
1769
|
created_at, updated_at, application_version, application_id,
|
|
1773
1770
|
class_name, config_name, recovery_attempts, queue_name,
|
|
1774
1771
|
workflow_timeout_ms, workflow_deadline_epoch_ms, started_at_epoch_ms,
|
|
@@ -1776,14 +1773,13 @@ class SystemDatabase {
|
|
|
1776
1773
|
parent_workflow_id, serialization, delay_until_epoch_ms,
|
|
1777
1774
|
was_forked_from, rate_limited, completed_at, attributes, schedule_name,
|
|
1778
1775
|
debounce_deadline_epoch_ms, is_debounced, application_name
|
|
1779
|
-
) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32, $33, $34, $35, $36
|
|
1776
|
+
) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32, $33, $34, $35, $36)`, [
|
|
1780
1777
|
status.workflow_uuid,
|
|
1781
1778
|
status.status,
|
|
1782
1779
|
status.name,
|
|
1783
1780
|
status.authenticated_user,
|
|
1784
1781
|
status.assumed_role,
|
|
1785
1782
|
status.authenticated_roles,
|
|
1786
|
-
status.request,
|
|
1787
1783
|
// Legacy columns: the payloads live in their own tables.
|
|
1788
1784
|
null,
|
|
1789
1785
|
null,
|
|
@@ -2335,47 +2331,6 @@ class SystemDatabase {
|
|
|
2335
2331
|
}
|
|
2336
2332
|
return { serializedValue: value, serialization: valueSer };
|
|
2337
2333
|
}
|
|
2338
|
-
// Event dispatcher queries / updates
|
|
2339
|
-
async getEventDispatchState(service, workflowName, key) {
|
|
2340
|
-
const res = await this.pool.query(`SELECT * FROM "${this.schemaName}".event_dispatch_kv
|
|
2341
|
-
WHERE workflow_fn_name = $1 AND service_name = $2 AND key = $3;`, [workflowName, service, key]);
|
|
2342
|
-
if (res.rows.length === 0)
|
|
2343
|
-
return undefined;
|
|
2344
|
-
return {
|
|
2345
|
-
service: res.rows[0].service_name,
|
|
2346
|
-
workflowFnName: res.rows[0].workflow_fn_name,
|
|
2347
|
-
key: res.rows[0].key,
|
|
2348
|
-
value: res.rows[0].value,
|
|
2349
|
-
updateTime: res.rows[0].update_time,
|
|
2350
|
-
updateSeq: res.rows[0].update_seq !== null && res.rows[0].update_seq !== undefined
|
|
2351
|
-
? BigInt(res.rows[0].update_seq)
|
|
2352
|
-
: undefined,
|
|
2353
|
-
};
|
|
2354
|
-
}
|
|
2355
|
-
async upsertEventDispatchState(state) {
|
|
2356
|
-
const res = await this.pool.query(`INSERT INTO "${this.schemaName}".event_dispatch_kv (
|
|
2357
|
-
service_name, workflow_fn_name, key, value, update_time, update_seq)
|
|
2358
|
-
VALUES ($1, $2, $3, $4, $5, $6)
|
|
2359
|
-
ON CONFLICT (service_name, workflow_fn_name, key)
|
|
2360
|
-
DO UPDATE SET
|
|
2361
|
-
update_time = GREATEST(EXCLUDED.update_time, event_dispatch_kv.update_time),
|
|
2362
|
-
update_seq = GREATEST(EXCLUDED.update_seq, event_dispatch_kv.update_seq),
|
|
2363
|
-
value = CASE WHEN (EXCLUDED.update_time > event_dispatch_kv.update_time
|
|
2364
|
-
OR EXCLUDED.update_seq > event_dispatch_kv.update_seq
|
|
2365
|
-
OR (event_dispatch_kv.update_time IS NULL and event_dispatch_kv.update_seq IS NULL)
|
|
2366
|
-
) THEN EXCLUDED.value ELSE event_dispatch_kv.value END
|
|
2367
|
-
RETURNING value, update_time, update_seq;`, [state.service, state.workflowFnName, state.key, state.value, state.updateTime, state.updateSeq]);
|
|
2368
|
-
return {
|
|
2369
|
-
service: state.service,
|
|
2370
|
-
workflowFnName: state.workflowFnName,
|
|
2371
|
-
key: state.key,
|
|
2372
|
-
value: res.rows[0].value,
|
|
2373
|
-
updateTime: res.rows[0].update_time,
|
|
2374
|
-
updateSeq: res.rows[0].update_seq !== undefined && res.rows[0].update_seq !== null
|
|
2375
|
-
? BigInt(res.rows[0].update_seq)
|
|
2376
|
-
: undefined,
|
|
2377
|
-
};
|
|
2378
|
-
}
|
|
2379
2334
|
// ==================== Streams ====================
|
|
2380
2335
|
async writeStreamFromStep(workflowID, functionID, key, serializedValue, serialization) {
|
|
2381
2336
|
while (true) {
|
|
@@ -2993,7 +2948,6 @@ class SystemDatabase {
|
|
|
2993
2948
|
const payloadColumns = [];
|
|
2994
2949
|
const payloadJoins = [];
|
|
2995
2950
|
if (input.loadInput) {
|
|
2996
|
-
selectColumns.push('request');
|
|
2997
2951
|
payloadColumns.push('COALESCE(wi.inputs, workflow_status.inputs) AS inputs');
|
|
2998
2952
|
payloadJoins.push(`LEFT JOIN "${schemaName}".workflow_input wi ON wi.workflow_uuid = workflow_status.workflow_uuid`);
|
|
2999
2953
|
}
|
|
@@ -4267,7 +4221,6 @@ class SystemDatabase {
|
|
|
4267
4221
|
authenticated_user,
|
|
4268
4222
|
assumed_role,
|
|
4269
4223
|
authenticated_roles,
|
|
4270
|
-
request,
|
|
4271
4224
|
executor_id,
|
|
4272
4225
|
application_version,
|
|
4273
4226
|
application_id,
|
|
@@ -4288,7 +4241,7 @@ class SystemDatabase {
|
|
|
4288
4241
|
debounce_deadline_epoch_ms,
|
|
4289
4242
|
is_debounced,
|
|
4290
4243
|
application_name
|
|
4291
|
-
) VALUES($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29
|
|
4244
|
+
) VALUES($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29)
|
|
4292
4245
|
ON CONFLICT (workflow_uuid)
|
|
4293
4246
|
DO UPDATE SET
|
|
4294
4247
|
updated_at = (EXTRACT(EPOCH FROM now()) * 1000)::bigint,
|
|
@@ -4308,7 +4261,6 @@ class SystemDatabase {
|
|
|
4308
4261
|
initStatus.authenticatedUser,
|
|
4309
4262
|
initStatus.assumedRole,
|
|
4310
4263
|
JSON.stringify(initStatus.authenticatedRoles),
|
|
4311
|
-
JSON.stringify(initStatus.request),
|
|
4312
4264
|
initStatus.executorId,
|
|
4313
4265
|
initStatus.applicationVersion ?? null,
|
|
4314
4266
|
initStatus.applicationID,
|
|
@@ -4776,18 +4728,6 @@ __decorate([
|
|
|
4776
4728
|
__metadata("design:paramtypes", [String, String, Number, Object, Number]),
|
|
4777
4729
|
__metadata("design:returntype", Promise)
|
|
4778
4730
|
], SystemDatabase.prototype, "getEvent", null);
|
|
4779
|
-
__decorate([
|
|
4780
|
-
dbRetry(),
|
|
4781
|
-
__metadata("design:type", Function),
|
|
4782
|
-
__metadata("design:paramtypes", [String, String, String]),
|
|
4783
|
-
__metadata("design:returntype", Promise)
|
|
4784
|
-
], SystemDatabase.prototype, "getEventDispatchState", null);
|
|
4785
|
-
__decorate([
|
|
4786
|
-
dbRetry(),
|
|
4787
|
-
__metadata("design:type", Function),
|
|
4788
|
-
__metadata("design:paramtypes", [Object]),
|
|
4789
|
-
__metadata("design:returntype", Promise)
|
|
4790
|
-
], SystemDatabase.prototype, "upsertEventDispatchState", null);
|
|
4791
4731
|
__decorate([
|
|
4792
4732
|
dbRetry(),
|
|
4793
4733
|
__metadata("design:type", Function),
|
|
@@ -4830,4 +4770,16 @@ __decorate([
|
|
|
4830
4770
|
__metadata("design:paramtypes", [String, String, Array]),
|
|
4831
4771
|
__metadata("design:returntype", Promise)
|
|
4832
4772
|
], SystemDatabase.prototype, "getMetrics", null);
|
|
4773
|
+
__decorate([
|
|
4774
|
+
dbRetry(),
|
|
4775
|
+
__metadata("design:type", Function),
|
|
4776
|
+
__metadata("design:paramtypes", [String, String]),
|
|
4777
|
+
__metadata("design:returntype", Promise)
|
|
4778
|
+
], SystemDatabase.prototype, "updateLastFiredAt", null);
|
|
4779
|
+
__decorate([
|
|
4780
|
+
dbRetry(),
|
|
4781
|
+
__metadata("design:type", Function),
|
|
4782
|
+
__metadata("design:paramtypes", [String]),
|
|
4783
|
+
__metadata("design:returntype", Promise)
|
|
4784
|
+
], SystemDatabase.prototype, "getLatestApplicationVersion", null);
|
|
4833
4785
|
//# sourceMappingURL=system_database.js.map
|