@matter/protocol 0.13.1-alpha.0-20250515-a4c61c546 → 0.13.1-alpha.0-20250516-6288f3c54

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 (132) hide show
  1. package/dist/cjs/action/Interactable.d.ts +5 -1
  2. package/dist/cjs/action/Interactable.d.ts.map +1 -1
  3. package/dist/cjs/action/client/ClientInteraction.d.ts +3 -4
  4. package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
  5. package/dist/cjs/action/client/ClientInteraction.js +28 -16
  6. package/dist/cjs/action/client/ClientInteraction.js.map +1 -1
  7. package/dist/cjs/action/protocols.d.ts +7 -2
  8. package/dist/cjs/action/protocols.d.ts.map +1 -1
  9. package/dist/cjs/action/request/Write.d.ts +43 -2
  10. package/dist/cjs/action/request/Write.d.ts.map +1 -1
  11. package/dist/cjs/action/request/Write.js +74 -0
  12. package/dist/cjs/action/request/Write.js.map +2 -2
  13. package/dist/cjs/action/response/InvokeResult.d.ts +1 -2
  14. package/dist/cjs/action/response/InvokeResult.d.ts.map +1 -1
  15. package/dist/cjs/action/response/ReadResult.d.ts +5 -14
  16. package/dist/cjs/action/response/ReadResult.d.ts.map +1 -1
  17. package/dist/cjs/action/response/WriteResult.d.ts +19 -5
  18. package/dist/cjs/action/response/WriteResult.d.ts.map +1 -1
  19. package/dist/cjs/action/server/AccessControl.js +4 -4
  20. package/dist/cjs/action/server/AccessControl.js.map +1 -1
  21. package/dist/cjs/action/server/{AttributeResponse.d.ts → AttributeReadResponse.d.ts} +4 -4
  22. package/dist/cjs/action/server/AttributeReadResponse.d.ts.map +1 -0
  23. package/dist/cjs/action/server/{AttributeResponse.js → AttributeReadResponse.js} +12 -12
  24. package/dist/cjs/action/server/{AttributeResponse.js.map → AttributeReadResponse.js.map} +2 -2
  25. package/dist/cjs/action/server/AttributeSubscriptionResponse.d.ts +4 -4
  26. package/dist/cjs/action/server/AttributeSubscriptionResponse.d.ts.map +1 -1
  27. package/dist/cjs/action/server/AttributeSubscriptionResponse.js +2 -2
  28. package/dist/cjs/action/server/AttributeSubscriptionResponse.js.map +1 -1
  29. package/dist/cjs/action/server/AttributeWriteResponse.d.ts +28 -0
  30. package/dist/cjs/action/server/AttributeWriteResponse.d.ts.map +1 -0
  31. package/dist/cjs/action/server/AttributeWriteResponse.js +349 -0
  32. package/dist/cjs/action/server/AttributeWriteResponse.js.map +6 -0
  33. package/dist/cjs/action/server/DataResponse.d.ts +4 -3
  34. package/dist/cjs/action/server/DataResponse.d.ts.map +1 -1
  35. package/dist/cjs/action/server/DataResponse.js +1 -1
  36. package/dist/cjs/action/server/DataResponse.js.map +1 -1
  37. package/dist/cjs/action/server/{EventResponse.d.ts → EventReadResponse.d.ts} +4 -4
  38. package/dist/cjs/action/server/EventReadResponse.d.ts.map +1 -0
  39. package/dist/cjs/action/server/{EventResponse.js → EventReadResponse.js} +8 -8
  40. package/dist/cjs/action/server/EventReadResponse.js.map +6 -0
  41. package/dist/cjs/action/server/ServerInteraction.d.ts +3 -4
  42. package/dist/cjs/action/server/ServerInteraction.d.ts.map +1 -1
  43. package/dist/cjs/action/server/ServerInteraction.js +12 -10
  44. package/dist/cjs/action/server/ServerInteraction.js.map +1 -1
  45. package/dist/cjs/action/server/index.d.ts +3 -2
  46. package/dist/cjs/action/server/index.d.ts.map +1 -1
  47. package/dist/cjs/action/server/index.js +3 -2
  48. package/dist/cjs/action/server/index.js.map +1 -1
  49. package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
  50. package/dist/cjs/interaction/InteractionClient.js +12 -1
  51. package/dist/cjs/interaction/InteractionClient.js.map +1 -1
  52. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  53. package/dist/cjs/interaction/InteractionMessenger.js +8 -3
  54. package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
  55. package/dist/esm/action/Interactable.d.ts +5 -1
  56. package/dist/esm/action/Interactable.d.ts.map +1 -1
  57. package/dist/esm/action/client/ClientInteraction.d.ts +3 -4
  58. package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
  59. package/dist/esm/action/client/ClientInteraction.js +29 -17
  60. package/dist/esm/action/client/ClientInteraction.js.map +1 -1
  61. package/dist/esm/action/protocols.d.ts +7 -2
  62. package/dist/esm/action/protocols.d.ts.map +1 -1
  63. package/dist/esm/action/request/Write.d.ts +43 -2
  64. package/dist/esm/action/request/Write.d.ts.map +1 -1
  65. package/dist/esm/action/request/Write.js +70 -0
  66. package/dist/esm/action/request/Write.js.map +2 -2
  67. package/dist/esm/action/response/InvokeResult.d.ts +1 -2
  68. package/dist/esm/action/response/InvokeResult.d.ts.map +1 -1
  69. package/dist/esm/action/response/ReadResult.d.ts +5 -14
  70. package/dist/esm/action/response/ReadResult.d.ts.map +1 -1
  71. package/dist/esm/action/response/WriteResult.d.ts +19 -5
  72. package/dist/esm/action/response/WriteResult.d.ts.map +1 -1
  73. package/dist/esm/action/server/AccessControl.js +4 -4
  74. package/dist/esm/action/server/AccessControl.js.map +1 -1
  75. package/dist/esm/action/server/{AttributeResponse.d.ts → AttributeReadResponse.d.ts} +4 -4
  76. package/dist/esm/action/server/AttributeReadResponse.d.ts.map +1 -0
  77. package/dist/esm/action/server/{AttributeResponse.js → AttributeReadResponse.js} +9 -9
  78. package/dist/esm/action/server/{AttributeResponse.js.map → AttributeReadResponse.js.map} +2 -2
  79. package/dist/esm/action/server/AttributeSubscriptionResponse.d.ts +4 -4
  80. package/dist/esm/action/server/AttributeSubscriptionResponse.d.ts.map +1 -1
  81. package/dist/esm/action/server/AttributeSubscriptionResponse.js +2 -2
  82. package/dist/esm/action/server/AttributeSubscriptionResponse.js.map +1 -1
  83. package/dist/esm/action/server/AttributeWriteResponse.d.ts +28 -0
  84. package/dist/esm/action/server/AttributeWriteResponse.d.ts.map +1 -0
  85. package/dist/esm/action/server/AttributeWriteResponse.js +335 -0
  86. package/dist/esm/action/server/AttributeWriteResponse.js.map +6 -0
  87. package/dist/esm/action/server/DataResponse.d.ts +4 -3
  88. package/dist/esm/action/server/DataResponse.d.ts.map +1 -1
  89. package/dist/esm/action/server/DataResponse.js +1 -1
  90. package/dist/esm/action/server/DataResponse.js.map +1 -1
  91. package/dist/esm/action/server/{EventResponse.d.ts → EventReadResponse.d.ts} +4 -4
  92. package/dist/esm/action/server/EventReadResponse.d.ts.map +1 -0
  93. package/dist/esm/action/server/{EventResponse.js → EventReadResponse.js} +5 -5
  94. package/dist/esm/action/server/EventReadResponse.js.map +6 -0
  95. package/dist/esm/action/server/ServerInteraction.d.ts +3 -4
  96. package/dist/esm/action/server/ServerInteraction.d.ts.map +1 -1
  97. package/dist/esm/action/server/ServerInteraction.js +12 -10
  98. package/dist/esm/action/server/ServerInteraction.js.map +1 -1
  99. package/dist/esm/action/server/index.d.ts +3 -2
  100. package/dist/esm/action/server/index.d.ts.map +1 -1
  101. package/dist/esm/action/server/index.js +3 -2
  102. package/dist/esm/action/server/index.js.map +1 -1
  103. package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
  104. package/dist/esm/interaction/InteractionClient.js +12 -1
  105. package/dist/esm/interaction/InteractionClient.js.map +1 -1
  106. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  107. package/dist/esm/interaction/InteractionMessenger.js +8 -3
  108. package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
  109. package/package.json +6 -6
  110. package/src/action/Interactable.ts +6 -1
  111. package/src/action/client/ClientInteraction.ts +31 -23
  112. package/src/action/protocols.ts +8 -2
  113. package/src/action/request/Write.ts +127 -4
  114. package/src/action/response/InvokeResult.ts +1 -2
  115. package/src/action/response/ReadResult.ts +5 -22
  116. package/src/action/response/WriteResult.ts +21 -5
  117. package/src/action/server/AccessControl.ts +4 -4
  118. package/src/action/server/{AttributeResponse.ts → AttributeReadResponse.ts} +14 -13
  119. package/src/action/server/AttributeSubscriptionResponse.ts +5 -5
  120. package/src/action/server/AttributeWriteResponse.ts +437 -0
  121. package/src/action/server/DataResponse.ts +5 -4
  122. package/src/action/server/{EventResponse.ts → EventReadResponse.ts} +6 -5
  123. package/src/action/server/ServerInteraction.ts +16 -14
  124. package/src/action/server/index.ts +3 -2
  125. package/src/interaction/InteractionClient.ts +20 -1
  126. package/src/interaction/InteractionMessenger.ts +8 -3
  127. package/dist/cjs/action/server/AttributeResponse.d.ts.map +0 -1
  128. package/dist/cjs/action/server/EventResponse.d.ts.map +0 -1
  129. package/dist/cjs/action/server/EventResponse.js.map +0 -6
  130. package/dist/esm/action/server/AttributeResponse.d.ts.map +0 -1
  131. package/dist/esm/action/server/EventResponse.d.ts.map +0 -1
  132. package/dist/esm/action/server/EventResponse.js.map +0 -6
