matterbridge 3.3.5 → 3.3.7-dev-20251102-c85d574

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 (309) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/broadcastServer.js +1 -92
  3. package/dist/broadcastServerTypes.js +0 -24
  4. package/dist/cli.js +1 -97
  5. package/dist/cliEmitter.js +0 -37
  6. package/dist/cliHistory.js +0 -38
  7. package/dist/clusters/export.js +0 -2
  8. package/dist/defaultConfigSchema.js +0 -24
  9. package/dist/deviceManager.js +1 -124
  10. package/dist/devices/airConditioner.js +0 -57
  11. package/dist/devices/batteryStorage.js +1 -48
  12. package/dist/devices/cooktop.js +0 -55
  13. package/dist/devices/dishwasher.js +0 -57
  14. package/dist/devices/evse.js +10 -74
  15. package/dist/devices/export.js +0 -5
  16. package/dist/devices/extractorHood.js +0 -42
  17. package/dist/devices/heatPump.js +2 -50
  18. package/dist/devices/laundryDryer.js +3 -62
  19. package/dist/devices/laundryWasher.js +4 -70
  20. package/dist/devices/microwaveOven.js +5 -88
  21. package/dist/devices/oven.js +0 -85
  22. package/dist/devices/refrigerator.js +0 -102
  23. package/dist/devices/roboticVacuumCleaner.js +9 -100
  24. package/dist/devices/solarPower.js +0 -38
  25. package/dist/devices/speaker.js +0 -84
  26. package/dist/devices/temperatureControl.js +3 -24
  27. package/dist/devices/waterHeater.js +2 -82
  28. package/dist/dgram/coap.js +13 -126
  29. package/dist/dgram/dgram.js +2 -114
  30. package/dist/dgram/mb_coap.js +3 -41
  31. package/dist/dgram/mb_mdns.js +15 -80
  32. package/dist/dgram/mdns.js +137 -299
  33. package/dist/dgram/multicast.js +1 -62
  34. package/dist/dgram/unicast.js +0 -54
  35. package/dist/frontend.js +34 -431
  36. package/dist/frontendTypes.js +0 -45
  37. package/dist/helpers.js +0 -53
  38. package/dist/index.js +0 -25
  39. package/dist/logger/export.js +0 -1
  40. package/dist/matter/behaviors.js +0 -2
  41. package/dist/matter/clusters.js +0 -2
  42. package/dist/matter/devices.js +0 -2
  43. package/dist/matter/endpoints.js +0 -2
  44. package/dist/matter/export.js +0 -3
  45. package/dist/matter/types.js +0 -3
  46. package/dist/matterbridge.js +46 -828
  47. package/dist/matterbridgeAccessoryPlatform.js +0 -37
  48. package/dist/matterbridgeBehaviors.js +5 -68
  49. package/dist/matterbridgeDeviceTypes.js +17 -638
  50. package/dist/matterbridgeDynamicPlatform.js +0 -37
  51. package/dist/matterbridgeEndpoint.js +52 -1408
  52. package/dist/matterbridgeEndpointHelpers.js +19 -464
  53. package/dist/matterbridgePlatform.js +1 -341
  54. package/dist/matterbridgeTypes.js +0 -26
  55. package/dist/pluginManager.js +3 -319
  56. package/dist/shelly.js +7 -168
  57. package/dist/storage/export.js +0 -1
  58. package/dist/update.js +0 -69
  59. package/dist/utils/colorUtils.js +2 -97
  60. package/dist/utils/commandLine.js +0 -60
  61. package/dist/utils/copyDirectory.js +1 -38
  62. package/dist/utils/createDirectory.js +0 -33
  63. package/dist/utils/createZip.js +2 -47
  64. package/dist/utils/deepCopy.js +0 -39
  65. package/dist/utils/deepEqual.js +1 -72
  66. package/dist/utils/error.js +0 -41
  67. package/dist/utils/export.js +0 -1
  68. package/dist/utils/format.js +0 -49
  69. package/dist/utils/hex.js +0 -124
  70. package/dist/utils/inspector.js +1 -69
  71. package/dist/utils/isvalid.js +0 -101
  72. package/dist/utils/jestHelpers.js +3 -153
  73. package/dist/utils/network.js +5 -96
  74. package/dist/utils/spawn.js +0 -71
  75. package/dist/utils/tracker.js +1 -64
  76. package/dist/utils/wait.js +8 -60
  77. package/frontend/build/assets/index.css +1 -1
  78. package/frontend/build/assets/index.js +4 -4
  79. package/frontend/build/assets/vendor_mui.js +10 -10
  80. package/frontend/build/assets/vendor_node_modules.js +30 -29
  81. package/frontend/package-lock.json +727 -732
  82. package/frontend/package.json +22 -22
  83. package/npm-shrinkwrap.json +2 -2
  84. package/package.json +1 -2
  85. package/dist/broadcastServer.d.ts +0 -112
  86. package/dist/broadcastServer.d.ts.map +0 -1
  87. package/dist/broadcastServer.js.map +0 -1
  88. package/dist/broadcastServerTypes.d.ts +0 -803
  89. package/dist/broadcastServerTypes.d.ts.map +0 -1
  90. package/dist/broadcastServerTypes.js.map +0 -1
  91. package/dist/cli.d.ts +0 -30
  92. package/dist/cli.d.ts.map +0 -1
  93. package/dist/cli.js.map +0 -1
  94. package/dist/cliEmitter.d.ts +0 -50
  95. package/dist/cliEmitter.d.ts.map +0 -1
  96. package/dist/cliEmitter.js.map +0 -1
  97. package/dist/cliHistory.d.ts +0 -48
  98. package/dist/cliHistory.d.ts.map +0 -1
  99. package/dist/cliHistory.js.map +0 -1
  100. package/dist/clusters/export.d.ts +0 -2
  101. package/dist/clusters/export.d.ts.map +0 -1
  102. package/dist/clusters/export.js.map +0 -1
  103. package/dist/defaultConfigSchema.d.ts +0 -28
  104. package/dist/defaultConfigSchema.d.ts.map +0 -1
  105. package/dist/defaultConfigSchema.js.map +0 -1
  106. package/dist/deviceManager.d.ts +0 -117
  107. package/dist/deviceManager.d.ts.map +0 -1
  108. package/dist/deviceManager.js.map +0 -1
  109. package/dist/devices/airConditioner.d.ts +0 -98
  110. package/dist/devices/airConditioner.d.ts.map +0 -1
  111. package/dist/devices/airConditioner.js.map +0 -1
  112. package/dist/devices/batteryStorage.d.ts +0 -48
  113. package/dist/devices/batteryStorage.d.ts.map +0 -1
  114. package/dist/devices/batteryStorage.js.map +0 -1
  115. package/dist/devices/cooktop.d.ts +0 -60
  116. package/dist/devices/cooktop.d.ts.map +0 -1
  117. package/dist/devices/cooktop.js.map +0 -1
  118. package/dist/devices/dishwasher.d.ts +0 -71
  119. package/dist/devices/dishwasher.d.ts.map +0 -1
  120. package/dist/devices/dishwasher.js.map +0 -1
  121. package/dist/devices/evse.d.ts +0 -76
  122. package/dist/devices/evse.d.ts.map +0 -1
  123. package/dist/devices/evse.js.map +0 -1
  124. package/dist/devices/export.d.ts +0 -17
  125. package/dist/devices/export.d.ts.map +0 -1
  126. package/dist/devices/export.js.map +0 -1
  127. package/dist/devices/extractorHood.d.ts +0 -46
  128. package/dist/devices/extractorHood.d.ts.map +0 -1
  129. package/dist/devices/extractorHood.js.map +0 -1
  130. package/dist/devices/heatPump.d.ts +0 -47
  131. package/dist/devices/heatPump.d.ts.map +0 -1
  132. package/dist/devices/heatPump.js.map +0 -1
  133. package/dist/devices/laundryDryer.d.ts +0 -67
  134. package/dist/devices/laundryDryer.d.ts.map +0 -1
  135. package/dist/devices/laundryDryer.js.map +0 -1
  136. package/dist/devices/laundryWasher.d.ts +0 -81
  137. package/dist/devices/laundryWasher.d.ts.map +0 -1
  138. package/dist/devices/laundryWasher.js.map +0 -1
  139. package/dist/devices/microwaveOven.d.ts +0 -168
  140. package/dist/devices/microwaveOven.d.ts.map +0 -1
  141. package/dist/devices/microwaveOven.js.map +0 -1
  142. package/dist/devices/oven.d.ts +0 -105
  143. package/dist/devices/oven.d.ts.map +0 -1
  144. package/dist/devices/oven.js.map +0 -1
  145. package/dist/devices/refrigerator.d.ts +0 -118
  146. package/dist/devices/refrigerator.d.ts.map +0 -1
  147. package/dist/devices/refrigerator.js.map +0 -1
  148. package/dist/devices/roboticVacuumCleaner.d.ts +0 -112
  149. package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
  150. package/dist/devices/roboticVacuumCleaner.js.map +0 -1
  151. package/dist/devices/solarPower.d.ts +0 -40
  152. package/dist/devices/solarPower.d.ts.map +0 -1
  153. package/dist/devices/solarPower.js.map +0 -1
  154. package/dist/devices/speaker.d.ts +0 -87
  155. package/dist/devices/speaker.d.ts.map +0 -1
  156. package/dist/devices/speaker.js.map +0 -1
  157. package/dist/devices/temperatureControl.d.ts +0 -166
  158. package/dist/devices/temperatureControl.d.ts.map +0 -1
  159. package/dist/devices/temperatureControl.js.map +0 -1
  160. package/dist/devices/waterHeater.d.ts +0 -111
  161. package/dist/devices/waterHeater.d.ts.map +0 -1
  162. package/dist/devices/waterHeater.js.map +0 -1
  163. package/dist/dgram/coap.d.ts +0 -205
  164. package/dist/dgram/coap.d.ts.map +0 -1
  165. package/dist/dgram/coap.js.map +0 -1
  166. package/dist/dgram/dgram.d.ts +0 -141
  167. package/dist/dgram/dgram.d.ts.map +0 -1
  168. package/dist/dgram/dgram.js.map +0 -1
  169. package/dist/dgram/mb_coap.d.ts +0 -24
  170. package/dist/dgram/mb_coap.d.ts.map +0 -1
  171. package/dist/dgram/mb_coap.js.map +0 -1
  172. package/dist/dgram/mb_mdns.d.ts +0 -24
  173. package/dist/dgram/mb_mdns.d.ts.map +0 -1
  174. package/dist/dgram/mb_mdns.js.map +0 -1
  175. package/dist/dgram/mdns.d.ts +0 -290
  176. package/dist/dgram/mdns.d.ts.map +0 -1
  177. package/dist/dgram/mdns.js.map +0 -1
  178. package/dist/dgram/multicast.d.ts +0 -67
  179. package/dist/dgram/multicast.d.ts.map +0 -1
  180. package/dist/dgram/multicast.js.map +0 -1
  181. package/dist/dgram/unicast.d.ts +0 -56
  182. package/dist/dgram/unicast.d.ts.map +0 -1
  183. package/dist/dgram/unicast.js.map +0 -1
  184. package/dist/frontend.d.ts +0 -236
  185. package/dist/frontend.d.ts.map +0 -1
  186. package/dist/frontend.js.map +0 -1
  187. package/dist/frontendTypes.d.ts +0 -529
  188. package/dist/frontendTypes.d.ts.map +0 -1
  189. package/dist/frontendTypes.js.map +0 -1
  190. package/dist/helpers.d.ts +0 -48
  191. package/dist/helpers.d.ts.map +0 -1
  192. package/dist/helpers.js.map +0 -1
  193. package/dist/index.d.ts +0 -33
  194. package/dist/index.d.ts.map +0 -1
  195. package/dist/index.js.map +0 -1
  196. package/dist/logger/export.d.ts +0 -2
  197. package/dist/logger/export.d.ts.map +0 -1
  198. package/dist/logger/export.js.map +0 -1
  199. package/dist/matter/behaviors.d.ts +0 -2
  200. package/dist/matter/behaviors.d.ts.map +0 -1
  201. package/dist/matter/behaviors.js.map +0 -1
  202. package/dist/matter/clusters.d.ts +0 -2
  203. package/dist/matter/clusters.d.ts.map +0 -1
  204. package/dist/matter/clusters.js.map +0 -1
  205. package/dist/matter/devices.d.ts +0 -2
  206. package/dist/matter/devices.d.ts.map +0 -1
  207. package/dist/matter/devices.js.map +0 -1
  208. package/dist/matter/endpoints.d.ts +0 -2
  209. package/dist/matter/endpoints.d.ts.map +0 -1
  210. package/dist/matter/endpoints.js.map +0 -1
  211. package/dist/matter/export.d.ts +0 -5
  212. package/dist/matter/export.d.ts.map +0 -1
  213. package/dist/matter/export.js.map +0 -1
  214. package/dist/matter/types.d.ts +0 -3
  215. package/dist/matter/types.d.ts.map +0 -1
  216. package/dist/matter/types.js.map +0 -1
  217. package/dist/matterbridge.d.ts +0 -476
  218. package/dist/matterbridge.d.ts.map +0 -1
  219. package/dist/matterbridge.js.map +0 -1
  220. package/dist/matterbridgeAccessoryPlatform.d.ts +0 -42
  221. package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
  222. package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
  223. package/dist/matterbridgeBehaviors.d.ts +0 -2404
  224. package/dist/matterbridgeBehaviors.d.ts.map +0 -1
  225. package/dist/matterbridgeBehaviors.js.map +0 -1
  226. package/dist/matterbridgeDeviceTypes.d.ts +0 -770
  227. package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
  228. package/dist/matterbridgeDeviceTypes.js.map +0 -1
  229. package/dist/matterbridgeDynamicPlatform.d.ts +0 -42
  230. package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
  231. package/dist/matterbridgeDynamicPlatform.js.map +0 -1
  232. package/dist/matterbridgeEndpoint.d.ts +0 -1556
  233. package/dist/matterbridgeEndpoint.d.ts.map +0 -1
  234. package/dist/matterbridgeEndpoint.js.map +0 -1
  235. package/dist/matterbridgeEndpointHelpers.d.ts +0 -758
  236. package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
  237. package/dist/matterbridgeEndpointHelpers.js.map +0 -1
  238. package/dist/matterbridgePlatform.d.ts +0 -402
  239. package/dist/matterbridgePlatform.d.ts.map +0 -1
  240. package/dist/matterbridgePlatform.js.map +0 -1
  241. package/dist/matterbridgeTypes.d.ts +0 -226
  242. package/dist/matterbridgeTypes.d.ts.map +0 -1
  243. package/dist/matterbridgeTypes.js.map +0 -1
  244. package/dist/pluginManager.d.ts +0 -347
  245. package/dist/pluginManager.d.ts.map +0 -1
  246. package/dist/pluginManager.js.map +0 -1
  247. package/dist/shelly.d.ts +0 -174
  248. package/dist/shelly.d.ts.map +0 -1
  249. package/dist/shelly.js.map +0 -1
  250. package/dist/storage/export.d.ts +0 -2
  251. package/dist/storage/export.d.ts.map +0 -1
  252. package/dist/storage/export.js.map +0 -1
  253. package/dist/update.d.ts +0 -75
  254. package/dist/update.d.ts.map +0 -1
  255. package/dist/update.js.map +0 -1
  256. package/dist/utils/colorUtils.d.ts +0 -101
  257. package/dist/utils/colorUtils.d.ts.map +0 -1
  258. package/dist/utils/colorUtils.js.map +0 -1
  259. package/dist/utils/commandLine.d.ts +0 -66
  260. package/dist/utils/commandLine.d.ts.map +0 -1
  261. package/dist/utils/commandLine.js.map +0 -1
  262. package/dist/utils/copyDirectory.d.ts +0 -33
  263. package/dist/utils/copyDirectory.d.ts.map +0 -1
  264. package/dist/utils/copyDirectory.js.map +0 -1
  265. package/dist/utils/createDirectory.d.ts +0 -34
  266. package/dist/utils/createDirectory.d.ts.map +0 -1
  267. package/dist/utils/createDirectory.js.map +0 -1
  268. package/dist/utils/createZip.d.ts +0 -39
  269. package/dist/utils/createZip.d.ts.map +0 -1
  270. package/dist/utils/createZip.js.map +0 -1
  271. package/dist/utils/deepCopy.d.ts +0 -32
  272. package/dist/utils/deepCopy.d.ts.map +0 -1
  273. package/dist/utils/deepCopy.js.map +0 -1
  274. package/dist/utils/deepEqual.d.ts +0 -54
  275. package/dist/utils/deepEqual.d.ts.map +0 -1
  276. package/dist/utils/deepEqual.js.map +0 -1
  277. package/dist/utils/error.d.ts +0 -44
  278. package/dist/utils/error.d.ts.map +0 -1
  279. package/dist/utils/error.js.map +0 -1
  280. package/dist/utils/export.d.ts +0 -13
  281. package/dist/utils/export.d.ts.map +0 -1
  282. package/dist/utils/export.js.map +0 -1
  283. package/dist/utils/format.d.ts +0 -53
  284. package/dist/utils/format.d.ts.map +0 -1
  285. package/dist/utils/format.js.map +0 -1
  286. package/dist/utils/hex.d.ts +0 -89
  287. package/dist/utils/hex.d.ts.map +0 -1
  288. package/dist/utils/hex.js.map +0 -1
  289. package/dist/utils/inspector.d.ts +0 -87
  290. package/dist/utils/inspector.d.ts.map +0 -1
  291. package/dist/utils/inspector.js.map +0 -1
  292. package/dist/utils/isvalid.d.ts +0 -103
  293. package/dist/utils/isvalid.d.ts.map +0 -1
  294. package/dist/utils/isvalid.js.map +0 -1
  295. package/dist/utils/jestHelpers.d.ts +0 -139
  296. package/dist/utils/jestHelpers.d.ts.map +0 -1
  297. package/dist/utils/jestHelpers.js.map +0 -1
  298. package/dist/utils/network.d.ts +0 -101
  299. package/dist/utils/network.d.ts.map +0 -1
  300. package/dist/utils/network.js.map +0 -1
  301. package/dist/utils/spawn.d.ts +0 -35
  302. package/dist/utils/spawn.d.ts.map +0 -1
  303. package/dist/utils/spawn.js.map +0 -1
  304. package/dist/utils/tracker.d.ts +0 -108
  305. package/dist/utils/tracker.d.ts.map +0 -1
  306. package/dist/utils/tracker.js.map +0 -1
  307. package/dist/utils/wait.d.ts +0 -54
  308. package/dist/utils/wait.d.ts.map +0 -1
  309. package/dist/utils/wait.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "frontend",
