homebridge-config-ui-x 5.8.1-alpha.1 → 5.8.1-alpha.2

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 (111) hide show
  1. package/dist/app.module.js +2 -0
  2. package/dist/app.module.js.map +1 -1
  3. package/dist/modules/bridges/bridge-identifier.util.d.ts +9 -0
  4. package/dist/modules/bridges/bridge-identifier.util.js +30 -0
  5. package/dist/modules/bridges/bridge-identifier.util.js.map +1 -0
  6. package/dist/modules/bridges/bridges.controller.d.ts +11 -0
  7. package/dist/modules/bridges/bridges.controller.js +156 -0
  8. package/dist/modules/bridges/bridges.controller.js.map +1 -0
  9. package/dist/modules/bridges/bridges.interfaces.d.ts +72 -0
  10. package/dist/modules/bridges/bridges.interfaces.js +3 -0
  11. package/dist/modules/bridges/bridges.interfaces.js.map +1 -0
  12. package/dist/modules/bridges/bridges.module.d.ts +2 -0
  13. package/dist/modules/bridges/bridges.module.js +39 -0
  14. package/dist/modules/bridges/bridges.module.js.map +1 -0
  15. package/dist/modules/bridges/bridges.service.d.ts +16 -0
  16. package/dist/modules/bridges/bridges.service.js +168 -0
  17. package/dist/modules/bridges/bridges.service.js.map +1 -0
  18. package/dist/modules/child-bridges/child-bridges.gateway.d.ts +1 -1
  19. package/dist/modules/child-bridges/child-bridges.interfaces.d.ts +7 -0
  20. package/dist/modules/child-bridges/child-bridges.interfaces.js +3 -0
  21. package/dist/modules/child-bridges/child-bridges.interfaces.js.map +1 -0
  22. package/dist/modules/child-bridges/child-bridges.service.d.ts +2 -1
  23. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
  24. package/dist/modules/matter-bridges/matter-bridges.controller.d.ts +1 -0
  25. package/dist/modules/matter-bridges/matter-bridges.interfaces.d.ts +4 -18
  26. package/dist/modules/matter-bridges/matter-bridges.service.d.ts +2 -0
  27. package/dist/modules/matter-bridges/matter-bridges.service.js +72 -36
  28. package/dist/modules/matter-bridges/matter-bridges.service.js.map +1 -1
  29. package/dist/modules/plugins/plugins.service.js +2 -2
  30. package/dist/modules/server/server.service.js +0 -1
  31. package/dist/modules/server/server.service.js.map +1 -1
  32. package/dist/modules/status/status.controller.d.ts +1 -1
  33. package/package.json +4 -4
  34. package/public/{chunk-2VTPTBWC.js → chunk-2EKZK7NX.js} +1 -1
  35. package/public/{chunk-CVDVGPUL.js → chunk-33PMRDBB.js} +1 -1
  36. package/public/{chunk-WIQRKTJE.js → chunk-3EACECYJ.js} +2 -2
  37. package/public/{chunk-WOLG5CZA.js → chunk-3XNA4EQU.js} +1 -1
  38. package/public/{chunk-6JS4ZQWX.js → chunk-4Y2KPCHA.js} +1 -1
  39. package/public/chunk-5BCOF7IG.js +49 -0
  40. package/public/{chunk-BTLT5RJH.js → chunk-5EZCX7HV.js} +1 -1
  41. package/public/{chunk-ZFXCZXMZ.js → chunk-5KMVHZV7.js} +1 -1
  42. package/public/{chunk-6E5BARSR.js → chunk-6VILNURQ.js} +1 -1
  43. package/public/{chunk-2I4ETLZH.js → chunk-A5EKMCXX.js} +1 -1
  44. package/public/{chunk-XTFZVALQ.js → chunk-AR55D6KT.js} +1 -1
  45. package/public/{chunk-SDI5HSBM.js → chunk-AW6ZPEG3.js} +1 -1
  46. package/public/{chunk-7DSW3N54.js → chunk-AWJONODF.js} +1 -1
  47. package/public/{chunk-VHWW22XF.js → chunk-BD2WNMUL.js} +1 -1
  48. package/public/{chunk-UTXD6T57.js → chunk-BJULQD6Z.js} +1 -1
  49. package/public/{chunk-PVTUDHUR.js → chunk-BKJWDEC4.js} +1 -1
  50. package/public/{chunk-ZEPBMBZP.js → chunk-BQTCHQHZ.js} +1 -1
  51. package/public/{chunk-HJP3PUHH.js → chunk-BXTJNIAF.js} +1 -1
  52. package/public/{chunk-MWP3WV26.js → chunk-COBEXT75.js} +1 -1
  53. package/public/{chunk-37PL2Q23.js → chunk-D4FV2NR6.js} +1 -1
  54. package/public/{chunk-A6Q642ZL.js → chunk-ELWCTORK.js} +1 -1
  55. package/public/{chunk-D3DDU6SK.js → chunk-EYNZEIGI.js} +1 -1
  56. package/public/{chunk-UUM6VYTY.js → chunk-FBEAGLXX.js} +1 -1
  57. package/public/{chunk-KDVFF7AY.js → chunk-FKNFGRMF.js} +1 -1
  58. package/public/{chunk-6AMBOE4Y.js → chunk-GOK2QVWT.js} +1 -1
  59. package/public/{chunk-HUH4CVWW.js → chunk-GXMQ3BRX.js} +1 -1
  60. package/public/{chunk-MOC27Z2W.js → chunk-HNA35CNP.js} +1 -1
  61. package/public/{chunk-B6JXLW44.js → chunk-JA7WBGLB.js} +1 -1
  62. package/public/{chunk-MTATY52X.js → chunk-JAPQGXHI.js} +1 -1
  63. package/public/chunk-JIUPKHC6.js +5 -0
  64. package/public/{chunk-MLNUGBKB.js → chunk-K3HCHWTM.js} +1 -1
  65. package/public/{chunk-Q3MWAS4P.js → chunk-K4H6PB2J.js} +1 -1
  66. package/public/{chunk-6LFL4MDA.js → chunk-KAFW5DRA.js} +1 -1
  67. package/public/{chunk-GUAWWDOS.js → chunk-KZ6XXGP4.js} +1 -1
  68. package/public/{chunk-NVWZQWEN.js → chunk-LGGTBRNV.js} +1 -1
  69. package/public/{chunk-R5XUDO3O.js → chunk-LXFAOFAX.js} +1 -1
  70. package/public/{chunk-35UZ7VZX.js → chunk-M3FIN2AA.js} +1 -1
  71. package/public/{chunk-FKWZUPGA.js → chunk-M7GSB47P.js} +1 -1
  72. package/public/{chunk-MPEXWCHQ.js → chunk-MBD42QUN.js} +1 -1
  73. package/public/chunk-MJBWBNSG.js +1 -0
  74. package/public/{chunk-APSJUK45.js → chunk-NWKHE4QY.js} +1 -1
  75. package/public/{chunk-2H6M4LVM.js → chunk-OI6KCFXH.js} +1 -1
  76. package/public/{chunk-BPRJFSMN.js → chunk-P3A7PEYC.js} +9 -8
  77. package/public/{chunk-3PLIJBTE.js → chunk-PC74JU2B.js} +1 -1
  78. package/public/{chunk-PN4G3SRW.js → chunk-Q3A53XG6.js} +1 -1
  79. package/public/{chunk-UANJM6RI.js → chunk-R6PJW4VJ.js} +1 -1
  80. package/public/{chunk-C24ICGN6.js → chunk-ROHOV4PQ.js} +1 -1
  81. package/public/{chunk-PKBYFZL6.js → chunk-SFXLRTS5.js} +1 -1
  82. package/public/chunk-SHCD57ND.js +1 -0
  83. package/public/chunk-SXARTKV3.js +1 -0
  84. package/public/{chunk-H6CTSSL5.js → chunk-TKL5NWVB.js} +1 -1
  85. package/public/{chunk-DM4UKQJR.js → chunk-TUI3ZP5I.js} +1 -1
  86. package/public/{chunk-3SAD2VNO.js → chunk-U4SKVUE5.js} +1 -1
  87. package/public/{chunk-P5G7H6Z3.js → chunk-UHSROVQY.js} +1 -1
  88. package/public/{chunk-ZVVFXECV.js → chunk-ULZPLNSU.js} +1 -1
  89. package/public/{chunk-SAOAUW4Q.js → chunk-V7NTVYMU.js} +1 -1
  90. package/public/{chunk-VKEEEO4W.js → chunk-VI7CE3DV.js} +1 -1
  91. package/public/chunk-VUV53WFF.js +1 -0
  92. package/public/{chunk-I6E7YQPI.js → chunk-WYZEY4PO.js} +1 -1
  93. package/public/{chunk-2GXYRKHH.js → chunk-XID2DQIK.js} +1 -1
  94. package/public/{chunk-J5CM7V6S.js → chunk-XRLPCXVY.js} +1 -1
  95. package/public/{chunk-OSMYI4FR.js → chunk-Y3W3WZ42.js} +1 -1
  96. package/public/{chunk-LV4KCGZA.js → chunk-YKU27KZX.js} +1 -1
  97. package/public/{chunk-N25MZZTN.js → chunk-YPUYAJME.js} +1 -1
  98. package/public/{chunk-SZMSL4WR.js → chunk-YULDG6HZ.js} +1 -1
  99. package/public/{chunk-WNSKIS6I.js → chunk-Z37KQHXT.js} +1 -1
  100. package/public/{chunk-RH72P3KQ.js → chunk-ZINKZV7F.js} +1 -1
  101. package/public/{chunk-PAYR4BP6.js → chunk-ZNLFE6SA.js} +1 -1
  102. package/public/index.html +2 -2
  103. package/public/{main-SHUTEFR3.js → main-NHC6QBFW.js} +1 -1
  104. package/public/{styles-XX2FIUST.css → styles-4Y3CNLUV.css} +1 -1
  105. package/scripts/extract-plugin-alias.js +87 -3
  106. package/public/chunk-26OWANUT.js +0 -49
  107. package/public/chunk-AV4TLMKI.js +0 -5
  108. package/public/chunk-BTUMLRBK.js +0 -1
  109. package/public/chunk-L3NSG4YB.js +0 -1
  110. package/public/chunk-U7PKXES7.js +0 -1
  111. package/public/chunk-XPPYXYIG.js +0 -1
