@matter-server/ws-controller 0.2.0-alpha.0-00000000-000000000

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 (95) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +11 -0
  3. package/dist/esm/controller/AttributeDataCache.d.ts +49 -0
  4. package/dist/esm/controller/AttributeDataCache.d.ts.map +1 -0
  5. package/dist/esm/controller/AttributeDataCache.js +154 -0
  6. package/dist/esm/controller/AttributeDataCache.js.map +6 -0
  7. package/dist/esm/controller/ControllerCommandHandler.d.ts +118 -0
  8. package/dist/esm/controller/ControllerCommandHandler.d.ts.map +1 -0
  9. package/dist/esm/controller/ControllerCommandHandler.js +1015 -0
  10. package/dist/esm/controller/ControllerCommandHandler.js.map +6 -0
  11. package/dist/esm/controller/LegacyDataInjector.d.ts +95 -0
  12. package/dist/esm/controller/LegacyDataInjector.d.ts.map +1 -0
  13. package/dist/esm/controller/LegacyDataInjector.js +196 -0
  14. package/dist/esm/controller/LegacyDataInjector.js.map +6 -0
  15. package/dist/esm/controller/MatterController.d.ts +59 -0
  16. package/dist/esm/controller/MatterController.d.ts.map +1 -0
  17. package/dist/esm/controller/MatterController.js +212 -0
  18. package/dist/esm/controller/MatterController.js.map +6 -0
  19. package/dist/esm/controller/Nodes.d.ts +62 -0
  20. package/dist/esm/controller/Nodes.d.ts.map +1 -0
  21. package/dist/esm/controller/Nodes.js +85 -0
  22. package/dist/esm/controller/Nodes.js.map +6 -0
  23. package/dist/esm/controller/TestNodeCommandHandler.d.ts +84 -0
  24. package/dist/esm/controller/TestNodeCommandHandler.d.ts.map +1 -0
  25. package/dist/esm/controller/TestNodeCommandHandler.js +225 -0
  26. package/dist/esm/controller/TestNodeCommandHandler.js.map +6 -0
  27. package/dist/esm/data/VendorIDs.d.ts +7 -0
  28. package/dist/esm/data/VendorIDs.d.ts.map +1 -0
  29. package/dist/esm/data/VendorIDs.js +1237 -0
  30. package/dist/esm/data/VendorIDs.js.map +6 -0
  31. package/dist/esm/example/send-command.d.ts +7 -0
  32. package/dist/esm/example/send-command.d.ts.map +1 -0
  33. package/dist/esm/example/send-command.js +60 -0
  34. package/dist/esm/example/send-command.js.map +6 -0
  35. package/dist/esm/index.d.ts +21 -0
  36. package/dist/esm/index.d.ts.map +1 -0
  37. package/dist/esm/index.js +26 -0
  38. package/dist/esm/index.js.map +6 -0
  39. package/dist/esm/model/ModelMapper.d.ts +34 -0
  40. package/dist/esm/model/ModelMapper.d.ts.map +1 -0
  41. package/dist/esm/model/ModelMapper.js +62 -0
  42. package/dist/esm/model/ModelMapper.js.map +6 -0
  43. package/dist/esm/package.json +3 -0
  44. package/dist/esm/server/ConfigStorage.d.ts +29 -0
  45. package/dist/esm/server/ConfigStorage.d.ts.map +1 -0
  46. package/dist/esm/server/ConfigStorage.js +84 -0
  47. package/dist/esm/server/ConfigStorage.js.map +6 -0
  48. package/dist/esm/server/Converters.d.ts +53 -0
  49. package/dist/esm/server/Converters.d.ts.map +1 -0
  50. package/dist/esm/server/Converters.js +343 -0
  51. package/dist/esm/server/Converters.js.map +6 -0
  52. package/dist/esm/server/WebSocketControllerHandler.d.ts +21 -0
  53. package/dist/esm/server/WebSocketControllerHandler.d.ts.map +1 -0
  54. package/dist/esm/server/WebSocketControllerHandler.js +767 -0
  55. package/dist/esm/server/WebSocketControllerHandler.js.map +6 -0
  56. package/dist/esm/types/CommandHandler.d.ts +258 -0
  57. package/dist/esm/types/CommandHandler.d.ts.map +1 -0
  58. package/dist/esm/types/CommandHandler.js +6 -0
  59. package/dist/esm/types/CommandHandler.js.map +6 -0
  60. package/dist/esm/types/WebServer.d.ts +12 -0
  61. package/dist/esm/types/WebServer.d.ts.map +1 -0
  62. package/dist/esm/types/WebServer.js +6 -0
  63. package/dist/esm/types/WebServer.js.map +6 -0
  64. package/dist/esm/types/WebSocketMessageTypes.d.ts +478 -0
  65. package/dist/esm/types/WebSocketMessageTypes.d.ts.map +1 -0
  66. package/dist/esm/types/WebSocketMessageTypes.js +77 -0
  67. package/dist/esm/types/WebSocketMessageTypes.js.map +6 -0
  68. package/dist/esm/util/matterVersion.d.ts +12 -0
  69. package/dist/esm/util/matterVersion.d.ts.map +1 -0
  70. package/dist/esm/util/matterVersion.js +32 -0
  71. package/dist/esm/util/matterVersion.js.map +6 -0
  72. package/dist/esm/util/network.d.ts +14 -0
  73. package/dist/esm/util/network.d.ts.map +1 -0
  74. package/dist/esm/util/network.js +63 -0
  75. package/dist/esm/util/network.js.map +6 -0
  76. package/package.json +45 -0
  77. package/src/controller/AttributeDataCache.ts +194 -0
  78. package/src/controller/ControllerCommandHandler.ts +1256 -0
  79. package/src/controller/LegacyDataInjector.ts +314 -0
  80. package/src/controller/MatterController.ts +265 -0
  81. package/src/controller/Nodes.ts +115 -0
  82. package/src/controller/TestNodeCommandHandler.ts +305 -0
  83. package/src/data/VendorIDs.ts +1234 -0
  84. package/src/example/send-command.ts +82 -0
  85. package/src/index.ts +33 -0
  86. package/src/model/ModelMapper.ts +87 -0
  87. package/src/server/ConfigStorage.ts +112 -0
  88. package/src/server/Converters.ts +483 -0
  89. package/src/server/WebSocketControllerHandler.ts +917 -0
  90. package/src/tsconfig.json +7 -0
  91. package/src/types/CommandHandler.ts +270 -0
  92. package/src/types/WebServer.ts +14 -0
  93. package/src/types/WebSocketMessageTypes.ts +525 -0
  94. package/src/util/matterVersion.ts +45 -0
  95. package/src/util/network.ts +85 -0
