homebridge-config-ui-x 5.8.1-alpha.1 → 5.8.1-alpha.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 (144) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/dist/app.module.js +0 -2
  3. package/dist/app.module.js.map +1 -1
  4. package/dist/core/auth/auth.controller.d.ts +2 -0
  5. package/dist/core/config/config.interfaces.d.ts +0 -2
  6. package/dist/core/config/config.service.d.ts +3 -0
  7. package/dist/core/config/config.service.js +20 -0
  8. package/dist/core/config/config.service.js.map +1 -1
  9. package/dist/core/feature-flags/feature-flags.registry.d.ts +6 -0
  10. package/dist/core/feature-flags/feature-flags.registry.js +16 -0
  11. package/dist/core/feature-flags/feature-flags.registry.js.map +1 -0
  12. package/dist/core/homebridge-ipc/homebridge-ipc.service.d.ts +1 -1
  13. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +2 -8
  14. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  15. package/dist/modules/child-bridges/child-bridges.gateway.d.ts +1 -1
  16. package/dist/modules/child-bridges/child-bridges.interfaces.d.ts +23 -0
  17. package/dist/modules/{matter-bridges/matter-bridges.interfaces.js → child-bridges/child-bridges.interfaces.js} +1 -1
  18. package/dist/modules/child-bridges/child-bridges.interfaces.js.map +1 -0
  19. package/dist/modules/child-bridges/child-bridges.service.d.ts +2 -1
  20. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
  21. package/dist/modules/config-editor/config-editor.controller.d.ts +5 -0
  22. package/dist/modules/config-editor/config-editor.controller.js +44 -0
  23. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  24. package/dist/modules/config-editor/config-editor.module.js +2 -0
  25. package/dist/modules/config-editor/config-editor.module.js.map +1 -1
  26. package/dist/modules/config-editor/config-editor.service.d.ts +9 -1
  27. package/dist/modules/config-editor/config-editor.service.js +41 -2
  28. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  29. package/dist/modules/plugins/plugins.service.js +11 -2
  30. package/dist/modules/plugins/plugins.service.js.map +1 -1
  31. package/dist/modules/server/server.controller.d.ts +0 -8
  32. package/dist/modules/server/server.controller.js +0 -34
  33. package/dist/modules/server/server.controller.js.map +1 -1
  34. package/dist/modules/server/server.module.js +0 -2
  35. package/dist/modules/server/server.module.js.map +1 -1
  36. package/dist/modules/server/server.service.d.ts +1 -10
  37. package/dist/modules/server/server.service.js +15 -78
  38. package/dist/modules/server/server.service.js.map +1 -1
  39. package/dist/modules/status/status.controller.d.ts +1 -1
  40. package/dist/modules/status/status.gateway.d.ts +2 -0
  41. package/dist/modules/status/status.interfaces.d.ts +21 -1
  42. package/dist/modules/status/status.interfaces.js +1 -1
  43. package/dist/modules/status/status.interfaces.js.map +1 -1
  44. package/dist/modules/status/status.service.d.ts +4 -1
  45. package/dist/modules/status/status.service.js +10 -1
  46. package/dist/modules/status/status.service.js.map +1 -1
  47. package/package.json +5 -5
  48. package/public/{chunk-Q3MWAS4P.js → chunk-24V3NGFI.js} +1 -1
  49. package/public/{chunk-ZVVFXECV.js → chunk-2BL56S4G.js} +1 -1
  50. package/public/{chunk-OSMYI4FR.js → chunk-2WBA3XZY.js} +1 -1
  51. package/public/{chunk-CVDVGPUL.js → chunk-33PMRDBB.js} +1 -1
  52. package/public/{chunk-HJP3PUHH.js → chunk-36QBSL7L.js} +1 -1
  53. package/public/{chunk-WIQRKTJE.js → chunk-3EACECYJ.js} +2 -2
  54. package/public/{chunk-PAYR4BP6.js → chunk-3VNZJLNK.js} +1 -1
  55. package/public/{chunk-SZMSL4WR.js → chunk-4FEGH2UB.js} +1 -1
  56. package/public/{chunk-WNSKIS6I.js → chunk-6ITGU7FZ.js} +1 -1
  57. package/public/{chunk-PVTUDHUR.js → chunk-6KKB6PSI.js} +1 -1
  58. package/public/{chunk-6E5BARSR.js → chunk-6VILNURQ.js} +1 -1
  59. package/public/{chunk-2VTPTBWC.js → chunk-76V3BHHF.js} +1 -1
  60. package/public/chunk-7XWF5TOT.js +16 -0
  61. package/public/{chunk-C24ICGN6.js → chunk-AJQCA47Y.js} +1 -1
  62. package/public/{chunk-UUM6VYTY.js → chunk-AQDMQEAB.js} +1 -1
  63. package/public/{chunk-2H6M4LVM.js → chunk-B4Y5HQE7.js} +1 -1
  64. package/public/{chunk-VKEEEO4W.js → chunk-CVCFOY5E.js} +1 -1
  65. package/public/{chunk-MLNUGBKB.js → chunk-CYTLZ6YW.js} +1 -1
  66. package/public/chunk-DMJW5ZHK.js +49 -0
  67. package/public/{chunk-J5CM7V6S.js → chunk-EC7TS3KB.js} +1 -1
  68. package/public/{chunk-6LFL4MDA.js → chunk-EPX4XXOW.js} +1 -1
  69. package/public/{chunk-APSJUK45.js → chunk-FOP6PLYE.js} +5 -5
  70. package/public/{chunk-6AMBOE4Y.js → chunk-FPKBFKV5.js} +1 -1
  71. package/public/{chunk-WOLG5CZA.js → chunk-FTBZTBWU.js} +1 -1
  72. package/public/{chunk-2I4ETLZH.js → chunk-FVYFMBVK.js} +1 -1
  73. package/public/{chunk-SDI5HSBM.js → chunk-GXYNICAR.js} +1 -1
  74. package/public/{chunk-UTXD6T57.js → chunk-IR365KDC.js} +1 -1
  75. package/public/{chunk-HUH4CVWW.js → chunk-J3R4IDEX.js} +1 -1
  76. package/public/{chunk-VHWW22XF.js → chunk-JEOUZZWT.js} +1 -1
  77. package/public/chunk-JIUPKHC6.js +5 -0
  78. package/public/{chunk-3PLIJBTE.js → chunk-KG4GU7WY.js} +1 -1
  79. package/public/{chunk-MTATY52X.js → chunk-KQOV7H7Y.js} +1 -1
  80. package/public/{chunk-2GXYRKHH.js → chunk-KUYBQYXR.js} +1 -1
  81. package/public/{chunk-35UZ7VZX.js → chunk-M3FIN2AA.js} +1 -1
  82. package/public/{chunk-LV4KCGZA.js → chunk-M6FUOKKR.js} +1 -1
  83. package/public/{chunk-FKWZUPGA.js → chunk-M7GSB47P.js} +1 -1
  84. package/public/{chunk-MPEXWCHQ.js → chunk-MBD42QUN.js} +1 -1
  85. package/public/{chunk-7DSW3N54.js → chunk-MV2PQACG.js} +1 -1
  86. package/public/{chunk-A6Q642ZL.js → chunk-N2CLJOXQ.js} +1 -1
  87. package/public/{chunk-NVWZQWEN.js → chunk-NCP5DBJU.js} +1 -1
  88. package/public/{chunk-P5G7H6Z3.js → chunk-NNWXZ2UX.js} +1 -1
  89. package/public/chunk-NTA6XYDQ.js +1 -0
  90. package/public/{chunk-B6JXLW44.js → chunk-NV5DYWBE.js} +1 -1
  91. package/public/{chunk-BTLT5RJH.js → chunk-ODPZEKPC.js} +1 -1
  92. package/public/{chunk-37PL2Q23.js → chunk-OODQSAYJ.js} +1 -1
  93. package/public/chunk-P42657EJ.js +1 -0
  94. package/public/{chunk-PN4G3SRW.js → chunk-Q3A53XG6.js} +1 -1
  95. package/public/{chunk-MWP3WV26.js → chunk-QBLES7DA.js} +1 -1
  96. package/public/chunk-QOUWSMXM.js +1 -0
  97. package/public/chunk-R3EG5T24.js +4 -0
  98. package/public/{chunk-UANJM6RI.js → chunk-R6PJW4VJ.js} +1 -1
  99. package/public/{chunk-ZFXCZXMZ.js → chunk-RACNADXJ.js} +1 -1
  100. package/public/{chunk-KDVFF7AY.js → chunk-RDNPHK2J.js} +1 -1
  101. package/public/{chunk-XTFZVALQ.js → chunk-RIZYVGAC.js} +1 -1
  102. package/public/{chunk-PKBYFZL6.js → chunk-RX7ESKHZ.js} +1 -1
  103. package/public/{chunk-R5XUDO3O.js → chunk-T6MWCILD.js} +1 -1
  104. package/public/{chunk-H6CTSSL5.js → chunk-TKL5NWVB.js} +1 -1
  105. package/public/{chunk-DM4UKQJR.js → chunk-TUI3ZP5I.js} +1 -1
  106. package/public/{chunk-3SAD2VNO.js → chunk-TVF3AWYQ.js} +1 -1
  107. package/public/chunk-VNSJXBAT.js +3 -0
  108. package/public/chunk-VWMX5XIX.js +1 -0
  109. package/public/{chunk-GUAWWDOS.js → chunk-W7QZJGXY.js} +1 -1
  110. package/public/{chunk-N25MZZTN.js → chunk-WSFWMNAU.js} +1 -1
  111. package/public/{chunk-I6E7YQPI.js → chunk-WYZEY4PO.js} +1 -1
  112. package/public/chunk-XKK6O4IO.js +1 -0
  113. package/public/{chunk-RH72P3KQ.js → chunk-ZDZFMGQF.js} +1 -1
  114. package/public/chunk-ZR5W7DTP.js +1 -0
  115. package/public/{chunk-MOC27Z2W.js → chunk-ZRIWYPVK.js} +1 -1
  116. package/public/index.html +2 -2
  117. package/public/{main-SHUTEFR3.js → main-GKAAYSQG.js} +1 -1
  118. package/public/{styles-XX2FIUST.css → styles-WNHDEKE4.css} +1 -1
  119. package/scripts/extract-plugin-alias.js +53 -2
  120. package/dist/modules/matter-bridges/matter-bridges.controller.d.ts +0 -17
  121. package/dist/modules/matter-bridges/matter-bridges.controller.js +0 -104
  122. package/dist/modules/matter-bridges/matter-bridges.controller.js.map +0 -1
  123. package/dist/modules/matter-bridges/matter-bridges.gateway.d.ts +0 -19
  124. package/dist/modules/matter-bridges/matter-bridges.gateway.js +0 -128
  125. package/dist/modules/matter-bridges/matter-bridges.gateway.js.map +0 -1
  126. package/dist/modules/matter-bridges/matter-bridges.interfaces.d.ts +0 -38
  127. package/dist/modules/matter-bridges/matter-bridges.interfaces.js.map +0 -1
  128. package/dist/modules/matter-bridges/matter-bridges.module.d.ts +0 -2
  129. package/dist/modules/matter-bridges/matter-bridges.module.js +0 -43
  130. package/dist/modules/matter-bridges/matter-bridges.module.js.map +0 -1
  131. package/dist/modules/matter-bridges/matter-bridges.service.d.ts +0 -39
  132. package/dist/modules/matter-bridges/matter-bridges.service.js +0 -293
  133. package/dist/modules/matter-bridges/matter-bridges.service.js.map +0 -1
  134. package/public/chunk-26OWANUT.js +0 -49
  135. package/public/chunk-6JS4ZQWX.js +0 -1
  136. package/public/chunk-AV4TLMKI.js +0 -5
  137. package/public/chunk-BPRJFSMN.js +0 -16
  138. package/public/chunk-BTUMLRBK.js +0 -1
  139. package/public/chunk-D3DDU6SK.js +0 -3
  140. package/public/chunk-L3NSG4YB.js +0 -1
  141. package/public/chunk-SAOAUW4Q.js +0 -4
  142. package/public/chunk-U7PKXES7.js +0 -1
  143. package/public/chunk-XPPYXYIG.js +0 -1
  144. package/public/chunk-ZEPBMBZP.js +0 -1
