mqtt-plus 1.4.16 → 1.4.17
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/.claude/CLAUDE.md +1 -0
- package/.gemini/settings.json +5 -0
- package/AGENTS.md +86 -97
- package/CHANGELOG.md +26 -0
- package/README.md +1 -1
- package/doc/mqtt-plus-api.md +21 -12
- package/doc/mqtt-plus-architecture.md +1 -1
- package/doc/mqtt-plus-broker-setup.md +2 -2
- package/doc/mqtt-plus-comm.md +3 -2
- package/doc/mqtt-plus-internals.md +11 -1
- package/dst-stage1/mqtt-plus-auth.js +2 -13
- package/dst-stage1/mqtt-plus-auth.js.map +1 -1
- package/dst-stage1/mqtt-plus-base.d.ts +2 -1
- package/dst-stage1/mqtt-plus-base.js +14 -3
- package/dst-stage1/mqtt-plus-base.js.map +1 -1
- package/dst-stage1/mqtt-plus-error.d.ts +1 -0
- package/dst-stage1/mqtt-plus-error.js +62 -38
- package/dst-stage1/mqtt-plus-error.js.map +1 -1
- package/dst-stage1/mqtt-plus-event.d.ts +2 -0
- package/dst-stage1/mqtt-plus-event.js +52 -10
- package/dst-stage1/mqtt-plus-event.js.map +1 -1
- package/dst-stage1/mqtt-plus-info.d.ts +2 -0
- package/dst-stage1/mqtt-plus-msg.d.ts +3 -2
- package/dst-stage1/mqtt-plus-msg.js +10 -8
- package/dst-stage1/mqtt-plus-msg.js.map +1 -1
- package/dst-stage1/mqtt-plus-service.d.ts +2 -0
- package/dst-stage1/mqtt-plus-service.js +120 -19
- package/dst-stage1/mqtt-plus-service.js.map +1 -1
- package/dst-stage1/mqtt-plus-sink.js +104 -39
- package/dst-stage1/mqtt-plus-sink.js.map +1 -1
- package/dst-stage1/mqtt-plus-source.d.ts +1 -0
- package/dst-stage1/mqtt-plus-source.js +81 -59
- package/dst-stage1/mqtt-plus-source.js.map +1 -1
- package/dst-stage1/mqtt-plus-subscription.js +14 -8
- package/dst-stage1/mqtt-plus-subscription.js.map +1 -1
- package/dst-stage1/mqtt-plus-timer.d.ts +2 -0
- package/dst-stage1/mqtt-plus-timer.js +48 -0
- package/dst-stage1/mqtt-plus-timer.js.map +1 -1
- package/dst-stage1/mqtt-plus-trace.js +3 -1
- package/dst-stage1/mqtt-plus-trace.js.map +1 -1
- package/dst-stage1/mqtt-plus-util.js +10 -2
- package/dst-stage1/mqtt-plus-util.js.map +1 -1
- package/dst-stage1/mqtt-plus-version.d.ts +2 -0
- package/dst-stage1/mqtt-plus-version.js +3 -0
- package/dst-stage1/mqtt-plus-version.js.map +1 -1
- package/dst-stage2/mqtt-plus.cjs.cjs +415 -162
- package/dst-stage2/mqtt-plus.esm.js +415 -162
- package/dst-stage2/mqtt-plus.umd.js +2 -2
- package/etc/d2.mts +19 -13
- package/etc/stx.conf +8 -6
- package/etc/vite.mts +1 -1
- package/package.json +4 -4
- package/src/mqtt-plus-auth.ts +2 -14
- package/src/mqtt-plus-base.ts +16 -3
- package/src/mqtt-plus-error.ts +68 -40
- package/src/mqtt-plus-event.ts +56 -11
- package/src/mqtt-plus-info.ts +6 -2
- package/src/mqtt-plus-msg.ts +9 -6
- package/src/mqtt-plus-service.ts +125 -19
- package/src/mqtt-plus-sink.ts +109 -39
- package/src/mqtt-plus-source.ts +87 -59
- package/src/mqtt-plus-subscription.ts +17 -9
- package/src/mqtt-plus-timer.ts +52 -0
- package/src/mqtt-plus-trace.ts +3 -1
- package/src/mqtt-plus-util.ts +11 -2
- package/src/mqtt-plus-version.ts +5 -1
- package/tst/mqtt-plus-0-broker-mosquitto.ts +2 -2
- package/tst/mqtt-plus-7-spool.spec.ts +65 -0
|
@@ -26,6 +26,7 @@ export class Spool {
|
|
|
26
26
|
constructor() {
|
|
27
27
|
/* internal state */
|
|
28
28
|
this.resources = [];
|
|
29
|
+
this.pending = null;
|
|
29
30
|
}
|
|
30
31
|
roll(...args) {
|
|
31
32
|
/* determine parameters */
|
|
@@ -49,47 +50,68 @@ export class Spool {
|
|
|
49
50
|
/* create new spool */
|
|
50
51
|
const spool = new Spool();
|
|
51
52
|
/* roll sub-spool onto spool */
|
|
52
|
-
this.roll(spool, () =>
|
|
53
|
+
this.roll(spool, (s) => s.unroll());
|
|
53
54
|
/* return new spool */
|
|
54
55
|
return spool;
|
|
55
56
|
}
|
|
56
57
|
/* unroll all cleanup procedures from spool */
|
|
57
58
|
unroll(suppress = true) {
|
|
59
|
+
/* guard against concurrent unroll: if an unroll is already
|
|
60
|
+
in progress, return the existing promise so all callers
|
|
61
|
+
wait for the same completion */
|
|
62
|
+
if (this.pending !== null) {
|
|
63
|
+
if (suppress)
|
|
64
|
+
return this.pending.catch(() => { });
|
|
65
|
+
return this.pending;
|
|
66
|
+
}
|
|
58
67
|
/* NOTICE: we operate synchronously until the first
|
|
59
68
|
cleanup procedure returns a Promise. Then we continue
|
|
60
69
|
asynchronously, regardless of whether the following
|
|
61
70
|
cleanup procedures return a Promise or not! */
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
result = cleanup(resource);
|
|
71
|
+
const errors = [];
|
|
72
|
+
let promise;
|
|
73
|
+
while (this.resources.length > 0) {
|
|
74
|
+
const entry = this.resources.pop();
|
|
75
|
+
const resource = entry.resource;
|
|
76
|
+
const cleanup = entry.cleanup;
|
|
77
|
+
if (promise) {
|
|
78
|
+
/* async continuation: isolate each cleanup so one rejection
|
|
79
|
+
does not prevent remaining cleanups from executing */
|
|
80
|
+
promise = promise.then(() => cleanup(resource))
|
|
81
|
+
.catch((err) => { errors.push(err); });
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
/* sync start: wrap individually so a throw
|
|
85
|
+
does not exit the while loop */
|
|
86
|
+
try {
|
|
87
|
+
const result = cleanup(resource);
|
|
80
88
|
if (result instanceof Promise)
|
|
81
|
-
promise = result;
|
|
89
|
+
promise = result.catch((err) => { errors.push(err); });
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
errors.push(err);
|
|
82
93
|
}
|
|
83
94
|
}
|
|
84
|
-
if (promise)
|
|
85
|
-
return suppress ? promise.catch(() => { }) : promise;
|
|
86
|
-
else
|
|
87
|
-
return;
|
|
88
95
|
}
|
|
89
|
-
|
|
96
|
+
if (promise) {
|
|
97
|
+
/* store the pending promise for concurrent-caller guard */
|
|
98
|
+
this.pending = promise.then(() => {
|
|
99
|
+
if (errors.length === 1)
|
|
100
|
+
throw errors[0];
|
|
101
|
+
else if (errors.length > 1)
|
|
102
|
+
throw new AggregateError(errors, "multiple cleanup failures");
|
|
103
|
+
});
|
|
104
|
+
this.pending.then(() => { this.pending = null; }, () => { this.pending = null; });
|
|
90
105
|
if (suppress)
|
|
91
|
-
return;
|
|
92
|
-
|
|
106
|
+
return this.pending.catch(() => { });
|
|
107
|
+
return this.pending;
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
if (!suppress && errors.length === 1)
|
|
111
|
+
throw errors[0];
|
|
112
|
+
else if (!suppress && errors.length > 1)
|
|
113
|
+
throw new AggregateError(errors, "multiple cleanup failures");
|
|
114
|
+
return;
|
|
93
115
|
}
|
|
94
116
|
}
|
|
95
117
|
}
|
|
@@ -112,7 +134,7 @@ export function ensureError(error, prefix, debug = false) {
|
|
|
112
134
|
else
|
|
113
135
|
return new Error(msg);
|
|
114
136
|
}
|
|
115
|
-
function runFinally(isAsync, onfinally) {
|
|
137
|
+
function runFinally(isAsync, onfinally, description) {
|
|
116
138
|
if (!onfinally) {
|
|
117
139
|
if (isAsync)
|
|
118
140
|
return Promise.resolve();
|
|
@@ -125,14 +147,16 @@ function runFinally(isAsync, onfinally) {
|
|
|
125
147
|
}
|
|
126
148
|
catch (error) {
|
|
127
149
|
if (isAsync)
|
|
128
|
-
return Promise.reject(error);
|
|
150
|
+
return Promise.reject(ensureError(error, description));
|
|
129
151
|
else
|
|
130
|
-
throw error;
|
|
152
|
+
throw ensureError(error, description);
|
|
131
153
|
}
|
|
132
154
|
if (!isAsync && result instanceof Promise)
|
|
133
155
|
throw new Error("onfinally callback returned Promise in non-async context");
|
|
134
156
|
if (isAsync && !(result instanceof Promise))
|
|
135
157
|
result = Promise.resolve(result);
|
|
158
|
+
if (isAsync && result instanceof Promise)
|
|
159
|
+
return result.catch((error) => { throw ensureError(error, description); });
|
|
136
160
|
return result;
|
|
137
161
|
}
|
|
138
162
|
function runUnroll(isAsync, spool) {
|
|
@@ -213,21 +237,21 @@ export function run(...args) {
|
|
|
213
237
|
}
|
|
214
238
|
catch (arg) {
|
|
215
239
|
error = ensureError(arg, description);
|
|
216
|
-
runFinally(false, onfinally);
|
|
240
|
+
runFinally(false, onfinally, description);
|
|
217
241
|
runUnroll(false, spool);
|
|
218
242
|
throw error;
|
|
219
243
|
}
|
|
220
|
-
runFinally(false, onfinally);
|
|
244
|
+
runFinally(false, onfinally, description);
|
|
221
245
|
return result;
|
|
222
246
|
}
|
|
223
|
-
runFinally(false, onfinally);
|
|
247
|
+
runFinally(false, onfinally, description);
|
|
224
248
|
runUnroll(false, spool);
|
|
225
249
|
throw error;
|
|
226
250
|
}
|
|
227
251
|
if (result instanceof Promise) {
|
|
228
252
|
/* asynchronous case (result or error branch) */
|
|
229
253
|
return result.then(async (result) => {
|
|
230
|
-
await runFinally(true, onfinally);
|
|
254
|
+
await runFinally(true, onfinally, description);
|
|
231
255
|
if (spool && oncleanup)
|
|
232
256
|
spool.roll(result, oncleanup);
|
|
233
257
|
return result;
|
|
@@ -237,24 +261,24 @@ export function run(...args) {
|
|
|
237
261
|
if (oncatch) {
|
|
238
262
|
try {
|
|
239
263
|
const result = oncatch(error);
|
|
240
|
-
await runFinally(true, onfinally);
|
|
264
|
+
await runFinally(true, onfinally, description);
|
|
241
265
|
return result;
|
|
242
266
|
}
|
|
243
267
|
catch (arg) {
|
|
244
268
|
error = ensureError(arg, description);
|
|
245
|
-
await runFinally(true, onfinally);
|
|
269
|
+
await runFinally(true, onfinally, description);
|
|
246
270
|
await runUnroll(true, spool);
|
|
247
271
|
throw error;
|
|
248
272
|
}
|
|
249
273
|
}
|
|
250
|
-
await runFinally(true, onfinally);
|
|
274
|
+
await runFinally(true, onfinally, description);
|
|
251
275
|
await runUnroll(true, spool);
|
|
252
276
|
throw error;
|
|
253
277
|
});
|
|
254
278
|
}
|
|
255
279
|
else {
|
|
256
280
|
/* synchronous case (result branch) */
|
|
257
|
-
runFinally(false, onfinally);
|
|
281
|
+
runFinally(false, onfinally, description);
|
|
258
282
|
if (spool && oncleanup)
|
|
259
283
|
spool.roll(result, oncleanup);
|
|
260
284
|
return result;
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"mqtt-plus-error.js","sourceRoot":"","sources":["../src/mqtt-plus-error.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ import type { APISchema, EventKeys, Registration } from "./mqtt-plus-api";
|
|
|
3
3
|
import type { WithInfo, InfoEvent } from "./mqtt-plus-info";
|
|
4
4
|
import { AuthTrait, type AuthOption } from "./mqtt-plus-auth";
|
|
5
5
|
export declare class EventTrait<T extends APISchema = APISchema> extends AuthTrait<T> {
|
|
6
|
+
private eventControllers;
|
|
7
|
+
destroy(): Promise<void>;
|
|
6
8
|
event<K extends EventKeys<T> & string>(name: K, callback: WithInfo<T[K], InfoEvent>): Promise<Registration>;
|
|
7
9
|
event<K extends EventKeys<T> & string>(config: {
|
|
8
10
|
name: K;
|
|
@@ -26,7 +26,22 @@ import { AuthTrait } from "./mqtt-plus-auth";
|
|
|
26
26
|
import { Spool, ensureError } from "./mqtt-plus-error";
|
|
27
27
|
/* Event Emission Trait */
|
|
28
28
|
export class EventTrait extends AuthTrait {
|
|
29
|
+
constructor() {
|
|
30
|
+
super(...arguments);
|
|
31
|
+
/* event state */
|
|
32
|
+
this.eventControllers = new Map();
|
|
33
|
+
}
|
|
34
|
+
/* destroy trait */
|
|
35
|
+
async destroy() {
|
|
36
|
+
for (const controller of this.eventControllers.values())
|
|
37
|
+
controller.abort(new Error("event destroyed"));
|
|
38
|
+
this.eventControllers.clear();
|
|
39
|
+
await super.destroy();
|
|
40
|
+
}
|
|
29
41
|
async event(nameOrConfig, ...args) {
|
|
42
|
+
/* sanity check lifecycle */
|
|
43
|
+
if (this.destroyed)
|
|
44
|
+
throw new Error("event: instance already destroyed");
|
|
30
45
|
/* determine actual parameters */
|
|
31
46
|
let name;
|
|
32
47
|
let callback;
|
|
@@ -54,6 +69,15 @@ export class EventTrait extends AuthTrait {
|
|
|
54
69
|
/* sanity check situation */
|
|
55
70
|
if (this.onRequest.has(`event-emission:${name}`))
|
|
56
71
|
throw new Error(`event: event "${name}" already registered`);
|
|
72
|
+
/* create per-event controller tracking */
|
|
73
|
+
const requestIds = new Set();
|
|
74
|
+
spool.roll(() => {
|
|
75
|
+
for (const requestId of requestIds) {
|
|
76
|
+
this.eventControllers.get(requestId)?.abort(new Error(`event "${name}" destroyed`));
|
|
77
|
+
this.eventControllers.delete(requestId);
|
|
78
|
+
}
|
|
79
|
+
requestIds.clear();
|
|
80
|
+
});
|
|
57
81
|
/* generate the corresponding MQTT topics for broadcast and direct use */
|
|
58
82
|
const topicS = share !== "" ? `$share/${share}/${name}` : name;
|
|
59
83
|
const topicB = this.options.topicMake(topicS, "event-emission");
|
|
@@ -64,12 +88,23 @@ export class EventTrait extends AuthTrait {
|
|
|
64
88
|
if (request.receiver && request.receiver !== this.options.id)
|
|
65
89
|
return;
|
|
66
90
|
/* determine event information */
|
|
91
|
+
const requestId = request.id;
|
|
67
92
|
const senderId = request.sender;
|
|
68
|
-
if (senderId === undefined || senderId === "")
|
|
69
|
-
|
|
93
|
+
if (senderId === undefined || senderId === "") {
|
|
94
|
+
this.error(new Error("invalid request: missing sender"));
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
70
97
|
const params = request.params ?? [];
|
|
98
|
+
/* define abort controller and signal */
|
|
99
|
+
const abortController = new AbortController();
|
|
100
|
+
const abortSignal = abortController.signal;
|
|
101
|
+
requestIds.add(requestId);
|
|
102
|
+
this.eventControllers.set(requestId, abortController);
|
|
71
103
|
/* create information object */
|
|
72
|
-
const info = {
|
|
104
|
+
const info = {
|
|
105
|
+
sender: senderId,
|
|
106
|
+
signal: abortSignal
|
|
107
|
+
};
|
|
73
108
|
if (request.receiver)
|
|
74
109
|
info.receiver = request.receiver;
|
|
75
110
|
if (request.meta)
|
|
@@ -78,25 +113,34 @@ export class EventTrait extends AuthTrait {
|
|
|
78
113
|
try {
|
|
79
114
|
if (topicName !== request.name)
|
|
80
115
|
throw new Error(`event name mismatch (topic: "${topicName}", payload: "${request.name}")`);
|
|
81
|
-
if (auth)
|
|
116
|
+
if (auth) {
|
|
82
117
|
info.authenticated = await this.authenticated(senderId, request.auth, auth);
|
|
83
|
-
|
|
84
|
-
|
|
118
|
+
if (!info.authenticated && (typeof auth === "string" || auth.mode === "require"))
|
|
119
|
+
throw new Error(`event "${name}" failed authentication`);
|
|
120
|
+
}
|
|
85
121
|
await callback(...params, info);
|
|
86
122
|
}
|
|
87
123
|
catch (result) {
|
|
88
124
|
const error = ensureError(result);
|
|
89
125
|
this.error(error, `handler for event "${name}" failed`);
|
|
90
126
|
}
|
|
127
|
+
finally {
|
|
128
|
+
abortController.abort();
|
|
129
|
+
requestIds.delete(requestId);
|
|
130
|
+
this.eventControllers.delete(requestId);
|
|
131
|
+
}
|
|
91
132
|
});
|
|
92
133
|
spool.roll(() => { this.onRequest.delete(`event-emission:${name}`); });
|
|
93
134
|
/* subscribe to MQTT topics */
|
|
94
135
|
await this.subscribeTopicAndSpool(spool, topicB, options);
|
|
95
136
|
await this.subscribeTopicAndSpool(spool, topicD, options);
|
|
96
137
|
/* provide a registration for subsequent destruction */
|
|
97
|
-
return this.makeRegistration(spool, "event", name
|
|
138
|
+
return this.makeRegistration(spool, "event", name);
|
|
98
139
|
}
|
|
99
140
|
emit(nameOrConfig, ...args) {
|
|
141
|
+
/* sanity check lifecycle */
|
|
142
|
+
if (this.destroyed)
|
|
143
|
+
throw new Error("emit: instance already destroyed");
|
|
100
144
|
/* determine actual parameters */
|
|
101
145
|
let name;
|
|
102
146
|
let params;
|
|
@@ -133,9 +177,7 @@ export class EventTrait extends AuthTrait {
|
|
|
133
177
|
return { topic, payload: message, options: { qos: 2, ...options } };
|
|
134
178
|
else
|
|
135
179
|
/* publish message to MQTT topic */
|
|
136
|
-
this.publishToTopic(topic, message, { qos: 2, ...options }).catch((
|
|
137
|
-
this.error(err, `emitting event "${name}" failed`);
|
|
138
|
-
});
|
|
180
|
+
this.publishToTopic(topic, message, { qos: 2, ...options }).catch(() => { });
|
|
139
181
|
}
|
|
140
182
|
}
|
|
141
183
|
//# 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;
|
|
1
|
+
{"version":3,"file":"mqtt-plus-event.js","sourceRoot":"","sources":["../src/mqtt-plus-event.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,10 @@ export interface InfoBase {
|
|
|
6
6
|
meta?: Record<string, any>;
|
|
7
7
|
}
|
|
8
8
|
export interface InfoEvent extends InfoBase {
|
|
9
|
+
signal: AbortSignal;
|
|
9
10
|
}
|
|
10
11
|
export interface InfoService extends InfoBase {
|
|
12
|
+
signal: AbortSignal;
|
|
11
13
|
}
|
|
12
14
|
export interface InfoSource extends InfoBase {
|
|
13
15
|
signal: AbortSignal;
|
|
@@ -24,9 +24,10 @@ export declare class ServiceCallRequest extends Base {
|
|
|
24
24
|
constructor(id: string, name: string, params?: any[] | undefined, sender?: string, receiver?: string, auth?: string[] | undefined, meta?: Record<string, any> | undefined);
|
|
25
25
|
}
|
|
26
26
|
export declare class ServiceCallResponse extends Base {
|
|
27
|
+
name: string;
|
|
27
28
|
result?: any | undefined;
|
|
28
29
|
error?: string | undefined;
|
|
29
|
-
constructor(id: string, result?: any | undefined, error?: string | undefined, sender?: string, receiver?: string);
|
|
30
|
+
constructor(id: string, name: string, result?: any | undefined, error?: string | undefined, sender?: string, receiver?: string);
|
|
30
31
|
}
|
|
31
32
|
export declare class SinkPushRequest extends Base {
|
|
32
33
|
name: string;
|
|
@@ -83,7 +84,7 @@ export type Message = EventEmission | ServiceCallRequest | ServiceCallResponse |
|
|
|
83
84
|
declare class Msg {
|
|
84
85
|
makeEventEmission(id: string, name: string, params?: any[], sender?: string, receiver?: string, auth?: string[], meta?: Record<string, any>): EventEmission;
|
|
85
86
|
makeServiceCallRequest(id: string, name: string, params?: any[], sender?: string, receiver?: string, auth?: string[], meta?: Record<string, any>): ServiceCallRequest;
|
|
86
|
-
makeServiceCallResponse(id: string, result?: any, error?: string, sender?: string, receiver?: string): ServiceCallResponse;
|
|
87
|
+
makeServiceCallResponse(id: string, name: string, result?: any, error?: string, sender?: string, receiver?: string): ServiceCallResponse;
|
|
87
88
|
makeSinkPushRequest(id: string, name: string, params?: any[], sender?: string, receiver?: string, auth?: string[], meta?: Record<string, any>): SinkPushRequest;
|
|
88
89
|
makeSinkPushResponse(id: string, name: string, error?: string, sender?: string, receiver?: string, credit?: number): SinkPushResponse;
|
|
89
90
|
makeSinkPushChunk(id: string, name: string, chunk?: Uint8Array, error?: string, final?: boolean, sender?: string, receiver?: string): SinkPushChunk;
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
/* external requirements */
|
|
25
25
|
import * as v from "valibot";
|
|
26
26
|
import { EncodeTrait } from "./mqtt-plus-encode";
|
|
27
|
-
import { version, VERSION, versionToNum } from "./mqtt-plus-version";
|
|
27
|
+
import { version, VERSION, minVersion, MIN_VERSION, versionToNum } from "./mqtt-plus-version";
|
|
28
28
|
/* meta validation schema (non-array plain object) */
|
|
29
29
|
const MetaSchema = v.pipe(v.record(v.string(), v.unknown()), v.check((data) => !Array.isArray(data)));
|
|
30
30
|
/* reusable auth validation schema (max 8 tokens, max 8192 chars each) */
|
|
@@ -84,8 +84,9 @@ const ServiceCallRequestSchema = v.strictObject({
|
|
|
84
84
|
});
|
|
85
85
|
/* service response */
|
|
86
86
|
export class ServiceCallResponse extends Base {
|
|
87
|
-
constructor(id, result, error, sender, receiver) {
|
|
87
|
+
constructor(id, name, result, error, sender, receiver) {
|
|
88
88
|
super("service-call-response", id, sender, receiver);
|
|
89
|
+
this.name = name;
|
|
89
90
|
this.result = result;
|
|
90
91
|
this.error = error;
|
|
91
92
|
}
|
|
@@ -93,6 +94,7 @@ export class ServiceCallResponse extends Base {
|
|
|
93
94
|
const ServiceCallResponseSchema = v.strictObject({
|
|
94
95
|
...BaseSchema,
|
|
95
96
|
type: v.literal("service-call-response"),
|
|
97
|
+
name: v.string(),
|
|
96
98
|
result: v.optional(v.unknown()),
|
|
97
99
|
error: v.optional(v.string())
|
|
98
100
|
});
|
|
@@ -160,7 +162,7 @@ const SinkPushCreditSchema = v.strictObject({
|
|
|
160
162
|
...BaseSchema,
|
|
161
163
|
type: v.literal("sink-push-credit"),
|
|
162
164
|
name: v.string(),
|
|
163
|
-
credit: v.pipe(v.number(), v.integer(), v.minValue(
|
|
165
|
+
credit: v.pipe(v.number(), v.integer(), v.minValue(0))
|
|
164
166
|
});
|
|
165
167
|
/* source fetch request */
|
|
166
168
|
export class SourceFetchRequest extends Base {
|
|
@@ -239,8 +241,8 @@ class Msg {
|
|
|
239
241
|
makeServiceCallRequest(id, name, params, sender, receiver, auth, meta) {
|
|
240
242
|
return new ServiceCallRequest(id, name, params, sender, receiver, auth, meta);
|
|
241
243
|
}
|
|
242
|
-
makeServiceCallResponse(id, result, error, sender, receiver) {
|
|
243
|
-
return new ServiceCallResponse(id, result, error, sender, receiver);
|
|
244
|
+
makeServiceCallResponse(id, name, result, error, sender, receiver) {
|
|
245
|
+
return new ServiceCallResponse(id, name, result, error, sender, receiver);
|
|
244
246
|
}
|
|
245
247
|
makeSinkPushRequest(id, name, params, sender, receiver, auth, meta) {
|
|
246
248
|
return new SinkPushRequest(id, name, params, sender, receiver, auth, meta);
|
|
@@ -276,8 +278,8 @@ class Msg {
|
|
|
276
278
|
throw new Error("invalid object: missing or invalid \"version\" field");
|
|
277
279
|
const match = obj.version.match(/^MQTT\+\/(\d+\.\d+)$/);
|
|
278
280
|
const versionNum = match !== null ? versionToNum(match[1]) : 0;
|
|
279
|
-
if (versionNum !== version)
|
|
280
|
-
throw new Error(`protocol version mismatch (expected version ${VERSION}, got version ${obj.version})`);
|
|
281
|
+
if (Math.floor(versionNum / 100) !== Math.floor(version / 100) || versionNum < minVersion)
|
|
282
|
+
throw new Error(`protocol version mismatch (expected version ${MIN_VERSION}...${VERSION}, got version ${obj.version})`);
|
|
281
283
|
/* helper function for Valibot-based validation */
|
|
282
284
|
const parseObject = (obj, name, schema) => {
|
|
283
285
|
const res = v.safeParse(schema, obj);
|
|
@@ -300,7 +302,7 @@ class Msg {
|
|
|
300
302
|
}
|
|
301
303
|
else if (obj.type === "service-call-response") {
|
|
302
304
|
const out = parseObject(obj, "ServiceCallResponse", ServiceCallResponseSchema);
|
|
303
|
-
return this.makeServiceCallResponse(out.id, out.result, out.error, out.sender, out.receiver);
|
|
305
|
+
return this.makeServiceCallResponse(out.id, out.name, out.result, out.error, out.sender, out.receiver);
|
|
304
306
|
}
|
|
305
307
|
else if (obj.type === "sink-push-request") {
|
|
306
308
|
const out = parseObject(obj, "SinkPushRequest", SinkPushRequestSchema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqtt-plus-msg.js","sourceRoot":"","sources":["../src/mqtt-plus-msg.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mqtt-plus-msg.js","sourceRoot":"","sources":["../src/mqtt-plus-msg.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@ import type { WithInfo, InfoService } from "./mqtt-plus-info";
|
|
|
4
4
|
import { EventTrait } from "./mqtt-plus-event";
|
|
5
5
|
import type { AuthOption } from "./mqtt-plus-auth";
|
|
6
6
|
export declare class ServiceTrait<T extends APISchema = APISchema> extends EventTrait<T> {
|
|
7
|
+
private serviceControllers;
|
|
8
|
+
destroy(): Promise<void>;
|
|
7
9
|
service<K extends ServiceKeys<T> & string>(name: K, callback: WithInfo<T[K], InfoService>): Promise<Registration>;
|
|
8
10
|
service<K extends ServiceKeys<T> & string>(config: {
|
|
9
11
|
name: K;
|