@@ -36,6 +36,26 @@ const HomebridgeApiMock = {
36
36
  serverVersion: '1.2.3',
37
37
  on: () => { /** mock */ },
38
38
  emit: () => { /** mock */ },
39
+ // Mock Matter API
40
+ isMatterAvailable() {
41
+ return true
42
+ },
43
+ isMatterEnabled() {
44
+ return true
45
+ },
46
+ matterDeviceTypes: new Proxy({}, {
47
+ get() {
48
+ return {} // Return empty object for any device type
49
+ },
50
+ }),
51
+ matterClusters: new Proxy({}, {
52
+ get() {
53
+ return {} // Return empty object for any cluster
54
+ },
55
+ }),
56
+ registerMatterAccessory: () => { /** mock */ },
57
+ unregisterMatterAccessory: () => { /** mock */ },
58
+ updateMatterAccessoryState: () => { /** mock */ },
39
59
  hap: {
40
60
  Characteristic: new class Characteristic extends EventEmitter {
41
61
  constructor() {
@@ -99,21 +119,79 @@ const HomebridgeApiMock = {
99
119
  },
100
120
  }
101
121
 
102
- function main() {
122
+ async function main() {
103
123
  try {
124
+ console.error('[extract-plugin-alias] Starting extraction...')
104
125
  let pluginInitializer
105
126
  const pluginPath = process.env.UIX_EXTRACT_PLUGIN_PATH
106
- const pluginModules = require(pluginPath)
127
+ console.error('[extract-plugin-alias] Plugin path:', pluginPath)
128
+
129
+ // Read package.json to get the proper entry point
130
+ let actualEntryPoint = pluginPath
131
+ try {
132
+ const fs = require('node:fs')
133
+ const packageJsonPath = path.join(pluginPath, 'package.json')
134
+ console.error('[extract-plugin-alias] Reading package.json from:', packageJsonPath)
135
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'))
136
+
137
+ if (packageJson.main) {
138
+ actualEntryPoint = path.join(pluginPath, packageJson.main)
139
+ console.error('[extract-plugin-alias] Using main entry point:', actualEntryPoint)
140
+ }
141
+
142
+ // Check if it's an ESM module
143
+ if (packageJson.type === 'module') {
144
+ console.error('[extract-plugin-alias] Package is ESM module')
145
+ }
146
+ } catch (err) {
147
+ console.error('[extract-plugin-alias] Could not read package.json, using directory path')
148
+ }
149
+
150
+ let pluginModules
151
+
152
+ // Try to load as CommonJS first
153
+ try {
154
+ console.error('[extract-plugin-alias] Attempting CommonJS require...')
155
+ pluginModules = require(actualEntryPoint)
156
+ console.error('[extract-plugin-alias] Plugin loaded via CommonJS')
157
+ } catch (requireError) {
158
+ // If require fails, try dynamic import for ESM modules
159
+ console.error('[extract-plugin-alias] CommonJS require failed, trying ESM import...')
160
+ console.error('[extract-plugin-alias] Error was:', requireError.message)
161
+ try {
162
+ // For ESM, we need to use file:// URL on some platforms
163
+ const importPath = actualEntryPoint.startsWith('/') || actualEntryPoint.startsWith('file://')
164
+ ? actualEntryPoint
165
+ : path.resolve(actualEntryPoint)
166
+ console.error('[extract-plugin-alias] Import path:', importPath)
167
+ pluginModules = await import(importPath)
168
+ console.error('[extract-plugin-alias] Plugin loaded via ESM import')
169
+ } catch (importError) {
170
+ console.error('[extract-plugin-alias] ESM import also failed:', importError.message)
171
+ throw requireError // Throw the original error
172
+ }
173
+ }
174
+
175
+ console.error('[extract-plugin-alias] Plugin loaded, checking for initializer...')
107
176
 
108
177
  if (typeof pluginModules === 'function') {
178
+ console.error('[extract-plugin-alias] Found function export')
109
179
  pluginInitializer = pluginModules
110
180
  } else if (pluginModules && typeof pluginModules.default === 'function') {
181
+ console.error('[extract-plugin-alias] Found default function export')
111
182
  pluginInitializer = pluginModules.default
112
183
  } else {
184
+ console.error('[extract-plugin-alias] No valid initializer found')
185
+ console.error('[extract-plugin-alias] pluginModules type:', typeof pluginModules)
186
+ console.error('[extract-plugin-alias] pluginModules.default type:', typeof pluginModules?.default)
187
+ console.error('[extract-plugin-alias] pluginModules keys:', Object.keys(pluginModules || {}))
113
188
  throw new Error(`Plugin ${pluginPath} does not export a initializer function from main.`)
114
189
  }
115
190
 
191
+ console.error('[extract-plugin-alias] Calling plugin initializer...')
116
192
  pluginInitializer(HomebridgeApiMock)
193
+ console.error('[extract-plugin-alias] Plugin initialized')
194
+ console.error('[extract-plugin-alias] Extracted alias:', pluginAlias, 'type:', pluginType)
117
195
 
118
196
  process.send({
119
197
  pluginAlias,
@@ -121,12 +199,18 @@ function main() {
121
199
  })
122
200
  process.exit()
123
201
  } catch (e) {
202
+ console.error('[extract-plugin-alias] Error during extraction:', e.message)
203
+ console.error('[extract-plugin-alias] Stack:', e.stack)
124
204
  process.exit(1)
125
205
  }
126
206
  }
127
207
 
128
- main()
208
+ main().catch((err) => {
209
+ console.error('[extract-plugin-alias] Unhandled error:', err)
210
+ process.exit(1)
211
+ })
129
212
 
130
213
  setTimeout(() => {
214
+ console.error('[extract-plugin-alias] Timeout - extraction took too long')
131
215
  process.exit(1)
132
216
  }, 2500)