matterbridge 3.4.7-dev-20260103-3152357 → 3.4.7-dev-20260112-a00b2bf
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 +8 -0
- package/README.md +5 -1
- package/dist/broadcastServer.d.ts +29 -0
- package/dist/broadcastServerTypes.d.ts +798 -0
- package/dist/cli.d.ts +6 -0
- package/dist/cliEmitter.d.ts +14 -0
- package/dist/cliHistory.d.ts +6 -0
- package/dist/clusters/export.d.ts +1 -0
- package/dist/deviceManager.d.ts +27 -0
- package/dist/devices/airConditioner.d.ts +23 -0
- package/dist/devices/batteryStorage.d.ts +5 -0
- package/dist/devices/cooktop.d.ts +6 -0
- package/dist/devices/dishwasher.d.ts +16 -0
- package/dist/devices/evse.d.ts +19 -0
- package/dist/devices/export.d.ts +16 -0
- package/dist/devices/extractorHood.d.ts +5 -0
- package/dist/devices/heatPump.d.ts +4 -0
- package/dist/devices/laundryDryer.d.ts +9 -0
- package/dist/devices/laundryWasher.d.ts +17 -0
- package/dist/devices/microwaveOven.d.ts +92 -0
- package/dist/devices/oven.d.ts +23 -0
- package/dist/devices/refrigerator.d.ts +18 -0
- package/dist/devices/roboticVacuumCleaner.d.ts +29 -0
- package/dist/devices/solarPower.d.ts +4 -0
- package/dist/devices/speaker.d.ts +8 -0
- package/dist/devices/temperatureControl.d.ts +145 -0
- package/dist/devices/waterHeater.d.ts +37 -0
- package/dist/dgram/coap.d.ts +34 -0
- package/dist/dgram/dgram.d.ts +45 -0
- package/dist/dgram/dgram.js +7 -0
- package/dist/dgram/mb_coap.d.ts +1 -0
- package/dist/dgram/mb_coap.js +1 -2
- package/dist/dgram/mb_mdns.d.ts +1 -0
- package/dist/dgram/mb_mdns.js +39 -50
- package/dist/dgram/mdns.d.ts +188 -0
- package/dist/dgram/multicast.d.ts +18 -0
- package/dist/dgram/unicast.d.ts +11 -0
- package/dist/frontend.d.ts +58 -0
- package/dist/frontendTypes.d.ts +472 -0
- package/dist/helpers.d.ts +5 -0
- package/dist/index.d.ts +11 -0
- package/dist/jestutils/export.d.ts +1 -0
- package/dist/jestutils/jestHelpers.d.ts +90 -0
- package/dist/logger/export.d.ts +1 -0
- package/dist/matter/behaviors.d.ts +1 -0
- package/dist/matter/clusters.d.ts +1 -0
- package/dist/matter/devices.d.ts +1 -0
- package/dist/matter/endpoints.d.ts +1 -0
- package/dist/matter/export.d.ts +4 -0
- package/dist/matter/types.d.ts +2 -0
- package/dist/matterNode.d.ts +84 -0
- package/dist/matterbridge.d.ts +152 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts +5 -0
- package/dist/matterbridgeBehaviors.d.ts +2380 -0
- package/dist/matterbridgeDeviceTypes.d.ts +95 -0
- package/dist/matterbridgeDynamicPlatform.d.ts +5 -0
- package/dist/matterbridgeEndpoint.d.ts +175 -0
- package/dist/matterbridgeEndpointHelpers.d.ts +362 -0
- package/dist/matterbridgeEndpointTypes.d.ts +96 -0
- package/dist/matterbridgePlatform.d.ts +114 -0
- package/dist/matterbridgeTypes.d.ts +206 -0
- package/dist/pluginManager.d.ts +67 -0
- package/dist/shelly.d.ts +24 -0
- package/dist/storage/export.d.ts +1 -0
- package/dist/update.d.ts +9 -0
- package/dist/utils/colorUtils.d.ts +24 -0
- package/dist/utils/commandLine.d.ts +6 -0
- package/dist/utils/copyDirectory.d.ts +2 -0
- package/dist/utils/createDirectory.d.ts +2 -0
- package/dist/utils/createZip.d.ts +1 -0
- package/dist/utils/deepCopy.d.ts +1 -0
- package/dist/utils/deepEqual.d.ts +1 -0
- package/dist/utils/error.d.ts +3 -0
- package/dist/utils/export.d.ts +12 -0
- package/dist/utils/format.d.ts +4 -0
- package/dist/utils/hex.d.ts +4 -0
- package/dist/utils/inspector.d.ts +24 -0
- package/dist/utils/isValid.d.ts +10 -0
- package/dist/utils/network.d.ts +25 -0
- package/dist/utils/spawn.d.ts +1 -0
- package/dist/utils/tracker.d.ts +52 -0
- package/dist/utils/wait.d.ts +3 -0
- package/dist/workerGlobalPrefix.d.ts +1 -0
- package/dist/workerTypes.d.ts +27 -0
- package/dist/workers.d.ts +8 -0
- package/npm-shrinkwrap.json +904 -131
- package/package.json +9 -2
- package/packages/dgram/dist/coap.d.ts +34 -0
- package/packages/dgram/dist/coap.js +252 -0
- package/packages/dgram/dist/dgram.d.ts +45 -0
- package/packages/dgram/dist/dgram.js +255 -0
- package/packages/dgram/dist/export.d.ts +5 -0
- package/packages/dgram/dist/export.js +5 -0
- package/packages/dgram/dist/mdns.d.ts +188 -0
- package/packages/dgram/dist/mdns.js +702 -0
- package/packages/dgram/dist/multicast.d.ts +18 -0
- package/packages/dgram/dist/multicast.js +119 -0
- package/packages/dgram/dist/unicast.d.ts +11 -0
- package/packages/dgram/dist/unicast.js +40 -0
- package/packages/dgram/package.json +106 -0
- package/packages/jest-utils/LICENSE +202 -0
- package/packages/jest-utils/bmc-button.svg +22 -0
- package/packages/jest-utils/dist/export.d.ts +1 -0
- package/packages/jest-utils/dist/export.js +1 -0
- package/packages/jest-utils/dist/jestHelpers.d.ts +21 -0
- package/packages/jest-utils/matterbridge.svg +50 -0
- package/packages/{mb-lib-test → jest-utils}/package.json +13 -11
- package/packages/utils/LICENSE +202 -0
- package/packages/utils/bmc-button.svg +22 -0
- package/packages/utils/dist/colorUtils.d.ts +24 -0
- package/packages/utils/dist/colorUtils.js +187 -0
- package/packages/utils/dist/commandLine.d.ts +6 -0
- package/packages/utils/dist/commandLine.js +63 -0
- package/packages/utils/dist/copyDirectory.d.ts +2 -0
- package/packages/utils/dist/copyDirectory.js +39 -0
- package/packages/utils/dist/createDirectory.d.ts +2 -0
- package/packages/utils/dist/createDirectory.js +21 -0
- package/packages/utils/dist/createZip.d.ts +1 -0
- package/packages/utils/dist/createZip.js +69 -0
- package/packages/utils/dist/deepCopy.d.ts +1 -0
- package/packages/utils/dist/deepCopy.js +40 -0
- package/packages/utils/dist/deepEqual.d.ts +1 -0
- package/packages/utils/dist/deepEqual.js +58 -0
- package/packages/utils/dist/error.d.ts +3 -0
- package/packages/utils/dist/error.js +12 -0
- package/packages/utils/dist/export.d.ts +15 -0
- package/packages/utils/dist/export.js +15 -0
- package/packages/utils/dist/format.d.ts +4 -0
- package/packages/utils/dist/format.js +29 -0
- package/packages/utils/dist/githubVersion.d.ts +11 -0
- package/packages/utils/dist/githubVersion.js +37 -0
- package/packages/utils/dist/hex.d.ts +4 -0
- package/packages/utils/dist/hex.js +118 -0
- package/packages/utils/dist/inspector.d.ts +24 -0
- package/packages/utils/dist/inspector.js +200 -0
- package/packages/utils/dist/isValid.d.ts +10 -0
- package/packages/utils/dist/isValid.js +69 -0
- package/packages/utils/dist/network.d.ts +12 -0
- package/packages/utils/dist/network.js +105 -0
- package/packages/utils/dist/npmRoot.d.ts +1 -0
- package/packages/utils/dist/npmRoot.js +13 -0
- package/packages/utils/dist/npmVersion.d.ts +1 -0
- package/packages/utils/dist/npmVersion.js +43 -0
- package/packages/utils/dist/tracker.d.ts +52 -0
- package/packages/utils/dist/tracker.js +201 -0
- package/packages/utils/dist/wait.d.ts +3 -0
- package/packages/utils/dist/wait.js +73 -0
- package/packages/utils/matterbridge.svg +50 -0
- package/packages/utils/package.json +106 -0
- package/packages/vitest-utils/LICENSE +202 -0
- package/packages/vitest-utils/bmc-button.svg +22 -0
- package/packages/vitest-utils/dist/export.d.ts +1 -0
- package/packages/vitest-utils/dist/export.js +1 -0
- package/packages/vitest-utils/dist/vitestHelpers.d.ts +21 -0
- package/packages/vitest-utils/matterbridge.svg +50 -0
- package/packages/vitest-utils/package.json +108 -0
- package/reflector/DockerDesktopSetup.png +0 -0
- package/reflector/Reflector.md +167 -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/dgram/mdnsReflectorClient.js +0 -176
- package/dist/dgram/mdnsReflectorServer.js +0 -301
- package/dist/dgram/mdnsReflectorTypes.js +0 -5
- package/packages/mb-lib-test/dist/module.js +0 -2
- /package/packages/{mb-lib-test → dgram}/LICENSE +0 -0
- /package/packages/{mb-lib-test → dgram}/bmc-button.svg +0 -0
- /package/packages/{mb-lib-test → dgram}/matterbridge.svg +0 -0
- /package/packages/{mb-lib-test/dist/jestutils → jest-utils/dist}/jestHelpers.js +0 -0
- /package/packages/{mb-lib-test/dist/vitestutils → vitest-utils/dist}/vitestHelpers.js +0 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { Semtag } from '@matter/types/globals';
|
|
2
|
+
import { ClusterId, EndpointNumber } from '@matter/types/datatype';
|
|
3
|
+
import { HandlerFunction } from '@matter/general';
|
|
4
|
+
import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
|
|
5
|
+
import { DeviceTypeDefinition } from './matterbridgeDeviceTypes.js';
|
|
6
|
+
export type PrimitiveTypes = boolean | number | bigint | string | object | undefined | null;
|
|
7
|
+
export type CommandHandlerData = {
|
|
8
|
+
request: Record<string, any>;
|
|
9
|
+
cluster: string;
|
|
10
|
+
attributes: Record<string, PrimitiveTypes>;
|
|
11
|
+
endpoint: MatterbridgeEndpoint;
|
|
12
|
+
};
|
|
13
|
+
export type CommandHandlerFunction = (data: CommandHandlerData) => void | Promise<void>;
|
|
14
|
+
export interface MatterbridgeEndpointCommands {
|
|
15
|
+
identify: HandlerFunction;
|
|
16
|
+
triggerEffect: HandlerFunction;
|
|
17
|
+
on: HandlerFunction;
|
|
18
|
+
off: HandlerFunction;
|
|
19
|
+
toggle: HandlerFunction;
|
|
20
|
+
offWithEffect: HandlerFunction;
|
|
21
|
+
moveToLevel: HandlerFunction;
|
|
22
|
+
moveToLevelWithOnOff: HandlerFunction;
|
|
23
|
+
moveToColor: HandlerFunction;
|
|
24
|
+
moveColor: HandlerFunction;
|
|
25
|
+
stepColor: HandlerFunction;
|
|
26
|
+
moveToHue: HandlerFunction;
|
|
27
|
+
moveHue: HandlerFunction;
|
|
28
|
+
stepHue: HandlerFunction;
|
|
29
|
+
enhancedMoveToHue: HandlerFunction;
|
|
30
|
+
enhancedMoveHue: HandlerFunction;
|
|
31
|
+
enhancedStepHue: HandlerFunction;
|
|
32
|
+
moveToSaturation: HandlerFunction;
|
|
33
|
+
moveSaturation: HandlerFunction;
|
|
34
|
+
stepSaturation: HandlerFunction;
|
|
35
|
+
moveToHueAndSaturation: HandlerFunction;
|
|
36
|
+
enhancedMoveToHueAndSaturation: HandlerFunction;
|
|
37
|
+
moveToColorTemperature: HandlerFunction;
|
|
38
|
+
upOrOpen: HandlerFunction;
|
|
39
|
+
downOrClose: HandlerFunction;
|
|
40
|
+
stopMotion: HandlerFunction;
|
|
41
|
+
goToLiftPercentage: HandlerFunction;
|
|
42
|
+
goToTiltPercentage: HandlerFunction;
|
|
43
|
+
lockDoor: HandlerFunction;
|
|
44
|
+
unlockDoor: HandlerFunction;
|
|
45
|
+
setpointRaiseLower: HandlerFunction;
|
|
46
|
+
setActivePresetRequest: HandlerFunction;
|
|
47
|
+
step: HandlerFunction;
|
|
48
|
+
changeToMode: HandlerFunction;
|
|
49
|
+
open: HandlerFunction;
|
|
50
|
+
close: HandlerFunction;
|
|
51
|
+
suppressAlarm: HandlerFunction;
|
|
52
|
+
enableDisableAlarm: HandlerFunction;
|
|
53
|
+
selfTestRequest: HandlerFunction;
|
|
54
|
+
resetCounts: HandlerFunction;
|
|
55
|
+
setUtcTime: HandlerFunction;
|
|
56
|
+
setTimeZone: HandlerFunction;
|
|
57
|
+
setDstOffset: HandlerFunction;
|
|
58
|
+
pauseRequest: HandlerFunction;
|
|
59
|
+
resumeRequest: HandlerFunction;
|
|
60
|
+
pause: HandlerFunction;
|
|
61
|
+
stop: HandlerFunction;
|
|
62
|
+
start: HandlerFunction;
|
|
63
|
+
resume: HandlerFunction;
|
|
64
|
+
goHome: HandlerFunction;
|
|
65
|
+
selectAreas: HandlerFunction;
|
|
66
|
+
boost: HandlerFunction;
|
|
67
|
+
cancelBoost: HandlerFunction;
|
|
68
|
+
enableCharging: HandlerFunction;
|
|
69
|
+
disable: HandlerFunction;
|
|
70
|
+
powerAdjustRequest: HandlerFunction;
|
|
71
|
+
cancelPowerAdjustRequest: HandlerFunction;
|
|
72
|
+
setTemperature: HandlerFunction;
|
|
73
|
+
setCookingParameters: HandlerFunction;
|
|
74
|
+
addMoreTime: HandlerFunction;
|
|
75
|
+
resetCondition: HandlerFunction;
|
|
76
|
+
}
|
|
77
|
+
export interface SerializedMatterbridgeEndpoint {
|
|
78
|
+
pluginName: string;
|
|
79
|
+
deviceName: string;
|
|
80
|
+
serialNumber: string;
|
|
81
|
+
uniqueId: string;
|
|
82
|
+
productId?: number;
|
|
83
|
+
productName?: string;
|
|
84
|
+
vendorId?: number;
|
|
85
|
+
vendorName?: string;
|
|
86
|
+
deviceTypes: DeviceTypeDefinition[];
|
|
87
|
+
number: EndpointNumber | undefined;
|
|
88
|
+
id: string | undefined;
|
|
89
|
+
clusterServersId: ClusterId[];
|
|
90
|
+
}
|
|
91
|
+
export interface MatterbridgeEndpointOptions {
|
|
92
|
+
tagList?: Semtag[];
|
|
93
|
+
mode?: 'server' | 'matter';
|
|
94
|
+
id?: string;
|
|
95
|
+
number?: EndpointNumber;
|
|
96
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { AnsiLogger, LogLevel } from 'node-ansi-logger';
|
|
2
|
+
import { NodeStorage } from 'node-persist-manager';
|
|
3
|
+
import { EndpointNumber, VendorId } from '@matter/types/datatype';
|
|
4
|
+
import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
|
|
5
|
+
import { ApiSelectDevice, ApiSelectEntity } from './frontendTypes.js';
|
|
6
|
+
import { SystemInformation } from './matterbridgeTypes.js';
|
|
7
|
+
export type PlatformConfigValue = string | number | boolean | bigint | object | undefined | null;
|
|
8
|
+
export type PlatformConfig = {
|
|
9
|
+
name: string;
|
|
10
|
+
type: string;
|
|
11
|
+
version: string;
|
|
12
|
+
debug: boolean;
|
|
13
|
+
unregisterOnShutdown: boolean;
|
|
14
|
+
} & Record<string, PlatformConfigValue>;
|
|
15
|
+
export type PlatformSchemaValue = string | number | boolean | bigint | object | undefined | null;
|
|
16
|
+
export type PlatformSchema = Record<string, PlatformSchemaValue>;
|
|
17
|
+
export type PlatformMatterbridge = {
|
|
18
|
+
readonly systemInformation: Readonly<Pick<SystemInformation, 'interfaceName' | 'macAddress' | 'ipv4Address' | 'ipv6Address' | 'nodeVersion' | 'hostname' | 'user' | 'osType' | 'osRelease' | 'osPlatform' | 'osArch' | 'totalMemory' | 'freeMemory' | 'systemUptime' | 'processUptime' | 'cpuUsage' | 'processCpuUsage' | 'rss' | 'heapTotal' | 'heapUsed'>>;
|
|
19
|
+
readonly rootDirectory: string;
|
|
20
|
+
readonly homeDirectory: string;
|
|
21
|
+
readonly matterbridgeDirectory: string;
|
|
22
|
+
readonly matterbridgePluginDirectory: string;
|
|
23
|
+
readonly matterbridgeCertDirectory: string;
|
|
24
|
+
readonly globalModulesDirectory: string;
|
|
25
|
+
readonly matterbridgeVersion: string;
|
|
26
|
+
readonly matterbridgeLatestVersion: string;
|
|
27
|
+
readonly matterbridgeDevVersion: string;
|
|
28
|
+
readonly frontendVersion: string;
|
|
29
|
+
readonly bridgeMode: 'bridge' | 'childbridge' | 'controller' | '';
|
|
30
|
+
readonly restartMode: 'service' | 'docker' | '';
|
|
31
|
+
readonly virtualMode: 'disabled' | 'outlet' | 'light' | 'switch' | 'mounted_switch';
|
|
32
|
+
readonly aggregatorVendorId: VendorId;
|
|
33
|
+
readonly aggregatorVendorName: string;
|
|
34
|
+
readonly aggregatorProductId: number;
|
|
35
|
+
readonly aggregatorProductName: string;
|
|
36
|
+
};
|
|
37
|
+
export declare class MatterbridgePlatform {
|
|
38
|
+
#private;
|
|
39
|
+
readonly matterbridge: PlatformMatterbridge;
|
|
40
|
+
readonly log: AnsiLogger;
|
|
41
|
+
config: PlatformConfig;
|
|
42
|
+
name: string;
|
|
43
|
+
type: 'DynamicPlatform' | 'AccessoryPlatform' | 'AnyPlatform';
|
|
44
|
+
version: string;
|
|
45
|
+
context?: NodeStorage;
|
|
46
|
+
isReady: boolean;
|
|
47
|
+
isLoaded: boolean;
|
|
48
|
+
isStarted: boolean;
|
|
49
|
+
isConfigured: boolean;
|
|
50
|
+
isShuttingDown: boolean;
|
|
51
|
+
readonly ready: Promise<void>;
|
|
52
|
+
private setMatterNode;
|
|
53
|
+
protected constructor(matterbridge: PlatformMatterbridge, log: AnsiLogger, config: PlatformConfig);
|
|
54
|
+
private destroy;
|
|
55
|
+
onStart(reason?: string): Promise<void>;
|
|
56
|
+
onConfigure(): Promise<void>;
|
|
57
|
+
onShutdown(reason?: string): Promise<void>;
|
|
58
|
+
onChangeLoggerLevel(logLevel: LogLevel): Promise<void>;
|
|
59
|
+
onAction(action: string, value?: string, id?: string, formData?: PlatformConfig): Promise<void>;
|
|
60
|
+
onConfigChanged(config: PlatformConfig): Promise<void>;
|
|
61
|
+
saveConfig(config: PlatformConfig): void;
|
|
62
|
+
getSchema(): Promise<PlatformSchema | undefined>;
|
|
63
|
+
setSchema(schema: PlatformSchema): void;
|
|
64
|
+
wssSendRestartRequired(snackbar?: boolean, fixed?: boolean): void;
|
|
65
|
+
wssSendSnackbarMessage(message: string, timeout?: number, severity?: 'error' | 'success' | 'info' | 'warning'): void;
|
|
66
|
+
size(): number;
|
|
67
|
+
getDevices(): MatterbridgeEndpoint[];
|
|
68
|
+
getDeviceByName(deviceName: string): MatterbridgeEndpoint | undefined;
|
|
69
|
+
getDeviceByUniqueId(uniqueId: string): MatterbridgeEndpoint | undefined;
|
|
70
|
+
getDeviceBySerialNumber(serialNumber: string): MatterbridgeEndpoint | undefined;
|
|
71
|
+
getDeviceById(id: string): MatterbridgeEndpoint | undefined;
|
|
72
|
+
getDeviceByOriginalId(originalId: string): MatterbridgeEndpoint | undefined;
|
|
73
|
+
getDeviceByNumber(number: EndpointNumber | number): MatterbridgeEndpoint | undefined;
|
|
74
|
+
hasDeviceName(deviceName: string): boolean;
|
|
75
|
+
hasDeviceUniqueId(deviceUniqueId: string): boolean;
|
|
76
|
+
registerVirtualDevice(name: string, type: 'light' | 'outlet' | 'switch' | 'mounted_switch', callback: () => Promise<void>): Promise<boolean>;
|
|
77
|
+
registerDevice(device: MatterbridgeEndpoint): Promise<void>;
|
|
78
|
+
unregisterDevice(device: MatterbridgeEndpoint): Promise<void>;
|
|
79
|
+
unregisterAllDevices(delay?: number): Promise<void>;
|
|
80
|
+
private saveSelects;
|
|
81
|
+
clearSelect(): Promise<void>;
|
|
82
|
+
clearDeviceSelect(serial: string): Promise<void>;
|
|
83
|
+
clearEntitySelect(name: string): Promise<void>;
|
|
84
|
+
setSelectDevice(serial: string, name: string, configUrl?: string, icon?: string, entities?: {
|
|
85
|
+
name: string;
|
|
86
|
+
description: string;
|
|
87
|
+
icon?: string;
|
|
88
|
+
}[]): void;
|
|
89
|
+
getSelectDevice(serial: string): {
|
|
90
|
+
serial: string;
|
|
91
|
+
name: string;
|
|
92
|
+
configUrl?: string;
|
|
93
|
+
icon?: string;
|
|
94
|
+
entities?: {
|
|
95
|
+
name: string;
|
|
96
|
+
description: string;
|
|
97
|
+
icon?: string;
|
|
98
|
+
}[];
|
|
99
|
+
} | undefined;
|
|
100
|
+
setSelectDeviceEntity(serial: string, entityName: string, entityDescription: string, entityIcon?: string): void;
|
|
101
|
+
getSelectDevices(): ApiSelectDevice[];
|
|
102
|
+
setSelectEntity(name: string, description: string, icon?: string): void;
|
|
103
|
+
getSelectEntity(name: string): {
|
|
104
|
+
name: string;
|
|
105
|
+
description: string;
|
|
106
|
+
icon?: string | undefined;
|
|
107
|
+
} | undefined;
|
|
108
|
+
getSelectEntities(): ApiSelectEntity[];
|
|
109
|
+
verifyMatterbridgeVersion(requiredVersion: string, destroy?: boolean): boolean;
|
|
110
|
+
validateDevice(device: string | string[], log?: boolean): boolean;
|
|
111
|
+
validateEntity(device: string, entity: string, log?: boolean): boolean;
|
|
112
|
+
private clearEndpointNumbers;
|
|
113
|
+
private checkEndpointNumbers;
|
|
114
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import type { NodeStorage } from 'node-persist-manager';
|
|
2
|
+
import type { LogLevel } from 'node-ansi-logger';
|
|
3
|
+
import type { ServerNode, Endpoint as EndpointNode } from '@matter/node';
|
|
4
|
+
import type { StorageContext } from '@matter/general';
|
|
5
|
+
import type { FabricIndex, VendorId, EndpointNumber, Semtag } from '@matter/types';
|
|
6
|
+
import type { AggregatorEndpoint } from '@matter/node/endpoints/aggregator';
|
|
7
|
+
import type { AdministratorCommissioning } from '@matter/types/clusters/administrator-commissioning';
|
|
8
|
+
import type { Matterbridge } from './matterbridge.js';
|
|
9
|
+
import type { MatterbridgePlatform, PlatformConfig, PlatformSchema } from './matterbridgePlatform.js';
|
|
10
|
+
import type { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
|
|
11
|
+
export declare const plg = "\u001B[38;5;33m";
|
|
12
|
+
export declare const dev = "\u001B[38;5;79m";
|
|
13
|
+
export declare const typ = "\u001B[38;5;207m";
|
|
14
|
+
export declare const MATTERBRIDGE_LOGGER_FILE = "matterbridge.log";
|
|
15
|
+
export declare const MATTER_LOGGER_FILE = "matter.log";
|
|
16
|
+
export declare const NODE_STORAGE_DIR = "storage";
|
|
17
|
+
export declare const MATTER_STORAGE_NAME = "matterstorage";
|
|
18
|
+
export declare const MATTERBRIDGE_DIAGNOSTIC_FILE = "diagnostic.log";
|
|
19
|
+
export declare const MATTERBRIDGE_HISTORY_FILE = "history.html";
|
|
20
|
+
export type MaybePromise<T> = T | Promise<T>;
|
|
21
|
+
export type SharedMatterbridge = Readonly<Pick<Matterbridge, 'systemInformation' | 'rootDirectory' | 'homeDirectory' | 'matterbridgeDirectory' | 'matterbridgePluginDirectory' | 'matterbridgeCertDirectory' | 'globalModulesDirectory' | 'matterbridgeVersion' | 'matterbridgeLatestVersion' | 'matterbridgeDevVersion' | 'frontendVersion' | 'bridgeMode' | 'restartMode' | 'virtualMode' | 'profile' | 'logLevel' | 'fileLogger' | 'matterLogLevel' | 'matterFileLogger' | 'mdnsInterface' | 'ipv4Address' | 'ipv6Address' | 'port' | 'discriminator' | 'passcode' | 'shellySysUpdate' | 'shellyMainUpdate'>>;
|
|
22
|
+
export type PluginName = string;
|
|
23
|
+
export interface Plugin extends ApiPlugin {
|
|
24
|
+
nodeContext?: NodeStorage;
|
|
25
|
+
storageContext?: StorageContext;
|
|
26
|
+
serverNode?: ServerNode<ServerNode.RootEndpoint>;
|
|
27
|
+
aggregatorNode?: EndpointNode<AggregatorEndpoint>;
|
|
28
|
+
device?: MatterbridgeEndpoint;
|
|
29
|
+
platform?: MatterbridgePlatform;
|
|
30
|
+
reachabilityTimeout?: NodeJS.Timeout;
|
|
31
|
+
}
|
|
32
|
+
export interface ApiPlugin extends StoragePlugin {
|
|
33
|
+
latestVersion?: string;
|
|
34
|
+
devVersion?: string;
|
|
35
|
+
homepage?: string;
|
|
36
|
+
help?: string;
|
|
37
|
+
changelog?: string;
|
|
38
|
+
funding?: string;
|
|
39
|
+
locked?: boolean;
|
|
40
|
+
error?: boolean;
|
|
41
|
+
loaded?: boolean;
|
|
42
|
+
started?: boolean;
|
|
43
|
+
configured?: boolean;
|
|
44
|
+
restartRequired?: boolean;
|
|
45
|
+
registeredDevices?: number;
|
|
46
|
+
configJson?: PlatformConfig;
|
|
47
|
+
schemaJson?: PlatformSchema;
|
|
48
|
+
hasWhiteList?: boolean;
|
|
49
|
+
hasBlackList?: boolean;
|
|
50
|
+
matter?: ApiMatter;
|
|
51
|
+
}
|
|
52
|
+
export interface StoragePlugin {
|
|
53
|
+
name: string;
|
|
54
|
+
path: string;
|
|
55
|
+
type: 'DynamicPlatform' | 'AccessoryPlatform' | 'AnyPlatform';
|
|
56
|
+
version: string;
|
|
57
|
+
description: string;
|
|
58
|
+
author: string;
|
|
59
|
+
enabled: boolean;
|
|
60
|
+
}
|
|
61
|
+
export interface SystemInformation {
|
|
62
|
+
interfaceName: string;
|
|
63
|
+
macAddress: string;
|
|
64
|
+
ipv4Address: string;
|
|
65
|
+
ipv6Address: string;
|
|
66
|
+
nodeVersion: string;
|
|
67
|
+
hostname: string;
|
|
68
|
+
user: string;
|
|
69
|
+
osType: string;
|
|
70
|
+
osRelease: string;
|
|
71
|
+
osPlatform: string;
|
|
72
|
+
osArch: string;
|
|
73
|
+
totalMemory: string;
|
|
74
|
+
freeMemory: string;
|
|
75
|
+
systemUptime: string;
|
|
76
|
+
processUptime: string;
|
|
77
|
+
cpuUsage: string;
|
|
78
|
+
processCpuUsage: string;
|
|
79
|
+
rss: string;
|
|
80
|
+
heapTotal: string;
|
|
81
|
+
heapUsed: string;
|
|
82
|
+
}
|
|
83
|
+
export interface MatterbridgeInformation {
|
|
84
|
+
rootDirectory: string;
|
|
85
|
+
homeDirectory: string;
|
|
86
|
+
matterbridgeDirectory: string;
|
|
87
|
+
matterbridgePluginDirectory: string;
|
|
88
|
+
matterbridgeCertDirectory: string;
|
|
89
|
+
globalModulesDirectory: string;
|
|
90
|
+
matterbridgeVersion: string;
|
|
91
|
+
matterbridgeLatestVersion: string;
|
|
92
|
+
matterbridgeDevVersion: string;
|
|
93
|
+
frontendVersion: string;
|
|
94
|
+
bridgeMode: string;
|
|
95
|
+
restartMode: string;
|
|
96
|
+
virtualMode: 'disabled' | 'outlet' | 'light' | 'switch' | 'mounted_switch';
|
|
97
|
+
profile: string | undefined;
|
|
98
|
+
readOnly: boolean;
|
|
99
|
+
shellyBoard: boolean;
|
|
100
|
+
shellySysUpdate: boolean;
|
|
101
|
+
shellyMainUpdate: boolean;
|
|
102
|
+
loggerLevel: LogLevel;
|
|
103
|
+
fileLogger: boolean;
|
|
104
|
+
matterLoggerLevel: number;
|
|
105
|
+
matterFileLogger: boolean;
|
|
106
|
+
matterMdnsInterface: string | undefined;
|
|
107
|
+
matterIpv4Address: string | undefined;
|
|
108
|
+
matterIpv6Address: string | undefined;
|
|
109
|
+
matterPort: number;
|
|
110
|
+
matterDiscriminator: number | undefined;
|
|
111
|
+
matterPasscode: number | undefined;
|
|
112
|
+
restartRequired: boolean;
|
|
113
|
+
fixedRestartRequired: boolean;
|
|
114
|
+
updateRequired: boolean;
|
|
115
|
+
}
|
|
116
|
+
export interface SanitizedExposedFabricInformation {
|
|
117
|
+
fabricIndex: FabricIndex;
|
|
118
|
+
fabricId: string;
|
|
119
|
+
nodeId: string;
|
|
120
|
+
rootNodeId: string;
|
|
121
|
+
rootVendorId: VendorId;
|
|
122
|
+
rootVendorName: string;
|
|
123
|
+
label: string;
|
|
124
|
+
}
|
|
125
|
+
export interface SanitizedSession {
|
|
126
|
+
name: string;
|
|
127
|
+
nodeId: string;
|
|
128
|
+
peerNodeId: string;
|
|
129
|
+
fabric?: SanitizedExposedFabricInformation;
|
|
130
|
+
isPeerActive: boolean;
|
|
131
|
+
lastInteractionTimestamp: string;
|
|
132
|
+
lastActiveTimestamp: string;
|
|
133
|
+
numberOfActiveSubscriptions: number;
|
|
134
|
+
}
|
|
135
|
+
export interface ApiDevice {
|
|
136
|
+
pluginName: string;
|
|
137
|
+
type: string;
|
|
138
|
+
endpoint: EndpointNumber | undefined;
|
|
139
|
+
name: string;
|
|
140
|
+
serial: string;
|
|
141
|
+
productUrl: string;
|
|
142
|
+
configUrl?: string;
|
|
143
|
+
uniqueId: string;
|
|
144
|
+
reachable: boolean;
|
|
145
|
+
powerSource?: 'ac' | 'dc' | 'ok' | 'warning' | 'critical';
|
|
146
|
+
batteryLevel?: number;
|
|
147
|
+
cluster: string;
|
|
148
|
+
matter?: ApiMatter;
|
|
149
|
+
}
|
|
150
|
+
export interface BaseDevice {
|
|
151
|
+
mode: 'server' | 'matter' | undefined;
|
|
152
|
+
plugin: string | undefined;
|
|
153
|
+
configUrl: string | undefined;
|
|
154
|
+
deviceName: string | undefined;
|
|
155
|
+
serialNumber: string | undefined;
|
|
156
|
+
uniqueId: string | undefined;
|
|
157
|
+
vendorId: number | undefined;
|
|
158
|
+
vendorName: string | undefined;
|
|
159
|
+
productId: number | undefined;
|
|
160
|
+
productName: string | undefined;
|
|
161
|
+
softwareVersion: number | undefined;
|
|
162
|
+
softwareVersionString: string | undefined;
|
|
163
|
+
hardwareVersion: number | undefined;
|
|
164
|
+
hardwareVersionString: string | undefined;
|
|
165
|
+
productUrl: string;
|
|
166
|
+
tagList: Semtag[] | undefined;
|
|
167
|
+
originalId: string | undefined;
|
|
168
|
+
name: string | undefined;
|
|
169
|
+
deviceType: number | undefined;
|
|
170
|
+
number: EndpointNumber | undefined;
|
|
171
|
+
id: string | undefined;
|
|
172
|
+
}
|
|
173
|
+
export interface ApiMatter {
|
|
174
|
+
id: string;
|
|
175
|
+
online: boolean;
|
|
176
|
+
commissioned: boolean;
|
|
177
|
+
advertising: boolean;
|
|
178
|
+
advertiseTime: number;
|
|
179
|
+
windowStatus: AdministratorCommissioning.CommissioningWindowStatus;
|
|
180
|
+
fabricInformations: SanitizedExposedFabricInformation[];
|
|
181
|
+
sessionInformations: SanitizedSession[];
|
|
182
|
+
qrPairingCode: string;
|
|
183
|
+
manualPairingCode: string;
|
|
184
|
+
serialNumber: string | undefined;
|
|
185
|
+
}
|
|
186
|
+
export interface ApiClusters {
|
|
187
|
+
plugin: string;
|
|
188
|
+
deviceName: string;
|
|
189
|
+
serialNumber: string;
|
|
190
|
+
number: EndpointNumber;
|
|
191
|
+
id: string;
|
|
192
|
+
deviceTypes: number[];
|
|
193
|
+
clusters: Cluster[];
|
|
194
|
+
}
|
|
195
|
+
export interface Cluster {
|
|
196
|
+
endpoint: string;
|
|
197
|
+
number: EndpointNumber;
|
|
198
|
+
id: string;
|
|
199
|
+
deviceTypes: number[];
|
|
200
|
+
clusterName: string;
|
|
201
|
+
clusterId: string;
|
|
202
|
+
attributeName: string;
|
|
203
|
+
attributeId: string;
|
|
204
|
+
attributeValue: string;
|
|
205
|
+
attributeLocalValue: unknown;
|
|
206
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import EventEmitter from 'node:events';
|
|
2
|
+
import { LogLevel } from 'node-ansi-logger';
|
|
3
|
+
import type { Matterbridge } from './matterbridge.js';
|
|
4
|
+
import type { MatterbridgePlatform, PlatformConfig, PlatformSchema } from './matterbridgePlatform.js';
|
|
5
|
+
import { ApiPlugin, Plugin, PluginName, StoragePlugin } from './matterbridgeTypes.js';
|
|
6
|
+
interface PluginManagerEvents {
|
|
7
|
+
added: [name: string];
|
|
8
|
+
removed: [name: string];
|
|
9
|
+
loaded: [name: string];
|
|
10
|
+
enabled: [name: string];
|
|
11
|
+
disabled: [name: string];
|
|
12
|
+
installed: [name: string, version: string | undefined];
|
|
13
|
+
uninstalled: [name: string];
|
|
14
|
+
started: [name: string];
|
|
15
|
+
configured: [name: string];
|
|
16
|
+
shutdown: [name: string];
|
|
17
|
+
}
|
|
18
|
+
export declare class PluginManager extends EventEmitter<PluginManagerEvents> {
|
|
19
|
+
private readonly matterbridge;
|
|
20
|
+
private readonly _plugins;
|
|
21
|
+
private readonly log;
|
|
22
|
+
private readonly server;
|
|
23
|
+
private readonly debug;
|
|
24
|
+
private readonly verbose;
|
|
25
|
+
constructor(matterbridge: Matterbridge);
|
|
26
|
+
destroy(): void;
|
|
27
|
+
private msgHandler;
|
|
28
|
+
get length(): number;
|
|
29
|
+
get size(): number;
|
|
30
|
+
has(name: string): boolean;
|
|
31
|
+
get(name: string): Plugin | undefined;
|
|
32
|
+
set(plugin: Plugin): Plugin;
|
|
33
|
+
clear(): void;
|
|
34
|
+
private toStoragePlugin;
|
|
35
|
+
private toApiPlugin;
|
|
36
|
+
array(): Plugin[];
|
|
37
|
+
storagePluginArray(): StoragePlugin[];
|
|
38
|
+
apiPluginArray(): ApiPlugin[];
|
|
39
|
+
[Symbol.iterator](): MapIterator<Plugin>;
|
|
40
|
+
forEach(callback: (plugin: Plugin) => Promise<void>): Promise<void>;
|
|
41
|
+
set logLevel(logLevel: LogLevel);
|
|
42
|
+
loadFromStorage(): Promise<StoragePlugin[]>;
|
|
43
|
+
saveToStorage(): Promise<number>;
|
|
44
|
+
resolve(nameOrPath: string): Promise<string | null>;
|
|
45
|
+
install(packageName: string): Promise<boolean>;
|
|
46
|
+
uninstall(packageName: string): Promise<boolean>;
|
|
47
|
+
getAuthor(packageJson: Record<string, string | number | Record<string, string | number | object>>): string;
|
|
48
|
+
getHomepage(packageJson: Record<string, string | number | Record<string, string | number | object>>): string | undefined;
|
|
49
|
+
getHelp(packageJson: Record<string, string | number | Record<string, string | number | object>>): string | undefined;
|
|
50
|
+
getChangelog(packageJson: Record<string, string | number | Record<string, string | number | object>>): string | undefined;
|
|
51
|
+
getFunding(packageJson: Record<string, any>): string | undefined;
|
|
52
|
+
parse(plugin: Plugin | PluginName): Promise<Record<string, string | number | object> | null>;
|
|
53
|
+
enable(nameOrPath: string): Promise<Plugin | null>;
|
|
54
|
+
disable(nameOrPath: string): Promise<Plugin | null>;
|
|
55
|
+
remove(nameOrPath: string): Promise<Plugin | null>;
|
|
56
|
+
add(nameOrPath: string): Promise<Plugin | null>;
|
|
57
|
+
load(plugin: Plugin | PluginName, start?: boolean, message?: string, configure?: boolean): Promise<MatterbridgePlatform | undefined>;
|
|
58
|
+
start(plugin: Plugin | PluginName, message?: string, configure?: boolean): Promise<Plugin | undefined>;
|
|
59
|
+
configure(plugin: Plugin | PluginName): Promise<Plugin | undefined>;
|
|
60
|
+
shutdown(plugin: Plugin | PluginName, reason?: string, removeAllDevices?: boolean, force?: boolean): Promise<Plugin | undefined>;
|
|
61
|
+
loadConfig(plugin: Plugin): Promise<PlatformConfig>;
|
|
62
|
+
saveConfigFromPlugin(plugin: Plugin, restartRequired?: boolean): Promise<void>;
|
|
63
|
+
saveConfigFromJson(plugin: Plugin, config: PlatformConfig, restartRequired?: boolean): Promise<void>;
|
|
64
|
+
loadSchema(plugin: Plugin): Promise<PlatformSchema>;
|
|
65
|
+
getDefaultSchema(plugin: Plugin): PlatformSchema;
|
|
66
|
+
}
|
|
67
|
+
export {};
|
package/dist/shelly.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AnsiLogger } from 'node-ansi-logger';
|
|
2
|
+
import { Matterbridge } from './matterbridge.js';
|
|
3
|
+
import { BroadcastServer } from './broadcastServer.js';
|
|
4
|
+
import { SharedMatterbridge } from './matterbridgeTypes.js';
|
|
5
|
+
export declare function setVerifyIntervalSecs(seconds: number): void;
|
|
6
|
+
export declare function setVerifyTimeoutSecs(seconds: number): void;
|
|
7
|
+
export declare function getShellySysUpdate(matterbridge: SharedMatterbridge, log: AnsiLogger, server: BroadcastServer): Promise<void>;
|
|
8
|
+
export declare function triggerShellySysUpdate(matterbridge: Matterbridge): Promise<void>;
|
|
9
|
+
export declare function getShellyMainUpdate(matterbridge: SharedMatterbridge, log: AnsiLogger, server: BroadcastServer): Promise<void>;
|
|
10
|
+
export declare function triggerShellyMainUpdate(matterbridge: Matterbridge): Promise<void>;
|
|
11
|
+
export declare function verifyShellyUpdate(matterbridge: Matterbridge, api: string, name: string): Promise<void>;
|
|
12
|
+
export declare function triggerShellyChangeIp(matterbridge: Matterbridge, config: {
|
|
13
|
+
type: 'static' | 'dhcp';
|
|
14
|
+
ip: string;
|
|
15
|
+
subnet: string;
|
|
16
|
+
gateway: string;
|
|
17
|
+
dns: string;
|
|
18
|
+
}): Promise<void>;
|
|
19
|
+
export declare function triggerShellyReboot(matterbridge: Matterbridge): Promise<void>;
|
|
20
|
+
export declare function triggerShellySoftReset(matterbridge: Matterbridge): Promise<void>;
|
|
21
|
+
export declare function triggerShellyHardReset(matterbridge: Matterbridge): Promise<void>;
|
|
22
|
+
export declare function createShellySystemLog(matterbridge: Matterbridge): Promise<boolean>;
|
|
23
|
+
export declare function getShelly(api: string, timeout?: number): Promise<any>;
|
|
24
|
+
export declare function postShelly(api: string, data: any, timeout?: number): Promise<any>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from 'node-persist-manager';
|
package/dist/update.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AnsiLogger } from 'node-ansi-logger';
|
|
2
|
+
import { ApiPlugin, SharedMatterbridge } from './matterbridgeTypes.js';
|
|
3
|
+
import { BroadcastServer } from './broadcastServer.js';
|
|
4
|
+
export declare function checkUpdates(matterbridge: SharedMatterbridge): Promise<void>;
|
|
5
|
+
export declare function checkUpdatesAndLog(matterbridge: SharedMatterbridge, log: AnsiLogger, server: BroadcastServer): Promise<void>;
|
|
6
|
+
export declare function getMatterbridgeLatestVersion(matterbridge: SharedMatterbridge, log: AnsiLogger, server: BroadcastServer): Promise<string | undefined>;
|
|
7
|
+
export declare function getMatterbridgeDevVersion(matterbridge: SharedMatterbridge, log: AnsiLogger, server: BroadcastServer): Promise<string | undefined>;
|
|
8
|
+
export declare function getPluginLatestVersion(log: AnsiLogger, server: BroadcastServer, plugin: ApiPlugin): Promise<string | undefined>;
|
|
9
|
+
export declare function getPluginDevVersion(log: AnsiLogger, server: BroadcastServer, plugin: ApiPlugin): Promise<string | undefined>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface RGB {
|
|
2
|
+
r: number;
|
|
3
|
+
g: number;
|
|
4
|
+
b: number;
|
|
5
|
+
}
|
|
6
|
+
export interface XY {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
}
|
|
10
|
+
export interface HSL {
|
|
11
|
+
h: number;
|
|
12
|
+
s: number;
|
|
13
|
+
l: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function hslColorToRgbColor(hue: number, saturation: number, luminance: number): RGB;
|
|
16
|
+
export declare function rgbColorToXYColor(rgb: RGB): XY;
|
|
17
|
+
export declare function xyColorToRgbColor(x: number, y: number, brightness?: number): RGB;
|
|
18
|
+
export declare function rgbColorToHslColor(rgb: RGB): HSL;
|
|
19
|
+
export declare function xyToHsl(x: number, y: number): HSL;
|
|
20
|
+
export declare function miredToKelvin(mired: number): number;
|
|
21
|
+
export declare const miredsToKelvin: typeof miredToKelvin;
|
|
22
|
+
export declare function kelvinToMired(kelvin: number): number;
|
|
23
|
+
export declare const kelvinToMireds: typeof kelvinToMired;
|
|
24
|
+
export declare function kelvinToRGB(kelvin: number): RGB;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function hasParameter(name: string): boolean;
|
|
2
|
+
export declare function hasAnyParameter(...params: string[]): boolean;
|
|
3
|
+
export declare function getParameter(name: string): string | undefined;
|
|
4
|
+
export declare function getIntParameter(name: string): number | undefined;
|
|
5
|
+
export declare function getIntArrayParameter(name: string): number[] | undefined;
|
|
6
|
+
export declare function getStringArrayParameter(name: string): string[] | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function createZip(outputPath: string, ...sourcePaths: string[]): Promise<number>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function deepCopy<T>(value: T): T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function deepEqual(a: any, b: any, excludeProperties?: string[]): boolean;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './network.js';
|
|
2
|
+
export * from './commandLine.js';
|
|
3
|
+
export * from './isValid.js';
|
|
4
|
+
export * from './colorUtils.js';
|
|
5
|
+
export * from './deepCopy.js';
|
|
6
|
+
export * from './deepEqual.js';
|
|
7
|
+
export * from './copyDirectory.js';
|
|
8
|
+
export * from './createDirectory.js';
|
|
9
|
+
export * from './createZip.js';
|
|
10
|
+
export * from './wait.js';
|
|
11
|
+
export * from './hex.js';
|
|
12
|
+
export * from './error.js';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function formatTimeStamp(timestamp: number): string;
|
|
2
|
+
export declare function formatPercent(percent: number, digits?: number): string;
|
|
3
|
+
export declare function formatBytes(bytes: number, digits?: number): string;
|
|
4
|
+
export declare function formatUptime(seconds: number): string;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function bufferToHex(buffer: ArrayBufferLike): string;
|
|
2
|
+
export declare function hexToBuffer(hex: string): Uint8Array;
|
|
3
|
+
export declare function pemToBuffer(pem: string, validate?: boolean): Uint8Array;
|
|
4
|
+
export declare function extractPrivateKeyRaw(pemPrivateKey: string): Uint8Array;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import EventEmitter from 'node:events';
|
|
2
|
+
interface InspectorEvents {
|
|
3
|
+
start: [];
|
|
4
|
+
stop: [];
|
|
5
|
+
snapshot: [];
|
|
6
|
+
snapshot_done: [];
|
|
7
|
+
gc: [type?: 'major' | 'minor', execution?: 'sync' | 'async'];
|
|
8
|
+
gc_done: [type: 'major' | 'minor', execution: 'sync' | 'async'];
|
|
9
|
+
}
|
|
10
|
+
export declare class Inspector extends EventEmitter<InspectorEvents> {
|
|
11
|
+
private readonly name;
|
|
12
|
+
private readonly debug;
|
|
13
|
+
private readonly verbose;
|
|
14
|
+
private session;
|
|
15
|
+
private snapshotInterval?;
|
|
16
|
+
private snapshotInProgress;
|
|
17
|
+
private log;
|
|
18
|
+
constructor(name?: string, debug?: boolean, verbose?: boolean);
|
|
19
|
+
start(): Promise<void>;
|
|
20
|
+
stop(): Promise<void>;
|
|
21
|
+
takeHeapSnapshot(): Promise<void>;
|
|
22
|
+
runGarbageCollector(type?: 'major' | 'minor', execution?: 'sync' | 'async'): void;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function isValidIpv4Address(ipv4Address: string): boolean;
|
|
2
|
+
export declare function isValidNumber(value: unknown, min?: number, max?: number): value is number;
|
|
3
|
+
export declare function isValidBoolean(value: unknown): value is boolean;
|
|
4
|
+
export declare function isValidString(value: unknown, minLength?: number, maxLength?: number): value is string;
|
|
5
|
+
export declare function isValidRegExp(value: unknown): value is RegExp;
|
|
6
|
+
export declare function isValidObject(value: unknown, minLength?: number, maxLength?: number): value is object;
|
|
7
|
+
export declare function isValidArray(value: unknown, minLength?: number, maxLength?: number): value is unknown[];
|
|
8
|
+
export declare function isValidNull(value: unknown): value is null;
|
|
9
|
+
export declare function isValidUndefined(value: unknown): value is undefined;
|
|
10
|
+
export declare function parseVersionString(versionString: string): number | undefined;
|