@dbos-inc/dbos-sdk 0.12.7-preview → 0.12.11-preview
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +9 -6
- package/dist/src/debugger/debug_workflow.d.ts +1 -1
- package/dist/src/debugger/debug_workflow.d.ts.map +1 -1
- package/dist/src/debugger/debug_workflow.js +16 -3
- package/dist/src/debugger/debug_workflow.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/examples/hello/package-lock.json +28 -28
- package/package.json +29 -29
package/README.md
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
# DBOS Typescript SDK
|
2
2
|
|
3
|
-
The DBOS SDK (from [DBOS, Inc.](https://dbos.dev)) is a **Typescript framework
|
3
|
+
The DBOS SDK (from [DBOS, Inc.](https://dbos.dev)) is a **transactional serverless Typescript framework.**
|
4
4
|
DBOS fully embraces the power of your application database, helping you write backend applications that are reliable by default.
|
5
|
-
It runs your Typescript functions as database transactions, guarantees they run "once and only once" for each request, and orchestrates them into workflows so reliable that if your
|
5
|
+
It runs your Typescript functions as database transactions, guarantees they run "once and only once" for each request, and orchestrates them into workflows so reliable that if your service is interrupted, they resume exactly where they left off.
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
You want to build your next database-backed application with DBOS because:
|
8
|
+
|
9
|
+
- **It's simple**. Write your business logic using serverless functions, test them locally, and deploy them to [DBOS Cloud](https://docs.dbos.dev/getting-started/quickstart-cloud) with the push of a button. Store all your data in Postgres—we'll manage the connections and transactions for you.
|
10
|
+
- **It's reliable by default**. If your workflows are interrupted for any reason, they [will always resume from where they left off](https://docs.dbos.dev/tutorials/workflow-tutorial#reliability-guarantees). Reliable message delivery is [built in](https://docs.dbos.dev//tutorials/workflow-communication-tutorial#reliability-guarantees-1). Idempotency is [built in](https://docs.dbos.dev/tutorials/idempotency-tutorial).
|
11
|
+
- **It makes debugging easy**. With our [time travel debugger](https://docs.dbos.dev/cloud-tutorials/timetravel-debugging), you can "rewind time" and replay any DBOS Cloud trace locally on your computer, exactly as it originally happened. Whatever the issue is, we'll help you reproduce it.
|
10
12
|
|
11
13
|
## Getting Started
|
12
14
|
|
@@ -21,7 +23,8 @@ Check out our [Getting Started](https://docs.dbos.dev/category/getting-started)
|
|
21
23
|
Our documentation has the following sections:
|
22
24
|
|
23
25
|
- [Getting Started](https://docs.dbos.dev/category/getting-started)
|
24
|
-
- [Tutorials](https://docs.dbos.dev/category/tutorials)
|
26
|
+
- [DBOS SDK Tutorials](https://docs.dbos.dev/category/tutorials)
|
27
|
+
- [DBOS Cloud Tutorials](https://docs.dbos.dev/category/dbos-cloud-tutorials)
|
25
28
|
- [API Reference](https://docs.dbos.dev/category/reference)
|
26
29
|
- [Concepts and Explanations](https://docs.dbos.dev/category/concepts-and-explanations)
|
27
30
|
|
@@ -20,7 +20,7 @@ export declare class WorkflowContextDebug extends DBOSContextImpl implements Wor
|
|
20
20
|
constructor(dbosExec: DBOSExecutor, parentCtx: DBOSContextImpl | undefined, workflowUUID: string, workflowConfig: WorkflowConfig, workflowName: string);
|
21
21
|
functionIDGetIncrement(): number;
|
22
22
|
invoke<T extends object>(object: T): WFInvokeFuncs<T>;
|
23
|
-
checkExecution<R>(client: UserDatabaseClient, funcID: number): Promise<RecordedResult<R
|
23
|
+
checkExecution<R>(client: UserDatabaseClient, funcID: number): Promise<RecordedResult<R> | Error>;
|
24
24
|
/**
|
25
25
|
* Execute a transactional function in debug mode.
|
26
26
|
* It connects to a debug proxy and everything should be read-only.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"debug_workflow.d.ts","sourceRoot":"","sources":["../../../src/debugger/debug_workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqC,MAAM,kBAAkB,CAAC;AAEnF,OAAO,EAAE,WAAW,EAA0B,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAC;AAEvH,UAAU,cAAc,CAAC,CAAC;IACxB,MAAM,EAAE,CAAC,CAAC;IACV,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,eAAgB,YAAW,eAAe;;IAKgB,QAAQ,CAAC,cAAc,EAAE,cAAc;IAJzI,UAAU,EAAE,MAAM,CAAK;IAEvB,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;gBAErB,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,GAAG,SAAS,EAAE,YAAY,EAAE,MAAM,EAAW,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM;IAsB/J,sBAAsB,IAAI,MAAM;IAIhC,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;IAiB/C,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"debug_workflow.d.ts","sourceRoot":"","sources":["../../../src/debugger/debug_workflow.ts"],"names":[],"mappings":"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"}
|
@@ -61,7 +61,7 @@ class WorkflowContextDebug extends context_1.DBOSContextImpl {
|
|
61
61
|
throw new error_1.DBOSDebuggerError(`This should never happen during debug. Returned ${rows.length} rows: ` + rows.toString());
|
62
62
|
}
|
63
63
|
if (JSON.parse(rows[0].error) != null) {
|
64
|
-
|
64
|
+
return (0, serialize_error_1.deserializeError)(JSON.parse(rows[0].error));
|
65
65
|
}
|
66
66
|
const res = {
|
67
67
|
output: JSON.parse(rows[0].output),
|
@@ -69,7 +69,6 @@ class WorkflowContextDebug extends context_1.DBOSContextImpl {
|
|
69
69
|
txn_id: rows[0].txn_id,
|
70
70
|
};
|
71
71
|
// Send a signal to the debug proxy.
|
72
|
-
// TODO: use the real command once the proxy is fully implemented.
|
73
72
|
await this.#dbosExec.userDatabase.queryWithClient(client, `--proxy:${res.txn_id ?? ''}:${res.txn_snapshot}`);
|
74
73
|
return res;
|
75
74
|
}
|
@@ -98,11 +97,25 @@ class WorkflowContextDebug extends context_1.DBOSContextImpl {
|
|
98
97
|
// Original result must exist during replay.
|
99
98
|
const tCtxt = new transaction_1.TransactionContextImpl(this.#dbosExec.userDatabase.getName(), client, this, span, this.#dbosExec.logger, funcID, txn.name);
|
100
99
|
check = await this.checkExecution(client, funcID);
|
100
|
+
if (check instanceof Error) {
|
101
|
+
this.logger.warn(`original transaction ${txn.name} failed with error: ${check.message}`);
|
102
|
+
}
|
101
103
|
// Execute the user's transaction.
|
102
104
|
const result = await txn(tCtxt, ...args);
|
103
105
|
return result;
|
104
106
|
};
|
105
|
-
|
107
|
+
let result;
|
108
|
+
try {
|
109
|
+
result = await this.#dbosExec.userDatabase.transaction(wrappedTransaction, txnInfo.config);
|
110
|
+
}
|
111
|
+
catch (e) {
|
112
|
+
result = e;
|
113
|
+
}
|
114
|
+
check = check;
|
115
|
+
result = result;
|
116
|
+
if (check instanceof Error) {
|
117
|
+
throw check;
|
118
|
+
}
|
106
119
|
// If returned nothing and the recorded value is also null/undefined, we just return it
|
107
120
|
if (result === undefined && !check.output) {
|
108
121
|
return result;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"debug_workflow.js","sourceRoot":"","sources":["../../../src/debugger/debug_workflow.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,oDAAmF;AAEnF,gDAAqE;AAErE,
|
1
|
+
{"version":3,"file":"debug_workflow.js","sourceRoot":"","sources":["../../../src/debugger/debug_workflow.ts"],"names":[],"mappings":"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"}
|