@matter/node 0.16.0-alpha.0-20251016-b56cf5683 → 0.16.0-alpha.0-20251018-dd1ea6a8a

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 (36) hide show
  1. package/dist/cjs/node/client/ClientBehavior.d.ts.map +1 -1
  2. package/dist/cjs/node/client/ClientBehavior.js +13 -12
  3. package/dist/cjs/node/client/ClientBehavior.js.map +1 -1
  4. package/dist/cjs/node/client/ClientNodeInteraction.d.ts +16 -2
  5. package/dist/cjs/node/client/ClientNodeInteraction.d.ts.map +1 -1
  6. package/dist/cjs/node/client/ClientNodeInteraction.js +14 -0
  7. package/dist/cjs/node/client/ClientNodeInteraction.js.map +1 -1
  8. package/dist/cjs/node/integration/ProtocolService.d.ts.map +1 -1
  9. package/dist/cjs/node/integration/ProtocolService.js +10 -16
  10. package/dist/cjs/node/integration/ProtocolService.js.map +1 -1
  11. package/dist/cjs/node/server/InteractionServer.d.ts.map +1 -1
  12. package/dist/cjs/node/server/InteractionServer.js +87 -39
  13. package/dist/cjs/node/server/InteractionServer.js.map +1 -1
  14. package/dist/cjs/node/server/OnlineServerInteraction.js +1 -1
  15. package/dist/cjs/node/server/OnlineServerInteraction.js.map +1 -1
  16. package/dist/esm/node/client/ClientBehavior.d.ts.map +1 -1
  17. package/dist/esm/node/client/ClientBehavior.js +13 -12
  18. package/dist/esm/node/client/ClientBehavior.js.map +1 -1
  19. package/dist/esm/node/client/ClientNodeInteraction.d.ts +16 -2
  20. package/dist/esm/node/client/ClientNodeInteraction.d.ts.map +1 -1
  21. package/dist/esm/node/client/ClientNodeInteraction.js +17 -1
  22. package/dist/esm/node/client/ClientNodeInteraction.js.map +1 -1
  23. package/dist/esm/node/integration/ProtocolService.d.ts.map +1 -1
  24. package/dist/esm/node/integration/ProtocolService.js +16 -17
  25. package/dist/esm/node/integration/ProtocolService.js.map +1 -1
  26. package/dist/esm/node/server/InteractionServer.d.ts.map +1 -1
  27. package/dist/esm/node/server/InteractionServer.js +88 -39
  28. package/dist/esm/node/server/InteractionServer.js.map +1 -1
  29. package/dist/esm/node/server/OnlineServerInteraction.js +1 -1
  30. package/dist/esm/node/server/OnlineServerInteraction.js.map +1 -1
  31. package/package.json +7 -7
  32. package/src/node/client/ClientBehavior.ts +17 -17
  33. package/src/node/client/ClientNodeInteraction.ts +19 -5
  34. package/src/node/integration/ProtocolService.ts +18 -18
  35. package/src/node/server/InteractionServer.ts +108 -57
  36. package/src/node/server/OnlineServerInteraction.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/node/server/InteractionServer.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -34,7 +34,7 @@ class OnlineServerInteraction {
34
34
  yield chunk;
35
35
  }
36
36
  } catch (error) {
37
- session.reject(error);
37
+ await session.reject(error);
38
38
  }
39
39
  return session.resolve(void 0);