3
- "version": "3.2.4",
3
+ "version": "3.3.1",
4
4
  "private": true,
5
5
  "homepage": "./",
6
6
  "type": "module",
@@ -25,7 +25,7 @@
25
25
  "checkDependencies": "npx npm-check-updates",
26
26
  "updateDependencies": "npx npm-check-updates -u && npm install & npm run cleanBuild",
27
27
  "runMeBeforePublish": "npm run lint && npm run build && npm run test",
28
- "reset": "npm run deepClean && npm run install:all && npm run build && npm run test",
28
+ "reset": "npm run deepClean && npm install && npm run build && npm run test",
29
29
  "install:all": "npm run install:react && npm run install:emotion && npm run install:mui && npm run install:mdi && npm run install:qrcode && npm run install:notistack && npm run install:rjsf && npm run install:typescript && npm run install:vite && npm run install:vitest && npm run install:eslint && npm run install:prettier",
30
30
  "install:react": "npm install react react-dom react-router react-router-dom --omit=dev && npm install --save-dev @types/react @types/react-dom",
31
31
  "install:emotion": "npm install @emotion/react @emotion/styled --omit=dev",
@@ -45,37 +45,37 @@
45
45
  "@emotion/styled": "^11.14.1",
46
46
  "@mdi/js": "^7.4.47",
