matterbridge 3.4.3-dev-20251209-e6cb85f → 3.4.3

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 (324) hide show
  1. package/README.md +2 -3
  2. package/dist/broadcastServer.d.ts +144 -0
  3. package/dist/broadcastServer.d.ts.map +1 -0
  4. package/dist/broadcastServer.js +119 -0
  5. package/dist/broadcastServer.js.map +1 -0
  6. package/dist/broadcastServerTypes.d.ts +841 -0
  7. package/dist/broadcastServerTypes.d.ts.map +1 -0
  8. package/dist/broadcastServerTypes.js +24 -0
  9. package/dist/broadcastServerTypes.js.map +1 -0
  10. package/dist/cli.d.ts +30 -0
  11. package/dist/cli.d.ts.map +1 -0
  12. package/dist/cli.js +97 -1
  13. package/dist/cli.js.map +1 -0
  14. package/dist/cliEmitter.d.ts +50 -0
  15. package/dist/cliEmitter.d.ts.map +1 -0
  16. package/dist/cliEmitter.js +37 -0
  17. package/dist/cliEmitter.js.map +1 -0
  18. package/dist/cliHistory.d.ts +48 -0
  19. package/dist/cliHistory.d.ts.map +1 -0
  20. package/dist/cliHistory.js +38 -0
  21. package/dist/cliHistory.js.map +1 -0
  22. package/dist/clusters/export.d.ts +2 -0
  23. package/dist/clusters/export.d.ts.map +1 -0
  24. package/dist/clusters/export.js +2 -0
  25. package/dist/clusters/export.js.map +1 -0
  26. package/dist/deviceManager.d.ts +135 -0
  27. package/dist/deviceManager.d.ts.map +1 -0
  28. package/dist/deviceManager.js +113 -1
  29. package/dist/deviceManager.js.map +1 -0
  30. package/dist/devices/airConditioner.d.ts +98 -0
  31. package/dist/devices/airConditioner.d.ts.map +1 -0
  32. package/dist/devices/airConditioner.js +57 -0
  33. package/dist/devices/airConditioner.js.map +1 -0
  34. package/dist/devices/batteryStorage.d.ts +48 -0
  35. package/dist/devices/batteryStorage.d.ts.map +1 -0
  36. package/dist/devices/batteryStorage.js +48 -1
  37. package/dist/devices/batteryStorage.js.map +1 -0
  38. package/dist/devices/cooktop.d.ts +61 -0
  39. package/dist/devices/cooktop.d.ts.map +1 -0
  40. package/dist/devices/cooktop.js +56 -0
  41. package/dist/devices/cooktop.js.map +1 -0
  42. package/dist/devices/dishwasher.d.ts +71 -0
  43. package/dist/devices/dishwasher.d.ts.map +1 -0
  44. package/dist/devices/dishwasher.js +57 -0
  45. package/dist/devices/dishwasher.js.map +1 -0
  46. package/dist/devices/evse.d.ts +76 -0
  47. package/dist/devices/evse.d.ts.map +1 -0
  48. package/dist/devices/evse.js +74 -10
  49. package/dist/devices/evse.js.map +1 -0
  50. package/dist/devices/export.d.ts +17 -0
  51. package/dist/devices/export.d.ts.map +1 -0
  52. package/dist/devices/export.js +5 -0
  53. package/dist/devices/export.js.map +1 -0
  54. package/dist/devices/extractorHood.d.ts +46 -0
  55. package/dist/devices/extractorHood.d.ts.map +1 -0
  56. package/dist/devices/extractorHood.js +43 -0
  57. package/dist/devices/extractorHood.js.map +1 -0
  58. package/dist/devices/heatPump.d.ts +47 -0
  59. package/dist/devices/heatPump.d.ts.map +1 -0
  60. package/dist/devices/heatPump.js +50 -2
  61. package/dist/devices/heatPump.js.map +1 -0
  62. package/dist/devices/laundryDryer.d.ts +67 -0
  63. package/dist/devices/laundryDryer.d.ts.map +1 -0
  64. package/dist/devices/laundryDryer.js +62 -3
  65. package/dist/devices/laundryDryer.js.map +1 -0
  66. package/dist/devices/laundryWasher.d.ts +81 -0
  67. package/dist/devices/laundryWasher.d.ts.map +1 -0
  68. package/dist/devices/laundryWasher.js +70 -4
  69. package/dist/devices/laundryWasher.js.map +1 -0
  70. package/dist/devices/microwaveOven.d.ts +168 -0
  71. package/dist/devices/microwaveOven.d.ts.map +1 -0
  72. package/dist/devices/microwaveOven.js +88 -5
  73. package/dist/devices/microwaveOven.js.map +1 -0
  74. package/dist/devices/oven.d.ts +105 -0
  75. package/dist/devices/oven.d.ts.map +1 -0
  76. package/dist/devices/oven.js +85 -0
  77. package/dist/devices/oven.js.map +1 -0
  78. package/dist/devices/refrigerator.d.ts +118 -0
  79. package/dist/devices/refrigerator.d.ts.map +1 -0
  80. package/dist/devices/refrigerator.js +102 -0
  81. package/dist/devices/refrigerator.js.map +1 -0
  82. package/dist/devices/roboticVacuumCleaner.d.ts +112 -0
  83. package/dist/devices/roboticVacuumCleaner.d.ts.map +1 -0
  84. package/dist/devices/roboticVacuumCleaner.js +100 -9
  85. package/dist/devices/roboticVacuumCleaner.js.map +1 -0
  86. package/dist/devices/solarPower.d.ts +40 -0
  87. package/dist/devices/solarPower.d.ts.map +1 -0
  88. package/dist/devices/solarPower.js +38 -0
  89. package/dist/devices/solarPower.js.map +1 -0
  90. package/dist/devices/speaker.d.ts +87 -0
  91. package/dist/devices/speaker.d.ts.map +1 -0
  92. package/dist/devices/speaker.js +84 -0
  93. package/dist/devices/speaker.js.map +1 -0
  94. package/dist/devices/temperatureControl.d.ts +166 -0
  95. package/dist/devices/temperatureControl.d.ts.map +1 -0
  96. package/dist/devices/temperatureControl.js +24 -3
  97. package/dist/devices/temperatureControl.js.map +1 -0
  98. package/dist/devices/waterHeater.d.ts +111 -0
  99. package/dist/devices/waterHeater.d.ts.map +1 -0
  100. package/dist/devices/waterHeater.js +82 -2
  101. package/dist/devices/waterHeater.js.map +1 -0
  102. package/dist/dgram/coap.d.ts +205 -0
  103. package/dist/dgram/coap.d.ts.map +1 -0
  104. package/dist/dgram/coap.js +126 -13
  105. package/dist/dgram/coap.js.map +1 -0
  106. package/dist/dgram/dgram.d.ts +141 -0
  107. package/dist/dgram/dgram.d.ts.map +1 -0
  108. package/dist/dgram/dgram.js +114 -2
  109. package/dist/dgram/dgram.js.map +1 -0
  110. package/dist/dgram/mb_coap.d.ts +24 -0
  111. package/dist/dgram/mb_coap.d.ts.map +1 -0
  112. package/dist/dgram/mb_coap.js +41 -3
  113. package/dist/dgram/mb_coap.js.map +1 -0
  114. package/dist/dgram/mb_mdns.d.ts +24 -0
  115. package/dist/dgram/mb_mdns.d.ts.map +1 -0
  116. package/dist/dgram/mb_mdns.js +80 -15
  117. package/dist/dgram/mb_mdns.js.map +1 -0
  118. package/dist/dgram/mdns.d.ts +290 -0
  119. package/dist/dgram/mdns.d.ts.map +1 -0
  120. package/dist/dgram/mdns.js +299 -137
  121. package/dist/dgram/mdns.js.map +1 -0
  122. package/dist/dgram/multicast.d.ts +67 -0
  123. package/dist/dgram/multicast.d.ts.map +1 -0
  124. package/dist/dgram/multicast.js +62 -1
  125. package/dist/dgram/multicast.js.map +1 -0
  126. package/dist/dgram/unicast.d.ts +56 -0
  127. package/dist/dgram/unicast.d.ts.map +1 -0
  128. package/dist/dgram/unicast.js +54 -0
  129. package/dist/dgram/unicast.js.map +1 -0
  130. package/dist/frontend.d.ts +238 -0
  131. package/dist/frontend.d.ts.map +1 -0
  132. package/dist/frontend.js +455 -35
  133. package/dist/frontend.js.map +1 -0
  134. package/dist/frontendTypes.d.ts +529 -0
  135. package/dist/frontendTypes.d.ts.map +1 -0
  136. package/dist/frontendTypes.js +45 -0
  137. package/dist/frontendTypes.js.map +1 -0
  138. package/dist/helpers.d.ts +48 -0
  139. package/dist/helpers.d.ts.map +1 -0
  140. package/dist/helpers.js +53 -0
  141. package/dist/helpers.js.map +1 -0
  142. package/dist/index.d.ts +34 -0
  143. package/dist/index.d.ts.map +1 -0
  144. package/dist/index.js +25 -0
  145. package/dist/index.js.map +1 -0
  146. package/dist/jestutils/export.d.ts +2 -0
  147. package/dist/jestutils/export.d.ts.map +1 -0
  148. package/dist/jestutils/export.js +1 -0
  149. package/dist/jestutils/export.js.map +1 -0
  150. package/dist/jestutils/jestHelpers.d.ts +345 -0
  151. package/dist/jestutils/jestHelpers.d.ts.map +1 -0
  152. package/dist/jestutils/jestHelpers.js +371 -14
  153. package/dist/jestutils/jestHelpers.js.map +1 -0
  154. package/dist/logger/export.d.ts +2 -0
  155. package/dist/logger/export.d.ts.map +1 -0
  156. package/dist/logger/export.js +1 -0
  157. package/dist/logger/export.js.map +1 -0
  158. package/dist/matter/behaviors.d.ts +2 -0
  159. package/dist/matter/behaviors.d.ts.map +1 -0
  160. package/dist/matter/behaviors.js +2 -0
  161. package/dist/matter/behaviors.js.map +1 -0
  162. package/dist/matter/clusters.d.ts +2 -0
  163. package/dist/matter/clusters.d.ts.map +1 -0
  164. package/dist/matter/clusters.js +2 -0
  165. package/dist/matter/clusters.js.map +1 -0
  166. package/dist/matter/devices.d.ts +2 -0
  167. package/dist/matter/devices.d.ts.map +1 -0
  168. package/dist/matter/devices.js +2 -0
  169. package/dist/matter/devices.js.map +1 -0
  170. package/dist/matter/endpoints.d.ts +2 -0
  171. package/dist/matter/endpoints.d.ts.map +1 -0
  172. package/dist/matter/endpoints.js +2 -0
  173. package/dist/matter/endpoints.js.map +1 -0
  174. package/dist/matter/export.d.ts +5 -0
  175. package/dist/matter/export.d.ts.map +1 -0
  176. package/dist/matter/export.js +3 -0
  177. package/dist/matter/export.js.map +1 -0
  178. package/dist/matter/types.d.ts +3 -0
  179. package/dist/matter/types.d.ts.map +1 -0
  180. package/dist/matter/types.js +3 -0
  181. package/dist/matter/types.js.map +1 -0
  182. package/dist/matterNode.d.ts +342 -0
  183. package/dist/matterNode.d.ts.map +1 -0
  184. package/dist/matterNode.js +369 -8
  185. package/dist/matterNode.js.map +1 -0
  186. package/dist/matterbridge.d.ts +492 -0
  187. package/dist/matterbridge.d.ts.map +1 -0
  188. package/dist/matterbridge.js +811 -46
  189. package/dist/matterbridge.js.map +1 -0
  190. package/dist/matterbridgeAccessoryPlatform.d.ts +41 -0
  191. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
  192. package/dist/matterbridgeAccessoryPlatform.js +38 -0
  193. package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
  194. package/dist/matterbridgeBehaviors.d.ts +2404 -0
  195. package/dist/matterbridgeBehaviors.d.ts.map +1 -0
  196. package/dist/matterbridgeBehaviors.js +68 -5
  197. package/dist/matterbridgeBehaviors.js.map +1 -0
  198. package/dist/matterbridgeDeviceTypes.d.ts +698 -0
  199. package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
  200. package/dist/matterbridgeDeviceTypes.js +635 -14
  201. package/dist/matterbridgeDeviceTypes.js.map +1 -0
  202. package/dist/matterbridgeDynamicPlatform.d.ts +41 -0
  203. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
  204. package/dist/matterbridgeDynamicPlatform.js +38 -0
  205. package/dist/matterbridgeDynamicPlatform.js.map +1 -0
  206. package/dist/matterbridgeEndpoint.d.ts +1507 -0
  207. package/dist/matterbridgeEndpoint.d.ts.map +1 -0
  208. package/dist/matterbridgeEndpoint.js +1444 -53
  209. package/dist/matterbridgeEndpoint.js.map +1 -0
  210. package/dist/matterbridgeEndpointHelpers.d.ts +787 -0
  211. package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
  212. package/dist/matterbridgeEndpointHelpers.js +483 -20
  213. package/dist/matterbridgeEndpointHelpers.js.map +1 -0
  214. package/dist/matterbridgeEndpointTypes.d.ts +166 -0
  215. package/dist/matterbridgeEndpointTypes.d.ts.map +1 -0
  216. package/dist/matterbridgeEndpointTypes.js +25 -0
  217. package/dist/matterbridgeEndpointTypes.js.map +1 -0
  218. package/dist/matterbridgePlatform.d.ts +539 -0
  219. package/dist/matterbridgePlatform.d.ts.map +1 -0
  220. package/dist/matterbridgePlatform.js +451 -1
  221. package/dist/matterbridgePlatform.js.map +1 -0
  222. package/dist/matterbridgeTypes.d.ts +251 -0
  223. package/dist/matterbridgeTypes.d.ts.map +1 -0
  224. package/dist/matterbridgeTypes.js +26 -0
  225. package/dist/matterbridgeTypes.js.map +1 -0
  226. package/dist/pluginManager.d.ts +372 -0
  227. package/dist/pluginManager.d.ts.map +1 -0
  228. package/dist/pluginManager.js +341 -5
  229. package/dist/pluginManager.js.map +1 -0
  230. package/dist/shelly.d.ts +181 -0
  231. package/dist/shelly.d.ts.map +1 -0
  232. package/dist/shelly.js +178 -7
  233. package/dist/shelly.js.map +1 -0
  234. package/dist/storage/export.d.ts +2 -0
  235. package/dist/storage/export.d.ts.map +1 -0
  236. package/dist/storage/export.js +1 -0
  237. package/dist/storage/export.js.map +1 -0
  238. package/dist/update.d.ts +84 -0
  239. package/dist/update.d.ts.map +1 -0
  240. package/dist/update.js +93 -1
  241. package/dist/update.js.map +1 -0
  242. package/dist/utils/colorUtils.d.ts +101 -0
  243. package/dist/utils/colorUtils.d.ts.map +1 -0
  244. package/dist/utils/colorUtils.js +97 -2
  245. package/dist/utils/colorUtils.js.map +1 -0
  246. package/dist/utils/commandLine.d.ts +66 -0
  247. package/dist/utils/commandLine.d.ts.map +1 -0
  248. package/dist/utils/commandLine.js +60 -0
  249. package/dist/utils/commandLine.js.map +1 -0
  250. package/dist/utils/copyDirectory.d.ts +35 -0
  251. package/dist/utils/copyDirectory.d.ts.map +1 -0
  252. package/dist/utils/copyDirectory.js +37 -0
  253. package/dist/utils/copyDirectory.js.map +1 -0
  254. package/dist/utils/createDirectory.d.ts +34 -0
  255. package/dist/utils/createDirectory.d.ts.map +1 -0
  256. package/dist/utils/createDirectory.js +33 -0
  257. package/dist/utils/createDirectory.js.map +1 -0
  258. package/dist/utils/createZip.d.ts +39 -0
  259. package/dist/utils/createZip.d.ts.map +1 -0
  260. package/dist/utils/createZip.js +47 -2
  261. package/dist/utils/createZip.js.map +1 -0
  262. package/dist/utils/deepCopy.d.ts +32 -0
  263. package/dist/utils/deepCopy.d.ts.map +1 -0
  264. package/dist/utils/deepCopy.js +39 -0
  265. package/dist/utils/deepCopy.js.map +1 -0
  266. package/dist/utils/deepEqual.d.ts +54 -0
  267. package/dist/utils/deepEqual.d.ts.map +1 -0
  268. package/dist/utils/deepEqual.js +72 -1
  269. package/dist/utils/deepEqual.js.map +1 -0
  270. package/dist/utils/error.d.ts +45 -0
  271. package/dist/utils/error.d.ts.map +1 -0
  272. package/dist/utils/error.js +42 -0
  273. package/dist/utils/error.js.map +1 -0
  274. package/dist/utils/export.d.ts +13 -0
  275. package/dist/utils/export.d.ts.map +1 -0
  276. package/dist/utils/export.js +1 -0
  277. package/dist/utils/export.js.map +1 -0
  278. package/dist/utils/format.d.ts +53 -0
  279. package/dist/utils/format.d.ts.map +1 -0
  280. package/dist/utils/format.js +49 -0
  281. package/dist/utils/format.js.map +1 -0
  282. package/dist/utils/hex.d.ts +89 -0
  283. package/dist/utils/hex.d.ts.map +1 -0
  284. package/dist/utils/hex.js +124 -0
  285. package/dist/utils/hex.js.map +1 -0
  286. package/dist/utils/inspector.d.ts +87 -0
  287. package/dist/utils/inspector.d.ts.map +1 -0
  288. package/dist/utils/inspector.js +69 -1
  289. package/dist/utils/inspector.js.map +1 -0
  290. package/dist/utils/isvalid.d.ts +103 -0
  291. package/dist/utils/isvalid.d.ts.map +1 -0
  292. package/dist/utils/isvalid.js +101 -0
  293. package/dist/utils/isvalid.js.map +1 -0
  294. package/dist/utils/network.d.ts +111 -0
  295. package/dist/utils/network.d.ts.map +1 -0
  296. package/dist/utils/network.js +96 -5
  297. package/dist/utils/network.js.map +1 -0
  298. package/dist/utils/spawn.d.ts +33 -0
  299. package/dist/utils/spawn.d.ts.map +1 -0
  300. package/dist/utils/spawn.js +71 -1
  301. package/dist/utils/spawn.js.map +1 -0
  302. package/dist/utils/tracker.d.ts +108 -0
  303. package/dist/utils/tracker.d.ts.map +1 -0
  304. package/dist/utils/tracker.js +64 -1
  305. package/dist/utils/tracker.js.map +1 -0
  306. package/dist/utils/wait.d.ts +54 -0
  307. package/dist/utils/wait.d.ts.map +1 -0
  308. package/dist/utils/wait.js +60 -8
  309. package/dist/utils/wait.js.map +1 -0
  310. package/dist/workerGlobalPrefix.d.ts +25 -0
  311. package/dist/workerGlobalPrefix.d.ts.map +1 -0
  312. package/dist/workerGlobalPrefix.js +37 -5
  313. package/dist/workerGlobalPrefix.js.map +1 -0
  314. package/dist/workerTypes.d.ts +52 -0
  315. package/dist/workerTypes.d.ts.map +1 -0
  316. package/dist/workerTypes.js +24 -0
  317. package/dist/workerTypes.js.map +1 -0
  318. package/dist/workers.d.ts +69 -0
  319. package/dist/workers.d.ts.map +1 -0
  320. package/dist/workers.js +68 -4
  321. package/dist/workers.js.map +1 -0
  322. package/npm-shrinkwrap.json +2 -2
  323. package/package.json +2 -1
  324. package/scripts/data_model.mjs +2058 -0
