@bsb/base 9.0.5 → 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 (196) 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 -5
  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 +4 -19
  92. package/lib/interfaces/schema-events.js +6 -13
  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 -49
  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 -14
  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 -12
  128. package/lib/plugins/observable-default/index.js.map +1 -1
  129. package/lib/plugins/service-benchmarkify/index.d.ts +69 -185
  130. package/lib/plugins/service-benchmarkify/index.js +39 -43
  131. package/lib/plugins/service-benchmarkify/index.js.map +1 -1
  132. package/lib/plugins/service-default0/index.d.ts +73 -171
  133. package/lib/plugins/service-default0/index.js +36 -40
  134. package/lib/plugins/service-default0/index.js.map +1 -1
  135. package/lib/plugins/service-default1/client.d.ts +3 -3
  136. package/lib/plugins/service-default1/client.js +2 -6
  137. package/lib/plugins/service-default1/client.js.map +1 -1
  138. package/lib/plugins/service-default1/index.d.ts +75 -177
  139. package/lib/plugins/service-default1/index.js +41 -45
  140. package/lib/plugins/service-default1/index.js.map +1 -1
  141. package/lib/plugins/service-default2/index.d.ts +89 -231
  142. package/lib/plugins/service-default2/index.js +47 -51
  143. package/lib/plugins/service-default2/index.js.map +1 -1
  144. package/lib/plugins/service-default3/index.d.ts +23 -51
  145. package/lib/plugins/service-default3/index.js +16 -20
  146. package/lib/plugins/service-default3/index.js.map +1 -1
  147. package/lib/plugins/service-default4/index.d.ts +13 -27
  148. package/lib/plugins/service-default4/index.js +12 -16
  149. package/lib/plugins/service-default4/index.js.map +1 -1
  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 +232 -147
  157. package/lib/schemas/service-default0.json +205 -142
  158. package/lib/schemas/service-default1.json +245 -160
  159. package/lib/schemas/service-default2.json +270 -183
  160. package/lib/schemas/service-default3.json +78 -36
  161. package/lib/schemas/service-default4.json +45 -15
  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 +48 -50
  165. package/lib/scripts/bsb-plugin-cli.js.map +1 -1
  166. package/lib/scripts/export-schemas.js +8 -10
  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 +47 -53
  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