40
40
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/node/server/OnlineServerInteraction.ts"],
4
- "mappings": "AAAA,SAAS,0BAA0B;AACnC,SAAS,2BAA2B;AACpC;AAAA,EAMI;AAAA,OAKG;AAEA,MAAM,wBAA4E;AAAA,EAC5E;AAAA,EAET,YAAY,MAAoB;AAC5B,SAAK,eAAe,IAAI,kBAAkB,IAAI;AAAA,EAClD;AAAA,EAEA,OAAO,KAAK,SAAe,SAAiD;AACxE,UAAM,UAAU,mBAAmB,OAAO,EAAE,cAAc;AAC1D,QAAI;AACA,uBAAiB,UAAU,KAAK,aAAa,KAAK,SAAS,OAAO,GAAG;AACjE,cAAM;AAAA,MACV;AAAA,IACJ,UAAE;AACE,cAAQ,OAAO,OAAO,EAAE;AAAA,IAC5B;AAAA,EACJ;AAAA,EAEA,UAAU,UAAqB,UAAuD;AAClF,UAAM,IAAI,oBAAoB,2BAA2B;AAAA,EAC7D;AAAA,EAEA,mBAAmB,KAAmB;AAClC,UAAM,IAAI,oBAAoB,oCAAoC;AAAA,EACtE;AAAA,EAEA,MAAM,MAAuB,SAAY,SAAqD;AAC1F,WAAO,mBAAmB,OAAO,EAAE,IAAI,aAAW,KAAK,aAAa,MAAM,SAAS,OAAO,CAAC;AAAA,EAC/F;AAAA,EAEA,OAAO,OAAO,SAAiB,SAAqC;AAChE,UAAM,UAAU,mBAAmB,EAAE,GAAG,SAAS,SAAS,KAAK,CAAC,EAAE,KAAK;AACvE,QAAI;AACA,uBAAiB,SAAS,KAAK,aAAa,OAAO,SAAS,OAAO,GAAG;AAClE,cAAM;AAAA,MACV;AAAA,IACJ,SAAS,OAAO;AACZ,cAAQ,OAAO,KAAK;AAAA,IACxB;AACA,WAAO,QAAQ,QAAQ,MAAS;AAAA,EACpC;AACJ;",
4
+ "mappings": "AAAA,SAAS,0BAA0B;AACnC,SAAS,2BAA2B;AACpC;AAAA,EAMI;AAAA,OAKG;AAEA,MAAM,wBAA4E;AAAA,EAC5E;AAAA,EAET,YAAY,MAAoB;AAC5B,SAAK,eAAe,IAAI,kBAAkB,IAAI;AAAA,EAClD;AAAA,EAEA,OAAO,KAAK,SAAe,SAAiD;AACxE,UAAM,UAAU,mBAAmB,OAAO,EAAE,cAAc;AAC1D,QAAI;AACA,uBAAiB,UAAU,KAAK,aAAa,KAAK,SAAS,OAAO,GAAG;AACjE,cAAM;AAAA,MACV;AAAA,IACJ,UAAE;AACE,cAAQ,OAAO,OAAO,EAAE;AAAA,IAC5B;AAAA,EACJ;AAAA,EAEA,UAAU,UAAqB,UAAuD;AAClF,UAAM,IAAI,oBAAoB,2BAA2B;AAAA,EAC7D;AAAA,EAEA,mBAAmB,KAAmB;AAClC,UAAM,IAAI,oBAAoB,oCAAoC;AAAA,EACtE;AAAA,EAEA,MAAM,MAAuB,SAAY,SAAqD;AAC1F,WAAO,mBAAmB,OAAO,EAAE,IAAI,aAAW,KAAK,aAAa,MAAM,SAAS,OAAO,CAAC;AAAA,EAC/F;AAAA,EAEA,OAAO,OAAO,SAAiB,SAAqC;AAChE,UAAM,UAAU,mBAAmB,EAAE,GAAG,SAAS,SAAS,KAAK,CAAC,EAAE,KAAK;AACvE,QAAI;AACA,uBAAiB,SAAS,KAAK,aAAa,OAAO,SAAS,OAAO,GAAG;AAClE,cAAM;AAAA,MACV;AAAA,IACJ,SAAS,OAAO;AACZ,YAAM,QAAQ,OAAO,KAAK;AAAA,IAC9B;AACA,WAAO,QAAQ,QAAQ,MAAS;AAAA,EACpC;AACJ;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/node",
3
- "version": "0.16.0-alpha.0-20251016-b56cf5683",
3
+ "version": "0.16.0-alpha.0-20251018-dd1ea6a8a",
4
4
  "description": "API for building Matter nodes",
5
5
  "keywords": [
6
6
  "iot",
@@ -42,14 +42,14 @@
42
42
  "#*": "./src/*"
43
43
  },
