@bsb/base 9.0.1 → 9.0.3
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/README.md +5 -8
- package/lib/schemas/config-default.plugin.json +1 -1
- package/lib/schemas/events-default.plugin.json +1 -1
- package/lib/schemas/observable-default.plugin.json +1 -1
- package/lib/serviceBase/plugins.js +10 -20
- package/lib/serviceBase/plugins.js.map +1 -1
- package/lib/tests/mocks.d.ts +37 -0
- package/lib/tests/mocks.js +164 -0
- package/lib/tests/mocks.js.map +1 -0
- package/lib/tests/sb/plugins/events/broadcast.d.ts +30 -0
- package/lib/tests/sb/plugins/events/broadcast.js +357 -0
- package/lib/tests/sb/plugins/events/broadcast.js.map +1 -0
- package/lib/tests/sb/plugins/events/emit.d.ts +30 -0
- package/lib/tests/sb/plugins/events/emit.js +353 -0
- package/lib/tests/sb/plugins/events/emit.js.map +1 -0
- package/lib/tests/sb/plugins/events/emitAndReturn.d.ts +30 -0
- package/lib/tests/sb/plugins/events/emitAndReturn.js +382 -0
- package/lib/tests/sb/plugins/events/emitAndReturn.js.map +1 -0
- package/lib/{plugins/service-default1/client.d.ts → tests/sb/plugins/events/emitStreamAndReceiveStream.d.ts} +4 -16
- package/lib/tests/sb/plugins/events/emitStreamAndReceiveStream.js +298 -0
- package/lib/tests/sb/plugins/events/emitStreamAndReceiveStream.js.map +1 -0
- package/lib/tests/sb/plugins/events/index.d.ts +28 -0
- package/lib/tests/sb/plugins/events/index.js +69 -0
- package/lib/tests/sb/plugins/events/index.js.map +1 -0
- package/lib/tests/trace.d.ts +41 -0
- package/lib/tests/trace.js +85 -0
- package/lib/tests/trace.js.map +1 -0
- package/lib/tests.d.ts +27 -0
- package/lib/{plugins/service-default4/index.js → tests.js} +16 -35
- package/lib/tests.js.map +1 -0
- package/package.json +92 -91
- package/lib/plugins/service-benchmarkify/index.d.ts +0 -312
- package/lib/plugins/service-benchmarkify/index.js +0 -138
- package/lib/plugins/service-benchmarkify/index.js.map +0 -1
- package/lib/plugins/service-default0/index.d.ts +0 -287
- package/lib/plugins/service-default0/index.js +0 -118
- package/lib/plugins/service-default0/index.js.map +0 -1
- package/lib/plugins/service-default1/client.js +0 -70
- package/lib/plugins/service-default1/client.js.map +0 -1
- package/lib/plugins/service-default1/index.d.ts +0 -304
- package/lib/plugins/service-default1/index.js +0 -179
- package/lib/plugins/service-default1/index.js.map +0 -1
- package/lib/plugins/service-default2/index.d.ts +0 -359
- package/lib/plugins/service-default2/index.js +0 -137
- package/lib/plugins/service-default2/index.js.map +0 -1
- package/lib/plugins/service-default3/index.d.ts +0 -119
- package/lib/plugins/service-default3/index.js +0 -88
- package/lib/plugins/service-default3/index.js.map +0 -1
- package/lib/plugins/service-default4/index.d.ts +0 -81
- package/lib/plugins/service-default4/index.js.map +0 -1
- package/lib/schemas/service-benchmarkify.json +0 -229
- package/lib/schemas/service-default0.json +0 -216
- package/lib/schemas/service-default1.json +0 -242
- package/lib/schemas/service-default2.json +0 -268
- package/lib/schemas/service-default3.json +0 -65
- package/lib/schemas/service-default4.json +0 -33
package/README.md
CHANGED
|
@@ -106,7 +106,7 @@ Timekeeping metrics are recorded for each step and logged as timers. A heartbeat
|
|
|
106
106
|
`SBPlugins` looks for plugins in the following order (container usage prefers the first external option):
|
|
107
107
|
- Local project (dev): `src/plugins/<type>-<name>/index.ts`
|
|
108
108
|
- Local build: `lib/plugins/<type>-<name>/index.js`
|
|
109
|
-
- External plugin directory (`BSB_PLUGIN_DIR`) [preferred in container]: `<dir>/<npmPackage>/<
|
|
109
|
+
- External plugin directory (`BSB_PLUGIN_DIR`) [preferred in container]: `<dir>/<npmPackage>/<major>/<minor>/<micro>/lib/plugins/<type>-<name>/index.js`
|
|
110
110
|
- Node modules: `node_modules/<npmPackage>/lib/plugins/<type>-<name>/index.js`
|
|
111
111
|
|
|
112
112
|
Each plugin folder must export at least a `Plugin` class. Optionally export a `Config` class that extends `BSBPluginConfig` to provide validation and structured config.
|
|
@@ -158,21 +158,18 @@ Recommended plugin directory layout (when using `BSB_PLUGIN_DIR`):
|
|
|
158
158
|
```
|
|
159
159
|
/mnt/plugins/
|
|
160
160
|
@org/plugin-a/
|
|
161
|
-
|
|
162
|
-
package.json # version field used when resolving
|
|
163
|
-
lib/plugins/service-plugin-a/index.js
|
|
164
|
-
lib/plugins/logging-xyz/index.js
|
|
165
|
-
1.2.3/
|
|
161
|
+
1/2/3/
|
|
166
162
|
package.json
|
|
167
163
|
lib/plugins/service-plugin-a/index.js
|
|
164
|
+
lib/plugins/logging-xyz/index.js
|
|
168
165
|
@org/plugin-b/
|
|
169
|
-
|
|
166
|
+
2/4/1/
|
|
170
167
|
package.json
|
|
171
168
|
lib/plugins/events-abc/index.js
|
|
172
169
|
```
|
|
173
170
|
|
|
174
171
|
Notes
|
|
175
|
-
- In container deployments, prefer placing prebuilt plugins under `BSB_PLUGIN_DIR` as above. This avoids network installs on boot and ensures deterministic versions via versioned folders
|
|
172
|
+
- In container deployments, prefer placing prebuilt plugins under `BSB_PLUGIN_DIR` as above. This avoids network installs on boot and ensures deterministic versions via immutable versioned folders.
|
|
176
173
|
- `BSB_PLUGINS` is available for dynamic `npm install` at startup, but mounting a curated plugin repository via `BSB_PLUGIN_DIR` is recommended for production.
|
|
177
174
|
|
|
178
175
|
### Environment Variables
|
|
@@ -129,7 +129,10 @@ class SBPlugins {
|
|
|
129
129
|
}
|
|
130
130
|
const dedup = new Map();
|
|
131
131
|
for (const item of out) {
|
|
132
|
-
|
|
132
|
+
// Prefer first-seen entries (hierarchical layout is collected first).
|
|
133
|
+
if (!dedup.has(item.version)) {
|
|
134
|
+
dedup.set(item.version, item);
|
|
135
|
+
}
|
|
133
136
|
}
|
|
134
137
|
return Array.from(dedup.values());
|
|
135
138
|
}
|
|
@@ -198,26 +201,13 @@ class SBPlugins {
|
|
|
198
201
|
version = resolved.version;
|
|
199
202
|
}
|
|
200
203
|
}
|
|
201
|
-
if (pluginPath == "") {
|
|
202
|
-
const T2pluginPath = (0, node_path_1.join)(this.referencedPluginDir, npmPackage, "latest", "./lib/plugins/" + plugin);
|
|
203
|
-
const T2packageCwd = (0, node_path_1.join)(this.referencedPluginDir, npmPackage, "latest");
|
|
204
|
-
if ((0, node_fs_1.existsSync)(T2pluginPath)) {
|
|
205
|
-
pluginPath = T2pluginPath;
|
|
206
|
-
packageCwd = T2packageCwd;
|
|
207
|
-
if ((0, node_fs_1.existsSync)((0, node_path_1.join)(T2packageCwd, "./package.json"))) {
|
|
208
|
-
const packageJSON = JSON.parse((0, node_fs_1.readFileSync)((0, node_path_1.join)(T2packageCwd, "./package.json"), "utf-8")
|
|
209
|
-
.toString());
|
|
210
|
-
version = packageJSON.version ?? version;
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
204
|
}
|
|
215
|
-
if (pluginPath ==
|
|
216
|
-
const
|
|
217
|
-
const
|
|
218
|
-
if ((0, node_fs_1.existsSync)(
|
|
219
|
-
pluginPath =
|
|
220
|
-
packageCwd =
|
|
205
|
+
if (pluginPath == "") {
|
|
206
|
+
const nodeModulesPluginPath = (0, node_path_1.join)(this.nodeModulesPluginDir, npmPackage, "./lib/plugins/" + plugin);
|
|
207
|
+
const nodeModulesPackageCwd = (0, node_path_1.join)(this.nodeModulesPluginDir, npmPackage);
|
|
208
|
+
if ((0, node_fs_1.existsSync)(nodeModulesPluginPath)) {
|
|
209
|
+
pluginPath = nodeModulesPluginPath;
|
|
210
|
+
packageCwd = nodeModulesPackageCwd;
|
|
221
211
|
}
|
|
222
212
|
}
|
|
223
213
|
if ((0, node_fs_1.existsSync)(packageCwd) && (0, node_fs_1.existsSync)((0, node_path_1.join)(packageCwd, "./package.json"))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/serviceBase/plugins.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/serviceBase/plugins.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BSB (Better-Service-Base) is an event-bus based microservice framework.
|
|
3
|
+
* Copyright (C) 2016 - 2025 BetterCorp (PTY) Ltd
|
|
4
|
+
*
|
|
5
|
+
* This program is free software: you can redistribute it and/or modify
|
|
6
|
+
* it under the terms of the GNU Affero General Public License as published
|
|
7
|
+
* by the Free Software Foundation, either version 3 of the License, or
|
|
8
|
+
* (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* Alternatively, you may obtain a commercial license for this program.
|
|
11
|
+
* The commercial license allows you to use the Program in a closed-source manner,
|
|
12
|
+
* including the right to create derivative works that are not subject to the terms
|
|
13
|
+
* of the AGPL.
|
|
14
|
+
*
|
|
15
|
+
* To obtain a commercial license, please contact the copyright holders at
|
|
16
|
+
* https://www.bettercorp.dev. The terms and conditions of the commercial license
|
|
17
|
+
* will be provided upon request.
|
|
18
|
+
*
|
|
19
|
+
* This program is distributed in the hope that it will be useful,
|
|
20
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
22
|
+
* GNU Affero General Public License for more details.
|
|
23
|
+
*
|
|
24
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
25
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
26
|
+
*/
|
|
27
|
+
import { DEBUG_MODE, SBConfig, SBEvents, SBPlugins, BSBEventsConstructor, ObservableBackend, BSBObservableConstructor } from "../index";
|
|
28
|
+
import { SBObservable } from '../serviceBase/observable';
|
|
29
|
+
export declare const MockSBObservable: () => SBObservable;
|
|
30
|
+
export declare const MockSBConfig: () => SBConfig;
|
|
31
|
+
export declare const MockSBEvents: () => SBEvents;
|
|
32
|
+
export declare const MockSBPlugins: () => SBPlugins;
|
|
33
|
+
export declare const newSBObservable: () => Promise<SBObservable>;
|
|
34
|
+
export declare const newMetrics: () => Promise<ObservableBackend>;
|
|
35
|
+
export declare const getObservableConstructorConfig: (mode?: DEBUG_MODE) => BSBObservableConstructor;
|
|
36
|
+
export declare const getEventsConstructorConfig: (config: any) => Promise<BSBEventsConstructor>;
|
|
37
|
+
export declare const generateNullLogging: () => ObservableBackend;
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* BSB (Better-Service-Base) is an event-bus based microservice framework.
|
|
4
|
+
* Copyright (C) 2016 - 2025 BetterCorp (PTY) Ltd
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License as published
|
|
8
|
+
* by the Free Software Foundation, either version 3 of the License, or
|
|
9
|
+
* (at your option) any later version.
|
|
10
|
+
*
|
|
11
|
+
* Alternatively, you may obtain a commercial license for this program.
|
|
12
|
+
* The commercial license allows you to use the Program in a closed-source manner,
|
|
13
|
+
* including the right to create derivative works that are not subject to the terms
|
|
14
|
+
* of the AGPL.
|
|
15
|
+
*
|
|
16
|
+
* To obtain a commercial license, please contact the copyright holders at
|
|
17
|
+
* https://www.bettercorp.dev. The terms and conditions of the commercial license
|
|
18
|
+
* will be provided upon request.
|
|
19
|
+
*
|
|
20
|
+
* This program is distributed in the hope that it will be useful,
|
|
21
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
22
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
23
|
+
* GNU Affero General Public License for more details.
|
|
24
|
+
*
|
|
25
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
26
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
27
|
+
*/
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.generateNullLogging = exports.getEventsConstructorConfig = exports.getObservableConstructorConfig = exports.newMetrics = exports.newSBObservable = exports.MockSBPlugins = exports.MockSBEvents = exports.MockSBConfig = exports.MockSBObservable = void 0;
|
|
30
|
+
const index_1 = require("../index");
|
|
31
|
+
const events_1 = require("events");
|
|
32
|
+
const MockSBObservable = () => {
|
|
33
|
+
const observableBus = new events_1.EventEmitter();
|
|
34
|
+
observableBus.on('error', (...args) => { }); // Prevent unhandled error events
|
|
35
|
+
return {
|
|
36
|
+
observableBus,
|
|
37
|
+
isReady: true,
|
|
38
|
+
// Logging methods - emit to bus
|
|
39
|
+
debug: (plugin, trace, message, meta) => {
|
|
40
|
+
observableBus.emit('debug', plugin, trace, message, meta);
|
|
41
|
+
},
|
|
42
|
+
info: (plugin, trace, message, meta) => {
|
|
43
|
+
observableBus.emit('info', plugin, trace, message, meta);
|
|
44
|
+
},
|
|
45
|
+
warn: (plugin, trace, message, meta) => {
|
|
46
|
+
observableBus.emit('warn', plugin, trace, message, meta);
|
|
47
|
+
},
|
|
48
|
+
error: (plugin, trace, message, meta) => {
|
|
49
|
+
observableBus.emit('error', plugin, trace, message, meta);
|
|
50
|
+
},
|
|
51
|
+
// Metrics methods - emit to bus
|
|
52
|
+
createCounter: (timestamp, pluginName, name, description, help, labels) => {
|
|
53
|
+
observableBus.emit('createCounter', timestamp, pluginName, name, description, help, labels);
|
|
54
|
+
},
|
|
55
|
+
incrementCounter: (timestamp, pluginName, name, value, labels) => {
|
|
56
|
+
observableBus.emit('incrementCounter', timestamp, pluginName, name, value, labels);
|
|
57
|
+
},
|
|
58
|
+
createGauge: (timestamp, pluginName, name, description, help, labels) => {
|
|
59
|
+
observableBus.emit('createGauge', timestamp, pluginName, name, description, help, labels);
|
|
60
|
+
},
|
|
61
|
+
setGauge: (timestamp, pluginName, name, value, labels) => {
|
|
62
|
+
observableBus.emit('setGauge', timestamp, pluginName, name, value, labels);
|
|
63
|
+
},
|
|
64
|
+
createHistogram: (timestamp, pluginName, name, description, help, boundaries, labels) => {
|
|
65
|
+
observableBus.emit('createHistogram', timestamp, pluginName, name, description, help, boundaries, labels);
|
|
66
|
+
},
|
|
67
|
+
observeHistogram: (timestamp, pluginName, name, value, labels) => {
|
|
68
|
+
observableBus.emit('observeHistogram', timestamp, pluginName, name, value, labels);
|
|
69
|
+
},
|
|
70
|
+
// Span methods - emit to bus
|
|
71
|
+
startSpan: (timestamp, appId, pluginName, traceId, parentSpanId, spanId, name, attributes) => {
|
|
72
|
+
observableBus.emit('spanStart', { t: traceId, s: spanId }, pluginName, name, attributes);
|
|
73
|
+
},
|
|
74
|
+
endSpan: (timestamp, appId, pluginName, traceId, spanId, attributes) => {
|
|
75
|
+
observableBus.emit('spanEnd', { t: traceId, s: spanId }, pluginName, attributes);
|
|
76
|
+
},
|
|
77
|
+
errorSpan: (timestamp, appId, pluginName, traceId, spanId, error, attributes) => {
|
|
78
|
+
observableBus.emit('spanError', { t: traceId, s: spanId }, pluginName, error, attributes);
|
|
79
|
+
},
|
|
80
|
+
// Lifecycle methods
|
|
81
|
+
setupObservablePlugins: async () => { },
|
|
82
|
+
init: async () => { },
|
|
83
|
+
run: async () => { },
|
|
84
|
+
dispose: async () => { },
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
exports.MockSBObservable = MockSBObservable;
|
|
88
|
+
const MockSBConfig = () => {
|
|
89
|
+
const SB = {
|
|
90
|
+
getObservablePlugins: async (obs) => ({}),
|
|
91
|
+
getEventsPlugins: async (obs) => ({}),
|
|
92
|
+
getServicePlugins: async (obs) => ({}),
|
|
93
|
+
getPluginConfig: async (obs, pluginType, name) => null,
|
|
94
|
+
getServicePluginDefinition: async (obs, pluginName) => ({ name: pluginName, enabled: true }),
|
|
95
|
+
dispose: () => { },
|
|
96
|
+
setConfigPlugin: async () => {
|
|
97
|
+
return SB;
|
|
98
|
+
},
|
|
99
|
+
init: async () => { },
|
|
100
|
+
};
|
|
101
|
+
return SB;
|
|
102
|
+
};
|
|
103
|
+
exports.MockSBConfig = MockSBConfig;
|
|
104
|
+
const MockSBEvents = () => {
|
|
105
|
+
return {
|
|
106
|
+
eventsBus: new events_1.EventEmitter(),
|
|
107
|
+
dispose: () => { },
|
|
108
|
+
init: async () => { },
|
|
109
|
+
run: async () => { },
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
exports.MockSBEvents = MockSBEvents;
|
|
113
|
+
const MockSBPlugins = () => {
|
|
114
|
+
return {
|
|
115
|
+
getPlugins: async () => ({}),
|
|
116
|
+
dispose: () => { },
|
|
117
|
+
init: async () => { },
|
|
118
|
+
run: async () => { },
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
exports.MockSBPlugins = MockSBPlugins;
|
|
122
|
+
const newSBObservable = async () => {
|
|
123
|
+
const observable = (0, exports.MockSBObservable)();
|
|
124
|
+
return observable;
|
|
125
|
+
};
|
|
126
|
+
exports.newSBObservable = newSBObservable;
|
|
127
|
+
const newMetrics = async () => {
|
|
128
|
+
const observable = await (0, exports.newSBObservable)();
|
|
129
|
+
return new index_1.ObservableBackend("development", "test-app", "test-plugin", observable);
|
|
130
|
+
};
|
|
131
|
+
exports.newMetrics = newMetrics;
|
|
132
|
+
const getObservableConstructorConfig = (mode = "development") => {
|
|
133
|
+
return {
|
|
134
|
+
appId: "test-app",
|
|
135
|
+
packageCwd: process.cwd(),
|
|
136
|
+
pluginCwd: process.cwd(),
|
|
137
|
+
cwd: process.cwd(),
|
|
138
|
+
mode: mode,
|
|
139
|
+
pluginName: "test-plugin",
|
|
140
|
+
pluginVersion: "0.0.0",
|
|
141
|
+
config: undefined,
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
exports.getObservableConstructorConfig = getObservableConstructorConfig;
|
|
145
|
+
const getEventsConstructorConfig = async (config) => {
|
|
146
|
+
return {
|
|
147
|
+
appId: "test-app",
|
|
148
|
+
packageCwd: process.cwd(),
|
|
149
|
+
pluginCwd: process.cwd(),
|
|
150
|
+
cwd: process.cwd(),
|
|
151
|
+
mode: "development",
|
|
152
|
+
pluginName: "test-plugin",
|
|
153
|
+
pluginVersion: "0.0.0",
|
|
154
|
+
sbObservable: (0, exports.MockSBObservable)(),
|
|
155
|
+
config: config,
|
|
156
|
+
};
|
|
157
|
+
};
|
|
158
|
+
exports.getEventsConstructorConfig = getEventsConstructorConfig;
|
|
159
|
+
const generateNullLogging = () => {
|
|
160
|
+
const sbObservable = (0, exports.MockSBObservable)();
|
|
161
|
+
return new index_1.ObservableBackend("development", "test-app", "test-plugin", sbObservable);
|
|
162
|
+
};
|
|
163
|
+
exports.generateNullLogging = generateNullLogging;
|
|
164
|
+
//# sourceMappingURL=mocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mocks.js","sourceRoot":"","sources":["../../src/tests/mocks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BSB (Better-Service-Base) is an event-bus based microservice framework.
|
|
3
|
+
* Copyright (C) 2016 - 2025 BetterCorp (PTY) Ltd
|
|
4
|
+
*
|
|
5
|
+
* This program is free software: you can redistribute it and/or modify
|
|
6
|
+
* it under the terms of the GNU Affero General Public License as published
|
|
7
|
+
* by the Free Software Foundation, either version 3 of the License, or
|
|
8
|
+
* (at your option) any later version.
|
|
9
|
+
*
|
|
10
|
+
* Alternatively, you may obtain a commercial license for this program.
|
|
11
|
+
* The commercial license allows you to use the Program in a closed-source manner,
|
|
12
|
+
* including the right to create derivative works that are not subject to the terms
|
|
13
|
+
* of the AGPL.
|
|
14
|
+
*
|
|
15
|
+
* To obtain a commercial license, please contact the copyright holders at
|
|
16
|
+
* https://www.bettercorp.dev. The terms and conditions of the commercial license
|
|
17
|
+
* will be provided upon request.
|
|
18
|
+
*
|
|
19
|
+
* This program is distributed in the hope that it will be useful,
|
|
20
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
22
|
+
* GNU Affero General Public License for more details.
|
|
23
|
+
*
|
|
24
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
25
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
26
|
+
*/
|
|
27
|
+
import { BSBEvents } from "../../../../index";
|
|
28
|
+
export declare function broadcast(genNewPlugin: {
|
|
29
|
+
(): Promise<BSBEvents>;
|
|
30
|
+
}, maxTimeoutToExpectAResponse: number): void;
|