@@ -6,6 +6,7 @@
6
6
 
7
7
  const process = require('node:process')
8
8
  const EventEmitter = require('node:events').EventEmitter
9
+ const { readFileSync } = require('node:fs')
9
10
  const path = require('node:path')
10
11
 
11
12
  let pluginAlias
@@ -36,6 +37,26 @@ const HomebridgeApiMock = {
36
37
  serverVersion: '1.2.3',
37
38
  on: () => { /** mock */ },
38
39
  emit: () => { /** mock */ },
40
+ // Mock Matter API
41
+ isMatterAvailable() {
42
+ return true
43
+ },
44
+ isMatterEnabled() {
45
+ return true
46
+ },
47
+ matterDeviceTypes: new Proxy({}, {
48
+ get() {
49
+ return {} // Return empty object for any device type
50
+ },
51
+ }),
52
+ matterClusters: new Proxy({}, {
53
+ get() {
54
+ return {} // Return empty object for any cluster
55
+ },
56
+ }),
57
+ registerMatterAccessory: () => { /** mock */ },
58
+ unregisterMatterAccessory: () => { /** mock */ },
59
+ updateMatterAccessoryState: () => { /** mock */ },
39
60
  hap: {
40
61
  Characteristic: new class Characteristic extends EventEmitter {
41
62
  constructor() {
@@ -99,11 +120,41 @@ const HomebridgeApiMock = {
99
120
  },
100
121
  }
101
122
 
102
- function main() {
123
+ async function main() {
103
124
  try {
104
125
  let pluginInitializer
105
126
  const pluginPath = process.env.UIX_EXTRACT_PLUGIN_PATH
106
- const pluginModules = require(pluginPath)
127
+
128
+ // Read package.json to get the proper entry point
129
+ let actualEntryPoint = pluginPath
130
+ try {
131
+ const packageJsonPath = path.join(pluginPath, 'package.json')
132
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'))
133
+
134
+ if (packageJson.main) {
135
+ actualEntryPoint = path.join(pluginPath, packageJson.main)
136
+ }
137
+ } catch (err) {
138
+ console.error('[extract-plugin-alias] Could not read package.json, using directory path')
139
+ }
140
+
141
+ let pluginModules
142
+
143
+ // Try to load as CommonJS first
144
+ try {
145
+ pluginModules = require(actualEntryPoint)
146
+ } catch (requireError) {
147
+ // If require fails, try dynamic import for ESM modules
148
+ try {
149
+ // For ESM, we need to use file:// URL on some platforms
150
+ const importPath = actualEntryPoint.startsWith('/') || actualEntryPoint.startsWith('file://')
151
+ ? actualEntryPoint
152
+ : path.resolve(actualEntryPoint)
153
+ pluginModules = await import(importPath)
154
+ } catch (importError) {
155
+ throw requireError // Throw the original error
156
+ }
157
+ }
107
158
 
108
159
  if (typeof pluginModules === 'function') {
109
160
  pluginInitializer = pluginModules
@@ -1,17 +0,0 @@
1
- import type { MatterConfig } from './matter-bridges.interfaces';
2
- import { MatterBridgesService } from './matter-bridges.service';
3
- export declare class MatterBridgesController {
4
- private matterBridgesService;
5
- constructor(matterBridgesService: MatterBridgesService);
6
- getCommissioningInfo(identifier: string, username: string): Promise<import("./matter-bridges.interfaces").MatterCommissioningInfo>;
7
- getMatterConfig(): Promise<MatterConfig | null>;
8
- updateMatterConfig(matterConfig: MatterConfig): Promise<MatterConfig>;
9
- deleteMatterConfig(): Promise<void>;
10
- getMatterBridgeIdentifiers(): Promise<{
11
- identifier: string;
12
- type: "main" | "child";
13
- name?: string;
14
- commissioned: boolean;
15
- username?: string;
16
- }[]>;
17
- }
@@ -1,104 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __param = (this && this.__param) || function (paramIndex, decorator) {
12
- return function (target, key) { decorator(target, key, paramIndex); }
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.MatterBridgesController = void 0;
16
- const common_1 = require("@nestjs/common");
17
- const passport_1 = require("@nestjs/passport");
18
- const swagger_1 = require("@nestjs/swagger");
19
- const matter_bridges_service_1 = require("./matter-bridges.service");
20
- let MatterBridgesController = class MatterBridgesController {
21
- constructor(matterBridgesService) {
22
- this.matterBridgesService = matterBridgesService;
23
- }
24
- async getCommissioningInfo(identifier, username) {
25
- const lookupKey = username || identifier;
26
- if (!lookupKey) {
27
- throw new Error('Either identifier or username parameter is required');
28
- }
29
- return await this.matterBridgesService.getCommissioningInfo(lookupKey);
30
- }
31
- async getMatterConfig() {
32
- return await this.matterBridgesService.getMatterConfig();
33
- }
34
- async updateMatterConfig(matterConfig) {
35
- return await this.matterBridgesService.updateMatterConfig(matterConfig);
36
- }
37
- async deleteMatterConfig() {
38
- return await this.matterBridgesService.deleteMatterConfig();
39
- }
40
- async getMatterBridgeIdentifiers() {
41
- return await this.matterBridgesService.getMatterBridgeIdentifiers();
42
- }
43
- };
44
- exports.MatterBridgesController = MatterBridgesController;
45
- __decorate([
46
- (0, swagger_1.ApiOperation)({
47
- summary: 'Get commissioning information for a Matter Bridge device.',
48
- description: 'Provide either identifier or username to retrieve commissioning information.',
49
- }),
50
- (0, common_1.Get)('/commissioning-info'),
51
- __param(0, (0, common_1.Query)('identifier')),
52
- __param(1, (0, common_1.Query)('username')),
53
- __metadata("design:type", Function),
54
- __metadata("design:paramtypes", [String, String]),
55
- __metadata("design:returntype", Promise)
56
- ], MatterBridgesController.prototype, "getCommissioningInfo", null);
57
- __decorate([
58
- (0, swagger_1.ApiOperation)({
59
- summary: 'Get the Matter configuration from config.bridge.matter',
60
- description: 'Returns the Matter configuration object if enabled, or null if disabled',
61
- }),
62
- (0, common_1.Get)('/config'),
63
- __metadata("design:type", Function),
64
- __metadata("design:paramtypes", []),
65
- __metadata("design:returntype", Promise)
66
- ], MatterBridgesController.prototype, "getMatterConfig", null);
67
- __decorate([
68
- (0, swagger_1.ApiOperation)({
69
- summary: 'Update the Matter configuration in config.bridge.matter',
70
- }),
71
- (0, common_1.Put)('/config'),
72
- __param(0, (0, common_1.Body)()),
73
- __metadata("design:type", Function),
74
- __metadata("design:paramtypes", [Object]),
75
- __metadata("design:returntype", Promise)
76
- ], MatterBridgesController.prototype, "updateMatterConfig", null);
77
- __decorate([
78
- (0, swagger_1.ApiOperation)({
79
- summary: 'Delete the Matter configuration from config.bridge.matter',
80
- }),
81
- (0, common_1.Delete)('/config'),
82
- (0, common_1.HttpCode)(204),
83
- __metadata("design:type", Function),
84
- __metadata("design:paramtypes", []),
85
- __metadata("design:returntype", Promise)
86
- ], MatterBridgesController.prototype, "deleteMatterConfig", null);
87
- __decorate([
88
- (0, swagger_1.ApiOperation)({
89
- summary: 'Get all Matter bridge identifiers',
90
- description: 'Returns all Matter bridges from the filesystem, even if Homebridge is not running',
91
- }),
92
- (0, common_1.Get)('/identifiers'),
93
- __metadata("design:type", Function),
94
- __metadata("design:paramtypes", []),
95
- __metadata("design:returntype", Promise)
96
- ], MatterBridgesController.prototype, "getMatterBridgeIdentifiers", null);
97
- exports.MatterBridgesController = MatterBridgesController = __decorate([
98
- (0, swagger_1.ApiTags)('Matter Bridges'),
99
- (0, swagger_1.ApiBearerAuth)(),
100
- (0, common_1.UseGuards)((0, passport_1.AuthGuard)()),
101
- (0, common_1.Controller)('matter-bridges'),
102
- __metadata("design:paramtypes", [matter_bridges_service_1.MatterBridgesService])
103
- ], MatterBridgesController);
104
- //# sourceMappingURL=matter-bridges.controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"matter-bridges.controller.js","sourceRoot":"","sources":["../../../src/modules/matter-bridges/matter-bridges.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,2CAA+F;AAC/F,+CAA4C;AAC5C,6CAAsE;AAEtE,qEAA+D;AAMxD,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAClC,YACU,oBAA0C;QAA1C,yBAAoB,GAApB,oBAAoB,CAAsB;IACjD,CAAC;IAOE,AAAN,KAAK,CAAC,oBAAoB,CAAsB,UAAkB,EAAqB,QAAgB;QACrG,MAAM,SAAS,GAAG,QAAQ,IAAI,UAAU,CAAA;QACxC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;QACxE,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;IACxE,CAAC;IAOK,AAAN,KAAK,CAAC,eAAe;QACnB,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,EAAE,CAAA;IAC1D,CAAC;IAMK,AAAN,KAAK,CAAC,kBAAkB,CAAS,YAA0B;QACzD,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAA;IACzE,CAAC;IAOK,AAAN,KAAK,CAAC,kBAAkB;QACtB,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,CAAA;IAC7D,CAAC;IAOK,AAAN,KAAK,CAAC,0BAA0B;QAC9B,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,0BAA0B,EAAE,CAAA;IACrE,CAAC;CACF,CAAA;AApDY,0DAAuB;AAU5B;IALL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,2DAA2D;QACpE,WAAW,EAAE,8EAA8E;KAC5F,CAAC;IACD,IAAA,YAAG,EAAC,qBAAqB,CAAC;IACC,WAAA,IAAA,cAAK,EAAC,YAAY,CAAC,CAAA;IAAsB,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;;;;mEAMrF;AAOK;IALL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,wDAAwD;QACjE,WAAW,EAAE,yEAAyE;KACvF,CAAC;IACD,IAAA,YAAG,EAAC,SAAS,CAAC;;;;8DAGd;AAMK;IAJL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,yDAAyD;KACnE,CAAC;IACD,IAAA,YAAG,EAAC,SAAS,CAAC;IACW,WAAA,IAAA,aAAI,GAAE,CAAA;;;;iEAE/B;AAOK;IALL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,2DAA2D;KACrE,CAAC;IACD,IAAA,eAAM,EAAC,SAAS,CAAC;IACjB,IAAA,iBAAQ,EAAC,GAAG,CAAC;;;;iEAGb;AAOK;IALL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EAAE,mFAAmF;KACjG,CAAC;IACD,IAAA,YAAG,EAAC,cAAc,CAAC;;;;yEAGnB;kCAnDU,uBAAuB;IAJnC,IAAA,iBAAO,EAAC,gBAAgB,CAAC;IACzB,IAAA,uBAAa,GAAE;IACf,IAAA,kBAAS,EAAC,IAAA,oBAAS,GAAE,CAAC;IACtB,IAAA,mBAAU,EAAC,gBAAgB,CAAC;qCAGK,6CAAoB;GAFzC,uBAAuB,CAoDnC"}
@@ -1,19 +0,0 @@
1
- import { WsException } from '@nestjs/websockets';
2
- import { MatterBridgesService } from './matter-bridges.service';
3
- export declare class MatterBridgesGateway {
4
- private matterBridgesService;
5
- constructor(matterBridgesService: MatterBridgesService);
6
- getMatterBridges(): Promise<WsException | import("./matter-bridges.interfaces").MatterBridgeMetadata[]>;
7
- watchMatterBridgeStatus(client: any): Promise<void>;
8
- restartMatterBridge(client: any, payload: any): Promise<WsException | {
9
- ok: boolean;
10
- }>;
11
- stopMatterBridge(client: any, payload: any): Promise<WsException | {
12
- ok: boolean;
13
- }>;
14
- startMatterBridge(client: any, payload: any): Promise<WsException | {
15
- ok: boolean;
16
- }>;
17
- getCommissioningInfo(client: any, payload: any): Promise<WsException | import("./matter-bridges.interfaces").MatterCommissioningInfo>;
18
- getMatterAccessories(): Promise<WsException | import("./matter-bridges.interfaces").MatterAccessoriesResponse>;
19
- }
@@ -1,128 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.MatterBridgesGateway = void 0;
13
- const common_1 = require("@nestjs/common");
14
- const websockets_1 = require("@nestjs/websockets");
15
- const ws_guard_1 = require("../../core/auth/guards/ws.guard");
16
- const matter_bridges_service_1 = require("./matter-bridges.service");
17
- let MatterBridgesGateway = class MatterBridgesGateway {
18
- constructor(matterBridgesService) {
19
- this.matterBridgesService = matterBridgesService;
20
- }
21
- async getMatterBridges() {
22
- try {
23
- return await this.matterBridgesService.getMatterBridges();
24
- }
25
- catch (e) {
26
- return new websockets_1.WsException(e.message);
27
- }
28
- }
29
- async watchMatterBridgeStatus(client) {
30
- this.matterBridgesService.watchMatterBridgeStatus(client);
31
- }
32
- async restartMatterBridge(client, payload) {
33
- try {
34
- return this.matterBridgesService.restartMatterBridge(payload);
35
- }
36
- catch (e) {
37
- return new websockets_1.WsException(e.message);
38
- }
39
- }
40
- async stopMatterBridge(client, payload) {
41
- try {
42
- return this.matterBridgesService.stopMatterBridge(payload);
43
- }
44
- catch (e) {
45
- return new websockets_1.WsException(e.message);
46
- }
47
- }
48
- async startMatterBridge(client, payload) {
49
- try {
50
- return this.matterBridgesService.startMatterBridge(payload);
51
- }
52
- catch (e) {
53
- return new websockets_1.WsException(e.message);
54
- }
55
- }
56
- async getCommissioningInfo(client, payload) {
57
- try {
58
- return await this.matterBridgesService.getCommissioningInfo(payload);
59
- }
60
- catch (e) {
61
- return new websockets_1.WsException(e.message);
62
- }
63
- }
64
- async getMatterAccessories() {
65
- try {
66
- return await this.matterBridgesService.getMatterAccessories();
67
- }
68
- catch (e) {
69
- return new websockets_1.WsException(e.message);
70
- }
71
- }
72
- };
73
- exports.MatterBridgesGateway = MatterBridgesGateway;
74
- __decorate([
75
- (0, websockets_1.SubscribeMessage)('get-matter-bridges-status'),
76
- __metadata("design:type", Function),
77
- __metadata("design:paramtypes", []),
78
- __metadata("design:returntype", Promise)
79
- ], MatterBridgesGateway.prototype, "getMatterBridges", null);
80
- __decorate([
81
- (0, websockets_1.SubscribeMessage)('monitor-matter-bridges'),
82
- __metadata("design:type", Function),
83
- __metadata("design:paramtypes", [Object]),
84
- __metadata("design:returntype", Promise)
85
- ], MatterBridgesGateway.prototype, "watchMatterBridgeStatus", null);
86
- __decorate([
87
- (0, websockets_1.SubscribeMessage)('restart-matter-bridge'),
88
- __metadata("design:type", Function),
89
- __metadata("design:paramtypes", [Object, Object]),
90
- __metadata("design:returntype", Promise)
91
- ], MatterBridgesGateway.prototype, "restartMatterBridge", null);
92
- __decorate([
93
- (0, websockets_1.SubscribeMessage)('stop-matter-bridge'),
94
- __metadata("design:type", Function),
95
- __metadata("design:paramtypes", [Object, Object]),
96
- __metadata("design:returntype", Promise)
97
- ], MatterBridgesGateway.prototype, "stopMatterBridge", null);
98
- __decorate([
99
- (0, websockets_1.SubscribeMessage)('start-matter-bridge'),
100
- __metadata("design:type", Function),
101
- __metadata("design:paramtypes", [Object, Object]),
102
- __metadata("design:returntype", Promise)
103
- ], MatterBridgesGateway.prototype, "startMatterBridge", null);
104
- __decorate([
105
- (0, websockets_1.SubscribeMessage)('get-matter-commissioning-info'),
106
- __metadata("design:type", Function),
107
- __metadata("design:paramtypes", [Object, Object]),
108
- __metadata("design:returntype", Promise)
109
- ], MatterBridgesGateway.prototype, "getCommissioningInfo", null);
110
- __decorate([
111
- (0, websockets_1.SubscribeMessage)('get-matter-accessories'),
112
- __metadata("design:type", Function),
113
- __metadata("design:paramtypes", []),
114
- __metadata("design:returntype", Promise)
115
- ], MatterBridgesGateway.prototype, "getMatterAccessories", null);
116
- exports.MatterBridgesGateway = MatterBridgesGateway = __decorate([
117
- (0, common_1.UseGuards)(ws_guard_1.WsGuard),
118
- (0, websockets_1.WebSocketGateway)({
119
- namespace: '/matter-bridges',
120
- allowEIO3: true,
121
- cors: {
122
- origin: ['http://localhost:8080', 'http://localhost:4200'],
123
- credentials: true,
124
- },
125
- }),
126
- __metadata("design:paramtypes", [matter_bridges_service_1.MatterBridgesService])
127
- ], MatterBridgesGateway);
128
- //# sourceMappingURL=matter-bridges.gateway.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"matter-bridges.gateway.js","sourceRoot":"","sources":["../../../src/modules/matter-bridges/matter-bridges.gateway.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- export interface MatterBridgeMetadata {
2
- type: 'matter';
3
- status: 'pending' | 'ok' | 'down';
4
- port?: number;
5
- qrCode?: string;
6
- manualPairingCode?: string;
7
- serialNumber?: string;
8
- passcode?: number;
9
- discriminator?: number;
10
- name: string;
11
- plugin: string;
12
- identifier: string;
13
- deviceCount: number;
14
- commissioned: boolean;
15
- }
16
- export interface MatterCommissioningInfo {
17
- pin?: string;
18
- setupUri?: string;
19
- serialNumber?: string;
20
- commissioned: boolean;
21
- matterEnabled?: boolean;
22
- }
23
- export interface MatterAccessoryInfo {
24
- uuid: string;
25
- displayName: string;
26
- deviceType?: string;
27
- bridge: string;
28
- }
29
- export interface MatterAccessoriesResponse {
30
- main?: MatterAccessoryInfo[];
31
- children: {
32
- [bridgeId: string]: MatterAccessoryInfo[];
33
- };
34
- }
35
- export interface MatterConfig {
36
- port?: number;
37
- name?: string;
38
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"matter-bridges.interfaces.js","sourceRoot":"","sources":["../../../src/modules/matter-bridges/matter-bridges.interfaces.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export declare class MatterBridgesModule {
2
- }
@@ -1,43 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.MatterBridgesModule = void 0;
10
- const common_1 = require("@nestjs/common");
11
- const passport_1 = require("@nestjs/passport");
12
- const config_module_1 = require("../../core/config/config.module");
13
- const homebridge_ipc_module_1 = require("../../core/homebridge-ipc/homebridge-ipc.module");
14
- const logger_module_1 = require("../../core/logger/logger.module");
15
- const config_editor_module_1 = require("../config-editor/config-editor.module");
16
- const matter_bridges_controller_1 = require("./matter-bridges.controller");
17
- const matter_bridges_gateway_1 = require("./matter-bridges.gateway");
18
- const matter_bridges_service_1 = require("./matter-bridges.service");
19
- let MatterBridgesModule = class MatterBridgesModule {
20
- };
21
- exports.MatterBridgesModule = MatterBridgesModule;
22
- exports.MatterBridgesModule = MatterBridgesModule = __decorate([
23
- (0, common_1.Module)({
24
- imports: [
25
- passport_1.PassportModule.register({ defaultStrategy: 'jwt' }),
26
- logger_module_1.LoggerModule,
27
- config_module_1.ConfigModule,
28
- homebridge_ipc_module_1.HomebridgeIpcModule,
29
- config_editor_module_1.ConfigEditorModule,
30
- ],
31
- controllers: [
32
- matter_bridges_controller_1.MatterBridgesController,
33
- ],
34
- providers: [
35
- matter_bridges_service_1.MatterBridgesService,
36
- matter_bridges_gateway_1.MatterBridgesGateway,
37
- ],
38
- exports: [
39
- matter_bridges_service_1.MatterBridgesService,
40
- ],
41
- })
42
- ], MatterBridgesModule);
43
- //# sourceMappingURL=matter-bridges.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"matter-bridges.module.js","sourceRoot":"","sources":["../../../src/modules/matter-bridges/matter-bridges.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAuC;AACvC,+CAAiD;AAEjD,mEAA8D;AAC9D,2FAAqF;AACrF,mEAA8D;AAC9D,gFAA0E;AAC1E,2EAAqE;AACrE,qEAA+D;AAC/D,qEAA+D;AAqBxD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAAG,CAAA;AAAtB,kDAAmB;8BAAnB,mBAAmB;IAnB/B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,yBAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;YACnD,4BAAY;YACZ,4BAAY;YACZ,2CAAmB;YACnB,yCAAkB;SACnB;QACD,WAAW,EAAE;YACX,mDAAuB;SACxB;QACD,SAAS,EAAE;YACT,6CAAoB;YACpB,6CAAoB;SACrB;QACD,OAAO,EAAE;YACP,6CAAoB;SACrB;KACF,CAAC;GACW,mBAAmB,CAAG"}
@@ -1,39 +0,0 @@
1
- import type { MatterAccessoriesResponse, MatterBridgeMetadata, MatterCommissioningInfo, MatterConfig } from './matter-bridges.interfaces';
2
- import { HomebridgeIpcService } from '../../core/homebridge-ipc/homebridge-ipc.service';
3
- import { ConfigEditorService } from '../config-editor/config-editor.service';
4
- export declare class MatterBridgesService {
5
- private readonly homebridgeIpcService;
6
- private readonly configEditorService;
7
- private readonly logger;
8
- constructor(homebridgeIpcService: HomebridgeIpcService, configEditorService: ConfigEditorService);
9
- getMatterBridges(): Promise<MatterBridgeMetadata[]>;
10
- watchMatterBridgeStatus(client: any): Promise<void>;
11
- stopStartRestartMatterBridge(event: 'startMatterBridge' | 'stopMatterBridge' | 'restartMatterBridge', bridgeId: string): {
12
- ok: boolean;
13
- };
14
- restartMatterBridge(bridgeId: string): Promise<{
15
- ok: boolean;
16
- }>;
17
- stopMatterBridge(bridgeId: string): Promise<{
18
- ok: boolean;
19
- }>;
20
- startMatterBridge(bridgeId: string): Promise<{
21
- ok: boolean;
22
- }>;
23
- getCommissioningInfo(lookupKey: string): Promise<MatterCommissioningInfo>;
24
- getMatterAccessories(): Promise<MatterAccessoriesResponse>;
25
- getMatterBridge(identifier: string): Promise<MatterBridgeMetadata | undefined>;
26
- getMatterBridgesForPlugin(pluginName: string): Promise<MatterBridgeMetadata[]>;
27
- getMatterBridgeIdentifiers(): Promise<Array<{
28
- identifier: string;
29
- type: 'main' | 'child';
30
- name?: string;
31
- commissioned: boolean;
32
- username?: string;
33
- }>>;
34
- getMatterConfig(): Promise<MatterConfig | null>;
35
- updateMatterConfig(matterConfig: MatterConfig): Promise<MatterConfig>;
36
- deleteMatterConfig(): Promise<void>;
37
- deleteMatterBridge(identifier: string): Promise<void>;
38
- private validateMatterConfig;
39
- }