matterbridge 3.4.7-dev-20260104-6b10cee → 3.4.7-dev-20260112-bd9e311

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