@matter/protocol 0.15.1 → 0.15.2-alpha.0-20250703-2e16aba2b

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 (149) hide show
  1. package/dist/cjs/action/Val.d.ts +4 -0
  2. package/dist/cjs/action/Val.d.ts.map +1 -1
  3. package/dist/cjs/action/Val.js.map +1 -1
  4. package/dist/cjs/action/client/ClientInteraction.d.ts +10 -8
  5. package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
  6. package/dist/cjs/action/client/ClientInteraction.js +152 -80
  7. package/dist/cjs/action/client/ClientInteraction.js.map +1 -1
  8. package/dist/cjs/action/client/ClientSubscription.d.ts +17 -0
  9. package/dist/cjs/action/client/ClientSubscription.d.ts.map +1 -0
  10. package/dist/cjs/action/client/ClientSubscription.js +22 -0
  11. package/dist/cjs/action/client/ClientSubscription.js.map +6 -0
  12. package/dist/cjs/action/client/ClientSubscriptionHandler.d.ts +20 -0
  13. package/dist/cjs/action/client/ClientSubscriptionHandler.d.ts.map +1 -0
  14. package/dist/cjs/action/client/ClientSubscriptionHandler.js +117 -0
  15. package/dist/cjs/action/client/ClientSubscriptionHandler.js.map +6 -0
  16. package/dist/cjs/action/client/ClientSubscriptions.d.ts +45 -0
  17. package/dist/cjs/action/client/ClientSubscriptions.d.ts.map +1 -0
  18. package/dist/cjs/action/client/ClientSubscriptions.js +141 -0
  19. package/dist/cjs/action/client/ClientSubscriptions.js.map +6 -0
  20. package/dist/cjs/action/client/InputChunk.d.ts +12 -0
  21. package/dist/cjs/action/client/InputChunk.d.ts.map +1 -0
  22. package/dist/cjs/action/client/InputChunk.js +89 -0
  23. package/dist/cjs/action/client/InputChunk.js.map +6 -0
  24. package/dist/cjs/action/client/ReadScope.d.ts +26 -0
  25. package/dist/cjs/action/client/ReadScope.d.ts.map +1 -0
  26. package/dist/cjs/action/client/ReadScope.js +87 -0
  27. package/dist/cjs/action/client/ReadScope.js.map +6 -0
  28. package/dist/cjs/action/client/index.d.ts +5 -0
  29. package/dist/cjs/action/client/index.d.ts.map +1 -1
  30. package/dist/cjs/action/client/index.js +5 -0
  31. package/dist/cjs/action/client/index.js.map +1 -1
  32. package/dist/cjs/action/request/Read.d.ts +0 -4
  33. package/dist/cjs/action/request/Read.d.ts.map +1 -1
  34. package/dist/cjs/action/request/Read.js.map +1 -1
  35. package/dist/cjs/action/request/Subscribe.d.ts +14 -1
  36. package/dist/cjs/action/request/Subscribe.d.ts.map +1 -1
  37. package/dist/cjs/action/request/Subscribe.js +2 -2
  38. package/dist/cjs/action/request/Subscribe.js.map +1 -1
  39. package/dist/cjs/action/response/SubscribeResult.d.ts +3 -5
  40. package/dist/cjs/action/response/SubscribeResult.d.ts.map +1 -1
  41. package/dist/cjs/common/FailsafeContext.d.ts.map +1 -1
  42. package/dist/cjs/common/FailsafeContext.js +0 -1
  43. package/dist/cjs/common/FailsafeContext.js.map +1 -1
  44. package/dist/cjs/fabric/FabricAuthority.d.ts +6 -1
  45. package/dist/cjs/fabric/FabricAuthority.d.ts.map +1 -1
  46. package/dist/cjs/fabric/FabricAuthority.js +16 -0
  47. package/dist/cjs/fabric/FabricAuthority.js.map +1 -1
  48. package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
  49. package/dist/cjs/interaction/InteractionClient.js +8 -4
  50. package/dist/cjs/interaction/InteractionClient.js.map +1 -1
  51. package/dist/cjs/interaction/InteractionMessenger.d.ts +20 -16
  52. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  53. package/dist/cjs/interaction/InteractionMessenger.js +18 -10
  54. package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
  55. package/dist/cjs/mdns/MdnsScanner.d.ts +5 -6
  56. package/dist/cjs/mdns/MdnsScanner.d.ts.map +1 -1
  57. package/dist/cjs/mdns/MdnsScanner.js.map +1 -1
  58. package/dist/cjs/protocol/DeviceCommissioner.d.ts +1 -1
  59. package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -1
  60. package/dist/cjs/protocol/DeviceCommissioner.js +2 -5
  61. package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
  62. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +3 -0
  63. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts.map +1 -1
  64. package/dist/cjs/securechannel/SecureChannelMessenger.js +4 -0
  65. package/dist/cjs/securechannel/SecureChannelMessenger.js.map +1 -1
  66. package/dist/esm/action/Val.d.ts +4 -0
  67. package/dist/esm/action/Val.d.ts.map +1 -1
  68. package/dist/esm/action/Val.js.map +1 -1
  69. package/dist/esm/action/client/ClientInteraction.d.ts +10 -8
  70. package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
  71. package/dist/esm/action/client/ClientInteraction.js +154 -82
  72. package/dist/esm/action/client/ClientInteraction.js.map +1 -1
  73. package/dist/esm/action/client/ClientSubscription.d.ts +17 -0
  74. package/dist/esm/action/client/ClientSubscription.d.ts.map +1 -0
  75. package/dist/esm/action/client/ClientSubscription.js +6 -0
  76. package/dist/esm/action/client/ClientSubscription.js.map +6 -0
  77. package/dist/esm/action/client/ClientSubscriptionHandler.d.ts +20 -0
  78. package/dist/esm/action/client/ClientSubscriptionHandler.d.ts.map +1 -0
  79. package/dist/esm/action/client/ClientSubscriptionHandler.js +97 -0
  80. package/dist/esm/action/client/ClientSubscriptionHandler.js.map +6 -0
  81. package/dist/esm/action/client/ClientSubscriptions.d.ts +45 -0
  82. package/dist/esm/action/client/ClientSubscriptions.d.ts.map +1 -0
  83. package/dist/esm/action/client/ClientSubscriptions.js +129 -0
  84. package/dist/esm/action/client/ClientSubscriptions.js.map +6 -0
  85. package/dist/esm/action/client/InputChunk.d.ts +12 -0
  86. package/dist/esm/action/client/InputChunk.d.ts.map +1 -0
  87. package/dist/esm/action/client/InputChunk.js +69 -0
  88. package/dist/esm/action/client/InputChunk.js.map +6 -0
  89. package/dist/esm/action/client/ReadScope.d.ts +26 -0
  90. package/dist/esm/action/client/ReadScope.d.ts.map +1 -0
  91. package/dist/esm/action/client/ReadScope.js +67 -0
  92. package/dist/esm/action/client/ReadScope.js.map +6 -0
  93. package/dist/esm/action/client/index.d.ts +5 -0
  94. package/dist/esm/action/client/index.d.ts.map +1 -1
  95. package/dist/esm/action/client/index.js +5 -0
  96. package/dist/esm/action/client/index.js.map +1 -1
  97. package/dist/esm/action/request/Read.d.ts +0 -4
  98. package/dist/esm/action/request/Read.d.ts.map +1 -1
  99. package/dist/esm/action/request/Read.js.map +1 -1
  100. package/dist/esm/action/request/Subscribe.d.ts +14 -1
  101. package/dist/esm/action/request/Subscribe.d.ts.map +1 -1
  102. package/dist/esm/action/request/Subscribe.js +2 -2
  103. package/dist/esm/action/request/Subscribe.js.map +1 -1
  104. package/dist/esm/action/response/SubscribeResult.d.ts +3 -5
  105. package/dist/esm/action/response/SubscribeResult.d.ts.map +1 -1
  106. package/dist/esm/common/FailsafeContext.d.ts.map +1 -1
  107. package/dist/esm/common/FailsafeContext.js +0 -1
  108. package/dist/esm/common/FailsafeContext.js.map +1 -1
  109. package/dist/esm/fabric/FabricAuthority.d.ts +6 -1
  110. package/dist/esm/fabric/FabricAuthority.d.ts.map +1 -1
  111. package/dist/esm/fabric/FabricAuthority.js +25 -1
  112. package/dist/esm/fabric/FabricAuthority.js.map +1 -1
  113. package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
  114. package/dist/esm/interaction/InteractionClient.js +8 -4
  115. package/dist/esm/interaction/InteractionClient.js.map +1 -1
  116. package/dist/esm/interaction/InteractionMessenger.d.ts +20 -16
  117. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  118. package/dist/esm/interaction/InteractionMessenger.js +18 -10
  119. package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
  120. package/dist/esm/mdns/MdnsScanner.d.ts +5 -6
  121. package/dist/esm/mdns/MdnsScanner.d.ts.map +1 -1
  122. package/dist/esm/mdns/MdnsScanner.js.map +1 -1
  123. package/dist/esm/protocol/DeviceCommissioner.d.ts +1 -1
  124. package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
  125. package/dist/esm/protocol/DeviceCommissioner.js +2 -5
  126. package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
  127. package/dist/esm/securechannel/SecureChannelMessenger.d.ts +3 -0
  128. package/dist/esm/securechannel/SecureChannelMessenger.d.ts.map +1 -1
  129. package/dist/esm/securechannel/SecureChannelMessenger.js +4 -0
  130. package/dist/esm/securechannel/SecureChannelMessenger.js.map +1 -1
  131. package/package.json +6 -6
  132. package/src/action/Val.ts +5 -0
  133. package/src/action/client/ClientInteraction.ts +178 -90
  134. package/src/action/client/ClientSubscription.ts +18 -0
  135. package/src/action/client/ClientSubscriptionHandler.ts +137 -0
  136. package/src/action/client/ClientSubscriptions.ts +172 -0
  137. package/src/action/client/InputChunk.ts +79 -0
  138. package/src/action/client/ReadScope.ts +107 -0
  139. package/src/action/client/index.ts +5 -0
  140. package/src/action/request/Read.ts +0 -5
  141. package/src/action/request/Subscribe.ts +17 -3
  142. package/src/action/response/SubscribeResult.ts +3 -4
  143. package/src/common/FailsafeContext.ts +0 -1
  144. package/src/fabric/FabricAuthority.ts +29 -1
  145. package/src/interaction/InteractionClient.ts +8 -4
  146. package/src/interaction/InteractionMessenger.ts +18 -11
  147. package/src/mdns/MdnsScanner.ts +5 -6
  148. package/src/protocol/DeviceCommissioner.ts +2 -7
  149. package/src/securechannel/SecureChannelMessenger.ts +4 -0
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceCommissioner.d.ts","sourceRoot":"","sources":["../../../src/protocol/DeviceCommissioner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAEH,WAAW,EACX,aAAa,EAKb,YAAY,EAEf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAmC,MAAM,QAAQ,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD;;GAEG;AACH,8BAAsB,2BAA2B;IAC7C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,aAAa,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,mBAAmB,EAAE,2BAA2B,CAAC;CACpD;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB;;gBAQf,OAAO,EAAE,yBAAyB;IA+C9C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAY9C,IAAI,eAAe,oBAGlB;IAEK,0BAA0B,CAC5B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,UAAU,EACtB,wBAAwB,EAAE,MAAM,YAAY;IAgB1C,uBAAuB,CAAC,wBAAwB,CAAC,EAAE,MAAM,YAAY;IAoBrE,UAAU,CAAC,eAAe,EAAE,eAAe;IAwBjD,IAAI,eAAe,YAElB;IAED,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM;IAQpC,oBAAoB;IAsDd,gBAAgB;IAsBhB,KAAK;CAQd"}
1
+ {"version":3,"file":"DeviceCommissioner.d.ts","sourceRoot":"","sources":["../../../src/protocol/DeviceCommissioner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAEH,WAAW,EACX,aAAa,EAKb,YAAY,EAEf,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAmC,MAAM,QAAQ,CAAC;AAE/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD;;GAEG;AACH,8BAAsB,2BAA2B;IAC7C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,aAAa,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,qBAAqB,EAAE,qBAAqB,CAAC;IAC7C,mBAAmB,EAAE,2BAA2B,CAAC;CACpD;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB;;gBAQf,OAAO,EAAE,yBAAyB;IA+C9C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAY9C,IAAI,eAAe,oBAGlB;IAEK,0BAA0B,CAC5B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,UAAU,EACtB,wBAAwB,EAAE,MAAM,YAAY;IAgB1C,uBAAuB,CAAC,wBAAwB,CAAC,EAAE,MAAM,YAAY;IAoB3E,UAAU,CAAC,eAAe,EAAE,eAAe;IAsB3C,IAAI,eAAe,YAElB;IAED,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM;IAQpC,oBAAoB;IAmDd,gBAAgB;IAsBhB,KAAK;CAQd"}
@@ -95,8 +95,7 @@ class DeviceCommissioner {
95
95
  commissioningEndCallback
96
96
  );
97
97
  }