@@ -0,0 +1,841 @@
1
+ /**
2
+ * This file contains the BroadcastServer types.
3
+ *
4
+ * @file broadcastServerTypes.ts
5
+ * @author Luca Liguori
6
+ * @created 2025-10-05
7
+ * @version 2.0.0
8
+ * @license Apache-2.0
9
+ *
10
+ * Copyright 2025, 2026, 2027 Luca Liguori.
11
+ *
12
+ * Licensed under the Apache License, Version 2.0 (the "License");
13
+ * you may not use this file except in compliance with the License.
14
+ * You may obtain a copy of the License at
15
+ *
16
+ * http://www.apache.org/licenses/LICENSE-2.0
17
+ *
18
+ * Unless required by applicable law or agreed to in writing, software
19
+ * distributed under the License is distributed on an "AS IS" BASIS,
20
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
+ * See the License for the specific language governing permissions and
22
+ * limitations under the License.
23
+ */
24
+ import { LogLevel } from 'node-ansi-logger';
25
+ import { EndpointNumber } from '@matter/types/datatype';
26
+ import { RefreshRequiredChanged, WsMessageBroadcast } from './frontendTypes.js';
27
+ import type { PlatformConfig, PlatformSchema } from './matterbridgePlatform.js';
28
+ import type { ApiMatter, ApiPlugin, BaseDevice, Plugin, StoragePlugin } from './matterbridgeTypes.js';
29
+ /** Types of worker source */
30
+ export type WorkerSrcType = 'manager' | 'matterbridge' | 'plugins' | 'devices' | 'frontend' | 'matter' | 'platform' | 'spawn' | 'updates';
31
+ /** Types of worker destination */
32
+ export type WorkerDstType = 'manager' | 'matterbridge' | 'plugins' | 'devices' | 'frontend' | 'matter' | 'platform' | 'spawn' | 'updates' | 'all';
33
+ /** Normalized message request structure */
34
+ type NormalizeRequest<T> = T extends {
35
+ params: infer P;
36
+ } ? ([P] extends [undefined] ? {
37
+ params?: undefined;
38
+ } : {
39
+ params: P;
40
+ }) : Record<never, never>;
41
+ /** Message request structure with id, timestamp, src and dst */
42
+ type WorkerMessageRequestMap = {
43
+ [K in keyof WorkerMessageTypes]: {
44
+ type: K;
45
+ id?: number;
46
+ timestamp?: number;
47
+ src: WorkerSrcType;
48
+ dst: WorkerDstType;
49
+ } & NormalizeRequest<WorkerMessageTypes[K]['request']>;
50
+ };
51
+ /** Message request structure with id, timestamp, src and dst */
52
+ export type WorkerMessageRequest<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageRequestMap[K];
53
+ /** Normalized message response success structure that guarantees a successful result */
54
+ type NormalizeResponseSuccess<T> = T & {
55
+ error?: never;
56
+ };
57
+ /** Normalized message response error structure that guarantees an error-only payload */
58
+ type NormalizeResponseError<T> = {
59
+ error: string;
60
+ } & {
61
+ [K in keyof T]?: never;
62
+ };
63
+ /** Normalized message response structure */
64
+ type NormalizeResponse<T> = NormalizeResponseSuccess<T> | NormalizeResponseError<T>;
65
+ /** Message response structure with id, timestamp, elapsed, src and dst */
66
+ type WorkerMessageResponseMap = {
67
+ [K in keyof WorkerMessageTypes]: {
68
+ type: K;
69
+ id?: number;
70
+ timestamp?: number;
71
+ elapsed?: number;
72
+ src: WorkerSrcType;
73
+ dst: WorkerDstType;
74
+ } & NormalizeResponse<WorkerMessageTypes[K]['response']>;
75
+ };
76
+ /** Message response structure with id, timestamp, elapsed, src and dst */
77
+ export type WorkerMessageResponse<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageResponseMap[K];
78
+ /** Message response success structure that guarantees a successful result */
79
+ type WorkerMessageResponseSuccessMap = {
80
+ [K in keyof WorkerMessageTypes]: {
81
+ type: K;
82
+ id?: number;
83
+ timestamp?: number;
84
+ elapsed?: number;
85
+ src: WorkerSrcType;
86
+ dst: WorkerDstType;
87
+ } & NormalizeResponseSuccess<WorkerMessageTypes[K]['response']>;
88
+ };
89
+ /** Message response success structure that guarantees a successful result */
90
+ export type WorkerMessageResponseSuccess<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageResponseSuccessMap[K];
91
+ /** Message response error structure */
92
+ type WorkerMessageResponseErrorMap = {
93
+ [K in keyof WorkerMessageTypes]: {
94
+ type: K;
95
+ id?: number;
96
+ timestamp?: number;
97
+ elapsed?: number;
98
+ src: WorkerSrcType;
99
+ dst: WorkerDstType;
100
+ } & NormalizeResponseError<WorkerMessageTypes[K]['response']>;
101
+ };
102
+ /** Message response error structure */
103
+ export type WorkerMessageResponseError<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageResponseErrorMap[K];
104
+ /** Convenience alias for any worker request */
105
+ export type WorkerMessageRequestAny = WorkerMessageRequest<keyof WorkerMessageTypes>;
106
+ /** Resolve a successful response type based on the originating request */
107
+ export type WorkerMessageResponseSuccessForRequest<T extends WorkerMessageRequestAny> = WorkerMessageResponseSuccess<Extract<keyof WorkerMessageTypes, T['type']>>;
108
+ /** Resolve an error response type based on the originating request */
109
+ export type WorkerMessageResponseErrorForRequest<T extends WorkerMessageRequestAny> = WorkerMessageResponseError<Extract<keyof WorkerMessageTypes, T['type']>>;
110
+ /** Union type for WorkerMessageRequest and WorkerMessageResponse */
111
+ export type WorkerMessage<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageRequest<K> | WorkerMessageResponse<K> | WorkerMessageResponseSuccess<K> | WorkerMessageResponseError<K>;
112
+ /** Map of all worker message types with their request and response structures */
113
+ export type WorkerMessageTypes = {
114
+ 'jest': {
115
+ request: {
116
+ params: {
117
+ userId: number;
118
+ };
119
+ };
120
+ response: {
121
+ result: {
122
+ name: string;
123
+ age: number;
124
+ };
125
+ };
126
+ };
127
+ 'jest_simple': {
128
+ request: {
129
+ params: undefined;
130
+ };
131
+ response: {
132
+ result: {
133
+ success: true;
134
+ };
135
+ };
136
+ };
137
+ 'get_log_level': {
138
+ request: {
139
+ params: undefined;
140
+ };
141
+ response: {
142
+ result: {
143
+ logLevel: LogLevel;
144
+ };
145
+ };
146
+ };
147
+ 'set_log_level': {
148
+ request: {
149
+ params: {
150
+ logLevel: LogLevel;
151
+ };
152
+ };
153
+ response: {
154
+ result: {
155
+ logLevel: LogLevel;
156
+ };
157
+ };
158
+ };
159
+ 'matterbridge_initialize': {
160
+ request: {
161
+ params: undefined;
162
+ };
163
+ response: {
164
+ result: {
165
+ success: true;
166
+ };
167
+ };
168
+ };
169
+ 'matterbridge_latest_version': {
170
+ request: {
171
+ params: {
172
+ version: string;
173
+ };
174
+ };
175
+ response: {
176
+ result: {
177
+ success: true;
178
+ };
179
+ };
180
+ };
181
+ 'matterbridge_global_prefix': {
182
+ request: {
183
+ params: {
184
+ prefix: string;
185
+ };
186
+ };
187
+ response: {
188
+ result: {
189
+ success: true;
190
+ };
191
+ };
192
+ };
193
+ 'matterbridge_dev_version': {
194
+ request: {
195
+ params: {
196
+ version: string;
197
+ };
198
+ };
199
+ response: {
200
+ result: {
201
+ success: true;
202
+ };
203
+ };
204
+ };
205
+ 'matterbridge_sys_update': {
206
+ request: {
207
+ params: {
208
+ available: boolean;
209
+ };
210
+ };
211
+ response: {
212
+ result: {
213
+ success: true;
214
+ };
215
+ };
216
+ };
217
+ 'matterbridge_main_update': {
218
+ request: {
219
+ params: {
220
+ available: boolean;
221
+ };
222
+ };
223
+ response: {
224
+ result: {
225
+ success: true;
226
+ };
227
+ };
228
+ };
229
+ 'matter_start': {
230
+ request: {
231
+ params: {
232
+ storeId: string;
233
+ };
234
+ };
235
+ response: {
236
+ result: {
237
+ storeId: string;
238
+ success: true;
239
+ };
240
+ };
241
+ };
242
+ 'matter_stop': {
243
+ request: {
244
+ params: {
245
+ storeId: string;
246
+ };
247
+ };
248
+ response: {
249
+ result: {
250
+ storeId: string;
251
+ success: true;
252
+ };
253
+ };
254
+ };
255
+ 'frontend_start': {
256
+ request: {
257
+ params: {
258
+ port: number;
259
+ };
260
+ };
261
+ response: {
262
+ result: {
263
+ success: true;
264
+ };
265
+ };
266
+ };
267
+ 'frontend_stop': {
268
+ request: {
269
+ params: undefined;
270
+ };
271
+ response: {
272
+ result: {
273
+ success: true;
274
+ };
275
+ };
276
+ };
277
+ 'frontend_refreshrequired': {
278
+ request: {
279
+ params: {
280
+ changed: RefreshRequiredChanged;
281
+ matter?: ApiMatter;
282
+ };
283
+ };
284
+ response: {
285
+ result: {
286
+ success: true;
287
+ };
288
+ };
289
+ };
290
+ 'frontend_restartrequired': {
291
+ request: {
292
+ params: {
293
+ snackbar: boolean;
294
+ fixed: boolean;
295
+ };
296
+ };
297
+ response: {
298
+ result: {
299
+ success: true;
300
+ };
301
+ };
302
+ };
303
+ 'frontend_restartnotrequired': {
304
+ request: {
305
+ params: {
306
+ snackbar: boolean;
307
+ };
308
+ };
309
+ response: {
310
+ result: {
311
+ success: true;
312
+ };
313
+ };
314
+ };
315
+ 'frontend_updaterequired': {
316
+ request: {
317
+ params: {
318
+ devVersion: boolean;
319
+ };
320
+ };
321
+ response: {
322
+ result: {
323
+ success: true;
324
+ };
325
+ };
326
+ };
327
+ 'frontend_snackbarmessage': {
328
+ request: {
329
+ params: {
330
+ message: string;
331
+ timeout?: number;
332
+ severity?: 'info' | 'success' | 'warning' | 'error';
333
+ };
334
+ };
335
+ response: {
336
+ result: {
337
+ success: true;
338
+ };
339
+ };
340
+ };
341
+ 'frontend_attributechanged': {
342
+ request: {
343
+ params: {
344
+ plugin: string;
345
+ serialNumber: string;
346
+ uniqueId: string;
347
+ number: EndpointNumber;
348
+ id: string;
349
+ cluster: string;
350
+ attribute: string;
351
+ value: number | string | boolean | null;
352
+ };
353
+ };
354
+ response: {
355
+ result: {
356
+ success: true;
357
+ };
358
+ };
359
+ };
360
+ 'frontend_logmessage': {
361
+ request: {
362
+ params: {
363
+ level: string;
364
+ time: string;
365
+ name: string;
366
+ message: string;
367
+ };
368
+ };
369
+ response: {
370
+ result: {
371
+ success: true;
372
+ };
373
+ };
374
+ };
375
+ 'frontend_broadcast_message': {
376
+ request: {
377
+ params: {
378
+ msg: WsMessageBroadcast;
379
+ };
380
+ };
381
+ response: {
382
+ result: {
383
+ success: true;
384
+ };
385
+ };
386
+ };
387
+ 'plugins_length': {
388
+ request: {
389
+ params: undefined;
390
+ };
391
+ response: {
392
+ result: {
393
+ length: number;
394
+ };
395
+ };
396
+ };
397
+ 'plugins_size': {
398
+ request: {
399
+ params: undefined;
400
+ };
401
+ response: {
402
+ result: {
403
+ size: number;
404
+ };
405
+ };
406
+ };
407
+ 'plugins_has': {
408
+ request: {
409
+ params: {
410
+ name: string;
411
+ };
412
+ };
413
+ response: {
414
+ result: {
415
+ has: boolean;
416
+ };
417
+ };
418
+ };
419
+ 'plugins_get': {
420
+ request: {
421
+ params: {
422
+ name: string;
423
+ };
424
+ };
425
+ response: {
426
+ result: {
427
+ plugin: ApiPlugin | undefined;
428
+ };
429
+ };
430
+ };
431
+ 'plugins_set': {
432
+ request: {
433
+ params: {
434
+ plugin: ApiPlugin;
435
+ };
436
+ };
437
+ response: {
438
+ result: {
439
+ plugin: ApiPlugin;
440
+ };
441
+ };
442
+ };
443
+ 'plugins_clear': {
444
+ request: {
445
+ params: undefined;
446
+ };
447
+ response: {
448
+ result: {
449
+ success: true;
450
+ };
451
+ };
452
+ };
453
+ 'plugins_storagepluginarray': {
454
+ request: {
455
+ params: undefined;
456
+ };
457
+ response: {
458
+ result: {
459
+ plugins: StoragePlugin[];
460
+ };
461
+ };
462
+ };
463
+ 'plugins_apipluginarray': {
464
+ request: {
465
+ params: undefined;
466
+ };
467
+ response: {
468
+ result: {
469
+ plugins: ApiPlugin[];
470
+ };
471
+ };
472
+ };
473
+ 'plugins_loadFromStorage': {
474
+ request: {
475
+ params: undefined;
476
+ };
477
+ response: {
478
+ result: {
479
+ plugins: ApiPlugin[];
480
+ };
481
+ };
482
+ };
483
+ 'plugins_saveToStorage': {
484
+ request: {
485
+ params: undefined;
486
+ };
487
+ response: {
488
+ result: {
489
+ count: number;
490
+ };
491
+ };
492
+ };
493
+ 'plugins_resolve': {
494
+ request: {
495
+ params: {
496
+ pluginPath: string;
497
+ };
498
+ };
499
+ response: {
500
+ result: {
501
+ resolved: string | null;
502
+ };
503
+ };
504
+ };
505
+ 'plugins_install': {
506
+ request: {
507
+ params: {
508
+ packageName: string;
509
+ };
510
+ };
511
+ response: {
512
+ result: {
513
+ packageName: string;
514
+ success: boolean;
515
+ };
516
+ };
517
+ };
518
+ 'plugins_uninstall': {
519
+ request: {
520
+ params: {
521
+ packageName: string;
522
+ };
523
+ };
524
+ response: {
525
+ result: {
526
+ packageName: string;
527
+ success: boolean;
528
+ };
529
+ };
530
+ };
531
+ 'plugins_parse': {
532
+ request: {
533
+ params: {
534
+ plugin: Plugin;
535
+ };
536
+ };
537
+ response: {
538
+ result: {
539
+ packageJson: Record<string, unknown> | null;
540
+ };
541
+ };
542
+ };
543
+ 'plugins_enable': {
544
+ request: {
545
+ params: {
546
+ nameOrPath: string;
547
+ };
548
+ };
549
+ response: {
550
+ result: {
551
+ plugin: ApiPlugin | null;
552
+ };
553
+ };
554
+ };
555
+ 'plugins_disable': {
556
+ request: {
557
+ params: {
558
+ nameOrPath: string;
559
+ };
560
+ };
561
+ response: {
562
+ result: {
563
+ plugin: ApiPlugin | null;
564
+ };
565
+ };
566
+ };
567
+ 'plugins_remove': {
568
+ request: {
569
+ params: {
570
+ nameOrPath: string;
571
+ };
572
+ };
573
+ response: {
574
+ result: {
575
+ plugin: ApiPlugin | null;
576
+ };
577
+ };
578
+ };
579
+ 'plugins_add': {
580
+ request: {
581
+ params: {
582
+ nameOrPath: string;
583
+ };
584
+ };
585
+ response: {
586
+ result: {
587
+ plugin: ApiPlugin | null;
588
+ };
589
+ };
590
+ };
591
+ 'plugins_load': {
592
+ request: {
593
+ params: {
594
+ plugin: ApiPlugin | string;
595
+ start?: boolean;
596
+ message?: string;
597
+ configure?: boolean;
598
+ };
599
+ };
600
+ response: {
601
+ result: {
602
+ platform: unknown | undefined;
603
+ };
604
+ };
605
+ };
606
+ 'plugins_start': {
607
+ request: {
608
+ params: {
609
+ plugin: ApiPlugin | string;
610
+ message?: string;
611
+ configure?: boolean;
612
+ };
613
+ };
614
+ response: {
615
+ result: {
616
+ plugin: ApiPlugin | undefined;
617
+ };
618
+ };
619
+ };
620
+ 'plugins_configure': {
621
+ request: {
622
+ params: {
623
+ plugin: ApiPlugin | string;
624
+ };
625
+ };
626
+ response: {
627
+ result: {
628
+ plugin: ApiPlugin | undefined;
629
+ };
630
+ };
631
+ };
632
+ 'plugins_shutdown': {
633
+ request: {
634
+ params: {
635
+ plugin: ApiPlugin | string;
636
+ reason?: string;
637
+ removeAllDevices?: boolean;
638
+ force?: boolean;
639
+ };
640
+ };
641
+ response: {
642
+ result: {
643
+ plugin: ApiPlugin | undefined;
644
+ };
645
+ };
646
+ };
647
+ 'plugins_loadconfig': {
648
+ request: {
649
+ params: {
650
+ plugin: ApiPlugin;
651
+ };
652
+ };
653
+ response: {
654
+ result: {
655
+ config: PlatformConfig;
656
+ };
657
+ };
658
+ };
659
+ 'plugins_saveconfigfromplugin': {
660
+ request: {
661
+ params: {
662
+ name: string;
663
+ restartRequired?: boolean;
664
+ };
665
+ };
666
+ response: {
667
+ result: {
668
+ success: true;
669
+ };
670
+ };
671
+ };
672
+ 'plugins_saveconfigfromjson': {
673
+ request: {
674
+ params: {
675
+ name: string;
676
+ config: PlatformConfig;
677
+ restartRequired?: boolean;
678
+ };
679
+ };
680
+ response: {
681
+ result: {
682
+ success: true;
683
+ };
684
+ };
685
+ };
686
+ 'plugins_loadschema': {
687
+ request: {
688
+ params: {
689
+ name: string;
690
+ };
691
+ };
692
+ response: {
693
+ result: {
694
+ schema: PlatformSchema | undefined;
695
+ };
696
+ };
697
+ };
698
+ 'plugins_getschema': {
699
+ request: {
700
+ params: {
701
+ name: string;
702
+ };
703
+ };
704
+ response: {
705
+ result: {
706
+ schema: PlatformSchema | undefined;
707
+ };
708
+ };
709
+ };
710
+ 'plugins_setschema': {
711
+ request: {
712
+ params: {
713
+ name: string;
714
+ schema: PlatformSchema;
715
+ };
716
+ };
717
+ response: {
718
+ result: {
719
+ success: true;
720
+ };
721
+ };
722
+ };
723
+ 'plugins_set_latest_version': {
724
+ request: {
725
+ params: {
726
+ plugin: ApiPlugin;
727
+ version: string;
728
+ };
729
+ };
730
+ response: {
731
+ result: {
732
+ success: true;
733
+ };
734
+ };
735
+ };
736
+ 'plugins_set_dev_version': {
737
+ request: {
738
+ params: {
739
+ plugin: ApiPlugin;
740
+ version: string;
741
+ };
742
+ };
743
+ response: {
744
+ result: {
745
+ success: true;
746
+ };
747
+ };
748
+ };
749
+ 'devices_length': {
750
+ request: {
751
+ params: undefined;
752
+ };
753
+ response: {
754
+ result: {
755
+ length: number;
756
+ };
757
+ };
758
+ };
759
+ 'devices_size': {
760
+ request: {
761
+ params: undefined;
762
+ };
763
+ response: {
764
+ result: {
765
+ size: number;
766
+ };
767
+ };
768
+ };
769
+ 'devices_has': {
770
+ request: {
771
+ params: {
772
+ uniqueId: string;
773
+ };
774
+ };
775
+ response: {
776
+ result: {
777
+ has: boolean;
778
+ };
779
+ };
780
+ };
781
+ 'devices_get': {
782
+ request: {
783
+ params: {
784
+ uniqueId: string;
785
+ };
786
+ };
787
+ response: {
788
+ result: {
789
+ device: BaseDevice | undefined;
790
+ };
791
+ };
792
+ };
793
+ 'devices_set': {
794
+ request: {
795
+ params: {
796
+ device: BaseDevice;
797
+ };
798
+ };
799
+ response: {
800
+ result: {
801
+ device: BaseDevice;
802
+ };
803
+ };
804
+ };
805
+ 'devices_remove': {
806
+ request: {
807
+ params: {
808
+ device: BaseDevice;
809
+ };
810
+ };
811
+ response: {
812
+ result: {
813
+ success: boolean;
814
+ };
815
+ };
816
+ };
817
+ 'devices_clear': {
818
+ request: {
819
+ params: undefined;
820
+ };
821
+ response: {
822
+ result: {
823
+ success: true;
824
+ };
825
+ };
826
+ };
827
+ 'devices_basearray': {
828
+ request: {
829
+ params: {
830
+ pluginName?: string;
831
+ };
832
+ };
833
+ response: {
834
+ result: {
835
+ devices: BaseDevice[];
836
+ };
837
+ };
838
+ };
839
+ };
840
+ export {};
841
+ //# sourceMappingURL=broadcastServerTypes.d.ts.map