@bsb/base 9.0.4 → 9.1.0

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.
Files changed (218) hide show
  1. package/lib/base/BSBConfig.d.ts +3 -3
  2. package/lib/base/BSBConfig.js +9 -14
  3. package/lib/base/BSBConfig.js.map +1 -1
  4. package/lib/base/BSBEvents.d.ts +3 -3
  5. package/lib/base/BSBEvents.js +12 -17
  6. package/lib/base/BSBEvents.js.map +1 -1
  7. package/lib/base/BSBObservable.d.ts +4 -4
  8. package/lib/base/BSBObservable.js +17 -22
  9. package/lib/base/BSBObservable.js.map +1 -1
  10. package/lib/base/BSBService.d.ts +7 -8
  11. package/lib/base/BSBService.js +17 -22
  12. package/lib/base/BSBService.js.map +1 -1
  13. package/lib/base/BSBServiceClient.d.ts +4 -4
  14. package/lib/base/BSBServiceClient.js +12 -18
  15. package/lib/base/BSBServiceClient.js.map +1 -1
  16. package/lib/base/EventValidator.d.ts +16 -17
  17. package/lib/base/EventValidator.js +13 -34
  18. package/lib/base/EventValidator.js.map +1 -1
  19. package/lib/base/ObservableBackend.d.ts +2 -2
  20. package/lib/base/ObservableBackend.js +21 -26
  21. package/lib/base/ObservableBackend.js.map +1 -1
  22. package/lib/base/PluginConfig.d.ts +9 -7
  23. package/lib/base/PluginConfig.js +4 -11
  24. package/lib/base/PluginConfig.js.map +1 -1
  25. package/lib/base/PluginEvents.d.ts +4 -4
  26. package/lib/base/PluginEvents.js +4 -9
  27. package/lib/base/PluginEvents.js.map +1 -1
  28. package/lib/base/PluginObservable.d.ts +13 -14
  29. package/lib/base/PluginObservable.js +4 -8
  30. package/lib/base/PluginObservable.js.map +1 -1
  31. package/lib/base/ResourceContext.d.ts +1 -1
  32. package/lib/base/ResourceContext.js +1 -5
  33. package/lib/base/ResourceContext.js.map +1 -1
  34. package/lib/base/base.d.ts +3 -3
  35. package/lib/base/base.js +10 -18
  36. package/lib/base/base.js.map +1 -1
  37. package/lib/base/errorMessages.d.ts +1 -1
  38. package/lib/base/errorMessages.js +6 -11
  39. package/lib/base/errorMessages.js.map +1 -1
  40. package/lib/base/factory.d.ts +1 -1
  41. package/lib/base/factory.js +19 -22
  42. package/lib/base/factory.js.map +1 -1
  43. package/lib/base/functions.d.ts +19 -14
  44. package/lib/base/functions.js +19 -26
  45. package/lib/base/functions.js.map +1 -1
  46. package/lib/base/index.d.ts +18 -18
  47. package/lib/base/index.js +18 -37
  48. package/lib/base/index.js.map +1 -1
  49. package/lib/base/logFormatter.d.ts +1 -1
  50. package/lib/base/logFormatter.js +10 -14
  51. package/lib/base/logFormatter.js.map +1 -1
  52. package/lib/base/module-runtime.d.ts +3 -0
  53. package/lib/base/module-runtime.js +15 -0
  54. package/lib/base/module-runtime.js.map +1 -0
  55. package/lib/base/tools.d.ts +1 -1
  56. package/lib/base/tools.js +9 -13
  57. package/lib/base/tools.js.map +1 -1
  58. package/lib/cli.js +13 -12
  59. package/lib/cli.js.map +1 -1
  60. package/lib/dev.js +22 -11
  61. package/lib/dev.js.map +1 -1
  62. package/lib/index.d.ts +3 -3
  63. package/lib/index.js +3 -19
  64. package/lib/index.js.map +1 -1
  65. package/lib/interfaces/events.d.ts +2 -2
  66. package/lib/interfaces/events.js +1 -4
  67. package/lib/interfaces/events.js.map +1 -1
  68. package/lib/interfaces/index.d.ts +13 -12
  69. package/lib/interfaces/index.js +12 -32
  70. package/lib/interfaces/index.js.map +1 -1
  71. package/lib/interfaces/logging.d.ts +3 -3
  72. package/lib/interfaces/logging.js +1 -4
  73. package/lib/interfaces/logging.js.map +1 -1
  74. package/lib/interfaces/metrics.d.ts +2 -2
  75. package/lib/interfaces/metrics.js +1 -5
  76. package/lib/interfaces/metrics.js.map +1 -1
  77. package/lib/interfaces/observable-types.d.ts +1 -1
  78. package/lib/interfaces/observable-types.js +1 -4
  79. package/lib/interfaces/observable-types.js.map +1 -1
  80. package/lib/interfaces/observable.d.ts +8 -9
  81. package/lib/interfaces/observable.js +1 -2
  82. package/lib/interfaces/observable.js.map +1 -1
  83. package/lib/interfaces/options.d.ts +15 -6
  84. package/lib/interfaces/options.js +2 -5
  85. package/lib/interfaces/options.js.map +1 -1
  86. package/lib/interfaces/plugins.d.ts +2 -2
  87. package/lib/interfaces/plugins.js +1 -4
  88. package/lib/interfaces/plugins.js.map +1 -1
  89. package/lib/interfaces/result.js +8 -18
  90. package/lib/interfaces/result.js.map +1 -1
  91. package/lib/interfaces/schema-events.d.ts +5 -20
  92. package/lib/interfaces/schema-events.js +7 -14
  93. package/lib/interfaces/schema-events.js.map +1 -1
  94. package/lib/interfaces/schema-types.d.ts +32 -352
  95. package/lib/interfaces/schema-types.js +77 -512
  96. package/lib/interfaces/schema-types.js.map +1 -1
  97. package/lib/interfaces/service.d.ts +1 -1
  98. package/lib/interfaces/service.js +1 -2
  99. package/lib/interfaces/service.js.map +1 -1
  100. package/lib/interfaces/tools.js +8 -13
  101. package/lib/interfaces/tools.js.map +1 -1
  102. package/lib/plugins/config-default/index.d.ts +16 -14
  103. package/lib/plugins/config-default/index.js +66 -50
  104. package/lib/plugins/config-default/index.js.map +1 -1
  105. package/lib/plugins/config-default/interfaces.d.ts +1 -1
  106. package/lib/plugins/config-default/interfaces.js +1 -2
  107. package/lib/plugins/config-default/interfaces.js.map +1 -1
  108. package/lib/plugins/events-default/events/broadcast.d.ts +1 -1
  109. package/lib/plugins/events-default/events/broadcast.js +2 -6
  110. package/lib/plugins/events-default/events/broadcast.js.map +1 -1
  111. package/lib/plugins/events-default/events/emit.d.ts +1 -1
  112. package/lib/plugins/events-default/events/emit.js +4 -8
  113. package/lib/plugins/events-default/events/emit.js.map +1 -1
  114. package/lib/plugins/events-default/events/emitAndReturn.d.ts +1 -1
  115. package/lib/plugins/events-default/events/emitAndReturn.js +4 -8
  116. package/lib/plugins/events-default/events/emitAndReturn.js.map +1 -1
  117. package/lib/plugins/events-default/events/emitStreamAndReceiveStream.d.ts +1 -1
  118. package/lib/plugins/events-default/events/emitStreamAndReceiveStream.js +8 -12
  119. package/lib/plugins/events-default/events/emitStreamAndReceiveStream.js.map +1 -1
  120. package/lib/plugins/events-default/events/index.d.ts +4 -4
  121. package/lib/plugins/events-default/events/index.js +4 -11
  122. package/lib/plugins/events-default/events/index.js.map +1 -1
  123. package/lib/plugins/events-default/index.d.ts +5 -5
  124. package/lib/plugins/events-default/index.js +10 -15
  125. package/lib/plugins/events-default/index.js.map +1 -1
  126. package/lib/plugins/observable-default/index.d.ts +5 -5
  127. package/lib/plugins/observable-default/index.js +8 -13
  128. package/lib/plugins/observable-default/index.js.map +1 -1
  129. package/lib/plugins/service-benchmarkify/index.d.ts +196 -0
  130. package/lib/plugins/service-benchmarkify/index.js +133 -0
  131. package/lib/plugins/service-benchmarkify/index.js.map +1 -0
  132. package/lib/plugins/service-default0/index.d.ts +189 -0
  133. package/lib/plugins/service-default0/index.js +113 -0
  134. package/lib/plugins/service-default0/index.js.map +1 -0
  135. package/lib/{tests/sb/plugins/events/emitStreamAndReceiveStream.d.ts → plugins/service-default1/client.d.ts} +16 -4
  136. package/lib/plugins/service-default1/client.js +66 -0
  137. package/lib/plugins/service-default1/client.js.map +1 -0
  138. package/lib/plugins/service-default1/index.d.ts +202 -0
  139. package/lib/plugins/service-default1/index.js +174 -0
  140. package/lib/plugins/service-default1/index.js.map +1 -0
  141. package/lib/plugins/service-default2/index.d.ts +217 -0
  142. package/lib/plugins/service-default2/index.js +132 -0
  143. package/lib/plugins/service-default2/index.js.map +1 -0
  144. package/lib/plugins/service-default3/index.d.ts +91 -0
  145. package/lib/plugins/service-default3/index.js +83 -0
  146. package/lib/plugins/service-default3/index.js.map +1 -0
  147. package/lib/plugins/service-default4/index.d.ts +67 -0
  148. package/lib/{tests.js → plugins/service-default4/index.js} +31 -17
  149. package/lib/plugins/service-default4/index.js.map +1 -0
  150. package/lib/schemas/config-default.json +24 -16
  151. package/lib/schemas/config-default.plugin.json +24 -16
  152. package/lib/schemas/events-default.json +1 -1
  153. package/lib/schemas/events-default.plugin.json +1 -1
  154. package/lib/schemas/observable-default.json +15 -5
  155. package/lib/schemas/observable-default.plugin.json +15 -5
  156. package/lib/schemas/service-benchmarkify.json +314 -0
  157. package/lib/schemas/service-default0.json +279 -0
  158. package/lib/schemas/service-default1.json +327 -0
  159. package/lib/schemas/service-default2.json +355 -0
  160. package/lib/schemas/service-default3.json +107 -0
  161. package/lib/schemas/service-default4.json +63 -0
  162. package/lib/scripts/bsb-client-cli.js +9 -9
  163. package/lib/scripts/bsb-client-cli.js.map +1 -1
  164. package/lib/scripts/bsb-plugin-cli.js +93 -64
  165. package/lib/scripts/bsb-plugin-cli.js.map +1 -1
  166. package/lib/scripts/export-schemas.js +15 -12
  167. package/lib/scripts/export-schemas.js.map +1 -1
  168. package/lib/scripts/extract-schemas-from-source.js +73 -56
  169. package/lib/scripts/extract-schemas-from-source.js.map +1 -1
  170. package/lib/scripts/generate-client-types.d.ts +1 -16
  171. package/lib/scripts/generate-client-types.js +120 -313
  172. package/lib/scripts/generate-client-types.js.map +1 -1
  173. package/lib/scripts/generate-plugin-json.js +9 -10
  174. package/lib/scripts/generate-plugin-json.js.map +1 -1
  175. package/lib/serviceBase/config.d.ts +4 -4
  176. package/lib/serviceBase/config.js +33 -35
  177. package/lib/serviceBase/config.js.map +1 -1
  178. package/lib/serviceBase/events.d.ts +6 -6
  179. package/lib/serviceBase/events.js +42 -44
  180. package/lib/serviceBase/events.js.map +1 -1
  181. package/lib/serviceBase/index.d.ts +7 -7
  182. package/lib/serviceBase/index.js +7 -23
  183. package/lib/serviceBase/index.js.map +1 -1
  184. package/lib/serviceBase/observable.d.ts +5 -5
  185. package/lib/serviceBase/observable.js +21 -25
  186. package/lib/serviceBase/observable.js.map +1 -1
  187. package/lib/serviceBase/plugins.d.ts +3 -3
  188. package/lib/serviceBase/plugins.js +48 -54
  189. package/lib/serviceBase/plugins.js.map +1 -1
  190. package/lib/serviceBase/serviceBase.d.ts +3 -3
  191. package/lib/serviceBase/serviceBase.js +40 -44
  192. package/lib/serviceBase/serviceBase.js.map +1 -1
  193. package/lib/serviceBase/services.d.ts +6 -6
  194. package/lib/serviceBase/services.js +21 -22
  195. package/lib/serviceBase/services.js.map +1 -1
  196. package/package.json +18 -11
  197. package/lib/tests/mocks.d.ts +0 -37
  198. package/lib/tests/mocks.js +0 -164
  199. package/lib/tests/mocks.js.map +0 -1
  200. package/lib/tests/sb/plugins/events/broadcast.d.ts +0 -30
  201. package/lib/tests/sb/plugins/events/broadcast.js +0 -357
  202. package/lib/tests/sb/plugins/events/broadcast.js.map +0 -1
  203. package/lib/tests/sb/plugins/events/emit.d.ts +0 -30
  204. package/lib/tests/sb/plugins/events/emit.js +0 -353
  205. package/lib/tests/sb/plugins/events/emit.js.map +0 -1
  206. package/lib/tests/sb/plugins/events/emitAndReturn.d.ts +0 -30
  207. package/lib/tests/sb/plugins/events/emitAndReturn.js +0 -382
  208. package/lib/tests/sb/plugins/events/emitAndReturn.js.map +0 -1
  209. package/lib/tests/sb/plugins/events/emitStreamAndReceiveStream.js +0 -298
  210. package/lib/tests/sb/plugins/events/emitStreamAndReceiveStream.js.map +0 -1
  211. package/lib/tests/sb/plugins/events/index.d.ts +0 -28
  212. package/lib/tests/sb/plugins/events/index.js +0 -69
  213. package/lib/tests/sb/plugins/events/index.js.map +0 -1
  214. package/lib/tests/trace.d.ts +0 -41
  215. package/lib/tests/trace.js +0 -85
  216. package/lib/tests/trace.js.map +0 -1
  217. package/lib/tests.d.ts +0 -27
  218. package/lib/tests.js.map +0 -1
