@matter/protocol 0.12.2-alpha.0-20250130-d012e3082 → 0.12.2

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 (49) hide show
  1. package/dist/cjs/interaction/AccessControlManager.d.ts +8 -5
  2. package/dist/cjs/interaction/AccessControlManager.d.ts.map +1 -1
  3. package/dist/cjs/interaction/AccessControlManager.js +1 -1
  4. package/dist/cjs/interaction/AccessControlManager.js.map +1 -1
  5. package/dist/cjs/interaction/AttributeDataEncoder.d.ts +8 -1
  6. package/dist/cjs/interaction/AttributeDataEncoder.d.ts.map +1 -1
  7. package/dist/cjs/interaction/AttributeDataEncoder.js.map +1 -1
  8. package/dist/cjs/interaction/InteractionMessenger.d.ts +7 -4
  9. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  10. package/dist/cjs/interaction/InteractionMessenger.js +33 -26
  11. package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
  12. package/dist/cjs/interaction/InteractionServer.d.ts +22 -6
  13. package/dist/cjs/interaction/InteractionServer.d.ts.map +1 -1
  14. package/dist/cjs/interaction/InteractionServer.js +178 -165
  15. package/dist/cjs/interaction/InteractionServer.js.map +1 -1
  16. package/dist/cjs/interaction/ServerSubscription.d.ts +13 -3
  17. package/dist/cjs/interaction/ServerSubscription.d.ts.map +1 -1
  18. package/dist/cjs/interaction/ServerSubscription.js +121 -91
  19. package/dist/cjs/interaction/ServerSubscription.js.map +2 -2
  20. package/dist/cjs/peer/ControllerCommissioningFlow.js +7 -6
  21. package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
  22. package/dist/esm/interaction/AccessControlManager.d.ts +8 -5
  23. package/dist/esm/interaction/AccessControlManager.d.ts.map +1 -1
  24. package/dist/esm/interaction/AccessControlManager.js +8 -2
  25. package/dist/esm/interaction/AccessControlManager.js.map +1 -1
  26. package/dist/esm/interaction/AttributeDataEncoder.d.ts +8 -1
  27. package/dist/esm/interaction/AttributeDataEncoder.d.ts.map +1 -1
  28. package/dist/esm/interaction/AttributeDataEncoder.js.map +1 -1
  29. package/dist/esm/interaction/InteractionMessenger.d.ts +7 -4
  30. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  31. package/dist/esm/interaction/InteractionMessenger.js +41 -27
  32. package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
  33. package/dist/esm/interaction/InteractionServer.d.ts +22 -6
  34. package/dist/esm/interaction/InteractionServer.d.ts.map +1 -1
  35. package/dist/esm/interaction/InteractionServer.js +178 -165
  36. package/dist/esm/interaction/InteractionServer.js.map +1 -1
  37. package/dist/esm/interaction/ServerSubscription.d.ts +13 -3
  38. package/dist/esm/interaction/ServerSubscription.d.ts.map +1 -1
  39. package/dist/esm/interaction/ServerSubscription.js +121 -91
  40. package/dist/esm/interaction/ServerSubscription.js.map +2 -2
  41. package/dist/esm/peer/ControllerCommissioningFlow.js +7 -6
  42. package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
  43. package/package.json +6 -6
  44. package/src/interaction/AccessControlManager.ts +20 -8
  45. package/src/interaction/AttributeDataEncoder.ts +11 -1
  46. package/src/interaction/InteractionMessenger.ts +65 -33
  47. package/src/interaction/InteractionServer.ts +224 -188
  48. package/src/interaction/ServerSubscription.ts +155 -108
  49. package/src/peer/ControllerCommissioningFlow.ts +7 -7