98
- async beginTimed(failsafeContext) {
99
- await failsafeContext.construction;
98
+ beginTimed(failsafeContext) {
100
99
  this.#failsafeContext = failsafeContext;
101
100
  this.#context.fabrics.events.added.on((fabric) => {
102
101
  const fabrics = this.#context.fabrics.fabrics;
@@ -153,9 +152,7 @@ class DeviceCommissioner {
153
152
  }
154
153
  this.#activeCommissioningEndCallback = activeCommissioningEndCallback;
155
154
  this.#activeDiscriminator = discriminator;
156
- this.#enterCommissioningMode(windowStatus, discriminator).catch(
157
- (error) => logger.warn("Error sending announcement:", error)
158
- );
155
+ await this.#enterCommissioningMode(windowStatus, discriminator);
159
156
  }
160
157
  async endCommissioning() {
161
158
  if (this.#windowStatus === AdministratorCommissioning.CommissioningWindowStatus.WindowNotOpen) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/protocol/DeviceCommissioner.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -26,16 +26,19 @@ export declare class SecureChannelMessenger {
26
26
  anyNextMessage(expectedMessageInfo: string, expectedProcessingTimeMs?: number): Promise<Message>;
27
27
  /**
28
28
  * Waits for the next message and decodes it.
29
+ *
29
30
  * When no expectedProcessingTimeMs is provided, the default value of EXPECTED_CRYPTO_PROCESSING_TIME_MS is used.
30
31
  */
31
32
  nextMessageDecoded<T>(expectedMessageType: number, schema: TlvSchema<T>, expectedProcessingTimeMs?: number): Promise<T>;
32
33
  /**
33
34
  * Waits for the next message and returns it.
35
+ *
34
36
  * When no expectedProcessingTimeMs is provided, the default value of EXPECTED_CRYPTO_PROCESSING_TIME_MS is used.
35
37
  */
36
38
  waitForSuccess(expectedMessageInfo: string, expectedProcessingTimeMs?: number): Promise<void>;
37
39
  /**
38
40
  * Sends a message of the given type with the given payload.
41
+ *
39
42
  * If no ExchangeSendOptions are provided, the expectedProcessingTimeMs will be set to
40
43
  * EXPECTED_CRYPTO_PROCESSING_TIME_MS.
41
44
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SecureChannelMessenger.d.ts","sourceRoot":"","sources":["../../../src/securechannel/SecureChannelMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAc,WAAW,EAAuB,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAqB,SAAS,EAAE,MAAM,QAAQ,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtF,+EAA+E;AAC/E,qBAAa,0BAA2B,SAAQ,WAAW;aAGnC,iBAAiB,EAAE,iBAAiB;aACpC,kBAAkB,EAAE,uBAAuB;gBAF3D,OAAO,EAAE,MAAM,EACC,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,uBAAuB;CAMlE;AAED,iGAAiG;AACjG,eAAO,MAAM,kCAAkC,QAAS,CAAC;AAEzD,8EAA8E;AAC9E,eAAO,MAAM,iCAAiC,OAAQ,CAAC;AAEvD,qBAAa,sBAAsB;;IAI3B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe;gBAAzB,QAAQ,EAAE,eAAe,EAC5C,+BAA+B,SAAqC;IAKxE,IAAI,OAAO,yCAEV;IAEK,WAAW,CACb,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,SAAwC,EAChE,mBAAmB,CAAC,EAAE,MAAM;IAK1B,cAAc,CAChB,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,SAAwC;IA2BpE;;;OAGG;IACG,kBAAkB,CAAC,CAAC,EACtB,mBAAmB,EAAE,MAAM,EAC3B,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EACpB,wBAAwB,SAAwC;IAKpE;;;OAGG;IACG,cAAc,CAChB,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,SAAwC;IAMpE;;;;OAIG;IACG,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAU3F,SAAS,CAAC,IAAI,EAAE,uBAAuB;IAIvC,WAAW;IAIX,gBAAgB;IAIhB,cAAc;IAIR,KAAK;IAyBX,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM;CAuBxE"}
1
+ {"version":3,"file":"SecureChannelMessenger.d.ts","sourceRoot":"","sources":["../../../src/securechannel/SecureChannelMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAc,WAAW,EAAuB,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAqB,SAAS,EAAE,MAAM,QAAQ,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtF,+EAA+E;AAC/E,qBAAa,0BAA2B,SAAQ,WAAW;aAGnC,iBAAiB,EAAE,iBAAiB;aACpC,kBAAkB,EAAE,uBAAuB;gBAF3D,OAAO,EAAE,MAAM,EACC,iBAAiB,EAAE,iBAAiB,EACpC,kBAAkB,EAAE,uBAAuB;CAMlE;AAED,iGAAiG;AACjG,eAAO,MAAM,kCAAkC,QAAS,CAAC;AAEzD,8EAA8E;AAC9E,eAAO,MAAM,iCAAiC,OAAQ,CAAC;AAEvD,qBAAa,sBAAsB;;IAI3B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe;gBAAzB,QAAQ,EAAE,eAAe,EAC5C,+BAA+B,SAAqC;IAKxE,IAAI,OAAO,yCAEV;IAEK,WAAW,CACb,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,SAAwC,EAChE,mBAAmB,CAAC,EAAE,MAAM;IAK1B,cAAc,CAChB,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,SAAwC;IA4BpE;;;;OAIG;IACG,kBAAkB,CAAC,CAAC,EACtB,mBAAmB,EAAE,MAAM,EAC3B,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EACpB,wBAAwB,SAAwC;IAKpE;;;;OAIG;IACG,cAAc,CAChB,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,SAAwC;IAMpE;;;;;OAKG;IACG,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAU3F,SAAS,CAAC,IAAI,EAAE,uBAAuB;IAIvC,WAAW;IAIX,gBAAgB;IAIhB,cAAc;IAIR,KAAK;IAyBX,SAAS,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM;CAuBxE"}
@@ -34,6 +34,7 @@ class SecureChannelMessenger {
34
34
  }
35
35
  /**
36
36
  * Waits for the next message and returns it.
37
+ *
37
38
  * When no expectedProcessingTimeMs is provided, the default value of EXPECTED_CRYPTO_PROCESSING_TIME_MS is used.
38
39
  */
39
40
  async #nextMessage(expectedMessageType, expectedProcessingTimeMs = this.#defaultExpectedProcessingTimeMs, expectedMessageInfo) {
@@ -51,6 +52,7 @@ class SecureChannelMessenger {
51
52
  }
52
53
  /**
53
54
  * Waits for the next message and decodes it.
55
+ *
54
56
  * When no expectedProcessingTimeMs is provided, the default value of EXPECTED_CRYPTO_PROCESSING_TIME_MS is used.
55
57
  */
56
58
  async nextMessageDecoded(expectedMessageType, schema, expectedProcessingTimeMs = this.#defaultExpectedProcessingTimeMs) {
@@ -58,6 +60,7 @@ class SecureChannelMessenger {
58
60
  }
59
61
  /**
60
62
  * Waits for the next message and returns it.
63
+ *
61
64
  * When no expectedProcessingTimeMs is provided, the default value of EXPECTED_CRYPTO_PROCESSING_TIME_MS is used.
62
65
  */
63
66
  async waitForSuccess(expectedMessageInfo, expectedProcessingTimeMs = this.#defaultExpectedProcessingTimeMs) {
@@ -65,6 +68,7 @@ class SecureChannelMessenger {
65
68
  }
66
69
  /**
67
70
  * Sends a message of the given type with the given payload.
71
+ *
68
72
  * If no ExchangeSendOptions are provided, the expectedProcessingTimeMs will be set to
69
73
  * EXPECTED_CRYPTO_PROCESSING_TIME_MS.
70
74
  */
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/securechannel/SecureChannelMessenger.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/protocol",
3
- "version": "0.15.1",
3
+ "version": "0.15.2-alpha.0-20250703-2e16aba2b",
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.15.1",
44
- "@matter/model": "0.15.1",
45
- "@matter/types": "0.15.1"
43
+ "@matter/general": "0.15.2-alpha.0-20250703-2e16aba2b",
44
+ "@matter/model": "0.15.2-alpha.0-20250703-2e16aba2b",
45
+ "@matter/types": "0.15.2-alpha.0-20250703-2e16aba2b"
46
46
  },
47
47
  "devDependencies": {
48
- "@matter/tools": "0.15.1",
49
- "@matter/testing": "0.15.1"
48
+ "@matter/tools": "0.15.2-alpha.0-20250703-2e16aba2b",
49
+ "@matter/testing": "0.15.2-alpha.0-20250703-2e16aba2b"
50
50
  },
51
51
  "files": [
52
52
  "dist/**/*",
package/src/action/Val.ts CHANGED
@@ -76,6 +76,11 @@ export namespace Val {
76
76
  */
77
77
  refresh(): void;
78
78
 
79
+ /**
80
+ * The key used for storage of attributes and struct properties.
81
+ */
82
+ primaryKey: "id" | "name";
83
+
79
84
  /**
80
85
  * The managed value that owns the reference.
81
86
  */
@@ -13,34 +13,48 @@ import { InvokeResult } from "#action/response/InvokeResult.js";
13
13
  import { ReadResult } from "#action/response/ReadResult.js";
14
14
  import { SubscribeResult } from "#action/response/SubscribeResult.js";
15
15
  import { WriteResult } from "#action/response/WriteResult.js";
16
- import { Environment, Environmental, NotImplementedError, PromiseQueue } from "#general";
17
- import { InteractionClientMessenger } from "#interaction/InteractionMessenger.js";
18
- import { SubscriptionClient } from "#interaction/SubscriptionClient.js";
16
+ import { BasicSet, Environment, Environmental, ImplementationError, PromiseQueue } from "#general";
17
+ import { InteractionClientMessenger, MessageType } from "#interaction/InteractionMessenger.js";
19
18
  import { InteractionQueue } from "#peer/InteractionQueue.js";
20
19
  import { ExchangeProvider } from "#protocol/ExchangeProvider.js";
20
+ import { TlvSubscribeResponse } from "#types";
21
+ import { ClientSubscriptions } from "./ClientSubscriptions.js";
22
+ import { InputChunk } from "./InputChunk.js";
21
23
 
22
- export interface ClientInteractableContext {
24
+ export interface ClientInteractionContext {
23
25
  exchanges: ExchangeProvider;
24
- subscriptions: SubscriptionClient;
26
+ subscriptions: ClientSubscriptions;
25
27
  queue: PromiseQueue;
26
28
  }
27
29
 
30
+ export const DEFAULT_MIN_INTERVAL_FLOOR_SECONDS = 1;
31
+
28
32
  /**
29
- * This is a WIP and currently largely a stub.
33
+ * Client-side implementation of the Matter protocol.
30
34
  */
31
35
  export class ClientInteraction<SessionT extends InteractionSession = InteractionSession>
32
36
  implements Interactable<SessionT>
33
37
  {
34
38
  readonly #exchanges: ExchangeProvider;
35
- readonly #subscriptions: SubscriptionClient;
39
+ readonly #subscriptions: ClientSubscriptions;
36
40
  readonly #queue?: PromiseQueue;
41
+ readonly #interactions = new BasicSet<Read | Write | Invoke | Subscribe>();
42
+ #closed = false;
37
43
 
38
- constructor(context: ClientInteractableContext) {
44
+ constructor(context: ClientInteractionContext) {
39
45
  this.#exchanges = context.exchanges;
40
46
  this.#subscriptions = context.subscriptions;
41
47
  this.#queue = context.queue;
42
48
  }
43
49
 
50
+ async close() {
51
+ this.#closed = true;
52
+
53
+ while (this.#interactions.size) {
54
+ await this.#interactions.deleted;
55
+ }
56
+ }
57
+
44
58
  get subscriptions() {
45
59
  return this.#subscriptions;
46
60
  }
@@ -52,104 +66,178 @@ export class ClientInteraction<SessionT extends InteractionSession = Interaction
52
66
  static [Environmental.create](env: Environment) {
53
67
  const instance = new ClientInteraction({
54
68
  exchanges: env.get(ExchangeProvider),
55
- subscriptions: env.get(SubscriptionClient),
69
+ subscriptions: env.get(ClientSubscriptions),
56
70
  queue: env.get(InteractionQueue),
57
71
  });
58
72
  env.set(ClientInteraction, instance);
59
73
  return instance;
60
74
  }
61
75
 
62
- read(_request: Read, _session?: SessionT): ReadResult {
63
- // TODO
64
- throw new NotImplementedError();
76
+ async *read(request: Read, _session?: SessionT): ReadResult {
77
+ try {
78
+ this.#begin(request);
79
+ const messenger = await InteractionClientMessenger.create(this.#exchanges);
80
+
81
+ await messenger.sendReadRequest(request);
82
+
83
+ for await (const report of messenger.readDataReports()) {
84
+ yield InputChunk(report);
85
+ }
86
+ } finally {
87
+ this.#end(request);
88
+ }
65
89
  }
66
90
 
67
91
  async write<T extends Write>(request: T, _session?: SessionT): WriteResult<T> {
68
- const messenger = await InteractionClientMessenger.create(this.#exchanges);
69
- const response = await messenger.sendWriteCommand(request);
70
- if (request.suppressResponse) {
71
- return undefined as Awaited<WriteResult<T>>;
72
- }
73
- if (!response || !response.writeResponses?.length) {
74
- return new Array<WriteResult.AttributeStatus>() as Awaited<WriteResult<T>>;
75
- } else {
76
- return response.writeResponses.map(
77
- ({
78
- path: { nodeId, endpointId, clusterId, attributeId, listIndex },
79
- status: { status, clusterStatus },
80
- }) => ({
81
- kind: "attr-status",
82
- path: {
83
- nodeId,
84
- endpointId: endpointId!,
85
- clusterId: clusterId!,
86
- attributeId: attributeId!,
87
- listIndex,
88
- },
89
- status,
90
- clusterStatus,
91
- }),
92
- ) as Awaited<WriteResult<T>>;
92
+ let messenger: undefined | InteractionClientMessenger;
93
+ try {
94
+ this.#begin(request);
95
+ messenger = await InteractionClientMessenger.create(this.#exchanges);
96
+ const response = await messenger.sendWriteCommand(request);
97
+ if (request.suppressResponse) {
98
+ return undefined as Awaited<WriteResult<T>>;
99
+ }
100
+ if (!response || !response.writeResponses?.length) {
101
+ return new Array<WriteResult.AttributeStatus>() as Awaited<WriteResult<T>>;
102
+ } else {
103
+ return response.writeResponses.map(
104
+ ({
105
+ path: { nodeId, endpointId, clusterId, attributeId, listIndex },
106
+ status: { status, clusterStatus },
107
+ }) => ({
108
+ kind: "attr-status",
109
+ path: {
110
+ nodeId,
111
+ endpointId: endpointId!,
112
+ clusterId: clusterId!,
113
+ attributeId: attributeId!,
114
+ listIndex,
115
+ },
116
+ status,
117
+ clusterStatus,
118
+ }),
119
+ ) as Awaited<WriteResult<T>>;
120
+ }
121
+ } finally {
122
+ await messenger?.close();
123
+ this.#end(request);
93
124
  }
94
125
  }
95
126
 
96
127
  async *invoke(request: Invoke, _session?: SessionT): InvokeResult {
97
- const messenger = await InteractionClientMessenger.create(this.#exchanges);
98
- const result = await messenger.sendInvokeCommand(request);
99
- if (!request.suppressResponse) {
100
- if (result && result.invokeResponses?.length) {
101
- const chunk: InvokeResult.Chunk = result.invokeResponses
102
- .map(response => {
103
- if (response.command !== undefined) {
104
- const {
105
- commandPath: { endpointId, clusterId, commandId },
106
- commandRef,
107
- commandFields,
108
- } = response.command;
109
- const res: InvokeResult.CommandResponse = {
110
- kind: "cmd-response",
111
- path: {
112
- endpointId: endpointId!,
113
- clusterId: clusterId,
114
- commandId: commandId,
115
- },
116
- commandRef,
117
- data: commandFields!, // TODO add decoding
118
- };
119
- return res;
120
- } else if (response.status !== undefined) {
121
- const {
122
- commandPath: { endpointId, clusterId, commandId },
123
- commandRef,
124
- status: { status, clusterStatus },
125
- } = response.status;
126
- const res: InvokeResult.CommandStatus = {
127
- kind: "cmd-status",
128
- path: {
129
- endpointId: endpointId!,
130
- clusterId: clusterId,
131
- commandId: commandId,
132
- },
133
- commandRef,
134
- status,
135
- clusterStatus,
136
- };
137
- return res;
138
- } else {
139
- // Should not happen but if we ignore the response?
140
- return undefined;
141
- }
142
- })
143
- .filter(r => r !== undefined);
144
- yield chunk;
145
- } else {
146
- yield [];
128
+ let messenger: undefined | InteractionClientMessenger;
129
+ try {
130
+ this.#begin(request);
131
+ messenger = await InteractionClientMessenger.create(this.#exchanges);
132
+ const result = await messenger.sendInvokeCommand(request);
133
+ if (!request.suppressResponse) {
134
+ if (result && result.invokeResponses?.length) {
135
+ const chunk: InvokeResult.Chunk = result.invokeResponses
136
+ .map(response => {
137
+ if (response.command !== undefined) {
138
+ const {
139
+ commandPath: { endpointId, clusterId, commandId },
140
+ commandRef,
141
+ commandFields,
142
+ } = response.command;
143
+ const res: InvokeResult.CommandResponse = {
144
+ kind: "cmd-response",
145
+ path: {
146
+ endpointId: endpointId!,
147
+ clusterId: clusterId,
148
+ commandId: commandId,
149
+ },
150
+ commandRef,
151
+ data: commandFields!, // TODO add decoding
152
+ };
153
+ return res;
154
+ } else if (response.status !== undefined) {
155
+ const {
156
+ commandPath: { endpointId, clusterId, commandId },
157
+ commandRef,
158
+ status: { status, clusterStatus },
159
+ } = response.status;
160
+ const res: InvokeResult.CommandStatus = {
161
+ kind: "cmd-status",
162
+ path: {
163
+ endpointId: endpointId!,
164
+ clusterId: clusterId,
165
+ commandId: commandId,
166
+ },
167
+ commandRef,
168
+ status,
169
+ clusterStatus,
170
+ };
171
+ return res;
172
+ } else {
173
+ // Should not happen but if we ignore the response?
174
+ return undefined;
175
+ }
176
+ })
177
+ .filter(r => r !== undefined);
178
+ yield chunk;
179
+ } else {
180
+ yield [];
181
+ }
147
182
  }
183
+ } finally {
184
+ await messenger?.close();
185
+ this.#end(request);
148
186
  }
149
187
  }
150
188
 
151
- subscribe(_request: Subscribe, _session?: SessionT): SubscribeResult {
152
- // TODO
153
- throw new NotImplementedError();
189
+ async subscribe(request: Subscribe, _session?: SessionT): SubscribeResult {
190
+ let messenger: undefined | InteractionClientMessenger;
191
+ try {
192
+ this.#begin(request);
193
+
194
+ messenger = await InteractionClientMessenger.create(this.#exchanges);
195
+
196
+ await messenger.sendSubscribeRequest({
197
+ ...request,
198
+ minIntervalFloorSeconds: DEFAULT_MIN_INTERVAL_FLOOR_SECONDS,
199
+ maxIntervalCeilingSeconds: DEFAULT_MIN_INTERVAL_FLOOR_SECONDS,
200
+ });
201
+
202
+ await this.#handleSubscriptionResponse(request, readChunks(messenger));
203
+
204
+ const responseMessage = await messenger.nextMessage(MessageType.SubscribeResponse);
205
+ const response = TlvSubscribeResponse.decode(responseMessage.payload);
206
+
207
+ return this.#subscriptions.add(request, response);
208
+ } finally {
209
+ await messenger?.close();
210
+ this.#end(request);
211
+ }
212
+ }
213
+
214
+ async #handleSubscriptionResponse(request: Subscribe, result: ReadResult) {
215
+ if (request.updated) {
216
+ await request.updated(result);
217
+ } else {
218
+ // It doesn't really make sense to subscribe without listening to the result, but higher-level Interactables
219
+ // may process responses so the subscriber doesn't need to. So "updated" may be omitted from the API, so
220
+ // we handle this case
221
+ //
222
+ // We need to await the generator or the interactable will hang
223
+ for await (const _chunk of result);
224
+ }
225
+ }
226
+
227
+ #begin(request: Read | Write | Invoke | Subscribe) {
228
+ if (this.#closed) {
229
+ throw new ImplementationError("Client interaction unavailable after close");
230
+ }
231
+ this.#interactions.add(request);
232
+ }
233
+
234
+ #end(request: Read | Write | Invoke | Subscribe) {
235
+ this.#interactions.delete(request);
236
+ }
237
+ }
238
+
239
+ async function* readChunks(messenger: InteractionClientMessenger) {
240
+ for await (const report of messenger.readDataReports()) {
241
+ yield InputChunk(report);
154
242
  }
155
243
  }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { Subscribe } from "#action/request/Subscribe.js";
8
+ import { ActiveSubscription } from "#action/response/SubscribeResult.js";
9
+
10
+ /**
11
+ * The client view of an established Matter subscription.
12
+ */
13
+ export interface ClientSubscription extends ActiveSubscription {
14
+ request: Subscribe;
15
+ timeoutAtMs?: number;
16
+ isClosed: boolean;
17
+ isReading: boolean;
18
+ }