@dbos-inc/sqs-receive 3.0.23-preview → 3.0.26-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 CHANGED
@@ -79,7 +79,7 @@ class SQSEventProcessor {
79
79
  }
80
80
  ```
81
81
 
82
- Finally, register your SQS receiver, and launch DBOS:
82
+ Finally, launch DBOS. Your SQS receiver is automatically registered with DBOS on construction.
83
83
 
84
84
  ```typescript
85
85
  DBOS.registerLifecycleCallback(sqsReceiver);
package/dist/index.d.ts CHANGED
@@ -6,9 +6,9 @@ interface SQSConfig {
6
6
  getWorkflowKey?: (m: Message) => string;
7
7
  workflowQueueName?: string;
8
8
  }
9
- declare class SQSReceiver extends DBOSLifecycleCallback {
10
- config?: SQSConfig;
11
- constructor(config?: SQSConfig);
9
+ declare class SQSReceiver implements DBOSLifecycleCallback {
10
+ readonly config?: SQSConfig | undefined;
11
+ constructor(config?: SQSConfig | undefined);
12
12
  listeners: Promise<void>[];
13
13
  isShuttingDown: boolean;
14
14
  destroy(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAErF,OAAO,EAIL,OAAO,EACP,qBAAqB,EACrB,2BAA2B,EAC3B,SAAS,EACV,MAAM,qBAAqB,CAAC;AAE7B,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE,SAAS,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAUD,cAAM,WAAY,SAAQ,qBAAqB;IAC7C,MAAM,CAAC,EAAE,SAAS,CAAC;gBAEP,MAAM,CAAC,EAAE,SAAS;IAK9B,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAM;IAChC,cAAc,UAAS;IAER,OAAO;WAWT,6BAA6B,CACxC,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,2BAA2B,CAAC;WAS1B,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM;IAS/C,UAAU;IAoGhB,sBAAsB;IAqB/B,aAAa,CAAC,MAAM,EAAE,SAAS,4BAIa,OAAO,EAAE,KAAG,MAAM,QAAU,CAAC;IAQzE,eAAe,CAAC,MAAM,CAAC,EAAE,SAAS,kDAItB,MAAM,eACD,MAAM,gBACL,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,QAAQ,MAAM,CAAC,CAAC,oCAAxC,IAAI,WAAW,IAAI,KAAK,QAAQ,MAAM,CAAC;CAczF;AAED,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAErF,OAAO,EAIL,OAAO,EACP,qBAAqB,EACrB,2BAA2B,EAC3B,SAAS,EACV,MAAM,qBAAqB,CAAC;AAE7B,UAAU,SAAS;IACjB,MAAM,CAAC,EAAE,SAAS,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAUD,cAAM,WAAY,YAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,CAAC;gBAAP,MAAM,CAAC,uBAAW;IAKvC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAM;IAChC,cAAc,UAAS;IAEjB,OAAO;WAWA,6BAA6B,CACxC,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,2BAA2B,CAAC;WAS1B,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM;IASxD,UAAU;IAoGhB,sBAAsB;IAqBtB,aAAa,CAAC,MAAM,EAAE,SAAS,4BAIa,OAAO,EAAE,KAAG,MAAM,QAAU,CAAC;IAQzE,eAAe,CAAC,MAAM,CAAC,EAAE,SAAS,kDAItB,MAAM,eACD,MAAM,gBACL,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,QAAQ,MAAM,CAAC,CAAC,oCAAxC,IAAI,WAAW,IAAI,KAAK,QAAQ,MAAM,CAAC;CAczF;AAED,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SQSReceiver = void 0;
4
4
  const dbos_sdk_1 = require("@dbos-inc/dbos-sdk");
5
5
  const client_sqs_1 = require("@aws-sdk/client-sqs");
6
- class SQSReceiver extends dbos_sdk_1.DBOSLifecycleCallback {
6
+ class SQSReceiver {
7
7
  config;
8
8
  constructor(config) {
9
- super();
10
9
  this.config = config;
10
+ this.config = config;
11
+ dbos_sdk_1.DBOS.registerLifecycleCallback(this);
11
12
  }
12
13
  listeners = [];
13
14
  isShuttingDown = false;
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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"}
package/index.ts CHANGED
@@ -25,18 +25,16 @@ interface SQSRecvMethodConfig {
25
25
  config?: SQSConfig;
26
26
  }
27
27
 
28
- class SQSReceiver extends DBOSLifecycleCallback {
29
- config?: SQSConfig;
30
-
31
- constructor(config?: SQSConfig) {
32
- super();
28
+ class SQSReceiver implements DBOSLifecycleCallback {
29
+ constructor(readonly config?: SQSConfig) {
33
30
  this.config = config;
31
+ DBOS.registerLifecycleCallback(this);
34
32
  }
35
33
 
36
34
  listeners: Promise<void>[] = [];
37
35
  isShuttingDown = false;
38
36
 
39
- override async destroy() {
37
+ async destroy() {
40
38
  this.isShuttingDown = true;
41
39
  try {
42
40
  await Promise.allSettled(this.listeners);
@@ -68,7 +66,7 @@ class SQSReceiver extends DBOSLifecycleCallback {
68
66
  const _validateSQSConfiguration = await client.send(new GetQueueAttributesCommand(params));
69
67
  }
70
68
 
71
- override async initialize() {
69
+ async initialize() {
72
70
  const regops = DBOS.getAssociatedInfo(this);
73
71
 
74
72
  for (const regop of regops) {
@@ -168,7 +166,7 @@ class SQSReceiver extends DBOSLifecycleCallback {
168
166
  }
169
167
  }
170
168
 
171
- override logRegisteredEndpoints() {
169
+ logRegisteredEndpoints() {
172
170
  DBOS.logger.info('SQS receiver endpoints:');
173
171
 
174
172
  const eps = DBOS.getAssociatedInfo(this);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dbos-inc/sqs-receive",
3
- "version": "3.0.23-preview",
3
+ "version": "3.0.26-preview",
4
4
  "description": "DBOS event receiver for AWS SQS queues",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -12,23 +12,18 @@
12
12
  "main": "dist/index.js",
13
13
  "types": "dist/index.d.ts",
14
14
  "scripts": {
15
- "build": "tsc --project tsconfig.json",
16
- "test": "echo 'no tests'",
17
- "testsqs": "npm run build && jest --detectOpenHandles"
15
+ "build": "tsc --project tsconfig.build.json",
16
+ "pretest": "npm run build",
17
+ "test": "tsx --test tests/*.test.ts"
18
18
  },
19
- "devDependencies": {
20
- "@types/jest": "^29.5.12",
21
- "@types/supertest": "^6.0.2",
22
- "jest": "^29.7.0",
23
- "supertest": "^7.0.0",
24
- "ts-jest": "^29.1.4",
25
- "typescript": "^5.3.3"
19
+ "dependencies": {
20
+ "@aws-sdk/client-sqs": "^3.596.0"
26
21
  },
27
22
  "peerDependencies": {
28
23
  "@dbos-inc/dbos-sdk": "*",
29
24
  "@dbos-inc/aws-config": "*"
30
25
  },
31
- "dependencies": {
32
- "@aws-sdk/client-sqs": "^3.596.0"
26
+ "devDependencies": {
27
+ "tsx": "^4.20.3"
33
28
  }
34
29
  }
@@ -1,5 +1,8 @@
1
+ import { afterEach, beforeEach, suite, test } from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+
1
4
  import { Message, SendMessageCommand, SendMessageCommandInput, SQSClient } from '@aws-sdk/client-sqs';
2
- import { SQSReceiver } from './index';
5
+ import { SQSReceiver } from '..';
3
6
  import { DBOS } from '@dbos-inc/dbos-sdk';
4
7
 
5
8
  const sleepms = (ms: number) => new Promise((r) => setTimeout(r, ms));
@@ -58,42 +61,24 @@ class SQSRcv {
58
61
  }
59
62
  }
60
63
 
61
- describe('sqs-tests', () => {
62
- let sqsIsAvailable = true;
63
-
64
- beforeAll(() => {
65
- // Check if SES is available and update app config, skip the test if it's not
66
- if (!process.env['AWS_REGION'] || !process.env['SQS_QUEUE_URL']) {
67
- sqsIsAvailable = false;
68
- } else {
69
- // This would normally be a global or static or something
70
- DBOS.setConfig({ name: 'dbossqstest' });
71
- }
72
- });
64
+ suite('sqs-tests', async () => {
65
+ const sqsAvailable = process.env['AWS_REGION'] && process.env['SQS_QUEUE_URL'];
73
66
 
74
67
  beforeEach(async () => {
75
- if (sqsIsAvailable) {
76
- DBOS.registerLifecycleCallback(sqsReceiver);
68
+ if (sqsAvailable) {
69
+ DBOS.setConfig({ name: 'dbossqstest' });
77
70
  await DBOS.launch();
78
- } else {
79
- console.log(
80
- 'SQS Test is not configured. To run, set AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and SQS_QUEUE_URL',
81
- );
82
71
  }
83
72
  });
84
73
 
85
74
  afterEach(async () => {
86
- if (sqsIsAvailable) {
75
+ if (sqsAvailable) {
87
76
  await DBOS.shutdown();
88
77
  }
89
- }, 10000);
78
+ });
90
79
 
91
80
  // This tests receive also; which is already wired up
92
- test('sqs-send', async () => {
93
- if (!sqsIsAvailable) {
94
- console.log('SQS unavailable, skipping SQS tests');
95
- return;
96
- }
81
+ await test('sqs-send', { skip: !sqsAvailable }, async () => {
97
82
  const sv: ValueObj = {
98
83
  val: 10,
99
84
  };
@@ -110,4 +95,4 @@ describe('sqs-tests', () => {
110
95
  expect(SQSRcv.msgRcvCount).toBe(1);
111
96
  expect(SQSRcv.msgValueSum).toBe(10);
112
97
  });
113
- });
98
+ }).catch(assert.fail);
@@ -0,0 +1,8 @@
1
+ /* Visit https://aka.ms/tsconfig to read more about this file */
2
+ {
3
+ "extends": "../../tsconfig.shared.json",
4
+ "compilerOptions": {
5
+ "outDir": "./dist"
6
+ },
7
+ "include": ["index.ts"]
8
+ }
package/tsconfig.json CHANGED
@@ -2,8 +2,7 @@
2
2
  {
3
3
  "extends": "../../tsconfig.shared.json",
4
4
  "compilerOptions": {
5
- "outDir": "./dist"
5
+ "noEmit": true
6
6
  },
7
- "include": [/* Specifies an array of filenames or patterns to include in the program. */ "."],
8
- "exclude": ["dist"]
7
+ "include": ["index.ts", "tests/*.ts"]
9
8
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=sqs.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqs.test.d.ts","sourceRoot":"","sources":["../sqs.test.ts"],"names":[],"mappings":""}
package/dist/sqs.test.js DELETED
@@ -1,110 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const client_sqs_1 = require("@aws-sdk/client-sqs");
13
- const index_1 = require("./index");
14
- const dbos_sdk_1 = require("@dbos-inc/dbos-sdk");
15
- const sleepms = (ms) => new Promise((r) => setTimeout(r, ms));
16
- function createSQS() {
17
- return new client_sqs_1.SQSClient({
18
- region: process.env['AWS_REGION'] ?? '',
19
- endpoint: process.env['AWS_ENDPOINT_URL_SQS'],
20
- credentials: {
21
- accessKeyId: process.env['AWS_ACCESS_KEY_ID'] ?? '',
22
- secretAccessKey: process.env['AWS_SECRET_ACCESS_KEY'] ?? '',
23
- },
24
- //logger: console,
25
- });
26
- }
27
- async function sendMessageInternal(msg) {
28
- try {
29
- const smsg = { ...msg, QueueUrl: msg.QueueUrl || process.env['SQS_QUEUE_URL'] };
30
- return await createSQS().send(new client_sqs_1.SendMessageCommand(smsg));
31
- }
32
- catch (e) {
33
- dbos_sdk_1.DBOS.logger.error(e);
34
- throw e;
35
- }
36
- }
37
- const sendMessageStep = dbos_sdk_1.DBOS.registerStep(sendMessageInternal, {
38
- name: 'Send SQS Message',
39
- });
40
- const sqsReceiver = new index_1.SQSReceiver({
41
- client: createSQS,
42
- });
43
- class SQSRcv {
44
- static msgRcvCount = 0;
45
- static msgValueSum = 0;
46
- static async recvMessage(msg) {
47
- const ms = msg.Body;
48
- const res = JSON.parse(ms);
49
- SQSRcv.msgRcvCount++;
50
- SQSRcv.msgValueSum += res.val;
51
- return Promise.resolve();
52
- }
53
- }
54
- __decorate([
55
- sqsReceiver.messageConsumer({ queueUrl: process.env['SQS_QUEUE_URL'] }),
56
- dbos_sdk_1.DBOS.workflow(),
57
- __metadata("design:type", Function),
58
- __metadata("design:paramtypes", [Object]),
59
- __metadata("design:returntype", Promise)
60
- ], SQSRcv, "recvMessage", null);
61
- describe('sqs-tests', () => {
62
- let sqsIsAvailable = true;
63
- beforeAll(() => {
64
- // Check if SES is available and update app config, skip the test if it's not
65
- if (!process.env['AWS_REGION'] || !process.env['SQS_QUEUE_URL']) {
66
- sqsIsAvailable = false;
67
- }
68
- else {
69
- // This would normally be a global or static or something
70
- dbos_sdk_1.DBOS.setConfig({ name: 'dbossqstest' });
71
- }
72
- });
73
- beforeEach(async () => {
74
- if (sqsIsAvailable) {
75
- dbos_sdk_1.DBOS.registerLifecycleCallback(sqsReceiver);
76
- await dbos_sdk_1.DBOS.launch();
77
- }
78
- else {
79
- console.log('SQS Test is not configured. To run, set AWS_REGION, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and SQS_QUEUE_URL');
80
- }
81
- });
82
- afterEach(async () => {
83
- if (sqsIsAvailable) {
84
- await dbos_sdk_1.DBOS.shutdown();
85
- }
86
- }, 10000);
87
- // This tests receive also; which is already wired up
88
- test('sqs-send', async () => {
89
- if (!sqsIsAvailable) {
90
- console.log('SQS unavailable, skipping SQS tests');
91
- return;
92
- }
93
- const sv = {
94
- val: 10,
95
- };
96
- const ser = await sendMessageStep({
97
- MessageBody: JSON.stringify(sv),
98
- });
99
- expect(ser.MessageId).toBeDefined();
100
- // Wait for receipt
101
- for (let i = 0; i < 100; ++i) {
102
- if (SQSRcv.msgRcvCount === 1)
103
- break;
104
- await sleepms(100);
105
- }
106
- expect(SQSRcv.msgRcvCount).toBe(1);
107
- expect(SQSRcv.msgValueSum).toBe(10);
108
- });
109
- });
110
- //# sourceMappingURL=sqs.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqs.test.js","sourceRoot":"","sources":["../sqs.test.ts"],"names":[],"mappings":"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"}