@@ -154,34 +154,104 @@ class InteractionServer {
154
154
  if (this.#isClosing) return;
155
155
  await new import_InteractionMessenger.InteractionServerMessenger(exchange).handleRequest(this);
156
156
  }
157
- async handleReadRequest(exchange, {
158
- attributeRequests,
159
- dataVersionFilters,
160
- eventRequests,
161
- eventFilters,
162
- isFabricFiltered,
163
- interactionModelRevision
164
- }, message) {
165
- logger.debug(
166
- `Received read request from ${exchange.channel.name}: attributes:${attributeRequests?.map((path) => this.#endpointStructure.resolveAttributeName(path)).join(", ") ?? "none"}, events:${eventRequests?.map((path) => this.#endpointStructure.resolveEventName(path)).join(", ") ?? "none"} isFabricFiltered=${isFabricFiltered}`
167
- );
168
- if (interactionModelRevision > import_model.Specification.INTERACTION_MODEL_REVISION) {
169
- logger.debug(
170
- `Interaction model revision of sender ${interactionModelRevision} is higher than supported ${import_model.Specification.INTERACTION_MODEL_REVISION}.`
171
- );
172
- }
173
- if (attributeRequests === void 0 && eventRequests === void 0) {
174
- throw new import_types.StatusResponseError(
175
- "Only Read requests with attributeRequests or eventRequests are supported right now",
176
- import_types.StatusCode.UnsupportedRead
177
- );
178
- }
179
- if (message.packetHeader.sessionType !== import_MessageCodec.SessionType.Unicast) {
180
- throw new import_types.StatusResponseError(
181
- "Subscriptions are only allowed on unicast sessions",
182
- import_types.StatusCode.InvalidAction
183
- );
157
+ async #collectEventDataForRead({ eventRequests, eventFilters, isFabricFiltered }, exchange, message) {
158
+ let eventReportsPayload;
159
+ if (eventRequests) {
160
+ eventReportsPayload = [];
161
+ for (const requestPath of eventRequests) {
162
+ validateReadEventPath(requestPath);
163
+ const events = this.#endpointStructure.getEvents([requestPath]);
164
+ if (events.length === 0) {
165
+ if (isConcreteEventPath(requestPath)) {
166
+ const { endpointId, clusterId, eventId } = requestPath;
167
+ try {
168
+ this.#endpointStructure.validateConcreteEventPath(endpointId, clusterId, eventId);
169
+ throw new import_general.InternalError(
170
+ "validateConcreteEventPath should throw StatusResponseError but did not."
171
+ );
172
+ } catch (e) {
173
+ import_types.StatusResponseError.accept(e);
174
+ logger.debug(
175
+ `Read event from ${exchange.channel.name}: ${this.#endpointStructure.resolveEventName(requestPath)}: unsupported path: Status=${e.code}`
176
+ );
177
+ eventReportsPayload?.push({
178
+ hasFabricSensitiveData: false,
179
+ eventStatus: { path: requestPath, status: { status: e.code } }
180
+ });
181
+ }
182
+ }
183
+ logger.debug(
184
+ `Read event from ${exchange.channel.name}: ${this.#endpointStructure.resolveEventName(
185
+ requestPath
186
+ )}: ignore non-existing event`
187
+ );
188
+ continue;
189
+ }
190
+ const reportsForPath = new Array();
191
+ for (const { path, event } of events) {
192
+ try {
193
+ const matchingEvents = await this.readEvent(
194
+ path,
195
+ eventFilters,
196
+ event,
197
+ exchange,
198
+ isFabricFiltered,
199
+ message
200
+ );
201
+ logger.debug(
202
+ `Read event from ${exchange.channel.name}: ${this.#endpointStructure.resolveEventName(
203
+ path
204
+ )}=${import_general.Logger.toJSON(matchingEvents)}`
205
+ );
206
+ const { schema } = event;
207
+ reportsForPath.push(
208
+ ...matchingEvents.map(({ number, priority, epochTimestamp, payload }) => ({
209
+ hasFabricSensitiveData: event.hasFabricSensitiveData,
210
+ eventData: {
211
+ path,
212
+ eventNumber: number,
213
+ priority,
214
+ epochTimestamp,
215
+ payload,
216
+ schema
217
+ }
218
+ }))
219
+ );
220
+ } catch (error) {
221
+ logger.error(
222
+ `Error while reading event from ${exchange.channel.name} to ${this.#endpointStructure.resolveEventName(path)}:`,
223
+ error
224
+ );
225
+ import_types.StatusResponseError.accept(error);
226
+ if (isConcreteEventPath(requestPath)) {
227
+ eventReportsPayload?.push({
228
+ hasFabricSensitiveData: false,
229
+ eventStatus: { path, status: { status: error.code } }
230
+ });
231
+ }
232
+ }
233
+ }
234
+ eventReportsPayload.push(
235
+ ...reportsForPath.sort((a, b) => {
236
+ const eventNumberA = a.eventData?.eventNumber ?? (0, import_types.EventNumber)(0);
237
+ const eventNumberB = b.eventData?.eventNumber ?? (0, import_types.EventNumber)(0);
238
+ if (eventNumberA > eventNumberB) {
239
+ return 1;
240
+ } else if (eventNumberA < eventNumberB) {
241
+ return -1;
242
+ } else {
243
+ return 0;
244
+ }
245
+ })
246
+ );
247
+ }
184
248
  }
249
+ return eventReportsPayload;
250
+ }
251
+ /**
252
+ * Returns an iterator that yields the data reports and events data for the given read request.
253
+ */
254
+ *#iterateReadAttributesPaths({ attributeRequests, dataVersionFilters, isFabricFiltered }, eventReportsPayload, exchange, message) {
185
255
  const dataVersionFilterMap = new Map(
186
256
  dataVersionFilters?.map(({ path, dataVersion }) => [clusterPathToId(path), dataVersion]) ?? []
187
257
  );
@@ -190,7 +260,6 @@ class InteractionServer {
190
260
  `DataVersionFilters: ${Array.from(dataVersionFilterMap.entries()).map(([path, version]) => `${path}=${version}`).join(", ")}`
191
261
  );
192
262
  }
193
- const attributeReportsPayload = new Array();
194
263
  for (const requestPath of attributeRequests ?? []) {
195
264
  validateReadAttributesPath(requestPath);
196
265
  const attributes = this.#endpointStructure.getAttributes([requestPath]);
@@ -207,10 +276,10 @@ class InteractionServer {
207
276
  logger.debug(
208
277
  `Error reading attribute from ${exchange.channel.name}: ${this.#endpointStructure.resolveAttributeName(requestPath)}: unsupported path: Status=${e.code}`
209
278
  );
210
- attributeReportsPayload.push({
279
+ yield {
211
280
  hasFabricSensitiveData: false,
212
281
  attributeStatus: { path: requestPath, status: { status: e.code } }
213
- });
282
+ };
214
283
  }
215
284
  }
216
285
  logger.debug(
@@ -231,14 +300,7 @@ class InteractionServer {
231
300
  }
232
301
  let value, version;
233
302
  try {
234
- ({ value, version } = await this.readAttribute(
235
- path,
236
- attribute,
237
- exchange,
238
- isFabricFiltered,
239
- message,
240
- this.#endpointStructure.getEndpoint(endpointId)
241
- ));
303
+ ({ value, version } = this.readAttribute(path, attribute, exchange, isFabricFiltered, message));
242
304
  } catch (e) {
243
305
  import_SecureSession.NoAssociatedFabricError.accept(e);
244
306
  if (endpointId === void 0 || clusterId === void 0) {
@@ -266,10 +328,10 @@ class InteractionServer {
266
328
  )}=${import_general.Logger.toJSON(value)} (version=${version})`
267
329
  );
268
330
  const { schema } = attribute;
269
- attributeReportsPayload.push({
331
+ yield {
270
332
  hasFabricSensitiveData: attribute.hasFabricSensitiveData,
271
333
  attributeData: { path, dataVersion: version, payload: value, schema }
272
- });
334
+ };
273
335
  } catch (error) {
274
336
  logger.error(
275
337
  `Error while reading attribute from ${exchange.channel.name} to ${this.#endpointStructure.resolveAttributeName(path)}:`,
@@ -277,118 +339,91 @@ class InteractionServer {
277
339
  );
278
340
  import_types.StatusResponseError.accept(error);
279
341
  if (isConcreteAttributePath(requestPath)) {
280
- attributeReportsPayload.push({
342
+ yield {
281
343
  hasFabricSensitiveData: false,
282
344
  attributeStatus: { path, status: { status: error.code } }
283
- });
345
+ };
284
346
  }
285
347
  }
286
348
  }
287
349
  }
288
- let eventReportsPayload;
289
- if (eventRequests) {
290
- eventReportsPayload = [];
291
- for (const requestPath of eventRequests) {
292
- validateReadEventPath(requestPath);
293
- const events = this.#endpointStructure.getEvents([requestPath]);
294
- if (events.length === 0) {
295
- if (isConcreteEventPath(requestPath)) {
296
- const { endpointId, clusterId, eventId } = requestPath;
297
- try {
298
- this.#endpointStructure.validateConcreteEventPath(endpointId, clusterId, eventId);
299
- throw new import_general.InternalError(
300
- "validateConcreteEventPath should throw StatusResponseError but did not."
301
- );
302
- } catch (e) {
303
- import_types.StatusResponseError.accept(e);
304
- logger.debug(
305
- `Read event from ${exchange.channel.name}: ${this.#endpointStructure.resolveEventName(requestPath)}: unsupported path: Status=${e.code}`
306
- );
307
- eventReportsPayload?.push({
308
- hasFabricSensitiveData: false,
309
- eventStatus: { path: requestPath, status: { status: e.code } }
310
- });
311
- }
312
- }
313
- logger.debug(
314
- `Read event from ${exchange.channel.name}: ${this.#endpointStructure.resolveEventName(
315
- requestPath
316
- )}: ignore non-existing event`
317
- );
318
- continue;
319
- }
320
- const reportsForPath = new Array();
321
- for (const { path, event } of events) {
322
- try {
323
- const { endpointId } = path;
324
- const matchingEvents = await this.readEvent(
325
- path,
326
- eventFilters,
327
- event,
328
- exchange,
329
- isFabricFiltered,
330
- message,
331
- this.#endpointStructure.getEndpoint(endpointId)
332
- );
333
- logger.debug(
334
- `Read event from ${exchange.channel.name}: ${this.#endpointStructure.resolveEventName(
335
- path
336
- )}=${import_general.Logger.toJSON(matchingEvents)}`
337
- );
338
- const { schema } = event;
339
- reportsForPath.push(
340
- ...matchingEvents.map(({ number, priority, epochTimestamp, payload }) => ({
341
- hasFabricSensitiveData: event.hasFabricSensitiveData,
342
- eventData: {
343
- path,
344
- eventNumber: number,
345
- priority,
346
- epochTimestamp,
347
- payload,
348
- schema
349
- }
350
- }))
351
- );
352
- } catch (error) {
353
- logger.error(
354
- `Error while reading event from ${exchange.channel.name} to ${this.#endpointStructure.resolveEventName(path)}:`,
355
- error
356
- );
357
- import_types.StatusResponseError.accept(error);
358
- if (isConcreteEventPath(requestPath)) {
359
- eventReportsPayload?.push({
360
- hasFabricSensitiveData: false,
361
- eventStatus: { path, status: { status: error.code } }
362
- });
363
- }
364
- }
365
- }
366
- eventReportsPayload.push(
367
- ...reportsForPath.sort((a, b) => {
368
- const eventNumberA = a.eventData?.eventNumber ?? (0, import_types.EventNumber)(0);
369
- const eventNumberB = b.eventData?.eventNumber ?? (0, import_types.EventNumber)(0);
370
- if (eventNumberA > eventNumberB) {
371
- return 1;
372
- } else if (eventNumberA < eventNumberB) {
373
- return -1;
374
- } else {
375
- return 0;
376
- }
377
- })
378
- );
350
+ if (eventReportsPayload !== void 0) {
351
+ for (const eventReport of eventReportsPayload) {
352
+ yield eventReport;
379
353
  }
380
354
  }
355
+ }
356
+ async handleReadRequest(exchange, readRequest, message) {
357
+ const { attributeRequests, eventRequests, isFabricFiltered, interactionModelRevision } = readRequest;
358
+ logger.debug(
359
+ `Received read request from ${exchange.channel.name}: attributes:${attributeRequests?.map((path) => this.#endpointStructure.resolveAttributeName(path)).join(", ") ?? "none"}, events:${eventRequests?.map((path) => this.#endpointStructure.resolveEventName(path)).join(", ") ?? "none"} isFabricFiltered=${isFabricFiltered}`
360
+ );
361
+ if (interactionModelRevision > import_model.Specification.INTERACTION_MODEL_REVISION) {
362
+ logger.debug(
363
+ `Interaction model revision of sender ${interactionModelRevision} is higher than supported ${import_model.Specification.INTERACTION_MODEL_REVISION}.`
364
+ );
365
+ }
366
+ if (attributeRequests === void 0 && eventRequests === void 0) {
367
+ throw new import_types.StatusResponseError(
368
+ "Only Read requests with attributeRequests or eventRequests are supported right now",
369
+ import_types.StatusCode.UnsupportedRead
370
+ );
371
+ }
372
+ if (message.packetHeader.sessionType !== import_MessageCodec.SessionType.Unicast) {
373
+ throw new import_types.StatusResponseError(
374
+ "Subscriptions are only allowed on unicast sessions",
375
+ import_types.StatusCode.InvalidAction
376
+ );
377
+ }
381
378
  return {
382
- interactionModelRevision: import_model.Specification.INTERACTION_MODEL_REVISION,
383
- suppressResponse: true,
384
- attributeReportsPayload,
385
- eventReportsPayload
379
+ dataReport: {
380
+ interactionModelRevision: import_model.Specification.INTERACTION_MODEL_REVISION,
381
+ suppressResponse: true
382
+ },
383
+ payload: this.#iterateReadAttributesPaths(
384
+ readRequest,
385
+ await this.#collectEventDataForRead(readRequest, exchange, message),
386
+ exchange,
387
+ message
388
+ )
386
389
  };
387
390
  }
388
- async readAttribute(_path, attribute, exchange, isFabricFiltered, message, _endpoint, offline = false) {
391
+ readAttribute(_path, attribute, exchange, isFabricFiltered, message, offline = false) {
389
392
  return attribute.getWithVersion(exchange.session, isFabricFiltered, offline ? void 0 : message);
390
393
  }
391
- async readEvent(_path, eventFilters, event, exchange, isFabricFiltered, message, _endpoint) {
394
+ /**
395
+ * Reads the attributes for the given endpoint.
396
+ * This can currently only be used for subscriptions because errors are ignored!
397
+ */
398
+ readEndpointAttributesForSubscription(_endpointId, attributes, exchange, isFabricFiltered, message, offline = false) {
399
+ const result = new Array();
400
+ for (const { path, attribute } of attributes) {
401
+ try {
402
+ const { version, value } = this.readAttribute(
403
+ path,
404
+ attribute,
405
+ exchange,
406
+ isFabricFiltered,
407
+ message,
408
+ offline
409
+ );
410
+ result.push({ path, value, version, attribute });
411
+ } catch (error) {
412
+ if (import_types.StatusResponseError.is(error, import_types.StatusCode.UnsupportedAccess)) {
413
+ logger.warn(
414
+ `Permission denied reading attribute ${this.#endpointStructure.resolveAttributeName(path)}`
415
+ );
416
+ } else {
417
+ logger.warn(
418
+ `Error reading attribute ${this.#endpointStructure.resolveAttributeName(path)}:`,
419
+ error
420
+ );
421
+ }
422
+ }
423
+ }
424
+ return result;
425
+ }
426
+ async readEvent(_path, eventFilters, event, exchange, isFabricFiltered, message) {
392
427
  return event.get(exchange.session, isFabricFiltered, message, eventFilters);
393
428
  }
394
429
  async handleWriteRequest(exchange, { suppressResponse, timedRequest, writeRequests, interactionModelRevision, moreChunkedMessages }, message) {
@@ -527,14 +562,7 @@ class InteractionServer {
527
562
  const value = listIndex === void 0 ? (0, import_AttributeDataDecoder.decodeAttributeValueWithSchema)(schema, [writeRequest], defaultValue) : (0, import_AttributeDataDecoder.decodeListAttributeValueWithSchema)(
528
563
  schema,
529
564
  [writeRequest],
530
- (await this.readAttribute(
531
- path,
532
- attribute,
533
- exchange,
534
- true,
535
- message,
536
- this.#endpointStructure.getEndpoint(endpointId)
537
- )).value ?? defaultValue
565
+ this.readAttribute(path, attribute, exchange, true, message).value ?? defaultValue
538
566
  );
539
567
  logger.debug(
540
568
  `Handle write request from ${exchange.channel.name} resolved to: ${this.#endpointStructure.resolveAttributeName(path)}=${import_general.Logger.toJSON(
@@ -700,24 +728,9 @@ class InteractionServer {
700
728
  const context = {
701
729
  session,
702
730
  structure: this.#endpointStructure,
703
- readAttribute: (path, attribute, offline) => this.readAttribute(
704
- path,
705
- attribute,
706
- exchange,
707
- isFabricFiltered,
708
- message,
709
- this.#endpointStructure.getEndpoint(path.endpointId),
710
- offline
711
- ),
712
- readEvent: (path, event, eventFilters2) => this.readEvent(
713
- path,
714
- eventFilters2,
715
- event,
716
- exchange,
717
- isFabricFiltered,
718
- message,
719
- this.#endpointStructure.getEndpoint(path.endpointId)
720
- ),
731
+ readAttribute: (path, attribute, offline) => this.readAttribute(path, attribute, exchange, isFabricFiltered, message, offline),
732
+ readEndpointAttributesForSubscription: (endpointId, attributes) => this.readEndpointAttributesForSubscription(endpointId, attributes, exchange, isFabricFiltered, message),
733
+ readEvent: (path, event, eventFilters2) => this.readEvent(path, eventFilters2, event, exchange, isFabricFiltered, message),
721
734
  initiateExchange: (address, protocolId) => this.#context.initiateExchange(address, protocolId)
722
735
  };
723
736
  const subscription = new import_ServerSubscription.ServerSubscription({
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/interaction/InteractionServer.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["eventFilters"]
6
6
  }
@@ -8,7 +8,7 @@ import { MaybePromise } from "#general";
8
8
  import { PeerAddress } from "#peer/PeerAddress.js";
9
9
  import type { MessageExchange } from "#protocol/MessageExchange.js";
10
10
  import { SecureSession } from "#session/SecureSession.js";
11
- import { TlvEventFilter, TlvSchema, TypeFromSchema } from "#types";
11
+ import { EndpointNumber, TlvEventFilter, TlvSchema, TypeFromSchema } from "#types";
12
12
  import { AnyAttributeServer } from "../cluster/server/AttributeServer.js";
13
13
  import { AnyEventServer } from "../cluster/server/EventServer.js";
14
14
  import { InteractionEndpointStructure } from "./InteractionEndpointStructure.js";
@@ -59,10 +59,20 @@ export declare namespace ServerSubscriptionConfig {
59
59
  export interface ServerSubscriptionContext {
60
60
  session: SecureSession;
61
61
  structure: InteractionEndpointStructure;
62
- readAttribute(path: AttributePath, attribute: AnyAttributeServer<unknown>, offline?: boolean): Promise<{
62
+ readAttribute(path: AttributePath, attribute: AnyAttributeServer<unknown>, offline?: boolean): {
63
63
  version: number;
64
64
  value: unknown;
65
- }>;
65
+ };
66
+ readEndpointAttributesForSubscription(endpointId: EndpointNumber, attributes: {
67
+ path: AttributePath;
68
+ attribute: AnyAttributeServer<unknown>;
69
+ offline?: boolean;
70
+ }[]): {
71
+ path: AttributePath;
72
+ attribute: AnyAttributeServer<unknown>;
73
+ version: number;
74
+ value: unknown;
75
+ }[];
66
76
  readEvent(path: EventPath, event: AnyEventServer<any, any>, eventFilters: TypeFromSchema<typeof TlvEventFilter>[] | undefined): Promise<NumberedOccurrence[]>;
67
77
  initiateExchange(address: PeerAddress, protocolId: number): MessageExchange;
68
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ServerSubscription.d.ts","sourceRoot":"","sources":["../../../src/interaction/ServerSubscription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ServerSubscription.d.ts","sourceRoot":"","sources":["../../../src/interaction/ServerSubscription.ts"],"names":[],"mappings":"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"}