@matter/protocol 0.16.8-alpha.0-20260123-dff2cae52 → 0.16.8-alpha.0-20260125-38e62bc3e

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 (79) hide show
  1. package/dist/cjs/action/client/ClientInteraction.d.ts +4 -4
  2. package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
  3. package/dist/cjs/action/client/ClientInteraction.js +48 -6
  4. package/dist/cjs/action/client/ClientInteraction.js.map +1 -1
  5. package/dist/cjs/action/client/QueuedClientInteraction.d.ts +0 -1
  6. package/dist/cjs/action/client/QueuedClientInteraction.d.ts.map +1 -1
  7. package/dist/cjs/action/client/QueuedClientInteraction.js +0 -1
  8. package/dist/cjs/action/client/QueuedClientInteraction.js.map +1 -1
  9. package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.d.ts.map +1 -1
  10. package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.js +5 -2
  11. package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.js.map +1 -1
  12. package/dist/cjs/action/server/AttributeWriteResponse.d.ts +1 -1
  13. package/dist/cjs/action/server/AttributeWriteResponse.d.ts.map +1 -1
  14. package/dist/cjs/action/server/AttributeWriteResponse.js +0 -6
  15. package/dist/cjs/action/server/AttributeWriteResponse.js.map +1 -1
  16. package/dist/cjs/action/server/DataResponse.d.ts +5 -0
  17. package/dist/cjs/action/server/DataResponse.d.ts.map +1 -1
  18. package/dist/cjs/action/server/DataResponse.js +7 -0
  19. package/dist/cjs/action/server/DataResponse.js.map +1 -1
  20. package/dist/cjs/action/server/ServerInteraction.js.map +1 -1
  21. package/dist/cjs/interaction/InteractionMessenger.d.ts +30 -30
  22. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  23. package/dist/cjs/interaction/InteractionMessenger.js +81 -12
  24. package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
  25. package/dist/cjs/mdns/MdnsClient.d.ts.map +1 -1
  26. package/dist/cjs/mdns/MdnsClient.js +157 -100
  27. package/dist/cjs/mdns/MdnsClient.js.map +1 -1
  28. package/dist/cjs/mdns/MdnsServer.d.ts +2 -0
  29. package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -1
  30. package/dist/cjs/mdns/MdnsServer.js +45 -5
  31. package/dist/cjs/mdns/MdnsServer.js.map +1 -1
  32. package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  33. package/dist/cjs/peer/ControllerCommissioningFlow.js +3 -1
  34. package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
  35. package/dist/esm/action/client/ClientInteraction.d.ts +4 -4
  36. package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
  37. package/dist/esm/action/client/ClientInteraction.js +49 -6
  38. package/dist/esm/action/client/ClientInteraction.js.map +1 -1
  39. package/dist/esm/action/client/QueuedClientInteraction.d.ts +0 -1
  40. package/dist/esm/action/client/QueuedClientInteraction.d.ts.map +1 -1
  41. package/dist/esm/action/client/QueuedClientInteraction.js +0 -1
  42. package/dist/esm/action/client/QueuedClientInteraction.js.map +1 -1
  43. package/dist/esm/action/client/subscription/ClientSubscriptionHandler.d.ts.map +1 -1
  44. package/dist/esm/action/client/subscription/ClientSubscriptionHandler.js +5 -2
  45. package/dist/esm/action/client/subscription/ClientSubscriptionHandler.js.map +1 -1
  46. package/dist/esm/action/server/AttributeWriteResponse.d.ts +1 -1
  47. package/dist/esm/action/server/AttributeWriteResponse.d.ts.map +1 -1
  48. package/dist/esm/action/server/AttributeWriteResponse.js +0 -6
  49. package/dist/esm/action/server/AttributeWriteResponse.js.map +1 -1
  50. package/dist/esm/action/server/DataResponse.d.ts +5 -0
  51. package/dist/esm/action/server/DataResponse.d.ts.map +1 -1
  52. package/dist/esm/action/server/DataResponse.js +7 -0
  53. package/dist/esm/action/server/DataResponse.js.map +1 -1
  54. package/dist/esm/action/server/ServerInteraction.js.map +1 -1
  55. package/dist/esm/interaction/InteractionMessenger.d.ts +30 -30
  56. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  57. package/dist/esm/interaction/InteractionMessenger.js +82 -12
  58. package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
  59. package/dist/esm/mdns/MdnsClient.d.ts.map +1 -1
  60. package/dist/esm/mdns/MdnsClient.js +157 -100
  61. package/dist/esm/mdns/MdnsClient.js.map +1 -1
  62. package/dist/esm/mdns/MdnsServer.d.ts +2 -0
  63. package/dist/esm/mdns/MdnsServer.d.ts.map +1 -1
  64. package/dist/esm/mdns/MdnsServer.js +45 -5
  65. package/dist/esm/mdns/MdnsServer.js.map +1 -1
  66. package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  67. package/dist/esm/peer/ControllerCommissioningFlow.js +3 -1
  68. package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
  69. package/package.json +6 -6
  70. package/src/action/client/ClientInteraction.ts +62 -6
  71. package/src/action/client/QueuedClientInteraction.ts +0 -1
  72. package/src/action/client/subscription/ClientSubscriptionHandler.ts +5 -2
  73. package/src/action/server/AttributeWriteResponse.ts +4 -16
  74. package/src/action/server/DataResponse.ts +8 -0
  75. package/src/action/server/ServerInteraction.ts +2 -2
  76. package/src/interaction/InteractionMessenger.ts +113 -15
  77. package/src/mdns/MdnsClient.ts +207 -102
  78. package/src/mdns/MdnsServer.ts +79 -6
  79. package/src/peer/ControllerCommissioningFlow.ts +5 -1