@@ -0,0 +1,314 @@
1
+ {
2
+ "pluginName": "service-benchmarkify",
3
+ "version": "9.1.0",
4
+ "events": {
5
+ "benchmark.started": {
6
+ "type": "fire-and-forget",
7
+ "category": "emitEvents",
8
+ "description": "Benchmark test started",
9
+ "inputSchema": {
10
+ "anyvaliVersion": "1.0",
11
+ "schemaVersion": "1",
12
+ "root": {
13
+ "kind": "object",
14
+ "properties": {
15
+ "name": {
16
+ "kind": "string"
17
+ },
18
+ "timestamp": {
19
+ "kind": "string",
20
+ "format": "date-time"
21
+ }
22
+ },
23
+ "required": [
24
+ "name",
25
+ "timestamp"
26
+ ],
27
+ "unknownKeys": "strip"
28
+ },
29
+ "definitions": {},
30
+ "extensions": {
31
+ "bsb": {
32
+ "description": "Benchmark start parameters"
33
+ }
34
+ }
35
+ },
36
+ "outputSchema": null
37
+ },
38
+ "benchmark.trigger": {
39
+ "type": "fire-and-forget",
40
+ "category": "onEvents",
41
+ "description": "Trigger benchmark execution",
42
+ "inputSchema": {
43
+ "anyvaliVersion": "1.0",
44
+ "schemaVersion": "1",
45
+ "root": {
46
+ "kind": "object",
47
+ "properties": {
48
+ "testName": {
49
+ "kind": "optional",
50
+ "inner": {
51
+ "kind": "string"
52
+ }
53
+ }
54
+ },
55
+ "required": [],
56
+ "unknownKeys": "strip"
57
+ },
58
+ "definitions": {},
59
+ "extensions": {
60
+ "bsb": {
61
+ "description": "Benchmark trigger parameters"
62
+ }
63
+ }
64
+ },
65
+ "outputSchema": null
66
+ },
67
+ "performance.test": {
68
+ "type": "returnable",
69
+ "category": "emitReturnableEvents",
70
+ "description": "Request performance test execution",
71
+ "inputSchema": {
72
+ "anyvaliVersion": "1.0",
73
+ "schemaVersion": "1",
74
+ "root": {
75
+ "kind": "object",
76
+ "properties": {
77
+ "iterations": {
78
+ "kind": "number"
79
+ },
80
+ "warmup": {
81
+ "kind": "bool"
82
+ }
83
+ },
84
+ "required": [
85
+ "iterations",
86
+ "warmup"
87
+ ],
88
+ "unknownKeys": "strip"
89
+ },
90
+ "definitions": {},
91
+ "extensions": {
92
+ "bsb": {
93
+ "description": "Performance test parameters"
94
+ }
95
+ }
96
+ },
97
+ "outputSchema": {
98
+ "anyvaliVersion": "1.0",
99
+ "schemaVersion": "1",
100
+ "root": {
101
+ "kind": "object",
102
+ "properties": {
103
+ "duration": {
104
+ "kind": "number"
105
+ },
106
+ "opsPerSecond": {
107
+ "kind": "number"
108
+ }
109
+ },
110
+ "required": [
111
+ "duration",
112
+ "opsPerSecond"
113
+ ],
114
+ "unknownKeys": "strip"
115
+ },
116
+ "definitions": {},
117
+ "extensions": {
118
+ "bsb": {
119
+ "description": "Performance test results"
120
+ }
121
+ }
122
+ }
123
+ },
124
+ "add": {
125
+ "type": "returnable",
126
+ "category": "onReturnableEvents",
127
+ "description": "Add two numbers",
128
+ "inputSchema": {
129
+ "anyvaliVersion": "1.0",
130
+ "schemaVersion": "1",
131
+ "root": {
132
+ "kind": "object",
133
+ "properties": {
134
+ "a": {
135
+ "kind": "number"
136
+ },
137
+ "b": {
138
+ "kind": "number"
139
+ }
140
+ },
141
+ "required": [
142
+ "a",
143
+ "b"
144
+ ],
145
+ "unknownKeys": "strip"
146
+ },
147
+ "definitions": {},
148
+ "extensions": {
149
+ "bsb": {
150
+ "description": "Add input parameters"
151
+ }
152
+ }
153
+ },
154
+ "outputSchema": {
155
+ "anyvaliVersion": "1.0",
156
+ "schemaVersion": "1",
157
+ "root": {
158
+ "kind": "number"
159
+ },
160
+ "definitions": {},
161
+ "extensions": {
162
+ "bsb": {
163
+ "description": "Sum of numbers"
164
+ }
165
+ }
166
+ }
167
+ },
168
+ "void": {
169
+ "type": "returnable",
170
+ "category": "onReturnableEvents",
171
+ "description": "Void event for benchmarking",
172
+ "inputSchema": {
173
+ "anyvaliVersion": "1.0",
174
+ "schemaVersion": "1",
175
+ "root": {
176
+ "kind": "object",
177
+ "properties": {},
178
+ "required": [],
179
+ "unknownKeys": "strip"
180
+ },
181
+ "definitions": {},
182
+ "extensions": {
183
+ "bsb": {
184
+ "description": "Empty parameters"
185
+ }
186
+ }
187
+ },
188
+ "outputSchema": {
189
+ "anyvaliVersion": "1.0",
190
+ "schemaVersion": "1",
191
+ "root": {
192
+ "kind": "unknown"
193
+ },
194
+ "definitions": {},
195
+ "extensions": {
196
+ "bsb": {
197
+ "description": "void"
198
+ }
199
+ }
200
+ }
201
+ },
202
+ "benchmark.results": {
203
+ "type": "broadcast",
204
+ "category": "emitBroadcast",
205
+ "description": "Broadcast benchmark results to all interested parties",
206
+ "inputSchema": {
207
+ "anyvaliVersion": "1.0",
208
+ "schemaVersion": "1",
209
+ "root": {
210
+ "kind": "object",
211
+ "properties": {
212
+ "testName": {
213
+ "kind": "string"
214
+ },
215
+ "results": {
216
+ "kind": "array",
217
+ "items": {
218
+ "kind": "object",
219
+ "properties": {
220
+ "operation": {
221
+ "kind": "string"
222
+ },
223
+ "opsPerSecond": {
224
+ "kind": "number"
225
+ },
226
+ "duration": {
227
+ "kind": "number"
228
+ }
229
+ },
230
+ "required": [
231
+ "operation",
232
+ "opsPerSecond",
233
+ "duration"
234
+ ],
235
+ "unknownKeys": "strip"
236
+ }
237
+ },
238
+ "timestamp": {
239
+ "kind": "string",
240
+ "format": "date-time"
241
+ }
242
+ },
243
+ "required": [
244
+ "testName",
245
+ "results",
246
+ "timestamp"
247
+ ],
248
+ "unknownKeys": "strip"
249
+ },
250
+ "definitions": {},
251
+ "extensions": {
252
+ "bsb": {
253
+ "description": "Benchmark results parameters"
254
+ }
255
+ }
256
+ },
257
+ "outputSchema": null
258
+ },
259
+ "system.load": {
260
+ "type": "broadcast",
261
+ "category": "onBroadcast",
262
+ "description": "Listen for system load updates",
263
+ "inputSchema": {
264
+ "anyvaliVersion": "1.0",
265
+ "schemaVersion": "1",
266
+ "root": {
267
+ "kind": "object",
268
+ "properties": {
269
+ "cpuUsage": {
270
+ "kind": "number"
271
+ },
272
+ "memoryUsage": {
273
+ "kind": "number"
274
+ },
275
+ "timestamp": {
276
+ "kind": "string",
277
+ "format": "date-time"
278
+ }
279
+ },
280
+ "required": [
281
+ "cpuUsage",
282
+ "memoryUsage",
283
+ "timestamp"
284
+ ],
285
+ "unknownKeys": "strip"
286
+ },
287
+ "definitions": {},
288
+ "extensions": {
289
+ "bsb": {
290
+ "description": "System load parameters"
291
+ }
292
+ }
293
+ },
294
+ "outputSchema": null
295
+ }
296
+ },
297
+ "pluginType": "service",
298
+ "configSchema": {
299
+ "anyvaliVersion": "1.0",
300
+ "schemaVersion": "1",
301
+ "root": {
302
+ "kind": "optional",
303
+ "inner": {
304
+ "kind": "object",
305
+ "properties": {},
306
+ "required": [],
307
+ "unknownKeys": "strip"
308
+ },
309
+ "default": {}
310
+ },
311
+ "definitions": {},
312
+ "extensions": {}
313
+ }
314
+ }
@@ -0,0 +1,279 @@
1
+ {
2
+ "pluginName": "service-default0",
3
+ "version": "9.1.0",
4
+ "events": {
5
+ "test": {
6
+ "type": "fire-and-forget",
7
+ "category": "emitEvents",
8
+ "description": "Test event with string parameters",
9
+ "inputSchema": {
10
+ "anyvaliVersion": "1.0",
11
+ "schemaVersion": "1",
12
+ "root": {
13
+ "kind": "object",
14
+ "properties": {
15
+ "a": {
16
+ "kind": "string"
17
+ },
18
+ "b": {
19
+ "kind": "string"
20
+ }
21
+ },
22
+ "required": [
23
+ "a",
24
+ "b"
25
+ ],
26
+ "unknownKeys": "strip"
27
+ },
28
+ "definitions": {},
29
+ "extensions": {
30
+ "bsb": {
31
+ "description": "Test event parameters"
32
+ }
33
+ }
34
+ },
35
+ "outputSchema": null
36
+ },
37
+ "startup": {
38
+ "type": "fire-and-forget",
39
+ "category": "onEvents",
40
+ "description": "Handle system startup notification",
41
+ "inputSchema": {
42
+ "anyvaliVersion": "1.0",
43
+ "schemaVersion": "1",
44
+ "root": {
45
+ "kind": "object",
46
+ "properties": {
47
+ "timestamp": {
48
+ "kind": "string",
49
+ "format": "date-time"
50
+ },
51
+ "source": {
52
+ "kind": "string"
53
+ }
54
+ },
55
+ "required": [
56
+ "timestamp",
57
+ "source"
58
+ ],
59
+ "unknownKeys": "strip"
60
+ },
61
+ "definitions": {},
62
+ "extensions": {
63
+ "bsb": {
64
+ "description": "Startup event parameters"
65
+ }
66
+ }
67
+ },
68
+ "outputSchema": null
69
+ },
70
+ "calculate": {
71
+ "type": "returnable",
72
+ "category": "emitReturnableEvents",
73
+ "description": "Calculate with two numbers",
74
+ "inputSchema": {
75
+ "anyvaliVersion": "1.0",
76
+ "schemaVersion": "1",
77
+ "root": {
78
+ "kind": "object",
79
+ "properties": {
80
+ "a": {
81
+ "kind": "number",
82
+ "min": 0
83
+ },
84
+ "b": {
85
+ "kind": "number",
86
+ "min": 0
87
+ }
88
+ },
89
+ "required": [
90
+ "a",
91
+ "b"
92
+ ],
93
+ "unknownKeys": "strip"
94
+ },
95
+ "definitions": {},
96
+ "extensions": {
97
+ "bsb": {
98
+ "description": "Calculate input parameters"
99
+ }
100
+ }
101
+ },
102
+ "outputSchema": {
103
+ "anyvaliVersion": "1.0",
104
+ "schemaVersion": "1",
105
+ "root": {
106
+ "kind": "number"
107
+ },
108
+ "definitions": {},
109
+ "extensions": {
110
+ "bsb": {
111
+ "description": "Calculation result"
112
+ }
113
+ }
114
+ }
115
+ },
116
+ "data.validate": {
117
+ "type": "returnable",
118
+ "category": "onReturnableEvents",
119
+ "description": "Validate data against a schema",
120
+ "inputSchema": {
121
+ "anyvaliVersion": "1.0",
122
+ "schemaVersion": "1",
123
+ "root": {
124
+ "kind": "object",
125
+ "properties": {
126
+ "data": {
127
+ "kind": "unknown"
128
+ },
129
+ "schema": {
130
+ "kind": "string"
131
+ }
132
+ },
133
+ "required": [
134
+ "data",
135
+ "schema"
136
+ ],
137
+ "unknownKeys": "strip"
138
+ },
139
+ "definitions": {},
140
+ "extensions": {
141
+ "bsb": {
142
+ "description": "Validation input"
143
+ }
144
+ }
145
+ },
146
+ "outputSchema": {
147
+ "anyvaliVersion": "1.0",
148
+ "schemaVersion": "1",
149
+ "root": {
150
+ "kind": "object",
151
+ "properties": {
152
+ "valid": {
153
+ "kind": "bool"
154
+ },
155
+ "errors": {
156
+ "kind": "array",
157
+ "items": {
158
+ "kind": "string"
159
+ }
160
+ }
161
+ },
162
+ "required": [
163
+ "valid",
164
+ "errors"
165
+ ],
166
+ "unknownKeys": "strip"
167
+ },
168
+ "definitions": {},
169
+ "extensions": {
170
+ "bsb": {
171
+ "description": "Validation output"
172
+ }
173
+ }
174
+ }
175
+ },
176
+ "system.alert": {
177
+ "type": "broadcast",
178
+ "category": "emitBroadcast",
179
+ "description": "System-wide alert broadcast",
180
+ "inputSchema": {
181
+ "anyvaliVersion": "1.0",
182
+ "schemaVersion": "1",
183
+ "root": {
184
+ "kind": "object",
185
+ "properties": {
186
+ "level": {
187
+ "kind": "enum",
188
+ "values": [
189
+ "info",
190
+ "warning",
191
+ "error",
192
+ "critical"
193
+ ]
194
+ },
195
+ "message": {
196
+ "kind": "string"
197
+ },
198
+ "timestamp": {
199
+ "kind": "string",
200
+ "format": "date-time"
201
+ },
202
+ "source": {
203
+ "kind": "string"
204
+ }
205
+ },
206
+ "required": [
207
+ "level",
208
+ "message",
209
+ "timestamp",
210
+ "source"
211
+ ],
212
+ "unknownKeys": "strip"
213
+ },
214
+ "definitions": {},
215
+ "extensions": {
216
+ "bsb": {
217
+ "description": "System alert parameters"
218
+ }
219
+ }
220
+ },
221
+ "outputSchema": null
222
+ },
223
+ "system.shutdown": {
224
+ "type": "broadcast",
225
+ "category": "onBroadcast",
226
+ "description": "Listen for system shutdown broadcasts",
227
+ "inputSchema": {
228
+ "anyvaliVersion": "1.0",
229
+ "schemaVersion": "1",
230
+ "root": {
231
+ "kind": "object",
232
+ "properties": {
233
+ "reason": {
234
+ "kind": "string"
235
+ },
236
+ "gracefulTimeout": {
237
+ "kind": "number"
238
+ }
239
+ },
240
+ "required": [
241
+ "reason",
242
+ "gracefulTimeout"
243
+ ],
244
+ "unknownKeys": "strip"
245
+ },
246
+ "definitions": {},
247
+ "extensions": {
248
+ "bsb": {
249
+ "description": "Shutdown parameters"
250
+ }
251
+ }
252
+ },
253
+ "outputSchema": null
254
+ }
255
+ },
256
+ "pluginType": "service",
257
+ "configSchema": {
258
+ "anyvaliVersion": "1.0",
259
+ "schemaVersion": "1",
260
+ "root": {
261
+ "kind": "object",
262
+ "properties": {
263
+ "testa": {
264
+ "kind": "number"
265
+ },
266
+ "testb": {
267
+ "kind": "number"
268
+ }
269
+ },
270
+ "required": [
271
+ "testa",
272
+ "testb"
273
+ ],
274
+ "unknownKeys": "strip"
275
+ },
276
+ "definitions": {},
277
+ "extensions": {}
278
+ }
279
+ }