matterbridge 3.5.0 → 3.5.1-dev-20260121-22e98b4
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 +14 -0
- package/bin/mb_coap.js +1 -1
- package/bin/mb_mdns.js +1 -1
- package/dist/broadcastServer.d.ts +0 -115
- package/dist/broadcastServer.js +1 -119
- package/dist/broadcastServerTypes.d.ts +0 -43
- package/dist/broadcastServerTypes.js +0 -24
- package/dist/cli.d.ts +1 -26
- package/dist/cli.js +2 -102
- package/dist/cliEmitter.d.ts +0 -36
- package/dist/cliEmitter.js +0 -37
- package/dist/cliHistory.d.ts +0 -42
- package/dist/cliHistory.js +1 -39
- package/dist/clusters/export.d.ts +0 -1
- package/dist/clusters/export.js +0 -2
- package/dist/deviceManager.d.ts +0 -108
- package/dist/deviceManager.js +2 -114
- package/dist/devices/airConditioner.d.ts +0 -75
- package/dist/devices/airConditioner.js +0 -57
- package/dist/devices/batteryStorage.d.ts +0 -43
- package/dist/devices/batteryStorage.js +1 -48
- package/dist/devices/cooktop.d.ts +0 -55
- package/dist/devices/cooktop.js +0 -56
- package/dist/devices/dishwasher.d.ts +0 -55
- package/dist/devices/dishwasher.js +0 -57
- package/dist/devices/evse.d.ts +0 -57
- package/dist/devices/evse.js +10 -74
- package/dist/devices/export.d.ts +0 -1
- package/dist/devices/export.js +0 -5
- package/dist/devices/extractorHood.d.ts +0 -41
- package/dist/devices/extractorHood.js +0 -43
- package/dist/devices/heatPump.d.ts +0 -43
- package/dist/devices/heatPump.js +2 -50
- package/dist/devices/laundryDryer.d.ts +0 -58
- package/dist/devices/laundryDryer.js +3 -62
- package/dist/devices/laundryWasher.d.ts +0 -64
- package/dist/devices/laundryWasher.js +4 -70
- package/dist/devices/microwaveOven.d.ts +1 -77
- package/dist/devices/microwaveOven.js +5 -88
- package/dist/devices/oven.d.ts +0 -82
- package/dist/devices/oven.js +0 -85
- package/dist/devices/refrigerator.d.ts +0 -100
- package/dist/devices/refrigerator.js +0 -102
- package/dist/devices/roboticVacuumCleaner.d.ts +0 -83
- package/dist/devices/roboticVacuumCleaner.js +9 -100
- package/dist/devices/solarPower.d.ts +0 -36
- package/dist/devices/solarPower.js +0 -38
- package/dist/devices/speaker.d.ts +0 -79
- package/dist/devices/speaker.js +0 -84
- package/dist/devices/temperatureControl.d.ts +0 -21
- package/dist/devices/temperatureControl.js +3 -24
- package/dist/devices/waterHeater.d.ts +0 -74
- package/dist/devices/waterHeater.js +2 -82
- package/dist/frontend.d.ts +0 -187
- package/dist/frontend.js +39 -505
- package/dist/frontendTypes.d.ts +0 -57
- package/dist/frontendTypes.js +0 -45
- package/dist/helpers.d.ts +0 -43
- package/dist/helpers.js +1 -54
- package/dist/index.d.ts +0 -23
- package/dist/index.js +0 -25
- package/dist/jestutils/export.d.ts +0 -1
- package/dist/jestutils/export.js +0 -1
- package/dist/jestutils/jestHelpers.d.ts +0 -255
- package/dist/jestutils/jestHelpers.js +14 -372
- package/dist/logger/export.d.ts +0 -1
- package/dist/logger/export.js +0 -1
- package/dist/matter/behaviors.d.ts +0 -1
- package/dist/matter/behaviors.js +0 -2
- package/dist/matter/clusters.d.ts +0 -1
- package/dist/matter/clusters.js +0 -2
- package/dist/matter/devices.d.ts +0 -1
- package/dist/matter/devices.js +0 -2
- package/dist/matter/endpoints.d.ts +0 -1
- package/dist/matter/endpoints.js +0 -2
- package/dist/matter/export.d.ts +0 -1
- package/dist/matter/export.js +0 -2
- package/dist/matter/types.d.ts +0 -1
- package/dist/matter/types.js +0 -2
- package/dist/matterNode.d.ts +0 -258
- package/dist/matterNode.js +9 -364
- package/dist/matterbridge.d.ts +0 -362
- package/dist/matterbridge.js +60 -860
- package/dist/matterbridgeAccessoryPlatform.d.ts +0 -36
- package/dist/matterbridgeAccessoryPlatform.js +0 -38
- package/dist/matterbridgeBehaviors.d.ts +0 -24
- package/dist/matterbridgeBehaviors.js +5 -68
- package/dist/matterbridgeDeviceTypes.d.ts +0 -649
- package/dist/matterbridgeDeviceTypes.js +6 -673
- package/dist/matterbridgeDynamicPlatform.d.ts +0 -36
- package/dist/matterbridgeDynamicPlatform.js +0 -38
- package/dist/matterbridgeEndpoint.d.ts +2 -1332
- package/dist/matterbridgeEndpoint.js +94 -1459
- package/dist/matterbridgeEndpointHelpers.d.ts +0 -425
- package/dist/matterbridgeEndpointHelpers.js +21 -486
- package/dist/matterbridgeEndpointTypes.d.ts +0 -70
- package/dist/matterbridgeEndpointTypes.js +0 -25
- package/dist/matterbridgePlatform.d.ts +0 -425
- package/dist/matterbridgePlatform.js +2 -453
- package/dist/matterbridgeTypes.d.ts +0 -46
- package/dist/matterbridgeTypes.js +0 -26
- package/dist/mb_coap.d.ts +1 -0
- package/dist/{dgram/mb_coap.js → mb_coap.js} +3 -41
- package/dist/mb_mdns.d.ts +1 -0
- package/dist/{dgram/mb_mdns.js → mb_mdns.js} +37 -81
- package/dist/pluginManager.d.ts +0 -305
- package/dist/pluginManager.js +8 -345
- package/dist/shelly.d.ts +0 -157
- package/dist/shelly.js +7 -178
- package/dist/spawn.d.ts +1 -0
- package/dist/{utils/spawn.js → spawn.js} +3 -73
- package/dist/storage/export.d.ts +0 -1
- package/dist/storage/export.js +0 -1
- package/dist/update.d.ts +0 -75
- package/dist/update.js +7 -100
- package/dist/utils/export.d.ts +1 -13
- package/dist/utils/export.js +1 -13
- package/dist/workerGlobalPrefix.d.ts +0 -24
- package/dist/workerGlobalPrefix.js +6 -40
- package/dist/workerTypes.d.ts +0 -25
- package/dist/workerTypes.js +0 -24
- package/dist/workers.d.ts +0 -61
- package/dist/workers.js +4 -68
- package/npm-shrinkwrap.json +35 -5
- package/package.json +5 -5
- package/dist/broadcastServer.d.ts.map +0 -1
- package/dist/broadcastServer.js.map +0 -1
- package/dist/broadcastServerTypes.d.ts.map +0 -1
- package/dist/broadcastServerTypes.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/cliEmitter.d.ts.map +0 -1
- package/dist/cliEmitter.js.map +0 -1
- package/dist/cliHistory.d.ts.map +0 -1
- package/dist/cliHistory.js.map +0 -1
- package/dist/clusters/export.d.ts.map +0 -1
- package/dist/clusters/export.js.map +0 -1
- package/dist/deviceManager.d.ts.map +0 -1
- package/dist/deviceManager.js.map +0 -1
- package/dist/devices/airConditioner.d.ts.map +0 -1
- package/dist/devices/airConditioner.js.map +0 -1
- package/dist/devices/batteryStorage.d.ts.map +0 -1
- package/dist/devices/batteryStorage.js.map +0 -1
- package/dist/devices/cooktop.d.ts.map +0 -1
- package/dist/devices/cooktop.js.map +0 -1
- package/dist/devices/dishwasher.d.ts.map +0 -1
- package/dist/devices/dishwasher.js.map +0 -1
- package/dist/devices/evse.d.ts.map +0 -1
- package/dist/devices/evse.js.map +0 -1
- package/dist/devices/export.d.ts.map +0 -1
- package/dist/devices/export.js.map +0 -1
- package/dist/devices/extractorHood.d.ts.map +0 -1
- package/dist/devices/extractorHood.js.map +0 -1
- package/dist/devices/heatPump.d.ts.map +0 -1
- package/dist/devices/heatPump.js.map +0 -1
- package/dist/devices/laundryDryer.d.ts.map +0 -1
- package/dist/devices/laundryDryer.js.map +0 -1
- package/dist/devices/laundryWasher.d.ts.map +0 -1
- package/dist/devices/laundryWasher.js.map +0 -1
- package/dist/devices/microwaveOven.d.ts.map +0 -1
- package/dist/devices/microwaveOven.js.map +0 -1
- package/dist/devices/oven.d.ts.map +0 -1
- package/dist/devices/oven.js.map +0 -1
- package/dist/devices/refrigerator.d.ts.map +0 -1
- package/dist/devices/refrigerator.js.map +0 -1
- package/dist/devices/roboticVacuumCleaner.d.ts.map +0 -1
- package/dist/devices/roboticVacuumCleaner.js.map +0 -1
- package/dist/devices/solarPower.d.ts.map +0 -1
- package/dist/devices/solarPower.js.map +0 -1
- package/dist/devices/speaker.d.ts.map +0 -1
- package/dist/devices/speaker.js.map +0 -1
- package/dist/devices/temperatureControl.d.ts.map +0 -1
- package/dist/devices/temperatureControl.js.map +0 -1
- 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 +0 -365
- package/dist/dgram/coap.js.map +0 -1
- package/dist/dgram/dgram.d.ts +0 -144
- package/dist/dgram/dgram.d.ts.map +0 -1
- package/dist/dgram/dgram.js +0 -363
- 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 +0 -934
- package/dist/dgram/mdns.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 +0 -179
- 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 +0 -100
- package/dist/dgram/unicast.js.map +0 -1
- package/dist/frontend.d.ts.map +0 -1
- package/dist/frontend.js.map +0 -1
- package/dist/frontendTypes.d.ts.map +0 -1
- package/dist/frontendTypes.js.map +0 -1
- package/dist/helpers.d.ts.map +0 -1
- package/dist/helpers.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/jestutils/export.d.ts.map +0 -1
- package/dist/jestutils/export.js.map +0 -1
- package/dist/jestutils/jestHelpers.d.ts.map +0 -1
- package/dist/jestutils/jestHelpers.js.map +0 -1
- package/dist/logger/export.d.ts.map +0 -1
- package/dist/logger/export.js.map +0 -1
- package/dist/matter/behaviors.d.ts.map +0 -1
- package/dist/matter/behaviors.js.map +0 -1
- package/dist/matter/clusters.d.ts.map +0 -1
- package/dist/matter/clusters.js.map +0 -1
- package/dist/matter/devices.d.ts.map +0 -1
- package/dist/matter/devices.js.map +0 -1
- package/dist/matter/endpoints.d.ts.map +0 -1
- package/dist/matter/endpoints.js.map +0 -1
- package/dist/matter/export.d.ts.map +0 -1
- package/dist/matter/export.js.map +0 -1
- package/dist/matter/types.d.ts.map +0 -1
- package/dist/matter/types.js.map +0 -1
- package/dist/matterNode.d.ts.map +0 -1
- package/dist/matterNode.js.map +0 -1
- package/dist/matterbridge.d.ts.map +0 -1
- package/dist/matterbridge.js.map +0 -1
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +0 -1
- package/dist/matterbridgeAccessoryPlatform.js.map +0 -1
- package/dist/matterbridgeBehaviors.d.ts.map +0 -1
- package/dist/matterbridgeBehaviors.js.map +0 -1
- package/dist/matterbridgeDeviceTypes.d.ts.map +0 -1
- package/dist/matterbridgeDeviceTypes.js.map +0 -1
- package/dist/matterbridgeDynamicPlatform.d.ts.map +0 -1
- package/dist/matterbridgeDynamicPlatform.js.map +0 -1
- package/dist/matterbridgeEndpoint.d.ts.map +0 -1
- package/dist/matterbridgeEndpoint.js.map +0 -1
- package/dist/matterbridgeEndpointHelpers.d.ts.map +0 -1
- package/dist/matterbridgeEndpointHelpers.js.map +0 -1
- package/dist/matterbridgeEndpointTypes.d.ts.map +0 -1
- package/dist/matterbridgeEndpointTypes.js.map +0 -1
- package/dist/matterbridgePlatform.d.ts.map +0 -1
- package/dist/matterbridgePlatform.js.map +0 -1
- package/dist/matterbridgeTypes.d.ts.map +0 -1
- package/dist/matterbridgeTypes.js.map +0 -1
- package/dist/pluginManager.d.ts.map +0 -1
- package/dist/pluginManager.js.map +0 -1
- package/dist/shelly.d.ts.map +0 -1
- package/dist/shelly.js.map +0 -1
- package/dist/storage/export.d.ts.map +0 -1
- package/dist/storage/export.js.map +0 -1
- 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 +0 -282
- 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 +0 -123
- 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 +0 -76
- 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 +0 -54
- 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 +0 -114
- 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 +0 -79
- 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 +0 -129
- 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 +0 -54
- package/dist/utils/error.js.map +0 -1
- 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 +0 -78
- 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 +0 -242
- 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 +0 -268
- 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 +0 -162
- package/dist/utils/isValid.js.map +0 -1
- package/dist/utils/network.d.ts +0 -141
- package/dist/utils/network.d.ts.map +0 -1
- package/dist/utils/network.js +0 -314
- 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 +0 -264
- 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 +0 -125
- package/dist/utils/wait.js.map +0 -1
- package/dist/workerGlobalPrefix.d.ts.map +0 -1
- package/dist/workerGlobalPrefix.js.map +0 -1
- package/dist/workerTypes.d.ts.map +0 -1
- package/dist/workerTypes.js.map +0 -1
- package/dist/workers.d.ts.map +0 -1
- package/dist/workers.js.map +0 -1
package/dist/utils/network.js
DELETED
|
@@ -1,314 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description This file contains the network functions.
|
|
3
|
-
* @file network.ts
|
|
4
|
-
* @author Luca Liguori
|
|
5
|
-
* @created 2024-02-17
|
|
6
|
-
* @version 1.0.2
|
|
7
|
-
* @license Apache-2.0
|
|
8
|
-
*
|
|
9
|
-
* Copyright 2024, 2025, 2026 Luca Liguori.
|
|
10
|
-
*
|
|
11
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
-
* you may not use this file except in compliance with the License.
|
|
13
|
-
* You may obtain a copy of the License at
|
|
14
|
-
*
|
|
15
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
-
*
|
|
17
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
-
* See the License for the specific language governing permissions and
|
|
21
|
-
* limitations under the License.
|
|
22
|
-
*/
|
|
23
|
-
// Node.js modules
|
|
24
|
-
import os from 'node:os';
|
|
25
|
-
// AnsiLogger module
|
|
26
|
-
import { AnsiLogger, BLUE, CYAN, nf } from 'node-ansi-logger';
|
|
27
|
-
/**
|
|
28
|
-
* Retrieves the first non-internal network interface details.
|
|
29
|
-
*
|
|
30
|
-
* @returns {os.NetworkInterfaceInfo | undefined} The details of the selected network interface, or undefined if not found.
|
|
31
|
-
*/
|
|
32
|
-
export function getInterfaceDetails() {
|
|
33
|
-
const result = { interfaceName: '', ipv4Address: undefined, ipv6Address: undefined, macAddress: undefined };
|
|
34
|
-
for (const [interfaceName, interfaceDetails] of Object.entries(os.networkInterfaces())) {
|
|
35
|
-
if (!interfaceName || !interfaceDetails || interfaceDetails.length === 0)
|
|
36
|
-
continue;
|
|
37
|
-
for (const detail of interfaceDetails) {
|
|
38
|
-
if (detail.internal)
|
|
39
|
-
continue;
|
|
40
|
-
if (!result.interfaceName)
|
|
41
|
-
result.interfaceName = interfaceName;
|
|
42
|
-
if (interfaceName === result.interfaceName && !result.ipv4Address && detail.family === 'IPv4')
|
|
43
|
-
result.ipv4Address = detail.address;
|
|
44
|
-
if (interfaceName === result.interfaceName && !result.ipv6Address && detail.family === 'IPv6')
|
|
45
|
-
result.ipv6Address = detail.address;
|
|
46
|
-
if (interfaceName === result.interfaceName && !result.macAddress)
|
|
47
|
-
result.macAddress = detail.mac;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
if (result.interfaceName)
|
|
51
|
-
return result;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Retrieves the first non-internal network interface name.
|
|
55
|
-
*
|
|
56
|
-
* @returns {string | undefined} The name of the selected network interface, or undefined if not found.
|
|
57
|
-
*/
|
|
58
|
-
export function getInterfaceName() {
|
|
59
|
-
for (const [interfaceName, interfaceDetails] of Object.entries(os.networkInterfaces())) {
|
|
60
|
-
if (!interfaceName || !interfaceDetails || interfaceDetails.length === 0)
|
|
61
|
-
continue;
|
|
62
|
-
for (const detail of interfaceDetails) {
|
|
63
|
-
if (!detail.internal)
|
|
64
|
-
return interfaceName;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Retrieves the IPv4 address of the first non-internal network interface.
|
|
70
|
-
*
|
|
71
|
-
* @returns {string | undefined} The IPv4 address of the selected network interface, or undefined if not found.
|
|
72
|
-
*
|
|
73
|
-
* @remarks
|
|
74
|
-
* Type of ipv4 addresses:
|
|
75
|
-
* - 192.168.x.x, 10.x.x.x, 172.16–31.x.x: RFC 1918 = Private networks
|
|
76
|
-
* - 172.16.0.0 → 172.31.255.255: RFC 1918 = Private IP address used inside local networks, VMs, WSL2 and containers
|
|
77
|
-
* - 169.254.0.0 → 169.254.255.255: APIPA = Automatic Private IP Addressing used when a device fails to obtain an IP address via DHCP
|
|
78
|
-
* - 100.64.0.0 → 100.127.255.255: CGNAT = Carrier-Grade NAT RFC 6598 = Shared Address Space
|
|
79
|
-
*/
|
|
80
|
-
export function getIpv4InterfaceAddress() {
|
|
81
|
-
for (const [interfaceName, interfaceDetails] of Object.entries(os.networkInterfaces())) {
|
|
82
|
-
if (!interfaceName || !interfaceDetails || interfaceDetails.length === 0)
|
|
83
|
-
continue;
|
|
84
|
-
for (const detail of interfaceDetails) {
|
|
85
|
-
if (detail.family === 'IPv4' && !detail.internal)
|
|
86
|
-
return detail.address;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Retrieves the IPv6 address of the first non-internal network interface.
|
|
92
|
-
*
|
|
93
|
-
* If `scope` is true, appends a zone id (scope) for link-local addresses when
|
|
94
|
-
* available:
|
|
95
|
-
* - On Windows: uses `%<scopeid>` (e.g. `...%11`)
|
|
96
|
-
* - On other platforms: uses `%<interfaceName>` (e.g. `...%eth0`)
|
|
97
|
-
*
|
|
98
|
-
* @param {boolean} [scope] - Whether to append a zone id when available.
|
|
99
|
-
* @returns {string | undefined} The IPv6 address of the selected network interface, or undefined if not found.
|
|
100
|
-
*
|
|
101
|
-
* @remarks
|
|
102
|
-
* Type of IPv6 addresses (preferred order for Matter)
|
|
103
|
-
*
|
|
104
|
-
* fd00::/8
|
|
105
|
-
* - IPv6 ULA (Unique Local Address)
|
|
106
|
-
* - Private IPv6 networks (RFC 4193)
|
|
107
|
-
* - ✔ PREFERRED
|
|
108
|
-
*
|
|
109
|
-
* 2000::/3
|
|
110
|
-
* - Global Unicast IPv6
|
|
111
|
-
* - Publicly routable IPv6
|
|
112
|
-
* - ⚠ OPTIONAL (advanced setups only)
|
|
113
|
-
*
|
|
114
|
-
* fe80::/10
|
|
115
|
-
* - IPv6 Link-Local
|
|
116
|
-
* - Interface-scoped only, non-routable
|
|
117
|
-
*/
|
|
118
|
-
export function getIpv6InterfaceAddress(scope = false) {
|
|
119
|
-
for (const [interfaceName, interfaceDetails] of Object.entries(os.networkInterfaces())) {
|
|
120
|
-
if (!interfaceName || !interfaceDetails || interfaceDetails.length === 0)
|
|
121
|
-
continue;
|
|
122
|
-
for (const detail of interfaceDetails) {
|
|
123
|
-
if (detail.family === 'IPv6' && !detail.internal) {
|
|
124
|
-
const address = detail.address;
|
|
125
|
-
if (!scope)
|
|
126
|
-
return address;
|
|
127
|
-
// Defensive check: if already has a zone id, keep it. Should never happen from os.networkInterfaces().
|
|
128
|
-
if (address.includes('%'))
|
|
129
|
-
return address;
|
|
130
|
-
const isWindows = os.platform() === 'win32';
|
|
131
|
-
const zoneId = isWindows ? detail.scopeid : interfaceName;
|
|
132
|
-
if (zoneId !== undefined && zoneId !== null && `${zoneId}`.length > 0) {
|
|
133
|
-
return `${address}%${zoneId}`;
|
|
134
|
-
}
|
|
135
|
-
return address;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Retrieves the mac address of the first non-internal network interface.
|
|
142
|
-
*
|
|
143
|
-
* @returns {string | undefined} The mac address, or undefined if not found.
|
|
144
|
-
*/
|
|
145
|
-
export function getMacAddress() {
|
|
146
|
-
for (const [interfaceName, interfaceDetails] of Object.entries(os.networkInterfaces())) {
|
|
147
|
-
if (!interfaceName || !interfaceDetails || interfaceDetails.length === 0)
|
|
148
|
-
continue;
|
|
149
|
-
for (const detail of interfaceDetails) {
|
|
150
|
-
if (!detail.internal)
|
|
151
|
-
return detail.mac;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Logs the available network interfaces and their details.
|
|
157
|
-
*
|
|
158
|
-
* @returns {void}
|
|
159
|
-
*/
|
|
160
|
-
export function logInterfaces() {
|
|
161
|
-
const log = new AnsiLogger({ logName: 'MatterbridgeUtils', logTimestampFormat: 4 /* TimestampFormat.TIME_MILLIS */, logLevel: "info" /* LogLevel.INFO */ });
|
|
162
|
-
log.logLevel = "info" /* LogLevel.INFO */;
|
|
163
|
-
log.logName = 'LogInterfaces';
|
|
164
|
-
log.info('Available Network Interfaces:');
|
|
165
|
-
const availableAddresses = Object.entries(os.networkInterfaces());
|
|
166
|
-
for (const [ifaceName, ifaces] of availableAddresses) {
|
|
167
|
-
if (ifaces && ifaces.length > 0) {
|
|
168
|
-
log.info(`Network interface ${BLUE}${ifaceName}${nf}:`);
|
|
169
|
-
ifaces.forEach((iface) => {
|
|
170
|
-
log.info(`- ${CYAN}${iface.family}${nf} address ${CYAN}${iface.address}${nf} netmask ${CYAN}${iface.netmask}${nf} mac ${CYAN}${iface.mac}${nf}` +
|
|
171
|
-
`${iface.scopeid ? ` scopeid ${CYAN}${iface.scopeid}${nf}` : ''}${iface.cidr ? ` cidr ${CYAN}${iface.cidr}${nf}` : ''} ${CYAN}${iface.internal ? 'internal' : 'external'}${nf}`);
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Resolves the given hostname to an IP address.
|
|
178
|
-
*
|
|
179
|
-
* @param {string} hostname - The hostname to resolve.
|
|
180
|
-
* @param {0 | 4 | 6} [family] - The address family to use (0 for any, 4 for IPv4, 6 for IPv6). Default is 4.
|
|
181
|
-
* @returns {Promise<string | null>} - A promise that resolves to the IP address or null if not found.
|
|
182
|
-
*
|
|
183
|
-
* @remarks
|
|
184
|
-
* This function uses DNS lookup to resolve the hostname, which can take some time to complete.
|
|
185
|
-
*/
|
|
186
|
-
export async function resolveHostname(hostname, family = 4) {
|
|
187
|
-
const dns = await import('node:dns');
|
|
188
|
-
try {
|
|
189
|
-
const addresses = await dns.promises.lookup(hostname.toLowerCase() /* + '.local'*/, { family });
|
|
190
|
-
return addresses.address;
|
|
191
|
-
}
|
|
192
|
-
catch (_error) {
|
|
193
|
-
return null;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Retrieves the version of an npm package from the npm registry.
|
|
198
|
-
*
|
|
199
|
-
* @param {string} packageName - The name of the npm package.
|
|
200
|
-
* @param {string} [tag] - The tag of the package version to retrieve (default is 'latest').
|
|
201
|
-
* @param {number} [timeout] - The timeout duration in milliseconds (default is 10000ms).
|
|
202
|
-
* @returns {Promise<string>} A promise that resolves to the version string of the package.
|
|
203
|
-
* @throws {Error} If the request fails or the tag is not found.
|
|
204
|
-
*/
|
|
205
|
-
export async function getNpmPackageVersion(packageName, tag = 'latest', timeout = 10000) {
|
|
206
|
-
const https = await import('node:https');
|
|
207
|
-
return new Promise((resolve, reject) => {
|
|
208
|
-
const url = `https://registry.npmjs.org/${packageName}`;
|
|
209
|
-
const controller = new AbortController();
|
|
210
|
-
const timeoutId = setTimeout(() => {
|
|
211
|
-
controller.abort();
|
|
212
|
-
reject(new Error(`Request timed out after ${timeout / 1000} seconds`));
|
|
213
|
-
}, timeout);
|
|
214
|
-
const req = https.get(url, { signal: controller.signal }, (res) => {
|
|
215
|
-
let data = '';
|
|
216
|
-
if (res.statusCode !== 200) {
|
|
217
|
-
clearTimeout(timeoutId);
|
|
218
|
-
res.resume(); // Discard response data to close the socket properly
|
|
219
|
-
reject(new Error(`Failed to fetch data. Status code: ${res.statusCode}`));
|
|
220
|
-
return;
|
|
221
|
-
}
|
|
222
|
-
res.on('data', (chunk) => {
|
|
223
|
-
data += chunk;
|
|
224
|
-
});
|
|
225
|
-
res.on('end', () => {
|
|
226
|
-
clearTimeout(timeoutId);
|
|
227
|
-
try {
|
|
228
|
-
const jsonData = JSON.parse(data);
|
|
229
|
-
// console.log(`Package ${packageName} tag ${tag}`, jsonData);
|
|
230
|
-
const version = jsonData['dist-tags']?.[tag];
|
|
231
|
-
if (version) {
|
|
232
|
-
resolve(version);
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
reject(new Error(`Tag "${tag}" not found for package "${packageName}"`));
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
catch (error) {
|
|
239
|
-
reject(new Error(`Failed to parse response JSON: ${error instanceof Error ? error.message : error}`));
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
});
|
|
243
|
-
req.on('error', (error) => {
|
|
244
|
-
clearTimeout(timeoutId);
|
|
245
|
-
reject(new Error(`Request failed: ${error instanceof Error ? error.message : error}`));
|
|
246
|
-
});
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Retrieves a file from the public directory of the Matterbridge GitHub repository.
|
|
251
|
-
*
|
|
252
|
-
* @param {string} branch - The branch from which to fetch the file.
|
|
253
|
-
* @param {string} file - The file path to fetch.
|
|
254
|
-
* @param {number} [timeout] - The timeout duration in milliseconds (default is 10000ms).
|
|
255
|
-
* @returns {Promise<Record<string, boolean | string | number>>} A promise that resolves to the parsed JSON object from the file.
|
|
256
|
-
* @throws {Error} If the request fails or the JSON parsing fails.
|
|
257
|
-
*/
|
|
258
|
-
export async function getGitHubUpdate(branch, file, timeout = 10000) {
|
|
259
|
-
const https = await import('node:https');
|
|
260
|
-
return new Promise((resolve, reject) => {
|
|
261
|
-
const url = `https://matterbridge.io/${branch}_${file}`;
|
|
262
|
-
const controller = new AbortController();
|
|
263
|
-
const timeoutId = setTimeout(() => {
|
|
264
|
-
controller.abort();
|
|
265
|
-
reject(new Error(`Request timed out after ${timeout / 1000} seconds`));
|
|
266
|
-
}, timeout);
|
|
267
|
-
const req = https.get(url, { signal: controller.signal }, (res) => {
|
|
268
|
-
let data = '';
|
|
269
|
-
if (res.statusCode !== 200) {
|
|
270
|
-
clearTimeout(timeoutId);
|
|
271
|
-
res.resume(); // Discard response data to close the socket properly
|
|
272
|
-
reject(new Error(`Failed to fetch data. Status code: ${res.statusCode}`));
|
|
273
|
-
return;
|
|
274
|
-
}
|
|
275
|
-
res.on('data', (chunk) => {
|
|
276
|
-
data += chunk;
|
|
277
|
-
});
|
|
278
|
-
res.on('end', () => {
|
|
279
|
-
clearTimeout(timeoutId);
|
|
280
|
-
try {
|
|
281
|
-
const jsonData = JSON.parse(data);
|
|
282
|
-
resolve(jsonData);
|
|
283
|
-
}
|
|
284
|
-
catch (error) {
|
|
285
|
-
reject(new Error(`Failed to parse response JSON: ${error instanceof Error ? error.message : error}`));
|
|
286
|
-
}
|
|
287
|
-
});
|
|
288
|
-
});
|
|
289
|
-
// istanbul ignore next cause it's just a precaution for network errors
|
|
290
|
-
req.on('error', (error) => {
|
|
291
|
-
clearTimeout(timeoutId);
|
|
292
|
-
reject(new Error(`Request failed: ${error instanceof Error ? error.message : error}`));
|
|
293
|
-
});
|
|
294
|
-
});
|
|
295
|
-
}
|
|
296
|
-
/**
|
|
297
|
-
* Retrieves the path to the global Node.js modules directory.
|
|
298
|
-
*
|
|
299
|
-
* @returns {Promise<string>} A promise that resolves to the path of the global Node.js modules directory.
|
|
300
|
-
*/
|
|
301
|
-
export async function getGlobalNodeModules() {
|
|
302
|
-
const { exec } = await import('node:child_process');
|
|
303
|
-
return new Promise((resolve, reject) => {
|
|
304
|
-
exec('npm root -g', (error, stdout) => {
|
|
305
|
-
if (error) {
|
|
306
|
-
reject(error);
|
|
307
|
-
}
|
|
308
|
-
else {
|
|
309
|
-
resolve(stdout.trim());
|
|
310
|
-
}
|
|
311
|
-
});
|
|
312
|
-
});
|
|
313
|
-
}
|
|
314
|
-
//# sourceMappingURL=network.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/utils/network.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,kBAAkB;AAClB,OAAO,EAAE,MAAM,SAAS,CAAC;AAIzB,oBAAoB;AACpB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAY,EAAE,EAAmB,MAAM,kBAAkB,CAAC;AAEzF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAgI,EAAE,aAAa,EAAE,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IACzO,KAAK,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;QACvF,IAAI,CAAC,aAAa,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnF,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,IAAI,MAAM,CAAC,QAAQ;gBAAE,SAAS;YAC9B,IAAI,CAAC,MAAM,CAAC,aAAa;gBAAE,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;YAChE,IAAI,aAAa,KAAK,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;gBAAE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YACnI,IAAI,aAAa,KAAK,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM;gBAAE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;YACnI,IAAI,aAAa,KAAK,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,UAAU;gBAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC;QACnG,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,aAAa;QAAE,OAAO,MAAM,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB;IAC9B,KAAK,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;QACvF,IAAI,CAAC,aAAa,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnF,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,OAAO,aAAa,CAAC;QAC7C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB;IACrC,KAAK,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;QACvF,IAAI,CAAC,aAAa,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnF,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,OAAO,MAAM,CAAC,OAAO,CAAC;QAC1E,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAiB,KAAK;IAC5D,KAAK,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;QACvF,IAAI,CAAC,aAAa,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnF,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC/B,IAAI,CAAC,KAAK;oBAAE,OAAO,OAAO,CAAC;gBAE3B,uGAAuG;gBACvG,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAAE,OAAO,OAAO,CAAC;gBAE1C,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC;gBAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;gBAC1D,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtE,OAAO,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC;gBAChC,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,KAAK,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;QACvF,IAAI,CAAC,aAAa,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnF,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC;QAC1C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,qCAA6B,EAAE,QAAQ,4BAAe,EAAE,CAAC,CAAC;IAEvI,GAAG,CAAC,QAAQ,6BAAgB,CAAC;IAC7B,GAAG,CAAC,OAAO,GAAG,eAAe,CAAC;IAE9B,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC1C,MAAM,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAClE,KAAK,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACrD,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,GAAG,SAAS,GAAG,EAAE,GAAG,CAAC,CAAC;YACxD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvB,GAAG,CAAC,IAAI,CACN,KAAK,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,YAAY,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,EAAE,YAAY,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,EAAE,QAAQ,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,EAAE,EAAE;oBACpI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,GAAG,KAAK,CAAC,OAAO,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,EAAE,CAClL,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,SAAoB,CAAC;IAC3E,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAChG,OAAO,SAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAAmB,EAAE,MAAc,QAAQ,EAAE,UAAkB,KAAK;IAC7G,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,8BAA8B,WAAW,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;QACzE,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;YAChE,IAAI,IAAI,GAAG,EAAE,CAAC;YAEd,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC3B,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,qDAAqD;gBACnE,MAAM,CAAC,IAAI,KAAK,CAAC,sCAAsC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YAED,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClC,8DAA8D;oBAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBAC7C,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,CAAC,OAAO,CAAC,CAAC;oBACnB,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,GAAG,4BAA4B,WAAW,GAAG,CAAC,CAAC,CAAC;oBAC3E,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACxG,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAaD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAsB,EAAE,IAAY,EAAE,UAAkB,KAAK;IACjG,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,2BAA2B,MAAM,IAAI,IAAI,EAAE,CAAC;QACxD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,OAAO,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;QACzE,CAAC,EAAE,OAAO,CAAC,CAAC;QAEZ,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;YAChE,IAAI,IAAI,GAAG,EAAE,CAAC;YAEd,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC3B,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,qDAAqD;gBACnE,MAAM,CAAC,IAAI,KAAK,CAAC,sCAAsC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAC1E,OAAO;YACT,CAAC;YAED,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,IAAI,KAAK,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACxG,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,uEAAuE;QACvE,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACxB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB;IACxC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACpD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,CAAC,aAAa,EAAE,CAAC,KAA2B,EAAE,MAAc,EAAE,EAAE;YAClE,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/utils/spawn.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description This file contains the spawn functions.
|
|
3
|
-
* @file spawn.ts
|
|
4
|
-
* @author Luca Liguori
|
|
5
|
-
* @created 2025-02-16
|
|
6
|
-
* @version 1.2.0
|
|
7
|
-
* @license Apache-2.0
|
|
8
|
-
*
|
|
9
|
-
* Copyright 2025, 2026, 2027 Luca Liguori.
|
|
10
|
-
*
|
|
11
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
-
* you may not use this file except in compliance with the License.
|
|
13
|
-
* You may obtain a copy of the License at
|
|
14
|
-
*
|
|
15
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
-
*
|
|
17
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
-
* See the License for the specific language governing permissions and
|
|
21
|
-
* limitations under the License.
|
|
22
|
-
*/
|
|
23
|
-
/**
|
|
24
|
-
* Spawns a child process with the given command and arguments.
|
|
25
|
-
*
|
|
26
|
-
* @param {string} command - The command to execute.
|
|
27
|
-
* @param {string[]} args - The arguments to pass to the command (default: []).
|
|
28
|
-
* @param {'install' | 'uninstall'} packageCommand - The optional package command being executed (e.g., 'install', 'uninstall').
|
|
29
|
-
* @param {string} [packageName] - The optional name of the package being installed.
|
|
30
|
-
* @returns {Promise<boolean>} A promise that resolves to true if the command executed successfully, false otherwise.
|
|
31
|
-
*/
|
|
32
|
-
export declare function spawnCommand(command: string, args: string[], packageCommand?: 'install' | 'uninstall', packageName?: string): Promise<boolean>;
|
|
33
|
-
//# sourceMappingURL=spawn.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../src/utils/spawn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,SAAS,GAAG,WAAW,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuIpJ"}
|
package/dist/utils/spawn.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../src/utils/spawn.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/tracker.d.ts
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* This file contains the Tracker class.
|
|
3
|
-
*
|
|
4
|
-
* @file tracker.ts
|
|
5
|
-
* @author Luca Liguori
|
|
6
|
-
* @created 2025-10-10
|
|
7
|
-
* @version 1.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
|
-
*/
|
|
24
|
-
import EventEmitter from 'node:events';
|
|
25
|
-
export type TrackerSnapshot = {
|
|
26
|
-
timestamp: number;
|
|
27
|
-
freeMemory: number;
|
|
28
|
-
peakFreeMemory: number;
|
|
29
|
-
totalMemory: number;
|
|
30
|
-
peakTotalMemory: number;
|
|
31
|
-
osCpu: number;
|
|
32
|
-
peakOsCpu: number;
|
|
33
|
-
processCpu: number;
|
|
34
|
-
peakProcessCpu: number;
|
|
35
|
-
rss: number;
|
|
36
|
-
peakRss: number;
|
|
37
|
-
heapUsed: number;
|
|
38
|
-
peakHeapUsed: number;
|
|
39
|
-
heapTotal: number;
|
|
40
|
-
peakHeapTotal: number;
|
|
41
|
-
external: number;
|
|
42
|
-
peakExternal: number;
|
|
43
|
-
arrayBuffers: number;
|
|
44
|
-
peakArrayBuffers: number;
|
|
45
|
-
};
|
|
46
|
-
interface TrackerEvents {
|
|
47
|
-
/** Start tracking */
|
|
48
|
-
start: [];
|
|
49
|
-
/** Stop tracking */
|
|
50
|
-
stop: [];
|
|
51
|
-
/** Uptime event */
|
|
52
|
-
uptime: [os: number, process: number];
|
|
53
|
-
/** CPU event */
|
|
54
|
-
cpu: [os: number, process: number];
|
|
55
|
-
/** Memory event */
|
|
56
|
-
memory: [free: number, total: number, rss: number, heapUsed: number, heapTotal: number, external: number, arrayBuffers: number];
|
|
57
|
-
/** Snapshot event */
|
|
58
|
-
snapshot: [snapshot: TrackerSnapshot];
|
|
59
|
-
/** Reset peaks */
|
|
60
|
-
reset_peaks: [];
|
|
61
|
-
/** Reset peaks done event */
|
|
62
|
-
reset_peaks_done: [];
|
|
63
|
-
/** Run garbage collection */
|
|
64
|
-
gc: [];
|
|
65
|
-
/** Garbage collection done event */
|
|
66
|
-
gc_done: [type: 'major' | 'minor', execution: 'sync' | 'async'];
|
|
67
|
-
}
|
|
68
|
-
export declare class Tracker extends EventEmitter<TrackerEvents> {
|
|
69
|
-
private readonly name;
|
|
70
|
-
private readonly debug;
|
|
71
|
-
private readonly verbose;
|
|
72
|
-
private trackerInterval?;
|
|
73
|
-
static historyIndex: number;
|
|
74
|
-
static readonly historySize = 2880;
|
|
75
|
-
static readonly history: TrackerSnapshot[];
|
|
76
|
-
private prevCpus;
|
|
77
|
-
private prevCpuUsage;
|
|
78
|
-
private log;
|
|
79
|
-
constructor(name?: string, debug?: boolean, verbose?: boolean);
|
|
80
|
-
/**
|
|
81
|
-
* Start tracking cpu and memory usage with a given interval in ms
|
|
82
|
-
*
|
|
83
|
-
* @param {number} sampleIntervalMs Sample interval in milliseconds. Default is 10000 (10 seconds).
|
|
84
|
-
*/
|
|
85
|
-
start(sampleIntervalMs?: number): void;
|
|
86
|
-
/**
|
|
87
|
-
* Reset peak values to the currently stored values
|
|
88
|
-
*/
|
|
89
|
-
resetPeaks(): void;
|
|
90
|
-
/**
|
|
91
|
-
* Manually trigger garbage collection to free memory (if exposed with --expose-gc)
|
|
92
|
-
*
|
|
93
|
-
* @param {'major' | 'minor'} type - The type of garbage collection to perform ('major' or 'minor'). Default is 'major'.
|
|
94
|
-
* @param {'sync' | 'async'} execution - The execution mode of garbage collection ('sync' or 'async'). Default is 'async'.
|
|
95
|
-
*
|
|
96
|
-
* @remarks
|
|
97
|
-
* - major collection refers to old-generation mark-sweep/mark-compact cycles.
|
|
98
|
-
* - minor collection refers to young-generation collections (scavenges).
|
|
99
|
-
* - sync execution blocks the main thread until GC is complete, which can cause pauses.
|
|
100
|
-
*/
|
|
101
|
-
runGarbageCollector(type?: 'major' | 'minor', execution?: 'sync' | 'async'): void;
|
|
102
|
-
/**
|
|
103
|
-
* Stop tracking, clear interval, log history
|
|
104
|
-
*/
|
|
105
|
-
stop(): void;
|
|
106
|
-
}
|
|
107
|
-
export {};
|
|
108
|
-
//# sourceMappingURL=tracker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../src/utils/tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,OAAO,YAAY,MAAM,aAAa,CAAC;AAOvC,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAGF,UAAU,aAAa;IACrB,qBAAqB;IACrB,KAAK,EAAE,EAAE,CAAC;IACV,oBAAoB;IACpB,IAAI,EAAE,EAAE,CAAC;IACT,mBAAmB;IACnB,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACtC,gBAAgB;IAChB,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACnC,mBAAmB;IACnB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAChI,qBAAqB;IACrB,QAAQ,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtC,kBAAkB;IAClB,WAAW,EAAE,EAAE,CAAC;IAChB,6BAA6B;IAC7B,gBAAgB,EAAE,EAAE,CAAC;IACrB,6BAA6B;IAC7B,EAAE,EAAE,EAAE,CAAC;IACP,oCAAoC;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;CACjE;AAED,qBAAa,OAAQ,SAAQ,YAAY,CAAC,aAAa,CAAC;IAmCpD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IApC1B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,MAAM,CAAC,YAAY,SAAK;IAExB,MAAM,CAAC,QAAQ,CAAC,WAAW,QAAQ;IACnC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,EAAE,CAwBxC;IACF,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,GAAG,CAAa;gBAGL,IAAI,GAAE,MAAkB,EACxB,KAAK,GAAE,OAAe,EACtB,OAAO,GAAE,OAAe;IAkC3C;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,GAAE,MAAc;IAiGtC;;OAEG;IACH,UAAU;IAaV;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,IAAI,GAAE,OAAO,GAAG,OAAiB,EAAE,SAAS,GAAE,MAAM,GAAG,OAAiB;IAgB5F;;OAEG;IACH,IAAI;CA8BL"}
|