44
44
  "dependencies": {
45
- "@matter/general": "0.16.0-alpha.0-20251016-b56cf5683",
46
- "@matter/model": "0.16.0-alpha.0-20251016-b56cf5683",
47
- "@matter/types": "0.16.0-alpha.0-20251016-b56cf5683",
48
- "@matter/protocol": "0.16.0-alpha.0-20251016-b56cf5683"
45
+ "@matter/general": "0.16.0-alpha.0-20251018-dd1ea6a8a",
46
+ "@matter/model": "0.16.0-alpha.0-20251018-dd1ea6a8a",
47
+ "@matter/types": "0.16.0-alpha.0-20251018-dd1ea6a8a",
48
+ "@matter/protocol": "0.16.0-alpha.0-20251018-dd1ea6a8a"
49
49
  },
50
50
  "devDependencies": {
51
- "@matter/tools": "0.16.0-alpha.0-20251016-b56cf5683",
52
- "@matter/testing": "0.16.0-alpha.0-20251016-b56cf5683"
51
+ "@matter/tools": "0.16.0-alpha.0-20251018-dd1ea6a8a",
52
+ "@matter/testing": "0.16.0-alpha.0-20251018-dd1ea6a8a"
53
53
  },
54
54
  "files": [
55
55
  "dist/**/*",
@@ -10,14 +10,13 @@ import { camelize, capitalize, InternalError } from "#general";
10
10
  import { AttributeModel, ClusterModel, CommandModel, FeatureBitmap, Matter } from "#model";
11
11
  import type { ClientNode } from "#node/ClientNode.js";
12
12
  import { Node } from "#node/Node.js";
13
- import { Invoke } from "#protocol";
13
+ import { ClientInteraction, Invoke } from "#protocol";
14
14
  import {
15
15
  Attribute,
16
16
  AttributeId,
17
17
  ClusterComposer,
18
18
  ClusterId,
19
19
  ClusterRegistry,
20
- ClusterType,
21
20
  Command,
22
21
  CommandId,
23
22
  MutableCluster,
@@ -137,8 +136,7 @@ function generateType(analysis: ShapeAnalysis, baseType: Behavior.Type): Cluster
137
136
  // Add command implementations
138
137
  for (const id of analysis.shape.commands) {
139
138
  const name = schema.get(CommandModel, id)?.name ?? createUnknownName("command", id);
140
- const command = cluster.commands[camelize(name)];
141
- type.prototype[camelize(name, false)] = implementCommand(command);
139
+ type.prototype[camelize(name, false)] = implementCommand(camelize(name));
142
140
  }
143
141
 
144
142
  return type;
@@ -152,33 +150,35 @@ function generateType(analysis: ShapeAnalysis, baseType: Behavior.Type): Cluster
152
150
  isCloned = true;
153
151
  }
154
152
 
155
- function implementCommand(command: ClusterType.Command) {
153
+ function implementCommand(command: string) {
156
154
  return async function (this: ClusterBehavior, fields?: {}) {
157
155
  const node = this.env.get(Node) as ClientNode;
158
156
 
159
- const chunks = node.interaction.invoke(
160
- Invoke(
161
- Invoke.Command<any>({
162
- endpoint: this.endpoint,
163
- cluster,
164
- command,
165
- fields,
166
- }),
167
- ),
157
+ const chunks = (node.interaction as ClientInteraction).invoke(
158
+ Invoke({
159
+ commands: [
160
+ Invoke.ConcreteCommandRequest<any>({
161
+ endpoint: this.endpoint,
162
+ cluster,
163
+ command,
164
+ fields,
165
+ }),
166
+ ],
167
+ }),
168
168
  );
169
169
 
170
170
  for await (const chunk of chunks) {
171
171
  for (const entry of chunk) {
172
- // TODO - do we need to support multiple data chunks?
172
+ // We send only one command, so we only get one response back
173
173
  switch (entry.kind) {
174
174
  case "cmd-status":
175
175
  if (entry.status !== Status.Success) {
176
176
  throw StatusResponseError.create(entry.status, undefined, entry.clusterStatus);
177
177
  }
178
- break;
178
+ return;
179
179
 
180
180
  case "cmd-response":
181
- return command.responseSchema.decodeTlv(entry.data);
181
+ return entry.data;
182
182
  }
183
183
  }
184
184
  }
@@ -7,10 +7,11 @@
7
7
  import type { ActionContext } from "#behavior/context/ActionContext.js";
8
8
  import { EndpointInitializer } from "#endpoint/properties/EndpointInitializer.js";
9
9
  import type { ClientNode } from "#node/ClientNode.js";
10
- import type {
10
+ import {
11
+ ClientInteraction,
12
+ ClientInvoke,
13
+ DecodedInvokeResult,
11
14
  Interactable,
12
- InvokeRequest,
13
- InvokeResult,
14
15
  Read,
15
16
  ReadResult,
16
17
  Subscribe,
@@ -18,7 +19,6 @@ import type {
18
19
  Write,
19
20
  WriteResult,
20
21
  } from "#protocol";
21
- import { ClientInteraction } from "#protocol";
22
22
  import { ClientEndpointInitializer } from "./ClientEndpointInitializer.js";
23
23
 
24
24
  /**
@@ -31,6 +31,12 @@ export class ClientNodeInteraction implements Interactable<ActionContext> {
31
31
  this.#node = node;
32
32
  }
33
33
 
34
+ /**
35
+ * Read chosen attributes remotely from the node. Known data versions are automatically injected into the request to
36
+ * optimize the read.
37
+ * Therefore, the returned data only contains attributes that have changed since the last read or subscription.
38
+ * TODO: Allow control of data version injection and enrich response with attribute data missing in response due to data versioning.
39
+ */
34
40
  async *read(request: Read, context?: ActionContext): ReadResult {
35
41
  request = this.structure.injectVersionFilters(request);
36
42
  const interaction = await this.#connect();
@@ -38,6 +44,10 @@ export class ClientNodeInteraction implements Interactable<ActionContext> {
38
44
  yield* this.structure.mutate(request, response);
39
45
  }
40
46
 
47
+ /**
48
+ * Subscribe to chosen attributes remotely from the node. Data are automatically updated in the storage and not
49
+ * returned. The subscription response message with the subscription id and the maxInterval is returned.
50
+ */
41
51
  async subscribe(request: Subscribe, context?: ActionContext): SubscribeResult {
42
52
  const intermediateRequest: Subscribe = {
43
53
  ...this.structure.injectVersionFilters(request),
@@ -67,11 +77,15 @@ export class ClientNodeInteraction implements Interactable<ActionContext> {
67
77
  this.#node.env.get(ClientInteraction).cancelSubscription(id);
68
78
  }
69
79
 
80
+ /**
81
+ * Write chosen attributes remotely to the node.
82
+ * The returned attribute write status information is returned.
83
+ */
70
84
  async write<T extends Write>(request: T, context?: ActionContext): WriteResult<T> {
71
85
  return (await this.#connect()).write(request, context);
72
86
  }
73
87
 
74
- async *invoke(request: InvokeRequest, context?: ActionContext): InvokeResult {
88
+ async *invoke(request: ClientInvoke, context?: ActionContext): DecodedInvokeResult {
75
89
  yield* (await this.#connect()).invoke(request, context);
76
90
  }
77
91
 
@@ -35,7 +35,14 @@ import type {
35
35
  InteractionSession,
36
36
  NodeProtocol,
37
37
  } from "#protocol";
38
- import { EventTypeProtocol, FabricManager, hasRemoteActor, OccurrenceManager, Val } from "#protocol";
38
+ import {
39
+ EventTypeProtocol,
40
+ FabricManager,
41
+ hasRemoteActor,
42
+ OccurrenceManager,
43
+ toWildcardOrHexPath,
44
+ Val,
45
+ } from "#protocol";
39
46
  import {
40
47
  AttributeId,
41
48
  AttributePath,
@@ -554,7 +561,7 @@ function invokeCommand(
554
561
  const context = session as ActionContext;
555
562
 
556
563
  logger.info(
557
- "Invoke",
564
+ "Invoke «",
558
565
  Diagnostic.strong(`${path.toString()}.${command.name}`),
559
566
  session.transaction.via,
560
567
  requestDiagnostic,
@@ -629,13 +636,6 @@ function invokeCommand(
629
636
  return result as MaybePromise<Val.Struct | undefined>;
630
637
  }
631
638
 
632
- function toWildcardOrHex(name: string, value: number | bigint | undefined) {
633
- if (value === undefined) {
634
- return "*";
635
- }
636
- return `${name}:0x${value.toString(16)}`;
637
- }
638
-
639
639
  /**
640
640
  * Resolve a path into a human readable textual form for logging
641
641
  * TODO: Add a Diagnostic display formatter for this
@@ -656,35 +656,35 @@ function resolvePathForNode(node: NodeProtocol, path: AttributePath | EventPath
656
656
  : undefined;
657
657
 
658
658
  if (endpointId === undefined) {
659
- return `*.${toWildcardOrHex("", clusterId)}.${toWildcardOrHex("", elementId)}${postString}`;
659
+ return `*.${toWildcardOrHexPath("", clusterId)}.${toWildcardOrHexPath("", elementId)}${postString}`;
660
660
  }
661
661
 
662
662
  const endpoint = node[endpointId];
663
663
  if (endpoint === undefined) {
664
- return `${toWildcardOrHex("?", endpointId)}.${toWildcardOrHex("", clusterId)}.${toWildcardOrHex("", elementId)}${postString}`;
664
+ return `${toWildcardOrHexPath("?", endpointId)}.${toWildcardOrHexPath("", clusterId)}.${toWildcardOrHexPath("", elementId)}${postString}`;
665
665
  }
666
- const endpointName = toWildcardOrHex(endpoint.name, endpointId);
666
+ const endpointName = toWildcardOrHexPath(endpoint.name, endpointId);
667
667
 
668
668
  if (clusterId === undefined) {
669
- return `${endpointName}.*.${toWildcardOrHex("", elementId)}${postString}`;
669
+ return `${endpointName}.*.${toWildcardOrHexPath("", elementId)}${postString}`;
670
670
  }
671
671
 
672
672
  const cluster = endpoint[clusterId];
673
673
  if (cluster === undefined) {
674
- return `${endpointName}.${toWildcardOrHex("?", clusterId)}.${toWildcardOrHex("", elementId)}${postString}`;
674
+ return `${endpointName}.${toWildcardOrHexPath("?", clusterId)}.${toWildcardOrHexPath("", elementId)}${postString}`;
675
675
  }
676
- const clusterName = toWildcardOrHex(cluster.type.name, clusterId);
676
+ const clusterName = toWildcardOrHexPath(cluster.type.name, clusterId);
677
677
 
678
678
  if (elementId !== undefined) {
679
679
  if ("eventId" in path) {
680
680
  const event = cluster.type.events[elementId];
681
- return `${endpointName}.${clusterName}.${toWildcardOrHex(event?.name ?? "?", elementId)}${postString}`;
681
+ return `${endpointName}.${clusterName}.${toWildcardOrHexPath(event?.name ?? "?", elementId)}${postString}`;
682
682
  } else if ("attributeId" in path) {
683
683
  const attribute = cluster.type.attributes[elementId];
684
- return `${endpointName}.${clusterName}.${toWildcardOrHex(attribute?.name ?? "?", elementId)}${postString}`;
684
+ return `${endpointName}.${clusterName}.${toWildcardOrHexPath(attribute?.name ?? "?", elementId)}${postString}`;
685
685
  } else if ("commandId" in path) {
686
686
  const command = cluster.type.commands[elementId];
687
- return `${endpointName}.${clusterName}.${toWildcardOrHex(command?.name ?? "?", elementId)}${postString}`;
687
+ return `${endpointName}.${clusterName}.${toWildcardOrHexPath(command?.name ?? "?", elementId)}${postString}`;
688
688
  } else {
689
689
  throw new ImplementationError("Invalid path");
690
690
  }
@@ -46,6 +46,7 @@ import {
46
46
  DEFAULT_MAX_PATHS_PER_INVOKE,
47
47
  INTERACTION_PROTOCOL_ID,
48
48
  ReceivedStatusResponseError,
49
+ Status,
49
50
  StatusCode,
50
51
  StatusResponseError,
51
52
  TlvAny,
@@ -256,14 +257,20 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
256
257
  eventFilters,
257
258
  interactionModelRevision,
258
259
  } = readRequest;
259
- logger.debug(
260
- () =>
261
- `Received read request from ${exchange.channel.name}: attributes:${
260
+
261
+ logger.debug(() => [
262
+ "Read «",
263
+ exchange.via,
264
+ Diagnostic.asFlags({ fabricFiltered: isFabricFiltered }),
265
+ Diagnostic.dict({
266
+ attributes: `${
262
267
  attributeRequests?.map(path => this.#node.protocol.inspectPath(path)).join(", ") ?? "none"
263
- }${dataVersionFilters?.length ? ` with ${dataVersionFilters?.length} filters` : ""}, events:${
268
+ }${dataVersionFilters?.length ? ` with ${dataVersionFilters?.length} filters` : ""}`,
269
+ events: `${
264
270
  eventRequests?.map(path => this.#node.protocol.inspectPath(path)).join(", ") ?? "none"
265
- }${eventFilters?.length ? `, ${eventFilters?.length} filters` : ""}, isFabricFiltered=${isFabricFiltered}`,
266
- );
271
+ }${eventFilters?.length ? `, ${eventFilters?.length} filters` : ""}`,
272
+ }),
273
+ ]);
267
274
 
268
275
  if (interactionModelRevision > Specification.INTERACTION_MODEL_REVISION) {
269
276
  logger.debug(
@@ -303,12 +310,13 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
303
310
  const { suppressResponse, timedRequest, writeRequests, interactionModelRevision, moreChunkedMessages } =
304
311
  writeRequest;
305
312
  const sessionType = message.packetHeader.sessionType;
306
- logger.debug(
307
- () =>
308
- `Received write request from ${exchange.channel.name}: ${writeRequests
309
- .map(req => this.#node.protocol.inspectPath(req.path))
310
- .join(", ")}, suppressResponse=${suppressResponse}, moreChunkedMessages=${moreChunkedMessages}`,
311
- );
313
+
314
+ logger.info(() => [
315
+ "Write «",
316
+ exchange.via,
317
+ Diagnostic.asFlags({ suppressResponse, moreChunkedMessages }),
318
+ Diagnostic.weak(writeRequests.map(req => this.#node.protocol.inspectPath(req.path)).join(", ")),
319
+ ]);
312
320
 
313
321
  if (moreChunkedMessages && suppressResponse) {
314
322
  throw new StatusResponseError(
@@ -345,9 +353,7 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
345
353
  }
346
354
 
347
355
  if (receivedWithinTimedInteraction) {
348
- logger.debug(
349
- `Write request from ${exchange.channel.name} successfully received while timed interaction is running.`,
350
- );
356
+ logger.debug("Write request for timed interaction on", exchange.channel.name);
351
357
  exchange.clearTimedInteraction();
352
358
  if (sessionType !== SessionType.Unicast) {
353
359
  throw new StatusResponseError(
@@ -402,9 +408,16 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
402
408
  isFabricFiltered,
403
409
  interactionModelRevision,
404
410
  } = request;
405
- logger.debug(
406
- `Received subscribe request from ${exchange.channel.name} (keepSubscriptions=${keepSubscriptions}, isFabricFiltered=${isFabricFiltered})`,
407
- );
411
+
412
+ logger.info(() => [
413
+ "Subscribe «",
414
+ exchange.via,
415
+ Diagnostic.asFlags({ fabricFiltered: isFabricFiltered, keepSubscriptions }),
416
+ Diagnostic.dict({
417
+ attributePaths: attributeRequests?.length,
418
+ eventPaths: eventRequests?.length,
419
+ }),
420
+ ]);
408
421
 
409
422
  if (interactionModelRevision > Specification.INTERACTION_MODEL_REVISION) {
410
423
  logger.debug(
@@ -442,27 +455,29 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
442
455
  throw new StatusResponseError("No attributes or events requested", StatusCode.InvalidAction);
443
456
  }
444
457
 
445
- logger.debug(
446
- () =>
447
- `Subscribe to attributes: ${
448
- attributeRequests?.map(path => this.#node.protocol.inspectPath(path)).join(", ") ?? "none"
449
- }, events: ${eventRequests?.map(path => this.#node.protocol.inspectPath(path)).join(", ") ?? "none"}`,
450
- );
451
-
452
- if (dataVersionFilters !== undefined && dataVersionFilters.length > 0) {
453
- logger.debug(
454
- `DataVersionFilters: ${dataVersionFilters
455
- .map(
456
- ({ path: { nodeId, endpointId, clusterId }, dataVersion }) =>
457
- `${clusterPathToId({ nodeId, endpointId, clusterId })}=${dataVersion}`,
458
- )
459
- .join(", ")}`,
460
- );
461
- }
462
- if (eventFilters !== undefined && eventFilters.length > 0)
463
- logger.debug(
464
- `Event filters: ${eventFilters.map(filter => `${filter.nodeId}/${filter.eventMin}`).join(", ")}`,
465
- );
458
+ logger.debug(() => [
459
+ "Subscribe request details «",
460
+ exchange.via,
461
+ Diagnostic.dict({
462
+ attributes: attributeRequests?.length
463
+ ? attributeRequests?.map(path => this.#node.protocol.inspectPath(path)).join(", ")
464
+ : undefined,
465
+ dataVersionFilters: dataVersionFilters?.length
466
+ ? dataVersionFilters
467
+ .map(
468
+ ({ path: { nodeId, endpointId, clusterId }, dataVersion }) =>
469
+ `${clusterPathToId({ nodeId, endpointId, clusterId })}=${dataVersion}`,
470
+ )
471
+ .join(", ")
472
+ : undefined,
473
+ events: eventRequests?.length
474
+ ? eventRequests.map(path => this.#node.protocol.inspectPath(path)).join(", ")
475
+ : undefined,
476
+ eventFilters: eventFilters?.length
477
+ ? eventFilters.map(filter => `${filter.nodeId}/${filter.eventMin}`).join(", ")
478
+ : undefined,
479
+ }),
480
+ ]);
466
481
 
467
482
  // Validate of the paths before proceeding
468
483
  attributeRequests?.forEach(path => validateReadAttributesPath(path));
@@ -507,7 +522,14 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
507
522
  error instanceof MatterError ? error.message : error,
508
523
  );
509
524
  if (error instanceof StatusResponseError && !(error instanceof ReceivedStatusResponseError)) {
510
- logger.info(`Sending status response ${error.code} for interaction error: ${error.message}`);
525
+ logger.info(
526
+ "Status",
527
+ Diagnostic.strong(`${Status[error.code]}(${error.code})`),
528
+ "»",
529
+ exchange.via,
530
+ "Error:",
531
+ Diagnostic.errorMessage(error),
532
+ );
511
533
  await messenger.sendStatus(error.code, {
512
534
  logContext: {
513
535
  for: "I/SubscriptionSeed-Status",
@@ -588,10 +610,15 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
588
610
  }
589
611
 
590
612
  logger.info(
591
- `Successfully created subscription ${id} for Session ${
592
- session.id
593
- } to ${session.peerAddress}. Updates: ${minIntervalFloorSeconds} - ${maxIntervalCeilingSeconds} => ${Duration.format(subscription.maxInterval)} (sendInterval = ${Duration.format(subscription.sendInterval)})`,
613
+ "Subscribe successful »",
614
+ exchange.via,
615
+ Diagnostic.dict({
616
+ subId: id,
617
+ timing: `${Duration.format(Seconds(minIntervalFloorSeconds))} - ${Duration.format(Seconds(maxIntervalCeilingSeconds))} => ${Duration.format(subscription.maxInterval)}`,
618
+ sendInterval: Duration.format(subscription.sendInterval),
619
+ }),
594
620
  );
621
+
595
622
  return subscription;
596
623
  }
597
624
 
@@ -610,10 +637,18 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
610
637
  ) {
611
638
  const exchange = this.#context.exchangeManager.initiateExchange(session.peerAddress, INTERACTION_PROTOCOL_ID);
612
639
  const message = {} as Message;
613
- logger.debug(
614
- `Send DataReports to re-establish subscription ${subscriptionId} to `,
615
- Diagnostic.dict({ isFabricFiltered, maxInterval, sendInterval }),
640
+
641
+ logger.info(
642
+ `Reestablish subscription »`,
643
+ exchange.via,
644
+ Diagnostic.dict({
645
+ subId: subscriptionId,
646
+ isFabricFiltered,
647
+ maxInterval: Duration.format(maxInterval),
648
+ sendInterval: Duration.format(sendInterval),
649
+ }),
616
650
  );
651
+
617
652
  const context: ServerSubscriptionContext = {
618
653
  session,
619
654
  node: this.#node,
@@ -645,10 +680,15 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
645
680
  true, // Do not send status responses because we simulate that the subscription is still established
646
681
  );
647
682
  subscription.activate();
683
+
648
684
  logger.info(
649
- `Successfully re-established subscription ${subscriptionId} for Session ${
650
- session.id
651
- } to ${session.peerAddress}. Updates: ${minIntervalFloor} - ${maxIntervalCeiling} => ${Duration.format(subscription.maxInterval)} (sendInterval = ${Duration.format(subscription.sendInterval)})`,
685
+ `Subscription successfully reestablished »`,
686
+ exchange.via,
687
+ Diagnostic.dict({
688
+ subId: subscriptionId,
689
+ timing: `${Duration.format(minIntervalFloor)} - ${Duration.format(maxIntervalCeiling)} => ${Duration.format(subscription.maxInterval)}`,
690
+ sendInterval: Duration.format(subscription.sendInterval),
691
+ }),
652
692
  );
653
693
  } catch (error) {
654
694
  await subscription.close(); // Cleanup
@@ -664,14 +704,18 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
664
704
  message: Message,
665
705
  ): Promise<void> {
666
706
  const { invokeRequests, timedRequest, suppressResponse, interactionModelRevision } = request;
667
- logger.debug(
668
- () =>
669
- `Received invoke request from ${exchange.channel.name}${invokeRequests.length > 0 ? ` with ${invokeRequests.length} commands` : ""}: ${invokeRequests
707
+ logger.info(() => [
708
+ "Invoke «",
709
+ exchange.via,
710
+ Diagnostic.asFlags({ suppressResponse, timedRequest }),
711
+ Diagnostic.dict({
712
+ invokes: invokeRequests
670
713
  .map(({ commandPath: { endpointId, clusterId, commandId } }) =>
671
714
  this.#node.protocol.inspectPath({ endpointId, clusterId, commandId }),
672
715
  )
673
- .join(", ")}, suppressResponse=${suppressResponse}`,
674
- );
716
+ .join(", "),
717
+ }),
718
+ ]);
675
719
 
676
720
  if (interactionModelRevision > Specification.INTERACTION_MODEL_REVISION) {
677
721
  logger.debug(
@@ -693,7 +737,7 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
693
737
  }
694
738
 
695
739
  if (receivedWithinTimedInteraction) {
696
- logger.debug(`Invoke request from ${exchange.channel.name} received while timed interaction is running.`);
740
+ logger.debug("Invoke request for timed interaction on", exchange.channel.name);
697
741
  exchange.clearTimedInteraction();
698
742
  if (message.packetHeader.sessionType !== SessionType.Unicast) {
699
743
  throw new StatusResponseError(
@@ -750,7 +794,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
750
794
  if (invokeResponseMessage.invokeResponses.length > 0) {
751
795
  if (invokeRequests.length > 1) {
752
796
  logger.debug(
753
- `Send ${lastMessageProcessed ? "final " : ""}invoke response for ${invokeResponseMessage.invokeResponses.length} commands`,
797
+ `${lastMessageProcessed ? "Final " : ""}Invoke response »`,
798
+ Diagnostic.dict({ commands: invokeResponseMessage.invokeResponses.length }),
754
799
  );
755
800
  }
756
801
  const moreChunkedMessages = lastMessageProcessed ? undefined : true;
@@ -817,7 +862,13 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
817
862
  handleTimedRequest(exchange: MessageExchange, { timeout, interactionModelRevision }: TimedRequest) {
818
863
  const interval = Millis(timeout);
819
864
 
820
- logger.debug(`Received timed request (${Duration.format(interval)}) from ${exchange.channel.name}`);
865
+ logger.debug(() => [
866
+ "Timed request «",
867
+ exchange.via,
868
+ Diagnostic.dict({
869
+ interval: Duration.format(interval),
870
+ }),
871
+ ]);
821
872
 
822
873
  if (interactionModelRevision > Specification.INTERACTION_MODEL_REVISION) {
823
874
  logger.debug(
@@ -50,7 +50,7 @@ export class OnlineServerInteraction implements Interactable<RemoteActorContext.
50
50
  yield chunk;
51
51
  }
52
52
  } catch (error) {
53
- session.reject(error);
53
+ await session.reject(error);
54
54
  }
55
55
  return session.resolve(undefined);
56
56
  }