@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,327 @@
1
+ {
2
+ "pluginName": "service-default1",
3
+ "version": "9.1.0",
4
+ "events": {
5
+ "data.processed": {
6
+ "type": "fire-and-forget",
7
+ "category": "emitEvents",
8
+ "description": "Emitted when data processing is complete",
9
+ "inputSchema": {
10
+ "anyvaliVersion": "1.0",
11
+ "schemaVersion": "1",
12
+ "root": {
13
+ "kind": "object",
14
+ "properties": {
15
+ "itemId": {
16
+ "kind": "string"
17
+ },
18
+ "result": {
19
+ "kind": "unknown"
20
+ },
21
+ "processingTime": {
22
+ "kind": "number"
23
+ }
24
+ },
25
+ "required": [
26
+ "itemId",
27
+ "result",
28
+ "processingTime"
29
+ ],
30
+ "unknownKeys": "strip"
31
+ },
32
+ "definitions": {},
33
+ "extensions": {
34
+ "bsb": {
35
+ "description": "Data processing result"
36
+ }
37
+ }
38
+ },
39
+ "outputSchema": null
40
+ },
41
+ "data.received": {
42
+ "type": "fire-and-forget",
43
+ "category": "onEvents",
44
+ "description": "Handle incoming data for processing",
45
+ "inputSchema": {
46
+ "anyvaliVersion": "1.0",
47
+ "schemaVersion": "1",
48
+ "root": {
49
+ "kind": "object",
50
+ "properties": {
51
+ "itemId": {
52
+ "kind": "string"
53
+ },
54
+ "data": {
55
+ "kind": "unknown"
56
+ },
57
+ "source": {
58
+ "kind": "string"
59
+ }
60
+ },
61
+ "required": [
62
+ "itemId",
63
+ "data",
64
+ "source"
65
+ ],
66
+ "unknownKeys": "strip"
67
+ },
68
+ "definitions": {},
69
+ "extensions": {
70
+ "bsb": {
71
+ "description": "Received data parameters"
72
+ }
73
+ }
74
+ },
75
+ "outputSchema": null
76
+ },
77
+ "calculation.request": {
78
+ "type": "returnable",
79
+ "category": "emitReturnableEvents",
80
+ "description": "Request calculation from external service",
81
+ "inputSchema": {
82
+ "anyvaliVersion": "1.0",
83
+ "schemaVersion": "1",
84
+ "root": {
85
+ "kind": "object",
86
+ "properties": {
87
+ "operation": {
88
+ "kind": "enum",
89
+ "values": [
90
+ "add",
91
+ "subtract",
92
+ "multiply",
93
+ "divide"
94
+ ]
95
+ },
96
+ "operands": {
97
+ "kind": "array",
98
+ "items": {
99
+ "kind": "number"
100
+ },
101
+ "minItems": 2
102
+ }
103
+ },
104
+ "required": [
105
+ "operation",
106
+ "operands"
107
+ ],
108
+ "unknownKeys": "strip"
109
+ },
110
+ "definitions": {},
111
+ "extensions": {
112
+ "bsb": {
113
+ "description": "Calculation request parameters"
114
+ }
115
+ }
116
+ },
117
+ "outputSchema": {
118
+ "anyvaliVersion": "1.0",
119
+ "schemaVersion": "1",
120
+ "root": {
121
+ "kind": "number"
122
+ },
123
+ "definitions": {},
124
+ "extensions": {
125
+ "bsb": {
126
+ "description": "Calculation result"
127
+ }
128
+ }
129
+ }
130
+ },
131
+ "text.transform": {
132
+ "type": "returnable",
133
+ "category": "onReturnableEvents",
134
+ "description": "Transform text according to specified operation",
135
+ "inputSchema": {
136
+ "anyvaliVersion": "1.0",
137
+ "schemaVersion": "1",
138
+ "root": {
139
+ "kind": "object",
140
+ "properties": {
141
+ "text": {
142
+ "kind": "string"
143
+ },
144
+ "transformation": {
145
+ "kind": "enum",
146
+ "values": [
147
+ "uppercase",
148
+ "lowercase",
149
+ "reverse",
150
+ "capitalize"
151
+ ]
152
+ }
153
+ },
154
+ "required": [
155
+ "text",
156
+ "transformation"
157
+ ],
158
+ "unknownKeys": "strip"
159
+ },
160
+ "definitions": {},
161
+ "extensions": {
162
+ "bsb": {
163
+ "description": "Text transformation parameters"
164
+ }
165
+ }
166
+ },
167
+ "outputSchema": {
168
+ "anyvaliVersion": "1.0",
169
+ "schemaVersion": "1",
170
+ "root": {
171
+ "kind": "string"
172
+ },
173
+ "definitions": {},
174
+ "extensions": {
175
+ "bsb": {
176
+ "description": "Transformed text"
177
+ }
178
+ }
179
+ }
180
+ },
181
+ "calculate": {
182
+ "type": "returnable",
183
+ "category": "onReturnableEvents",
184
+ "description": "Calculate with two numbers",
185
+ "inputSchema": {
186
+ "anyvaliVersion": "1.0",
187
+ "schemaVersion": "1",
188
+ "root": {
189
+ "kind": "object",
190
+ "properties": {
191
+ "a": {
192
+ "kind": "number"
193
+ },
194
+ "b": {
195
+ "kind": "number"
196
+ }
197
+ },
198
+ "required": [
199
+ "a",
200
+ "b"
201
+ ],
202
+ "unknownKeys": "strip"
203
+ },
204
+ "definitions": {},
205
+ "extensions": {
206
+ "bsb": {
207
+ "description": "Calculation parameters"
208
+ }
209
+ }
210
+ },
211
+ "outputSchema": {
212
+ "anyvaliVersion": "1.0",
213
+ "schemaVersion": "1",
214
+ "root": {
215
+ "kind": "number"
216
+ },
217
+ "definitions": {},
218
+ "extensions": {
219
+ "bsb": {
220
+ "description": "Calculation result"
221
+ }
222
+ }
223
+ }
224
+ },
225
+ "service.status": {
226
+ "type": "broadcast",
227
+ "category": "emitBroadcast",
228
+ "description": "Broadcast service status updates",
229
+ "inputSchema": {
230
+ "anyvaliVersion": "1.0",
231
+ "schemaVersion": "1",
232
+ "root": {
233
+ "kind": "object",
234
+ "properties": {
235
+ "status": {
236
+ "kind": "enum",
237
+ "values": [
238
+ "starting",
239
+ "ready",
240
+ "busy",
241
+ "stopping"
242
+ ]
243
+ },
244
+ "timestamp": {
245
+ "kind": "string",
246
+ "format": "date-time"
247
+ },
248
+ "details": {
249
+ "kind": "optional",
250
+ "inner": {
251
+ "kind": "string"
252
+ }
253
+ }
254
+ },
255
+ "required": [
256
+ "status",
257
+ "timestamp"
258
+ ],
259
+ "unknownKeys": "strip"
260
+ },
261
+ "definitions": {},
262
+ "extensions": {
263
+ "bsb": {
264
+ "description": "Service status parameters"
265
+ }
266
+ }
267
+ },
268
+ "outputSchema": null
269
+ },
270
+ "config.updated": {
271
+ "type": "broadcast",
272
+ "category": "onBroadcast",
273
+ "description": "Listen for configuration update broadcasts",
274
+ "inputSchema": {
275
+ "anyvaliVersion": "1.0",
276
+ "schemaVersion": "1",
277
+ "root": {
278
+ "kind": "object",
279
+ "properties": {
280
+ "section": {
281
+ "kind": "string"
282
+ },
283
+ "changes": {
284
+ "kind": "record",
285
+ "valueSchema": {
286
+ "kind": "unknown"
287
+ }
288
+ },
289
+ "version": {
290
+ "kind": "string"
291
+ }
292
+ },
293
+ "required": [
294
+ "section",
295
+ "changes",
296
+ "version"
297
+ ],
298
+ "unknownKeys": "strip"
299
+ },
300
+ "definitions": {},
301
+ "extensions": {
302
+ "bsb": {
303
+ "description": "Config update parameters"
304
+ }
305
+ }
306
+ },
307
+ "outputSchema": null
308
+ }
309
+ },
310
+ "pluginType": "service",
311
+ "configSchema": {
312
+ "anyvaliVersion": "1.0",
313
+ "schemaVersion": "1",
314
+ "root": {
315
+ "kind": "optional",
316
+ "inner": {
317
+ "kind": "object",
318
+ "properties": {},
319
+ "required": [],
320
+ "unknownKeys": "strip"
321
+ },
322
+ "default": {}
323
+ },
324
+ "definitions": {},
325
+ "extensions": {}
326
+ }
327
+ }
@@ -0,0 +1,355 @@
1
+ {
2
+ "pluginName": "service-default2",
3
+ "version": "9.1.0",
4
+ "events": {
5
+ "task.completed": {
6
+ "type": "fire-and-forget",
7
+ "category": "emitEvents",
8
+ "description": "Emitted when a task is completed",
9
+ "inputSchema": {
10
+ "anyvaliVersion": "1.0",
11
+ "schemaVersion": "1",
12
+ "root": {
13
+ "kind": "object",
14
+ "properties": {
15
+ "taskId": {
16
+ "kind": "string"
17
+ },
18
+ "duration": {
19
+ "kind": "number"
20
+ },
21
+ "success": {
22
+ "kind": "bool"
23
+ }
24
+ },
25
+ "required": [
26
+ "taskId",
27
+ "duration",
28
+ "success"
29
+ ],
30
+ "unknownKeys": "strip"
31
+ },
32
+ "definitions": {},
33
+ "extensions": {
34
+ "bsb": {
35
+ "description": "Task completion parameters"
36
+ }
37
+ }
38
+ },
39
+ "outputSchema": null
40
+ },
41
+ "task.assigned": {
42
+ "type": "fire-and-forget",
43
+ "category": "onEvents",
44
+ "description": "Handle new task assignments",
45
+ "inputSchema": {
46
+ "anyvaliVersion": "1.0",
47
+ "schemaVersion": "1",
48
+ "root": {
49
+ "kind": "object",
50
+ "properties": {
51
+ "taskId": {
52
+ "kind": "string"
53
+ },
54
+ "type": {
55
+ "kind": "string"
56
+ },
57
+ "priority": {
58
+ "kind": "enum",
59
+ "values": [
60
+ "low",
61
+ "medium",
62
+ "high",
63
+ "urgent"
64
+ ]
65
+ }
66
+ },
67
+ "required": [
68
+ "taskId",
69
+ "type",
70
+ "priority"
71
+ ],
72
+ "unknownKeys": "strip"
73
+ },
74
+ "definitions": {},
75
+ "extensions": {
76
+ "bsb": {
77
+ "description": "Task assignment parameters"
78
+ }
79
+ }
80
+ },
81
+ "outputSchema": null
82
+ },
83
+ "resource.request": {
84
+ "type": "returnable",
85
+ "category": "emitReturnableEvents",
86
+ "description": "Request resource allocation",
87
+ "inputSchema": {
88
+ "anyvaliVersion": "1.0",
89
+ "schemaVersion": "1",
90
+ "root": {
91
+ "kind": "object",
92
+ "properties": {
93
+ "resourceType": {
94
+ "kind": "string"
95
+ },
96
+ "amount": {
97
+ "kind": "number"
98
+ },
99
+ "timeout": {
100
+ "kind": "optional",
101
+ "inner": {
102
+ "kind": "number"
103
+ }
104
+ }
105
+ },
106
+ "required": [
107
+ "resourceType",
108
+ "amount"
109
+ ],
110
+ "unknownKeys": "strip"
111
+ },
112
+ "definitions": {},
113
+ "extensions": {
114
+ "bsb": {
115
+ "description": "Resource request parameters"
116
+ }
117
+ }
118
+ },
119
+ "outputSchema": {
120
+ "anyvaliVersion": "1.0",
121
+ "schemaVersion": "1",
122
+ "root": {
123
+ "kind": "object",
124
+ "properties": {
125
+ "allocated": {
126
+ "kind": "bool"
127
+ },
128
+ "resourceId": {
129
+ "kind": "optional",
130
+ "inner": {
131
+ "kind": "string"
132
+ }
133
+ },
134
+ "waitTime": {
135
+ "kind": "optional",
136
+ "inner": {
137
+ "kind": "number"
138
+ }
139
+ }
140
+ },
141
+ "required": [
142
+ "allocated"
143
+ ],
144
+ "unknownKeys": "strip"
145
+ },
146
+ "definitions": {},
147
+ "extensions": {
148
+ "bsb": {
149
+ "description": "Resource allocation response"
150
+ }
151
+ }
152
+ }
153
+ },
154
+ "calculate": {
155
+ "type": "returnable",
156
+ "category": "onReturnableEvents",
157
+ "description": "Calculate with two numbers",
158
+ "inputSchema": {
159
+ "anyvaliVersion": "1.0",
160
+ "schemaVersion": "1",
161
+ "root": {
162
+ "kind": "object",
163
+ "properties": {
164
+ "a": {
165
+ "kind": "number"
166
+ },
167
+ "b": {
168
+ "kind": "number"
169
+ }
170
+ },
171
+ "required": [
172
+ "a",
173
+ "b"
174
+ ],
175
+ "unknownKeys": "strip"
176
+ },
177
+ "definitions": {},
178
+ "extensions": {
179
+ "bsb": {
180
+ "description": "Calculate input parameters"
181
+ }
182
+ }
183
+ },
184
+ "outputSchema": {
185
+ "anyvaliVersion": "1.0",
186
+ "schemaVersion": "1",
187
+ "root": {
188
+ "kind": "number"
189
+ },
190
+ "definitions": {},
191
+ "extensions": {
192
+ "bsb": {
193
+ "description": "Calculation result"
194
+ }
195
+ }
196
+ }
197
+ },
198
+ "health.check": {
199
+ "type": "returnable",
200
+ "category": "onReturnableEvents",
201
+ "description": "Perform health check",
202
+ "inputSchema": {
203
+ "anyvaliVersion": "1.0",
204
+ "schemaVersion": "1",
205
+ "root": {
206
+ "kind": "object",
207
+ "properties": {
208
+ "includeDetails": {
209
+ "kind": "bool"
210
+ }
211
+ },
212
+ "required": [
213
+ "includeDetails"
214
+ ],
215
+ "unknownKeys": "strip"
216
+ },
217
+ "definitions": {},
218
+ "extensions": {
219
+ "bsb": {
220
+ "description": "Health check parameters"
221
+ }
222
+ }
223
+ },
224
+ "outputSchema": {
225
+ "anyvaliVersion": "1.0",
226
+ "schemaVersion": "1",
227
+ "root": {
228
+ "kind": "object",
229
+ "properties": {
230
+ "status": {
231
+ "kind": "enum",
232
+ "values": [
233
+ "healthy",
234
+ "degraded",
235
+ "unhealthy"
236
+ ]
237
+ },
238
+ "uptime": {
239
+ "kind": "number"
240
+ },
241
+ "details": {
242
+ "kind": "optional",
243
+ "inner": {
244
+ "kind": "record",
245
+ "valueSchema": {
246
+ "kind": "unknown"
247
+ }
248
+ }
249
+ }
250
+ },
251
+ "required": [
252
+ "status",
253
+ "uptime"
254
+ ],
255
+ "unknownKeys": "strip"
256
+ },
257
+ "definitions": {},
258
+ "extensions": {
259
+ "bsb": {
260
+ "description": "Health check response"
261
+ }
262
+ }
263
+ }
264
+ },
265
+ "metrics.report": {
266
+ "type": "broadcast",
267
+ "category": "emitBroadcast",
268
+ "description": "Broadcast performance metrics",
269
+ "inputSchema": {
270
+ "anyvaliVersion": "1.0",
271
+ "schemaVersion": "1",
272
+ "root": {
273
+ "kind": "object",
274
+ "properties": {
275
+ "timestamp": {
276
+ "kind": "string",
277
+ "format": "date-time"
278
+ },
279
+ "metrics": {
280
+ "kind": "record",
281
+ "valueSchema": {
282
+ "kind": "number"
283
+ }
284
+ },
285
+ "period": {
286
+ "kind": "string"
287
+ }
288
+ },
289
+ "required": [
290
+ "timestamp",
291
+ "metrics",
292
+ "period"
293
+ ],
294
+ "unknownKeys": "strip"
295
+ },
296
+ "definitions": {},
297
+ "extensions": {
298
+ "bsb": {
299
+ "description": "Metrics report parameters"
300
+ }
301
+ }
302
+ },
303
+ "outputSchema": null
304
+ },
305
+ "emergency.stop": {
306
+ "type": "broadcast",
307
+ "category": "onBroadcast",
308
+ "description": "Listen for emergency stop broadcasts",
309
+ "inputSchema": {
310
+ "anyvaliVersion": "1.0",
311
+ "schemaVersion": "1",
312
+ "root": {
313
+ "kind": "object",
314
+ "properties": {
315
+ "reason": {
316
+ "kind": "string"
317
+ },
318
+ "immediate": {
319
+ "kind": "bool"
320
+ }
321
+ },
322
+ "required": [
323
+ "reason",
324
+ "immediate"
325
+ ],
326
+ "unknownKeys": "strip"
327
+ },
328
+ "definitions": {},
329
+ "extensions": {
330
+ "bsb": {
331
+ "description": "Emergency stop parameters"
332
+ }
333
+ }
334
+ },
335
+ "outputSchema": null
336
+ }
337
+ },
338
+ "pluginType": "service",
339
+ "configSchema": {
340
+ "anyvaliVersion": "1.0",
341
+ "schemaVersion": "1",
342
+ "root": {
343
+ "kind": "optional",
344
+ "inner": {
345
+ "kind": "object",
346
+ "properties": {},
347
+ "required": [],
348
+ "unknownKeys": "strip"
349
+ },
350
+ "default": {}
351
+ },
352
+ "definitions": {},
353
+ "extensions": {}
354
+ }
355
+ }