@bsb/base 9.0.5 → 9.1.1
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/lib/base/BSBConfig.d.ts +3 -3
- package/lib/base/BSBConfig.js +9 -14
- package/lib/base/BSBConfig.js.map +1 -1
- package/lib/base/BSBEvents.d.ts +3 -3
- package/lib/base/BSBEvents.js +12 -17
- package/lib/base/BSBEvents.js.map +1 -1
- package/lib/base/BSBObservable.d.ts +4 -4
- package/lib/base/BSBObservable.js +17 -22
- package/lib/base/BSBObservable.js.map +1 -1
- package/lib/base/BSBService.d.ts +7 -8
- package/lib/base/BSBService.js +17 -22
- package/lib/base/BSBService.js.map +1 -1
- package/lib/base/BSBServiceClient.d.ts +4 -4
- package/lib/base/BSBServiceClient.js +12 -18
- package/lib/base/BSBServiceClient.js.map +1 -1
- package/lib/base/EventValidator.d.ts +16 -17
- package/lib/base/EventValidator.js +13 -34
- package/lib/base/EventValidator.js.map +1 -1
- package/lib/base/ObservableBackend.d.ts +2 -2
- package/lib/base/ObservableBackend.js +21 -26
- package/lib/base/ObservableBackend.js.map +1 -1
- package/lib/base/PluginConfig.d.ts +9 -5
- package/lib/base/PluginConfig.js +4 -11
- package/lib/base/PluginConfig.js.map +1 -1
- package/lib/base/PluginEvents.d.ts +4 -4
- package/lib/base/PluginEvents.js +4 -9
- package/lib/base/PluginEvents.js.map +1 -1
- package/lib/base/PluginObservable.d.ts +13 -14
- package/lib/base/PluginObservable.js +4 -8
- package/lib/base/PluginObservable.js.map +1 -1
- package/lib/base/ResourceContext.d.ts +1 -1
- package/lib/base/ResourceContext.js +1 -5
- package/lib/base/ResourceContext.js.map +1 -1
- package/lib/base/base.d.ts +3 -3
- package/lib/base/base.js +10 -18
- package/lib/base/base.js.map +1 -1
- package/lib/base/errorMessages.d.ts +1 -1
- package/lib/base/errorMessages.js +6 -11
- package/lib/base/errorMessages.js.map +1 -1
- package/lib/base/factory.d.ts +1 -1
- package/lib/base/factory.js +19 -22
- package/lib/base/factory.js.map +1 -1
- package/lib/base/functions.d.ts +19 -14
- package/lib/base/functions.js +19 -26
- package/lib/base/functions.js.map +1 -1
- package/lib/base/index.d.ts +18 -18
- package/lib/base/index.js +18 -37
- package/lib/base/index.js.map +1 -1
- package/lib/base/logFormatter.d.ts +1 -1
- package/lib/base/logFormatter.js +10 -14
- package/lib/base/logFormatter.js.map +1 -1
- package/lib/base/module-runtime.d.ts +3 -0
- package/lib/base/module-runtime.js +15 -0
- package/lib/base/module-runtime.js.map +1 -0
- package/lib/base/tools.d.ts +1 -1
- package/lib/base/tools.js +9 -13
- package/lib/base/tools.js.map +1 -1
- package/lib/cli.js +13 -12
- package/lib/cli.js.map +1 -1
- package/lib/dev.js +22 -11
- package/lib/dev.js.map +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.js +3 -19
- package/lib/index.js.map +1 -1
- package/lib/interfaces/events.d.ts +2 -2
- package/lib/interfaces/events.js +1 -4
- package/lib/interfaces/events.js.map +1 -1
- package/lib/interfaces/index.d.ts +13 -12
- package/lib/interfaces/index.js +12 -32
- package/lib/interfaces/index.js.map +1 -1
- package/lib/interfaces/logging.d.ts +3 -3
- package/lib/interfaces/logging.js +1 -4
- package/lib/interfaces/logging.js.map +1 -1
- package/lib/interfaces/metrics.d.ts +2 -2
- package/lib/interfaces/metrics.js +1 -5
- package/lib/interfaces/metrics.js.map +1 -1
- package/lib/interfaces/observable-types.d.ts +1 -1
- package/lib/interfaces/observable-types.js +1 -4
- package/lib/interfaces/observable-types.js.map +1 -1
- package/lib/interfaces/observable.d.ts +8 -9
- package/lib/interfaces/observable.js +1 -2
- package/lib/interfaces/observable.js.map +1 -1
- package/lib/interfaces/options.d.ts +15 -6
- package/lib/interfaces/options.js +2 -5
- package/lib/interfaces/options.js.map +1 -1
- package/lib/interfaces/plugins.d.ts +2 -2
- package/lib/interfaces/plugins.js +1 -4
- package/lib/interfaces/plugins.js.map +1 -1
- package/lib/interfaces/result.js +8 -18
- package/lib/interfaces/result.js.map +1 -1
- package/lib/interfaces/schema-events.d.ts +4 -19
- package/lib/interfaces/schema-events.js +6 -13
- package/lib/interfaces/schema-events.js.map +1 -1
- package/lib/interfaces/schema-types.d.ts +32 -352
- package/lib/interfaces/schema-types.js +77 -512
- package/lib/interfaces/schema-types.js.map +1 -1
- package/lib/interfaces/service.d.ts +1 -1
- package/lib/interfaces/service.js +1 -2
- package/lib/interfaces/service.js.map +1 -1
- package/lib/interfaces/tools.js +8 -13
- package/lib/interfaces/tools.js.map +1 -1
- package/lib/plugins/config-default/index.d.ts +16 -14
- package/lib/plugins/config-default/index.js +66 -49
- package/lib/plugins/config-default/index.js.map +1 -1
- package/lib/plugins/config-default/interfaces.d.ts +1 -1
- package/lib/plugins/config-default/interfaces.js +1 -2
- package/lib/plugins/config-default/interfaces.js.map +1 -1
- package/lib/plugins/events-default/events/broadcast.d.ts +1 -1
- package/lib/plugins/events-default/events/broadcast.js +2 -6
- package/lib/plugins/events-default/events/broadcast.js.map +1 -1
- package/lib/plugins/events-default/events/emit.d.ts +1 -1
- package/lib/plugins/events-default/events/emit.js +4 -8
- package/lib/plugins/events-default/events/emit.js.map +1 -1
- package/lib/plugins/events-default/events/emitAndReturn.d.ts +1 -1
- package/lib/plugins/events-default/events/emitAndReturn.js +4 -8
- package/lib/plugins/events-default/events/emitAndReturn.js.map +1 -1
- package/lib/plugins/events-default/events/emitStreamAndReceiveStream.d.ts +1 -1
- package/lib/plugins/events-default/events/emitStreamAndReceiveStream.js +8 -12
- package/lib/plugins/events-default/events/emitStreamAndReceiveStream.js.map +1 -1
- package/lib/plugins/events-default/events/index.d.ts +4 -4
- package/lib/plugins/events-default/events/index.js +4 -11
- package/lib/plugins/events-default/events/index.js.map +1 -1
- package/lib/plugins/events-default/index.d.ts +5 -5
- package/lib/plugins/events-default/index.js +10 -14
- package/lib/plugins/events-default/index.js.map +1 -1
- package/lib/plugins/observable-default/index.d.ts +5 -5
- package/lib/plugins/observable-default/index.js +8 -12
- package/lib/plugins/observable-default/index.js.map +1 -1
- package/lib/plugins/service-benchmarkify/index.d.ts +69 -185
- package/lib/plugins/service-benchmarkify/index.js +39 -43
- package/lib/plugins/service-benchmarkify/index.js.map +1 -1
- package/lib/plugins/service-default0/index.d.ts +73 -171
- package/lib/plugins/service-default0/index.js +36 -40
- package/lib/plugins/service-default0/index.js.map +1 -1
- package/lib/plugins/service-default1/client.d.ts +3 -3
- package/lib/plugins/service-default1/client.js +2 -6
- package/lib/plugins/service-default1/client.js.map +1 -1
- package/lib/plugins/service-default1/index.d.ts +75 -177
- package/lib/plugins/service-default1/index.js +41 -45
- package/lib/plugins/service-default1/index.js.map +1 -1
- package/lib/plugins/service-default2/index.d.ts +89 -231
- package/lib/plugins/service-default2/index.js +47 -51
- package/lib/plugins/service-default2/index.js.map +1 -1
- package/lib/plugins/service-default3/index.d.ts +23 -51
- package/lib/plugins/service-default3/index.js +16 -20
- package/lib/plugins/service-default3/index.js.map +1 -1
- package/lib/plugins/service-default4/index.d.ts +13 -27
- package/lib/plugins/service-default4/index.js +12 -16
- package/lib/plugins/service-default4/index.js.map +1 -1
- package/lib/schemas/config-default.json +24 -16
- package/lib/schemas/config-default.plugin.json +24 -16
- package/lib/schemas/events-default.json +1 -1
- package/lib/schemas/events-default.plugin.json +1 -1
- package/lib/schemas/observable-default.json +15 -5
- package/lib/schemas/observable-default.plugin.json +15 -5
- package/lib/schemas/service-benchmarkify.json +232 -147
- package/lib/schemas/service-default0.json +205 -142
- package/lib/schemas/service-default1.json +245 -160
- package/lib/schemas/service-default2.json +270 -183
- package/lib/schemas/service-default3.json +78 -36
- package/lib/schemas/service-default4.json +45 -15
- package/lib/scripts/bsb-client-cli.js +9 -9
- package/lib/scripts/bsb-client-cli.js.map +1 -1
- package/lib/scripts/bsb-plugin-cli.js +48 -50
- package/lib/scripts/bsb-plugin-cli.js.map +1 -1
- package/lib/scripts/export-schemas.js +8 -10
- package/lib/scripts/export-schemas.js.map +1 -1
- package/lib/scripts/extract-schemas-from-source.js +73 -56
- package/lib/scripts/extract-schemas-from-source.js.map +1 -1
- package/lib/scripts/generate-client-types.d.ts +1 -16
- package/lib/scripts/generate-client-types.js +120 -313
- package/lib/scripts/generate-client-types.js.map +1 -1
- package/lib/scripts/generate-plugin-json.js +9 -10
- package/lib/scripts/generate-plugin-json.js.map +1 -1
- package/lib/serviceBase/config.d.ts +4 -4
- package/lib/serviceBase/config.js +33 -35
- package/lib/serviceBase/config.js.map +1 -1
- package/lib/serviceBase/events.d.ts +6 -6
- package/lib/serviceBase/events.js +42 -44
- package/lib/serviceBase/events.js.map +1 -1
- package/lib/serviceBase/index.d.ts +7 -7
- package/lib/serviceBase/index.js +7 -23
- package/lib/serviceBase/index.js.map +1 -1
- package/lib/serviceBase/observable.d.ts +5 -5
- package/lib/serviceBase/observable.js +21 -25
- package/lib/serviceBase/observable.js.map +1 -1
- package/lib/serviceBase/plugins.d.ts +3 -3
- package/lib/serviceBase/plugins.js +47 -53
- package/lib/serviceBase/plugins.js.map +1 -1
- package/lib/serviceBase/serviceBase.d.ts +3 -3
- package/lib/serviceBase/serviceBase.js +40 -44
- package/lib/serviceBase/serviceBase.js.map +1 -1
- package/lib/serviceBase/services.d.ts +6 -6
- package/lib/serviceBase/services.js +21 -22
- package/lib/serviceBase/services.js.map +1 -1
- package/package.json +18 -11
|
@@ -24,62 +24,41 @@
|
|
|
24
24
|
* You should have received a copy of the GNU Affero General Public License
|
|
25
25
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
26
26
|
*/
|
|
27
|
-
import { BSBService, BSBServiceConstructor } from "../../base";
|
|
28
|
-
import
|
|
29
|
-
import { Observable } from "../../interfaces/observable";
|
|
30
|
-
export declare const Config: import("../../base").BSBPluginConfigClass<
|
|
31
|
-
testa:
|
|
32
|
-
testb:
|
|
33
|
-
}
|
|
27
|
+
import { BSBService, BSBServiceConstructor } from "../../base/index.js";
|
|
28
|
+
import * as av from "@anyvali/js";
|
|
29
|
+
import { Observable } from "../../interfaces/observable.js";
|
|
30
|
+
export declare const Config: import("../../base/PluginConfig.js").BSBPluginConfigClass<av.ObjectSchema<{
|
|
31
|
+
testa: av.NumberSchema;
|
|
32
|
+
testb: av.NumberSchema;
|
|
33
|
+
}>>;
|
|
34
34
|
export declare const EventSchemas: {
|
|
35
35
|
readonly emitEvents: {
|
|
36
36
|
readonly test: {
|
|
37
|
-
input: {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
readonly b: import("../..").BSBStringType;
|
|
42
|
-
};
|
|
43
|
-
required: string[];
|
|
44
|
-
description?: string;
|
|
45
|
-
optional?: boolean;
|
|
46
|
-
nullable?: boolean;
|
|
47
|
-
};
|
|
37
|
+
input: av.ObjectSchema<{
|
|
38
|
+
a: av.StringSchema;
|
|
39
|
+
b: av.StringSchema;
|
|
40
|
+
}>;
|
|
48
41
|
description?: string;
|
|
49
42
|
readonly __brand: "fire-and-forget";
|
|
50
43
|
};
|
|
51
44
|
};
|
|
52
45
|
readonly onEvents: {
|
|
53
46
|
readonly startup: {
|
|
54
|
-
input: {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
readonly source: import("../..").BSBStringType;
|
|
59
|
-
};
|
|
60
|
-
required: string[];
|
|
61
|
-
description?: string;
|
|
62
|
-
optional?: boolean;
|
|
63
|
-
nullable?: boolean;
|
|
64
|
-
};
|
|
47
|
+
input: av.ObjectSchema<{
|
|
48
|
+
timestamp: av.StringSchema;
|
|
49
|
+
source: av.StringSchema;
|
|
50
|
+
}>;
|
|
65
51
|
description?: string;
|
|
66
52
|
readonly __brand: "fire-and-forget";
|
|
67
53
|
};
|
|
68
54
|
};
|
|
69
55
|
readonly emitReturnableEvents: {
|
|
70
56
|
readonly calculate: {
|
|
71
|
-
input: {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
};
|
|
77
|
-
required: string[];
|
|
78
|
-
description?: string;
|
|
79
|
-
optional?: boolean;
|
|
80
|
-
nullable?: boolean;
|
|
81
|
-
};
|
|
82
|
-
output: import("../..").BSBNumberType;
|
|
57
|
+
input: av.ObjectSchema<{
|
|
58
|
+
a: import("../../index.js").BSBType;
|
|
59
|
+
b: import("../../index.js").BSBType;
|
|
60
|
+
}>;
|
|
61
|
+
output: import("../../index.js").BSBType;
|
|
83
62
|
description?: string;
|
|
84
63
|
defaultTimeout?: number;
|
|
85
64
|
readonly __brand: "returnable";
|
|
@@ -87,28 +66,14 @@ export declare const EventSchemas: {
|
|
|
87
66
|
};
|
|
88
67
|
readonly onReturnableEvents: {
|
|
89
68
|
readonly 'data.validate': {
|
|
90
|
-
input: {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
optional?: boolean;
|
|
99
|
-
nullable?: boolean;
|
|
100
|
-
};
|
|
101
|
-
output: {
|
|
102
|
-
_bsb: "object";
|
|
103
|
-
properties: {
|
|
104
|
-
readonly valid: import("../..").BSBBooleanType;
|
|
105
|
-
readonly errors: import("../..").BSBArrayType;
|
|
106
|
-
};
|
|
107
|
-
required: string[];
|
|
108
|
-
description?: string;
|
|
109
|
-
optional?: boolean;
|
|
110
|
-
nullable?: boolean;
|
|
111
|
-
};
|
|
69
|
+
input: av.ObjectSchema<{
|
|
70
|
+
data: av.UnknownSchema;
|
|
71
|
+
schema: av.StringSchema;
|
|
72
|
+
}>;
|
|
73
|
+
output: av.ObjectSchema<{
|
|
74
|
+
valid: av.BoolSchema;
|
|
75
|
+
errors: av.ArraySchema<import("../../index.js").BSBType>;
|
|
76
|
+
}>;
|
|
112
77
|
description?: string;
|
|
113
78
|
defaultTimeout?: number;
|
|
114
79
|
readonly __brand: "returnable";
|
|
@@ -116,95 +81,60 @@ export declare const EventSchemas: {
|
|
|
116
81
|
};
|
|
117
82
|
readonly emitBroadcast: {
|
|
118
83
|
readonly 'system.alert': {
|
|
119
|
-
input: {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
readonly source: import("../..").BSBStringType;
|
|
126
|
-
};
|
|
127
|
-
required: string[];
|
|
128
|
-
description?: string;
|
|
129
|
-
optional?: boolean;
|
|
130
|
-
nullable?: boolean;
|
|
131
|
-
};
|
|
84
|
+
input: av.ObjectSchema<{
|
|
85
|
+
level: av.EnumSchema<readonly (string | number)[]>;
|
|
86
|
+
message: av.StringSchema;
|
|
87
|
+
timestamp: av.StringSchema;
|
|
88
|
+
source: av.StringSchema;
|
|
89
|
+
}>;
|
|
132
90
|
description?: string;
|
|
133
91
|
readonly __brand: "broadcast";
|
|
134
92
|
};
|
|
135
93
|
};
|
|
136
94
|
readonly onBroadcast: {
|
|
137
95
|
readonly 'system.shutdown': {
|
|
138
|
-
input: {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
readonly gracefulTimeout: import("../..").BSBNumberType;
|
|
143
|
-
};
|
|
144
|
-
required: string[];
|
|
145
|
-
description?: string;
|
|
146
|
-
optional?: boolean;
|
|
147
|
-
nullable?: boolean;
|
|
148
|
-
};
|
|
96
|
+
input: av.ObjectSchema<{
|
|
97
|
+
reason: av.StringSchema;
|
|
98
|
+
gracefulTimeout: import("../../index.js").BSBType;
|
|
99
|
+
}>;
|
|
149
100
|
description?: string;
|
|
150
101
|
readonly __brand: "broadcast";
|
|
151
102
|
};
|
|
152
103
|
};
|
|
153
104
|
};
|
|
154
105
|
export declare class Plugin extends BSBService<InstanceType<typeof Config>, typeof EventSchemas> {
|
|
155
|
-
static Config: import("../../base").BSBPluginConfigClass<
|
|
156
|
-
testa:
|
|
157
|
-
testb:
|
|
158
|
-
}
|
|
106
|
+
static Config: import("../../base/PluginConfig.js").BSBPluginConfigClass<av.ObjectSchema<{
|
|
107
|
+
testa: av.NumberSchema;
|
|
108
|
+
testb: av.NumberSchema;
|
|
109
|
+
}>>;
|
|
159
110
|
static EventSchemas: {
|
|
160
111
|
readonly emitEvents: {
|
|
161
112
|
readonly test: {
|
|
162
|
-
input: {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
readonly b: import("../..").BSBStringType;
|
|
167
|
-
};
|
|
168
|
-
required: string[];
|
|
169
|
-
description?: string;
|
|
170
|
-
optional?: boolean;
|
|
171
|
-
nullable?: boolean;
|
|
172
|
-
};
|
|
113
|
+
input: av.ObjectSchema<{
|
|
114
|
+
a: av.StringSchema;
|
|
115
|
+
b: av.StringSchema;
|
|
116
|
+
}>;
|
|
173
117
|
description?: string;
|
|
174
118
|
readonly __brand: "fire-and-forget";
|
|
175
119
|
};
|
|
176
120
|
};
|
|
177
121
|
readonly onEvents: {
|
|
178
122
|
readonly startup: {
|
|
179
|
-
input: {
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
readonly source: import("../..").BSBStringType;
|
|
184
|
-
};
|
|
185
|
-
required: string[];
|
|
186
|
-
description?: string;
|
|
187
|
-
optional?: boolean;
|
|
188
|
-
nullable?: boolean;
|
|
189
|
-
};
|
|
123
|
+
input: av.ObjectSchema<{
|
|
124
|
+
timestamp: av.StringSchema;
|
|
125
|
+
source: av.StringSchema;
|
|
126
|
+
}>;
|
|
190
127
|
description?: string;
|
|
191
128
|
readonly __brand: "fire-and-forget";
|
|
192
129
|
};
|
|
193
130
|
};
|
|
194
131
|
readonly emitReturnableEvents: {
|
|
195
132
|
readonly calculate: {
|
|
196
|
-
input: {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
};
|
|
202
|
-
required: string[];
|
|
203
|
-
description?: string;
|
|
204
|
-
optional?: boolean;
|
|
205
|
-
nullable?: boolean;
|
|
206
|
-
};
|
|
207
|
-
output: import("../..").BSBNumberType;
|
|
133
|
+
input: av.ObjectSchema<{
|
|
134
|
+
a: import("../../index.js").BSBType;
|
|
135
|
+
b: import("../../index.js").BSBType;
|
|
136
|
+
}>;
|
|
137
|
+
output: import("../../index.js").BSBType;
|
|
208
138
|
description?: string;
|
|
209
139
|
defaultTimeout?: number;
|
|
210
140
|
readonly __brand: "returnable";
|
|
@@ -212,28 +142,14 @@ export declare class Plugin extends BSBService<InstanceType<typeof Config>, type
|
|
|
212
142
|
};
|
|
213
143
|
readonly onReturnableEvents: {
|
|
214
144
|
readonly 'data.validate': {
|
|
215
|
-
input: {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
optional?: boolean;
|
|
224
|
-
nullable?: boolean;
|
|
225
|
-
};
|
|
226
|
-
output: {
|
|
227
|
-
_bsb: "object";
|
|
228
|
-
properties: {
|
|
229
|
-
readonly valid: import("../..").BSBBooleanType;
|
|
230
|
-
readonly errors: import("../..").BSBArrayType;
|
|
231
|
-
};
|
|
232
|
-
required: string[];
|
|
233
|
-
description?: string;
|
|
234
|
-
optional?: boolean;
|
|
235
|
-
nullable?: boolean;
|
|
236
|
-
};
|
|
145
|
+
input: av.ObjectSchema<{
|
|
146
|
+
data: av.UnknownSchema;
|
|
147
|
+
schema: av.StringSchema;
|
|
148
|
+
}>;
|
|
149
|
+
output: av.ObjectSchema<{
|
|
150
|
+
valid: av.BoolSchema;
|
|
151
|
+
errors: av.ArraySchema<import("../../index.js").BSBType>;
|
|
152
|
+
}>;
|
|
237
153
|
description?: string;
|
|
238
154
|
defaultTimeout?: number;
|
|
239
155
|
readonly __brand: "returnable";
|
|
@@ -241,36 +157,22 @@ export declare class Plugin extends BSBService<InstanceType<typeof Config>, type
|
|
|
241
157
|
};
|
|
242
158
|
readonly emitBroadcast: {
|
|
243
159
|
readonly 'system.alert': {
|
|
244
|
-
input: {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
readonly source: import("../..").BSBStringType;
|
|
251
|
-
};
|
|
252
|
-
required: string[];
|
|
253
|
-
description?: string;
|
|
254
|
-
optional?: boolean;
|
|
255
|
-
nullable?: boolean;
|
|
256
|
-
};
|
|
160
|
+
input: av.ObjectSchema<{
|
|
161
|
+
level: av.EnumSchema<readonly (string | number)[]>;
|
|
162
|
+
message: av.StringSchema;
|
|
163
|
+
timestamp: av.StringSchema;
|
|
164
|
+
source: av.StringSchema;
|
|
165
|
+
}>;
|
|
257
166
|
description?: string;
|
|
258
167
|
readonly __brand: "broadcast";
|
|
259
168
|
};
|
|
260
169
|
};
|
|
261
170
|
readonly onBroadcast: {
|
|
262
171
|
readonly 'system.shutdown': {
|
|
263
|
-
input: {
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
readonly gracefulTimeout: import("../..").BSBNumberType;
|
|
268
|
-
};
|
|
269
|
-
required: string[];
|
|
270
|
-
description?: string;
|
|
271
|
-
optional?: boolean;
|
|
272
|
-
nullable?: boolean;
|
|
273
|
-
};
|
|
172
|
+
input: av.ObjectSchema<{
|
|
173
|
+
reason: av.StringSchema;
|
|
174
|
+
gracefulTimeout: import("../../index.js").BSBType;
|
|
175
|
+
}>;
|
|
274
176
|
description?: string;
|
|
275
177
|
readonly __brand: "broadcast";
|
|
276
178
|
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* BSB (Better-Service-Base) is an event-bus based microservice framework.
|
|
4
3
|
* Copyright (C) 2016 - 2025 BetterCorp (PTY) Ltd
|
|
@@ -25,73 +24,71 @@
|
|
|
25
24
|
* You should have received a copy of the GNU Affero General Public License
|
|
26
25
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
27
26
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
});
|
|
37
|
-
exports.Config = (0, base_1.createConfigSchema)({
|
|
27
|
+
import { BSBService, createConfigSchema, bsb } from "../../base/index.js";
|
|
28
|
+
import * as av from "@anyvali/js";
|
|
29
|
+
import { createEventSchemas, createFireAndForgetEvent, createReturnableEvent, createBroadcastEvent } from "../../interfaces/schema-events.js";
|
|
30
|
+
const secSchema = av.object({
|
|
31
|
+
testa: av.number(),
|
|
32
|
+
testb: av.number(),
|
|
33
|
+
}, { unknownKeys: "strip" });
|
|
34
|
+
export const Config = createConfigSchema({
|
|
38
35
|
name: 'service-default0',
|
|
39
36
|
description: 'Default service plugin 0 for testing',
|
|
40
37
|
image: '../docs/public/assets/images/bsb-logo.png',
|
|
41
38
|
tags: ['default', 'example', 'test'],
|
|
42
39
|
}, secSchema);
|
|
43
|
-
|
|
40
|
+
export const EventSchemas = createEventSchemas({
|
|
44
41
|
// Events this service emits (fire-and-forget, first listener receives)
|
|
45
42
|
emitEvents: {
|
|
46
|
-
test:
|
|
47
|
-
a:
|
|
48
|
-
b:
|
|
43
|
+
test: createFireAndForgetEvent(bsb.object({
|
|
44
|
+
a: bsb.string({ description: 'First string parameter' }),
|
|
45
|
+
b: bsb.string({ description: 'Second string parameter' })
|
|
49
46
|
}, 'Test event parameters'), 'Test event with string parameters')
|
|
50
47
|
},
|
|
51
48
|
// Events this service listens to (fire-and-forget)
|
|
52
49
|
onEvents: {
|
|
53
|
-
startup:
|
|
54
|
-
timestamp:
|
|
55
|
-
source:
|
|
50
|
+
startup: createFireAndForgetEvent(bsb.object({
|
|
51
|
+
timestamp: bsb.datetime('Startup timestamp'),
|
|
52
|
+
source: bsb.string({ description: 'Source identifier' })
|
|
56
53
|
}, 'Startup event parameters'), 'Handle system startup notification')
|
|
57
54
|
},
|
|
58
55
|
// Returnable events this service emits (requests from this service)
|
|
59
56
|
emitReturnableEvents: {
|
|
60
|
-
calculate:
|
|
61
|
-
a:
|
|
62
|
-
b:
|
|
63
|
-
}, 'Calculate input parameters'),
|
|
57
|
+
calculate: createReturnableEvent(bsb.object({
|
|
58
|
+
a: bsb.number({ min: 0, description: 'First number' }),
|
|
59
|
+
b: bsb.number({ min: 0, description: 'Second number' })
|
|
60
|
+
}, 'Calculate input parameters'), bsb.number({ description: 'Calculation result' }), 'Calculate with two numbers')
|
|
64
61
|
},
|
|
65
62
|
// Returnable events this service listens to (requests to this service)
|
|
66
63
|
onReturnableEvents: {
|
|
67
|
-
'data.validate':
|
|
68
|
-
data:
|
|
69
|
-
schema:
|
|
70
|
-
}, 'Validation input'),
|
|
71
|
-
valid:
|
|
72
|
-
errors:
|
|
64
|
+
'data.validate': createReturnableEvent(bsb.object({
|
|
65
|
+
data: bsb.unknown('Data to validate'),
|
|
66
|
+
schema: bsb.string({ description: 'Schema name' })
|
|
67
|
+
}, 'Validation input'), bsb.object({
|
|
68
|
+
valid: bsb.boolean('Validation result'),
|
|
69
|
+
errors: bsb.array(bsb.string({ description: 'Error message' }), { description: 'Validation errors' })
|
|
73
70
|
}, 'Validation output'), 'Validate data against a schema')
|
|
74
71
|
},
|
|
75
72
|
// Broadcast events this service emits (all listeners receive)
|
|
76
73
|
emitBroadcast: {
|
|
77
|
-
'system.alert':
|
|
78
|
-
level:
|
|
79
|
-
message:
|
|
80
|
-
timestamp:
|
|
81
|
-
source:
|
|
74
|
+
'system.alert': createBroadcastEvent(bsb.object({
|
|
75
|
+
level: bsb.enum(['info', 'warning', 'error', 'critical'], 'Alert level'),
|
|
76
|
+
message: bsb.string({ description: 'Alert message' }),
|
|
77
|
+
timestamp: bsb.datetime('Alert timestamp'),
|
|
78
|
+
source: bsb.string({ description: 'Alert source' })
|
|
82
79
|
}, 'System alert parameters'), 'System-wide alert broadcast')
|
|
83
80
|
},
|
|
84
81
|
// Broadcast events this service listens to
|
|
85
82
|
onBroadcast: {
|
|
86
|
-
'system.shutdown':
|
|
87
|
-
reason:
|
|
88
|
-
gracefulTimeout:
|
|
83
|
+
'system.shutdown': createBroadcastEvent(bsb.object({
|
|
84
|
+
reason: bsb.string({ description: 'Shutdown reason' }),
|
|
85
|
+
gracefulTimeout: bsb.number({ description: 'Graceful timeout in milliseconds' })
|
|
89
86
|
}, 'Shutdown parameters'), 'Listen for system shutdown broadcasts')
|
|
90
87
|
}
|
|
91
88
|
});
|
|
92
|
-
class Plugin extends
|
|
93
|
-
static Config =
|
|
94
|
-
static EventSchemas =
|
|
89
|
+
export class Plugin extends BSBService {
|
|
90
|
+
static Config = Config;
|
|
91
|
+
static EventSchemas = EventSchemas;
|
|
95
92
|
// PLUGIN_CLIENT auto-generated from Config.metadata
|
|
96
93
|
initBeforePlugins;
|
|
97
94
|
initAfterPlugins;
|
|
@@ -113,5 +110,4 @@ class Plugin extends base_1.BSBService {
|
|
|
113
110
|
obs.log.info("Calculation result: {result}", { result });
|
|
114
111
|
}
|
|
115
112
|
}
|
|
116
|
-
exports.Plugin = Plugin;
|
|
117
113
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/service-default0/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/service-default0/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
* You should have received a copy of the GNU Affero General Public License
|
|
25
25
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
26
26
|
*/
|
|
27
|
-
import { BSBServiceClient } from "
|
|
28
|
-
import { Plugin } from ".";
|
|
29
|
-
import { Observable } from "../../interfaces";
|
|
27
|
+
import { BSBServiceClient } from "../../index.js";
|
|
28
|
+
import { Plugin } from "./index.js";
|
|
29
|
+
import { Observable } from "../../interfaces/index.js";
|
|
30
30
|
export declare class testClient extends BSBServiceClient<Plugin> {
|
|
31
31
|
initBeforePlugins?: string[] | undefined;
|
|
32
32
|
initAfterPlugins?: string[] | undefined;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* BSB (Better-Service-Base) is an event-bus based microservice framework.
|
|
4
3
|
* Copyright (C) 2016 - 2025 BetterCorp (PTY) Ltd
|
|
@@ -25,10 +24,8 @@
|
|
|
25
24
|
* You should have received a copy of the GNU Affero General Public License
|
|
26
25
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
27
26
|
*/
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const __1 = require("../..");
|
|
31
|
-
class testClient extends __1.BSBServiceClient {
|
|
27
|
+
import { BSBServiceClient } from "../../index.js";
|
|
28
|
+
export class testClient extends BSBServiceClient {
|
|
32
29
|
initBeforePlugins;
|
|
33
30
|
initAfterPlugins;
|
|
34
31
|
runBeforePlugins;
|
|
@@ -66,5 +63,4 @@ class testClient extends __1.BSBServiceClient {
|
|
|
66
63
|
}
|
|
67
64
|
}
|
|
68
65
|
}
|
|
69
|
-
exports.testClient = testClient;
|
|
70
66
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/plugins/service-default1/client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/plugins/service-default1/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIlD,MAAM,OAAO,UAAW,SAAQ,gBAAwB;IAC/C,iBAAiB,CAAwB;IACzC,gBAAgB,CAAwB;IACxC,gBAAgB,CAAwB;IACxC,eAAe,CAAwB;IAG9B,UAAU,GAAW,kBAAkB,CAAC;IAChD,KAAK,GAAG,CAAC,CAAC;IACV,OAAO,CAAc;IAEtB,KAAK,CAAC,IAAI,CAAC,GAAe;QAC/B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QACnB,0BAA0B;QAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,GAAe,EAAE,KAAU,EAAE,EAAE;YAC5E,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,uBAAuB,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,2BAA2B;QAC3B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,GAAG,EAAE,KAAK,EAAE,GAAe,EAAE,KAAU,EAAE,EAAE;YAC9F,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,GAAG,CAAC,GAAG,CAAC,IAAI,CAAE,+BAA+B,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC5F,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACrE,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;CACF"}
|