mqtt-plus 1.4.17 → 1.4.18

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 (56) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/doc/mqtt-plus-api.md +3 -3
  3. package/dst-stage1/mqtt-plus-auth.d.ts +1 -1
  4. package/dst-stage1/mqtt-plus-auth.js +16 -4
  5. package/dst-stage1/mqtt-plus-auth.js.map +1 -1
  6. package/dst-stage1/mqtt-plus-base.js +18 -4
  7. package/dst-stage1/mqtt-plus-base.js.map +1 -1
  8. package/dst-stage1/mqtt-plus-error.js +10 -4
  9. package/dst-stage1/mqtt-plus-error.js.map +1 -1
  10. package/dst-stage1/mqtt-plus-event.d.ts +2 -2
  11. package/dst-stage1/mqtt-plus-event.js +15 -9
  12. package/dst-stage1/mqtt-plus-event.js.map +1 -1
  13. package/dst-stage1/mqtt-plus-msg.d.ts +9 -6
  14. package/dst-stage1/mqtt-plus-msg.js +21 -15
  15. package/dst-stage1/mqtt-plus-msg.js.map +1 -1
  16. package/dst-stage1/mqtt-plus-options.d.ts +1 -1
  17. package/dst-stage1/mqtt-plus-service.d.ts +1 -0
  18. package/dst-stage1/mqtt-plus-service.js +41 -20
  19. package/dst-stage1/mqtt-plus-service.js.map +1 -1
  20. package/dst-stage1/mqtt-plus-sink.js +137 -84
  21. package/dst-stage1/mqtt-plus-sink.js.map +1 -1
  22. package/dst-stage1/mqtt-plus-source.js +137 -96
  23. package/dst-stage1/mqtt-plus-source.js.map +1 -1
  24. package/dst-stage1/mqtt-plus-subscription.d.ts +1 -0
  25. package/dst-stage1/mqtt-plus-subscription.js +11 -12
  26. package/dst-stage1/mqtt-plus-subscription.js.map +1 -1
  27. package/dst-stage1/mqtt-plus-timer.js +14 -10
  28. package/dst-stage1/mqtt-plus-timer.js.map +1 -1
  29. package/dst-stage1/mqtt-plus-trace.js +7 -2
  30. package/dst-stage1/mqtt-plus-trace.js.map +1 -1
  31. package/dst-stage1/mqtt-plus-util.js +10 -10
  32. package/dst-stage1/mqtt-plus-util.js.map +1 -1
  33. package/dst-stage2/mqtt-plus.cjs.cjs +386 -270
  34. package/dst-stage2/mqtt-plus.esm.js +381 -265
  35. package/dst-stage2/mqtt-plus.umd.js +11 -11
  36. package/etc/d2.mts +30 -2
  37. package/etc/eslint.mts +6 -2
  38. package/etc/vite.mts +13 -4
  39. package/package.d/{@typescript-eslint+typescript-estree+8.57.2.patch → @typescript-eslint+typescript-estree+8.58.1.patch} +1 -1
  40. package/package.d/{vite+8.0.3.patch → vite+8.0.8.patch} +2 -2
  41. package/package.json +14 -14
  42. package/src/mqtt-plus-auth.ts +17 -4
  43. package/src/mqtt-plus-base.ts +22 -4
  44. package/src/mqtt-plus-error.ts +11 -7
  45. package/src/mqtt-plus-event.ts +21 -12
  46. package/src/mqtt-plus-msg.ts +27 -16
  47. package/src/mqtt-plus-options.ts +1 -1
  48. package/src/mqtt-plus-service.ts +45 -20
  49. package/src/mqtt-plus-sink.ts +148 -85
  50. package/src/mqtt-plus-source.ts +152 -101
  51. package/src/mqtt-plus-subscription.ts +12 -13
  52. package/src/mqtt-plus-timer.ts +18 -14
  53. package/src/mqtt-plus-trace.ts +7 -2
  54. package/src/mqtt-plus-util.ts +10 -10
  55. package/tst/mqtt-plus-3-service.spec.ts +3 -3
  56. package/tst/mqtt-plus-4-sink.spec.ts +3 -3
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
2
2
  ChangeLog
3
3
  =========
4
4
 
5
+ 1.4.18 (2026-04-17)
6
+ -------------------
7
+
8
+ - IMPROVEMENT: detect concurrent deliveries and duplicate request ids across service and event traits
9
+ - IMPROVEMENT: improve error handling, honor destroyed flag in base trait, and reject pending calls on destroy
10
+ - IMPROVEMENT: add sanity checks for message validation
11
+ - IMPROVEMENT: allow caller to control MQTT QoS
12
+ - IMPROVEMENT: allow emit() to be awaitable
13
+ - UPDATE: upgrade NPM dependencies
14
+ - CLEANUP: add license headers
15
+ - CLEANUP: various code cleanups (naming, simplification, resource handling, messages)
16
+ - CLEANUP: various cleanups to the source trait
17
+ - CLEANUP: pass-through specific error on cancelAndUnroll in service trait
18
+ - CLEANUP: simplify error handling in sink trait
19
+
5
20
  1.4.17 (2026-04-11)
6
21
  -------------------
7
22
 
@@ -268,14 +268,14 @@ Event Emission
268
268
  emit(
269
269
  name: string,
270
270
  ...params: any[]
271
- ): void
271
+ ): Promise<void>
272
272
  emit({
273
273
  name: string,
274
274
  params: any[],
275
275
  receiver?: string,
276
276
  options?: MQTT::IClientPublishOptions,
277
277
  meta?: Record<string, any>
278
- }): void
278
+ }): Promise<void>
279
279
  emit({
280
280
  name: string,
281
281
  params: any[],
@@ -285,7 +285,7 @@ Event Emission
285
285
  dry: true
286
286
  }): { topic: string, payload: string | Uint8Array, options: IClientPublishOptions }