@@ -1 +1 @@
1
- {"version":3,"file":"Interactable.d.ts","sourceRoot":"","sources":["../../../src/action/Interactable.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,QAAQ,GAAG,aAAa,CAAC,OAAO;IAC1D;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAEpD;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC;IAEnE;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAEvE;;OAEG;IACH,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;CAC7E"}
1
+ {"version":3,"file":"Interactable.d.ts","sourceRoot":"","sources":["../../../src/action/Interactable.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,WAAW,kBAAmB,SAAQ,aAAa,CAAC,OAAO;IAC7D,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,QAAQ,GAAG,kBAAkB;IACvD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAEpD;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,eAAe,CAAC;IAEnE;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAEvE;;OAEG;IACH,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;CAC7E"}
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Interactable } from "#action/Interactable.js";
6
+ import { Interactable, InteractionSession } from "#action/Interactable.js";
7
7
  import { Invoke } from "#action/request/Invoke.js";
8
8
  import { Read } from "#action/request/Read.js";
9
9
  import { Subscribe } from "#action/request/Subscribe.js";
@@ -12,7 +12,6 @@ import { InvokeResult } from "#action/response/InvokeResult.js";
12
12
  import { ReadResult } from "#action/response/ReadResult.js";
13
13
  import { SubscribeResult } from "#action/response/SubscribeResult.js";
14
14
  import { WriteResult } from "#action/response/WriteResult.js";
15
- import { AccessControl } from "#action/server/AccessControl.js";
16
15
  import { Environment, Environmental, PromiseQueue } from "#general";
17
16
  import { SubscriptionClient } from "#interaction/SubscriptionClient.js";
18
17
  import { ExchangeProvider } from "#protocol/ExchangeProvider.js";
@@ -24,12 +23,12 @@ export interface ClientInteractableContext {
24
23
  /**
25
24
  * This is a WIP and currently largely a stub.
26
25
  */
27
- export declare class ClientInteraction<SessionT extends AccessControl.Session = AccessControl.Session> implements Interactable<SessionT> {
26
+ export declare class ClientInteraction<SessionT extends InteractionSession = InteractionSession> implements Interactable<SessionT> {
28
27
  #private;
29
28
  constructor(context: ClientInteractableContext);
30
29
  get subscriptions(): SubscriptionClient;
31
30
  get queue(): PromiseQueue | undefined;
32
- static [Environmental.create](env: Environment): ClientInteraction<AccessControl.Session>;
31
+ static [Environmental.create](env: Environment): ClientInteraction<InteractionSession>;
33
32
  read(_request: Read, _session?: SessionT): ReadResult;
34
33
  write<T extends Write>(request: T, _session?: SessionT): WriteResult<T>;
35
34
  invoke<T extends Invoke>(request: Invoke, _session?: SessionT): InvokeResult<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"ClientInteraction.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientInteraction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAqB,WAAW,EAAE,aAAa,EAAuB,YAAY,EAAE,MAAM,UAAU,CAAC;AAE5G,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,MAAM,WAAW,yBAAyB;IACtC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,aAAa,EAAE,kBAAkB,CAAC;IAClC,KAAK,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAAC,QAAQ,SAAS,aAAa,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CACzF,YAAW,YAAY,CAAC,QAAQ,CAAC;;gBAMrB,OAAO,EAAE,yBAAyB;IAM9C,IAAI,aAAa,uBAEhB;IAED,IAAI,KAAK,6BAER;IAED,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAU9C,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU;IAKrD,KAAK,CAAC,CAAC,SAAS,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAgB5C,WAAW,CAAC,CAAC,CAAC;IAGxB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC;IAkB/E,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,eAAe;CAIvE"}
1
+ {"version":3,"file":"ClientInteraction.d.ts","sourceRoot":"","sources":["../../../../src/action/client/ClientInteraction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAuB,YAAY,EAAE,MAAM,UAAU,CAAC;AAEzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,WAAW,yBAAyB;IACtC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,aAAa,EAAE,kBAAkB,CAAC;IAClC,KAAK,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAAC,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CACnF,YAAW,YAAY,CAAC,QAAQ,CAAC;;gBAMrB,OAAO,EAAE,yBAAyB;IAM9C,IAAI,aAAa,uBAEhB;IAED,IAAI,KAAK,6BAER;IAED,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAU9C,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU;IAK/C,KAAK,CAAC,CAAC,SAAS,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;IA6B7E,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC;IAkB/E,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,eAAe;CAIvE"}
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { CancelablePromise, Environmental, NotImplementedError } from "#general";
6
+ import { Environmental, NotImplementedError } from "#general";
7
7
  import { InteractionClientMessenger } from "#interaction/InteractionMessenger.js";
8
8
  import { SubscriptionClient } from "#interaction/SubscriptionClient.js";
9
9
  import { InteractionQueue } from "#peer/InteractionQueue.js";
@@ -35,25 +35,37 @@ class ClientInteraction {
35
35
  read(_request, _session) {
36
36
  throw new NotImplementedError();
37
37
  }
38
- write(request, _session) {
39
- return new CancelablePromise((resolve, reject) => {
40
- InteractionClientMessenger.create(this.#exchanges).then((messenger) => {
41
- const send = messenger.sendWriteCommand(request);
42
- let sendResolve;
43
- if (request.suppressResponse) {
44
- sendResolve = send.then(() => {
45
- resolve();
46
- });
47
- } else {
48
- sendResolve = send.then(resolve);
49
- }
50
- sendResolve.catch(reject);
51
- }, reject);
52
- });
38
+ async write(request, _session) {
39
+ const messenger = await InteractionClientMessenger.create(this.#exchanges);
40
+ const response = await messenger.sendWriteCommand(request);
41
+ if (request.suppressResponse) {
42
+ return void 0;
43
+ }
44
+ if (!response || !response.writeResponses?.length) {
45
+ return new Array();
46
+ } else {
47
+ return response.writeResponses.map(
48
+ ({
49
+ path: { nodeId, endpointId, clusterId, attributeId, listIndex },
50
+ status: { status, clusterStatus }
51
+ }) => ({
52
+ kind: "attr-status",
53
+ path: {
54
+ nodeId,
55
+ endpointId,
56
+ clusterId,
57
+ attributeId,
58
+ listIndex
59
+ },
60
+ status,
61
+ clusterStatus
62
+ })
63
+ );
64
+ }
53
65
  }
54
66
  invoke(request, _session) {
55
67
  if (request.suppressResponse) {
56
- return new CancelablePromise((resolve, reject) => {
68
+ return new Promise((resolve, reject) => {
57
69
  InteractionClientMessenger.create(this.#exchanges).then(
58
70
  (messenger) => messenger.sendInvokeCommand(request).then(() => resolve()).catch(reject)
59
71
  ).then(resolve, reject);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/action/client/ClientInteraction.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA,SAAS,mBAAgC,eAAe,2BAAyC;AACjG,SAAS,kCAAkC;AAC3C,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAY1B,MAAM,kBAEb;AAAA,EACa;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,SAAoC;AAC5C,SAAK,aAAa,QAAQ;AAC1B,SAAK,iBAAiB,QAAQ;AAC9B,SAAK,SAAS,QAAQ;AAAA,EAC1B;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,QAAQ,cAAc,MAAM,EAAE,KAAkB;AAC5C,UAAM,WAAW,IAAI,kBAAkB;AAAA,MACnC,WAAW,IAAI,IAAI,gBAAgB;AAAA,MACnC,eAAe,IAAI,IAAI,kBAAkB;AAAA,MACzC,OAAO,IAAI,IAAI,gBAAgB;AAAA,IACnC,CAAC;AACD,QAAI,IAAI,mBAAmB,QAAQ;AACnC,WAAO;AAAA,EACX;AAAA,EAEA,KAAK,UAAgB,UAAiC;AAElD,UAAM,IAAI,oBAAoB;AAAA,EAClC;AAAA,EAEA,MAAuB,SAAY,UAAqB;AACpD,WAAO,IAAI,kBAAwC,CAAC,SAAS,WAAW;AACpE,iCAA2B,OAAO,KAAK,UAAU,EAAE,KAAK,eAAa;AACjE,cAAM,OAAO,UAAU,iBAAiB,OAAO;AAE/C,YAAI;AACJ,YAAI,QAAQ,kBAAkB;AAC1B,wBAAc,KAAK,KAAK,MAAM;AAC1B,oBAAQ;AAAA,UACZ,CAAC;AAAA,QACL,OAAO;AACH,wBAAc,KAAK,KAAK,OAAO;AAAA,QACnC;AAEA,oBAAY,MAAM,MAAM;AAAA,MAC5B,GAAG,MAAM;AAAA,IACb,CAAC;AAAA,EACL;AAAA,EAEA,OAAyB,SAAiB,UAAsC;AAC5E,QAAI,QAAQ,kBAAkB;AAC1B,aAAO,IAAI,kBAAwB,CAAC,SAAS,WAAW;AACpD,mCAA2B,OAAO,KAAK,UAAU,EAC5C;AAAA,UAAK,eACF,UACK,kBAAkB,OAAO,EACzB,KAAK,MAAM,QAAQ,CAAC,EACpB,MAAM,MAAM;AAAA,QACrB,EACC,KAAK,SAAS,MAAM;AAAA,MAC7B,CAAC;AAAA,IACL;AAGA,UAAM,IAAI,oBAAoB;AAAA,EAClC;AAAA,EAEA,UAAU,UAAqB,UAAsC;AAEjE,UAAM,IAAI,oBAAoB;AAAA,EAClC;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAeA,SAAsB,eAAe,2BAAyC;AAC9E,SAAS,kCAAkC;AAC3C,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AAW1B,MAAM,kBAEb;AAAA,EACa;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,SAAoC;AAC5C,SAAK,aAAa,QAAQ;AAC1B,SAAK,iBAAiB,QAAQ;AAC9B,SAAK,SAAS,QAAQ;AAAA,EAC1B;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,QAAQ,cAAc,MAAM,EAAE,KAAkB;AAC5C,UAAM,WAAW,IAAI,kBAAkB;AAAA,MACnC,WAAW,IAAI,IAAI,gBAAgB;AAAA,MACnC,eAAe,IAAI,IAAI,kBAAkB;AAAA,MACzC,OAAO,IAAI,IAAI,gBAAgB;AAAA,IACnC,CAAC;AACD,QAAI,IAAI,mBAAmB,QAAQ;AACnC,WAAO;AAAA,EACX;AAAA,EAEA,KAAK,UAAgB,UAAiC;AAElD,UAAM,IAAI,oBAAoB;AAAA,EAClC;AAAA,EAEA,MAAM,MAAuB,SAAY,UAAqC;AAC1E,UAAM,YAAY,MAAM,2BAA2B,OAAO,KAAK,UAAU;AACzE,UAAM,WAAW,MAAM,UAAU,iBAAiB,OAAO;AACzD,QAAI,QAAQ,kBAAkB;AAC1B,aAAO;AAAA,IACX;AACA,QAAI,CAAC,YAAY,CAAC,SAAS,gBAAgB,QAAQ;AAC/C,aAAO,IAAI,MAAmC;AAAA,IAClD,OAAO;AACH,aAAO,SAAS,eAAe;AAAA,QAC3B,CAAC;AAAA,UACG,MAAM,EAAE,QAAQ,YAAY,WAAW,aAAa,UAAU;AAAA,UAC9D,QAAQ,EAAE,QAAQ,cAAc;AAAA,QACpC,OAAO;AAAA,UACH,MAAM;AAAA,UACN,MAAM;AAAA,YACF;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,OAAyB,SAAiB,UAAsC;AAC5E,QAAI,QAAQ,kBAAkB;AAC1B,aAAO,IAAI,QAAc,CAAC,SAAS,WAAW;AAC1C,mCAA2B,OAAO,KAAK,UAAU,EAC5C;AAAA,UAAK,eACF,UACK,kBAAkB,OAAO,EACzB,KAAK,MAAM,QAAQ,CAAC,EACpB,MAAM,MAAM;AAAA,QACrB,EACC,KAAK,SAAS,MAAM;AAAA,MAC7B,CAAC;AAAA,IACL;AAGA,UAAM,IAAI,oBAAoB;AAAA,EAClC;AAAA,EAEA,UAAU,UAAqB,UAAsC;AAEjE,UAAM,IAAI,oBAAoB;AAAA,EAClC;AACJ;",
5
5
  "names": []
6
6
  }
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2025 Project CHIP Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { InteractionSession } from "#action/Interactable.js";
6
7
  import { OccurrenceManager } from "#events/OccurrenceManager.js";
7
8
  import { MaybePromise, Observable } from "#general";
8
9
  import { DataModelPath, MatterModel } from "#model";
@@ -92,12 +93,16 @@ export interface ClusterProtocol {
92
93
  */
93
94
  stateChanged: Observable<[changes: AttributeId[], version: number], MaybePromise>;
94
95
  /**
95
- * Access a record of attribute values, keyed by attribute ID.
96
+ * Read-only state of the cluster
97
+ */
98
+ readState(session: InteractionSession): Val.ProtocolStruct;
99
+ /**
100
+ * Writeable record of attribute values, keyed by attribute ID.
96
101
  *
97
102
  * Note that current protocol implementations do not filter data within this responsibility based on the
98
103
  * session. So doing is the responsibility of the node implementation.
99
104
  */
100
- open(session: AccessControl.Session): Val.ProtocolStruct;
105
+ openForWrite(session: InteractionSession): Promise<Val.ProtocolStruct>;
101
106
  }
102
107
  /**
103
108
  * Protocol contract for a specific type of cluster (including feature variants).
@@ -1 +1 @@
1
- {"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../../../src/action/protocols.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocols.d.ts","sourceRoot":"","sources":["../../../src/action/protocols.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,49 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { WriteRequest } from "#types";
6
+ import { AttributeData, ClusterType, WriteRequest } from "#types";
7
+ import { Specifier } from "./Specifier.js";
7
8
  export interface Write extends WriteRequest {
8
- timeout?: number;
9
+ }
10
+ /**
11
+ * Formulate a write-request using Matter numeric IDs.
12
+ */
13
+ export declare function Write(options: Write.Options): Write;
14
+ /**
15
+ * Formulate a write-request with extended options and name-based IDs.
16
+ */
17
+ export declare function Write(options: Write.Options, ...data: Write.Attribute[]): Write;
18
+ /**
19
+ * Formulate a write-request with name-based IDs.
20
+ */
21
+ export declare function Write(...data: Write.Attribute[]): Write;
22
+ export declare namespace Write {
23
+ interface Options {
24
+ writes?: AttributeData[];
25
+ timed?: boolean;
26
+ timeout?: number;
27
+ interactionModelRevision?: number;
28
+ }
29
+ /**
30
+ * Selects attributes to Write. Limits fields to legal permutations per the Matter specification.
31
+ */
32
+ type Attribute<C extends Specifier.Cluster = Specifier.Cluster> = (Attribute.Concrete<C> | Attribute.WildcardEndpoint<C>) & {
33
+ kind: "attribute";
34
+ value: any;
35
+ version?: number;
36
+ };
37
+ function Attribute<const C extends ClusterType>(data: Omit<Attribute<C>, "kind">): Attribute<C>;
38
+ namespace Attribute {
39
+ interface Concrete<C extends Specifier.Cluster> {
40
+ endpoint: Specifier.Endpoint;
41
+ cluster: C;
42
+ attributes: Specifier.Attribute<Specifier.ClusterFor<C>> | Specifier.Attribute<Specifier.ClusterFor<C>>[];
43
+ }
44
+ interface WildcardEndpoint<C extends Specifier.Cluster> {
45
+ endpoint?: undefined;
46
+ cluster: C;
47
+ attributes: Specifier.Attribute<Specifier.ClusterFor<C>> | Specifier.Attribute<Specifier.ClusterFor<C>>[];
48
+ }
49
+ }
9
50
  }
10
51
  //# sourceMappingURL=Write.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Write.d.ts","sourceRoot":"","sources":["../../../../src/action/request/Write.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,WAAW,KAAM,SAAQ,YAAY;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"Write.d.ts","sourceRoot":"","sources":["../../../../src/action/request/Write.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAElE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,WAAW,KAAM,SAAQ,YAAY;CAAG;AAE9C;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;AAErD;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC;AAEjF;;GAEG;AACH,wBAAgB,KAAK,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,GAAG,KAAK,CAAC;AAqEzD,yBAAiB,KAAK,CAAC;IACnB,UAAiB,OAAO;QACpB,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;QACzB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,wBAAwB,CAAC,EAAE,MAAM,CAAC;KACrC;IAED;;OAEG;IACH,KAAY,SAAS,CAAC,CAAC,SAAS,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,CACnE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GACrB,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAClC,GAAG;QACA,IAAI,EAAE,WAAW,CAAC;QAClB,KAAK,EAAE,GAAG,CAAC;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAEF,SAAgB,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAKrG;IAED,UAAiB,SAAS,CAAC;QACvB,UAAiB,QAAQ,CAAC,CAAC,SAAS,SAAS,CAAC,OAAO;YACjD,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC;YAC7B,OAAO,EAAE,CAAC,CAAC;YACX,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7G;QAED,UAAiB,gBAAgB,CAAC,CAAC,SAAS,SAAS,CAAC,OAAO;YACzD,QAAQ,CAAC,EAAE,SAAS,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC;YACX,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7G;KACJ;CACJ"}
@@ -3,4 +3,74 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { FALLBACK_INTERACTIONMODEL_REVISION } from "#session/Session.js";
7
+ import { MalformedRequestError } from "./MalformedRequestError.js";
8
+ import { Specifier } from "./Specifier.js";
9
+ function Write(optionsOrData, ...data) {
10
+ let options;
11
+ if ("kind" in optionsOrData) {
12
+ data = [optionsOrData, ...data];
13
+ options = {};
14
+ } else {
15
+ options = optionsOrData;
16
+ }
17
+ const { writes: writeRequests = [] } = options;
18
+ const result = {
19
+ timedRequest: !!options.timed || !!options.timeout,
20
+ writeRequests,
21
+ interactionModelRevision: options.interactionModelRevision ?? FALLBACK_INTERACTIONMODEL_REVISION
22
+ };
23
+ for (const entry of data) {
24
+ reifyData(entry);
25
+ }
26
+ if (!writeRequests.length) {
27
+ throw new MalformedRequestError(`Write action contains no attributes to write`);
28
+ }
29
+ return result;
30
+ function reifyData(data2) {
31
+ const cluster = Specifier.clusterOf(data2);
32
+ if (cluster === void 0) {
33
+ throw new MalformedRequestError(`Write action must specify a cluster`);
34
+ }
35
+ let { attributes } = data2;
36
+ if (attributes === void 0) {
37
+ throw new MalformedRequestError(`Write action must specify an attribute`);
38
+ }
39
+ if (!Array.isArray(attributes)) {
40
+ attributes = [attributes];
41
+ }
42
+ const { endpoint, value, version: dataVersion } = data2;
43
+ const prototype = {
44
+ path: {
45
+ endpointId: endpoint !== void 0 ? Specifier.endpointIdOf(data2) : void 0,
46
+ clusterId: cluster.id,
47
+ attributeId: void 0
48
+ },
49
+ dataVersion
50
+ };
51
+ for (const specifier of attributes) {
52
+ const attribute = Specifier.attributeFor(cluster, specifier);
53
+ writeRequests.push({
54
+ ...prototype,
55
+ path: {
56
+ ...prototype.path,
57
+ attributeId: attribute.id
58
+ },
59
+ data: attribute.schema.encodeTlv(value, { forWriteInteraction: true })
60
+ });
61
+ }
62
+ }
63
+ }
64
+ ((Write2) => {
65
+ function Attribute(data) {
66
+ return {
67
+ kind: "attribute",
68
+ ...data
69
+ };
70
+ }
71
+ Write2.Attribute = Attribute;
72
+ })(Write || (Write = {}));
73
+ export {
74
+ Write
75
+ };
6
76
  //# sourceMappingURL=Write.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/action/request/Write.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;",
5
- "names": []
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,0CAA0C;AAEnD,SAAS,6BAA6B;AACtC,SAAS,iBAAiB;AAmBnB,SAAS,MAAM,kBAAmD,MAAgC;AACrG,MAAI;AACJ,MAAI,UAAU,eAAe;AACzB,WAAO,CAAC,eAAe,GAAG,IAAI;AAC9B,cAAU,CAAC;AAAA,EACf,OAAO;AACH,cAAU;AAAA,EACd;AACA,QAAM,EAAE,QAAQ,gBAAgB,CAAC,EAAE,IAAI;AAEvC,QAAM,SAAgB;AAAA,IAClB,cAAc,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,QAAQ;AAAA,IAC3C;AAAA,IACA,0BAA0B,QAAQ,4BAA4B;AAAA,EAClE;AAEA,aAAW,SAAS,MAAM;AACtB,cAAU,KAAK;AAAA,EACnB;AAEA,MAAI,CAAC,cAAc,QAAQ;AACvB,UAAM,IAAI,sBAAsB,8CAA8C;AAAA,EAClF;AAEA,SAAO;AAEP,WAAS,UAAUA,OAAuB;AACtC,UAAM,UAAU,UAAU,UAAUA,KAAI;AAExC,QAAI,YAAY,QAAW;AACvB,YAAM,IAAI,sBAAsB,qCAAqC;AAAA,IACzE;AAEA,QAAI,EAAE,WAAW,IAAIA;AACrB,QAAI,eAAe,QAAW;AAC1B,YAAM,IAAI,sBAAsB,wCAAwC;AAAA,IAC5E;AACA,QAAI,CAAC,MAAM,QAAQ,UAAU,GAAG;AAC5B,mBAAa,CAAC,UAAU;AAAA,IAC5B;AAEA,UAAM,EAAE,UAAU,OAAO,SAAS,YAAY,IAAIA;AAGlD,UAAM,YAAyC;AAAA,MAC3C,MAAM;AAAA,QACF,YAAY,aAAa,SAAY,UAAU,aAAaA,KAAI,IAAI;AAAA,QACpE,WAAW,QAAQ;AAAA,QACnB,aAAa;AAAA,MACjB;AAAA,MACA;AAAA,IACJ;AAEA,eAAW,aAAa,YAAY;AAChC,YAAM,YAAY,UAAU,aAAa,SAAS,SAAS;AAC3D,oBAAc,KAAK;AAAA,QACf,GAAG;AAAA,QACH,MAAM;AAAA,UACF,GAAG,UAAU;AAAA,UACb,aAAa,UAAU;AAAA,QAC3B;AAAA,QACA,MAAM,UAAU,OAAO,UAAU,OAAO,EAAE,qBAAqB,KAAK,CAAC;AAAA,MACzE,CAAC;AAAA,IACL;AAAA,EACJ;AACJ;AAAA,CAEO,CAAUC,WAAV;AAoBI,WAAS,UAAuC,MAAgD;AACnG,WAAO;AAAA,MACH,MAAM;AAAA,MACN,GAAG;AAAA,IACP;AAAA,EACJ;AALO,EAAAA,OAAS;AAAA,GApBH;",
5
+ "names": ["data", "Write"]
6
6
  }
@@ -5,10 +5,9 @@
5
5
  */
6
6
  import type { Invoke } from "#action/request/Invoke.js";
7
7
  import type { CommandData } from "#types";
8
- import { CancelablePromise } from "@matter/general";
9
8
  export type InvokeResult<T extends Invoke> = T extends {
10
9
  suppressResponse: true;
11
- } ? CancelablePromise<void> : AsyncIterable<InvokeResult.Chunk>;
10
+ } ? Promise<void> : AsyncIterable<InvokeResult.Chunk>;
12
11
  export declare namespace InvokeResult {
13
12
  type Chunk = CommandData[];
14
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InvokeResult.d.ts","sourceRoot":"","sources":["../../../../src/action/response/InvokeResult.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS;IAAE,gBAAgB,EAAE,IAAI,CAAA;CAAE,GAC3E,iBAAiB,CAAC,IAAI,CAAC,GACvB,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAExC,yBAAiB,YAAY,CAAC;IAC1B,KAAY,KAAK,GAAG,WAAW,EAAE,CAAC;CACrC"}
1
+ {"version":3,"file":"InvokeResult.d.ts","sourceRoot":"","sources":["../../../../src/action/response/InvokeResult.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE1C,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS;IAAE,gBAAgB,EAAE,IAAI,CAAA;CAAE,GAC3E,OAAO,CAAC,IAAI,CAAC,GACb,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAExC,yBAAiB,YAAY,CAAC;IAC1B,KAAY,KAAK,GAAG,WAAW,EAAE,CAAC;CACrC"}
@@ -17,7 +17,7 @@ export interface ReadResult<Chunk = ReadResult.Chunk> extends AsyncIterable<Read
17
17
  }
18
18
  export declare namespace ReadResult {
19
19
  type Chunk = Iterable<Report>;
20
- type Report = AttributeValue | GlobalAttributeStatus | ClusterAttributeStatus | EventValue | GlobalEventStatus | ClusterEventStatus;
20
+ type Report = AttributeValue | AttributeStatus | EventValue | EventStatus;
21
21
  interface ConcreteAttributePath extends AttributePath {
22
22
  nodeId?: NodeId;
23
23
  endpointId: EndpointNumber;
@@ -31,16 +31,11 @@ export declare namespace ReadResult {
31
31
  version: number;
32
32
  tlv: TlvSchema<unknown>;
33
33
  }
34
- interface GlobalAttributeStatus {
34
+ interface AttributeStatus {
35
35
  kind: "attr-status";
36
36
  path: ConcreteAttributePath;
37
37
  status: StatusCode;
38
- }
39
- interface ClusterAttributeStatus {
40
- kind: "attr-cluster-status";
41
- path: ConcreteAttributePath;
42
- status: number;
43
- clusterStatus: number;
38
+ clusterStatus?: number;
44
39
  }
45
40
  interface ConcreteEventPath extends EventPath {
46
41
  nodeId?: NodeId;
@@ -57,15 +52,11 @@ export declare namespace ReadResult {
57
52
  value: unknown;
58
53
  tlv: TlvSchema<unknown>;
59
54
  }
60
- interface GlobalEventStatus {
55
+ interface EventStatus {
61
56
  kind: "event-status";
62
57
  path: ConcreteEventPath;
63
58
  status: Status;
64
- }
65
- interface ClusterEventStatus {
66
- kind: "event-cluster-status";
67
- path: ConcreteEventPath;
68
- clusterStatus: number;
59
+ clusterStatus?: number;
69
60
  }
70
61
  }
71
62
  //# sourceMappingURL=ReadResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReadResult.d.ts","sourceRoot":"","sources":["../../../../src/action/response/ReadResult.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACR,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,OAAO,EACP,WAAW,EACX,SAAS,EACT,aAAa,EACb,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,EACZ,MAAM,QAAQ,CAAC;AAEhB;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAE,SAAQ,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;CAAG;AAEhG,yBAAiB,UAAU,CAAC;IACxB,KAAY,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAErC,KAAY,MAAM,GACZ,cAAc,GACd,qBAAqB,GACrB,sBAAsB,GACtB,UAAU,GACV,iBAAiB,GACjB,kBAAkB,CAAC;IAEzB,UAAiB,qBAAsB,SAAQ,aAAa;QACxD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,cAAc,CAAC;QAC3B,SAAS,EAAE,SAAS,CAAC;QACrB,WAAW,EAAE,WAAW,CAAC;KAC5B;IAED,UAAiB,cAAc;QAC3B,IAAI,EAAE,YAAY,CAAC;QACnB,IAAI,EAAE,qBAAqB,CAAC;QAC5B,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;KAC3B;IAED,UAAiB,qBAAqB;QAClC,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,EAAE,qBAAqB,CAAC;QAC5B,MAAM,EAAE,UAAU,CAAC;KACtB;IAED,UAAiB,sBAAsB;QACnC,IAAI,EAAE,qBAAqB,CAAC;QAC5B,IAAI,EAAE,qBAAqB,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;KACzB;IAED,UAAiB,iBAAkB,SAAQ,SAAS;QAChD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,cAAc,CAAC;QAC3B,SAAS,EAAE,SAAS,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KACpB;IAED,UAAiB,UAAU;QACvB,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,EAAE,iBAAiB,CAAC;QACxB,MAAM,EAAE,WAAW,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,aAAa,CAAC;QACxB,KAAK,EAAE,OAAO,CAAC;QACf,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;KAC3B;IAED,UAAiB,iBAAiB;QAC9B,IAAI,EAAE,cAAc,CAAC;QACrB,IAAI,EAAE,iBAAiB,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;KAClB;IAED,UAAiB,kBAAkB;QAC/B,IAAI,EAAE,sBAAsB,CAAC;QAC7B,IAAI,EAAE,iBAAiB,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;KACzB;CACJ"}
1
+ {"version":3,"file":"ReadResult.d.ts","sourceRoot":"","sources":["../../../../src/action/response/ReadResult.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACR,WAAW,EACX,aAAa,EACb,SAAS,EACT,cAAc,EACd,OAAO,EACP,WAAW,EACX,SAAS,EACT,aAAa,EACb,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,EACZ,MAAM,QAAQ,CAAC;AAEhB;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAE,SAAQ,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;CAAG;AAEhG,yBAAiB,UAAU,CAAC;IACxB,KAAY,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAErC,KAAY,MAAM,GAAG,cAAc,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,CAAC;IAEjF,UAAiB,qBAAsB,SAAQ,aAAa;QACxD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,cAAc,CAAC;QAC3B,SAAS,EAAE,SAAS,CAAC;QACrB,WAAW,EAAE,WAAW,CAAC;KAC5B;IAED,UAAiB,cAAc;QAC3B,IAAI,EAAE,YAAY,CAAC;QACnB,IAAI,EAAE,qBAAqB,CAAC;QAC5B,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;KAC3B;IAED,UAAiB,eAAe;QAC5B,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,EAAE,qBAAqB,CAAC;QAC5B,MAAM,EAAE,UAAU,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B;IAED,UAAiB,iBAAkB,SAAQ,SAAS;QAChD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,cAAc,CAAC;QAC3B,SAAS,EAAE,SAAS,CAAC;QACrB,OAAO,EAAE,OAAO,CAAC;KACpB;IAED,UAAiB,UAAU;QACvB,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,EAAE,iBAAiB,CAAC;QACxB,MAAM,EAAE,WAAW,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,aAAa,CAAC;QACxB,KAAK,EAAE,OAAO,CAAC;QACf,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;KAC3B;IAED,UAAiB,WAAW;QACxB,IAAI,EAAE,cAAc,CAAC;QACrB,IAAI,EAAE,iBAAiB,CAAC;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B;CACJ"}
@@ -3,10 +3,24 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import type { Write } from "#action/request/Write.js";
7
- import type { CancelablePromise } from "#general";
8
- import type { WriteResponse } from "#types";
9
- export type WriteResult<T extends Write> = CancelablePromise<T extends {
6
+ import { Write } from "#action/request/Write.js";
7
+ import type { AttributeId, AttributePath, ClusterId, EndpointNumber, NodeId, StatusCode } from "#types";
8
+ export type WriteResult<T extends Write> = Promise<T extends {
10
9
  suppressResponse: true;
11
- } ? void : WriteResponse>;
10
+ } ? void : WriteResult.AttributeStatus[]>;
11
+ export declare namespace WriteResult {
12
+ interface ConcreteAttributePath extends AttributePath {
13
+ nodeId?: NodeId;
14
+ endpointId: EndpointNumber;
15
+ clusterId: ClusterId;
16
+ attributeId: AttributeId;
17
+ listIndex?: number | null;
18
+ }
19
+ interface AttributeStatus {
20
+ kind: "attr-status";
21
+ path: ConcreteAttributePath;
22
+ status: StatusCode;
23
+ clusterStatus?: number;
24
+ }
25
+ }
12
26
  //# sourceMappingURL=WriteResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WriteResult.d.ts","sourceRoot":"","sources":["../../../../src/action/response/WriteResult.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,KAAK,IAAI,iBAAiB,CACxD,CAAC,SAAS;IAAE,gBAAgB,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,aAAa,CAC9D,CAAC"}
1
+ {"version":3,"file":"WriteResult.d.ts","sourceRoot":"","sources":["../../../../src/action/response/WriteResult.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAExG,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,KAAK,IAAI,OAAO,CAC9C,CAAC,SAAS;IAAE,gBAAgB,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,WAAW,CAAC,eAAe,EAAE,CAC9E,CAAC;AAEF,yBAAiB,WAAW,CAAC;IACzB,UAAiB,qBAAsB,SAAQ,aAAa;QACxD,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,cAAc,CAAC;QAC3B,SAAS,EAAE,SAAS,CAAC;QACrB,WAAW,EAAE,WAAW,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B;IAED,UAAiB,eAAe;QAC5B,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,EAAE,qBAAqB,CAAC;QAC5B,MAAM,EAAE,UAAU,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KAC1B;CACJ"}
@@ -99,7 +99,7 @@ function dataEnforcerFor(schema) {
99
99
  StatusCode.UnsupportedAccess
100
100
  );
101
101
  }
102
- if (location?.owningFabric && location.owningFabric !== session.fabric) {
102
+ if (location?.owningFabric !== void 0 && location.owningFabric !== session.fabric) {
103
103
  throw new ReadError(
104
104
  location,
105
105
  "Permission denied: Owning/accessing fabric mismatch",
@@ -116,7 +116,7 @@ function dataEnforcerFor(schema) {
116
116
  if (session.fabric === void 0) {
117
117
  return false;
118
118
  }
119
- if (location?.owningFabric && location.owningFabric !== session.fabric) {
119
+ if (location?.owningFabric !== void 0 && location.owningFabric !== session.fabric) {
120
120
  return false;
121
121
  }
122
122
  return wrappedMayRead(session, location);
@@ -128,7 +128,7 @@ function dataEnforcerFor(schema) {
128
128
  if (session.fabric === void 0) {
129
129
  throw new WriteError(location, "Permission denied: No accessing fabric", StatusCode.UnsupportedAccess);
130
130
  }
131
- if (location?.owningFabric && location.owningFabric !== session.fabric) {
131
+ if (location?.owningFabric !== void 0 && location.owningFabric !== session.fabric) {
132
132
  throw new WriteError(location, "Permission denied: Owning/accessing fabric mismatch");
133
133
  }
134
134
  wrappedAuthorizeWrite(session, location);
@@ -140,7 +140,7 @@ function dataEnforcerFor(schema) {
140
140
  if (session.fabric === void 0) {
141
141
  return false;
142
142
  }
143
- if (location?.owningFabric && location.owningFabric !== session.fabric) {
143
+ if (location?.owningFabric !== void 0 && location.owningFabric !== session.fabric) {
144
144
  return false;
145
145
  }
146
146
  return wrappedMayWrite(session, location);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/action/server/AccessControl.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["AccessControl", "Authority"]
6
6
  }
@@ -3,10 +3,10 @@
3
3
  * Copyright 2022-2025 Project CHIP Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { InteractionSession } from "#action/index.js";
6
7
  import { AttributeTypeProtocol, ClusterProtocol, EndpointProtocol, NodeProtocol } from "#action/protocols.js";
7
8
  import { Read } from "#action/request/Read.js";
8
9
  import { ReadResult } from "#action/response/ReadResult.js";
9
- import { AccessControl } from "#action/server/AccessControl.js";
10
10
  import { DataResponse } from "#action/server/DataResponse.js";
11
11
  import { AttributePath, Status } from "#types";
12
12
  export declare const GlobalAttrIds: Set<import("#types").AttributeId>;
@@ -15,13 +15,13 @@ export declare const GlobalAttrIds: Set<import("#types").AttributeId>;
15
15
  *
16
16
  * TODO - profile; ensure nested functions are properly JITed and/or inlined
17
17
  */
18
- export declare class AttributeResponse<SessionT extends AccessControl.Session = AccessControl.Session> extends DataResponse<SessionT> {
18
+ export declare class AttributeReadResponse<SessionT extends InteractionSession = InteractionSession> extends DataResponse<SessionT> {
19
19
  #private;
20
20
  constructor(node: NodeProtocol, session: SessionT);
21
21
  process({ dataVersionFilters, attributeRequests }: Read.Attributes): Generator<ReadResult.Chunk, void, void>;
22
22
  get counts(): {
23
23
  status: number;
24
- value: number;
24
+ success: number;
25
25
  existent: number;
26
26
  };
27
27
  /**
@@ -62,4 +62,4 @@ export declare class AttributeResponse<SessionT extends AccessControl.Session =
62
62
  */
63
63
  protected addStatus(path: ReadResult.ConcreteAttributePath, status: Status): void;
64
64
  }
65
- //# sourceMappingURL=AttributeResponse.d.ts.map
65
+ //# sourceMappingURL=AttributeReadResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttributeReadResponse.d.ts","sourceRoot":"","sources":["../../../../src/action/server/AttributeReadResponse.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAA0C,MAAM,gCAAgC,CAAC;AAItG,OAAO,EACH,aAAa,EAKb,MAAM,EAGT,MAAM,QAAQ,CAAC;AAKhB,eAAO,MAAM,aAAa,mCAAoE,CAAC;AAE/F;;;;GAIG;AACH,qBAAa,qBAAqB,CAC9B,QAAQ,SAAS,kBAAkB,GAAG,kBAAkB,CAC1D,SAAQ,YAAY,CAAC,QAAQ,CAAC;;gBAuBhB,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ;IAIhD,OAAO,CAAC,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,EAAE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;IA2D7G,IAAI,MAAM;;;;MAMT;IAED;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa;IAmCzC;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,UAAU,CAAC,qBAAqB;IA+G5D;;;;;;;;;OASG;IACH,SAAS,CAAE,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa;IA2BlF;;;;;;OAMG;IACH,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa;IAsC9E;;;;OAIG;IACH,SAAS,CAAC,wBAAwB,CAAC,SAAS,EAAE,qBAAqB,EAAE,IAAI,EAAE,aAAa;IA2DxF;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,qBAAqB,EAAE,MAAM,EAAE,MAAM;CA8B7E"}
@@ -14,9 +14,9 @@ import {
14
14
  StatusResponseError
15
15
  } from "#types";
16
16
  import { StatusCode } from "@matter/types";
17
- const logger = Logger.get("AttributeResponse");
17
+ const logger = Logger.get("AttributeReadResponse");
18
18
  const GlobalAttrIds = new Set(Object.values(GlobalAttributes({})).map((attr) => attr.id));
19
- class AttributeResponse extends DataResponse {
19
+ class AttributeReadResponse extends DataResponse {
20
20
  #versions;
21
21
  // Each input AttributePathIB that does not have an error installs a producer. Producers run after validation and
22
22
  // generate actual attribute data
@@ -87,7 +87,7 @@ class AttributeResponse extends DataResponse {
87
87
  get counts() {
88
88
  return {
89
89
  status: this.#statusCount,
90
- value: this.#valueCount,
90
+ success: this.#valueCount,
91
91
  existent: this.#valueCount + this.#filteredCount
92
92
  };
93
93
  }
@@ -196,12 +196,12 @@ class AttributeResponse extends DataResponse {
196
196
  }
197
197
  this.#currentEndpoint = endpoint;
198
198
  this.#currentCluster = cluster;
199
- this.#currentState = cluster.open(this.session);
199
+ this.#currentState = cluster.readState(this.session);
200
200
  } else if (this.#currentCluster !== cluster) {
201
201
  this.#currentCluster = cluster;
202
- this.#currentState = cluster.open(this.session);
202
+ this.#currentState = cluster.readState(this.session);
203
203
  } else if (this.#currentState === void 0) {
204
- this.#currentState = cluster.open(this.session);
204
+ this.#currentState = cluster.readState(this.session);
205
205
  }
206
206
  const value = this.#currentState[attributeId];
207
207
  const version = cluster.version;
@@ -302,7 +302,7 @@ class AttributeResponse extends DataResponse {
302
302
  return;
303
303
  }
304
304
  if (this.#currentState === void 0) {
305
- this.#currentState = this.#guardedCurrentCluster.open(this.session);
305
+ this.#currentState = this.#guardedCurrentCluster.readState(this.session);
306
306
  }
307
307
  const value = this.#currentState[attribute.id];
308
308
  if (value === void 0) {
@@ -369,7 +369,7 @@ class AttributeResponse extends DataResponse {
369
369
  }
370
370
  }
371
371
  export {
372
- AttributeResponse,
372
+ AttributeReadResponse,
373
373
  GlobalAttrIds
374
374
  };
375
- //# sourceMappingURL=AttributeResponse.js.map
375
+ //# sourceMappingURL=AttributeReadResponse.js.map