47
47
  "@mdi/react": "^1.6.1",
48
- "@mui/icons-material": "^7.3.2",
49
- "@mui/material": "^7.3.2",
48
+ "@mui/icons-material": "^7.3.4",
49
+ "@mui/material": "^7.3.4",
50
50
  "@rjsf/core": "^5.24.13",
51
51
  "@rjsf/utils": "^5.24.13",
52
52
  "@rjsf/validator-ajv8": "^5.24.13",
53
53
  "notistack": "^3.0.2",
54
54
  "qrcode.react": "^4.2.0",
55
- "react": "^19.1.1",
56
- "react-dom": "^19.1.1",
57
- "react-router": "^7.9.3",
58
- "react-router-dom": "^7.9.3"
55
+ "react": "^19.2.0",
56
+ "react-dom": "^19.2.0",
57
+ "react-router": "^7.9.5",
58
+ "react-router-dom": "^7.9.5"
59
59
  },
60
60
  "devDependencies": {
61
- "@testing-library/jest-dom": "^6.8.0",
61
+ "@testing-library/jest-dom": "^6.9.1",
62
62
  "@testing-library/react": "^16.3.0",
63
- "@types/node": "^24.5.2",
64
- "@types/react": "^19.1.14",
65
- "@types/react-dom": "^19.1.9",
66
- "@typescript-eslint/eslint-plugin": "^8.44.1",
67
- "@typescript-eslint/parser": "^8.44.1",
68
- "@vitejs/plugin-react": "^5.0.4",
69
- "eslint": "^9.36.0",
63
+ "@types/node": "^24.9.2",
64
+ "@types/react": "^19.2.2",
65
+ "@types/react-dom": "^19.2.2",
66
+ "@typescript-eslint/eslint-plugin": "^8.46.2",
67
+ "@typescript-eslint/parser": "^8.46.2",
68
+ "@vitejs/plugin-react": "^5.1.0",
69
+ "eslint": "9.38.0",
70
70
  "eslint-config-prettier": "^10.1.8",
71
71
  "eslint-plugin-prettier": "^5.5.4",
72
72
  "eslint-plugin-react": "^7.37.5",
73
- "eslint-plugin-react-hooks": "^5.2.0",
74
- "jsdom": "^27.0.0",
73
+ "eslint-plugin-react-hooks": "^7.0.1",
74
+ "jsdom": "^27.1.0",
75
75
  "prettier": "^3.6.2",
76
- "typescript": "^5.9.2",
77
- "typescript-eslint": "^8.44.1",
78
- "vite": "^7.1.7",
79
- "vitest": "^3.2.4"
76
+ "typescript": "^5.9.3",
77
+ "typescript-eslint": "^8.46.2",
78
+ "vite": "^7.1.12",
79
+ "vitest": "^4.0.6"
80
80
  }
