@matter/protocol 0.13.1-alpha.0-20250511-74ef153aa → 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
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Transaction } from "#general";
6
7
  import { Invoke } from "./request/Invoke.js";
7
8
  import { Read } from "./request/Read.js";
8
9
  import { Subscribe } from "./request/Subscribe.js";
@@ -12,10 +13,13 @@ import { ReadResult } from "./response/ReadResult.js";
12
13
  import { SubscribeResult } from "./response/SubscribeResult.js";
13
14
  import { WriteResult } from "./response/WriteResult.js";
14
15
  import { AccessControl } from "./server/AccessControl.js";
16
+ export interface InteractionSession extends AccessControl.Session {
17
+ transaction?: Transaction;
18
+ }
15
19
  /**
16
20
  * Objects implementing this interface can participate in Matter interactions.
17
21
  */
18
- export interface Interactable<SessionT = AccessControl.Session> {
22
+ export interface Interactable<SessionT = InteractionSession> {
19
23
  /**
20
24
  * Perform a Matter read interaction.
21
25
  */
@@ -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"}
@@ -58,25 +58,37 @@ class ClientInteraction {
58
58
  read(_request, _session) {
59
59
  throw new import_general.NotImplementedError();
60
60
  }
61
- write(request, _session) {
62
- return new import_general.CancelablePromise((resolve, reject) => {
63
- import_InteractionMessenger.InteractionClientMessenger.create(this.#exchanges).then((messenger) => {
64
- const send = messenger.sendWriteCommand(request);
65
- let sendResolve;
66
- if (request.suppressResponse) {
67
- sendResolve = send.then(() => {
68
- resolve();
69
- });
70
- } else {
71
- sendResolve = send.then(resolve);
72
- }
73
- sendResolve.catch(reject);
74
- }, reject);
75
- });
61
+ async write(request, _session) {
62
+ const messenger = await import_InteractionMessenger.InteractionClientMessenger.create(this.#exchanges);
63
+ const response = await messenger.sendWriteCommand(request);
64
+ if (request.suppressResponse) {
65
+ return void 0;
66
+ }
67
+ if (!response || !response.writeResponses?.length) {
68
+ return new Array();
69
+ } else {
70
+ return response.writeResponses.map(
71
+ ({
72
+ path: { nodeId, endpointId, clusterId, attributeId, listIndex },
73
+ status: { status, clusterStatus }
74
+ }) => ({
75
+ kind: "attr-status",
76
+ path: {
77
+ nodeId,
78
+ endpointId,
79
+ clusterId,
80
+ attributeId,
81
+ listIndex
82
+ },
83
+ status,
84
+ clusterStatus
85
+ })
86
+ );
87
+ }
76
88
  }
77
89
  invoke(request, _session) {
78
90
  if (request.suppressResponse) {
79
- return new import_general.CancelablePromise((resolve, reject) => {
91
+ return new Promise((resolve, reject) => {
80
92
  import_InteractionMessenger.InteractionClientMessenger.create(this.#exchanges).then(
81
93
  (messenger) => messenger.sendInvokeCommand(request).then(() => resolve()).catch(reject)
82
94
  ).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,qBAAiG;AACjG,kCAA2C;AAC3C,gCAAmC;AACnC,8BAAiC;AACjC,8BAAiC;AApBjC;AAAA;AAAA;AAAA;AAAA;AAgCO,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,6BAAc,MAAM,EAAE,KAAkB;AAC5C,UAAM,WAAW,IAAI,kBAAkB;AAAA,MACnC,WAAW,IAAI,IAAI,wCAAgB;AAAA,MACnC,eAAe,IAAI,IAAI,4CAAkB;AAAA,MACzC,OAAO,IAAI,IAAI,wCAAgB;AAAA,IACnC,CAAC;AACD,QAAI,IAAI,mBAAmB,QAAQ;AACnC,WAAO;AAAA,EACX;AAAA,EAEA,KAAK,UAAgB,UAAiC;AAElD,UAAM,IAAI,mCAAoB;AAAA,EAClC;AAAA,EAEA,MAAuB,SAAY,UAAqB;AACpD,WAAO,IAAI,iCAAwC,CAAC,SAAS,WAAW;AACpE,6DAA2B,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,iCAAwB,CAAC,SAAS,WAAW;AACpD,+DAA2B,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,mCAAoB;AAAA,EAClC;AAAA,EAEA,UAAU,UAAqB,UAAsC;AAEjE,UAAM,IAAI,mCAAoB;AAAA,EAClC;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA,qBAA8E;AAC9E,kCAA2C;AAC3C,gCAAmC;AACnC,8BAAiC;AACjC,8BAAiC;AAnBjC;AAAA;AAAA;AAAA;AAAA;AA8BO,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,6BAAc,MAAM,EAAE,KAAkB;AAC5C,UAAM,WAAW,IAAI,kBAAkB;AAAA,MACnC,WAAW,IAAI,IAAI,wCAAgB;AAAA,MACnC,eAAe,IAAI,IAAI,4CAAkB;AAAA,MACzC,OAAO,IAAI,IAAI,wCAAgB;AAAA,IACnC,CAAC;AACD,QAAI,IAAI,mBAAmB,QAAQ;AACnC,WAAO;AAAA,EACX;AAAA,EAEA,KAAK,UAAgB,UAAiC;AAElD,UAAM,IAAI,mCAAoB;AAAA,EAClC;AAAA,EAEA,MAAM,MAAuB,SAAY,UAAqC;AAC1E,UAAM,YAAY,MAAM,uDAA2B,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,+DAA2B,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,mCAAoB;AAAA,EAClC;AAAA,EAEA,UAAU,UAAqB,UAAsC;AAEjE,UAAM,IAAI,mCAAoB;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":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,MAAM,WAAW,mBAAmB;IAChC,UAAU,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,YAAa,SAAQ,kBAAkB,CAAC,gBAAgB,CAAC;IACtE;;;;OAIG;IACH,MAAM,EAAE,WAAW,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;IAEnD;;OAEG;IACH,YAAY,EAAE,iBAAiB,CAAC;IAEhC;;OAEG;IACH,YAAY,EAAE,UAAU,CACpB;QAAC,UAAU,EAAE,cAAc;QAAE,SAAS,EAAE,SAAS;QAAE,OAAO,EAAE,WAAW,EAAE;QAAE,OAAO,EAAE,MAAM;KAAC,EAC3F,YAAY,CACf,CAAC;IAEF;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,gBACb,SAAQ,kBAAkB,CAAC,eAAe,CAAC,EACvC,0BAA0B,CAAC,cAAc,CAAC;IAC9C;;OAEG;IACH,IAAI,EAAE,aAAa,CAAC;IAEpB;;OAEG;IACH,WAAW,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,mBAAmB,CAAC;IAE1B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC;IAEjC;;OAEG;IACH,YAAY,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;IAElF;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,kBAAkB,GAAG,GAAG,CAAC,cAAc,CAAC;IAE3D;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;CAC1E;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAoB,SAAQ,0BAA0B,CAAC,SAAS,CAAC;IAC9E;;OAEG;IACH,UAAU,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IAEtD;;OAEG;IACH,MAAM,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,0BAA0B,CAAC,WAAW,CAAC;IAClF;;OAEG;IACH,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAExB;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;IAE7B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACrG;;OAEG;IACH,GAAG,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAExB;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B,CAAC,CAAC,SAAS,MAAM;IACxD;;OAEG;IACH,EAAE,EAAE,CAAC,CAAC;IAEN;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IAC5B,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;CAChD"}
@@ -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,6 +3,10 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
6
10
  var __copyProps = (to, from, except, desc) => {
7
11
  if (from && typeof from === "object" || typeof from === "function") {
8
12
  for (let key of __getOwnPropNames(from))
@@ -13,10 +17,80 @@ var __copyProps = (to, from, except, desc) => {
13
17
  };
14
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
19
  var Write_exports = {};
20
+ __export(Write_exports, {
21
+ Write: () => Write
22
+ });
16
23
  module.exports = __toCommonJS(Write_exports);
24
+ var import_Session = require("#session/Session.js");
25
+ var import_MalformedRequestError = require("./MalformedRequestError.js");
26
+ var import_Specifier = require("./Specifier.js");
17
27
  /**
18
28
  * @license
19
29
  * Copyright 2022-2025 Matter.js Authors
20
30
  * SPDX-License-Identifier: Apache-2.0
21
31
  */
32
+ function Write(optionsOrData, ...data) {
33
+ let options;
34
+ if ("kind" in optionsOrData) {
35
+ data = [optionsOrData, ...data];
36
+ options = {};
37
+ } else {
38
+ options = optionsOrData;
39
+ }
40
+ const { writes: writeRequests = [] } = options;
41
+ const result = {
42
+ timedRequest: !!options.timed || !!options.timeout,
43
+ writeRequests,
44
+ interactionModelRevision: options.interactionModelRevision ?? import_Session.FALLBACK_INTERACTIONMODEL_REVISION
45
+ };
46
+ for (const entry of data) {
47
+ reifyData(entry);
48
+ }
49
+ if (!writeRequests.length) {
50
+ throw new import_MalformedRequestError.MalformedRequestError(`Write action contains no attributes to write`);
51
+ }
52
+ return result;
53
+ function reifyData(data2) {
54
+ const cluster = import_Specifier.Specifier.clusterOf(data2);
55
+ if (cluster === void 0) {
56
+ throw new import_MalformedRequestError.MalformedRequestError(`Write action must specify a cluster`);
57
+ }
58
+ let { attributes } = data2;
59
+ if (attributes === void 0) {
60
+ throw new import_MalformedRequestError.MalformedRequestError(`Write action must specify an attribute`);
61
+ }
62
+ if (!Array.isArray(attributes)) {
63
+ attributes = [attributes];
64
+ }
65
+ const { endpoint, value, version: dataVersion } = data2;
66
+ const prototype = {
67
+ path: {
68
+ endpointId: endpoint !== void 0 ? import_Specifier.Specifier.endpointIdOf(data2) : void 0,
69
+ clusterId: cluster.id,
70
+ attributeId: void 0
71
+ },
72
+ dataVersion
73
+ };
74
+ for (const specifier of attributes) {
75
+ const attribute = import_Specifier.Specifier.attributeFor(cluster, specifier);
76
+ writeRequests.push({
77
+ ...prototype,
78
+ path: {
79
+ ...prototype.path,
80
+ attributeId: attribute.id
81
+ },
82
+ data: attribute.schema.encodeTlv(value, { forWriteInteraction: true })
83
+ });
84
+ }
85
+ }
86
+ }
87
+ ((Write2) => {
88
+ function Attribute(data) {
89
+ return {
90
+ kind: "attribute",
91
+ ...data
92
+ };
93
+ }
94
+ Write2.Attribute = Attribute;
95
+ })(Write || (Write = {}));
22
96
  //# 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;AAAA;AAAA;",
5
- "names": []
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAmD;AAEnD,mCAAsC;AACtC,uBAA0B;AAT1B;AAAA;AAAA;AAAA;AAAA;AA4BO,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,mDAAsB,8CAA8C;AAAA,EAClF;AAEA,SAAO;AAEP,WAAS,UAAUA,OAAuB;AACtC,UAAM,UAAU,2BAAU,UAAUA,KAAI;AAExC,QAAI,YAAY,QAAW;AACvB,YAAM,IAAI,mDAAsB,qCAAqC;AAAA,IACzE;AAEA,QAAI,EAAE,WAAW,IAAIA;AACrB,QAAI,eAAe,QAAW;AAC1B,YAAM,IAAI,mDAAsB,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,2BAAU,aAAaA,KAAI,IAAI;AAAA,QACpE,WAAW,QAAQ;AAAA,QACnB,aAAa;AAAA,MACjB;AAAA,MACA;AAAA,IACJ;AAEA,eAAW,aAAa,YAAY;AAChC,YAAM,YAAY,2BAAU,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"}
@@ -122,7 +122,7 @@ function dataEnforcerFor(schema) {
122
122
  import_types.StatusCode.UnsupportedAccess
123
123
  );
124
124
  }
125
- if (location?.owningFabric && location.owningFabric !== session.fabric) {
125
+ if (location?.owningFabric !== void 0 && location.owningFabric !== session.fabric) {
126
126
  throw new import_errors.ReadError(
127
127
  location,
128
128
  "Permission denied: Owning/accessing fabric mismatch",
@@ -139,7 +139,7 @@ function dataEnforcerFor(schema) {
139
139
  if (session.fabric === void 0) {
140
140
  return false;
141
141
  }
142
- if (location?.owningFabric && location.owningFabric !== session.fabric) {
142
+ if (location?.owningFabric !== void 0 && location.owningFabric !== session.fabric) {
143
143
  return false;
144
144
  }
145
145
  return wrappedMayRead(session, location);
@@ -151,7 +151,7 @@ function dataEnforcerFor(schema) {
151
151
  if (session.fabric === void 0) {
152
152
  throw new import_errors.WriteError(location, "Permission denied: No accessing fabric", import_types.StatusCode.UnsupportedAccess);
153
153
  }
154
- if (location?.owningFabric && location.owningFabric !== session.fabric) {
154
+ if (location?.owningFabric !== void 0 && location.owningFabric !== session.fabric) {
155
155
  throw new import_errors.WriteError(location, "Permission denied: Owning/accessing fabric mismatch");
156
156
  }
157
157
  wrappedAuthorizeWrite(session, location);
@@ -163,7 +163,7 @@ function dataEnforcerFor(schema) {
163
163
  if (session.fabric === void 0) {
164
164
  return false;
165
165
  }
166
- if (location?.owningFabric && location.owningFabric !== session.fabric) {
166
+ if (location?.owningFabric !== void 0 && location.owningFabric !== session.fabric) {
167
167
  return false;
168
168
  }
169
169
  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": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,mBAAmF;AACnF,mBAA8E;AAC9E,oBAA8E;AAR9E;AAAA;AAAA;AAAA;AAAA;AAUA,MAAM,QAAQ,oBAAI,QAA+B;AAkD1C,SAAS,cAAc,QAAgB;AAC1C,MAAI,WAAW,MAAM,IAAI,MAAM;AAC/B,MAAI,aAAa,QAAW;AACxB,eAAW,YAAY,MAAM;AAAA,EACjC;AACA,SAAO;AACX;AAAA,CAEO,CAAUA,mBAAV;AAyGI,MAAK;AAAL,IAAKC,eAAL;AAIH,IAAAA,sBAAA,aAAU,KAAV;AAKA,IAAAA,sBAAA,kBAAe,KAAf;AAKA,IAAAA,sBAAA,gBAAa,KAAb;AAAA,KAdQ,YAAAD,eAAA,cAAAA,eAAA;AAAA,GAzGC;AA2HjB,OAAO,OAAO,aAAa;AAC3B,OAAO,OAAO,cAAc,SAAS;AAErC,SAAS,YAAY,QAA+B;AAChD,MAAI,OAAO,QAAQ,wBAAW,SAAS;AACnC,WAAO,mBAAmB,MAAM;AAAA,EACpC;AACA,SAAO,gBAAgB,MAAM;AACjC;AAEA,SAAS,gBAAgB,QAA+B;AACpD,QAAM,SAAS,UAAU,MAAM;AAE/B,MAAI,UAAsC,CAAC,SAAS,aAAa;AAC7D,QAAI,QAAQ,WAAW,QAAQ,SAAS;AACpC,aAAO;AAAA,IACX;AAEA,WAAO,QAAQ,YAAY,OAAO,WAAW,QAAQ,MAAM;AAAA,EAC/D;AAEA,MAAI,WAAuC,CAAC,SAAS,aAAa;AAC9D,QAAI,QAAQ,WAAW,QAAQ,SAAS;AACpC,aAAO;AAAA,IACX;AAEA,WAAO,QAAQ,YAAY,OAAO,YAAY,QAAQ,MAAM;AAAA,EAChE;AAEA,MAAI,gBAAyC,CAAC,SAAS,aAAa;AAChE,QAAI,QAAQ,WAAW,QAAQ,SAAS;AACpC;AAAA,IACJ;AAEA,QAAI,QAAQ,YAAY,OAAO,WAAW,QAAQ,MAAM,iBAAiC;AACrF;AAAA,IACJ;AAEA,UAAM,IAAI,wBAAU,UAAU,qBAAqB,wBAAW,iBAAiB;AAAA,EACnF;AAEA,MAAI,iBAA0C,CAAC,SAAS,aAAa;AACjE,QAAI,QAAQ,WAAW,QAAQ,SAAS;AACpC;AAAA,IACJ;AAEA,QAAI,QAAQ,YAAY,OAAO,YAAY,QAAQ,MAAM,iBAAiC;AACtF;AAAA,IACJ;AAEA,UAAM,IAAI,yBAAW,UAAU,qBAAqB,wBAAW,iBAAiB;AAAA,EACpF;AAEA,MAAI,OAAO,OAAO;AACd,UAAM,wBAAwB;AAC9B,UAAM,kBAAkB;AAExB,qBAAiB,CAAC,SAAS,aAAa;AACpC,UAAI,CAAC,QAAQ,WAAW,CAAC,QAAQ,OAAO;AACpC,cAAM,IAAI;AAAA,UACN;AAAA,UACA;AAAA,UACA,wBAAW;AAAA,QACf;AAAA,MACJ;AACA,8BAAwB,SAAS,QAAQ;AAAA,IAC7C;AAEA,eAAW,CAAC,SAAS,aAAa;AAC9B,UAAI,CAAC,QAAQ,WAAW,CAAC,QAAQ,OAAO;AACpC,eAAO;AAAA,MACX;AAEA,aAAO,gBAAgB,SAAS,QAAQ;AAAA,IAC5C;AAAA,EACJ;AAEA,MAAI,OAAO,iBAAiB;AACxB,UAAM,uBAAuB;AAC7B,UAAM,iBAAiB;AACvB,UAAM,wBAAwB;AAC9B,UAAM,kBAAkB;AAExB,oBAAgB,CAAC,SAAS,aAAa;AACnC,UAAI,QAAQ,WAAW,QAAQ,SAAS;AACpC;AAAA,MACJ;AAEA,UAAI,QAAQ,gBAAgB;AACxB,YAAI,QAAQ,WAAW,QAAW;AAC9B,gBAAM,IAAI;AAAA,YACN;AAAA,YACA;AAAA,YACA,wBAAW;AAAA,UACf;AAAA,QACJ;AAEA,YAAI,UAAU,iBAAiB,UAAa,SAAS,iBAAiB,QAAQ,QAAQ;AAClF,gBAAM,IAAI;AAAA,YACN;AAAA,YACA;AAAA,YACA,wBAAW;AAAA,UACf;AAAA,QACJ;AAAA,MACJ;AAEA,2BAAqB,SAAS,QAAQ;AAAA,IAC1C;AAEA,cAAU,CAAC,SAAS,aAAa;AAC7B,UAAI,QAAQ,WAAW,QAAQ,SAAS;AACpC,eAAO;AAAA,MACX;AAEA,UAAI,QAAQ,WAAW,QAAW;AAC9B,eAAO;AAAA,MACX;AAEA,UAAI,UAAU,iBAAiB,UAAa,SAAS,iBAAiB,QAAQ,QAAQ;AAClF,eAAO;AAAA,MACX;AAEA,aAAO,eAAe,SAAS,QAAQ;AAAA,IAC3C;AAEA,qBAAiB,CAAC,SAAS,aAAa;AACpC,UAAI,QAAQ,WAAW,QAAQ,SAAS;AACpC;AAAA,MACJ;AAEA,UAAI,QAAQ,WAAW,QAAW;AAC9B,cAAM,IAAI,yBAAW,UAAU,0CAA0C,wBAAW,iBAAiB;AAAA,MACzG;AAEA,UAAI,UAAU,iBAAiB,UAAa,SAAS,iBAAiB,QAAQ,QAAQ;AAClF,cAAM,IAAI,yBAAW,UAAU,qDAAqD;AAAA,MACxF;AAEA,4BAAsB,SAAS,QAAQ;AAAA,IAC3C;AAEA,eAAW,CAAC,SAAS,aAAa;AAC9B,UAAI,QAAQ,WAAW,QAAQ,SAAS;AACpC,eAAO;AAAA,MACX;AAEA,UAAI,QAAQ,WAAW,QAAW;AAC9B,eAAO;AAAA,MACX;AAEA,UAAI,UAAU,iBAAiB,UAAa,SAAS,iBAAiB,QAAQ,QAAQ;AAClF,eAAO;AAAA,MACX;AAEA,aAAO,gBAAgB,SAAS,QAAQ;AAAA,IAC5C;AAAA,EACJ;AAEA,MAAI,CAAC,OAAO,UAAU;AAClB,oBAAgB,CAAC,SAAS,aAAa;AACnC,UAAI,QAAQ,WAAW,QAAQ,SAAS;AACpC;AAAA,MACJ;AAEA,YAAM,IAAI,wBAAU,UAAU,yCAAyC;AAAA,IAC3E;AAEA,cAAU,aAAW;AACjB,aAAO,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,QAAQ;AAAA,IAC1C;AAAA,EACJ;AAEA,MAAI,CAAC,OAAO,UAAU;AAClB,qBAAiB,CAAC,SAAS,aAAa;AACpC,UAAI,QAAQ,WAAW,QAAQ,SAAS;AACpC;AAAA,MACJ;AACA,YAAM,IAAI,yBAAW,UAAU,uCAAuC;AAAA,IAC1E;AAEA,eAAW,aAAW;AAClB,aAAO,CAAC,CAAC,QAAQ,WAAW,CAAC,CAAC,QAAQ;AAAA,IAC1C;AAAA,EACJ;AAEA,SAAO,OAAO,OAAO;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA,gBAAgB,UAAiC,UAAkC;AAC/E,YAAM,IAAI,wCAA0B,UAAU,0DAA0D;AAAA,IAC5G;AAAA,IAEA,YAAY;AACR,aAAO;AAAA,IACX;AAAA,EACJ,CAAyB;AAC7B;AAEA,SAAS,mBAAmB,QAA+B;AACvD,QAAM,SAAS,UAAU,MAAM;AAC/B,QAAM,QAAQ,OAAO,gBAAgB;AACrC,QAAM,SAAS,OAAO,gBAAgB;AAEtC,SAAO;AAAA,IACH;AAAA,IAEA,cAAc,UAAU,UAAU;AAC9B,YAAM,IAAI,wCAA0B,UAAU,oDAAoD;AAAA,IACtG;AAAA,IAEA,UAAU;AACN,aAAO;AAAA,IACX;AAAA,IAEA,eAAe,UAAU,UAAU;AAC/B,YAAM,IAAI,wCAA0B,UAAU,qDAAqD;AAAA,IACvG;AAAA,IAEA,WAAW;AACP,aAAO;AAAA,IACX;AAAA,IAEA,gBAAgB,SAAS,UAAU;AAC/B,UAAI,QAAQ,SAAS;AACjB;AAAA,MACJ;AAEA,UAAI,CAAC,QAAQ,SAAS;AAClB,cAAM,IAAI,0BAAY,UAAU,wCAAwC;AAAA,MAC5E;AAEA,UAAI,SAAS,CAAC,QAAQ,OAAO;AACzB,cAAM,IAAI;AAAA,UACN;AAAA,UACA;AAAA,UACA,wBAAW;AAAA,QACf;AAAA,MACJ;AAEA,UAAI,UAAU,QAAQ,WAAW,QAAW;AACxC,cAAM,IAAI,yBAAW,UAAU,0CAA0C,wBAAW,iBAAiB;AAAA,MACzG;AAEA,UAAI,QAAQ,YAAY,OAAO,YAAY,QAAQ,MAAM,iBAAiC;AACtF;AAAA,MACJ;AAEA,YAAM,IAAI,0BAAY,UAAU,qBAAqB,wBAAW,iBAAiB;AAAA,IACrF;AAAA,IAEA,UAAU,SAAS,UAAU;AACzB,UAAI,QAAQ,SAAS;AACjB,eAAO;AAAA,MACX;AAEA,UAAI,CAAC,QAAQ,SAAS;AAClB,eAAO;AAAA,MACX;AAEA,UAAI,SAAS,CAAC,QAAQ,OAAO;AACzB,eAAO;AAAA,MACX;AAEA,UAAI,UAAU,QAAQ,WAAW,QAAW;AACxC,eAAO;AAAA,MACX;AAEA,aAAO,QAAQ,YAAY,OAAO,YAAY,QAAQ,MAAM;AAAA,IAChE;AAAA,EACJ;AACJ;AAEA,SAAS,UAAU,QAAgB;AAC/B,QAAM,SAAS,OAAO;AACtB,QAAM,UAAU,kBAAkB,0BAAa,OAAO,mBAAmB;AAGzE,MAAI,QAAQ,SAAS;AACrB,WAAS,IAAI,OAAO,QAAQ,CAAC,SAAS,aAAa,yBAAY,IAAI,EAAE,QAAQ;AACzE,QAAI,EAAE,iBAAiB,OAAO;AAC1B,cAAQ;AAAA,IACZ;AAAA,EACJ;AAEA,QAAM,SAA+B,OAAO,OAAO;AAAA,IAC/C,UAAU,OAAO;AAAA,IACjB,UAAU,OAAO,YAAY,CAAC;AAAA,IAC9B,cAAc,OAAO,WAAW,oBAAO,OAAO,UAAU,OAAO,WAAW,oBAAO,OAAO;AAAA,IACxF,iBAAiB,OAAO,WAAW,oBAAO,OAAO;AAAA,IACjD,OAAO,OAAO,UAAU;AAAA;AAAA;AAAA,IAIxB,WAAW,OAAO,aAAa,SAAY,yBAAY,OAAO,oBAAO,eAAe,OAAO,QAAQ;AAAA,IACnG,YAAY,OAAO,cAAc,SAAY,yBAAY,UAAU,oBAAO,eAAe,OAAO,SAAS;AAAA,EAC7G,CAAC;AAED,SAAO;AACX;",
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"}