matterbridge 3.4.6 → 3.4.7-dev-20260104-6b10cee
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.
- package/CHANGELOG.md +17 -0
- package/README-DOCKER.md +8 -0
- package/dist/broadcastServer.js +0 -117
- package/dist/broadcastServerTypes.js +0 -24
- package/dist/cli.js +1 -97
- package/dist/cliEmitter.js +0 -37
- package/dist/cliHistory.js +0 -38
- package/dist/clusters/export.js +0 -2
- package/dist/deviceManager.js +1 -113
- package/dist/devices/airConditioner.js +0 -57
- package/dist/devices/batteryStorage.js +1 -48
- package/dist/devices/cooktop.js +0 -56
- package/dist/devices/dishwasher.js +0 -57
- package/dist/devices/evse.js +10 -74
- package/dist/devices/export.js +0 -5
- package/dist/devices/extractorHood.js +0 -43
- package/dist/devices/heatPump.js +2 -50
- package/dist/devices/laundryDryer.js +3 -62
- package/dist/devices/laundryWasher.js +4 -70
- package/dist/devices/microwaveOven.js +5 -88
- package/dist/devices/oven.js +0 -85
- package/dist/devices/refrigerator.js +0 -102
- package/dist/devices/roboticVacuumCleaner.js +9 -100
- package/dist/devices/solarPower.js +0 -38
- package/dist/devices/speaker.js +0 -84
- package/dist/devices/temperatureControl.js +3 -24
- package/dist/devices/waterHeater.js +2 -82
- package/dist/dgram/coap.js +13 -126
- package/dist/dgram/dgram.js +6 -114
- package/dist/dgram/mb_coap.js +3 -41
- package/dist/dgram/mb_mdns.js +23 -77
- package/dist/dgram/mdns.js +139 -371
- package/dist/dgram/mdnsReflectorClient.js +5 -71
- package/dist/dgram/mdnsReflectorServer.js +8 -73
- package/dist/dgram/mdnsReflectorTypes.js +1 -24
- package/dist/dgram/multicast.js +1 -62
- package/dist/dgram/unicast.js +0 -60
- package/dist/frontend.js +38 -485
- package/dist/frontendTypes.js +0 -45
- package/dist/helpers.js +0 -53
- package/dist/index.js +0 -25
- package/dist/jestutils/export.js +0 -1
- package/dist/jestutils/jestHelpers.js +14 -371
- package/dist/logger/export.js +0 -1
- package/dist/matter/behaviors.js +0 -2
- package/dist/matter/clusters.js +0 -2
- package/dist/matter/devices.js +0 -2
- package/dist/matter/endpoints.js +0 -2
- package/dist/matter/export.js +0 -3
- package/dist/matter/types.js +0 -3
- package/dist/matterNode.js +8 -369
- package/dist/matterbridge.js +46 -824
- package/dist/matterbridgeAccessoryPlatform.js +0 -38
- package/dist/matterbridgeBehaviors.js +5 -68
- package/dist/matterbridgeDeviceTypes.js +14 -635
- package/dist/matterbridgeDynamicPlatform.js +0 -38
- package/dist/matterbridgeEndpoint.js +53 -1457
- package/dist/matterbridgeEndpointHelpers.js +20 -483
- package/dist/matterbridgeEndpointTypes.js +0 -25
- package/dist/matterbridgePlatform.js +1 -451
- package/dist/matterbridgeTypes.js +0 -26
- package/dist/pluginManager.js +5 -341
- package/dist/shelly.js +7 -178
- package/dist/storage/export.js +0 -1
- package/dist/update.js +1 -93
- package/dist/utils/colorUtils.js +2 -97
- package/dist/utils/commandLine.js +0 -60
- package/dist/utils/copyDirectory.js +0 -37
- package/dist/utils/createDirectory.js +0 -33
- package/dist/utils/createZip.js +2 -47
- package/dist/utils/deepCopy.js +0 -39
- package/dist/utils/deepEqual.js +1 -72
- package/dist/utils/error.js +0 -42
- package/dist/utils/export.js +0 -1
- package/dist/utils/format.js +0 -49
- package/dist/utils/hex.js +0 -124
- package/dist/utils/inspector.js +1 -69
- package/dist/utils/isValid.js +0 -93
- package/dist/utils/network.js +5 -125
- package/dist/utils/spawn.js +1 -71
- package/dist/utils/tracker.js +1 -64
- package/dist/utils/wait.js +8 -60
- package/dist/workerGlobalPrefix.js +5 -37
- package/dist/workerTypes.js +0 -24
- package/dist/workers.js +4 -68
- package/npm-shrinkwrap.json +25 -25
- package/package.json +1 -2
- package/packages/mb-lib-test/dist/jestutils/jestHelpers.d.ts +21 -0
- package/packages/mb-lib-test/dist/jestutils/jestHelpers.js +77 -0
- package/packages/mb-lib-test/dist/module.d.ts +2 -0
- package/packages/mb-lib-test/dist/module.js +2 -0
- package/packages/mb-lib-test/dist/vitestutils/vitestHelpers.d.ts +21 -0
- package/packages/mb-lib-test/dist/vitestutils/vitestHelpers.js +77 -0
- package/packages/mb-lib-test/package.json +12 -11
- package/reflector/DockerDesktopSetup.png +0 -0
- package/reflector/Reflector.md +158 -0
- package/reflector/ReflectorClient.png +0 -0
- package/reflector/ReflectorServer.png +0 -0
- package/reflector/docker-compose.yml +32 -0
- package/reflector/mDnsPacket.png +0 -0
- package/dist/broadcastServer.d.ts +0 -144
- package/dist/broadcastServer.d.ts.map +0 -1
- package/dist/broadcastServer.js.map +0 -1
- package/dist/broadcastServerTypes.d.ts +0 -841
- package/dist/broadcastServerTypes.d.ts.map +0 -1
- package/dist/broadcastServerTypes.js.map +0 -1
- package/dist/cli.d.ts +0 -30
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/cliEmitter.d.ts +0 -50
- package/dist/cliEmitter.d.ts.map +0 -1
- package/dist/cliEmitter.js.map +0 -1
- package/dist/cliHistory.d.ts +0 -48
- package/dist/cliHistory.d.ts.map +0 -1
- package/dist/cliHistory.js.map +0 -1
- package/dist/clusters/export.d.ts +0 -2
- package/dist/clusters/export.d.ts.map +0 -1
- package/dist/clusters/export.js.map +0 -1
- package/dist/deviceManager.d.ts +0 -135
- package/dist/deviceManager.d.ts.map +0 -1
- package/dist/deviceManager.js.map +0 -1
- package/dist/devices/airConditioner.d.ts +0 -98
- package/dist/devices/airConditioner.d.ts.map +0 -1
- package/dist/devices/airConditioner.js.map +0 -1
- package/dist/devices/batteryStorage.d.ts +0 -48
- package/dist/devices/batteryStorage.d.ts.map +0 -1
- package/dist/devices/batteryStorage.js.map +0 -1
- package/dist/devices/cooktop.d.ts +0 -61
- package/dist/devices/cooktop.d.ts.map +0 -1
- package/dist/devices/cooktop.js.map +0 -1
- package/dist/devices/dishwasher.d.ts +0 -71
- package/dist/devices/dishwasher.d.ts.map +0 -1
- package/dist/devices/dishwasher.js.map +0 -1
- package/dist/devices/evse.d.ts +0 -76
- package/dist/devices/evse.d.ts.map +0 -1
- package/dist/devices/evse.js.map +0 -1
- package/dist/devices/export.d.ts +0 -17
- package/dist/devices/export.d.ts.map +0 -1
- package/dist/devices/export.js.map +0 -1
- package/dist/devices/extractorHood.d.ts +0 -46
- package/dist/devices/extractorHood.d.ts.map +0 -1
- package/dist/devices/extractorHood.js.map +0 -1
- package/dist/devices/heatPump.d.ts +0 -47
- package/dist/devices/heatPump.d.ts.map +0 -1
- package/dist/devices/heatPump.js.map +0 -1
- package/dist/devices/laundryDryer.d.ts +0 -67
- package/dist/devices/laundryDryer.d.ts.map +0 -1
- package/dist/devices/laundryDryer.js.map +0 -1
- package/dist/devices/laundryWasher.d.ts +0 -81
- package/dist/devices/laundryWasher.d.ts.map +0 -1
- package/dist/devices/laundryWasher.js.map +0 -1
- package/dist/devices/microwaveOven.d.ts +0 -168
- package/dist/devices/microwaveOven.d.ts.map +0 -1
- package/dist/devices/microwaveOven.js.map +0 -1
- package/dist/devices/oven.d.ts +0 -105
- package/dist/devices/oven.d.ts.map +0 -1
- package/dist/devices/oven.js.map +0 -1
- package/dist/devices/refrigerator.d.ts +0 -118
- package/dist/devices/refrigerator.d.ts.map +0 -1
- package/dist/devices/refrigerator.js.map +0 -1
- package/dist/devices/roboticVacuumCleaner.d.ts +0 -112
- package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
- package/dist/devices/roboticVacuumCleaner.js.map +0 -1
- package/dist/devices/solarPower.d.ts +0 -40
- package/dist/devices/solarPower.d.ts.map +0 -1
- package/dist/devices/solarPower.js.map +0 -1
- package/dist/devices/speaker.d.ts +0 -87
- package/dist/devices/speaker.d.ts.map +0 -1
- package/dist/devices/speaker.js.map +0 -1
- package/dist/devices/temperatureControl.d.ts +0 -166
- package/dist/devices/temperatureControl.d.ts.map +0 -1
- package/dist/devices/temperatureControl.js.map +0 -1
- package/dist/devices/waterHeater.d.ts +0 -111
- package/dist/devices/waterHeater.d.ts.map +0 -1
- package/dist/devices/waterHeater.js.map +0 -1
- package/dist/dgram/coap.d.ts +0 -205
- package/dist/dgram/coap.d.ts.map +0 -1
- package/dist/dgram/coap.js.map +0 -1
- package/dist/dgram/dgram.d.ts +0 -143
- package/dist/dgram/dgram.d.ts.map +0 -1
- package/dist/dgram/dgram.js.map +0 -1
- package/dist/dgram/mb_coap.d.ts +0 -24
- package/dist/dgram/mb_coap.d.ts.map +0 -1
- package/dist/dgram/mb_coap.js.map +0 -1
- package/dist/dgram/mb_mdns.d.ts +0 -24
- package/dist/dgram/mb_mdns.d.ts.map +0 -1
- package/dist/dgram/mb_mdns.js.map +0 -1
- package/dist/dgram/mdns.d.ts +0 -371
- package/dist/dgram/mdns.d.ts.map +0 -1
- package/dist/dgram/mdns.js.map +0 -1
- package/dist/dgram/mdnsReflectorClient.d.ts +0 -88
- package/dist/dgram/mdnsReflectorClient.d.ts.map +0 -1
- package/dist/dgram/mdnsReflectorClient.js.map +0 -1
- package/dist/dgram/mdnsReflectorServer.d.ts +0 -78
- package/dist/dgram/mdnsReflectorServer.d.ts.map +0 -1
- package/dist/dgram/mdnsReflectorServer.js.map +0 -1
- package/dist/dgram/mdnsReflectorTypes.d.ts +0 -28
- package/dist/dgram/mdnsReflectorTypes.d.ts.map +0 -1
- package/dist/dgram/mdnsReflectorTypes.js.map +0 -1
- package/dist/dgram/multicast.d.ts +0 -67
- package/dist/dgram/multicast.d.ts.map +0 -1
- package/dist/dgram/multicast.js.map +0 -1
- package/dist/dgram/unicast.d.ts +0 -64
- package/dist/dgram/unicast.d.ts.map +0 -1
- package/dist/dgram/unicast.js.map +0 -1
- package/dist/frontend.d.ts +0 -245
- package/dist/frontend.d.ts.map +0 -1
- package/dist/frontend.js.map +0 -1
- package/dist/frontendTypes.d.ts +0 -529
- package/dist/frontendTypes.d.ts.map +0 -1
- package/dist/frontendTypes.js.map +0 -1
- package/dist/helpers.d.ts +0 -48
- package/dist/helpers.d.ts.map +0 -1
- package/dist/helpers.js.map +0 -1
- package/dist/index.d.ts +0 -34
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/jestutils/export.d.ts +0 -2
- package/dist/jestutils/export.d.ts.map +0 -1
- package/dist/jestutils/export.js.map +0 -1
- package/dist/jestutils/jestHelpers.d.ts +0 -345
- package/dist/jestutils/jestHelpers.d.ts.map +0 -1
- package/dist/jestutils/jestHelpers.js.map +0 -1
- package/dist/logger/export.d.ts +0 -2
- package/dist/logger/export.d.ts.map +0 -1
- package/dist/logger/export.js.map +0 -1
- package/dist/matter/behaviors.d.ts +0 -2
- package/dist/matter/behaviors.d.ts.map +0 -1
- package/dist/matter/behaviors.js.map +0 -1
- package/dist/matter/clusters.d.ts +0 -2
- package/dist/matter/clusters.d.ts.map +0 -1
- package/dist/matter/clusters.js.map +0 -1
- package/dist/matter/devices.d.ts +0 -2
- package/dist/matter/devices.d.ts.map +0 -1
- package/dist/matter/devices.js.map +0 -1
- package/dist/matter/endpoints.d.ts +0 -2
- package/dist/matter/endpoints.d.ts.map +0 -1
- package/dist/matter/endpoints.js.map +0 -1
- package/dist/matter/export.d.ts +0 -5
- package/dist/matter/export.d.ts.map +0 -1
- package/dist/matter/export.js.map +0 -1
- package/dist/matter/types.d.ts +0 -3
- package/dist/matter/types.d.ts.map +0 -1
- package/dist/matter/types.js.map +0 -1
- package/dist/matterNode.d.ts +0 -342
- package/dist/matterNode.d.ts.map +0 -1
- package/dist/matterNode.js.map +0 -1
- package/dist/matterbridge.d.ts +0 -505
- package/dist/matterbridge.d.ts.map +0 -1
- package/dist/matterbridge.js.map +0 -1
- package/dist/matterbridgeAccessoryPlatform.d.ts +0 -41
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
- package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
- package/dist/matterbridgeBehaviors.d.ts +0 -2404
- package/dist/matterbridgeBehaviors.d.ts.map +0 -1
- package/dist/matterbridgeBehaviors.js.map +0 -1
- package/dist/matterbridgeDeviceTypes.d.ts +0 -698
- package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
- package/dist/matterbridgeDeviceTypes.js.map +0 -1
- package/dist/matterbridgeDynamicPlatform.d.ts +0 -41
- package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
- package/dist/matterbridgeDynamicPlatform.js.map +0 -1
- package/dist/matterbridgeEndpoint.d.ts +0 -1507
- package/dist/matterbridgeEndpoint.d.ts.map +0 -1
- package/dist/matterbridgeEndpoint.js.map +0 -1
- package/dist/matterbridgeEndpointHelpers.d.ts +0 -787
- package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
- package/dist/matterbridgeEndpointHelpers.js.map +0 -1
- package/dist/matterbridgeEndpointTypes.d.ts +0 -166
- package/dist/matterbridgeEndpointTypes.d.ts.map +0 -1
- package/dist/matterbridgeEndpointTypes.js.map +0 -1
- package/dist/matterbridgePlatform.d.ts +0 -539
- package/dist/matterbridgePlatform.d.ts.map +0 -1
- package/dist/matterbridgePlatform.js.map +0 -1
- package/dist/matterbridgeTypes.d.ts +0 -252
- package/dist/matterbridgeTypes.d.ts.map +0 -1
- package/dist/matterbridgeTypes.js.map +0 -1
- package/dist/pluginManager.d.ts +0 -372
- package/dist/pluginManager.d.ts.map +0 -1
- package/dist/pluginManager.js.map +0 -1
- package/dist/shelly.d.ts +0 -181
- package/dist/shelly.d.ts.map +0 -1
- package/dist/shelly.js.map +0 -1
- package/dist/storage/export.d.ts +0 -2
- package/dist/storage/export.d.ts.map +0 -1
- package/dist/storage/export.js.map +0 -1
- package/dist/update.d.ts +0 -84
- package/dist/update.d.ts.map +0 -1
- package/dist/update.js.map +0 -1
- package/dist/utils/colorUtils.d.ts +0 -101
- package/dist/utils/colorUtils.d.ts.map +0 -1
- package/dist/utils/colorUtils.js.map +0 -1
- package/dist/utils/commandLine.d.ts +0 -66
- package/dist/utils/commandLine.d.ts.map +0 -1
- package/dist/utils/commandLine.js.map +0 -1
- package/dist/utils/copyDirectory.d.ts +0 -35
- package/dist/utils/copyDirectory.d.ts.map +0 -1
- package/dist/utils/copyDirectory.js.map +0 -1
- package/dist/utils/createDirectory.d.ts +0 -34
- package/dist/utils/createDirectory.d.ts.map +0 -1
- package/dist/utils/createDirectory.js.map +0 -1
- package/dist/utils/createZip.d.ts +0 -39
- package/dist/utils/createZip.d.ts.map +0 -1
- package/dist/utils/createZip.js.map +0 -1
- package/dist/utils/deepCopy.d.ts +0 -32
- package/dist/utils/deepCopy.d.ts.map +0 -1
- package/dist/utils/deepCopy.js.map +0 -1
- package/dist/utils/deepEqual.d.ts +0 -54
- package/dist/utils/deepEqual.d.ts.map +0 -1
- package/dist/utils/deepEqual.js.map +0 -1
- package/dist/utils/error.d.ts +0 -45
- package/dist/utils/error.d.ts.map +0 -1
- package/dist/utils/error.js.map +0 -1
- package/dist/utils/export.d.ts +0 -13
- package/dist/utils/export.d.ts.map +0 -1
- package/dist/utils/export.js.map +0 -1
- package/dist/utils/format.d.ts +0 -53
- package/dist/utils/format.d.ts.map +0 -1
- package/dist/utils/format.js.map +0 -1
- package/dist/utils/hex.d.ts +0 -89
- package/dist/utils/hex.d.ts.map +0 -1
- package/dist/utils/hex.js.map +0 -1
- package/dist/utils/inspector.d.ts +0 -87
- package/dist/utils/inspector.d.ts.map +0 -1
- package/dist/utils/inspector.js.map +0 -1
- package/dist/utils/isValid.d.ts +0 -103
- package/dist/utils/isValid.d.ts.map +0 -1
- package/dist/utils/isValid.js.map +0 -1
- package/dist/utils/network.d.ts +0 -140
- package/dist/utils/network.d.ts.map +0 -1
- package/dist/utils/network.js.map +0 -1
- package/dist/utils/spawn.d.ts +0 -33
- package/dist/utils/spawn.d.ts.map +0 -1
- package/dist/utils/spawn.js.map +0 -1
- package/dist/utils/tracker.d.ts +0 -108
- package/dist/utils/tracker.d.ts.map +0 -1
- package/dist/utils/tracker.js.map +0 -1
- package/dist/utils/wait.d.ts +0 -54
- package/dist/utils/wait.d.ts.map +0 -1
- package/dist/utils/wait.js.map +0 -1
- package/dist/workerGlobalPrefix.d.ts +0 -25
- package/dist/workerGlobalPrefix.d.ts.map +0 -1
- package/dist/workerGlobalPrefix.js.map +0 -1
- package/dist/workerTypes.d.ts +0 -52
- package/dist/workerTypes.d.ts.map +0 -1
- package/dist/workerTypes.js.map +0 -1
- package/dist/workers.d.ts +0 -69
- package/dist/workers.d.ts.map +0 -1
- package/dist/workers.js.map +0 -1
- package/scripts/data_model.mjs +0 -2058
- package/scripts/fetch-chip.mjs +0 -102
- package/scripts/marked.mjs +0 -133
- package/scripts/markedFooter.html +0 -42
- package/scripts/markedHeader.html +0 -78
|
@@ -30,19 +30,20 @@
|
|
|
30
30
|
"start": "node dist/module.js",
|
|
31
31
|
"build": "tsc --project tsconfig.json",
|
|
32
32
|
"buildProduction": "tsc --project tsconfig.production.json",
|
|
33
|
-
"
|
|
34
|
-
"
|
|
33
|
+
"clean": "npx shx rm -rf tsconfig.tsbuildinfo dist",
|
|
34
|
+
"cleanBuild": "npm run clean && npm run build",
|
|
35
|
+
"cleanBuildProduction": "npm run clean && npm run buildProduction",
|
|
35
36
|
"watch": "tsc --watch",
|
|
36
37
|
"test": "cross-env NODE_OPTIONS=\"--experimental-vm-modules --no-warnings\" jest --maxWorkers=100%",
|
|
37
|
-
"test:verbose": "cross-env NODE_OPTIONS=\"--experimental-vm-modules --no-warnings\" jest --maxWorkers=100% --verbose",
|
|
38
38
|
"test:watch": "cross-env NODE_OPTIONS=\"--experimental-vm-modules --no-warnings\" jest --maxWorkers=100% --watch",
|
|
39
|
-
"test:
|
|
39
|
+
"test:verbose": "cross-env NODE_OPTIONS=\"--experimental-vm-modules --no-warnings\" jest --maxWorkers=100% --verbose",
|
|
40
|
+
"test:coverage": "cross-env NODE_OPTIONS=\"--experimental-vm-modules --no-warnings\" jest --maxWorkers=100% --coverage",
|
|
40
41
|
"test:vitest": "vitest run",
|
|
41
42
|
"test:vitest:watch": "vitest --reporter verbose",
|
|
42
43
|
"test:vitest:verbose": "vitest run --reporter verbose",
|
|
43
44
|
"test:vitest:coverage": "vitest run --reporter verbose --coverage",
|
|
44
|
-
"
|
|
45
|
-
"reset": "npm run
|
|
45
|
+
"deepClean": "npx shx rm -rf tsconfig.tsbuildinfo dist coverage jest temp package-lock.json npm-shrinkwrap.json node_modules/* node_modules/.[!.]* node_modules/..?*",
|
|
46
|
+
"reset": "npm run deepClean && npm install && npm run build && npx jest --clearCache",
|
|
46
47
|
"lint": "eslint --max-warnings=0 .",
|
|
47
48
|
"lint:fix": "eslint --fix --max-warnings=0 .",
|
|
48
49
|
"format": "prettier --write .",
|
|
@@ -59,9 +60,9 @@
|
|
|
59
60
|
"git:hardreset:edge": "git fetch origin && git checkout edge && git reset --hard origin/edge",
|
|
60
61
|
"checkDependencies": "npx npm-check-updates",
|
|
61
62
|
"updateDependencies": "npx npm-check-updates -u && npm run reset",
|
|
62
|
-
"automator": "node /
|
|
63
|
+
"automator": "node scripts/runAutomator.mjs --monorepo-package",
|
|
63
64
|
"runMeBeforePublish": "npm run lint && npm run format && npm run test && npm run build",
|
|
64
|
-
"prepublishOnly": "npm run cleanBuildProduction && npm pkg delete devDependencies scripts
|
|
65
|
+
"prepublishOnly": "npm run cleanBuildProduction && npm pkg delete devDependencies scripts && npx shx rm -rf node_modules/* node_modules/.[!.]* node_modules/..?* && npm install --omit=dev && npm shrinkwrap",
|
|
65
66
|
"npmPack": "npx shx cp package.json package.json.backup && npm run prepublishOnly && npm pack && npx shx cp package.json.backup package.json && npx shx rm -f package.json.backup && npm run reset",
|
|
66
67
|
"npmPublishTagDev": "npx shx cp package.json package.json.backup && npm run prepublishOnly && npm publish --tag dev && npx shx cp package.json.backup package.json && npx shx rm -f package.json.backup && npm run reset",
|
|
67
68
|
"npmPublishTagEdge": "npx shx cp package.json package.json.backup && npm run prepublishOnly && npm publish --tag edge && npx shx cp package.json.backup package.json && npx shx rm -f package.json.backup && npm run reset",
|
|
@@ -83,18 +84,18 @@
|
|
|
83
84
|
"@types/jest": "30.0.0",
|
|
84
85
|
"@types/node": "25.0.3",
|
|
85
86
|
"@vitest/coverage-v8": "4.0.16",
|
|
86
|
-
"@vitest/eslint-plugin": "1.6.
|
|
87
|
+
"@vitest/eslint-plugin": "1.6.5",
|
|
87
88
|
"cross-env": "10.1.0",
|
|
88
89
|
"eslint": "9.39.2",
|
|
89
90
|
"eslint-config-prettier": "10.1.8",
|
|
90
91
|
"eslint-plugin-import": "2.32.0",
|
|
91
|
-
"eslint-plugin-jest": "29.12.
|
|
92
|
+
"eslint-plugin-jest": "29.12.1",
|
|
92
93
|
"eslint-plugin-jsdoc": "61.5.0",
|
|
93
94
|
"eslint-plugin-n": "17.23.1",
|
|
94
95
|
"eslint-plugin-prettier": "5.5.4",
|
|
95
96
|
"eslint-plugin-promise": "7.2.1",
|
|
96
97
|
"jest": "30.2.0",
|
|
97
|
-
"npm-check-updates": "19.2.
|
|
98
|
+
"npm-check-updates": "19.2.1",
|
|
98
99
|
"prettier": "3.7.4",
|
|
99
100
|
"shx": "0.4.0",
|
|
100
101
|
"ts-jest": "29.4.6",
|
|
Binary file
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# Matterbridge mDNS reflector
|
|
2
|
+
|
|
3
|
+
This project aims to use Matterbridge in these configurations:
|
|
4
|
+
|
|
5
|
+
| Docker type | Docker network | OS | Ipv4 | Ipv6 | Share (3) | Home Assistant | Matter Server |
|
|
6
|
+
| -------------- | -------------- | ------- | ---- | ---- | --------- | -------------- | ------------- |
|
|
7
|
+
| Docker Desktop | bridge (1) | Windows | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
8
|
+
| Docker Desktop | bridge (1) | macOS | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
9
|
+
| Docker Engine | bridge (2) | Linux | ✅ | ✅ | ✅ | ✅ | ✅ |
|
|
10
|
+
|
|
11
|
+
(1) - Network host in this configuration is useless cause Docker runs inside a VM.
|
|
12
|
+
|
|
13
|
+
(2) - Network host in this configuration works already out of the box cause Docker runs on the host.
|
|
14
|
+
|
|
15
|
+
(3) - Share mDNS between separate containers.
|
|
16
|
+
|
|
17
|
+
It can also be used to run Home Assistant and Matter Server inside Docker Desktop on Windows and macOS (with network bridge) without using complex VM. You just copy paste this [docker-compose.yml](https://matterbridge.io/reflector/docker-compose.yml).
|
|
18
|
+
|
|
19
|
+
Since the mDNS are shared between reflector clients, you can pair Matterbridge running with Docker Desktop to Home Assistant running with Docker Desktop. Even on the same machine.
|
|
20
|
+
|
|
21
|
+
<a href="https://www.buymeacoffee.com/luligugithub"><img src="https://matterbridge.io/bmc-button.svg" alt="Buy me a coffee" width="120"></a>
|
|
22
|
+
|
|
23
|
+
# Prerequisites
|
|
24
|
+
|
|
25
|
+
- Docker Desktop
|
|
26
|
+
|
|
27
|
+
## Docker Desktop requirements for Windows and macOS
|
|
28
|
+
|
|
29
|
+
See Docker Desktop docs.
|
|
30
|
+
|
|
31
|
+
## Dual Stack IPv4/IPv6 mDNS enabled and No filtering
|
|
32
|
+
|
|
33
|
+

|
|
34
|
+
|
|
35
|
+
# Run Matterbridge in a Docker Desktop container
|
|
36
|
+
|
|
37
|
+
We use named volumes for storage, plugins and mattercert.
|
|
38
|
+
|
|
39
|
+
We publish the default matterbridge frontend port 8283.
|
|
40
|
+
|
|
41
|
+
We publish the matter port range 5550-5559 to allow childbridge mode and server node devices (RVCs).
|
|
42
|
+
|
|
43
|
+
macOS
|
|
44
|
+
|
|
45
|
+
```zsh
|
|
46
|
+
docker stop matterbridge-test
|
|
47
|
+
docker rm matterbridge-test
|
|
48
|
+
docker pull luligu/matterbridge:dev
|
|
49
|
+
docker run -dit --restart unless-stopped --name matterbridge-test \
|
|
50
|
+
-p 8283:8283 -p 5550-5559:5550-5559/udp \
|
|
51
|
+
-v storage:/root/.matterbridge -v plugins:/root/Matterbridge -v mattercert:/root/.mattercert \
|
|
52
|
+
luligu/matterbridge:dev matterbridge --docker --frontend 8283 --port 5550
|
|
53
|
+
docker logs --tail 1000 -f matterbridge-test
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
powerShell
|
|
57
|
+
|
|
58
|
+
```powershell
|
|
59
|
+
docker stop matterbridge-test
|
|
60
|
+
docker rm matterbridge-test
|
|
61
|
+
docker pull luligu/matterbridge:dev
|
|
62
|
+
docker run -dit --restart unless-stopped --name matterbridge-test `
|
|
63
|
+
-p 8283:8283 -p 5550-5559:5550-5559/udp `
|
|
64
|
+
-v storage:/root/.matterbridge -v plugins:/root/Matterbridge -v mattercert:/root/.mattercert `
|
|
65
|
+
luligu/matterbridge:dev matterbridge --docker --frontend 8283 --port 5550
|
|
66
|
+
docker logs --tail 1000 -f matterbridge-test
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
You will see that the frontend inside the container is listening on the conainer address
|
|
70
|
+
|
|
71
|
+
```text
|
|
72
|
+
[09:02:10.140] [Frontend] The frontend http server is listening on http://172.17.0.2:8283
|
|
73
|
+
[09:02:10.140] [Frontend] The frontend http server is listening on http://[fd3d:8954:ffe5::2]:8283
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
But since we mapped the port 8283:
|
|
77
|
+
|
|
78
|
+
- the frontend is available on the host with localhost:8283, <your_host_ip>:8283 or <your_hostname>:8283.
|
|
79
|
+
|
|
80
|
+
- the frontend is available on the lan with <your_host_ip>:8283 or <your_hostname>:8283.
|
|
81
|
+
|
|
82
|
+
In the same way the Matter port range 5550-5559 is mapped outside the container to allow the controllers on the lan to discover and connect Matterbridge.
|
|
83
|
+
|
|
84
|
+
## Optional: if you want to see the mDNS inside the Docker Desktop container
|
|
85
|
+
|
|
86
|
+
From another terminal run mb_mdns inside the container we created and run before
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
docker exec -it matterbridge-test mb_mdns --no-timeout
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
In a while you will see what mDNS packets are advertised inside the container
|
|
93
|
+
|
|
94
|
+

|
|
95
|
+
|
|
96
|
+
## Optional: if you want to see ip and routing table inside the Docker Desktop container
|
|
97
|
+
|
|
98
|
+
From another terminal run ip a and ip r inside the container we created and run before
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
docker exec -it matterbridge-test apt-get update
|
|
102
|
+
docker exec -it matterbridge-test apt-get install -y --no-install-recommends iproute2 iputils-ping net-tools dnsutils tcpdump netcat-openbsd
|
|
103
|
+
docker exec -it matterbridge-test ip a
|
|
104
|
+
docker exec -it matterbridge-test ip r
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Issues we have there
|
|
108
|
+
|
|
109
|
+
1. The advertised mDNS packets cannot reach the host and the lan cause mDNS are not routed inside Docker Desktop
|
|
110
|
+
|
|
111
|
+
2. The advertised mDNS packets contain wrong A and AAAA records:
|
|
112
|
+
|
|
113
|
+
- the advertised address are relative to the container
|
|
114
|
+
- those address are not reachable from the host and from the lan
|
|
115
|
+
|
|
116
|
+
## Run the Madderbridge reflector server directly on the host (you need node.js installed on Windows or macOS)
|
|
117
|
+
|
|
118
|
+
```shell
|
|
119
|
+
npm install -g matterbridge@dev
|
|
120
|
+
mb_mdns --reflector-server --log-reflector-messages --localhost --share-with-clients
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
In a while you will see
|
|
124
|
+
|
|
125
|
+

|
|
126
|
+
|
|
127
|
+
## Run the Madderbridge reflector client in container
|
|
128
|
+
|
|
129
|
+
```shell
|
|
130
|
+
docker stop matterbridge-reflector
|
|
131
|
+
docker rm matterbridge-reflector
|
|
132
|
+
docker pull luligu/reflector-client:latest
|
|
133
|
+
docker run -dit --restart unless-stopped --name matterbridge-reflector luligu/reflector-client:latest
|
|
134
|
+
docker logs --tail 1000 -f matterbridge-reflector
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
In a while you will see
|
|
138
|
+
|
|
139
|
+

|
|
140
|
+
|
|
141
|
+
# Run Home Assistant and Matter Server in Docker compose with Docker Desktop
|
|
142
|
+
|
|
143
|
+
## Prerequisites
|
|
144
|
+
|
|
145
|
+
You need the Matterbridge reflector server running on the host from the tutorial above.
|
|
146
|
+
|
|
147
|
+
## Run Home Assitant and Matter Server in Docker Compose with Docker Desktop
|
|
148
|
+
|
|
149
|
+
To test the sharing feature (it shares mDNS between all reflector clients),
|
|
150
|
+
use this [docker-compose.yml](https://matterbridge.io/reflector/docker-compose.yml).
|
|
151
|
+
|
|
152
|
+
With this configuration Home Assistant (with Matter Server) works inside a Docker Desktop container without network host. When asked by Home Assistant, connect to Matter Server with **ws://matterserver:5580/ws**
|
|
153
|
+
|
|
154
|
+
```shell
|
|
155
|
+
docker compose down
|
|
156
|
+
docker compose pull
|
|
157
|
+
docker compose up -d --force-recreate
|
|
158
|
+
```
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
services:
|
|
2
|
+
homeassistant:
|
|
3
|
+
container_name: homeassistant
|
|
4
|
+
image: ghcr.io/home-assistant/home-assistant:stable
|
|
5
|
+
restart: unless-stopped
|
|
6
|
+
depends_on:
|
|
7
|
+
- matterserver
|
|
8
|
+
ports:
|
|
9
|
+
- "8123:8123"
|
|
10
|
+
volumes:
|
|
11
|
+
- ./DockerVolumes/homeassistant:/config
|
|
12
|
+
environment:
|
|
13
|
+
- TZ=Europe/Paris
|
|
14
|
+
|
|
15
|
+
matterserver:
|
|
16
|
+
container_name: matterserver
|
|
17
|
+
image: ghcr.io/home-assistant-libs/python-matter-server:stable
|
|
18
|
+
restart: unless-stopped
|
|
19
|
+
ports:
|
|
20
|
+
- "5580:5580"
|
|
21
|
+
- "5540:5540/udp"
|
|
22
|
+
volumes:
|
|
23
|
+
- ./DockerVolumes/matterserver:/data
|
|
24
|
+
environment:
|
|
25
|
+
- TZ=Europe/Paris
|
|
26
|
+
|
|
27
|
+
reflector:
|
|
28
|
+
container_name: reflector
|
|
29
|
+
image: luligu/reflector-client:latest
|
|
30
|
+
restart: unless-stopped
|
|
31
|
+
environment:
|
|
32
|
+
- TZ=Europe/Paris
|
|
Binary file
|
|
@@ -1,144 +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 2.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, WorkerMessageRequest, WorkerMessageRequestAny, WorkerMessageResponse, WorkerMessageResponseSuccess, WorkerMessageTypes, 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
|
-
private closed;
|
|
39
|
-
private readonly debug;
|
|
40
|
-
private readonly verbose;
|
|
41
|
-
/**
|
|
42
|
-
* Creates an instance of BroadcastServer.
|
|
43
|
-
*
|
|
44
|
-
* @param {string} name - The name of the broadcast server.
|
|
45
|
-
* @param {AnsiLogger} log - The logger instance to use for logging.
|
|
46
|
-
* @param {string} channel - The channel name for the broadcast. Default is 'broadcast-channel'.
|
|
47
|
-
*/
|
|
48
|
-
constructor(name: WorkerSrcType, log: AnsiLogger, channel?: string);
|
|
49
|
-
/**
|
|
50
|
-
* Closes the broadcast channel.
|
|
51
|
-
*
|
|
52
|
-
* @returns {void}
|
|
53
|
-
*/
|
|
54
|
-
close(): void;
|
|
55
|
-
/**
|
|
56
|
-
* Handles incoming broadcast messages.
|
|
57
|
-
*
|
|
58
|
-
* @param {MessageEvent} event - The message event containing the broadcast message.
|
|
59
|
-
* @returns {void}
|
|
60
|
-
*/
|
|
61
|
-
private broadcastMessageHandler;
|
|
62
|
-
/**
|
|
63
|
-
* Handles incoming broadcast error messages.
|
|
64
|
-
*
|
|
65
|
-
* @param {MessageEvent} event - The message event containing the broadcast message.
|
|
66
|
-
* @returns {void}
|
|
67
|
-
*/
|
|
68
|
-
private broadcastMessageErrorHandler;
|
|
69
|
-
/**
|
|
70
|
-
* Generate a pseudo-random identifier between 100,000,000 and 999,999,999.
|
|
71
|
-
*
|
|
72
|
-
* @returns {number} A nine-digit identifier.
|
|
73
|
-
*/
|
|
74
|
-
getUniqueId(): number;
|
|
75
|
-
/**
|
|
76
|
-
* Type guard to verify a value matches the WorkerMessageRequest structure.
|
|
77
|
-
*
|
|
78
|
-
* @param {unknown} value Value to test.
|
|
79
|
-
* @returns {value is WorkerMessageRequest} True when the value looks like a request message.
|
|
80
|
-
*/
|
|
81
|
-
isWorkerRequest(value: unknown): value is WorkerMessageRequest;
|
|
82
|
-
/**
|
|
83
|
-
* Type guard to verify a value matches a specific WorkerMessageRequest structure.
|
|
84
|
-
*
|
|
85
|
-
* @param {unknown} value Value to test.
|
|
86
|
-
* @param {K} type Worker message type to match.
|
|
87
|
-
* @returns {value is WorkerMessageRequest<K>} True when the value looks like a request message of the requested type.
|
|
88
|
-
*/
|
|
89
|
-
isWorkerRequestOfType<K extends keyof WorkerMessageTypes>(value: unknown, type: K): value is WorkerMessageRequest<K>;
|
|
90
|
-
/**
|
|
91
|
-
* Type guard to verify a value matches the WorkerMessageResponse structure.
|
|
92
|
-
*
|
|
93
|
-
* @param {unknown} value Value to test.
|
|
94
|
-
* @returns {value is WorkerMessageResponse} True when the value looks like a response message.
|
|
95
|
-
*/
|
|
96
|
-
isWorkerResponse(value: unknown): value is WorkerMessageResponse;
|
|
97
|
-
/**
|
|
98
|
-
* Type guard to verify a value matches a specific WorkerMessageResponse structure.
|
|
99
|
-
*
|
|
100
|
-
* @param {unknown} value Value to test.
|
|
101
|
-
* @param {K} type Worker message type to match.
|
|
102
|
-
* @returns {value is WorkerMessageResponse<K>} True when the value looks like a response message of the requested type.
|
|
103
|
-
*/
|
|
104
|
-
isWorkerResponseOfType<K extends keyof WorkerMessageTypes>(value: unknown, type: K): value is WorkerMessageResponse<K>;
|
|
105
|
-
/**
|
|
106
|
-
* Broadcast a message to all workers.
|
|
107
|
-
*
|
|
108
|
-
* @param {WorkerMessage} message - The message to broadcast.
|
|
109
|
-
* @returns {void}
|
|
110
|
-
*
|
|
111
|
-
* @remarks No checks are performed on the message structure.
|
|
112
|
-
*/
|
|
113
|
-
broadcast(message: WorkerMessage): void;
|
|
114
|
-
/**
|
|
115
|
-
* Send a request message from the worker implementation.
|
|
116
|
-
*
|
|
117
|
-
* @template K
|
|
118
|
-
* @param {WorkerMessageRequest<K>} message The request message to send.
|
|
119
|
-
* @returns {void}
|
|
120
|
-
*/
|
|
121
|
-
request<K extends keyof WorkerMessageTypes>(message: WorkerMessageRequest<K>): void;
|
|
122
|
-
/**
|
|
123
|
-
* Send a response message from the worker implementation.
|
|
124
|
-
* It also calculates the elapsed time since the request was sent and swaps the source and destination fields.
|
|
125
|
-
*
|
|
126
|
-
* @template K
|
|
127
|
-
* @param {WorkerMessageResponse<K>} message The response message to send.
|
|
128
|
-
* @returns {void}
|
|
129
|
-
*/
|
|
130
|
-
respond<K extends keyof WorkerMessageTypes>(message: WorkerMessageResponse<K>): void;
|
|
131
|
-
/**
|
|
132
|
-
* Fetch data from a worker.
|
|
133
|
-
* It broadcasts a request message and waits for a valid response with the same id.
|
|
134
|
-
*
|
|
135
|
-
* @template K
|
|
136
|
-
* @param {WorkerMessageRequest<K>} message - The typed request message to fetch.
|
|
137
|
-
* @param {number} timeout - The timeout in milliseconds to wait for a response. Default is 250ms.
|
|
138
|
-
* @returns {Promise<WorkerMessageResponseSuccess<K>>} A promise that resolves with the successful response from the worker or rejects on timeout.
|
|
139
|
-
* @throws {Error} If the fetch operation times out after 250ms or if an error response is received or if the response is malformed.
|
|
140
|
-
*/
|
|
141
|
-
fetch<T extends WorkerMessageRequestAny, K extends Extract<keyof WorkerMessageTypes, T['type']>>(message: T, timeout?: number): Promise<WorkerMessageResponseSuccess<K>>;
|
|
142
|
-
}
|
|
143
|
-
export {};
|
|
144
|
-
//# 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,EAAgC,MAAM,kBAAkB,CAAC;AAEjF,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAItM,UAAU,qBAAqB;IAC7B,mBAAmB,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY,CAAC,qBAAqB,CAAC;IAcpE,QAAQ,CAAC,IAAI,EAAE,aAAa;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAf1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoD;IAC1E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD;;;;;;OAMG;gBAEQ,IAAI,EAAE,aAAa,EACX,GAAG,EAAE,UAAU,EACf,OAAO,GAAE,MAA4B;IASxD;;;;OAIG;IACH,KAAK,IAAI,IAAI;IAOb;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAU/B;;;;;OAKG;IACH,OAAO,CAAC,4BAA4B;IAKpC;;;;OAIG;IACH,WAAW,IAAI,MAAM;IAIrB;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,oBAAoB;IAa9D;;;;;;OAMG;IACH,qBAAqB,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,IAAI,oBAAoB,CAAC,CAAC,CAAC;IAIpH;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB;IAehE;;;;;;OAMG;IACH,sBAAsB,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,IAAI,qBAAqB,CAAC,CAAC,CAAC;IAItH;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAoBvC;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAAE,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI;IAwBnF;;;;;;;OAOG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI;IA2BpF;;;;;;;;;OASG;IACG,KAAK,CAAC,CAAC,SAAS,uBAAuB,EAAE,CAAC,SAAS,OAAO,CAAC,MAAM,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAE,MAAY,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC;CAsCpL"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"broadcastServer.js","sourceRoot":"","sources":["../src/broadcastServer.ts"],"names":[],"mappings":"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"}
|