81
81
  }
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.3.5",
3
+ "version": "3.3.7-dev-20251102-c85d574",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "matterbridge",
9
- "version": "3.3.5",
9
+ "version": "3.3.7-dev-20251102-c85d574",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@matter/main": "0.15.6",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.3.5",
3
+ "version": "3.3.7-dev-20251102-c85d574",
4
4
  "description": "Matterbridge plugin manager for Matter",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "Apache-2.0",
@@ -40,7 +40,6 @@
40
40
  ],
41
41
  "type": "module",
42
42
  "main": "dist/index.js",
43
- "types": "dist/index.d.ts",
44
43
  "bin": {
45
44
  "matterbridge": "bin/matterbridge.js",
46
45
  "mb_mdns": "bin/mb_mdns.js",
@@ -1,112 +0,0 @@
1
- /**
2
- * This file contains the BroadcastServer class.
3
- *
4
- * @file broadcastServer.ts
5
- * @author Luca Liguori
6
- * @created 2025-10-05
7
- * @version 1.0.1
8
- * @license Apache-2.0
9
- *
10
- * Copyright 2024, 2025, 2026 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 { EventEmitter } from 'node:events';
25
- import { type AnsiLogger } from 'node-ansi-logger';
26
- import type { WorkerMessage, WorkerMessageType, WorkerRequest, WorkerResponse, WorkerSrcType } from './broadcastServerTypes.js';
27
- interface BroadcastServerEvents {
28
- 'broadcast_message': [msg: WorkerMessage];
29
- }
30
- /**
31
- * BroadcastServer class to handle broadcast messages between workers with BroadcastChannel.
32
- */
33
- export declare class BroadcastServer extends EventEmitter<BroadcastServerEvents> {
34
- readonly name: WorkerSrcType;
35
- private readonly log;
36
- private readonly channel;
37
- private readonly broadcastChannel;
38
- /**
39
- * Creates an instance of BroadcastServer.
40
- *
41
- * @param {string} name - The name of the broadcast server.
42
- * @param {AnsiLogger} log - The logger instance to use for logging.
43
- * @param {string} channel - The channel name for the broadcast. Default is 'broadcast-channel'.
44
- */
45
- constructor(name: WorkerSrcType, log: AnsiLogger, channel?: string);
46
- /**
47
- * Closes the broadcast channel.
48
- *
49
- * @returns {void}
50
- */
51
- close(): void;
52
- /**
53
- * Generates a unique ID with range 100000-999999.
54
- *
55
- * @returns {number} - A unique ID between 100000 and 999999
56
- */
57
- getUniqueId(): number;
58
- /**
59
- * Type guard to check if a message is a request of a specific type.
60
- *
61
- * @param {unknown} msg - The message to check.
62
- * @param {T} type - The type to check against.
63
- * @returns {msg is WorkerRequest<T>} True if the message is a request of the specified type.
64
- */
65
- isWorkerRequest<T extends WorkerMessageType>(msg: unknown, type: T): msg is WorkerRequest<T>;
66
- /**
67
- * Type guard to check if a message is a response of a specific type.
68
- *
69
- * @param {unknown} msg - The message to check.
70
- * @param {T} type - The type to check against.
71
- * @returns {msg is WorkerResponse<T>} True if the message is a response of the specified type.
72
- */
73
- isWorkerResponse<T extends WorkerMessageType>(msg: unknown, type: T): msg is WorkerResponse<T>;
74
- /**
75
- * Handles incoming broadcast messages.
76
- *
77
- * @param {MessageEvent} event - The message event containing the broadcast message.
78
- * @returns {void}
79
- */
80
- private broadcastMessageHandler;
81
- /**
82
- * Broadcast a message to all workers.
83
- *
84
- * @param {WorkerMessage} message - The message to broadcast.
85
- */
86
- broadcast(message: WorkerMessage): void;
87
- /**
88
- * Broadcast a request message to all workers.
89
- *
90
- * @param {WorkerRequest<T>} message - The typed request message to broadcast.
91
- * @returns {void}
92
- */
93
- request<M extends WorkerRequest<WorkerMessageType>>(message: M): void;
94
- /**
95
- * Broadcast a response message to all workers.
96
- *
97
- * @param {WorkerResponse<T>} message - The typed response message to broadcast.
98
- * @returns {void}
99
- */
100
- respond<M extends WorkerResponse<WorkerMessageType>>(message: M): void;
101
- /**
102
- * Fetch data from a worker.
103
- * It broadcasts a request message and waits for a response with the same id.
104
- *
105
- * @param {WorkerRequest<T>} message - The typed request message to broadcast.
106
- * @returns {Promise<WorkerResponse<T>>} A promise that resolves with the response from the worker or rejects on timeout.
107
- * @throws {Error} If the fetch operation times out after 100ms.
108
- */
109
- fetch<M extends WorkerRequest<WorkerMessageType>>(message: M): Promise<WorkerResponse<M['type']>>;
110
- }
111
- export {};
112
- //# sourceMappingURL=broadcastServer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"broadcastServer.d.ts","sourceRoot":"","sources":["../src/broadcastServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,KAAK,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAEhI,UAAU,qBAAqB;IAC7B,mBAAmB,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY,CAAC,qBAAqB,CAAC;IAWpE,QAAQ,CAAC,IAAI,EAAE,aAAa;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAEpD;;;;;;OAMG;gBAEQ,IAAI,EAAE,aAAa,EACX,GAAG,EAAE,UAAU,EACf,OAAO,GAAE,MAA4B;IAOxD;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAMb;;;;OAIG;IACH,WAAW,IAAI,MAAM;IAIrB;;;;;;OAMG;IACH,eAAe,CAAC,CAAC,SAAS,iBAAiB,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC;IAI5F;;;;;;OAMG;IACH,gBAAgB,CAAC,CAAC,SAAS,iBAAiB,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC;IAI9F;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,aAAa;IAIhC;;;;;OAKG;IACH,OAAO,CAAC,CAAC,SAAS,aAAa,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI;IAerE;;;;;OAKG;IACH,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI;IAYtE;;;;;;;OAOG;IACG,KAAK,CAAC,CAAC,SAAS,aAAa,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;CA4BxG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"broadcastServer.js","sourceRoot":"","sources":["../src/broadcastServer.ts"],"names":[],"mappings":"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"}