@dbos-inc/postgres-datasource 3.0.11-preview.gc9233b8190 → 3.0.13-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/dist/index.d.ts CHANGED
@@ -1,14 +1,15 @@
1
1
  import postgres from 'postgres';
2
2
  import { PGIsolationLevel as IsolationLevel, PGTransactionConfig as PostgresTransactionOptions, DBOSDataSource } from '@dbos-inc/dbos-sdk/datasource';
3
3
  export { IsolationLevel, PostgresTransactionOptions };
4
+ type Options = postgres.Options<{}>;
4
5
  export declare class PostgresDataSource implements DBOSDataSource<PostgresTransactionOptions> {
5
6
  #private;
6
- static get client(): postgres.TransactionSql<{}>;
7
- static initializeInternalSchema(options?: postgres.Options<{}>): Promise<void>;
8
7
  readonly name: string;
9
- constructor(name: string, options?: postgres.Options<{}>);
8
+ static get client(): postgres.TransactionSql;
9
+ static initializeInternalSchema(options?: Options): Promise<void>;
10
+ constructor(name: string, options?: Options);
10
11
  runTransaction<T>(callback: () => Promise<T>, name: string, config?: PostgresTransactionOptions): Promise<T>;
11
- registerTransaction<This, Args extends unknown[], Return>(func: (this: This, ...args: Args) => Promise<Return>, name: string, config?: PostgresTransactionOptions): (this: This, ...args: Args) => Promise<Return>;
12
- transaction(config?: PostgresTransactionOptions): <This, Args extends unknown[], Return>(_target: object, propertyKey: string, descriptor: TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>) => TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>;
12
+ registerTransaction<This, Args extends unknown[], Return>(func: (this: This, ...args: Args) => Promise<Return>, config?: PostgresTransactionOptions, name?: string): (this: This, ...args: Args) => Promise<Return>;
13
+ transaction(config?: PostgresTransactionOptions): <This, Args extends unknown[], Return>(_target: object, propertyKey: PropertyKey, descriptor: TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>) => TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>;
13
14
  }
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAEA,OAAO,QAAsB,MAAM,UAAU,CAAC;AAE9C,OAAO,EAQL,gBAAgB,IAAI,cAAc,EAClC,mBAAmB,IAAI,0BAA0B,EACjD,cAAc,EAEf,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC;AA0JtD,qBAAa,kBAAmB,YAAW,cAAc,CAAC,0BAA0B,CAAC;;IAEnF,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAS/C;WAGY,wBAAwB,CAAC,OAAO,GAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAIV,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAM;IAMtD,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,0BAA0B;IAIrG,mBAAmB,CAAC,IAAI,EAAE,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM,EACtD,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,EACpD,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,0BAA0B,GAClC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC;IAIjD,WAAW,CAAC,MAAM,CAAC,EAAE,0BAA0B,mDAIlC,MAAM,eACF,MAAM,cACP,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,QAAQ,MAAM,CAAC,CAAC,oCAAxC,IAAI,WAAW,IAAI,KAAK,QAAQ,MAAM,CAAC;CAWvF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAEA,OAAO,QAAsB,MAAM,UAAU,CAAC;AAE9C,OAAO,EAQL,gBAAgB,IAAI,cAAc,EAClC,mBAAmB,IAAI,0BAA0B,EACjD,cAAc,EAEf,MAAM,+BAA+B,CAAC;AAIvC,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,CAAC;AAOtD,KAAK,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAqJpC,qBAAa,kBAAmB,YAAW,cAAc,CAAC,0BAA0B,CAAC;;IAyBjF,QAAQ,CAAC,IAAI,EAAE,MAAM;IAxBvB,MAAM,KAAK,MAAM,IAAI,QAAQ,CAAC,cAAc,CAS3C;WAEY,wBAAwB,CAAC,OAAO,GAAE,OAAY,GAAG,OAAO,CAAC,IAAI,CAAC;gBAahE,IAAI,EAAE,MAAM,EACrB,OAAO,GAAE,OAAY;IAMjB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,0BAA0B;IAIrG,mBAAmB,CAAC,IAAI,EAAE,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM,EACtD,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,EACpD,MAAM,CAAC,EAAE,0BAA0B,EACnC,IAAI,CAAC,EAAE,MAAM,GACZ,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC;IAIjD,WAAW,CAAC,MAAM,CAAC,EAAE,0BAA0B,mDAIlC,MAAM,eACF,WAAW,cACZ,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,QAAQ,MAAM,CAAC,CAAC,oCAAxC,IAAI,WAAW,IAAI,KAAK,QAAQ,MAAM,CAAC;CAWvF"}
package/dist/index.js CHANGED
@@ -14,37 +14,44 @@ const superjson_1 = require("superjson");
14
14
  const asyncLocalCtx = new node_async_hooks_1.AsyncLocalStorage();