@@ -0,0 +1,478 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export type AttributesData = {
7
+ [key: string]: unknown;
8
+ };
9
+ export interface MatterNode {
10
+ node_id: number | bigint;
11
+ date_commissioned: string;
12
+ last_interview: string;
13
+ interview_version: number;
14
+ available: boolean;
15
+ is_bridge: boolean;
16
+ attributes: AttributesData;
17
+ attribute_subscriptions: [];
18
+ }
19
+ export interface APICommands {
20
+ start_listening: {
21
+ requestArgs: void;
22
+ response: Array<MatterNode>;
23
+ };
24
+ set_default_fabric_label: {
25
+ requestArgs: {
26
+ /** Fabric label (null to clear) */
27
+ label: string | null;
28
+ };
29
+ response: null;
30
+ };
31
+ diagnostics: {
32
+ requestArgs: {};
33
+ response: {
34
+ info: ServerInfoMessage;
35
+ nodes: Array<MatterNode>;
36
+ /** Last 25 node events */
37
+ events: Array<MatterNodeEvent>;
38
+ };
39
+ };
40
+ server_info: {
41
+ requestArgs: {};
42
+ response: ServerInfoMessage;
43
+ };
44
+ get_nodes: {
45
+ requestArgs: {
46
+ only_available?: boolean;
47
+ };
48
+ response: Array<MatterNode>;
49
+ };
50
+ get_node: {
51
+ requestArgs: {
52
+ node_id: number | bigint;
53
+ };
54
+ response: MatterNode;
55
+ };
56
+ commission_with_code: {
57
+ requestArgs: {
58
+ code: string;
59
+ network_only?: boolean;
60
+ };
61
+ response: MatterNode;
62
+ };
63
+ commission_on_network: {
64
+ requestArgs: {
65
+ setup_pin_code: number;
66
+ /** Discovery filter type: 0=None, 1=ShortDiscriminator, 2=LongDiscriminator, 3=VendorId, 4=DeviceType */
67
+ filter_type?: number;
68
+ /** Filter value (discriminator, vendor ID, or device type depending on filter_type) */
69
+ filter?: number;
70
+ /** Direct IP address for commissioning */
71
+ ip_addr?: string;
72
+ };
73
+ response: MatterNode;
74
+ };
75
+ set_wifi_credentials: {
76
+ requestArgs: {
77
+ ssid: string;
78
+ credentials: string;
79
+ };
80
+ response: {};
81
+ };
82
+ set_thread_dataset: {
83
+ requestArgs: {
84
+ dataset: string;
85
+ };
86
+ response: {};
87
+ };
88
+ open_commissioning_window: {
89
+ requestArgs: {
90
+ node_id: number | bigint;
91
+ timeout: number;
92
+ iteration?: number;
93
+ option?: number;
94
+ discriminator?: number | null;
95
+ };
96
+ response: {
97
+ setup_pin_code: number;
98
+ setup_manual_code: string;
99
+ setup_qr_code: string;
100
+ };
101
+ };
102
+ discover: {
103
+ requestArgs: {};
104
+ response: CommissionableNodeData[];
105
+ };
106
+ interview_node: {
107
+ requestArgs: {
108
+ node_id: number | bigint;
109
+ };
110
+ response: null;
111
+ };
112
+ device_command: {
113
+ requestArgs: {
114
+ node_id: number | bigint;
115
+ endpoint_id: number;
116
+ cluster_id: number;
117
+ command_name: string;
118
+ payload: unknown;
119
+ response_type: unknown;
120
+ timed_request_timeout_ms?: number | null;
121
+ interaction_timeout_ms?: number | null;
122
+ };
123
+ response: unknown;
124
+ };
125
+ remove_node: {
126
+ requestArgs: {
127
+ node_id: number | bigint;
128
+ };
129
+ response: null;
130
+ };
131
+ get_vendor_names: {
132
+ requestArgs: {
133
+ filter_vendors?: Array<number>;
134
+ };
135
+ response: {
136
+ [key: string]: string;
137
+ };
138
+ };
139
+ subscribe_attribute: {
140
+ requestArgs: {};
141
+ response: {};
142
+ };
143
+ read_attribute: {
144
+ requestArgs: {
145
+ node_id: number | bigint;
146
+ /** Single attribute path or array of paths. Supports wildcards (*) for cluster and attribute IDs. */
147
+ attribute_path: string | string[];
148
+ /** Filter by fabric (default: false) */
149
+ fabric_filtered?: boolean;
150
+ };
151
+ response: AttributesData;
152
+ };
153
+ write_attribute: {
154
+ requestArgs: {
155
+ node_id: number | bigint;
156
+ attribute_path: string;
157
+ value: unknown;
158
+ };
159
+ response: Array<{
160
+ Path: {
161
+ EndpointId: number;
162
+ ClusterId: number;
163
+ AttributeId: number;
164
+ };
165
+ Status: number;
166
+ }>;
167
+ };
168
+ ping_node: {
169
+ requestArgs: {
170
+ node_id: number | bigint;
171
+ /** Number of ping attempts per IP address (default: 1) */
172
+ attempts?: number;
173
+ };
174
+ response: {
175
+ [key: string]: boolean;
176
+ };
177
+ };
178
+ import_test_node: {
179
+ requestArgs: {
180
+ dump: string;
181
+ };
182
+ response: null;
183
+ };
184
+ get_node_ip_addresses: {
185
+ requestArgs: {
186
+ node_id: number | bigint;
187
+ prefer_cache: boolean;
188
+ scoped: boolean;
189
+ };
190
+ response: Array<string>;
191
+ };
192
+ check_node_update: {
193
+ requestArgs: {
194
+ node_id: number | bigint;
195
+ };
196
+ response: MatterSoftwareVersion | null;
197
+ };
198
+ update_node: {
199
+ requestArgs: {
200
+ node_id: number | bigint;
201
+ software_version: number | string;
202
+ };
203
+ response: MatterSoftwareVersion | null;
204
+ };
205
+ discover_commissionable_nodes: {
206
+ requestArgs: {};
207
+ response: CommissionableNodeData[];
208
+ };
209
+ get_matter_fabrics: {
210
+ requestArgs: {
211
+ node_id: number | bigint;
212
+ };
213
+ response: MatterFabricData[];
214
+ };
215
+ remove_matter_fabric: {
216
+ requestArgs: {
217
+ node_id: number | bigint;
218
+ fabric_index: number;
219
+ };
220
+ response: {};
221
+ };
222
+ set_acl_entry: {
223
+ requestArgs: {
224
+ node_id: number | bigint;
225
+ entry: AccessControlEntry[];
226
+ };
227
+ response: AttributeWriteResult[] | null;
228
+ };
229
+ set_node_binding: {
230
+ requestArgs: {
231
+ node_id: number | bigint;
232
+ endpoint: number;
233
+ bindings: BindingTarget[];
234
+ };
235
+ response: AttributeWriteResult[] | null;
236
+ };
237
+ }
238
+ /**
239
+ * Access Control Entry structure for set_acl_entry command.
240
+ * Uses snake_case field names matching our API convention.
241
+ */
242
+ export interface AccessControlEntry {
243
+ /** 1=View, 3=Operate, 4=Manage, 5=Administer */
244
+ privilege: number;
245
+ /** 1=PASE, 2=CASE, 3=Group */
246
+ auth_mode: number;
247
+ /** List of subject NodeIds or GroupIds */
248
+ subjects: Array<number | bigint> | null;
249
+ /** Optional target restrictions */
250
+ targets: AccessControlTarget[] | null;
251
+ }
252
+ export interface AccessControlTarget {
253
+ cluster: number | null;
254
+ endpoint: number | null;
255
+ device_type: number | null;
256
+ }
257
+ /**
258
+ * Binding target structure for set_node_binding command.
259
+ * Matches Python Matter Server's TargetStruct.
260
+ */
261
+ export interface BindingTarget {
262
+ /** Target node ID */
263
+ node: number | bigint | null;
264
+ /** Target group ID */
265
+ group: number | null;
266
+ /** Target endpoint */
267
+ endpoint: number | null;
268
+ /** Target cluster */
269
+ cluster: number | null;
270
+ }
271
+ /** Attribute write result for set_acl_entry and set_node_binding responses */
272
+ export interface AttributeWriteResult {
273
+ path: {
274
+ endpoint_id: number;
275
+ cluster_id: number;
276
+ attribute_id: number;
277
+ };
278
+ status: number;
279
+ }
280
+ export interface ServerInfoMessage {
281
+ fabric_id: bigint;
282
+ compressed_fabric_id: bigint;
283
+ schema_version: number;
284
+ min_supported_schema_version: number;
285
+ sdk_version: string;
286
+ wifi_credentials_set: boolean;
287
+ thread_credentials_set: boolean;
288
+ bluetooth_enabled: boolean;
289
+ }
290
+ /**
291
+ * Matter node event structure for node_event WebSocket event.
292
+ * Matches Python Matter Server's MatterNodeEvent.
293
+ */
294
+ export interface MatterNodeEvent {
295
+ node_id: number | bigint;
296
+ endpoint_id: number;
297
+ cluster_id: number;
298
+ event_id: number;
299
+ event_number: number | bigint;
300
+ priority: number;
301
+ timestamp: number | bigint;
302
+ timestamp_type: number;
303
+ data: unknown | null;
304
+ }
305
+ interface APIEvents {
306
+ node_added: {
307
+ data: MatterNode;
308
+ };
309
+ node_updated: {
310
+ data: MatterNode;
311
+ };
312
+ node_removed: {
313
+ data: number | bigint;
314
+ };
315
+ node_event: {
316
+ data: MatterNodeEvent;
317
+ };
318
+ attribute_updated: {
319
+ data: [node_id: number | bigint, attribute_path: string, value: unknown];
320
+ };
321
+ server_shutdown: {
322
+ data: Record<string, never>;
323
+ };
324
+ endpoint_added: {
325
+ data: {
326
+ node_id: number | bigint;
327
+ endpoint_id: number;
328
+ };
329
+ };
330
+ endpoint_removed: {
331
+ data: {
332
+ node_id: number | bigint;
333
+ endpoint_id: number;
334
+ };
335
+ };
336
+ server_info_updated: {
337
+ data: ServerInfoMessage;
338
+ };
339
+ }
340
+ export type EventMessage<E extends keyof APIEvents> = {
341
+ event: E;
342
+ data: APIEvents[E]["data"];
343
+ };
344
+ export type EventTypes = keyof APIEvents;
345
+ export interface WebSocketConfig {
346
+ host: string;
347
+ port: string;
348
+ scheme: string;
349
+ path: string;
350
+ }
351
+ export declare enum UpdateSource {
352
+ MAIN_NET_DCL = "main-net-dcl",
353
+ TEST_NET_DCL = "test-net-dcl",
354
+ LOCAL = "local"
355
+ }
356
+ export interface MatterSoftwareVersion {
357
+ vid: number;
358
+ pid: number;
359
+ software_version: number;
360
+ software_version_string: string;
361
+ firmware_information?: string;
362
+ min_applicable_software_version: number;
363
+ max_applicable_software_version: number;
364
+ release_notes_url?: string;
365
+ update_source: UpdateSource;
366
+ }
367
+ export interface CommissioningParameters {
368
+ setup_pin_code: number;
369
+ setup_manual_code: string;
370
+ setup_qr_code: string;
371
+ }
372
+ export interface CommissionableNodeData {
373
+ instance_name?: string;
374
+ host_name?: string;
375
+ port?: number;
376
+ long_discriminator?: number;
377
+ vendor_id?: number;
378
+ product_id?: number;
379
+ commissioning_mode?: number;
380
+ device_type?: number;
381
+ device_name?: string;
382
+ pairing_instruction?: string;
383
+ pairing_hint?: number;
384
+ mrp_retry_interval_idle?: number;
385
+ mrp_retry_interval_active?: number;
386
+ supports_tcp?: boolean;
387
+ addresses?: string[];
388
+ rotating_id?: string;
389
+ }
390
+ export interface MatterFabricData {
391
+ fabric_id?: number | bigint;
392
+ vendor_id?: number;
393
+ fabric_index?: number;
394
+ fabric_label?: string;
395
+ vendor_name?: string;
396
+ }
397
+ export type NotificationType = "success" | "info" | "warning" | "error";
398
+ export type NodePingResult = Record<string, boolean>;
399
+ /**
400
+ * WebSocket Command Message generic type.
401
+ */
402
+ export interface CommandMessage {
403
+ message_id: string;
404
+ command: keyof APICommands;
405
+ args?: APICommands[keyof APICommands]["requestArgs"];
406
+ }
407
+ /** WebSocket Result Message base fields type */
408
+ interface ResultMessageBase {
409
+ message_id: string;
410
+ }
411
+ /** WebSocket Error Result Message type */
412
+ export interface ErrorResultMessage extends ResultMessageBase {
413
+ error_code: number;
414
+ details?: string;
415
+ }
416
+ /** WebSocket Success Result Message type */
417
+ export interface SuccessResultMessage<T extends keyof APICommands> extends ResultMessageBase {
418
+ result: APICommands[T]["response"];
419
+ }
420
+ export type ArgsOf<R extends keyof APICommands> = APICommands[R]["requestArgs"];
421
+ export type ResponseOf<R extends keyof APICommands> = APICommands[R]["response"];
422
+ /**
423
+ * Minimum test node ID. Node IDs >= this value are reserved for test nodes.
424
+ * Uses high 64-bit range (0xFFFF_FFFE_0000_0000) to avoid collision with real node IDs.
425
+ */
426
+ export declare const TEST_NODE_START = 18446744065119617024n;
427
+ /**
428
+ * Error codes matching Python Matter Server for API compatibility.
429
+ * @see https://github.com/home-assistant-libs/python-matter-server/blob/main/matter_server/common/errors.py
430
+ */
431
+ export declare enum ServerErrorCode {
432
+ /** Generic/unknown error */
433
+ UnknownError = 0,
434
+ /** Node commissioning failed */
435
+ NodeCommissionFailed = 1,
436
+ /** Node interview failed */
437
+ NodeInterviewFailed = 2,
438
+ /** Node is not ready (offline or not yet interviewed) */
439
+ NodeNotReady = 3,
440
+ /** Node not resolving (CASE session establishment failed) */
441
+ NodeNotResolving = 4,
442
+ /** Node does not exist */
443
+ NodeNotExists = 5,
444
+ /** SDK version mismatch */
445
+ VersionMismatch = 6,
446
+ /** SDK/Stack error */
447
+ SDKStackError = 7,
448
+ /** Invalid command arguments */
449
+ InvalidArguments = 8,
450
+ /** Invalid/unknown command */
451
+ InvalidCommand = 9,
452
+ /** OTA update check failed */
453
+ UpdateCheckError = 10,
454
+ /** OTA update failed */
455
+ UpdateError = 11
456
+ }
457
+ /**
458
+ * Custom error class for server errors with typed error codes.
459
+ * Use this to throw errors that will be properly mapped to Python-compatible error codes.
460
+ */
461
+ export declare class ServerError extends Error {
462
+ readonly code: ServerErrorCode;
463
+ constructor(code: ServerErrorCode, message: string, cause?: Error);
464
+ static unknownError(message: string, cause?: Error): ServerError;
465
+ static nodeCommissionFailed(message: string, cause?: Error): ServerError;
466
+ static nodeInterviewFailed(message: string, cause?: Error): ServerError;
467
+ static nodeNotReady(nodeId: number | bigint, cause?: Error): ServerError;
468
+ static nodeNotResolving(nodeId: number | bigint, cause?: Error): ServerError;
469
+ static nodeNotExists(nodeId: number | bigint): ServerError;
470
+ static versionMismatch(message: string): ServerError;
471
+ static sdkStackError(message: string, cause?: Error): ServerError;
472
+ static invalidArguments(message: string): ServerError;
473
+ static invalidCommand(command: string): ServerError;
474
+ static updateCheckError(message: string, cause?: Error): ServerError;
475
+ static updateError(message: string, cause?: Error): ServerError;
476
+ }
477
+ export {};
478
+ //# sourceMappingURL=WebSocketMessageTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebSocketMessageTypes.d.ts","sourceRoot":"","sources":["../../../src/types/WebSocketMessageTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ var UpdateSource = /* @__PURE__ */ ((UpdateSource2) => {
7
+ UpdateSource2["MAIN_NET_DCL"] = "main-net-dcl";
8
+ UpdateSource2["TEST_NET_DCL"] = "test-net-dcl";
9
+ UpdateSource2["LOCAL"] = "local";
10
+ return UpdateSource2;
11
+ })(UpdateSource || {});
12
+ const TEST_NODE_START = 0xfffffffe00000000n;
13
+ var ServerErrorCode = /* @__PURE__ */ ((ServerErrorCode2) => {
14
+ ServerErrorCode2[ServerErrorCode2["UnknownError"] = 0] = "UnknownError";
15
+ ServerErrorCode2[ServerErrorCode2["NodeCommissionFailed"] = 1] = "NodeCommissionFailed";
16
+ ServerErrorCode2[ServerErrorCode2["NodeInterviewFailed"] = 2] = "NodeInterviewFailed";
17
+ ServerErrorCode2[ServerErrorCode2["NodeNotReady"] = 3] = "NodeNotReady";
18
+ ServerErrorCode2[ServerErrorCode2["NodeNotResolving"] = 4] = "NodeNotResolving";
19
+ ServerErrorCode2[ServerErrorCode2["NodeNotExists"] = 5] = "NodeNotExists";
20
+ ServerErrorCode2[ServerErrorCode2["VersionMismatch"] = 6] = "VersionMismatch";
21
+ ServerErrorCode2[ServerErrorCode2["SDKStackError"] = 7] = "SDKStackError";
22
+ ServerErrorCode2[ServerErrorCode2["InvalidArguments"] = 8] = "InvalidArguments";
23
+ ServerErrorCode2[ServerErrorCode2["InvalidCommand"] = 9] = "InvalidCommand";
24
+ ServerErrorCode2[ServerErrorCode2["UpdateCheckError"] = 10] = "UpdateCheckError";
25
+ ServerErrorCode2[ServerErrorCode2["UpdateError"] = 11] = "UpdateError";
26
+ return ServerErrorCode2;
27
+ })(ServerErrorCode || {});
28
+ class ServerError extends Error {
29
+ constructor(code, message, cause) {
30
+ super(message, { cause });
31
+ this.code = code;
32
+ this.name = "ServerError";
33
+ }
34
+ static unknownError(message, cause) {
35
+ return new ServerError(0 /* UnknownError */, message, cause);
36
+ }
37
+ static nodeCommissionFailed(message, cause) {
38
+ return new ServerError(1 /* NodeCommissionFailed */, message, cause);
39
+ }
40
+ static nodeInterviewFailed(message, cause) {
41
+ return new ServerError(2 /* NodeInterviewFailed */, message, cause);
42
+ }
43
+ static nodeNotReady(nodeId, cause) {
44
+ return new ServerError(3 /* NodeNotReady */, `Node ${nodeId} is not ready`, cause);
45
+ }
46
+ static nodeNotResolving(nodeId, cause) {
47
+ return new ServerError(4 /* NodeNotResolving */, `Node ${nodeId} is not resolving`, cause);
48
+ }
49
+ static nodeNotExists(nodeId) {
50
+ return new ServerError(5 /* NodeNotExists */, `Node ${nodeId} does not exist`);
51
+ }
52
+ static versionMismatch(message) {
53
+ return new ServerError(6 /* VersionMismatch */, message);
54
+ }
55
+ static sdkStackError(message, cause) {
56
+ return new ServerError(7 /* SDKStackError */, message, cause);
57
+ }
58
+ static invalidArguments(message) {
59
+ return new ServerError(8 /* InvalidArguments */, message);
60
+ }
61
+ static invalidCommand(command) {
62
+ return new ServerError(9 /* InvalidCommand */, `Unknown command: ${command}`);
63
+ }
64
+ static updateCheckError(message, cause) {
65
+ return new ServerError(10 /* UpdateCheckError */, message, cause);
66
+ }
67
+ static updateError(message, cause) {
68
+ return new ServerError(11 /* UpdateError */, message, cause);
69
+ }
70
+ }
71
+ export {
72
+ ServerError,
73
+ ServerErrorCode,
74
+ TEST_NODE_START,
75
+ UpdateSource
76
+ };
77
+ //# sourceMappingURL=WebSocketMessageTypes.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/WebSocketMessageTypes.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAwVO,IAAK,eAAL,kBAAKA,kBAAL;AACH,EAAAA,cAAA,kBAAe;AACf,EAAAA,cAAA,kBAAe;AACf,EAAAA,cAAA,WAAQ;AAHA,SAAAA;AAAA,GAAA;AAsFL,MAAM,kBAAkB;AAMxB,IAAK,kBAAL,kBAAKC,qBAAL;AAEH,EAAAA,kCAAA,kBAAe,KAAf;AAEA,EAAAA,kCAAA,0BAAuB,KAAvB;AAEA,EAAAA,kCAAA,yBAAsB,KAAtB;AAEA,EAAAA,kCAAA,kBAAe,KAAf;AAEA,EAAAA,kCAAA,sBAAmB,KAAnB;AAEA,EAAAA,kCAAA,mBAAgB,KAAhB;AAEA,EAAAA,kCAAA,qBAAkB,KAAlB;AAEA,EAAAA,kCAAA,mBAAgB,KAAhB;AAEA,EAAAA,kCAAA,sBAAmB,KAAnB;AAEA,EAAAA,kCAAA,oBAAiB,KAAjB;AAEA,EAAAA,kCAAA,sBAAmB,MAAnB;AAEA,EAAAA,kCAAA,iBAAc,MAAd;AAxBQ,SAAAA;AAAA,GAAA;AA+BL,MAAM,oBAAoB,MAAM;AAAA,EACnC,YACoB,MAChB,SACA,OACF;AACE,UAAM,SAAS,EAAE,MAAM,CAAC;AAJR;AAKhB,SAAK,OAAO;AAAA,EAChB;AAAA,EAEA,OAAO,aAAa,SAAiB,OAA4B;AAC7D,WAAO,IAAI,YAAY,sBAA8B,SAAS,KAAK;AAAA,EACvE;AAAA,EAEA,OAAO,qBAAqB,SAAiB,OAA4B;AACrE,WAAO,IAAI,YAAY,8BAAsC,SAAS,KAAK;AAAA,EAC/E;AAAA,EAEA,OAAO,oBAAoB,SAAiB,OAA4B;AACpE,WAAO,IAAI,YAAY,6BAAqC,SAAS,KAAK;AAAA,EAC9E;AAAA,EAEA,OAAO,aAAa,QAAyB,OAA4B;AACrE,WAAO,IAAI,YAAY,sBAA8B,QAAQ,MAAM,iBAAiB,KAAK;AAAA,EAC7F;AAAA,EAEA,OAAO,iBAAiB,QAAyB,OAA4B;AACzE,WAAO,IAAI,YAAY,0BAAkC,QAAQ,MAAM,qBAAqB,KAAK;AAAA,EACrG;AAAA,EAEA,OAAO,cAAc,QAAsC;AACvD,WAAO,IAAI,YAAY,uBAA+B,QAAQ,MAAM,iBAAiB;AAAA,EACzF;AAAA,EAEA,OAAO,gBAAgB,SAA8B;AACjD,WAAO,IAAI,YAAY,yBAAiC,OAAO;AAAA,EACnE;AAAA,EAEA,OAAO,cAAc,SAAiB,OAA4B;AAC9D,WAAO,IAAI,YAAY,uBAA+B,SAAS,KAAK;AAAA,EACxE;AAAA,EAEA,OAAO,iBAAiB,SAA8B;AAClD,WAAO,IAAI,YAAY,0BAAkC,OAAO;AAAA,EACpE;AAAA,EAEA,OAAO,eAAe,SAA8B;AAChD,WAAO,IAAI,YAAY,wBAAgC,oBAAoB,OAAO,EAAE;AAAA,EACxF;AAAA,EAEA,OAAO,iBAAiB,SAAiB,OAA4B;AACjE,WAAO,IAAI,YAAY,2BAAkC,SAAS,KAAK;AAAA,EAC3E;AAAA,EAEA,OAAO,YAAY,SAAiB,OAA4B;AAC5D,WAAO,IAAI,YAAY,sBAA6B,SAAS,KAAK;AAAA,EACtE;AACJ;",
5
+ "names": ["UpdateSource", "ServerErrorCode"]
6
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Get the version of the @matter/main package.
8
+ */
9
+ export declare function getMatterVersion(): string;
10
+ /** Cached Matter.js SDK version */
11
+ export declare const MATTER_VERSION: string;
12
+ //# sourceMappingURL=matterVersion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterVersion.d.ts","sourceRoot":"","sources":["../../../src/util/matterVersion.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAoBzC;AAED,mCAAmC;AACnC,eAAO,MAAM,cAAc,QAAqB,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { readFileSync } from "node:fs";
7
+ import { createRequire } from "node:module";
8
+ import { dirname, join } from "node:path";
9
+ function getMatterVersion() {
10
+ const require2 = createRequire(import.meta.url);
11
+ const matterMainPath = require2.resolve("@matter/main");
12
+ let dir = dirname(matterMainPath);
13
+ while (dir !== "/") {
14
+ try {
15
+ const packageJsonPath = join(dir, "package.json");
16
+ const content = readFileSync(packageJsonPath, "utf-8");
17
+ const pkg = JSON.parse(content);
18
+ if (pkg.name === "@matter/main") {
19
+ return pkg.version;
20
+ }
21
+ } catch {
22
+ }
23
+ dir = dirname(dir);
24
+ }
25
+ throw new Error("Could not find @matter/main package.json");
26
+ }
27
+ const MATTER_VERSION = getMatterVersion();
28
+ export {
29
+ MATTER_VERSION,
30
+ getMatterVersion
31
+ };
32
+ //# sourceMappingURL=matterVersion.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/util/matterVersion.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,SAAS,YAAY;AASvB,SAAS,mBAA2B;AAEvC,QAAMA,WAAU,cAAc,YAAY,GAAG;AAC7C,QAAM,iBAAiBA,SAAQ,QAAQ,cAAc;AAErD,MAAI,MAAM,QAAQ,cAAc;AAChC,SAAO,QAAQ,KAAK;AAChB,QAAI;AACA,YAAM,kBAAkB,KAAK,KAAK,cAAc;AAChD,YAAM,UAAU,aAAa,iBAAiB,OAAO;AACrD,YAAM,MAAM,KAAK,MAAM,OAAO;AAC9B,UAAI,IAAI,SAAS,gBAAgB;AAC7B,eAAO,IAAI;AAAA,MACf;AAAA,IACJ,QAAQ;AAAA,IAER;AACA,UAAM,QAAQ,GAAG;AAAA,EACrB;AACA,QAAM,IAAI,MAAM,0CAA0C;AAC9D;AAGO,MAAM,iBAAiB,iBAAiB;",
5
+ "names": ["require"]
6
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025-2026 Open Home Foundation
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Ping an IP address using the system ping command.
8
+ * @param ipAddress The IP address to ping (IPv4 or IPv6)
9
+ * @param timeout Timeout in seconds (default: 2)
10
+ * @param attempts Number of ping attempts (default: 1)
11
+ * @returns Promise resolving to true if ping succeeded, false otherwise
12
+ */
13
+ export declare function pingIp(ipAddress: string, timeout?: number, attempts?: number): Promise<boolean>;
14
+ //# sourceMappingURL=network.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/util/network.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;;;;;GAMG;AACH,wBAAsB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,SAAI,EAAE,QAAQ,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAwC3F"}