@@ -24,24 +24,17 @@
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 { z } from "zod";
28
- import { BSBService, BSBServiceConstructor } from "../../base";
29
- import { Observable } from "../../interfaces";
30
- export declare const Config: import("../../base").BSBPluginConfigClass<z.ZodObject<{}, z.core.$strip>>;
27
+ import * as av from "@anyvali/js";
28
+ import { BSBService, BSBServiceConstructor } from "../../base/index.js";
29
+ import { Observable } from "../../interfaces/index.js";
30
+ export declare const Config: import("../../base/PluginConfig.js").BSBPluginConfigClass<av.OptionalSchema<av.ObjectSchema<{}>>>;
31
31
  export declare const EventSchemas: {
32
32
  readonly onReturnableEvents: {
33
33
  readonly onReverseReturnable: {
34
- input: {
35
- _bsb: "object";
36
- properties: {
37
- readonly text: import("../../interfaces").BSBStringType;
38
- };
39
- required: string[];
40
- description?: string;
41
- optional?: boolean;
42
- nullable?: boolean;
43
- };
44
- output: import("../../interfaces").BSBStringType;
34
+ input: av.ObjectSchema<{
35
+ text: av.StringSchema;
36
+ }>;
37
+ output: av.StringSchema;
45
38
  description?: string;
46
39
  defaultTimeout?: number;
47
40
  readonly __brand: "returnable";
@@ -49,18 +42,11 @@ export declare const EventSchemas: {
49
42
  };
50
43
  readonly emitReturnableEvents: {
51
44
  readonly calculate: {
52
- input: {
53
- _bsb: "object";
54
- properties: {
55
- readonly a: import("../../interfaces").BSBNumberType;
56
- readonly b: import("../../interfaces").BSBNumberType;
57
- };
58
- required: string[];
59
- description?: string;
60
- optional?: boolean;
61
- nullable?: boolean;
62
- };
63
- output: import("../../interfaces").BSBNumberType;
45
+ input: av.ObjectSchema<{
46
+ a: import("../../interfaces/schema-types.js").BSBType;
47
+ b: import("../../interfaces/schema-types.js").BSBType;
48
+ }>;
49
+ output: import("../../interfaces/schema-types.js").BSBType;
64
50
  description?: string;
65
51
  defaultTimeout?: number;
66
52
  readonly __brand: "returnable";
@@ -68,21 +54,14 @@ export declare const EventSchemas: {
68
54
  };
69
55
  };
70
56
  export declare class Plugin extends BSBService<InstanceType<typeof Config>, typeof EventSchemas> {
71
- static Config: import("../../base").BSBPluginConfigClass<z.ZodObject<{}, z.core.$strip>>;
57
+ static Config: import("../../base/PluginConfig.js").BSBPluginConfigClass<av.OptionalSchema<av.ObjectSchema<{}>>>;
72
58
  static EventSchemas: {
73
59
  readonly onReturnableEvents: {
74
60
  readonly onReverseReturnable: {
75
- input: {
76
- _bsb: "object";
77
- properties: {
78
- readonly text: import("../../interfaces").BSBStringType;
79
- };
80
- required: string[];
81
- description?: string;
82
- optional?: boolean;
83
- nullable?: boolean;
84
- };
85
- output: import("../../interfaces").BSBStringType;
61
+ input: av.ObjectSchema<{
62
+ text: av.StringSchema;
63
+ }>;
64
+ output: av.StringSchema;
86
65
  description?: string;
87
66
  defaultTimeout?: number;
88
67
  readonly __brand: "returnable";
@@ -90,18 +69,11 @@ export declare class Plugin extends BSBService<InstanceType<typeof Config>, type
90
69
  };
91
70
  readonly emitReturnableEvents: {
92
71
  readonly calculate: {
93
- input: {
94
- _bsb: "object";
95
- properties: {
96
- readonly a: import("../../interfaces").BSBNumberType;
97
- readonly b: import("../../interfaces").BSBNumberType;
98
- };
99
- required: string[];
100
- description?: string;
101
- optional?: boolean;
102
- nullable?: boolean;
103
- };
104
- output: import("../../interfaces").BSBNumberType;
72
+ input: av.ObjectSchema<{
73
+ a: import("../../interfaces/schema-types.js").BSBType;
74
+ b: import("../../interfaces/schema-types.js").BSBType;
75
+ }>;
76
+ output: import("../../interfaces/schema-types.js").BSBType;
105
77
  description?: string;
106
78
  defaultTimeout?: number;
107
79
  readonly __brand: "returnable";
@@ -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,34 +24,32 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.Plugin = exports.EventSchemas = exports.Config = void 0;
30
- const zod_1 = require("zod");
31
- const base_1 = require("../../base");
32
- const schema_events_1 = require("../../interfaces/schema-events");
33
- exports.Config = (0, base_1.createConfigSchema)({
27
+ import * as av from "@anyvali/js";
28
+ import { BSBService, createConfigSchema, bsb } from "../../base/index.js";
29
+ import { createEventSchemas, createReturnableEvent } from "../../interfaces/schema-events.js";
30
+ export const Config = createConfigSchema({
34
31
  name: 'service-default3',
35
32
  description: 'Default service plugin 3 for testing',
36
33
  image: '../docs/public/assets/images/bsb-logo.png',
37
34
  tags: ['default', 'example', 'test'],
38
35
  initAfterPlugins: ['service-default2'],
39
- }, zod_1.z.object({}));
40
- exports.EventSchemas = (0, schema_events_1.createEventSchemas)({
36
+ }, av.optional(av.object({}, { unknownKeys: "strip" })).default({}));
37
+ export const EventSchemas = createEventSchemas({
41
38
  onReturnableEvents: {
42
- onReverseReturnable: (0, schema_events_1.createReturnableEvent)(base_1.bsb.object({
43
- text: base_1.bsb.string({ description: 'Text to reverse' })
44
- }, 'Reverse input parameters'), base_1.bsb.string({ description: 'Reversed text' }), 'Reverse a string')
39
+ onReverseReturnable: createReturnableEvent(bsb.object({
40
+ text: bsb.string({ description: 'Text to reverse' })
41
+ }, 'Reverse input parameters'), bsb.string({ description: 'Reversed text' }), 'Reverse a string')
45
42
  },
46
43
  emitReturnableEvents: {
47
- calculate: (0, schema_events_1.createReturnableEvent)(base_1.bsb.object({
48
- a: base_1.bsb.number({ description: 'First number' }),
49
- b: base_1.bsb.number({ description: 'Second number' })
50
- }, 'Calculate input parameters'), base_1.bsb.number({ description: 'Calculation result' }), 'Calculate with two numbers')
44
+ calculate: createReturnableEvent(bsb.object({
45
+ a: bsb.number({ description: 'First number' }),
46
+ b: bsb.number({ description: 'Second number' })
47
+ }, 'Calculate input parameters'), bsb.number({ description: 'Calculation result' }), 'Calculate with two numbers')
51
48
  }
52
49
  });
53
- class Plugin extends base_1.BSBService {
54
- static Config = exports.Config;
55
- static EventSchemas = exports.EventSchemas;
50
+ export class Plugin extends BSBService {
51
+ static Config = Config;
52
+ static EventSchemas = EventSchemas;
56
53
  // PLUGIN_CLIENT auto-generated from Config.metadata
57
54
  initBeforePlugins;
58
55
  runBeforePlugins;
@@ -83,5 +80,4 @@ class Plugin extends base_1.BSBService {
83
80
  obs.log.error("Error {a}", { a: "IT IS AN ERROR!" });
84
81
  }
85
82
  }
86
- exports.Plugin = Plugin;
87
83
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/service-default3/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/service-default3/index.ts"],"names":[],"mappings":"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"}
@@ -24,24 +24,17 @@
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 { Observable } from "../../index";
28
- import { BSBService, BSBServiceConstructor } from "../../base";
29
- import { z } from "zod";
30
- export declare const Config: import("../../index").BSBPluginConfigClass<z.ZodNull>;
27
+ import { Observable } from "../../index.js";
28
+ import { BSBService, BSBServiceConstructor } from "../../base/index.js";
29
+ import * as av from "@anyvali/js";
30
+ export declare const Config: import("../../index.js").BSBPluginConfigClass<av.OptionalSchema<av.ObjectSchema<{}>>>;
31
31
  export declare const EventSchemas: {
32
32
  readonly emitReturnableEvents: {
33
33
  readonly onReverseReturnable: {
34
- input: {
35
- _bsb: "object";
36
- properties: {
37
- readonly text: import("../../index").BSBStringType;
38
- };
39
- required: string[];
40
- description?: string;
41
- optional?: boolean;
42
- nullable?: boolean;
43
- };
44
- output: import("../../index").BSBStringType;
34
+ input: av.ObjectSchema<{
35
+ text: av.StringSchema;
36
+ }>;
37
+ output: av.StringSchema;
45
38
  description?: string;
46
39
  defaultTimeout?: number;
47
40
  readonly __brand: "returnable";
@@ -49,21 +42,14 @@ export declare const EventSchemas: {
49
42
  };
50
43
  };
51
44
  export declare class Plugin extends BSBService<InstanceType<typeof Config>, typeof EventSchemas> {
52
- static Config: import("../../index").BSBPluginConfigClass<z.ZodNull>;
45
+ static Config: import("../../index.js").BSBPluginConfigClass<av.OptionalSchema<av.ObjectSchema<{}>>>;
53
46
  static EventSchemas: {
54
47
  readonly emitReturnableEvents: {
55
48
  readonly onReverseReturnable: {
56
- input: {
57
- _bsb: "object";
58
- properties: {
59
- readonly text: import("../../index").BSBStringType;
60
- };
61
- required: string[];
62
- description?: string;
63
- optional?: boolean;
64
- nullable?: boolean;
65
- };
66
- output: import("../../index").BSBStringType;
49
+ input: av.ObjectSchema<{
50
+ text: av.StringSchema;
51
+ }>;
52
+ output: av.StringSchema;
67
53
  description?: string;
68
54
  defaultTimeout?: number;
69
55
  readonly __brand: "returnable";
@@ -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,27 +24,25 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.Plugin = exports.EventSchemas = exports.Config = void 0;
30
- const base_1 = require("../../base");
31
- const schema_events_1 = require("../../interfaces/schema-events");
32
- const zod_1 = require("zod");
33
- exports.Config = (0, base_1.createConfigSchema)({
27
+ import { BSBService, createConfigSchema, bsb } from "../../base/index.js";
28
+ import { createEventSchemas, createReturnableEvent } from "../../interfaces/schema-events.js";
29
+ import * as av from "@anyvali/js";
30
+ export const Config = createConfigSchema({
34
31
  name: 'service-default4',
35
32
  description: 'Default service plugin 4 for testing',
36
33
  image: '../docs/public/assets/images/bsb-logo.png',
37
34
  tags: ['default', 'example', 'test'],
38
- }, zod_1.z.null());
39
- exports.EventSchemas = (0, schema_events_1.createEventSchemas)({
35
+ }, av.optional(av.object({}, { unknownKeys: "strip" })).default({}));
36
+ export const EventSchemas = createEventSchemas({
40
37
  emitReturnableEvents: {
41
- onReverseReturnable: (0, schema_events_1.createReturnableEvent)(base_1.bsb.object({
42
- text: base_1.bsb.string({ description: 'Text to reverse' })
43
- }, 'Reverse input parameters'), base_1.bsb.string({ description: 'Reversed text' }), 'Reverse text string')
38
+ onReverseReturnable: createReturnableEvent(bsb.object({
39
+ text: bsb.string({ description: 'Text to reverse' })
40
+ }, 'Reverse input parameters'), bsb.string({ description: 'Reversed text' }), 'Reverse text string')
44
41
  }
45
42
  });
46
- class Plugin extends base_1.BSBService {
47
- static Config = exports.Config;
48
- static EventSchemas = exports.EventSchemas;
43
+ export class Plugin extends BSBService {
44
+ static Config = Config;
45
+ static EventSchemas = EventSchemas;
49
46
  // PLUGIN_CLIENT auto-generated from Config.metadata
50
47
  initBeforePlugins;
51
48
  runBeforePlugins;
@@ -58,5 +55,4 @@ class Plugin extends base_1.BSBService {
58
55
  obs.log.info("Running service-default4");
59
56
  }
60
57
  }
61
- exports.Plugin = Plugin;
62
58
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/service-default4/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;;AAGH,qCAAwF;AACxF,kEAA2F;AAC3F,6BAAwB;AAEX,QAAA,MAAM,GAAG,IAAA,yBAAkB,EACtC;IACE,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,sCAAsC;IACnD,KAAK,EAAE,2CAA2C;IAClD,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;CACrC,EACD,OAAC,CAAC,IAAI,EAAE,CACT,CAAC;AAEW,QAAA,YAAY,GAAG,IAAA,kCAAkB,EAAC;IAC7C,oBAAoB,EAAE;QACpB,mBAAmB,EAAE,IAAA,qCAAqB,EACxC,UAAG,CAAC,MAAM,CAAC;YACT,IAAI,EAAE,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;SACrD,EAAE,0BAA0B,CAAC,EAC9B,UAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,EAC5C,qBAAqB,CACtB;KACF;CACF,CAAC,CAAC;AAEH,MAAa,MAAO,SAAQ,iBAA4D;IACtF,MAAM,CAAC,MAAM,GAAG,cAAM,CAAC;IACvB,MAAM,CAAC,YAAY,GAAG,oBAAY,CAAC;IACnC,oDAAoD;IAE7C,iBAAiB,CAAwB;IACzC,gBAAgB,CAAwB;IACxC,eAAe,CAAwB;IAC9B,gBAAgB,GAAa,EAAE,CAAC;IAKhD,YAAY,MAA+E;QACzF,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAEe,KAAK,CAAC,GAAG,CAAC,GAAe;QACvC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC;;AAnBH,wBAoBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/service-default4/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,EAAE,UAAU,EAAyB,kBAAkB,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC9F,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,CAAC,MAAM,MAAM,GAAG,kBAAkB,CACtC;IACE,IAAI,EAAE,kBAAkB;IACxB,WAAW,EAAE,sCAAsC;IACnD,KAAK,EAAE,2CAA2C;IAClD,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;CACrC,EACD,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CACjE,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,kBAAkB,CAAC;IAC7C,oBAAoB,EAAE;QACpB,mBAAmB,EAAE,qBAAqB,CACxC,GAAG,CAAC,MAAM,CAAC;YACT,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;SACrD,EAAE,0BAA0B,CAAC,EAC9B,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,EAC5C,qBAAqB,CACtB;KACF;CACF,CAAC,CAAC;AAEH,MAAM,OAAO,MAAO,SAAQ,UAA4D;IACtF,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,oDAAoD;IAE7C,iBAAiB,CAAwB;IACzC,gBAAgB,CAAwB;IACxC,eAAe,CAAwB;IAC9B,gBAAgB,GAAa,EAAE,CAAC;IAKhD,YAAY,MAA+E;QACzF,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAEe,KAAK,CAAC,GAAG,CAAC,GAAe;QACvC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "pluginName": "config-default",
3
3
  "events": {},
4
- "version": "9.0.5",
4
+ "version": "9.1.0",
5
5
  "pluginType": "config",
6
6
  "capabilities": {
7
7
  "configApi": {
@@ -13,22 +13,30 @@
13
13
  }
14
14
  },
15
15
  "configSchema": {
16
- "$schema": "https://json-schema.org/draft/2020-12/schema",
17
- "type": "object",
18
- "properties": {
19
- "BSB_PROFILE": {
20
- "default": "default",
21
- "type": "string"
16
+ "anyvaliVersion": "1.0",
17
+ "schemaVersion": "1",
18
+ "root": {
19
+ "kind": "object",
20
+ "properties": {
21
+ "BSB_PROFILE": {
22
+ "kind": "optional",
23
+ "inner": {
24
+ "kind": "string"
25
+ },
26
+ "default": "default"
27
+ },
28
+ "BSB_CONFIG_FILE": {
29
+ "kind": "optional",
30
+ "inner": {
31
+ "kind": "string"
32
+ },
33
+ "default": "./sec-config.yaml"
34
+ }
22
35
  },
23
- "BSB_CONFIG_FILE": {
24
- "default": "./sec-config.yaml",
25
- "type": "string"
26
- }
36
+ "required": [],
37
+ "unknownKeys": "strip"
27
38
  },
28
- "required": [
29
- "BSB_PROFILE",
30
- "BSB_CONFIG_FILE"
31
- ],
32
- "additionalProperties": false
39
+ "definitions": {},
40
+ "extensions": {}
33
41
  }
34
42
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "config-default",
3
3
  "name": "config-default",
4
- "version": "9.0.5",
4
+ "version": "9.1.0",
5
5
  "description": "Default configuration plugin for profile and plugin resolution",
6
6
  "category": "config",
7
7
  "tags": [
@@ -16,22 +16,30 @@
16
16
  "dependencies": [],
17
17
  "image": "../docs/public/assets/images/bsb-logo.png",
18
18
  "configSchema": {
19
- "$schema": "https://json-schema.org/draft/2020-12/schema",
20
- "type": "object",
21
- "properties": {
22
- "BSB_PROFILE": {
23
- "default": "default",
24
- "type": "string"
19
+ "anyvaliVersion": "1.0",
20
+ "schemaVersion": "1",
21
+ "root": {
22
+ "kind": "object",
23
+ "properties": {
24
+ "BSB_PROFILE": {
25
+ "kind": "optional",
26
+ "inner": {
27
+ "kind": "string"
28
+ },
29
+ "default": "default"
30
+ },
31
+ "BSB_CONFIG_FILE": {
32
+ "kind": "optional",
33
+ "inner": {
34
+ "kind": "string"
35
+ },
36
+ "default": "./sec-config.yaml"
37
+ }
25
38
  },
26
- "BSB_CONFIG_FILE": {
27
- "default": "./sec-config.yaml",
28
- "type": "string"
29
- }
39
+ "required": [],
40
+ "unknownKeys": "strip"
30
41
  },
31
- "required": [
32
- "BSB_PROFILE",
33
- "BSB_CONFIG_FILE"
34
- ],
35
- "additionalProperties": false
42
+ "definitions": {},
43
+ "extensions": {}
36
44
  }
37
45
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "pluginName": "events-default",
3
3
  "events": {},
4
- "version": "9.0.5",
4
+ "version": "9.1.0",
5
5
  "pluginType": "events",
6
6
  "capabilities": {
7
7
  "eventsApi": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "events-default",
3
3
  "name": "events-default",
4
- "version": "9.0.5",
4
+ "version": "9.1.0",
5
5
  "description": "Default in-process events plugin for BSB event routing",
6
6
  "category": "events",
7
7
  "tags": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "pluginName": "observable-default",
3
3
  "events": {},
4
- "version": "9.0.5",
4
+ "version": "9.1.0",
5
5
  "pluginType": "observable",
6
6
  "capabilities": {
7
7
  "logging": {
@@ -25,9 +25,19 @@
25
25
  }
26
26
  },
27
27
  "configSchema": {
28
- "$schema": "https://json-schema.org/draft/2020-12/schema",
29
- "type": "object",
30
- "properties": {},
31
- "additionalProperties": false
28
+ "anyvaliVersion": "1.0",
29
+ "schemaVersion": "1",
30
+ "root": {
31
+ "kind": "optional",
32
+ "inner": {
33
+ "kind": "object",
34
+ "properties": {},
35
+ "required": [],
36
+ "unknownKeys": "strip"
37
+ },
38
+ "default": {}
39
+ },
40
+ "definitions": {},
41
+ "extensions": {}
32
42
  }
33
43
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "observable-default",
3
3
  "name": "observable-default",
4
- "version": "9.0.5",
4
+ "version": "9.1.0",
5
5
  "description": "Default console observable plugin for logging output",
6
6
  "category": "observable",
7
7
  "tags": [
@@ -17,9 +17,19 @@
17
17
  "dependencies": [],
18
18
  "image": "../docs/public/assets/images/bsb-logo.png",
19
19
  "configSchema": {
20
- "$schema": "https://json-schema.org/draft/2020-12/schema",
21
- "type": "object",
22
- "properties": {},
23
- "additionalProperties": false
20
+ "anyvaliVersion": "1.0",
21
+ "schemaVersion": "1",
22
+ "root": {
23
+ "kind": "optional",
24
+ "inner": {
25
+ "kind": "object",
26
+ "properties": {},
27
+ "required": [],
28
+ "unknownKeys": "strip"
29
+ },
30
+ "default": {}
31
+ },
32
+ "definitions": {},
33
+ "extensions": {}
24
34
  }
25
35
  }