15
15
  class PostgresTransactionHandler {
16
16
  name;
17
+ options;
17
18
  dsType = 'PostgresDataSource';
18
- #db;
19
- constructor(name,
20
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
21
- options = {}) {
19
+ #dbField;
20
+ constructor(name, options = {}) {
22
21
  this.name = name;
23
- this.#db = (0, postgres_1.default)(options);
22
+ this.options = options;
23
+ }
24
+ async initialize() {
25
+ const db = this.#dbField;
26
+ this.#dbField = (0, postgres_1.default)(this.options);
27
+ await db?.end();
24
28
  }
25
- initialize() {
26
- return Promise.resolve();
29
+ async destroy() {
30
+ const db = this.#dbField;
31
+ this.#dbField = undefined;
32
+ await db?.end();
27
33
  }
28
- destroy() {
29
- return this.#db.end();
34
+ get #db() {
35
+ if (!this.#dbField) {
36
+ throw new Error(`DataSource ${this.name} is not initialized.`);
37
+ }
38
+ return this.#dbField;
30
39
  }
31
- async #checkExecution(workflowID, functionNum) {
40
+ async #checkExecution(workflowID, stepID) {
32
41
  const result = await this.#db `
33
42
  SELECT output, error FROM dbos.transaction_completion
34
- WHERE workflow_id = ${workflowID} AND function_num = ${functionNum}`;
43
+ WHERE workflow_id = ${workflowID} AND function_num = ${stepID}`;
35
44
  if (result.length === 0) {
36
45
  return undefined;
37
46
  }
38
47
  const { output, error } = result[0];
39
48
  return error !== null ? { error } : { output };
40
49
  }
41
- static async #recordOutput(
42
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
43
- client, workflowID, functionNum, output) {
50
+ static async #recordOutput(client, workflowID, stepID, output) {
44
51
  try {
45
52
  await client /*sql*/ `
46
53
  INSERT INTO dbos.transaction_completion (workflow_id, function_num, output)
47
- VALUES (${workflowID}, ${functionNum}, ${output})`;
54
+ VALUES (${workflowID}, ${stepID}, ${output})`;
48
55
  }
49
56
  catch (error) {
50
57
  if ((0, datasource_1.isPGKeyConflictError)(error)) {
@@ -55,11 +62,11 @@ class PostgresTransactionHandler {
55
62
  }
56
63
  }
57
64
  }
58
- async #recordError(workflowID, functionNum, error) {
65
+ async #recordError(workflowID, stepID, error) {
59
66
  try {
60
67
  await this.#db /*sql*/ `
61
68
  INSERT INTO dbos.transaction_completion (workflow_id, function_num, error)
62
- VALUES (${workflowID}, ${functionNum}, ${error})`;
69
+ VALUES (${workflowID}, ${stepID}, ${error})`;
63
70
  }
64
71
  catch (error) {
65
72
  if ((0, datasource_1.isPGKeyConflictError)(error)) {
@@ -72,23 +79,21 @@ class PostgresTransactionHandler {
72
79
  }
73
80
  async invokeTransactionFunction(config, target, func, ...args) {
74
81
  const workflowID = dbos_sdk_1.DBOS.workflowID;
75
- if (workflowID === undefined) {
76
- throw new Error('Workflow ID is not set.');
77
- }
78
- const functionNum = dbos_sdk_1.DBOS.stepID;
79
- if (functionNum === undefined) {
80
- throw new Error('Function Number is not set.');
82
+ const stepID = dbos_sdk_1.DBOS.stepID;
83
+ if (workflowID !== undefined && stepID === undefined) {
84
+ throw new Error('DBOS.stepID is undefined inside a workflow.');
81
85
  }
82
86
  const isolationLevel = config?.isolationLevel ? `ISOLATION LEVEL ${config.isolationLevel}` : '';
83
87
  const readOnly = config?.readOnly ?? false;
84
88
  const accessMode = config?.readOnly === undefined ? '' : readOnly ? 'READ ONLY' : 'READ WRITE';
85
- const saveResults = !readOnly && workflowID;
89
+ const saveResults = !readOnly && workflowID !== undefined;
90
+ // Retry loop if appropriate
86
91
  let retryWaitMS = 1;
87
92
  const backoffFactor = 1.5;
88
- const maxRetryWaitMS = 2000;
93
+ const maxRetryWaitMS = 2000; // Maximum wait 2 seconds.
89
94
  while (true) {
90
95
  // Check to see if this tx has already been executed
91
- const previousResult = saveResults ? await this.#checkExecution(workflowID, functionNum) : undefined;
96
+ const previousResult = saveResults ? await this.#checkExecution(workflowID, stepID) : undefined;
92
97
  if (previousResult) {
93
98
  dbos_sdk_1.DBOS.span?.setAttribute('cached', true);
94
99
  if ('error' in previousResult) {
@@ -104,7 +109,7 @@ class PostgresTransactionHandler {
104
109
  });
105
110
  // save the output of read/write transactions
106
111
  if (saveResults) {
107
- await PostgresTransactionHandler.#recordOutput(client, workflowID, functionNum, superjson_1.SuperJSON.stringify(result));
112
+ await PostgresTransactionHandler.#recordOutput(client, workflowID, stepID, superjson_1.SuperJSON.stringify(result));
108
113
  }
109
114
  return result;
110
115
  });
@@ -121,7 +126,7 @@ class PostgresTransactionHandler {
121
126
  else {
122
127
  if (saveResults) {
123
128
  const message = superjson_1.SuperJSON.stringify(error);
124
- await this.#recordError(workflowID, functionNum, message);
129
+ await this.#recordError(workflowID, stepID, message);
125
130
  }
126
131
  throw error;
127
132
  }
@@ -130,18 +135,17 @@ class PostgresTransactionHandler {
130
135
  }
131
136
  }
132
137
  class PostgresDataSource {
133
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
138
+ name;
134
139
  static get client() {
135
140
  if (!dbos_sdk_1.DBOS.isInTransaction()) {
136
141
  throw new Error('invalid use of PostgresDataSource.client outside of a DBOS transaction.');
137
142
  }
138
143
  const ctx = asyncLocalCtx.getStore();
139
144
  if (!ctx) {
140
- throw new Error('No async local context found.');
145
+ throw new Error('invalid use of PostgresDataSource.client outside of a DBOS transaction.');
141
146
  }
142
147
  return ctx.client;
143
148
  }
144
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
145
149
  static async initializeInternalSchema(options = {}) {
146
150
  const pg = (0, postgres_1.default)({ ...options, onnotice: () => { } });
147
151
  try {
@@ -152,9 +156,7 @@ class PostgresDataSource {
152
156
  await pg.end();
153
157
  }
154
158
  }
155
- name;
156
159
  #provider;
157
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
158
160
  constructor(name, options = {}) {
159
161
  this.name = name;
160
162
  this.#provider = new PostgresTransactionHandler(name, options);
@@ -163,8 +165,8 @@ class PostgresDataSource {
163
165
  async runTransaction(callback, name, config) {
164
166
  return await (0, datasource_1.runTransaction)(callback, name, { dsName: this.name, config });
165
167
  }
166
- registerTransaction(func, name, config) {
167
- return (0, datasource_1.registerTransaction)(this.name, func, { name }, config);
168
+ registerTransaction(func, config, name) {
169
+ return (0, datasource_1.registerTransaction)(this.name, func, { name: name ?? func.name }, config);
168
170
  }
169
171
  transaction(config) {
170
172
  // eslint-disable-next-line @typescript-eslint/no-this-alias
@@ -173,7 +175,7 @@ class PostgresDataSource {
173
175
  if (!descriptor.value) {
174
176
  throw Error('Use of decorator when original method is undefined');
175
177
  }
176
- descriptor.value = ds.registerTransaction(descriptor.value, propertyKey.toString(), config);
178
+ descriptor.value = ds.registerTransaction(descriptor.value, config, String(propertyKey));
177
179
  return descriptor;
178
180
  };
179
181
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}