matterbridge 1.3.12 → 1.3.28
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 +48 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +10 -7
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -6
- package/dist/index.js.map +1 -1
- package/dist/matterbridge.d.ts +157 -261
- package/dist/matterbridge.d.ts.map +1 -1
- package/dist/matterbridge.js +1395 -1611
- package/dist/matterbridge.js.map +1 -1
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -1
- package/dist/matterbridgeAccessoryPlatform.js +1 -0
- package/dist/matterbridgeAccessoryPlatform.js.map +1 -1
- package/dist/matterbridgeDevice.d.ts +9 -3
- package/dist/matterbridgeDevice.d.ts.map +1 -1
- package/dist/matterbridgeDevice.js +11 -4
- package/dist/matterbridgeDevice.js.map +1 -1
- package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -1
- package/dist/matterbridgeDynamicPlatform.js +1 -0
- package/dist/matterbridgeDynamicPlatform.js.map +1 -1
- package/dist/matterbridgeTypes.d.ts +111 -0
- package/dist/matterbridgeTypes.d.ts.map +1 -0
- package/dist/matterbridgeTypes.js +2 -0
- package/dist/matterbridgeTypes.js.map +1 -0
- package/dist/plugins.d.ts +102 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/plugins.js +674 -0
- package/dist/plugins.js.map +1 -0
- package/dist/utils/export.d.ts +3 -0
- package/dist/utils/export.d.ts.map +1 -0
- package/dist/utils/export.js +3 -0
- package/dist/utils/export.js.map +1 -0
- package/dist/utils/utils.d.ts +37 -2
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +79 -7
- package/dist/utils/utils.js.map +1 -1
- package/frontend/build/asset-manifest.json +6 -6
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/css/{main.b4d28450.css → main.df840158.css} +2 -2
- package/frontend/build/static/css/main.df840158.css.map +1 -0
- package/frontend/build/static/js/{main.3105733e.js → main.2a46688a.js} +3 -3
- package/frontend/build/static/js/main.2a46688a.js.map +1 -0
- package/package.json +25 -20
- package/__mocks__/@project-chip/matter-node.js/util.js +0 -41
- package/dist/utils.d.ts +0 -94
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -291
- package/dist/utils.js.map +0 -1
- package/frontend/build/static/css/main.b4d28450.css.map +0 -1
- package/frontend/build/static/js/main.3105733e.js.map +0 -1
- /package/frontend/build/static/js/{main.3105733e.js.LICENSE.txt → main.2a46688a.js.LICENSE.txt} +0 -0
|
@@ -35,6 +35,7 @@ export class MatterbridgeDynamicPlatform extends MatterbridgePlatform {
|
|
|
35
35
|
constructor(matterbridge, log, config) {
|
|
36
36
|
super(matterbridge, log, config);
|
|
37
37
|
this.type = 'DynamicPlatform';
|
|
38
|
+
config.type = this.type;
|
|
38
39
|
this.log.debug(`Matterbridge${this.type} loaded`);
|
|
39
40
|
}
|
|
40
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matterbridgeDynamicPlatform.js","sourceRoot":"","sources":["../src/matterbridgeDynamicPlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,oBAAoB,EAAkB,MAAM,2BAA2B,CAAC;AAGjF;;;GAGG;AACH,MAAM,OAAO,2BAA4B,SAAQ,oBAAoB;IACnE;;;;;OAKG;IACH,YAAY,YAA0B,EAAE,GAAe,EAAE,MAAsB;QAC7E,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAEjC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"matterbridgeDynamicPlatform.js","sourceRoot":"","sources":["../src/matterbridgeDynamicPlatform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAE,oBAAoB,EAAkB,MAAM,2BAA2B,CAAC;AAGjF;;;GAGG;AACH,MAAM,OAAO,2BAA4B,SAAQ,oBAAoB;IACnE;;;;;OAKG;IACH,YAAY,YAA0B,EAAE,GAAe,EAAE,MAAsB;QAC7E,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAEjC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAExB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC;IACpD,CAAC;CACF"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { NodeStorage } from 'node-persist-manager';
|
|
2
|
+
import { FabricIndex, NodeId, VendorId } from '@project-chip/matter-node.js/datatype';
|
|
3
|
+
import { ExposedFabricInformation } from '@project-chip/matter-node.js/fabric';
|
|
4
|
+
import { MatterbridgePlatform, PlatformConfig, PlatformSchema } from './matterbridgePlatform.js';
|
|
5
|
+
import { MatterbridgeDevice } from './matterbridgeDevice.js';
|
|
6
|
+
import { StorageContext } from '@project-chip/matter-node.js/storage';
|
|
7
|
+
import { CommissioningServer } from '@project-chip/matter-node.js';
|
|
8
|
+
import { Aggregator } from '@project-chip/matter-node.js/device';
|
|
9
|
+
export interface RegisteredPlugin extends BaseRegisteredPlugin {
|
|
10
|
+
nodeContext?: NodeStorage;
|
|
11
|
+
storageContext?: StorageContext;
|
|
12
|
+
commissioningServer?: CommissioningServer;
|
|
13
|
+
aggregator?: Aggregator;
|
|
14
|
+
device?: MatterbridgeDevice;
|
|
15
|
+
platform?: MatterbridgePlatform;
|
|
16
|
+
reachabilityTimeout?: NodeJS.Timeout;
|
|
17
|
+
}
|
|
18
|
+
export interface BaseRegisteredPlugin {
|
|
19
|
+
name: string;
|
|
20
|
+
version: string;
|
|
21
|
+
description: string;
|
|
22
|
+
author: string;
|
|
23
|
+
path: string;
|
|
24
|
+
type: string;
|
|
25
|
+
latestVersion?: string;
|
|
26
|
+
locked?: boolean;
|
|
27
|
+
error?: boolean;
|
|
28
|
+
enabled?: boolean;
|
|
29
|
+
loaded?: boolean;
|
|
30
|
+
started?: boolean;
|
|
31
|
+
configured?: boolean;
|
|
32
|
+
paired?: boolean;
|
|
33
|
+
connected?: boolean;
|
|
34
|
+
fabricInformations?: SanitizedExposedFabricInformation[];
|
|
35
|
+
sessionInformations?: SanitizedSessionInformation[];
|
|
36
|
+
registeredDevices?: number;
|
|
37
|
+
addedDevices?: number;
|
|
38
|
+
qrPairingCode?: string;
|
|
39
|
+
manualPairingCode?: string;
|
|
40
|
+
configJson?: PlatformConfig;
|
|
41
|
+
schemaJson?: PlatformSchema;
|
|
42
|
+
}
|
|
43
|
+
export interface RegisteredDevice {
|
|
44
|
+
plugin: string;
|
|
45
|
+
device: MatterbridgeDevice;
|
|
46
|
+
}
|
|
47
|
+
export interface SystemInformation {
|
|
48
|
+
interfaceName: string;
|
|
49
|
+
macAddress: string;
|
|
50
|
+
ipv4Address: string;
|
|
51
|
+
ipv6Address: string;
|
|
52
|
+
nodeVersion: string;
|
|
53
|
+
hostname: string;
|
|
54
|
+
user: string;
|
|
55
|
+
osType: string;
|
|
56
|
+
osRelease: string;
|
|
57
|
+
osPlatform: string;
|
|
58
|
+
osArch: string;
|
|
59
|
+
totalMemory: string;
|
|
60
|
+
freeMemory: string;
|
|
61
|
+
systemUptime: string;
|
|
62
|
+
}
|
|
63
|
+
export interface MatterbridgeInformation {
|
|
64
|
+
homeDirectory: string;
|
|
65
|
+
rootDirectory: string;
|
|
66
|
+
matterbridgeDirectory: string;
|
|
67
|
+
matterbridgePluginDirectory: string;
|
|
68
|
+
globalModulesDirectory: string;
|
|
69
|
+
matterbridgeVersion: string;
|
|
70
|
+
matterbridgeLatestVersion: string;
|
|
71
|
+
matterbridgeFabricInformations: SanitizedExposedFabricInformation[];
|
|
72
|
+
matterbridgeSessionInformations: SanitizedSessionInformation[];
|
|
73
|
+
matterbridgePaired: boolean;
|
|
74
|
+
matterbridgeConnected: boolean;
|
|
75
|
+
bridgeMode: string;
|
|
76
|
+
restartMode: string;
|
|
77
|
+
debugEnabled: boolean;
|
|
78
|
+
matterLoggerLevel: number;
|
|
79
|
+
}
|
|
80
|
+
export interface SanitizedExposedFabricInformation {
|
|
81
|
+
fabricIndex: FabricIndex;
|
|
82
|
+
fabricId: string;
|
|
83
|
+
nodeId: string;
|
|
84
|
+
rootNodeId: string;
|
|
85
|
+
rootVendorId: VendorId;
|
|
86
|
+
rootVendorName: string;
|
|
87
|
+
label: string;
|
|
88
|
+
}
|
|
89
|
+
export interface SessionInformation {
|
|
90
|
+
name: string;
|
|
91
|
+
nodeId: NodeId;
|
|
92
|
+
peerNodeId: NodeId;
|
|
93
|
+
fabric?: ExposedFabricInformation;
|
|
94
|
+
isPeerActive: boolean;
|
|
95
|
+
secure: boolean;
|
|
96
|
+
lastInteractionTimestamp?: number;
|
|
97
|
+
lastActiveTimestamp?: number;
|
|
98
|
+
numberOfActiveSubscriptions: number;
|
|
99
|
+
}
|
|
100
|
+
export interface SanitizedSessionInformation {
|
|
101
|
+
name: string;
|
|
102
|
+
nodeId: string;
|
|
103
|
+
peerNodeId: string;
|
|
104
|
+
fabric?: SanitizedExposedFabricInformation;
|
|
105
|
+
isPeerActive: boolean;
|
|
106
|
+
secure: boolean;
|
|
107
|
+
lastInteractionTimestamp?: string;
|
|
108
|
+
lastActiveTimestamp?: string;
|
|
109
|
+
numberOfActiveSubscriptions: number;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=matterbridgeTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matterbridgeTypes.d.ts","sourceRoot":"","sources":["../src/matterbridgeTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAGjE,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;CACtC;AAGD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,iCAAiC,EAAE,CAAC;IACzD,mBAAmB,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAGD,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,uBAAuB;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,2BAA2B,EAAE,MAAM,CAAC;IACpC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yBAAyB,EAAE,MAAM,CAAC;IAClC,8BAA8B,EAAE,iCAAiC,EAAE,CAAC;IACpE,+BAA+B,EAAE,2BAA2B,EAAE,CAAC;IAC/D,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iCAAiC;IAChD,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,QAAQ,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2BAA2B,EAAE,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,iCAAiC,CAAC;IAC3C,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2BAA2B,EAAE,MAAM,CAAC;CACrC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matterbridgeTypes.js","sourceRoot":"","sources":["../src/matterbridgeTypes.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file contains the Plugins class.
|
|
3
|
+
*
|
|
4
|
+
* @file plugins.ts
|
|
5
|
+
* @author Luca Liguori
|
|
6
|
+
* @date 2024-07-14
|
|
7
|
+
* @version 1.2.8
|
|
8
|
+
*
|
|
9
|
+
* Copyright 2024 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
|
+
import { Matterbridge } from './matterbridge.js';
|
|
24
|
+
import { RegisteredPlugin } from './matterbridgeTypes.js';
|
|
25
|
+
import { MatterbridgePlatform, PlatformConfig, PlatformSchema } from './matterbridgePlatform.js';
|
|
26
|
+
export declare class Plugins {
|
|
27
|
+
private _plugins;
|
|
28
|
+
private nodeContext;
|
|
29
|
+
private matterbridge;
|
|
30
|
+
private log;
|
|
31
|
+
constructor(matterbridge: Matterbridge);
|
|
32
|
+
get length(): number;
|
|
33
|
+
get size(): number;
|
|
34
|
+
has(name: string): boolean;
|
|
35
|
+
get(name: string): RegisteredPlugin | undefined;
|
|
36
|
+
set(plugin: RegisteredPlugin): RegisteredPlugin;
|
|
37
|
+
clear(): void;
|
|
38
|
+
array(): RegisteredPlugin[];
|
|
39
|
+
[Symbol.iterator](): IterableIterator<RegisteredPlugin>;
|
|
40
|
+
forEach(callback: (plugin: RegisteredPlugin) => Promise<void>): Promise<void>;
|
|
41
|
+
loadFromStorage(): Promise<RegisteredPlugin[]>;
|
|
42
|
+
saveToStorage(): Promise<number>;
|
|
43
|
+
/**
|
|
44
|
+
* Resolves the name of a plugin by loading and parsing its package.json file.
|
|
45
|
+
* @param pluginPath - The path to the plugin or the path to the plugin's package.json file.
|
|
46
|
+
* @returns The path to the resolved package.json file, or null if the package.json file is not found or does not contain a name.
|
|
47
|
+
*/
|
|
48
|
+
resolve(pluginPath: string): Promise<string | null>;
|
|
49
|
+
/**
|
|
50
|
+
* Loads and parse the plugin package.json and returns it.
|
|
51
|
+
* @param plugin - The plugin to load the package from.
|
|
52
|
+
* @returns A Promise that resolves to the package.json object or undefined if the package.json could not be loaded.
|
|
53
|
+
*/
|
|
54
|
+
parse(plugin: RegisteredPlugin): Promise<Record<string, string | number | object> | null>;
|
|
55
|
+
enable(nameOrPath: string): Promise<RegisteredPlugin | null>;
|
|
56
|
+
disable(nameOrPath: string): Promise<RegisteredPlugin | null>;
|
|
57
|
+
remove(nameOrPath: string): Promise<RegisteredPlugin | null>;
|
|
58
|
+
add(nameOrPath: string): Promise<RegisteredPlugin | null>;
|
|
59
|
+
install(name: string): Promise<string | undefined>;
|
|
60
|
+
uninstall(name: string): Promise<string | undefined>;
|
|
61
|
+
/**
|
|
62
|
+
* Loads a plugin and returns the corresponding MatterbridgePlatform instance.
|
|
63
|
+
* @param plugin - The plugin to load.
|
|
64
|
+
* @param start - Optional flag indicating whether to start the plugin after loading. Default is false.
|
|
65
|
+
* @param message - Optional message to pass to the plugin when starting.
|
|
66
|
+
* @returns A Promise that resolves to the loaded MatterbridgePlatform instance.
|
|
67
|
+
* @throws An error if the plugin is not enabled, already loaded, or fails to load.
|
|
68
|
+
*/
|
|
69
|
+
load(plugin: RegisteredPlugin, start?: boolean, message?: string, configure?: boolean): Promise<MatterbridgePlatform | undefined>;
|
|
70
|
+
/**
|
|
71
|
+
* Starts a plugin.
|
|
72
|
+
*
|
|
73
|
+
* @param {RegisteredPlugin} plugin - The plugin to start.
|
|
74
|
+
* @param {string} [message] - Optional message to pass to the plugin's onStart method.
|
|
75
|
+
* @param {boolean} [configure] - Indicates whether to configure the plugin after starting (default false).
|
|
76
|
+
* @returns {Promise<RegisteredPlugin | undefined>} A promise that resolves when the plugin is started successfully, or rejects with an error if starting the plugin fails.
|
|
77
|
+
*/
|
|
78
|
+
start(plugin: RegisteredPlugin, message?: string, configure?: boolean): Promise<RegisteredPlugin | undefined>;
|
|
79
|
+
/**
|
|
80
|
+
* Configures a plugin.
|
|
81
|
+
*
|
|
82
|
+
* @param {RegisteredPlugin} plugin - The plugin to configure.
|
|
83
|
+
* @returns {Promise<void>} A promise that resolves when the plugin is configured successfully, or rejects with an error if configuration fails.
|
|
84
|
+
*/
|
|
85
|
+
configure(plugin: RegisteredPlugin): Promise<RegisteredPlugin | undefined>;
|
|
86
|
+
shutdown(plugin: RegisteredPlugin, reason?: string, removeAllDevices?: boolean, force?: boolean): Promise<RegisteredPlugin | undefined>;
|
|
87
|
+
/**
|
|
88
|
+
* Loads the configuration for a plugin.
|
|
89
|
+
* If the configuration file exists, it reads the file and returns the parsed JSON data.
|
|
90
|
+
* If the configuration file does not exist, it creates a new file with default configuration and returns it.
|
|
91
|
+
* If any error occurs during file access or creation, it logs an error and return un empty config.
|
|
92
|
+
*
|
|
93
|
+
* @param plugin - The plugin for which to load the configuration.
|
|
94
|
+
* @returns A promise that resolves to the loaded or created configuration.
|
|
95
|
+
*/
|
|
96
|
+
loadConfig(plugin: RegisteredPlugin): Promise<PlatformConfig>;
|
|
97
|
+
saveConfigFromPlugin(plugin: RegisteredPlugin): Promise<void>;
|
|
98
|
+
saveConfigFromJson(plugin: RegisteredPlugin, config: PlatformConfig): Promise<void>;
|
|
99
|
+
loadSchema(plugin: RegisteredPlugin): Promise<PlatformSchema>;
|
|
100
|
+
getDefaultSchema(plugin: RegisteredPlugin): PlatformSchema;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=plugins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"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"}
|