@matter/protocol 0.12.4-alpha.0-20250211-56b2c53a0 → 0.12.4-alpha.0-20250212-b2729c9eb

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 (236) hide show
  1. package/dist/cjs/action/Interactable.d.ts +36 -0
  2. package/dist/cjs/action/Interactable.d.ts.map +1 -0
  3. package/dist/cjs/action/Interactable.js +22 -0
  4. package/dist/cjs/action/Interactable.js.map +6 -0
  5. package/dist/cjs/action/Val.d.ts +94 -0
  6. package/dist/cjs/action/Val.d.ts.map +1 -0
  7. package/dist/cjs/action/Val.js +33 -0
  8. package/dist/cjs/action/Val.js.map +6 -0
  9. package/dist/cjs/action/errors.d.ts +69 -0
  10. package/dist/cjs/action/errors.d.ts.map +1 -0
  11. package/dist/cjs/action/errors.js +108 -0
  12. package/dist/cjs/action/errors.js.map +6 -0
  13. package/dist/cjs/action/index.d.ts +13 -0
  14. package/dist/cjs/action/index.d.ts.map +1 -0
  15. package/dist/cjs/action/index.js +30 -0
  16. package/dist/cjs/action/index.js.map +6 -0
  17. package/dist/cjs/action/protocols.d.ts +118 -0
  18. package/dist/cjs/action/protocols.d.ts.map +1 -0
  19. package/dist/cjs/action/protocols.js +22 -0
  20. package/dist/cjs/action/protocols.js.map +6 -0
  21. package/dist/cjs/action/request/Invoke.d.ts +35 -0
  22. package/dist/cjs/action/request/Invoke.d.ts.map +1 -0
  23. package/dist/cjs/action/request/Invoke.js +80 -0
  24. package/dist/cjs/action/request/Invoke.js.map +6 -0
  25. package/dist/cjs/action/request/MalformedRequestError.d.ts +14 -0
  26. package/dist/cjs/action/request/MalformedRequestError.d.ts.map +1 -0
  27. package/dist/cjs/action/request/MalformedRequestError.js +32 -0
  28. package/dist/cjs/action/request/MalformedRequestError.js.map +6 -0
  29. package/dist/cjs/action/request/Read.d.ts +141 -0
  30. package/dist/cjs/action/request/Read.d.ts.map +1 -0
  31. package/dist/cjs/action/request/Read.js +173 -0
  32. package/dist/cjs/action/request/Read.js.map +6 -0
  33. package/dist/cjs/action/request/Specifier.d.ts +82 -0
  34. package/dist/cjs/action/request/Specifier.d.ts.map +1 -0
  35. package/dist/cjs/action/request/Specifier.js +88 -0
  36. package/dist/cjs/action/request/Specifier.js.map +6 -0
  37. package/dist/cjs/action/request/Subscribe.d.ts +26 -0
  38. package/dist/cjs/action/request/Subscribe.d.ts.map +1 -0
  39. package/dist/cjs/action/request/Subscribe.js +50 -0
  40. package/dist/cjs/action/request/Subscribe.js.map +6 -0
  41. package/dist/cjs/action/request/Write.d.ts +10 -0
  42. package/dist/cjs/action/request/Write.d.ts.map +1 -0
  43. package/dist/cjs/action/request/Write.js +22 -0
  44. package/dist/cjs/action/request/Write.js.map +6 -0
  45. package/dist/cjs/action/request/index.d.ts +11 -0
  46. package/dist/cjs/action/request/index.d.ts.map +1 -0
  47. package/dist/cjs/action/request/index.js +28 -0
  48. package/dist/cjs/action/request/index.js.map +6 -0
  49. package/dist/cjs/action/response/InvokeResult.d.ts +15 -0
  50. package/dist/cjs/action/response/InvokeResult.d.ts.map +1 -0
  51. package/dist/cjs/action/response/InvokeResult.js +22 -0
  52. package/dist/cjs/action/response/InvokeResult.js.map +6 -0
  53. package/dist/cjs/action/response/ReadResult.d.ts +63 -0
  54. package/dist/cjs/action/response/ReadResult.d.ts.map +1 -0
  55. package/dist/cjs/action/response/ReadResult.js +22 -0
  56. package/dist/cjs/action/response/ReadResult.js.map +6 -0
  57. package/dist/cjs/action/response/SubscribeResult.d.ts +13 -0
  58. package/dist/cjs/action/response/SubscribeResult.d.ts.map +1 -0
  59. package/dist/cjs/action/response/SubscribeResult.js +22 -0
  60. package/dist/cjs/action/response/SubscribeResult.js.map +6 -0
  61. package/dist/cjs/action/response/WriteResult.d.ts +12 -0
  62. package/dist/cjs/action/response/WriteResult.d.ts.map +1 -0
  63. package/dist/cjs/action/response/WriteResult.js +22 -0
  64. package/dist/cjs/action/response/WriteResult.js.map +6 -0
  65. package/dist/cjs/action/response/index.d.ts +10 -0
  66. package/dist/cjs/action/response/index.d.ts.map +1 -0
  67. package/dist/cjs/action/response/index.js +27 -0
  68. package/dist/cjs/action/response/index.js.map +6 -0
  69. package/dist/cjs/action/server/AccessControl.d.ts +152 -0
  70. package/dist/cjs/action/server/AccessControl.d.ts.map +1 -0
  71. package/dist/cjs/action/server/AccessControl.js +287 -0
  72. package/dist/cjs/action/server/AccessControl.js.map +6 -0
  73. package/dist/cjs/action/server/AttributeResponse.d.ts +36 -0
  74. package/dist/cjs/action/server/AttributeResponse.d.ts.map +1 -0
  75. package/dist/cjs/action/server/AttributeResponse.js +352 -0
  76. package/dist/cjs/action/server/AttributeResponse.js.map +6 -0
  77. package/dist/cjs/action/server/ServerInteraction.d.ts +35 -0
  78. package/dist/cjs/action/server/ServerInteraction.d.ts.map +1 -0
  79. package/dist/cjs/action/server/ServerInteraction.js +52 -0
  80. package/dist/cjs/action/server/ServerInteraction.js.map +6 -0
  81. package/dist/cjs/action/server/index.d.ts +9 -0
  82. package/dist/cjs/action/server/index.d.ts.map +1 -0
  83. package/dist/cjs/action/server/index.js +26 -0
  84. package/dist/cjs/action/server/index.js.map +6 -0
  85. package/dist/cjs/index.d.ts +1 -0
  86. package/dist/cjs/index.d.ts.map +1 -1
  87. package/dist/cjs/index.js +1 -0
  88. package/dist/cjs/index.js.map +1 -1
  89. package/dist/cjs/interaction/AccessControlManager.d.ts +1 -1
  90. package/dist/cjs/interaction/AccessControlManager.d.ts.map +1 -1
  91. package/dist/cjs/interaction/AccessControlManager.js +2 -2
  92. package/dist/cjs/interaction/AccessControlManager.js.map +1 -1
  93. package/dist/cjs/interaction/AttributeDataEncoder.d.ts +1 -3
  94. package/dist/cjs/interaction/AttributeDataEncoder.d.ts.map +1 -1
  95. package/dist/cjs/interaction/InteractionMessenger.d.ts +5 -5
  96. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  97. package/dist/cjs/interaction/InteractionServer.d.ts +1 -1
  98. package/dist/cjs/interaction/InteractionServer.d.ts.map +1 -1
  99. package/dist/cjs/interaction/InteractionServer.js +2 -2
  100. package/dist/cjs/interaction/InteractionServer.js.map +1 -1
  101. package/dist/cjs/interaction/ServerSubscription.d.ts +2 -2
  102. package/dist/cjs/interaction/ServerSubscription.d.ts.map +1 -1
  103. package/dist/cjs/interaction/ServerSubscription.js +0 -1
  104. package/dist/cjs/interaction/ServerSubscription.js.map +1 -1
  105. package/dist/cjs/mdns/MdnsScanner.d.ts +2 -2
  106. package/dist/esm/action/Interactable.d.ts +36 -0
  107. package/dist/esm/action/Interactable.d.ts.map +1 -0
  108. package/dist/esm/action/Interactable.js +6 -0
  109. package/dist/esm/action/Interactable.js.map +6 -0
  110. package/dist/esm/action/Val.d.ts +94 -0
  111. package/dist/esm/action/Val.d.ts.map +1 -0
  112. package/dist/esm/action/Val.js +13 -0
  113. package/dist/esm/action/Val.js.map +6 -0
  114. package/dist/esm/action/errors.d.ts +69 -0
  115. package/dist/esm/action/errors.d.ts.map +1 -0
  116. package/dist/esm/action/errors.js +88 -0
  117. package/dist/esm/action/errors.js.map +6 -0
  118. package/dist/esm/action/index.d.ts +13 -0
  119. package/dist/esm/action/index.d.ts.map +1 -0
  120. package/dist/esm/action/index.js +13 -0
  121. package/dist/esm/action/index.js.map +6 -0
  122. package/dist/esm/action/protocols.d.ts +118 -0
  123. package/dist/esm/action/protocols.d.ts.map +1 -0
  124. package/dist/esm/action/protocols.js +6 -0
  125. package/dist/esm/action/protocols.js.map +6 -0
  126. package/dist/esm/action/request/Invoke.d.ts +35 -0
  127. package/dist/esm/action/request/Invoke.d.ts.map +1 -0
  128. package/dist/esm/action/request/Invoke.js +60 -0
  129. package/dist/esm/action/request/Invoke.js.map +6 -0
  130. package/dist/esm/action/request/MalformedRequestError.d.ts +14 -0
  131. package/dist/esm/action/request/MalformedRequestError.d.ts.map +1 -0
  132. package/dist/esm/action/request/MalformedRequestError.js +12 -0
  133. package/dist/esm/action/request/MalformedRequestError.js.map +6 -0
  134. package/dist/esm/action/request/Read.d.ts +141 -0
  135. package/dist/esm/action/request/Read.d.ts.map +1 -0
  136. package/dist/esm/action/request/Read.js +153 -0
  137. package/dist/esm/action/request/Read.js.map +6 -0
  138. package/dist/esm/action/request/Specifier.d.ts +82 -0
  139. package/dist/esm/action/request/Specifier.d.ts.map +1 -0
  140. package/dist/esm/action/request/Specifier.js +68 -0
  141. package/dist/esm/action/request/Specifier.js.map +6 -0
  142. package/dist/esm/action/request/Subscribe.d.ts +26 -0
  143. package/dist/esm/action/request/Subscribe.d.ts.map +1 -0
  144. package/dist/esm/action/request/Subscribe.js +30 -0
  145. package/dist/esm/action/request/Subscribe.js.map +6 -0
  146. package/dist/esm/action/request/Write.d.ts +10 -0
  147. package/dist/esm/action/request/Write.d.ts.map +1 -0
  148. package/dist/esm/action/request/Write.js +6 -0
  149. package/dist/esm/action/request/Write.js.map +6 -0
  150. package/dist/esm/action/request/index.d.ts +11 -0
  151. package/dist/esm/action/request/index.d.ts.map +1 -0
  152. package/dist/esm/action/request/index.js +11 -0
  153. package/dist/esm/action/request/index.js.map +6 -0
  154. package/dist/esm/action/response/InvokeResult.d.ts +15 -0
  155. package/dist/esm/action/response/InvokeResult.d.ts.map +1 -0
  156. package/dist/esm/action/response/InvokeResult.js +6 -0
  157. package/dist/esm/action/response/InvokeResult.js.map +6 -0
  158. package/dist/esm/action/response/ReadResult.d.ts +63 -0
  159. package/dist/esm/action/response/ReadResult.d.ts.map +1 -0
  160. package/dist/esm/action/response/ReadResult.js +6 -0
  161. package/dist/esm/action/response/ReadResult.js.map +6 -0
  162. package/dist/esm/action/response/SubscribeResult.d.ts +13 -0
  163. package/dist/esm/action/response/SubscribeResult.d.ts.map +1 -0
  164. package/dist/esm/action/response/SubscribeResult.js +6 -0
  165. package/dist/esm/action/response/SubscribeResult.js.map +6 -0
  166. package/dist/esm/action/response/WriteResult.d.ts +12 -0
  167. package/dist/esm/action/response/WriteResult.d.ts.map +1 -0
  168. package/dist/esm/action/response/WriteResult.js +6 -0
  169. package/dist/esm/action/response/WriteResult.js.map +6 -0
  170. package/dist/esm/action/response/index.d.ts +10 -0
  171. package/dist/esm/action/response/index.d.ts.map +1 -0
  172. package/dist/esm/action/response/index.js +10 -0
  173. package/dist/esm/action/response/index.js.map +6 -0
  174. package/dist/esm/action/server/AccessControl.d.ts +152 -0
  175. package/dist/esm/action/server/AccessControl.d.ts.map +1 -0
  176. package/dist/esm/action/server/AccessControl.js +267 -0
  177. package/dist/esm/action/server/AccessControl.js.map +6 -0
  178. package/dist/esm/action/server/AttributeResponse.d.ts +36 -0
  179. package/dist/esm/action/server/AttributeResponse.d.ts.map +1 -0
  180. package/dist/esm/action/server/AttributeResponse.js +339 -0
  181. package/dist/esm/action/server/AttributeResponse.js.map +6 -0
  182. package/dist/esm/action/server/ServerInteraction.d.ts +35 -0
  183. package/dist/esm/action/server/ServerInteraction.d.ts.map +1 -0
  184. package/dist/esm/action/server/ServerInteraction.js +32 -0
  185. package/dist/esm/action/server/ServerInteraction.js.map +6 -0
  186. package/dist/esm/action/server/index.d.ts +9 -0
  187. package/dist/esm/action/server/index.d.ts.map +1 -0
  188. package/dist/esm/action/server/index.js +9 -0
  189. package/dist/esm/action/server/index.js.map +6 -0
  190. package/dist/esm/index.d.ts +1 -0
  191. package/dist/esm/index.d.ts.map +1 -1
  192. package/dist/esm/index.js +1 -0
  193. package/dist/esm/index.js.map +1 -1
  194. package/dist/esm/interaction/AccessControlManager.d.ts +1 -1
  195. package/dist/esm/interaction/AccessControlManager.d.ts.map +1 -1
  196. package/dist/esm/interaction/AccessControlManager.js +2 -2
  197. package/dist/esm/interaction/AccessControlManager.js.map +1 -1
  198. package/dist/esm/interaction/AttributeDataEncoder.d.ts +1 -3
  199. package/dist/esm/interaction/AttributeDataEncoder.d.ts.map +1 -1
  200. package/dist/esm/interaction/InteractionMessenger.d.ts +5 -5
  201. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  202. package/dist/esm/interaction/InteractionServer.d.ts +1 -1
  203. package/dist/esm/interaction/InteractionServer.d.ts.map +1 -1
  204. package/dist/esm/interaction/InteractionServer.js +2 -2
  205. package/dist/esm/interaction/InteractionServer.js.map +1 -1
  206. package/dist/esm/interaction/ServerSubscription.d.ts +2 -2
  207. package/dist/esm/interaction/ServerSubscription.d.ts.map +1 -1
  208. package/dist/esm/interaction/ServerSubscription.js +0 -1
  209. package/dist/esm/interaction/ServerSubscription.js.map +1 -1
  210. package/dist/esm/mdns/MdnsScanner.d.ts +2 -2
  211. package/package.json +6 -6
  212. package/src/action/Interactable.ts +40 -0
  213. package/src/action/Val.ts +111 -0
  214. package/src/action/errors.ts +119 -0
  215. package/src/action/index.ts +13 -0
  216. package/src/action/protocols.ts +134 -0
  217. package/src/action/request/Invoke.ts +93 -0
  218. package/src/action/request/MalformedRequestError.ts +14 -0
  219. package/src/action/request/Read.ts +356 -0
  220. package/src/action/request/Specifier.ts +146 -0
  221. package/src/action/request/Subscribe.ts +54 -0
  222. package/src/action/request/Write.ts +13 -0
  223. package/src/action/request/index.ts +11 -0
  224. package/src/action/response/InvokeResult.ts +17 -0
  225. package/src/action/response/ReadResult.ts +89 -0
  226. package/src/action/response/SubscribeResult.ts +14 -0
  227. package/src/action/response/WriteResult.ts +13 -0
  228. package/src/action/response/index.ts +10 -0
  229. package/src/action/server/AccessControl.ts +494 -0
  230. package/src/action/server/AttributeResponse.ts +413 -0
  231. package/src/action/server/ServerInteraction.ts +64 -0
  232. package/src/action/server/index.ts +9 -0
  233. package/src/index.ts +1 -0
  234. package/src/interaction/AccessControlManager.ts +3 -3
  235. package/src/interaction/InteractionServer.ts +2 -3
  236. package/src/interaction/ServerSubscription.ts +0 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/interaction/ServerSubscription.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["ServerSubscriptionConfig", "path", "endpointId", "value"]