@@ -4,6 +4,8 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { DnsRecord, Lifetime, MdnsSocket, NetworkInterfaceDetails } from "#general";
7
+ /** RFC 6762 §7.3 - Window for duplicate question suppression (999ms per python-zeroconf) */
8
+ export declare const QUESTION_SUPPRESSION_WINDOW: import("#general").Duration;
7
9
  export declare class MdnsServer {
8
10
  #private;
9
11
  constructor(socket: MdnsSocket, lifetime?: Lifetime.Owner);
@@ -1 +1 @@
1
- {"version":3,"file":"MdnsServer.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAMH,SAAS,EAIT,QAAQ,EAGR,UAAU,EAGV,uBAAuB,EAI1B,MAAM,UAAU,CAAC;AAIlB,qBAAa,UAAU;;gBA0BP,MAAM,EAAE,UAAU,EAAE,QAAQ,iBAAmB;IAM3D,IAAI,OAAO,+BAEV;IAED,IAAI,YAAY,YAEf;IAED,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;IAwGjF,SAAS,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE;IAkB/B,mBAAmB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE;IA2BzC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,eAAe;IAW1E,KAAK;CAkFd;AAED,yBAAiB,UAAU,CAAC;IACxB,UAAiB,eAAe;QAC5B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,SAAS,EAAE,CAAC;KAC/D;CACJ"}
1
+ {"version":3,"file":"MdnsServer.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAMH,SAAS,EAIT,QAAQ,EAGR,UAAU,EAGV,uBAAuB,EAK1B,MAAM,UAAU,CAAC;AAIlB,4FAA4F;AAC5F,eAAO,MAAM,2BAA2B,6BAAc,CAAC;AAEvD,qBAAa,UAAU;;gBAkCP,MAAM,EAAE,UAAU,EAAE,QAAQ,iBAAmB;IAM3D,IAAI,OAAO,+BAEV;IAED,IAAI,YAAY,YAEf;IAED,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;IA6GjF,SAAS,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE;IAiB/B,mBAAmB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE;IAwBzC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,eAAe;IAa1E,KAAK;CA4Id;AAED,yBAAiB,UAAU,CAAC;IACxB,UAAiB,eAAe;QAC5B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,SAAS,EAAE,CAAC;KAC/D;CACJ"}
@@ -66,6 +66,7 @@ import {
66
66
  Time
67
67
  } from "#general";
68
68
  const logger = Logger.get("MdnsServer");
69
+ const QUESTION_SUPPRESSION_WINDOW = Millis(999);
69
70
  class MdnsServer {
70
71
  #lifetime;
71
72
  #observers = new ObserverGroup();
@@ -87,6 +88,8 @@ class MdnsServer {
87
88
  );
88
89
  #recordLastSentAsMulticastAnswer = /* @__PURE__ */ new Map();
89
90
  #truncatedQueryCache = /* @__PURE__ */ new Map();
91
+ /** RFC 6762 §7.3 - Tracks recently answered queries for duplicate suppression */
92
+ #recentlyAnsweredQueries = /* @__PURE__ */ new Map();
90
93
  #socket;
91
94
  constructor(socket, lifetime = Lifetime.process) {
92
95
  this.#socket = socket;
@@ -150,6 +153,9 @@ class MdnsServer {
150
153
  (_2, index) => answersTimeSinceLastSent[index].timeSinceLastMultiCast >= Millis(900)
151
154
  );
152
155
  if (answers.length === 0) continue;
156
+ if (this.#shouldSuppressResponse(queries, knownAnswers, sourceIntf, answers)) {
157
+ continue;
158
+ }
153
159
  answers.forEach(
154
160
  (answer) => this.#recordLastSentAsMulticastAnswer.set(this.buildDnsRecordKey(answer, sourceIntf), now)
155
161
  );
@@ -216,12 +222,8 @@ class MdnsServer {
216
222
  const records = await this.#records.get(netInterface);
217
223
  for (const [service, serviceRecords] of records) {
218
224
  if (services.length && !services.includes(service)) continue;
219
- const instanceSet = /* @__PURE__ */ new Set();
220
225
  serviceRecords.forEach((record) => {
221
226
  record.ttl = Instant;
222
- if (record.recordType === DnsRecordType.TXT) {
223
- instanceSet.add(record.name);
224
- }
225
227
  });
226
228
  await this.#announceRecordsForInterface(netInterface, serviceRecords);
227
229
  this.#recordsGenerator.delete(service);
@@ -240,11 +242,13 @@ class MdnsServer {
240
242
  async setRecordsGenerator(service, generator) {
241
243
  await this.#records.clear();
242
244
  this.#recordLastSentAsMulticastAnswer.clear();
245
+ this.#recentlyAnsweredQueries.clear();
243
246
  this.#recordsGenerator.set(service, generator);
244
247
  }
245
248
  async #resetServices() {
246
249
  await this.#records.clear();
247
250
  this.#recordLastSentAsMulticastAnswer.clear();
251
+ this.#recentlyAnsweredQueries.clear();
248
252
  }
249
253
  async close() {
250
254
  var _stack = [];
@@ -257,6 +261,7 @@ class MdnsServer {
257
261
  }
258
262
  this.#truncatedQueryCache.clear();
259
263
  this.#recordLastSentAsMulticastAnswer.clear();
264
+ this.#recentlyAnsweredQueries.clear();
260
265
  } catch (_) {
261
266
  var _error = _, _hasError = true;
262
267
  } finally {
@@ -274,6 +279,40 @@ class MdnsServer {
274
279
  return records.filter((record) => record.name === name && record.recordType === recordType);
275
280
  }
276
281
  }
282
+ /**
283
+ * RFC 6762 §7.3 - Checks if we should suppress a response because another responder
284
+ * has recently answered the same question with answers that cover what we'd send.
285
+ * Also, lazily cleans up expired entries from the cache.
286
+ */
287
+ #shouldSuppressResponse(queries, knownAnswers, sourceIntf, answers) {
288
+ const now = Time.nowMs;
289
+ for (const [key, entry] of this.#recentlyAnsweredQueries) {
290
+ if (now - entry.timestamp >= QUESTION_SUPPRESSION_WINDOW) {
291
+ this.#recentlyAnsweredQueries.delete(key);
292
+ }
293
+ }
294
+ const queryKey = queries.map((q) => `${q.name}-${q.recordType}`).sort().join("|") + `-${sourceIntf}`;
295
+ const cached = this.#recentlyAnsweredQueries.get(queryKey);
296
+ if (cached && now - cached.timestamp < QUESTION_SUPPRESSION_WINDOW) {
297
+ const answerHashes = answers.map((a) => this.buildDnsRecordKey(a, sourceIntf));
298
+ const allAnswersKnown = answerHashes.every((h) => cached.knownAnswerHashes.has(h));
299
+ if (allAnswersKnown) {
300
+ return true;
301
+ }
302
+ }
303
+ const knownAnswerHashes = /* @__PURE__ */ new Set();
304
+ for (const answer of knownAnswers) {
305
+ knownAnswerHashes.add(this.buildDnsRecordKey(answer, sourceIntf));
306
+ }
307
+ for (const answer of answers) {
308
+ knownAnswerHashes.add(this.buildDnsRecordKey(answer, sourceIntf));
309
+ }
310
+ this.#recentlyAnsweredQueries.set(queryKey, {
311
+ knownAnswerHashes,
312
+ timestamp: now
313
+ });
314
+ return false;
315
+ }
277
316
  async #processTruncatedQuery(key) {
278
317
  const { message, timer } = this.#truncatedQueryCache.get(key) ?? {};
279
318
  this.#truncatedQueryCache.delete(key);
@@ -323,6 +362,7 @@ class MdnsServer {
323
362
  }
324
363
  }
325
364
  export {
326
- MdnsServer
365
+ MdnsServer,
366
+ QUESTION_SUPPRESSION_WINDOW
327
367
  };
328
368
  //# sourceMappingURL=MdnsServer.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/mdns/MdnsServer.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["_"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ControllerCommissioningFlow.d.ts","sourceRoot":"","sources":["../../../src/peer/ControllerCommissioningFlow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ControllerCommissioningFlow.d.ts","sourceRoot":"","sources":["../../../src/peer/ControllerCommissioningFlow.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { WriteResult } from "#action/index.js";
6
7
  import { Invoke } from "#action/request/Invoke.js";
7
8
  import { Read } from "#action/request/Read.js";
8
9
  import { Write } from "#action/request/Write.js";
@@ -1286,7 +1287,7 @@ class ControllerCommissioningFlow {
1286
1287
  let success = false;
1287
1288
  for (const requestorEndpoint of this.collectedCommissioningData.otaRequestorList) {
1288
1289
  try {
1289
- await this.interaction.write(
1290
+ const writeResult = await this.interaction.write(
1290
1291
  Write(
1291
1292
  Write.Attribute({
1292
1293
  endpoint: requestorEndpoint,
@@ -1302,6 +1303,7 @@ class ControllerCommissioningFlow {
1302
1303
  })
1303
1304
  )
1304
1305
  );
1306
+ WriteResult.assertSuccess(writeResult);
1305
1307
  success = true;
1306
1308
  logger.debug(`Added default OTA provider on endpoint ${endpoint}`);
1307
1309
  } catch (error) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/peer/ControllerCommissioningFlow.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["CommissioningStepResultCode"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/protocol",
3
- "version": "0.16.8-alpha.0-20260123-dff2cae52",
3
+ "version": "0.16.8-alpha.0-20260125-38e62bc3e",
4
4
  "description": "Low-level APIs for Matter interaction",
5
5
  "keywords": [
6
6
  "iot",
@@ -40,13 +40,13 @@
40
40
  "#*": "./src/*"
41
41
  },
42
42
  "dependencies": {
43
- "@matter/general": "0.16.8-alpha.0-20260123-dff2cae52",
44
- "@matter/model": "0.16.8-alpha.0-20260123-dff2cae52",
45
- "@matter/types": "0.16.8-alpha.0-20260123-dff2cae52"
43
+ "@matter/general": "0.16.8-alpha.0-20260125-38e62bc3e",
44
+ "@matter/model": "0.16.8-alpha.0-20260125-38e62bc3e",
45
+ "@matter/types": "0.16.8-alpha.0-20260125-38e62bc3e"
46
46
  },
47
47
  "devDependencies": {
48
- "@matter/tools": "0.16.8-alpha.0-20260123-dff2cae52",
49
- "@matter/testing": "0.16.8-alpha.0-20260123-dff2cae52"
48
+ "@matter/tools": "0.16.8-alpha.0-20260125-38e62bc3e",
49
+ "@matter/testing": "0.16.8-alpha.0-20260125-38e62bc3e"
50
50
  },
51
51
  "files": [
52
52
  "dist/**/*",
@@ -19,6 +19,7 @@ import { BdxMessenger } from "#bdx/BdxMessenger.js";
19
19
  import { Mark } from "#common/Mark.js";
20
20
  import {
21
21
  Abort,
22
+ AsyncIterator,
22
23
  BasicSet,
23
24
  Diagnostic,
24
25
  Duration,
@@ -38,6 +39,7 @@ import { InteractionClientMessenger, MessageType } from "#interaction/Interactio
38
39
  import { Subscription } from "#interaction/Subscription.js";
39
40
  import { PeerAddress } from "#peer/PeerAddress.js";
40
41
  import { ExchangeProvider } from "#protocol/ExchangeProvider.js";
42
+ import { SessionClosedError } from "#protocol/index.js";
41
43
  import { SecureSession } from "#session/SecureSession.js";
42
44
  import { Status, TlvAttributeReport, TlvNoResponse, TlvSubscribeResponse, TypeFromSchema } from "#types";
43
45
  import { ClientWrite } from "./ClientWrite.js";
@@ -186,10 +188,7 @@ export class ClientInteraction<
186
188
  }
187
189
 
188
190
  /**
189
- * Update node attributes.
190
- *
191
- * Writes with the Matter protocol are generally not atomic, so this method only throws if the entire action fails.
192
- * You must check each {@link WriteResult.AttributeStatus} to determine whether individual updates failed.
191
+ * Write to node attributes.
193
192
  */
194
193
  async write<T extends ClientWrite>(request: T, session?: SessionT): WriteResult<T> {
195
194
  await using context = await this.#begin("writing", request, session);
@@ -253,9 +252,9 @@ export class ClientInteraction<
253
252
  }
254
253
 
255
254
  /**
256
- * Invoke one or more commands.
255
+ * Invoke a single batch of commands (internal implementation).
257
256
  */
258
- async *invoke(request: ClientInvoke, session?: SessionT): DecodedInvokeResult {
257
+ async *#invokeSingle(request: ClientInvoke, session?: SessionT): DecodedInvokeResult {
259
258
  await using context = await this.#begin("invoking", request, session);
260
259
  const { checkAbort, messenger } = context;
261
260
 
@@ -358,6 +357,63 @@ export class ClientInteraction<
358
357
  }
359
358
  }
360
359
 
360
+ /**
361
+ * Split commands across multiple parallel invoke-exchanges.
362
+ * Results are streamed as they arrive from any batch, not buffered.
363
+ */
364
+ async *#invokeWithSplitting(
365
+ request: ClientInvoke,
366
+ maxPathsPerInvoke: number,
367
+ session?: SessionT,
368
+ ): DecodedInvokeResult {
369
+ // Split commands into batches
370
+ const allCommands = [...request.commands.entries()];
371
+ const batches = new Array<ClientInvoke["commands"]>();
372
+
373
+ for (let i = 0; i < allCommands.length; i += maxPathsPerInvoke) {
374
+ const batchEntries = allCommands.slice(i, i + maxPathsPerInvoke);
375
+ batches.push(new Map(batchEntries));
376
+ }
377
+
378
+ // Create async iterators for each batch and merge results as they arrive
379
+ const iterators = batches.map(batchCommands => {
380
+ const batchRequest: ClientInvoke = {
381
+ ...request,
382
+ commands: batchCommands,
383
+ };
384
+ return this.#invokeSingle(batchRequest, session);
385
+ });
386
+
387
+ yield* AsyncIterator.merge(iterators, "One or more invoke batches failed");
388
+ }
389
+
390
+ /** Get the effective MaxPathsPerInvoke parameter from the session, or 1 as a fallback as defined by spec. */
391
+ get #maxPathsPerInvoke(): number {
392
+ try {
393
+ return this.session.parameters.maxPathsPerInvoke;
394
+ } catch (error) {
395
+ SessionClosedError.accept(error);
396
+ return 1;
397
+ }
398
+ }
399
+
400
+ /**
401
+ * Invoke one or more commands.
402
+ *
403
+ * When the number of commands exceeds the peer's MaxPathsPerInvoke limit (or 1 for older nodes),
404
+ * commands are split across multiple parallel exchanges automatically.
405
+ */
406
+ async *invoke(request: ClientInvoke, session?: SessionT): DecodedInvokeResult {
407
+ const maxPathsPerInvoke = this.#maxPathsPerInvoke;
408
+ const commandCount = request.commands.size;
409
+
410
+ if (commandCount > maxPathsPerInvoke) {
411
+ yield* this.#invokeWithSplitting(request, maxPathsPerInvoke, session);
412
+ } else {
413
+ yield* this.#invokeSingle(request, session);
414
+ }
415
+ }
416
+
361
417
  /**
362
418
  * Subscribe to attribute values and events.
363
419
  */
@@ -69,7 +69,6 @@ export class QueuedClientInteraction<
69
69
 
70
70
  /**
71
71
  * Write chosen attributes remotely to the node.
72
- * The returned attribute writing status information is returned.
73
72
  */
74
73
  override async write<T extends ClientWrite>(request: T, session?: SessionT): WriteResult<T> {
75
74
  using _slot = await this.queue.obtainSlot();
@@ -44,7 +44,7 @@ export class ClientSubscriptionHandler implements ProtocolHandler {
44
44
  // Ensure there is a subscription ID present
45
45
  const { subscriptionId } = initialReport;
46
46
  if (subscriptionId === undefined) {
47
- logger.debug("Ignoring unsolicited data report with no subscription ID");
47
+ logger.debug(exchange.via, "Ignoring unsolicited data report with no subscription ID");
48
48
  await sendInvalid(messenger, undefined);
49
49
  return;
50
50
  }
@@ -55,6 +55,7 @@ export class ClientSubscriptionHandler implements ProtocolHandler {
55
55
  const subscription = this.#subscriptions.getPeer(session.peerAddress, subscriptionId);
56
56
  if (subscription === undefined) {
57
57
  logger.info(
58
+ exchange.via,
58
59
  "Ignoring data report for unknown subscription ID",
59
60
  Diagnostic.strong(Subscription.idStrOf(subscriptionId)),
60
61
  );
@@ -72,6 +73,7 @@ export class ClientSubscriptionHandler implements ProtocolHandler {
72
73
  const ending = await reports.next();
73
74
  if (!ending.done) {
74
75
  logger.warn(
76
+ exchange.via,
75
77
  "Unexpected data reports after empty report",
76
78
  Diagnostic.strong(Subscription.idStrOf(subscriptionId)),
77
79
  );
@@ -125,13 +127,14 @@ async function* processReports(
125
127
  for await (const report of otherReports) {
126
128
  const { subscriptionId: reportSubscriptionId } = report;
127
129
  if (reportSubscriptionId === undefined) {
128
- logger.debug("Ignoring data report with missing subscription id");
130
+ logger.debug(messenger.exchange.via, "Ignoring data report with missing subscription id");
129
131
  await sendInvalid(messenger, reportSubscriptionId);
130
132
  continue;
131
133
  }
132
134
 
133
135
  if (reportSubscriptionId !== subscriptionId) {
134
136
  logger.debug(
137
+ messenger.exchange.via,
135
138
  "Ignoring data report for incorrect subscription id",
136
139
  Diagnostic.strong(Subscription.idStrOf(reportSubscriptionId)),
137
140
  "expected",
@@ -40,7 +40,6 @@ export class AttributeWriteResponse<
40
40
  // a cache between producers that touch the same endpoint and/or cluster
41
41
  #currentEndpoint?: EndpointProtocol;
42
42
  #currentCluster?: ClusterProtocol;
43
- #previousProcessedAttributePath?: WriteResult.ConcreteAttributePath;
44
43
 
45
44
  // Count how many attribute status (on error) and attribute values (on success) we have emitted
46
45
  #statusCount = 0;
@@ -52,7 +51,7 @@ export class AttributeWriteResponse<
52
51
  this.#fabricIndex = session.fabric ?? FabricIndex.NO_FABRIC;
53
52
  }
54
53
 
55
- async process<T extends Write>({ writeRequests, suppressResponse }: T): WriteResult<T> {
54
+ async process({ writeRequests, suppressResponse }: Write): Promise<WriteResult.AttributeStatus[] | undefined> {
56
55
  using _writing = this.join("writing");
57
56
 
58
57
  const writeResponses = new Array<WriteResult.AttributeStatus>();
@@ -75,9 +74,9 @@ export class AttributeWriteResponse<
75
74
  }
76
75
 
77
76
  if (!suppressResponse) {
78
- return writeResponses as Awaited<WriteResult<T>>;
77
+ return writeResponses;
79
78
  }
80
- return undefined as Awaited<WriteResult<T>>;
79
+ return undefined;
81
80
  }
82
81
 
83
82
  /** Guarded accessor for this.#currentEndpoint. This should never be undefined */
@@ -394,9 +393,6 @@ export class AttributeWriteResponse<
394
393
  );
395
394
  }
396
395
 
397
- const previousPath = this.#previousProcessedAttributePath;
398
- this.#previousProcessedAttributePath = path;
399
-
400
396
  try {
401
397
  const { tlv } = attribute;
402
398
  if (listIndex === undefined) {
@@ -408,15 +404,7 @@ export class AttributeWriteResponse<
408
404
  writeState[attributeId] = decoded;
409
405
  await this.session.transaction?.commit();
410
406
  } else if (listIndex === null) {
411
- if (
412
- previousPath?.endpointId !== path.endpointId ||
413
- previousPath?.clusterId !== path.clusterId ||
414
- previousPath?.attributeId !== path.attributeId
415
- ) {
416
- // Mimic chip sdk behavior
417
- throw new StatusResponseError("ADD list action without a former REPLACE_ALL action", Status.Busy);
418
- }
419
- // ADD
407
+ // ADD - caller (InteractionServer) has already validated that this ADD is allowed
420
408
  if (!(tlv instanceof ArraySchema)) {
421
409
  throw new StatusResponseError(
422
410
  `Unsupported Write path provided: listIndex === ${listIndex} but attribute is not a list`,
@@ -42,6 +42,14 @@ export abstract class DataResponse<SessionT extends InteractionSession = Interac
42
42
  return this.#session;
43
43
  }
44
44
 
45
+ /**
46
+ * Update the session for processing subsequent chunks.
47
+ * This allows reusing the same response instance while maintaining state across chunks.
48
+ */
49
+ protected updateSession(session: SessionT) {
50
+ this.#session = session;
51
+ }
52
+
45
53
  /**
46
54
  * The node ID used to filter paths with node ID specified. Unsure if this is ever actually used.
47
55
  */
@@ -69,11 +69,11 @@ export class ServerInteraction<
69
69
  // TODO - validate request
70
70
 
71
71
  const writer = new AttributeWriteResponse(this.#node, session);
72
- return await writer.process(request);
72
+ return (await writer.process(request)) as Awaited<WriteResult<T>>;
73
73
  }
74
74
 
75
75
  async *invoke(request: Invoke, session: SessionT): InvokeResult {
76
- // TODO - validate request
76
+ // TODO - validate request
77
77
 
78
78
  const invoker = new CommandInvokeResponse(this.#node, session);
79
79
  yield* invoker.process(request);