287
287
 
288
- Emit an event to all subscribers or a specific subscriber ("fire and forget").
288
+ Emit an event to all subscribers or a specific subscriber (awaitable; ignore the promise for "fire and forget").
289
289
 
290
290
  - The optional `receiver` directs the event to a specific subscriber only.
291
291
 
@@ -20,6 +20,6 @@ export declare class AuthTrait<T extends APISchema = APISchema> extends MetaTrai
20
20
  authenticate(token: string): void;
21
21
  authenticate(token: string, remove: boolean): void;
22
22
  private validateToken;
23
- protected authenticated(clientId: string | undefined, tokens: string[] | undefined, option: AuthOption): Promise<boolean>;
23
+ protected authenticated(clientId: string | undefined, tokens: string[] | undefined, option: AuthOption, label: string): Promise<boolean>;
24
24
  }
25
25
  export {};
@@ -62,7 +62,7 @@ export class AuthTrait extends MetaTrait {
62
62
  }
63
63
  authenticate(token, remove) {
64
64
  if (token === undefined) {
65
- const tokens = Array.from(this._tokens).filter((token) => token.length <= 8192).slice(0, 8);
65
+ const tokens = Array.from(this._tokens);
66
66
  return tokens.length > 0 ? tokens : undefined;
67
67
  }
68
68
  else if (remove === true)
@@ -79,11 +79,19 @@ export class AuthTrait extends MetaTrait {
79
79
  async validateToken(token) {
80
80
  if (this._credential === null)
81
81
  throw new Error("credential has to be provided before validating tokens");
82
- const result = await jwtVerify(token, this._credential).catch(() => null);
83
- return result?.payload ?? null;
82
+ try {
83
+ const result = await jwtVerify(token, this._credential);
84
+ return result.payload;
85
+ }
86
+ catch (err) {
87
+ const code = err?.code ?? err?.name ?? "unknown";
88
+ const reason = err?.message ?? "";
89
+ this.log("warning", "token validation failed", { code, reason });
90
+ return null;
91
+ }
84
92
  }
85
93
  /* check whether request is authenticated */
86
- async authenticated(clientId, tokens, option) {
94
+ async authenticated(clientId, tokens, option, label) {
87
95
  let authenticated = false;
88
96
  /* determine authentication configuration */
89
97
  const roles = typeof option === "string"
@@ -112,6 +120,10 @@ export class AuthTrait extends MetaTrait {
112
120
  break;
113
121
  }
114
122
  }
123
+ /* enforce "require" mode */
124
+ const required = (typeof option === "string" || option.mode === "require");
125
+ if (!authenticated && required)
126
+ throw new Error(`${label} failed authentication`);
115
127
  return authenticated;
116
128
  }
117
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt-plus-auth.js","sourceRoot":"","sources":["../src/mqtt-plus-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mqtt-plus-auth.js","sourceRoot":"","sources":["../src/mqtt-plus-auth.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,8 @@ export class BaseTrait extends TraceTrait {
58
58
  /* hook into the MQTT message processing */
59
59
  this.log("info", "hooking into MQTT client");
60
60
  this.messageHandler = (topic, message, packet) => {
61
+ if (this.destroyed)
62
+ return;
61
63
  /* convert message to codec-specific input format
62
64
  (NOTICE: MQTT.js uses Buffer in its handler signature only,
63
65
  but internally supports string or Buffer, while we are
@@ -165,6 +167,8 @@ export class BaseTrait extends TraceTrait {
165
167
  }
166
168
  /* handle incoming MQTT message */
167
169
  _onMessage(topic, data, _packet) {
170
+ if (this.destroyed)
171
+ return;
168
172
  /* parse MQTT topic */
169
173
  const topicMatch = this.options.topicMatch(topic);
170
174
  if (topicMatch === null)
@@ -203,8 +207,13 @@ export class BaseTrait extends TraceTrait {
203
207
  /* dispatch request message */
204
208
  const handler = this.onRequest.get(`${message.type}:${message.name}`);
205
209
  if (handler !== undefined) {
206
- Promise.resolve().then(() => handler(message, topicMatch.name)).catch((err) => {
207
- this.error(ensureError(err, `dispatching request message from MQTT topic "${topic}" failed`));
210
+ Promise.resolve().then(() => {
211
+ if (this.destroyed)
212
+ return;
213
+ return handler(message, topicMatch.name);
214
+ }).catch((err) => {
215
+ this.error(ensureError(err, `dispatching request message from MQTT topic "${topic}" ` +
216
+ `(type: ${message.type}, id: ${message.id}, name: ${message.name}) failed`));
208
217
  });
209
218
  }
210
219
  }
@@ -212,8 +221,13 @@ export class BaseTrait extends TraceTrait {
212
221
  /* dispatch response message */
213
222
  const handler = this.onResponse.get(`${message.type}:${message.id}`);
214
223
  if (handler !== undefined) {
215
- Promise.resolve().then(() => handler(message, topicMatch.name)).catch((err) => {
216
- this.error(ensureError(err, `dispatching response message from MQTT topic "${topic}" failed`));
224
+ Promise.resolve().then(() => {
225
+ if (this.destroyed)
226
+ return;
227
+ return handler(message, topicMatch.name);
228
+ }).catch((err) => {
229
+ this.error(ensureError(err, `dispatching response message from MQTT topic "${topic}" ` +
230
+ `(type: ${message.type}, id: ${message.id}, name: ${message.name}) failed`));
217
231
  });
218
232
  }
219
233
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt-plus-base.js","sourceRoot":"","sources":["../src/mqtt-plus-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mqtt-plus-base.js","sourceRoot":"","sources":["../src/mqtt-plus-base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;EAsBE;AAaF,OAAO,EAAE,UAAU,EAAE,MAAwB,mBAAmB,CAAA;AAChE,OAAO,EAAS,WAAW,EAAE,MAAgB,mBAAmB,CAAA;AAChE,OAAO,EAAE,KAAK,EAAE,MAA6B,kBAAkB,CAAA;AAE/D,mDAAmD;AACnD,MAAM,OAAO,SAA2C,SAAQ,UAAa;IAWzE,2BAA2B;IAC3B,YACI,IAAuB,EACvB,UAA+B,EAAE;QAEjC,KAAK,CAAC,OAAO,CAAC,CAAA;QAZlB,uBAAuB;QACb,cAAS,GAAG,KAAK,CAAA;QAE3B,2CAA2C;QACjC,cAAS,GAAI,IAAI,GAAG,EAAqE,CAAA;QACzF,eAAU,GAAG,IAAI,GAAG,EAAqE,CAAA;QAS/F;yFACiF;QACjF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAA;YAClD,IAAI,GAAG,IAAI,KAAK,CAAa,EAAgB,EAAE;gBAC3C,GAAG,CAAE,OAAO,EAAE,IAAI,EAAE,SAAS;oBACzB,IAAI,IAAI,KAAK,aAAa;wBACtB,OAAO,IAAI,CAAA;yBACV,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACvE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;;wBAEf,OAAO,GAAG,EAAE;4BACR,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,IAAI,CAAC,WAAW;gCACjE,mEAAmE;gCACnE,6CAA6C,CAAC,CAAA;wBACtD,CAAC,CAAA;gBACT,CAAC;aACJ,CAAC,CAAA;QACN,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,6CAA6C;QAC7C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAA;QAC5C,IAAI,CAAC,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC7C,IAAI,IAAI,CAAC,SAAS;gBACd,OAAM;YAEV;;;2DAG+C;YAC/C,IAAI,KAA0B,CAAA;YAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM;gBAC7B,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAA;iBACzB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM;gBAClC,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC5B,CAAC,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;oBACxE,CAAC,CAAC,OAAO,CAAA;;gBAEb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAC/C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QACzC,CAAC,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAChD,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,OAAO;QACT,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAA;QAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;IAC3B,CAAC;IAED,wDAAwD;IAC9C,gBAAgB,CAAE,KAAY,EAAE,IAAY,EAAE,IAAY;QAChE,IAAI,SAAS,GAAG,KAAK,CAAA;QACrB,OAAO;YACH,OAAO,EAAE,KAAK,IAAmB,EAAE;gBAC/B,IAAI,SAAS;oBACT,OAAM;gBACV,SAAS,GAAG,IAAI,CAAA;gBAChB,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;oBAC9C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,YAAY,IAAI,KAAK,IAAI,qBAAqB,CAAC,CAAA;oBAC9E,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;oBACjB,MAAM,KAAK,CAAA;gBACf,CAAC,CAAC,CAAA;YACN,CAAC;SACJ,CAAA;IACL,CAAC;IAED,kDAAkD;IACxC,KAAK,CAAC,cAAc,CAAE,KAAa,EAAE,UAA4C,EAAE;QACzF,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,8BAA8B,KAAK,GAAG,CAAC,CAAA;QACxD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,CAAC,GAAiB,EAAE,QAAa,EAAE,EAAE;gBACpF,IAAI,GAAG,EAAE,CAAC;oBACN,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,8BAA8B,KAAK,UAAU,CAAC,CAAA;oBAC9D,MAAM,CAAC,GAAG,CAAC,CAAA;gBACf,CAAC;;oBAEG,OAAO,EAAE,CAAA;YACjB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;IAED,sDAAsD;IAC5C,KAAK,CAAC,gBAAgB,CAAE,KAAa;QAC3C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,kCAAkC,KAAK,GAAG,CAAC,CAAA;QAC5D,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,GAAW,EAAE,OAAa,EAAE,EAAE;gBACxD,IAAI,GAAG,EAAE,CAAC;oBACN,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,kCAAkC,KAAK,UAAU,CAAC,CAAA;oBAClE,MAAM,CAAC,GAAG,CAAC,CAAA;gBACf,CAAC;;oBAEG,OAAO,EAAE,CAAA;YACjB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;IAED,gDAAgD;IACtC,KAAK,CAAC,cAAc,CAC1B,KAAe,EACf,OAA4B,EAC5B,UAAiC,EAAE;QAEnC,wBAAwB;QACxB,IAAI,OAAO,OAAO,KAAK,QAAQ;YAC3B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,KAAK,4BAA4B,OAAO,CAAC,MAAM,SAAS,CAAC,CAAA;;YAEvG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,KAAK,4BAA4B,OAAO,CAAC,UAAU,SAAS,CAAC,CAAA;QAE/G,yCAAyC;QACzC,MAAM,eAAe,GAAG,IAAI,KAAK,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3D,IAAI,MAAe,CAAA;YACnB,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;gBAC1C,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACpC,CAAC;YACD,OAAO,GAAY,EAAE,CAAC;gBAClB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;YACtB,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,6BAA6B,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAA;QAEtF,qDAAqD;QACrD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,6DAA6D;YAC7D,MAAM,WAAW,GAAG,OAAO,OAAO,KAAK,QAAQ;gBAC3C,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;YACzE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,GAAW,EAAE,EAAE;gBAC3D,IAAI,GAAG,EAAE,CAAC;oBACN,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,6BAA6B,KAAK,UAAU,CAAC,CAAA;oBAC7D,MAAM,CAAC,GAAG,CAAC,CAAA;gBACf,CAAC;;oBAEG,OAAO,EAAE,CAAA;YACjB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;IAED,oCAAoC;IAC5B,UAAU,CAAE,KAAa,EAAE,IAAyB,EAAE,OAAuB;QACjF,IAAI,IAAI,CAAC,SAAS;YACd,OAAM;QAEV,wBAAwB;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACjD,IAAI,UAAU,KAAK,IAAI;YACnB,OAAM;QAEV,2CAA2C;QAC3C,IAAI,OAAO,IAAI,KAAK,QAAQ;YACxB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,KAAK,4BAA4B,IAAI,CAAC,MAAM,SAAS,CAAC,CAAA;;YAEpG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,6BAA6B,KAAK,4BAA4B,IAAI,CAAC,UAAU,SAAS,CAAC,CAAA;QAC5G,IAAI,OAAY,CAAA;QAChB,IAAI,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,GAAY,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,qCAAqC,CAAC,CAAC,CAAA;YACnE,OAAM;QACV,CAAC;QAED,qDAAqD;QACrD,IAAI,OAAgB,CAAA;QACpB,IAAI,CAAC;YACD,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,GAAY,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,kDAAkD,CAAC,CAAC,CAAA;YAChF,OAAM;QACV,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,6BAA6B,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAErE,kDAAkD;QAClD,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS;eAC5B,OAAO,CAAC,QAAQ,KAAK,SAAS;eAC9B,OAAO,CAAC,QAAQ,KAAK,UAAU,CAAC,MAAM;YACzC,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,sCAAsC,KAAK,GAAG;gBAC9D,eAAe,UAAU,CAAC,MAAM,WAAW,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAA;QAExE,8BAA8B;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,gCAAgC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;YACrE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;oBACxB,IAAI,IAAI,CAAC,SAAS;wBACd,OAAM;oBACV,OAAO,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;gBAC5C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;oBACtB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EACtB,gDAAgD,KAAK,IAAI;wBACzD,UAAU,OAAO,CAAC,IAAI,SAAS,OAAO,CAAC,EAAE,WAAW,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAA;gBACpF,CAAC,CAAC,CAAA;YACN,CAAC;QACL,CAAC;aACI,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,iCAAiC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;YACpE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;oBACxB,IAAI,IAAI,CAAC,SAAS;wBACd,OAAM;oBACV,OAAO,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;gBAC5C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;oBACtB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EACtB,iDAAiD,KAAK,IAAI;wBAC1D,UAAU,OAAO,CAAC,IAAI,SAAS,OAAO,CAAC,EAAE,WAAW,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC,CAAA;gBACpF,CAAC,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IACL,CAAC;CACJ"}
@@ -64,14 +64,19 @@ export class Spool {
64
64
  return this.pending.catch(() => { });
65
65
  return this.pending;
66
66
  }
67
+ /* atomically take ownership of the currently rolled
68
+ resources so re-entrant unroll() calls from within
69
+ a synchronous cleanup observe an empty spool */
70
+ const resources = this.resources;
71
+ this.resources = [];
67
72
  /* NOTICE: we operate synchronously until the first
68
73
  cleanup procedure returns a Promise. Then we continue
69
74
  asynchronously, regardless of whether the following
70
75
  cleanup procedures return a Promise or not! */
71
76
  const errors = [];
72
77
  let promise;
73
- while (this.resources.length > 0) {
74
- const entry = this.resources.pop();
78
+ while (resources.length > 0) {
79
+ const entry = resources.pop();
75
80
  const resource = entry.resource;
76
81
  const cleanup = entry.cleanup;
77
82
  if (promise) {
@@ -100,8 +105,9 @@ export class Spool {
100
105
  throw errors[0];
101
106
  else if (errors.length > 1)
102
107
  throw new AggregateError(errors, "multiple cleanup failures");
108
+ }).finally(() => {
109
+ this.pending = null;
103
110
  });
104
- this.pending.then(() => { this.pending = null; }, () => { this.pending = null; });
105
111
  if (suppress)
106
112
  return this.pending.catch(() => { });
107
113
  return this.pending;
@@ -260,7 +266,7 @@ export function run(...args) {
260
266
  let error = ensureError(arg, description);
261
267
  if (oncatch) {
262
268
  try {
263
- const result = oncatch(error);
269
+ const result = await oncatch(error);
264
270
  await runFinally(true, onfinally, description);
265
271
  return result;
266
272
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt-plus-error.js","sourceRoot":"","sources":["../src/mqtt-plus-error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mqtt-plus-error.js","sourceRoot":"","sources":["../src/mqtt-plus-error.ts"],"names":[],"mappings":"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"}
@@ -13,14 +13,14 @@ export declare class EventTrait<T extends APISchema = APISchema> extends AuthTra
13
13
  share?: string;
14
14
  auth?: AuthOption;
15
15
  }): Promise<Registration>;
16
- emit<K extends EventKeys<T> & string>(name: K, ...params: Parameters<T[K]>): void;
16
+ emit<K extends EventKeys<T> & string>(name: K, ...params: Parameters<T[K]>): Promise<void>;
17
17
  emit<K extends EventKeys<T> & string>(config: {
18
18
  name: K;
19
19
  params: Parameters<T[K]>;
20
20
  receiver?: string;
21
21
  options?: IClientPublishOptions;
22
22
  meta?: Record<string, any>;
23
- }): void;
23
+ }): Promise<void>;
24
24
  emit<K extends EventKeys<T> & string>(config: {
25
25
  name: K;
26
26
  params: Parameters<T[K]>;
@@ -23,7 +23,7 @@
23
23
  */
24
24
  import { nanoid } from "nanoid";
25
25
  import { AuthTrait } from "./mqtt-plus-auth";
26
- import { Spool, ensureError } from "./mqtt-plus-error";
26
+ import { Spool, ensureError, run } from "./mqtt-plus-error";
27
27
  /* Event Emission Trait */
28
28
  export class EventTrait extends AuthTrait {
29
29
  constructor() {
@@ -94,7 +94,18 @@ export class EventTrait extends AuthTrait {
94
94
  this.error(new Error("invalid request: missing sender"));
95
95
  return;
96
96
  }
97
+ /* sanity check topic/payload name */
98
+ if (topicName !== request.name) {
99
+ this.log("warning", `event name mismatch -- dropped request for "${name}"` +
100
+ ` (topic: "${topicName}", payload: "${request.name}")`, { requestId });
101
+ return;
102
+ }
97
103
  const params = request.params ?? [];
104
+ /* sanity check request id */
105
+ if (this.eventControllers.has(requestId)) {
106
+ this.log("warning", `duplicate event request id -- dropped request for event "${name}"`, { requestId });
107
+ return;
108
+ }
98
109
  /* define abort controller and signal */
99
110
  const abortController = new AbortController();
100
111
  const abortSignal = abortController.signal;
@@ -111,13 +122,8 @@ export class EventTrait extends AuthTrait {
111
122
  info.meta = request.meta;
112
123
  /* asynchronously execute handler */
113
124
  try {
114
- if (topicName !== request.name)
115
- throw new Error(`event name mismatch (topic: "${topicName}", payload: "${request.name}")`);
116
- if (auth) {
117
- info.authenticated = await this.authenticated(senderId, request.auth, auth);
118
- if (!info.authenticated && (typeof auth === "string" || auth.mode === "require"))
119
- throw new Error(`event "${name}" failed authentication`);
120
- }
125
+ if (auth)
126
+ info.authenticated = await this.authenticated(senderId, request.auth, auth, `event "${name}"`);
121
127
  await callback(...params, info);
122
128
  }
123
129
  catch (result) {
@@ -177,7 +183,7 @@ export class EventTrait extends AuthTrait {
177
183
  return { topic, payload: message, options: { qos: 2, ...options } };
178
184
  else
179
185
  /* publish message to MQTT topic */
180
- this.publishToTopic(topic, message, { qos: 2, ...options }).catch(() => { });
186
+ return run(`publish event as MQTT message to topic "${topic}"`, () => this.publishToTopic(topic, message, { qos: 2, ...options }));
181
187
  }
182
188
  }
183
189
  //# sourceMappingURL=mqtt-plus-event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mqtt-plus-event.js","sourceRoot":"","sources":["../src/mqtt-plus-event.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;EAsBE;AAKF,OAAO,EAAE,MAAM,EAAE,MAA0B,QAAQ,CAAA;AAOnD,OAAO,EAAE,SAAS,EAAmB,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAc,mBAAmB,CAAA;AAE9D,4BAA4B;AAC5B,MAAM,OAAO,UAA4C,SAAQ,SAAY;IAA7E;;QACI,mBAAmB;QACX,qBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAA;IAoOjE,CAAC;IAlOG,qBAAqB;IACZ,KAAK,CAAC,OAAO;QAClB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;YACnD,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAA;QAC7B,MAAM,KAAK,CAAC,OAAO,EAAE,CAAA;IACzB,CAAC;IAgBD,KAAK,CAAC,KAAK,CACP,YAMC,EACD,GAAG,IAAiB;QAEpB,8BAA8B;QAC9B,IAAI,IAAI,CAAC,SAAS;YACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;QAExD,mCAAmC;QACnC,IAAI,IAAW,CAAA;QACf,IAAI,QAAmC,CAAA;QACvC,IAAI,OAAO,GAAsC,EAAE,CAAA;QACnD,IAAI,KAAK,GAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA;QAClC,IAAI,IAAgC,CAAA;QACpC,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;YACtF,wBAAwB;YACxB,IAAI,GAAO,YAAY,CAAC,IAAI,CAAA;YAC5B,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;YAChC,OAAO,GAAI,YAAY,CAAC,OAAO,IAAI,EAAE,CAAA;YACrC,KAAK,GAAM,YAAY,CAAC,KAAK,IAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAA;YACrD,IAAI,GAAO,YAAY,CAAC,IAAI,CAAA;QAChC,CAAC;aACI,CAAC;YACF,sBAAsB;YACtB,IAAI,GAAO,YAAY,CAAA;YACvB,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACtB,CAAC;QAED,6BAA6B;QAC7B,IAAI,OAAO,QAAQ,KAAK,UAAU;YAC9B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;QAElF,6BAA6B;QAC7B,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAA;QAEzB,8BAA8B;QAC9B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,sBAAsB,CAAC,CAAA;QAEhE,4CAA4C;QAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAA;QACpC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACZ,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACjC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,IAAI,aAAa,CAAC,CAAC,CAAA;gBACnF,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC3C,CAAC;YACD,UAAU,CAAC,KAAK,EAAE,CAAA;QACtB,CAAC,CAAC,CAAA;QAEF,2EAA2E;QAC3E,MAAM,MAAM,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAI,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAEhF,iCAAiC;QACjC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,EAAE,KAAK,EAAE,OAAsB,EAAE,SAAiB,EAAE,EAAE;YAC7F,sBAAsB;YACtB,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE;gBACxD,OAAM;YAEV,mCAAmC;YACnC,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,CAAA;YAC5B,MAAM,QAAQ,GAAI,OAAO,CAAC,MAAM,CAAA;YAChC,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAA;gBACxD,OAAM;YACV,CAAC;YACD,MAAM,MAAM,GAAK,OAAO,CAAC,MAAM,IAAI,EAAE,CAAA;YAErC,0CAA0C;YAC1C,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;YAC7C,MAAM,WAAW,GAAO,eAAe,CAAC,MAAM,CAAA;YAC9C,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACzB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;YAErD,iCAAiC;YACjC,MAAM,IAAI,GAAc;gBACpB,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,WAAW;aACtB,CAAA;YACD,IAAI,OAAO,CAAC,QAAQ;gBAChB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;YACpC,IAAI,OAAO,CAAC,IAAI;gBACZ,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;YAE5B,sCAAsC;YACtC,IAAI,CAAC;gBACD,IAAI,SAAS,KAAK,OAAO,CAAC,IAAI;oBAC1B,MAAM,IAAI,KAAK,CAAC,gCAAgC,SAAS,gBAAgB,OAAO,CAAC,IAAI,IAAI,CAAC,CAAA;gBAC9F,IAAI,IAAI,EAAE,CAAC;oBACP,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;oBAC3E,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;wBAC5E,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,yBAAyB,CAAC,CAAA;gBAChE,CAAC;gBACD,MAAM,QAAQ,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAA;YACnC,CAAC;YACD,OAAO,MAAe,EAAE,CAAC;gBACrB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;gBACjC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,sBAAsB,IAAI,UAAU,CAAC,CAAA;YAC3D,CAAC;oBACO,CAAC;gBACL,eAAe,CAAC,KAAK,EAAE,CAAA;gBACvB,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;gBAC5B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;YAC3C,CAAC;QACL,CAAC,CAAC,CAAA;QACF,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAErE,gCAAgC;QAChC,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QACzD,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;QAEzD,yDAAyD;QACzD,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IACtD,CAAC;IA0BD,IAAI,CACA,YAOC,EACD,GAAG,IAAiB;QAEpB,8BAA8B;QAC9B,IAAI,IAAI,CAAC,SAAS;YACd,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QAEvD,mCAAmC;QACnC,IAAI,IAAY,CAAA;QAChB,IAAI,MAA2B,CAAA;QAC/B,IAAI,QAA6B,CAAA;QACjC,IAAI,OAAO,GAA4B,EAAE,CAAA;QACzC,IAAI,IAA0C,CAAA;QAC9C,IAAI,GAA8B,CAAA;QAClC,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI,IAAI,MAAM,IAAI,YAAY,EAAE,CAAC;YACtF,wBAAwB;YACxB,IAAI,GAAO,YAAY,CAAC,IAAI,CAAA;YAC5B,MAAM,GAAK,YAAY,CAAC,MAAM,CAAA;YAC9B,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAA;YAChC,OAAO,GAAI,YAAY,CAAC,OAAO,IAAI,EAAE,CAAA;YACrC,IAAI,GAAO,YAAY,CAAC,IAAI,CAAA;YAC5B,GAAG,GAAQ,YAAY,CAAC,GAAG,CAAA;QAC/B,CAAC;aACI,CAAC;YACF,sBAAsB;YACtB,IAAI,GAAO,YAAY,CAAA;YACvB,MAAM,GAAK,IAAwB,CAAA;QACvC,CAAC;QAED,kCAAkC;QAClC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAA;QAE1B,gCAAgC;QAChC,MAAM,IAAI,GAAQ,IAAI,CAAC,YAAY,EAAE,CAAA;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACtC,MAAM,OAAO,GAAK,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAChE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAA;QAC/C,MAAM,OAAO,GAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAE5C,yCAAyC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,CAAC,CAAA;QAEtE,sBAAsB;QACtB,IAAI,GAAG;YACH,kCAAkC;YAClC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,CAAA;;YAEnE,qCAAqC;YACrC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACnF,CAAC;CACJ"}
1
+ {"version":3,"file":"mqtt-plus-event.js","sourceRoot":"","sources":["../src/mqtt-plus-event.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,8 @@ export declare class ServiceCallRequest extends Base {
21
21
  params?: any[] | undefined;
22
22
  auth?: string[] | undefined;
23
23
  meta?: Record<string, any> | undefined;
24
- constructor(id: string, name: string, params?: any[] | undefined, sender?: string, receiver?: string, auth?: string[] | undefined, meta?: Record<string, any> | undefined);
24
+ qos?: 0 | 1 | 2 | undefined;
25
+ constructor(id: string, name: string, params?: any[] | undefined, sender?: string, receiver?: string, auth?: string[] | undefined, meta?: Record<string, any> | undefined, qos?: 0 | 1 | 2 | undefined);
25
26
  }
26
27
  export declare class ServiceCallResponse extends Base {
27
28
  name: string;
@@ -34,7 +35,8 @@ export declare class SinkPushRequest extends Base {
34
35
  params?: any[] | undefined;
35
36
  auth?: string[] | undefined;
36
37
  meta?: Record<string, any> | undefined;
37
- constructor(id: string, name: string, params?: any[] | undefined, sender?: string, receiver?: string, auth?: string[] | undefined, meta?: Record<string, any> | undefined);
38
+ qos?: 0 | 1 | 2 | undefined;
39
+ constructor(id: string, name: string, params?: any[] | undefined, sender?: string, receiver?: string, auth?: string[] | undefined, meta?: Record<string, any> | undefined, qos?: 0 | 1 | 2 | undefined);
38
40
  }
39
41
  export declare class SinkPushResponse extends Base {
40
42
  name: string;
@@ -60,7 +62,8 @@ export declare class SourceFetchRequest extends Base {
60
62
  auth?: string[] | undefined;
61
63
  meta?: Record<string, any> | undefined;
62
64
  credit?: number | undefined;
63
- constructor(id: string, name: string, params?: any[] | undefined, sender?: string, receiver?: string, auth?: string[] | undefined, meta?: Record<string, any> | undefined, credit?: number | undefined);
65
+ qos?: 0 | 1 | 2 | undefined;
66
+ constructor(id: string, name: string, params?: any[] | undefined, sender?: string, receiver?: string, auth?: string[] | undefined, meta?: Record<string, any> | undefined, credit?: number | undefined, qos?: 0 | 1 | 2 | undefined);
64
67
  }
65
68
  export declare class SourceFetchResponse extends Base {
66
69
  name: string;
@@ -83,13 +86,13 @@ export declare class SourceFetchCredit extends Base {
83
86
  export type Message = EventEmission | ServiceCallRequest | ServiceCallResponse | SinkPushRequest | SinkPushResponse | SinkPushChunk | SinkPushCredit | SourceFetchRequest | SourceFetchResponse | SourceFetchChunk | SourceFetchCredit;
84
87
  declare class Msg {
85
88
  makeEventEmission(id: string, name: string, params?: any[], sender?: string, receiver?: string, auth?: string[], meta?: Record<string, any>): EventEmission;
86
- makeServiceCallRequest(id: string, name: string, params?: any[], sender?: string, receiver?: string, auth?: string[], meta?: Record<string, any>): ServiceCallRequest;
89
+ makeServiceCallRequest(id: string, name: string, params?: any[], sender?: string, receiver?: string, auth?: string[], meta?: Record<string, any>, qos?: 0 | 1 | 2): ServiceCallRequest;
87
90
  makeServiceCallResponse(id: string, name: string, result?: any, error?: string, sender?: string, receiver?: string): ServiceCallResponse;
88
- makeSinkPushRequest(id: string, name: string, params?: any[], sender?: string, receiver?: string, auth?: string[], meta?: Record<string, any>): SinkPushRequest;
91
+ makeSinkPushRequest(id: string, name: string, params?: any[], sender?: string, receiver?: string, auth?: string[], meta?: Record<string, any>, qos?: 0 | 1 | 2): SinkPushRequest;
89
92
  makeSinkPushResponse(id: string, name: string, error?: string, sender?: string, receiver?: string, credit?: number): SinkPushResponse;
90
93
  makeSinkPushChunk(id: string, name: string, chunk?: Uint8Array, error?: string, final?: boolean, sender?: string, receiver?: string): SinkPushChunk;
91
94
  makeSinkPushCredit(id: string, name: string, credit: number, sender?: string, receiver?: string): SinkPushCredit;
92
- makeSourceFetchRequest(id: string, name: string, params?: any[], sender?: string, receiver?: string, auth?: string[], meta?: Record<string, any>, credit?: number): SourceFetchRequest;
95
+ makeSourceFetchRequest(id: string, name: string, params?: any[], sender?: string, receiver?: string, auth?: string[], meta?: Record<string, any>, credit?: number, qos?: 0 | 1 | 2): SourceFetchRequest;
93
96
  makeSourceFetchResponse(id: string, name: string, error?: string, sender?: string, receiver?: string, meta?: Record<string, any>): SourceFetchResponse;
94
97
  makeSourceFetchChunk(id: string, name: string, chunk?: Uint8Array, error?: string, final?: boolean, sender?: string, receiver?: string): SourceFetchChunk;
95
98
  makeSourceFetchCredit(id: string, name: string, credit: number, sender?: string, receiver?: string): SourceFetchCredit;
@@ -66,12 +66,13 @@ const EventEmissionSchema = v.strictObject({
66
66
  });
67
67
  /* service request */
68
68
  export class ServiceCallRequest extends Base {
69
- constructor(id, name, params, sender, receiver, auth, meta) {
69
+ constructor(id, name, params, sender, receiver, auth, meta, qos) {
70
70
  super("service-call-request", id, sender, receiver);
71
71
  this.name = name;
72
72
  this.params = params;
73
73
  this.auth = auth;
74
74
  this.meta = meta;
75
+ this.qos = qos;
75
76
  }
76
77
  }
77
78
  const ServiceCallRequestSchema = v.strictObject({
@@ -80,7 +81,8 @@ const ServiceCallRequestSchema = v.strictObject({
80
81
  name: v.string(),
81
82
  params: v.optional(v.pipe(v.array(v.unknown()), v.maxLength(64))),
82
83
  auth: v.optional(AuthSchema),
83
- meta: v.optional(MetaSchema)
84
+ meta: v.optional(MetaSchema),
85
+ qos: v.optional(v.picklist([0, 1, 2]))
84
86
  });
85
87
  /* service response */
86
88
  export class ServiceCallResponse extends Base {
@@ -100,12 +102,13 @@ const ServiceCallResponseSchema = v.strictObject({
100
102
  });
101
103
  /* sink push request */
102
104
  export class SinkPushRequest extends Base {
103
- constructor(id, name, params, sender, receiver, auth, meta) {
105
+ constructor(id, name, params, sender, receiver, auth, meta, qos) {
104
106
  super("sink-push-request", id, sender, receiver);
105
107
  this.name = name;
106
108
  this.params = params;
107
109
  this.auth = auth;
108
110
  this.meta = meta;
111
+ this.qos = qos;
109
112
  }
110
113
  }
111
114
  const SinkPushRequestSchema = v.strictObject({
@@ -114,7 +117,8 @@ const SinkPushRequestSchema = v.strictObject({
114
117
  name: v.string(),
115
118
  params: v.optional(v.pipe(v.array(v.unknown()), v.maxLength(64))),
116
119
  auth: v.optional(AuthSchema),
117
- meta: v.optional(MetaSchema)
120
+ meta: v.optional(MetaSchema),
121
+ qos: v.optional(v.picklist([0, 1, 2]))
118
122
  });
119
123
  /* sink push response (ack/nak) */
120
124
  export class SinkPushResponse extends Base {
@@ -166,13 +170,14 @@ const SinkPushCreditSchema = v.strictObject({
166
170
  });
167
171
  /* source fetch request */
168
172
  export class SourceFetchRequest extends Base {
169
- constructor(id, name, params, sender, receiver, auth, meta, credit) {
173
+ constructor(id, name, params, sender, receiver, auth, meta, credit, qos) {
170
174
  super("source-fetch-request", id, sender, receiver);
171
175
  this.name = name;
172
176
  this.params = params;
173
177
  this.auth = auth;
174
178
  this.meta = meta;
175
179
  this.credit = credit;
180
+ this.qos = qos;
176
181
  }
177
182
  }
178
183
  const SourceFetchRequestSchema = v.strictObject({
@@ -182,7 +187,8 @@ const SourceFetchRequestSchema = v.strictObject({
182
187
  params: v.optional(v.pipe(v.array(v.unknown()), v.maxLength(64))),
183
188
  auth: v.optional(AuthSchema),
184
189
  meta: v.optional(MetaSchema),
185
- credit: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1)))
190
+ credit: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),
191
+ qos: v.optional(v.picklist([0, 1, 2]))
186
192
  });
187
193
  /* source fetch response (ack/nak) */
188
194
  export class SourceFetchResponse extends Base {
@@ -238,14 +244,14 @@ class Msg {
238
244
  makeEventEmission(id, name, params, sender, receiver, auth, meta) {
239
245
  return new EventEmission(id, name, params, sender, receiver, auth, meta);
240
246
  }
241
- makeServiceCallRequest(id, name, params, sender, receiver, auth, meta) {
242
- return new ServiceCallRequest(id, name, params, sender, receiver, auth, meta);
247
+ makeServiceCallRequest(id, name, params, sender, receiver, auth, meta, qos) {
248
+ return new ServiceCallRequest(id, name, params, sender, receiver, auth, meta, qos);
243
249
  }
244
250
  makeServiceCallResponse(id, name, result, error, sender, receiver) {
245
251
  return new ServiceCallResponse(id, name, result, error, sender, receiver);
246
252
  }
247
- makeSinkPushRequest(id, name, params, sender, receiver, auth, meta) {
248
- return new SinkPushRequest(id, name, params, sender, receiver, auth, meta);
253
+ makeSinkPushRequest(id, name, params, sender, receiver, auth, meta, qos) {
254
+ return new SinkPushRequest(id, name, params, sender, receiver, auth, meta, qos);
249
255
  }
250
256
  makeSinkPushResponse(id, name, error, sender, receiver, credit) {
251
257
  return new SinkPushResponse(id, name, error, sender, receiver, credit);
@@ -256,8 +262,8 @@ class Msg {
256
262
  makeSinkPushCredit(id, name, credit, sender, receiver) {
257
263
  return new SinkPushCredit(id, name, credit, sender, receiver);
258
264
  }
259
- makeSourceFetchRequest(id, name, params, sender, receiver, auth, meta, credit) {
260
- return new SourceFetchRequest(id, name, params, sender, receiver, auth, meta, credit);
265
+ makeSourceFetchRequest(id, name, params, sender, receiver, auth, meta, credit, qos) {
266
+ return new SourceFetchRequest(id, name, params, sender, receiver, auth, meta, credit, qos);
261
267
  }
262
268
  makeSourceFetchResponse(id, name, error, sender, receiver, meta) {
263
269
  return new SourceFetchResponse(id, name, error, sender, receiver, meta);
@@ -298,7 +304,7 @@ class Msg {
298
304
  }
299
305
  else if (obj.type === "service-call-request") {
300
306
  const out = parseObject(obj, "ServiceCallRequest", ServiceCallRequestSchema);
301
- return this.makeServiceCallRequest(out.id, out.name, out.params, out.sender, out.receiver, out.auth, out.meta);
307
+ return this.makeServiceCallRequest(out.id, out.name, out.params, out.sender, out.receiver, out.auth, out.meta, out.qos);
302
308
  }
303
309
  else if (obj.type === "service-call-response") {
304
310
  const out = parseObject(obj, "ServiceCallResponse", ServiceCallResponseSchema);
@@ -306,7 +312,7 @@ class Msg {
306
312
  }
307
313
  else if (obj.type === "sink-push-request") {
308
314
  const out = parseObject(obj, "SinkPushRequest", SinkPushRequestSchema);
309
- return this.makeSinkPushRequest(out.id, out.name, out.params, out.sender, out.receiver, out.auth, out.meta);
315
+ return this.makeSinkPushRequest(out.id, out.name, out.params, out.sender, out.receiver, out.auth, out.meta, out.qos);
310
316
  }
311
317
  else if (obj.type === "sink-push-response") {
312
318
  const out = parseObject(obj, "SinkPushResponse", SinkPushResponseSchema);
@@ -322,7 +328,7 @@ class Msg {
322
328
  }
323
329
  else if (obj.type === "source-fetch-request") {
324
330
  const out = parseObject(obj, "SourceFetchRequest", SourceFetchRequestSchema);
325
- return this.makeSourceFetchRequest(out.id, out.name, out.params, out.sender, out.receiver, out.auth, out.meta, out.credit);
331
+ return this.makeSourceFetchRequest(out.id, out.name, out.params, out.sender, out.receiver, out.auth, out.meta, out.credit, out.qos);
326
332
  }
327
333
  else if (obj.type === "source-fetch-response") {
328
334
  const out = parseObject(obj, "SourceFetchResponse", SourceFetchResponseSchema);