matterbridge 3.5.0-dev-20260119-f9ea00e → 3.5.0
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 +119 -117
- package/dist/broadcastServer.d.ts +115 -0
- package/dist/broadcastServer.d.ts.map +1 -0
- package/dist/broadcastServer.js +117 -0
- package/dist/broadcastServer.js.map +1 -0
- package/dist/broadcastServerTypes.d.ts +43 -0
- package/dist/broadcastServerTypes.d.ts.map +1 -0
- package/dist/broadcastServerTypes.js +24 -0
- package/dist/broadcastServerTypes.js.map +1 -0
- package/dist/cli.d.ts +24 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +97 -1
- package/dist/cli.js.map +1 -0
- package/dist/cliEmitter.d.ts +36 -0
- package/dist/cliEmitter.d.ts.map +1 -0
- package/dist/cliEmitter.js +37 -0
- package/dist/cliEmitter.js.map +1 -0
- package/dist/cliHistory.d.ts +42 -0
- package/dist/cliHistory.d.ts.map +1 -0
- package/dist/cliHistory.js +38 -0
- package/dist/cliHistory.js.map +1 -0
- package/dist/clusters/export.d.ts +1 -0
- package/dist/clusters/export.d.ts.map +1 -0
- package/dist/clusters/export.js +2 -0
- package/dist/clusters/export.js.map +1 -0
- package/dist/deviceManager.d.ts +108 -0
- package/dist/deviceManager.d.ts.map +1 -0
- package/dist/deviceManager.js +113 -1
- package/dist/deviceManager.js.map +1 -0
- package/dist/devices/airConditioner.d.ts +75 -0
- package/dist/devices/airConditioner.d.ts.map +1 -0
- package/dist/devices/airConditioner.js +57 -0
- package/dist/devices/airConditioner.js.map +1 -0
- package/dist/devices/batteryStorage.d.ts +43 -0
- package/dist/devices/batteryStorage.d.ts.map +1 -0
- package/dist/devices/batteryStorage.js +48 -1
- package/dist/devices/batteryStorage.js.map +1 -0
- package/dist/devices/cooktop.d.ts +55 -0
- package/dist/devices/cooktop.d.ts.map +1 -0
- package/dist/devices/cooktop.js +56 -0
- package/dist/devices/cooktop.js.map +1 -0
- package/dist/devices/dishwasher.d.ts +55 -0
- package/dist/devices/dishwasher.d.ts.map +1 -0
- package/dist/devices/dishwasher.js +57 -0
- package/dist/devices/dishwasher.js.map +1 -0
- package/dist/devices/evse.d.ts +57 -0
- package/dist/devices/evse.d.ts.map +1 -0
- package/dist/devices/evse.js +74 -10
- package/dist/devices/evse.js.map +1 -0
- package/dist/devices/export.d.ts +1 -0
- package/dist/devices/export.d.ts.map +1 -0
- package/dist/devices/export.js +5 -0
- package/dist/devices/export.js.map +1 -0
- package/dist/devices/extractorHood.d.ts +41 -0
- package/dist/devices/extractorHood.d.ts.map +1 -0
- package/dist/devices/extractorHood.js +43 -0
- package/dist/devices/extractorHood.js.map +1 -0
- package/dist/devices/heatPump.d.ts +43 -0
- package/dist/devices/heatPump.d.ts.map +1 -0
- package/dist/devices/heatPump.js +50 -2
- package/dist/devices/heatPump.js.map +1 -0
- package/dist/devices/laundryDryer.d.ts +58 -0
- package/dist/devices/laundryDryer.d.ts.map +1 -0
- package/dist/devices/laundryDryer.js +62 -3
- package/dist/devices/laundryDryer.js.map +1 -0
- package/dist/devices/laundryWasher.d.ts +64 -0
- package/dist/devices/laundryWasher.d.ts.map +1 -0
- package/dist/devices/laundryWasher.js +70 -4
- package/dist/devices/laundryWasher.js.map +1 -0
- package/dist/devices/microwaveOven.d.ts +77 -1
- package/dist/devices/microwaveOven.d.ts.map +1 -0
- package/dist/devices/microwaveOven.js +88 -5
- package/dist/devices/microwaveOven.js.map +1 -0
- package/dist/devices/oven.d.ts +82 -0
- package/dist/devices/oven.d.ts.map +1 -0
- package/dist/devices/oven.js +85 -0
- package/dist/devices/oven.js.map +1 -0
- package/dist/devices/refrigerator.d.ts +100 -0
- package/dist/devices/refrigerator.d.ts.map +1 -0
- package/dist/devices/refrigerator.js +102 -0
- package/dist/devices/refrigerator.js.map +1 -0
- package/dist/devices/roboticVacuumCleaner.d.ts +83 -0
- package/dist/devices/roboticVacuumCleaner.d.ts.map +1 -0
- package/dist/devices/roboticVacuumCleaner.js +100 -9
- package/dist/devices/roboticVacuumCleaner.js.map +1 -0
- package/dist/devices/solarPower.d.ts +36 -0
- package/dist/devices/solarPower.d.ts.map +1 -0
- package/dist/devices/solarPower.js +38 -0
- package/dist/devices/solarPower.js.map +1 -0
- package/dist/devices/speaker.d.ts +79 -0
- package/dist/devices/speaker.d.ts.map +1 -0
- package/dist/devices/speaker.js +84 -0
- package/dist/devices/speaker.js.map +1 -0
- package/dist/devices/temperatureControl.d.ts +21 -0
- package/dist/devices/temperatureControl.d.ts.map +1 -0
- package/dist/devices/temperatureControl.js +24 -3
- package/dist/devices/temperatureControl.js.map +1 -0
- package/dist/devices/waterHeater.d.ts +74 -0
- package/dist/devices/waterHeater.d.ts.map +1 -0
- package/dist/devices/waterHeater.js +82 -2
- package/dist/devices/waterHeater.js.map +1 -0
- package/dist/dgram/coap.d.ts +171 -0
- package/dist/dgram/coap.d.ts.map +1 -0
- package/dist/dgram/coap.js +126 -13
- package/dist/dgram/coap.js.map +1 -0
- package/dist/dgram/dgram.d.ts +99 -0
- package/dist/dgram/dgram.d.ts.map +1 -0
- package/dist/dgram/dgram.js +114 -2
- package/dist/dgram/dgram.js.map +1 -0
- package/dist/dgram/mb_coap.d.ts +23 -0
- package/dist/dgram/mb_coap.d.ts.map +1 -0
- package/dist/dgram/mb_coap.js +41 -3
- package/dist/dgram/mb_coap.js.map +1 -0
- package/dist/dgram/mb_mdns.d.ts +23 -0
- package/dist/dgram/mb_mdns.d.ts.map +1 -0
- package/dist/dgram/mb_mdns.js +80 -24
- package/dist/dgram/mb_mdns.js.map +1 -0
- package/dist/dgram/mdns.d.ts +187 -4
- package/dist/dgram/mdns.d.ts.map +1 -0
- package/dist/dgram/mdns.js +371 -139
- package/dist/dgram/mdns.js.map +1 -0
- package/dist/dgram/multicast.d.ts +49 -0
- package/dist/dgram/multicast.d.ts.map +1 -0
- package/dist/dgram/multicast.js +62 -1
- package/dist/dgram/multicast.js.map +1 -0
- package/dist/dgram/unicast.d.ts +53 -0
- package/dist/dgram/unicast.d.ts.map +1 -0
- package/dist/dgram/unicast.js +60 -0
- package/dist/dgram/unicast.js.map +1 -0
- package/dist/frontend.d.ts +187 -0
- package/dist/frontend.d.ts.map +1 -0
- package/dist/frontend.js +498 -37
- package/dist/frontend.js.map +1 -0
- package/dist/frontendTypes.d.ts +57 -0
- package/dist/frontendTypes.d.ts.map +1 -0
- package/dist/frontendTypes.js +45 -0
- package/dist/frontendTypes.js.map +1 -0
- package/dist/helpers.d.ts +43 -0
- package/dist/helpers.d.ts.map +1 -0
- package/dist/helpers.js +53 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/jestutils/export.d.ts +1 -0
- package/dist/jestutils/export.d.ts.map +1 -0
- package/dist/jestutils/export.js +1 -0
- package/dist/jestutils/export.js.map +1 -0
- package/dist/jestutils/jestHelpers.d.ts +255 -0
- package/dist/jestutils/jestHelpers.d.ts.map +1 -0
- package/dist/jestutils/jestHelpers.js +372 -14
- package/dist/jestutils/jestHelpers.js.map +1 -0
- package/dist/logger/export.d.ts +1 -0
- package/dist/logger/export.d.ts.map +1 -0
- package/dist/logger/export.js +1 -0
- package/dist/logger/export.js.map +1 -0
- package/dist/matter/behaviors.d.ts +1 -0
- package/dist/matter/behaviors.d.ts.map +1 -0
- package/dist/matter/behaviors.js +2 -0
- package/dist/matter/behaviors.js.map +1 -0
- package/dist/matter/clusters.d.ts +1 -0
- package/dist/matter/clusters.d.ts.map +1 -0
- package/dist/matter/clusters.js +2 -0
- package/dist/matter/clusters.js.map +1 -0
- package/dist/matter/devices.d.ts +1 -0
- package/dist/matter/devices.d.ts.map +1 -0
- package/dist/matter/devices.js +2 -0
- package/dist/matter/devices.js.map +1 -0
- package/dist/matter/endpoints.d.ts +1 -0
- package/dist/matter/endpoints.d.ts.map +1 -0
- package/dist/matter/endpoints.js +2 -0
- package/dist/matter/endpoints.js.map +1 -0
- package/dist/matter/export.d.ts +1 -0
- package/dist/matter/export.d.ts.map +1 -0
- package/dist/matter/export.js +2 -0
- package/dist/matter/export.js.map +1 -0
- package/dist/matter/types.d.ts +1 -0
- package/dist/matter/types.d.ts.map +1 -0
- package/dist/matter/types.js +2 -0
- package/dist/matter/types.js.map +1 -0
- package/dist/matterNode.d.ts +258 -0
- package/dist/matterNode.d.ts.map +1 -0
- package/dist/matterNode.js +359 -8
- package/dist/matterNode.js.map +1 -0
- package/dist/matterbridge.d.ts +362 -0
- package/dist/matterbridge.d.ts.map +1 -0
- package/dist/matterbridge.js +842 -46
- package/dist/matterbridge.js.map +1 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts +36 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
- package/dist/matterbridgeAccessoryPlatform.js +38 -0
- package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
- package/dist/matterbridgeBehaviors.d.ts +24 -0
- package/dist/matterbridgeBehaviors.d.ts.map +1 -0
- package/dist/matterbridgeBehaviors.js +68 -5
- package/dist/matterbridgeBehaviors.js.map +1 -0
- package/dist/matterbridgeDeviceTypes.d.ts +649 -0
- package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
- package/dist/matterbridgeDeviceTypes.js +673 -6
- package/dist/matterbridgeDeviceTypes.js.map +1 -0
- package/dist/matterbridgeDynamicPlatform.d.ts +36 -0
- package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
- package/dist/matterbridgeDynamicPlatform.js +38 -0
- package/dist/matterbridgeDynamicPlatform.js.map +1 -0
- package/dist/matterbridgeEndpoint.d.ts +1332 -0
- package/dist/matterbridgeEndpoint.d.ts.map +1 -0
- package/dist/matterbridgeEndpoint.js +1457 -53
- package/dist/matterbridgeEndpoint.js.map +1 -0
- package/dist/matterbridgeEndpointHelpers.d.ts +425 -0
- package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
- package/dist/matterbridgeEndpointHelpers.js +483 -20
- package/dist/matterbridgeEndpointHelpers.js.map +1 -0
- package/dist/matterbridgeEndpointTypes.d.ts +70 -0
- package/dist/matterbridgeEndpointTypes.d.ts.map +1 -0
- package/dist/matterbridgeEndpointTypes.js +25 -0
- package/dist/matterbridgeEndpointTypes.js.map +1 -0
- package/dist/matterbridgePlatform.d.ts +425 -0
- package/dist/matterbridgePlatform.d.ts.map +1 -0
- package/dist/matterbridgePlatform.js +451 -1
- package/dist/matterbridgePlatform.js.map +1 -0
- package/dist/matterbridgeTypes.d.ts +46 -0
- package/dist/matterbridgeTypes.d.ts.map +1 -0
- package/dist/matterbridgeTypes.js +26 -0
- package/dist/matterbridgeTypes.js.map +1 -0
- package/dist/pluginManager.d.ts +305 -0
- package/dist/pluginManager.d.ts.map +1 -0
- package/dist/pluginManager.js +341 -5
- package/dist/pluginManager.js.map +1 -0
- package/dist/shelly.d.ts +157 -0
- package/dist/shelly.d.ts.map +1 -0
- package/dist/shelly.js +178 -7
- package/dist/shelly.js.map +1 -0
- package/dist/storage/export.d.ts +1 -0
- package/dist/storage/export.d.ts.map +1 -0
- package/dist/storage/export.js +1 -0
- package/dist/storage/export.js.map +1 -0
- package/dist/update.d.ts +75 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +93 -1
- package/dist/update.js.map +1 -0
- package/dist/utils/colorUtils.d.ts +77 -0
- package/dist/utils/colorUtils.d.ts.map +1 -0
- package/dist/utils/colorUtils.js +97 -2
- package/dist/utils/colorUtils.js.map +1 -0
- package/dist/utils/commandLine.d.ts +60 -0
- package/dist/utils/commandLine.d.ts.map +1 -0
- package/dist/utils/commandLine.js +60 -0
- package/dist/utils/commandLine.js.map +1 -0
- package/dist/utils/copyDirectory.d.ts +33 -0
- package/dist/utils/copyDirectory.d.ts.map +1 -0
- package/dist/utils/copyDirectory.js +37 -0
- package/dist/utils/copyDirectory.js.map +1 -0
- package/dist/utils/createDirectory.d.ts +32 -0
- package/dist/utils/createDirectory.d.ts.map +1 -0
- package/dist/utils/createDirectory.js +33 -0
- package/dist/utils/createDirectory.js.map +1 -0
- package/dist/utils/createZip.d.ts +38 -0
- package/dist/utils/createZip.d.ts.map +1 -0
- package/dist/utils/createZip.js +47 -2
- package/dist/utils/createZip.js.map +1 -0
- package/dist/utils/deepCopy.d.ts +31 -0
- package/dist/utils/deepCopy.d.ts.map +1 -0
- package/dist/utils/deepCopy.js +39 -0
- package/dist/utils/deepCopy.js.map +1 -0
- package/dist/utils/deepEqual.d.ts +53 -0
- package/dist/utils/deepEqual.d.ts.map +1 -0
- package/dist/utils/deepEqual.js +72 -1
- package/dist/utils/deepEqual.js.map +1 -0
- package/dist/utils/error.d.ts +42 -0
- package/dist/utils/error.d.ts.map +1 -0
- package/dist/utils/error.js +42 -0
- package/dist/utils/error.js.map +1 -0
- package/dist/utils/export.d.ts +1 -0
- package/dist/utils/export.d.ts.map +1 -0
- package/dist/utils/export.js +1 -0
- package/dist/utils/export.js.map +1 -0
- package/dist/utils/format.d.ts +49 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +49 -0
- package/dist/utils/format.js.map +1 -0
- package/dist/utils/hex.d.ts +85 -0
- package/dist/utils/hex.d.ts.map +1 -0
- package/dist/utils/hex.js +124 -0
- package/dist/utils/hex.js.map +1 -0
- package/dist/utils/inspector.d.ts +63 -0
- package/dist/utils/inspector.d.ts.map +1 -0
- package/dist/utils/inspector.js +69 -1
- package/dist/utils/inspector.js.map +1 -0
- package/dist/utils/isValid.d.ts +93 -0
- package/dist/utils/isValid.d.ts.map +1 -0
- package/dist/utils/isValid.js +93 -0
- package/dist/utils/isValid.js.map +1 -0
- package/dist/utils/network.d.ts +116 -0
- package/dist/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +126 -5
- package/dist/utils/network.js.map +1 -0
- package/dist/utils/spawn.d.ts +32 -0
- package/dist/utils/spawn.d.ts.map +1 -0
- package/dist/utils/spawn.js +71 -1
- package/dist/utils/spawn.js.map +1 -0
- package/dist/utils/tracker.d.ts +56 -0
- package/dist/utils/tracker.d.ts.map +1 -0
- package/dist/utils/tracker.js +64 -1
- package/dist/utils/tracker.js.map +1 -0
- package/dist/utils/wait.d.ts +51 -0
- package/dist/utils/wait.d.ts.map +1 -0
- package/dist/utils/wait.js +60 -8
- package/dist/utils/wait.js.map +1 -0
- package/dist/workerGlobalPrefix.d.ts +24 -0
- package/dist/workerGlobalPrefix.d.ts.map +1 -0
- package/dist/workerGlobalPrefix.js +37 -5
- package/dist/workerGlobalPrefix.js.map +1 -0
- package/dist/workerTypes.d.ts +25 -0
- package/dist/workerTypes.d.ts.map +1 -0
- package/dist/workerTypes.js +24 -0
- package/dist/workerTypes.js.map +1 -0
- package/dist/workers.d.ts +61 -0
- package/dist/workers.d.ts.map +1 -0
- package/dist/workers.js +68 -4
- package/dist/workers.js.map +1 -0
- package/frontend/build/assets/index.js +4 -4
- package/frontend/package.json +1 -1
- package/npm-shrinkwrap.json +5 -35
- package/package.json +7 -7
|
@@ -1,9 +1,35 @@
|
|
|
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
|
+
*/
|
|
1
24
|
import { EventEmitter } from 'node:events';
|
|
2
25
|
import { type AnsiLogger } from 'node-ansi-logger';
|
|
3
26
|
import type { WorkerMessage, WorkerMessageRequest, WorkerMessageRequestAny, WorkerMessageResponse, WorkerMessageResponseSuccess, WorkerMessageTypes, WorkerSrcType } from './broadcastServerTypes.js';
|
|
4
27
|
interface BroadcastServerEvents {
|
|
5
28
|
'broadcast_message': [msg: WorkerMessage];
|
|
6
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* BroadcastServer class to handle broadcast messages between workers with BroadcastChannel.
|
|
32
|
+
*/
|
|
7
33
|
export declare class BroadcastServer extends EventEmitter<BroadcastServerEvents> {
|
|
8
34
|
readonly name: WorkerSrcType;
|
|
9
35
|
private readonly log;
|
|
@@ -12,18 +38,107 @@ export declare class BroadcastServer extends EventEmitter<BroadcastServerEvents>
|
|
|
12
38
|
private closed;
|
|
13
39
|
private readonly debug;
|
|
14
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
|
+
*/
|
|
15
48
|
constructor(name: WorkerSrcType, log: AnsiLogger, channel?: string);
|
|
49
|
+
/**
|
|
50
|
+
* Closes the broadcast channel.
|
|
51
|
+
*
|
|
52
|
+
* @returns {void}
|
|
53
|
+
*/
|
|
16
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
|
+
*/
|
|
17
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
|
+
*/
|
|
18
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
|
+
*/
|
|
19
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
|
+
*/
|
|
20
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
|
+
*/
|
|
21
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
|
+
*/
|
|
22
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
|
+
*/
|
|
23
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
|
+
*/
|
|
24
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
|
+
*/
|
|
25
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
|
+
*/
|
|
26
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
|
+
*/
|
|
27
141
|
fetch<T extends WorkerMessageRequestAny, K extends Extract<keyof WorkerMessageTypes, T['type']>>(message: T, timeout?: number): Promise<WorkerMessageResponseSuccess<K>>;
|
|
28
142
|
}
|
|
29
143
|
export {};
|
|
144
|
+
//# sourceMappingURL=broadcastServer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
package/dist/broadcastServer.js
CHANGED
|
@@ -1,3 +1,27 @@
|
|
|
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
|
+
// eslint-disable-next-line no-console
|
|
1
25
|
if (process.argv.includes('--loader') || process.argv.includes('-loader'))
|
|
2
26
|
console.log('\u001B[32mBroadcastServer loaded.\u001B[40;0m');
|
|
3
27
|
import { EventEmitter } from 'node:events';
|
|
@@ -5,6 +29,9 @@ import { BroadcastChannel } from 'node:worker_threads';
|
|
|
5
29
|
import { CYAN, db, debugStringify, er } from 'node-ansi-logger';
|
|
6
30
|
import { hasParameter } from './utils/commandLine.js';
|
|
7
31
|
import { logError } from './utils/error.js';
|
|
32
|
+
/**
|
|
33
|
+
* BroadcastServer class to handle broadcast messages between workers with BroadcastChannel.
|
|
34
|
+
*/
|
|
8
35
|
export class BroadcastServer extends EventEmitter {
|
|
9
36
|
name;
|
|
10
37
|
log;
|
|
@@ -13,21 +40,40 @@ export class BroadcastServer extends EventEmitter {
|
|
|
13
40
|
closed = false;
|
|
14
41
|
debug = hasParameter('debug') || hasParameter('verbose');
|
|
15
42
|
verbose = hasParameter('verbose');
|
|
43
|
+
/**
|
|
44
|
+
* Creates an instance of BroadcastServer.
|
|
45
|
+
*
|
|
46
|
+
* @param {string} name - The name of the broadcast server.
|
|
47
|
+
* @param {AnsiLogger} log - The logger instance to use for logging.
|
|
48
|
+
* @param {string} channel - The channel name for the broadcast. Default is 'broadcast-channel'.
|
|
49
|
+
*/
|
|
16
50
|
constructor(name, log, channel = 'broadcast-channel') {
|
|
17
51
|
super();
|
|
18
52
|
this.name = name;
|
|
19
53
|
this.log = log;
|
|
20
54
|
this.channel = channel;
|
|
21
55
|
this.broadcastChannel = new BroadcastChannel(this.channel);
|
|
56
|
+
// this.broadcastChannel.unref();
|
|
22
57
|
this.broadcastChannel.onmessage = this.broadcastMessageHandler.bind(this);
|
|
23
58
|
this.broadcastChannel.onmessageerror = this.broadcastMessageErrorHandler.bind(this);
|
|
24
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Closes the broadcast channel.
|
|
62
|
+
*
|
|
63
|
+
* @returns {void}
|
|
64
|
+
*/
|
|
25
65
|
close() {
|
|
26
66
|
this.broadcastChannel.onmessage = null;
|
|
27
67
|
this.broadcastChannel.onmessageerror = null;
|
|
28
68
|
this.broadcastChannel.close();
|
|
29
69
|
this.closed = true;
|
|
30
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* Handles incoming broadcast messages.
|
|
73
|
+
*
|
|
74
|
+
* @param {MessageEvent} event - The message event containing the broadcast message.
|
|
75
|
+
* @returns {void}
|
|
76
|
+
*/
|
|
31
77
|
broadcastMessageHandler(event) {
|
|
32
78
|
const msg = event.data;
|
|
33
79
|
if (msg.dst === this.name || msg.dst === 'all') {
|
|
@@ -40,13 +86,30 @@ export class BroadcastServer extends EventEmitter {
|
|
|
40
86
|
this.log.debug(`Server ${CYAN}${this.name}${db} received unrelated broadcast message: ${debugStringify(msg)}`);
|
|
41
87
|
}
|
|
42
88
|
}
|
|
89
|
+
/**
|
|
90
|
+
* Handles incoming broadcast error messages.
|
|
91
|
+
*
|
|
92
|
+
* @param {MessageEvent} event - The message event containing the broadcast message.
|
|
93
|
+
* @returns {void}
|
|
94
|
+
*/
|
|
43
95
|
broadcastMessageErrorHandler(event) {
|
|
44
96
|
const msg = event.data;
|
|
45
97
|
this.log.error(`Server ${CYAN}${this.name}${db} received message error: ${debugStringify(msg)}`);
|
|
46
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Generate a pseudo-random identifier between 100,000,000 and 999,999,999.
|
|
101
|
+
*
|
|
102
|
+
* @returns {number} A nine-digit identifier.
|
|
103
|
+
*/
|
|
47
104
|
getUniqueId() {
|
|
48
105
|
return Math.floor(Math.random() * 900000000) + 100000000;
|
|
49
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Type guard to verify a value matches the WorkerMessageRequest structure.
|
|
109
|
+
*
|
|
110
|
+
* @param {unknown} value Value to test.
|
|
111
|
+
* @returns {value is WorkerMessageRequest} True when the value looks like a request message.
|
|
112
|
+
*/
|
|
50
113
|
isWorkerRequest(value) {
|
|
51
114
|
if (typeof value !== 'object' || value === null) {
|
|
52
115
|
return false;
|
|
@@ -57,9 +120,22 @@ export class BroadcastServer extends EventEmitter {
|
|
|
57
120
|
}
|
|
58
121
|
return message.result === undefined && message.error === undefined;
|
|
59
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Type guard to verify a value matches a specific WorkerMessageRequest structure.
|
|
125
|
+
*
|
|
126
|
+
* @param {unknown} value Value to test.
|
|
127
|
+
* @param {K} type Worker message type to match.
|
|
128
|
+
* @returns {value is WorkerMessageRequest<K>} True when the value looks like a request message of the requested type.
|
|
129
|
+
*/
|
|
60
130
|
isWorkerRequestOfType(value, type) {
|
|
61
131
|
return this.isWorkerRequest(value) && value.type === type;
|
|
62
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* Type guard to verify a value matches the WorkerMessageResponse structure.
|
|
135
|
+
*
|
|
136
|
+
* @param {unknown} value Value to test.
|
|
137
|
+
* @returns {value is WorkerMessageResponse} True when the value looks like a response message.
|
|
138
|
+
*/
|
|
63
139
|
isWorkerResponse(value) {
|
|
64
140
|
if (typeof value !== 'object' || value === null) {
|
|
65
141
|
return false;
|
|
@@ -72,9 +148,24 @@ export class BroadcastServer extends EventEmitter {
|
|
|
72
148
|
const hasResult = message.result !== undefined;
|
|
73
149
|
return hasError !== hasResult;
|
|
74
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Type guard to verify a value matches a specific WorkerMessageResponse structure.
|
|
153
|
+
*
|
|
154
|
+
* @param {unknown} value Value to test.
|
|
155
|
+
* @param {K} type Worker message type to match.
|
|
156
|
+
* @returns {value is WorkerMessageResponse<K>} True when the value looks like a response message of the requested type.
|
|
157
|
+
*/
|
|
75
158
|
isWorkerResponseOfType(value, type) {
|
|
76
159
|
return this.isWorkerResponse(value) && value.type === type;
|
|
77
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Broadcast a message to all workers.
|
|
163
|
+
*
|
|
164
|
+
* @param {WorkerMessage} message - The message to broadcast.
|
|
165
|
+
* @returns {void}
|
|
166
|
+
*
|
|
167
|
+
* @remarks No checks are performed on the message structure.
|
|
168
|
+
*/
|
|
78
169
|
broadcast(message) {
|
|
79
170
|
if (this.closed) {
|
|
80
171
|
this.log.error('Broadcast channel is closed');
|
|
@@ -96,6 +187,13 @@ export class BroadcastServer extends EventEmitter {
|
|
|
96
187
|
logError(this.log, `Failed to broadcast message ${debugStringify(message)}${er}`, error);
|
|
97
188
|
}
|
|
98
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* Send a request message from the worker implementation.
|
|
192
|
+
*
|
|
193
|
+
* @template K
|
|
194
|
+
* @param {WorkerMessageRequest<K>} message The request message to send.
|
|
195
|
+
* @returns {void}
|
|
196
|
+
*/
|
|
99
197
|
request(message) {
|
|
100
198
|
if (this.closed) {
|
|
101
199
|
this.log.error('Broadcast channel is closed');
|
|
@@ -121,6 +219,14 @@ export class BroadcastServer extends EventEmitter {
|
|
|
121
219
|
logError(this.log, `Failed to broadcast request message ${debugStringify(message)}${er}`, error);
|
|
122
220
|
}
|
|
123
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* Send a response message from the worker implementation.
|
|
224
|
+
* It also calculates the elapsed time since the request was sent and swaps the source and destination fields.
|
|
225
|
+
*
|
|
226
|
+
* @template K
|
|
227
|
+
* @param {WorkerMessageResponse<K>} message The response message to send.
|
|
228
|
+
* @returns {void}
|
|
229
|
+
*/
|
|
124
230
|
respond(message) {
|
|
125
231
|
if (this.closed) {
|
|
126
232
|
this.log.error('Broadcast channel is closed');
|
|
@@ -149,6 +255,16 @@ export class BroadcastServer extends EventEmitter {
|
|
|
149
255
|
logError(this.log, `Failed to broadcast response message ${debugStringify(message)}${er}`, error);
|
|
150
256
|
}
|
|
151
257
|
}
|
|
258
|
+
/**
|
|
259
|
+
* Fetch data from a worker.
|
|
260
|
+
* It broadcasts a request message and waits for a valid response with the same id.
|
|
261
|
+
*
|
|
262
|
+
* @template K
|
|
263
|
+
* @param {WorkerMessageRequest<K>} message - The typed request message to fetch.
|
|
264
|
+
* @param {number} timeout - The timeout in milliseconds to wait for a response. Default is 250ms.
|
|
265
|
+
* @returns {Promise<WorkerMessageResponseSuccess<K>>} A promise that resolves with the successful response from the worker or rejects on timeout.
|
|
266
|
+
* @throws {Error} If the fetch operation times out after 250ms or if an error response is received or if the response is malformed.
|
|
267
|
+
*/
|
|
152
268
|
async fetch(message, timeout = 250) {
|
|
153
269
|
if (this.closed) {
|
|
154
270
|
return Promise.reject(new Error('Broadcast channel is closed'));
|
|
@@ -189,3 +305,4 @@ export class BroadcastServer extends EventEmitter {
|
|
|
189
305
|
});
|
|
190
306
|
}
|
|
191
307
|
}
|
|
308
|
+
//# sourceMappingURL=broadcastServer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcastServer.js","sourceRoot":"","sources":["../src/broadcastServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file contains the BroadcastServer types.
|
|
3
|
+
*
|
|
4
|
+
* @file broadcastServerTypes.ts
|
|
5
|
+
* @author Luca Liguori
|
|
6
|
+
* @created 2025-10-05
|
|
7
|
+
* @version 2.0.0
|
|
8
|
+
* @license Apache-2.0
|
|
9
|
+
*
|
|
10
|
+
* Copyright 2025, 2026, 2027 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
|
+
*/
|
|
1
24
|
import { LogLevel } from 'node-ansi-logger';
|
|
2
25
|
import { EndpointNumber } from '@matter/types/datatype';
|
|
3
26
|
import { RefreshRequiredChanged, WsMessageBroadcast } from './frontendTypes.js';
|
|
4
27
|
import type { PlatformConfig, PlatformSchema } from './matterbridgePlatform.js';
|
|
5
28
|
import type { ApiMatter, ApiPlugin, BaseDevice, Plugin, StoragePlugin } from './matterbridgeTypes.js';
|
|
29
|
+
/** Types of worker source */
|
|
6
30
|
export type WorkerSrcType = 'manager' | 'matterbridge' | 'plugins' | 'devices' | 'frontend' | 'matter' | 'platform' | 'spawn' | 'updates';
|
|
31
|
+
/** Types of worker destination */
|
|
7
32
|
export type WorkerDstType = 'manager' | 'matterbridge' | 'plugins' | 'devices' | 'frontend' | 'matter' | 'platform' | 'spawn' | 'updates' | 'all';
|
|
33
|
+
/** Normalized message request structure */
|
|
8
34
|
type NormalizeRequest<T> = T extends {
|
|
9
35
|
params: infer P;
|
|
10
36
|
} ? ([P] extends [undefined] ? {
|
|
@@ -12,6 +38,7 @@ type NormalizeRequest<T> = T extends {
|
|
|
12
38
|
} : {
|
|
13
39
|
params: P;
|
|
14
40
|
}) : Record<never, never>;
|
|
41
|
+
/** Message request structure with id, timestamp, src and dst */
|
|
15
42
|
type WorkerMessageRequestMap = {
|
|
16
43
|
[K in keyof WorkerMessageTypes]: {
|
|
17
44
|
type: K;
|
|
@@ -21,16 +48,21 @@ type WorkerMessageRequestMap = {
|
|
|
21
48
|
dst: WorkerDstType;
|
|
22
49
|
} & NormalizeRequest<WorkerMessageTypes[K]['request']>;
|
|
23
50
|
};
|
|
51
|
+
/** Message request structure with id, timestamp, src and dst */
|
|
24
52
|
export type WorkerMessageRequest<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageRequestMap[K];
|
|
53
|
+
/** Normalized message response success structure that guarantees a successful result */
|
|
25
54
|
type NormalizeResponseSuccess<T> = T & {
|
|
26
55
|
error?: never;
|
|
27
56
|
};
|
|
57
|
+
/** Normalized message response error structure that guarantees an error-only payload */
|
|
28
58
|
type NormalizeResponseError<T> = {
|
|
29
59
|
error: string;
|
|
30
60
|
} & {
|
|
31
61
|
[K in keyof T]?: never;
|
|
32
62
|
};
|
|
63
|
+
/** Normalized message response structure */
|
|
33
64
|
type NormalizeResponse<T> = NormalizeResponseSuccess<T> | NormalizeResponseError<T>;
|
|
65
|
+
/** Message response structure with id, timestamp, elapsed, src and dst */
|
|
34
66
|
type WorkerMessageResponseMap = {
|
|
35
67
|
[K in keyof WorkerMessageTypes]: {
|
|
36
68
|
type: K;
|
|
@@ -41,7 +73,9 @@ type WorkerMessageResponseMap = {
|
|
|
41
73
|
dst: WorkerDstType;
|
|
42
74
|
} & NormalizeResponse<WorkerMessageTypes[K]['response']>;
|
|
43
75
|
};
|
|
76
|
+
/** Message response structure with id, timestamp, elapsed, src and dst */
|
|
44
77
|
export type WorkerMessageResponse<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageResponseMap[K];
|
|
78
|
+
/** Message response success structure that guarantees a successful result */
|
|
45
79
|
type WorkerMessageResponseSuccessMap = {
|
|
46
80
|
[K in keyof WorkerMessageTypes]: {
|
|
47
81
|
type: K;
|
|
@@ -52,7 +86,9 @@ type WorkerMessageResponseSuccessMap = {
|
|
|
52
86
|
dst: WorkerDstType;
|
|
53
87
|
} & NormalizeResponseSuccess<WorkerMessageTypes[K]['response']>;
|
|
54
88
|
};
|
|
89
|
+
/** Message response success structure that guarantees a successful result */
|
|
55
90
|
export type WorkerMessageResponseSuccess<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageResponseSuccessMap[K];
|
|
91
|
+
/** Message response error structure */
|
|
56
92
|
type WorkerMessageResponseErrorMap = {
|
|
57
93
|
[K in keyof WorkerMessageTypes]: {
|
|
58
94
|
type: K;
|
|
@@ -63,11 +99,17 @@ type WorkerMessageResponseErrorMap = {
|
|
|
63
99
|
dst: WorkerDstType;
|
|
64
100
|
} & NormalizeResponseError<WorkerMessageTypes[K]['response']>;
|
|
65
101
|
};
|
|
102
|
+
/** Message response error structure */
|
|
66
103
|
export type WorkerMessageResponseError<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageResponseErrorMap[K];
|
|
104
|
+
/** Convenience alias for any worker request */
|
|
67
105
|
export type WorkerMessageRequestAny = WorkerMessageRequest<keyof WorkerMessageTypes>;
|
|
106
|
+
/** Resolve a successful response type based on the originating request */
|
|
68
107
|
export type WorkerMessageResponseSuccessForRequest<T extends WorkerMessageRequestAny> = WorkerMessageResponseSuccess<Extract<keyof WorkerMessageTypes, T['type']>>;
|
|
108
|
+
/** Resolve an error response type based on the originating request */
|
|
69
109
|
export type WorkerMessageResponseErrorForRequest<T extends WorkerMessageRequestAny> = WorkerMessageResponseError<Extract<keyof WorkerMessageTypes, T['type']>>;
|
|
110
|
+
/** Union type for WorkerMessageRequest and WorkerMessageResponse */
|
|
70
111
|
export type WorkerMessage<K extends keyof WorkerMessageTypes = keyof WorkerMessageTypes> = WorkerMessageRequest<K> | WorkerMessageResponse<K> | WorkerMessageResponseSuccess<K> | WorkerMessageResponseError<K>;
|
|
112
|
+
/** Map of all worker message types with their request and response structures */
|
|
71
113
|
export type WorkerMessageTypes = {
|
|
72
114
|
'jest': {
|
|
73
115
|
request: {
|
|
@@ -796,3 +838,4 @@ export type WorkerMessageTypes = {
|
|
|
796
838
|
};
|
|
797
839
|
};
|
|
798
840
|
export {};
|
|
841
|
+
//# sourceMappingURL=broadcastServerTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcastServerTypes.d.ts","sourceRoot":"","sources":["../src/broadcastServerTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file contains the BroadcastServer types.
|
|
3
|
+
*
|
|
4
|
+
* @file broadcastServerTypes.ts
|
|
5
|
+
* @author Luca Liguori
|
|
6
|
+
* @created 2025-10-05
|
|
7
|
+
* @version 2.0.0
|
|
8
|
+
* @license Apache-2.0
|
|
9
|
+
*
|
|
10
|
+
* Copyright 2025, 2026, 2027 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
|
+
*/
|
|
1
24
|
export {};
|
|
25
|
+
//# sourceMappingURL=broadcastServerTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcastServerTypes.js","sourceRoot":"","sources":["../src/broadcastServerTypes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG"}
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,6 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file contains the CLI entry point of Matterbridge.
|
|
3
|
+
*
|
|
4
|
+
* @file cli.ts
|
|
5
|
+
* @author Luca Liguori
|
|
6
|
+
* @created 2023-12-29
|
|
7
|
+
* @version 3.0.0
|
|
8
|
+
* @license Apache-2.0
|
|
9
|
+
*
|
|
10
|
+
* Copyright 2023, 2024, 2025 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
|
+
*/
|
|
1
24
|
import type { Matterbridge } from './matterbridge.js';
|
|
2
25
|
import { Tracker } from './utils/tracker.js';
|
|
3
26
|
import { Inspector } from './utils/inspector.js';
|
|
4
27
|
export declare let instance: Matterbridge | undefined;
|
|
5
28
|
export declare const tracker: Tracker;
|
|
6
29
|
export declare const inspector: Inspector;
|
|
30
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAaH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,EAAE,OAAO,EAAmB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,eAAO,IAAI,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;AAC9C,eAAO,MAAM,OAAO,SAAmC,CAAC;AACxD,eAAO,MAAM,SAAS,WAAqC,CAAC"}
|