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.
- package/CHANGELOG.md +15 -0
- package/doc/mqtt-plus-api.md +3 -3
- package/dst-stage1/mqtt-plus-auth.d.ts +1 -1
- package/dst-stage1/mqtt-plus-auth.js +16 -4
- package/dst-stage1/mqtt-plus-auth.js.map +1 -1
- package/dst-stage1/mqtt-plus-base.js +18 -4
- package/dst-stage1/mqtt-plus-base.js.map +1 -1
- package/dst-stage1/mqtt-plus-error.js +10 -4
- package/dst-stage1/mqtt-plus-error.js.map +1 -1
- package/dst-stage1/mqtt-plus-event.d.ts +2 -2
- package/dst-stage1/mqtt-plus-event.js +15 -9
- package/dst-stage1/mqtt-plus-event.js.map +1 -1
- package/dst-stage1/mqtt-plus-msg.d.ts +9 -6
- package/dst-stage1/mqtt-plus-msg.js +21 -15
- package/dst-stage1/mqtt-plus-msg.js.map +1 -1
- package/dst-stage1/mqtt-plus-options.d.ts +1 -1
- package/dst-stage1/mqtt-plus-service.d.ts +1 -0
- package/dst-stage1/mqtt-plus-service.js +41 -20
- package/dst-stage1/mqtt-plus-service.js.map +1 -1
- package/dst-stage1/mqtt-plus-sink.js +137 -84
- package/dst-stage1/mqtt-plus-sink.js.map +1 -1
- package/dst-stage1/mqtt-plus-source.js +137 -96
- package/dst-stage1/mqtt-plus-source.js.map +1 -1
- package/dst-stage1/mqtt-plus-subscription.d.ts +1 -0
- package/dst-stage1/mqtt-plus-subscription.js +11 -12
- package/dst-stage1/mqtt-plus-subscription.js.map +1 -1
- package/dst-stage1/mqtt-plus-timer.js +14 -10
- package/dst-stage1/mqtt-plus-timer.js.map +1 -1
- package/dst-stage1/mqtt-plus-trace.js +7 -2
- package/dst-stage1/mqtt-plus-trace.js.map +1 -1
- package/dst-stage1/mqtt-plus-util.js +10 -10
- package/dst-stage1/mqtt-plus-util.js.map +1 -1
- package/dst-stage2/mqtt-plus.cjs.cjs +386 -270
- package/dst-stage2/mqtt-plus.esm.js +381 -265
- package/dst-stage2/mqtt-plus.umd.js +11 -11
- package/etc/d2.mts +30 -2
- package/etc/eslint.mts +6 -2
- package/etc/vite.mts +13 -4
- package/package.d/{@typescript-eslint+typescript-estree+8.57.2.patch → @typescript-eslint+typescript-estree+8.58.1.patch} +1 -1
- package/package.d/{vite+8.0.3.patch → vite+8.0.8.patch} +2 -2
- package/package.json +14 -14
- package/src/mqtt-plus-auth.ts +17 -4
- package/src/mqtt-plus-base.ts +22 -4
- package/src/mqtt-plus-error.ts +11 -7
- package/src/mqtt-plus-event.ts +21 -12
- package/src/mqtt-plus-msg.ts +27 -16
- package/src/mqtt-plus-options.ts +1 -1
- package/src/mqtt-plus-service.ts +45 -20
- package/src/mqtt-plus-sink.ts +148 -85
- package/src/mqtt-plus-source.ts +152 -101
- package/src/mqtt-plus-subscription.ts +12 -13
- package/src/mqtt-plus-timer.ts +18 -14
- package/src/mqtt-plus-trace.ts +7 -2
- package/src/mqtt-plus-util.ts +10 -10
- package/tst/mqtt-plus-3-service.spec.ts +3 -3
- 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
|
|
package/doc/mqtt-plus-api.md
CHANGED
|
@@ -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)
|
|
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
|
-
|
|
83
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;EAsBE;AAEF,6BAA6B;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAc,eAAe,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAY,iBAAiB,CAAA;AACjD,OAAO,KAAK,MAAM,MAAc,mBAAmB,CAAA;AACnD,OAAO,KAAK,MAAM,MAAc,mBAAmB,CAAA;AAInD,OAAO,EAAE,SAAS,EAAE,MAAY,kBAAkB,CAAA;AAQlD,iCAAiC;AACjC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAA;AAErC,4BAA4B;AAC5B,MAAM,OAAO,SAA2C,SAAQ,SAAY;IAA5E;;QACI,sBAAsB;QACd,gBAAW,GAAsB,IAAI,CAAA;QACrC,YAAO,GAAG,IAAI,GAAG,EAAU,CAAA;
|
|
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(() =>
|
|
207
|
-
this.
|
|
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(() =>
|
|
216
|
-
this.
|
|
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":"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"}
|
|
@@ -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 (
|
|
74
|
-
const entry =
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;EAsBE;AAYF,+BAA+B;AAC/B,MAAM,OAAO,KAAK;IAAlB;QACI,sBAAsB;QACd,cAAS,GAA6B,EAAE,CAAA;QACxC,YAAO,GAA2B,IAAI,CAAA;
|
|
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 (
|
|
115
|
-
|
|
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 })
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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);
|