6
6
  }
@@ -46,9 +46,9 @@ export declare class MdnsScanner implements Scanner {
46
46
  addresses: ServerAddressIp[];
47
47
  discoveredAt: undefined;
48
48
  ttl: undefined;
49
- SAT?: number | undefined;
50
- SAI?: number | undefined;
51
49
  SII?: number | undefined;
50
+ SAI?: number | undefined;
51
+ SAT?: number | undefined;
52
52
  VP?: string | undefined;
53
53
  DT?: number | undefined;
54
54
  DN?: string | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/protocol",
3
- "version": "0.12.4-alpha.0-20250211-56b2c53a0",
3
+ "version": "0.12.4-alpha.0-20250212-b2729c9eb",
4
4
  "description": "Low-level APIs for Matter interaction",
5
5
  "keywords": [
6
6
  "iot",
@@ -40,14 +40,14 @@
40
40
  "#*": "./src/*"
41
41
  },
42
42
  "dependencies": {
43
- "@matter/general": "0.12.4-alpha.0-20250211-56b2c53a0",
44
- "@matter/model": "0.12.4-alpha.0-20250211-56b2c53a0",
45
- "@matter/types": "0.12.4-alpha.0-20250211-56b2c53a0",
43
+ "@matter/general": "0.12.4-alpha.0-20250212-b2729c9eb",
44
+ "@matter/model": "0.12.4-alpha.0-20250212-b2729c9eb",
45
+ "@matter/types": "0.12.4-alpha.0-20250212-b2729c9eb",
46
46
  "@noble/curves": "^1.8.1"
47
47
  },
48
48
  "devDependencies": {
49
- "@matter/tools": "0.12.4-alpha.0-20250211-56b2c53a0",
50
- "@matter/testing": "0.12.4-alpha.0-20250211-56b2c53a0"
49
+ "@matter/tools": "0.12.4-alpha.0-20250212-b2729c9eb",
50
+ "@matter/testing": "0.12.4-alpha.0-20250212-b2729c9eb"
51
51
  },
52
52
  "files": [
53
53
  "dist/**/*",
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { Invoke } from "./request/Invoke.js";
8
+ import { Read } from "./request/Read.js";
9
+ import { Subscribe } from "./request/Subscribe.js";
10
+ import { Write } from "./request/Write.js";
11
+ import { InvokeResult } from "./response/InvokeResult.js";
12
+ import { ReadResult } from "./response/ReadResult.js";
13
+ import { SubscribeResult } from "./response/SubscribeResult.js";
14
+ import { WriteResult } from "./response/WriteResult.js";
15
+ import { AccessControl } from "./server/AccessControl.js";
16
+
17
+ /**
18
+ * Objects implementing this interface can participate in Matter interactions.
19
+ */
20
+ export interface Interactable<SessionT = AccessControl.Session> {
21
+ /**
22
+ * Perform a Matter read interaction.
23
+ */
24
+ read(request: Read, session?: SessionT): ReadResult;
25
+
26
+ /**
27
+ * Perform a Matter subscribe interaction.
28
+ */
29
+ subscribe(request: Subscribe, session?: SessionT): SubscribeResult;
30
+
31
+ /**
32
+ * Perform a Matter write interaction.
33
+ */
34
+ write<T extends Write>(request: T, session?: SessionT): WriteResult<T>;
35
+
36
+ /**
37
+ * Perform a Matter invoke interaction.
38
+ */
39
+ invoke<T extends Invoke>(request: T, session?: SessionT): InvokeResult<T>;
40
+ }
@@ -0,0 +1,111 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { AccessControl } from "./server/AccessControl.js";
8
+
9
+ /**
10
+ * Any JS value representing a value defined by Matter.
11
+ */
12
+ export type Val = unknown;
13
+
14
+ export namespace Val {
15
+ /**
16
+ * Type for Matter structs. In JS this is an object with string keys.
17
+ */
18
+ export type Struct = Record<string, Val>;
19
+
20
+ /**
21
+ * Type for Matter structs encoded using protocol semantics. In JS this is an object with "numeric" keys.
22
+ */
23
+ export type ProtocolStruct = Record<number, Val>;
24
+
25
+ /**
26
+ * Type for Matter lists. In Js this is an array.
27
+ */
28
+ export type List = Val[];
29
+
30
+ /**
31
+ * Any matter collection type.
32
+ */
33
+ export type Collection = Struct | List;
34
+
35
+ /**
36
+ * A Reference offers a simple mechanism for referring to properties by reference.
37
+ */
38
+ export interface Reference<T extends Val = Val> {
39
+ /**
40
+ * The current value of the referenced property. Cleared when the reference is no longer functional.
41
+ */
42
+ value: T;
43
+
44
+ /**
45
+ * The current canonical value of the referenced property.
46
+ */
47
+ readonly original: T;
48
+
49
+ /**
50
+ * When true, the reference is no longer usable because the owning context has exited.
51
+ */
52
+ readonly expired: boolean;
53
+
54
+ /**
55
+ * Diagnostic path to the referenced value.
56
+ */
57
+ location: AccessControl.Location;
58
+
59
+ /**
60
+ * Active references to child properties.
61
+ */
62
+ subrefs?: Record<number | string, Reference>;
63
+
64
+ /**
65
+ * Mutates data. Clones the container and updates metadata when called on an unmodified transactional
66
+ * reference.
67
+ *
68
+ * Then runs the specified mutator to make the actual changes.
69
+ *
70
+ * @param mutator the mutation logic, may freely modify {@link value}
71
+ */
72
+ change(mutator: () => void): void;
73
+
74
+ /**
75
+ * Refresh any internal cache from the referenced container.
76
+ */
77
+ refresh(): void;
78
+
79
+ /**
80
+ * The managed value that owns the reference.
81
+ */
82
+ owner?: T;
83
+
84
+ /**
85
+ * The object that owns the root managed value.
86
+ */
87
+ rootOwner?: any;
88
+
89
+ /**
90
+ * The parent of this reference, if any.
91
+ */
92
+ parent?: Reference;
93
+ }
94
+
95
+ export const properties = Symbol("properties");
96
+
97
+ /**
98
+ * Unmanaged raw state classes have no contextual information. They may implement this interface to provide an
99
+ * alternate context-aware object for property read, write and validation.
100
+ */
101
+ export interface Dynamic<O = any, S extends AccessControl.Session = AccessControl.Session> extends Struct {
102
+ /**
103
+ * Obtain a context-aware property source (and sink). Supervision will read/write properties from here if
104
+ * present. Otherwise they're read from static state as normal.
105
+ *
106
+ * @param owner the owner of the root reference of the managed value
107
+ * @param session the {@link AccessControl.Session} accessing the value
108
+ */
109
+ [properties]<This extends Val.Struct>(this: This, owner: O, session: S): Partial<This>;
110
+ }
111
+ }
@@ -0,0 +1,119 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { Schema, SchemaErrorPath, ValueModel } from "#model";
8
+ import { StatusCode, StatusResponseError } from "#types";
9
+
10
+ export { SchemaImplementationError } from "#model";
11
+
12
+ /**
13
+ * Thrown due operational schema violations.
14
+ */
15
+ export class SchemaViolationError extends StatusResponseError {
16
+ constructor(prefix: string, path: SchemaErrorPath, message: string, code: StatusCode) {
17
+ const text = `${prefix} ${path.path ?? path}: ${message} (${code})`;
18
+ super(text, code);
19
+
20
+ // Remove default status code injection
21
+ this.message = text;
22
+ }
23
+ }
24
+
25
+ /**
26
+ * Thrown for invalid reads.
27
+ */
28
+ export class ReadError extends SchemaViolationError {
29
+ constructor(path: SchemaErrorPath, message: string, code?: StatusCode) {
30
+ super("Reading", path, message, code ?? StatusCode.UnsupportedRead);
31
+ }
32
+ }
33
+
34
+ /**
35
+ * Thrown for invalid writes.
36
+ */
37
+ export class WriteError extends SchemaViolationError {
38
+ constructor(path: SchemaErrorPath, message: string, code?: StatusCode) {
39
+ super("Writing", path, message, code ?? StatusCode.UnsupportedWrite);
40
+ }
41
+ }
42
+
43
+ /**
44
+ * Thrown for invalid invokes.
45
+ */
46
+ export class InvokeError extends SchemaViolationError {
47
+ constructor(path: SchemaErrorPath, message: string, code?: StatusCode) {
48
+ super("Invoking", path, message, code ?? StatusCode.UnsupportedAccess);
49
+ }
50
+ }
51
+
52
+ /**
53
+ * Thrown when validation fails.
54
+ */
55
+ export class ValidateError extends SchemaViolationError {
56
+ constructor(path: SchemaErrorPath, message: string, code?: StatusCode) {
57
+ super("Validating", path, message, code ?? StatusCode.InvalidDataType);
58
+ }
59
+ }
60
+
61
+ /**
62
+ * Thrown when a value is of the wrong datatype.
63
+ */
64
+ export class DatatypeError extends ValidateError {
65
+ constructor(path: SchemaErrorPath, type: string, value: unknown, code?: StatusCode) {
66
+ let str = `${value}`;
67
+ if (str.length > 60) {
68
+ str = `${str.substring(60)}…`;
69
+ }
70
+ super(path, `Value "${str}" is not ${type}`, code);
71
+ }
72
+ }
73
+
74
+ /**
75
+ * Thrown when constraint is violated.
76
+ */
77
+ export class ConstraintError extends ValidateError {
78
+ constructor(schema: Schema, path: SchemaErrorPath, message: string) {
79
+ super(path, `Constraint "${(schema as ValueModel).constraint}": ${message}`, StatusCode.ConstraintError);
80
+ }
81
+ }
82
+
83
+ /**
84
+ * Thrown when conformance is violated.
85
+ */
86
+ export class ConformanceError extends ValidateError {
87
+ constructor(schema: Schema, path: SchemaErrorPath, message: string, choice?: string) {
88
+ let prefix;
89
+ if (choice) {
90
+ prefix = `Conformance choice "${choice}"`;
91
+ } else {
92
+ prefix = `Conformance "${(schema as ValueModel).conformance}"`;
93
+ }
94
+ super(path, `${prefix}: ${message}`, StatusCode.InvalidAction);
95
+ }
96
+ }
97
+
98
+ /**
99
+ * Thrown for access attempts against a managed value that is no longer valid.
100
+ */
101
+ export class ExpiredReferenceError extends SchemaViolationError {
102
+ constructor(path: SchemaErrorPath) {
103
+ super(
104
+ "Referencing",
105
+ path,
106
+ "This value is no longer available because its context has exited",
107
+ StatusCode.Failure,
108
+ );
109
+ }
110
+ }
111
+
112
+ /**
113
+ * Thrown for access attempts against a managed value referencing a container that was removed.
114
+ */
115
+ export class PhantomReferenceError extends SchemaViolationError {
116
+ constructor(path: SchemaErrorPath) {
117
+ super("Referencing", path, "Container was removed", StatusCode.Failure);
118
+ }
119
+ }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ export * from "./errors.js";
8
+ export * from "./Interactable.js";
9
+ export * from "./protocols.js";
10
+ export * from "./request/index.js";
11
+ export * from "./response/index.js";
12
+ export * from "./server/index.js";
13
+ export * from "./Val.js";
@@ -0,0 +1,134 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Project CHIP Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { DataModelPath, MatterModel } from "#model";
8
+ import type { AttributeId, ClusterId, DeviceTypeId, EndpointNumber, FabricIndex, NodeId, TlvSchema } from "#types";
9
+ import { AccessControl } from "./server/AccessControl.js";
10
+ import { Val } from "./Val.js";
11
+
12
+ /**
13
+ * Optimized Matter protocol<->JS object interface
14
+ *
15
+ * This is the root contract between a Matter protocol implementation and a higher-level Matter data model.
16
+ *
17
+ * Note that the term "protocol" here has dual meaning. The client of this interface is a Matter Protocol
18
+ * implementation. The implementation adheres to a JS protocol in the "interface" sense used by JS specifications.
19
+ *
20
+ * The goal is for this abstraction to be as inexpensive as possible. Element access is via iteration or direct
21
+ * property access using protocol-level numeric IDs.
22
+ *
23
+ * We limit metadata to parent->child, authorization and marshalling. We limit function calls to a few places where the
24
+ * return value depends on session state.
25
+ *
26
+ * To optimize performance, underlying implementations should align their native structures as closely as possible to
27
+ * those defined by these contracts. When adaptation is necessary you can generate objects to perform adaptation,
28
+ * possibly with getters and/or setters where caching is infeasible or unnecessary.
29
+ */
30
+ export interface NodeProtocol extends CollectionProtocol<EndpointProtocol> {
31
+ /**
32
+ * The active Matter data model.
33
+ *
34
+ * A protocol implementation may fall back to this model in some cases when element paths do not resolve.
35
+ */
36
+ matter: MatterModel;
37
+
38
+ /**
39
+ * Obtain the ID of this node in the context of a specific fabric.
40
+ */
41
+ nodeIdFor(fabric: FabricIndex): NodeId | undefined;
42
+ }
43
+
44
+ /**
45
+ * Protocol contract for a specific endpoint.
46
+ */
47
+ export interface EndpointProtocol
48
+ extends CollectionProtocol<ClusterProtocol>,
49
+ AddressableElementProtocol<EndpointNumber> {
50
+ /**
51
+ * Path to the endpoint within the data model.
52
+ */
53
+ path: DataModelPath;
54
+
55
+ /**
56
+ * List of device types associated with the endpoint.
57
+ */
58
+ deviceTypes: DeviceTypeId[];
59
+ }
60
+
61
+ /**
62
+ * Protocol contract for a specific cluster on a specific endpoint.
63
+ */
64
+ export interface ClusterProtocol {
65
+ type: ClusterTypeProtocol;
66
+
67
+ /**
68
+ * Current version of cluster data.
69
+ */
70
+ version: number;
71
+
72
+ /**
73
+ * The location of the cluster within the data model.
74
+ */
75
+ location: AccessControl.Location;
76
+
77
+ /**
78
+ * Access a record of attribute values, keyed by attribute ID.
79
+ *
80
+ * Note that current protocol implementations do not filter data within this responsibility based on the
81
+ * session. So doing so is the responsibility of the node implementation.
82
+ */
83
+ open(session: AccessControl.Session): Val.ProtocolStruct;
84
+ }
85
+
86
+ /**
87
+ * Protocol contract for a specific type of cluster (including feature variants).
88
+ *
89
+ * TODO - commands and events
90
+ */
91
+ export interface ClusterTypeProtocol extends AddressableElementProtocol<ClusterId> {
92
+ /**
93
+ * Attribute metadata.
94
+ */
95
+ attributes: CollectionProtocol<AttributeTypeProtocol>;
96
+ }
97
+
98
+ /**
99
+ * Descriptor for a specific property type.
100
+ */
101
+ export interface AttributeTypeProtocol extends AddressableElementProtocol<AttributeId> {
102
+ /**
103
+ * The TLV schema for this property.
104
+ */
105
+ tlv: TlvSchema<unknown>;
106
+
107
+ /**
108
+ * Access control information for the attribute.
109
+ */
110
+ limits: AccessControl.Limits;
111
+ }
112
+
113
+ /**
114
+ * Protocol contract for addressable elements.
115
+ */
116
+ export interface AddressableElementProtocol<N extends number> {
117
+ /**
118
+ * The numeric ID of the element defined by the Matter specification.
119
+ */
120
+ id: N;
121
+
122
+ /**
123
+ * Bitmap with each wildcard path flag bit set where this value should be skipped.
124
+ */
125
+ wildcardPathFlags: number;
126
+ }
127
+
128
+ /**
129
+ * A collection of elements that supports lookup by numeric ID and iteration.
130
+ */
131
+ export interface CollectionProtocol<T> {
132
+ [id: number]: T | undefined;
133
+ [Symbol.iterator](): Iterator<T, void, void>;
134
+ }
@@ -0,0 +1,93 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { FALLBACK_INTERACTIONMODEL_REVISION } from "#session/Session.js";
8
+ import { ClusterType, CommandData, InvokeRequest, TlvSchema, TypeFromSchema } from "#types";
9
+ import { MalformedRequestError } from "./MalformedRequestError.js";
10
+ import { Specifier } from "./Specifier.js";
11
+
12
+ export interface Invoke extends InvokeRequest {
13
+ timeout?: number;
14
+ }
15
+
16
+ /**
17
+ * Request invocation of one or more commands.
18
+ */
19
+ export function Invoke(definition: Invoke.Definition): Invoke {
20
+ const {
21
+ commands,
22
+ interactionModelRevision = FALLBACK_INTERACTIONMODEL_REVISION,
23
+ suppressResponse = false,
24
+ timed: timedRequest = false,
25
+ } = definition;
26
+
27
+ if (!commands?.length) {
28
+ throw new MalformedRequestError(`Invocation requires at least one command`);
29
+ }
30
+
31
+ return {
32
+ invokeRequests: commands,
33
+ interactionModelRevision,
34
+ suppressResponse,
35
+ timedRequest,
36
+ };
37
+ }
38
+
39
+ export namespace Invoke {
40
+ export interface Definition {
41
+ commands: CommandData[];
42
+ suppressResponse?: boolean;
43
+ timed?: boolean;
44
+ interactionModelRevision?: number;
45
+ }
46
+
47
+ export function Command<const C extends ClusterType>(request: Invoke.CommandRequest<C>): CommandData {
48
+ const result: CommandData = {
49
+ commandPath: {
50
+ clusterId: Specifier.clusterFor(request.cluster).id,
51
+ commandId: Invoke.commandOf(request).requestId,
52
+ },
53
+ };
54
+
55
+ const endpointId = Specifier.endpointIdOf(request);
56
+ if (endpointId !== undefined) {
57
+ result.commandPath.endpointId = endpointId;
58
+ }
59
+
60
+ return result;
61
+ }
62
+
63
+ export type CommandRequest<
64
+ C extends Specifier.Cluster = Specifier.Cluster,
65
+ CMD extends Specifier.Command<Specifier.ClusterFor<C>> = Specifier.Command<Specifier.ClusterFor<C>>,
66
+ > = {
67
+ endpoint?: Specifier.Endpoint;
68
+ cluster: C;
69
+ command: CMD;
70
+ } & Fields<Specifier.CommandFor<Specifier.ClusterFor<C>, CMD>["requestSchema"]>;
71
+
72
+ export function commandOf<const R extends CommandRequest>(request: R): ClusterType.Command {
73
+ if (typeof request.command === "string") {
74
+ const cluster = Specifier.clusterFor(request.cluster);
75
+ if (cluster === undefined) {
76
+ throw new MalformedRequestError(`Cannot designate command "${request.command}" without cluster`);
77
+ }
78
+ const command = cluster.commands[request.command];
79
+ if (command === undefined) {
80
+ throw new MalformedRequestError(`Cluster ${cluster.name} does not define command ${request.command}`);
81
+ }
82
+ return command as Specifier.CommandFor<Specifier.ClusterOf<R>, R["command"]>;
83
+ }
84
+ return request.command as Specifier.CommandFor<Specifier.ClusterOf<R>, R["command"]>;
85
+ }
86
+
87
+ export type Fields<S extends TlvSchema<any>> =
88
+ S extends TlvSchema<void>
89
+ ? {}
90
+ : S extends TlvSchema<null>
91
+ ? { fields?: TypeFromSchema<S> }
92
+ : { fields: TypeFromSchema<S> };
93
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { ImplementationError } from "#general";
8
+
9
+ /**
10
+ * Thrown when an action request does not adhere to the Matter specification.
11
+ *
12
+ * This is a client-side error that throws while formulating a request.
13
+ */
14
+ export class MalformedRequestError extends ImplementationError {}