@bsb/registry 9.6.22 → 9.6.24

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "pluginName": "BSB Registry UI & API",
3
3
  "events": {},
4
- "version": "9.6.22",
4
+ "version": "9.6.24",
5
5
  "configSchema": {
6
6
  "anyvaliVersion": "1.0",
7
7
  "schemaVersion": "1.1",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "service-bsb-registry-ui",
3
3
  "name": "BSB Registry UI & API",
4
- "version": "9.6.22",
4
+ "version": "9.6.24",
5
5
  "description": "Web UI and REST API for browsing, searching, and publishing BSB plugins (content negotiation: HTML or JSON)",
6
6
  "category": "service",
7
7
  "tags": [
@@ -2084,7 +2084,7 @@
2084
2084
  }
2085
2085
  }
2086
2086
  },
2087
- "version": "9.6.22",
2087
+ "version": "9.6.24",
2088
2088
  "configSchema": {
2089
2089
  "anyvaliVersion": "1.0",
2090
2090
  "schemaVersion": "1.1",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "service-bsb-registry",
3
3
  "name": "BSB Registry Core",
4
- "version": "9.6.22",
4
+ "version": "9.6.24",
5
5
  "description": "Event-driven plugin registry core for multi-language BSB plugin storage and discovery",
6
6
  "category": "service",
7
7
  "tags": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsb/registry",
3
- "version": "9.6.22",
3
+ "version": "9.6.24",
4
4
  "description": "BSB Plugin Registry - Multi-language plugin discovery and publishing system",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -48,14 +48,14 @@
48
48
  "sql.js": "^1.12.0"
49
49
  },
50
50
  "devDependencies": {
51
- "@bsb/base": "^9.6.22",
51
+ "@bsb/base": "^9.6.24",
52
52
  "@types/node": "^25.6.0",
53
53
  "rimraf": "^6.0.1",
54
54
  "tsx": "^4.22.4",
55
55
  "typescript": "^6.0.3"
56
56
  },
57
57
  "peerDependencies": {
58
- "@bsb/base": "^9.6.22"
58
+ "@bsb/base": "^9.6.24"
59
59
  },
60
60
  "bsb": {},
61
61
  "homepage": "https://io.bsbcode.dev/packages/nodejs/@bsb/registry",
@@ -1,503 +0,0 @@
1
- /**
2
- * Auto-generated BSB virtual client for BSB Registry Core
3
- * DO NOT EDIT - Regenerated on every build
4
- * @version 9.6.22
5
- */
6
- import { ServiceClient, BSBService } from "@bsb/base";
7
- import type { Observable, BSBServiceClientDefinition, EventInputType, EventOutputType } from "@bsb/base";
8
- declare const _registryPluginPublishSchema: import("anyvali").ObjectSchema<{
9
- org: import("anyvali").StringSchema;
10
- name: import("anyvali").StringSchema;
11
- version: import("anyvali").StringSchema;
12
- language: import("anyvali").EnumSchema<readonly (string | number)[]>;
13
- metadata: import("anyvali").ObjectSchema<{
14
- displayName: import("anyvali").StringSchema;
15
- description: import("anyvali").StringSchema;
16
- category: import("anyvali").EnumSchema<readonly (string | number)[]>;
17
- tags: import("anyvali").ArraySchema<import("@bsb/base").BSBType>;
18
- author: import("anyvali").OptionalSchema<import("anyvali").UnknownSchema | import("anyvali").UnionSchema<[import("@bsb/base").BSBType, ...import("@bsb/base").BSBType[]]>>;
19
- license: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
20
- homepage: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
21
- repository: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
22
- }>;
23
- eventSchema: import("anyvali").UnknownSchema;
24
- capabilities: import("anyvali").OptionalSchema<import("anyvali").UnknownSchema>;
25
- configSchema: import("anyvali").OptionalSchema<import("anyvali").UnknownSchema>;
26
- typeDefinitions: import("anyvali").OptionalSchema<import("anyvali").ObjectSchema<{
27
- nodejs: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
28
- csharp: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
29
- go: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
30
- java: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
31
- }>>;
32
- documentation: import("anyvali").ArraySchema<import("@bsb/base").BSBType>;
33
- dependencies: import("anyvali").OptionalSchema<import("anyvali").ArraySchema<import("@bsb/base").BSBType>>;
34
- package: import("anyvali").OptionalSchema<import("anyvali").ObjectSchema<{
35
- nodejs: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
36
- csharp: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
37
- go: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
38
- java: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
39
- python: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
40
- }>>;
41
- runtime: import("anyvali").OptionalSchema<import("anyvali").ObjectSchema<{
42
- nodejs: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
43
- dotnet: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
44
- go: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
45
- java: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
46
- python: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
47
- }>>;
48
- visibility: import("anyvali").OptionalSchema<import("anyvali").EnumSchema<readonly (string | number)[]>>;
49
- publishedBy: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
50
- }>;
51
- declare const _registryPluginPublishOutputSchema: import("anyvali").ObjectSchema<{
52
- success: import("anyvali").BoolSchema;
53
- pluginId: import("anyvali").StringSchema;
54
- version: import("anyvali").StringSchema;
55
- message: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
56
- }>;
57
- declare const _registryPluginGetSchema: import("anyvali").ObjectSchema<{
58
- org: import("anyvali").StringSchema;
59
- name: import("anyvali").StringSchema;
60
- version: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
61
- }>;
62
- declare const _registryPluginGetOutputSchema: import("anyvali").ObjectSchema<{
63
- id: import("anyvali").StringSchema;
64
- org: import("anyvali").StringSchema;
65
- name: import("anyvali").StringSchema;
66
- displayName: import("anyvali").StringSchema;
67
- description: import("anyvali").StringSchema;
68
- version: import("anyvali").StringSchema;
69
- majorMinor: import("anyvali").StringSchema;
70
- language: import("anyvali").EnumSchema<readonly (string | number)[]>;
71
- package: import("anyvali").OptionalSchema<import("anyvali").ObjectSchema<{
72
- nodejs: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
73
- csharp: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
74
- go: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
75
- java: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
76
- python: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
77
- }>>;
78
- category: import("anyvali").EnumSchema<readonly (string | number)[]>;
79
- tags: import("anyvali").ArraySchema<import("@bsb/base").BSBType>;
80
- author: import("anyvali").OptionalSchema<import("anyvali").UnknownSchema | import("anyvali").UnionSchema<[import("@bsb/base").BSBType, ...import("@bsb/base").BSBType[]]>>;
81
- license: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
82
- homepage: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
83
- repository: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
84
- visibility: import("anyvali").EnumSchema<readonly (string | number)[]>;
85
- eventSchema: import("anyvali").UnknownSchema;
86
- capabilities: import("anyvali").OptionalSchema<import("anyvali").UnknownSchema>;
87
- configSchema: import("anyvali").OptionalSchema<import("anyvali").UnknownSchema>;
88
- typeDefinitions: import("anyvali").OptionalSchema<import("anyvali").ObjectSchema<{
89
- nodejs: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
90
- csharp: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
91
- go: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
92
- java: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
93
- }>>;
94
- documentation: import("anyvali").OptionalSchema<import("anyvali").ArraySchema<import("@bsb/base").BSBType>>;
95
- dependencies: import("anyvali").OptionalSchema<import("anyvali").ArraySchema<import("@bsb/base").BSBType>>;
96
- permissions: import("anyvali").OptionalSchema<import("anyvali").ArraySchema<import("@bsb/base").BSBType>>;
97
- eventCount: import("@bsb/base").BSBType;
98
- emitEventCount: import("@bsb/base").BSBType;
99
- onEventCount: import("@bsb/base").BSBType;
100
- returnableEventCount: import("@bsb/base").BSBType;
101
- broadcastEventCount: import("@bsb/base").BSBType;
102
- publishedBy: import("anyvali").StringSchema;
103
- publishedAt: import("anyvali").StringSchema;
104
- updatedAt: import("anyvali").StringSchema;
105
- downloads: import("anyvali").OptionalSchema<import("@bsb/base").BSBType>;
106
- runtime: import("anyvali").OptionalSchema<import("anyvali").ObjectSchema<{
107
- nodejs: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
108
- dotnet: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
109
- go: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
110
- java: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
111
- python: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
112
- }>>;
113
- }>;
114
- declare const _registryPluginListSchema: import("anyvali").ObjectSchema<{
115
- org: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
116
- language: import("anyvali").OptionalSchema<import("anyvali").EnumSchema<readonly (string | number)[]>>;
117
- category: import("anyvali").OptionalSchema<import("anyvali").EnumSchema<readonly (string | number)[]>>;
118
- limit: import("anyvali").OptionalSchema<import("@bsb/base").BSBType>;
119
- offset: import("anyvali").OptionalSchema<import("@bsb/base").BSBType>;
120
- }>;
121
- declare const _registryPluginListOutputSchema: import("anyvali").ObjectSchema<{
122
- results: import("anyvali").ArraySchema<import("@bsb/base").BSBType>;
123
- total: import("@bsb/base").BSBType;
124
- page: import("@bsb/base").BSBType;
125
- }>;
126
- declare const _registryPluginSearchSchema: import("anyvali").ObjectSchema<{
127
- query: import("anyvali").StringSchema;
128
- language: import("anyvali").OptionalSchema<import("anyvali").EnumSchema<readonly (string | number)[]>>;
129
- category: import("anyvali").OptionalSchema<import("anyvali").EnumSchema<readonly (string | number)[]>>;
130
- limit: import("anyvali").OptionalSchema<import("@bsb/base").BSBType>;
131
- offset: import("anyvali").OptionalSchema<import("@bsb/base").BSBType>;
132
- }>;
133
- declare const _registryPluginSearchOutputSchema: import("anyvali").ObjectSchema<{
134
- results: import("anyvali").ArraySchema<import("@bsb/base").BSBType>;
135
- total: import("@bsb/base").BSBType;
136
- query: import("anyvali").StringSchema;
137
- }>;
138
- declare const _registryPluginDeleteSchema: import("anyvali").ObjectSchema<{
139
- org: import("anyvali").StringSchema;
140
- name: import("anyvali").StringSchema;
141
- version: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
142
- }>;
143
- declare const _registryPluginDeleteOutputSchema: import("anyvali").ObjectSchema<{
144
- success: import("anyvali").BoolSchema;
145
- deleted: import("@bsb/base").BSBType;
146
- }>;
147
- declare const _registryPluginVersionsSchema: import("anyvali").ObjectSchema<{
148
- org: import("anyvali").StringSchema;
149
- name: import("anyvali").StringSchema;
150
- majorMinor: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
151
- }>;
152
- declare const _registryPluginVersionsOutputSchema: import("anyvali").ObjectSchema<{
153
- versions: import("anyvali").ArraySchema<import("@bsb/base").BSBType>;
154
- latest: import("anyvali").StringSchema;
155
- latestForMajorMinor: import("anyvali").StringSchema;
156
- }>;
157
- declare const _registryStatsGetSchema: import("anyvali").ObjectSchema<{}>;
158
- declare const _registryStatsGetOutputSchema: import("anyvali").ObjectSchema<{
159
- totalPlugins: import("@bsb/base").BSBType;
160
- byLanguage: import("anyvali").StringSchema;
161
- byCategory: import("anyvali").StringSchema;
162
- totalDownloads: import("@bsb/base").BSBType;
163
- }>;
164
- declare const _registryAuthLoginSchema: import("anyvali").ObjectSchema<{
165
- username: import("anyvali").StringSchema;
166
- password: import("anyvali").StringSchema;
167
- }>;
168
- declare const _registryAuthLoginOutputSchema: import("anyvali").ObjectSchema<{
169
- success: import("anyvali").BoolSchema;
170
- token: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
171
- expiresAt: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
172
- message: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
173
- }>;
174
- declare const _registryAuthVerifySchema: import("anyvali").ObjectSchema<{
175
- token: import("anyvali").StringSchema;
176
- }>;
177
- declare const _registryAuthVerifyOutputSchema: import("anyvali").ObjectSchema<{
178
- valid: import("anyvali").BoolSchema;
179
- userId: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
180
- permissions: import("anyvali").OptionalSchema<import("anyvali").ArraySchema<import("@bsb/base").BSBType>>;
181
- }>;
182
- declare const _EventSchemas: {
183
- readonly onReturnableEvents: {
184
- readonly 'registry.plugin.publish': {
185
- input: import("anyvali").ObjectSchema<{
186
- org: import("anyvali").StringSchema;
187
- name: import("anyvali").StringSchema;
188
- version: import("anyvali").StringSchema;
189
- language: import("anyvali").EnumSchema<readonly (string | number)[]>;
190
- metadata: import("anyvali").ObjectSchema<{
191
- displayName: import("anyvali").StringSchema;
192
- description: import("anyvali").StringSchema;
193
- category: import("anyvali").EnumSchema<readonly (string | number)[]>;
194
- tags: import("anyvali").ArraySchema<import("@bsb/base").BSBType>;
195
- author: import("anyvali").OptionalSchema<import("anyvali").UnknownSchema | import("anyvali").UnionSchema<[import("@bsb/base").BSBType, ...import("@bsb/base").BSBType[]]>>;
196
- license: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
197
- homepage: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
198
- repository: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
199
- }>;
200
- eventSchema: import("anyvali").UnknownSchema;
201
- capabilities: import("anyvali").OptionalSchema<import("anyvali").UnknownSchema>;
202
- configSchema: import("anyvali").OptionalSchema<import("anyvali").UnknownSchema>;
203
- typeDefinitions: import("anyvali").OptionalSchema<import("anyvali").ObjectSchema<{
204
- nodejs: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
205
- csharp: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
206
- go: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
207
- java: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
208
- }>>;
209
- documentation: import("anyvali").ArraySchema<import("@bsb/base").BSBType>;
210
- dependencies: import("anyvali").OptionalSchema<import("anyvali").ArraySchema<import("@bsb/base").BSBType>>;
211
- package: import("anyvali").OptionalSchema<import("anyvali").ObjectSchema<{
212
- nodejs: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
213
- csharp: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
214
- go: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
215
- java: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
216
- python: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
217
- }>>;
218
- runtime: import("anyvali").OptionalSchema<import("anyvali").ObjectSchema<{
219
- nodejs: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
220
- dotnet: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
221
- go: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
222
- java: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
223
- python: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
224
- }>>;
225
- visibility: import("anyvali").OptionalSchema<import("anyvali").EnumSchema<readonly (string | number)[]>>;
226
- publishedBy: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
227
- }>;
228
- output: import("anyvali").ObjectSchema<{
229
- success: import("anyvali").BoolSchema;
230
- pluginId: import("anyvali").StringSchema;
231
- version: import("anyvali").StringSchema;
232
- message: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
233
- }>;
234
- description?: string;
235
- defaultTimeout?: number;
236
- readonly __brand: "returnable";
237
- };
238
- readonly 'registry.plugin.get': {
239
- input: import("anyvali").ObjectSchema<{
240
- org: import("anyvali").StringSchema;
241
- name: import("anyvali").StringSchema;
242
- version: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
243
- }>;
244
- output: import("anyvali").ObjectSchema<{
245
- id: import("anyvali").StringSchema;
246
- org: import("anyvali").StringSchema;
247
- name: import("anyvali").StringSchema;
248
- displayName: import("anyvali").StringSchema;
249
- description: import("anyvali").StringSchema;
250
- version: import("anyvali").StringSchema;
251
- majorMinor: import("anyvali").StringSchema;
252
- language: import("anyvali").EnumSchema<readonly (string | number)[]>;
253
- package: import("anyvali").OptionalSchema<import("anyvali").ObjectSchema<{
254
- nodejs: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
255
- csharp: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
256
- go: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
257
- java: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
258
- python: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
259
- }>>;
260
- category: import("anyvali").EnumSchema<readonly (string | number)[]>;
261
- tags: import("anyvali").ArraySchema<import("@bsb/base").BSBType>;
262
- author: import("anyvali").OptionalSchema<import("anyvali").UnknownSchema | import("anyvali").UnionSchema<[import("@bsb/base").BSBType, ...import("@bsb/base").BSBType[]]>>;
263
- license: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
264
- homepage: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
265
- repository: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
266
- visibility: import("anyvali").EnumSchema<readonly (string | number)[]>;
267
- eventSchema: import("anyvali").UnknownSchema;
268
- capabilities: import("anyvali").OptionalSchema<import("anyvali").UnknownSchema>;
269
- configSchema: import("anyvali").OptionalSchema<import("anyvali").UnknownSchema>;
270
- typeDefinitions: import("anyvali").OptionalSchema<import("anyvali").ObjectSchema<{
271
- nodejs: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
272
- csharp: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
273
- go: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
274
- java: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
275
- }>>;
276
- documentation: import("anyvali").OptionalSchema<import("anyvali").ArraySchema<import("@bsb/base").BSBType>>;
277
- dependencies: import("anyvali").OptionalSchema<import("anyvali").ArraySchema<import("@bsb/base").BSBType>>;
278
- permissions: import("anyvali").OptionalSchema<import("anyvali").ArraySchema<import("@bsb/base").BSBType>>;
279
- eventCount: import("@bsb/base").BSBType;
280
- emitEventCount: import("@bsb/base").BSBType;
281
- onEventCount: import("@bsb/base").BSBType;
282
- returnableEventCount: import("@bsb/base").BSBType;
283
- broadcastEventCount: import("@bsb/base").BSBType;
284
- publishedBy: import("anyvali").StringSchema;
285
- publishedAt: import("anyvali").StringSchema;
286
- updatedAt: import("anyvali").StringSchema;
287
- downloads: import("anyvali").OptionalSchema<import("@bsb/base").BSBType>;
288
- runtime: import("anyvali").OptionalSchema<import("anyvali").ObjectSchema<{
289
- nodejs: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
290
- dotnet: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
291
- go: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
292
- java: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
293
- python: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
294
- }>>;
295
- }>;
296
- description?: string;
297
- defaultTimeout?: number;
298
- readonly __brand: "returnable";
299
- };
300
- readonly 'registry.plugin.list': {
301
- input: import("anyvali").ObjectSchema<{
302
- org: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
303
- language: import("anyvali").OptionalSchema<import("anyvali").EnumSchema<readonly (string | number)[]>>;
304
- category: import("anyvali").OptionalSchema<import("anyvali").EnumSchema<readonly (string | number)[]>>;
305
- limit: import("anyvali").OptionalSchema<import("@bsb/base").BSBType>;
306
- offset: import("anyvali").OptionalSchema<import("@bsb/base").BSBType>;
307
- }>;
308
- output: import("anyvali").ObjectSchema<{
309
- results: import("anyvali").ArraySchema<import("@bsb/base").BSBType>;
310
- total: import("@bsb/base").BSBType;
311
- page: import("@bsb/base").BSBType;
312
- }>;
313
- description?: string;
314
- defaultTimeout?: number;
315
- readonly __brand: "returnable";
316
- };
317
- readonly 'registry.plugin.search': {
318
- input: import("anyvali").ObjectSchema<{
319
- query: import("anyvali").StringSchema;
320
- language: import("anyvali").OptionalSchema<import("anyvali").EnumSchema<readonly (string | number)[]>>;
321
- category: import("anyvali").OptionalSchema<import("anyvali").EnumSchema<readonly (string | number)[]>>;
322
- limit: import("anyvali").OptionalSchema<import("@bsb/base").BSBType>;
323
- offset: import("anyvali").OptionalSchema<import("@bsb/base").BSBType>;
324
- }>;
325
- output: import("anyvali").ObjectSchema<{
326
- results: import("anyvali").ArraySchema<import("@bsb/base").BSBType>;
327
- total: import("@bsb/base").BSBType;
328
- query: import("anyvali").StringSchema;
329
- }>;
330
- description?: string;
331
- defaultTimeout?: number;
332
- readonly __brand: "returnable";
333
- };
334
- readonly 'registry.plugin.delete': {
335
- input: import("anyvali").ObjectSchema<{
336
- org: import("anyvali").StringSchema;
337
- name: import("anyvali").StringSchema;
338
- version: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
339
- }>;
340
- output: import("anyvali").ObjectSchema<{
341
- success: import("anyvali").BoolSchema;
342
- deleted: import("@bsb/base").BSBType;
343
- }>;
344
- description?: string;
345
- defaultTimeout?: number;
346
- readonly __brand: "returnable";
347
- };
348
- readonly 'registry.plugin.versions': {
349
- input: import("anyvali").ObjectSchema<{
350
- org: import("anyvali").StringSchema;
351
- name: import("anyvali").StringSchema;
352
- majorMinor: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
353
- }>;
354
- output: import("anyvali").ObjectSchema<{
355
- versions: import("anyvali").ArraySchema<import("@bsb/base").BSBType>;
356
- latest: import("anyvali").StringSchema;
357
- latestForMajorMinor: import("anyvali").StringSchema;
358
- }>;
359
- description?: string;
360
- defaultTimeout?: number;
361
- readonly __brand: "returnable";
362
- };
363
- readonly 'registry.stats.get': {
364
- input: import("anyvali").ObjectSchema<{}>;
365
- output: import("anyvali").ObjectSchema<{
366
- totalPlugins: import("@bsb/base").BSBType;
367
- byLanguage: import("anyvali").StringSchema;
368
- byCategory: import("anyvali").StringSchema;
369
- totalDownloads: import("@bsb/base").BSBType;
370
- }>;
371
- description?: string;
372
- defaultTimeout?: number;
373
- readonly __brand: "returnable";
374
- };
375
- readonly 'registry.auth.login': {
376
- input: import("anyvali").ObjectSchema<{
377
- username: import("anyvali").StringSchema;
378
- password: import("anyvali").StringSchema;
379
- }>;
380
- output: import("anyvali").ObjectSchema<{
381
- success: import("anyvali").BoolSchema;
382
- token: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
383
- expiresAt: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
384
- message: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
385
- }>;
386
- description?: string;
387
- defaultTimeout?: number;
388
- readonly __brand: "returnable";
389
- };
390
- readonly 'registry.auth.verify': {
391
- input: import("anyvali").ObjectSchema<{
392
- token: import("anyvali").StringSchema;
393
- }>;
394
- output: import("anyvali").ObjectSchema<{
395
- valid: import("anyvali").BoolSchema;
396
- userId: import("anyvali").OptionalSchema<import("anyvali").StringSchema>;
397
- permissions: import("anyvali").OptionalSchema<import("anyvali").ArraySchema<import("@bsb/base").BSBType>>;
398
- }>;
399
- description?: string;
400
- defaultTimeout?: number;
401
- readonly __brand: "returnable";
402
- };
403
- };
404
- };
405
- export type RegistryPluginPublishInput = EventInputType<{
406
- input: typeof _registryPluginPublishSchema;
407
- }>;
408
- export type RegistryPluginPublishOutput = EventOutputType<{
409
- output: typeof _registryPluginPublishOutputSchema;
410
- }>;
411
- export type RegistryPluginGetInput = EventInputType<{
412
- input: typeof _registryPluginGetSchema;
413
- }>;
414
- export type RegistryPluginGetOutput = EventOutputType<{
415
- output: typeof _registryPluginGetOutputSchema;
416
- }>;
417
- export type RegistryPluginListInput = EventInputType<{
418
- input: typeof _registryPluginListSchema;
419
- }>;
420
- export type RegistryPluginListOutput = EventOutputType<{
421
- output: typeof _registryPluginListOutputSchema;
422
- }>;
423
- export type RegistryPluginSearchInput = EventInputType<{
424
- input: typeof _registryPluginSearchSchema;
425
- }>;
426
- export type RegistryPluginSearchOutput = EventOutputType<{
427
- output: typeof _registryPluginSearchOutputSchema;
428
- }>;
429
- export type RegistryPluginDeleteInput = EventInputType<{
430
- input: typeof _registryPluginDeleteSchema;
431
- }>;
432
- export type RegistryPluginDeleteOutput = EventOutputType<{
433
- output: typeof _registryPluginDeleteOutputSchema;
434
- }>;
435
- export type RegistryPluginVersionsInput = EventInputType<{
436
- input: typeof _registryPluginVersionsSchema;
437
- }>;
438
- export type RegistryPluginVersionsOutput = EventOutputType<{
439
- output: typeof _registryPluginVersionsOutputSchema;
440
- }>;
441
- export type RegistryStatsGetInput = EventInputType<{
442
- input: typeof _registryStatsGetSchema;
443
- }>;
444
- export type RegistryStatsGetOutput = EventOutputType<{
445
- output: typeof _registryStatsGetOutputSchema;
446
- }>;
447
- export type RegistryAuthLoginInput = EventInputType<{
448
- input: typeof _registryAuthLoginSchema;
449
- }>;
450
- export type RegistryAuthLoginOutput = EventOutputType<{
451
- output: typeof _registryAuthLoginOutputSchema;
452
- }>;
453
- export type RegistryAuthVerifyInput = EventInputType<{
454
- input: typeof _registryAuthVerifySchema;
455
- }>;
456
- export type RegistryAuthVerifyOutput = EventOutputType<{
457
- output: typeof _registryAuthVerifyOutputSchema;
458
- }>;
459
- declare class _PluginRef {
460
- static PLUGIN_CLIENT: BSBServiceClientDefinition;
461
- }
462
- export default class BsbRegistryClient extends ServiceClient<any, typeof _EventSchemas, typeof _PluginRef> {
463
- constructor(context: BSBService);
464
- private _requireClientEvents;
465
- /** Publish a new plugin or version (default timeout: 5s) */
466
- registryPluginPublish(obs: Observable, input: RegistryPluginPublishInput, timeout?: number): Promise<RegistryPluginPublishOutput>;
467
- /** Publish a new plugin or version for a specific server (default timeout: 5s) */
468
- registryPluginPublishSpecific(serverId: string, obs: Observable, input: RegistryPluginPublishInput, timeout?: number): Promise<RegistryPluginPublishOutput>;
469
- /** Get plugin details by org/name (default timeout: 5s) */
470
- registryPluginGet(obs: Observable, input: RegistryPluginGetInput, timeout?: number): Promise<RegistryPluginGetOutput>;
471
- /** Get plugin details by org/name for a specific server (default timeout: 5s) */
472
- registryPluginGetSpecific(serverId: string, obs: Observable, input: RegistryPluginGetInput, timeout?: number): Promise<RegistryPluginGetOutput>;
473
- /** List plugins with filtering (default timeout: 5s) */
474
- registryPluginList(obs: Observable, input: RegistryPluginListInput, timeout?: number): Promise<RegistryPluginListOutput>;
475
- /** List plugins with filtering for a specific server (default timeout: 5s) */
476
- registryPluginListSpecific(serverId: string, obs: Observable, input: RegistryPluginListInput, timeout?: number): Promise<RegistryPluginListOutput>;
477
- /** Search plugins by query (default timeout: 5s) */
478
- registryPluginSearch(obs: Observable, input: RegistryPluginSearchInput, timeout?: number): Promise<RegistryPluginSearchOutput>;
479
- /** Search plugins by query for a specific server (default timeout: 5s) */
480
- registryPluginSearchSpecific(serverId: string, obs: Observable, input: RegistryPluginSearchInput, timeout?: number): Promise<RegistryPluginSearchOutput>;
481
- /** Delete a plugin or specific version (default timeout: 5s) */
482
- registryPluginDelete(obs: Observable, input: RegistryPluginDeleteInput, timeout?: number): Promise<RegistryPluginDeleteOutput>;
483
- /** Delete a plugin or specific version for a specific server (default timeout: 5s) */
484
- registryPluginDeleteSpecific(serverId: string, obs: Observable, input: RegistryPluginDeleteInput, timeout?: number): Promise<RegistryPluginDeleteOutput>;
485
- /** Get all versions of a plugin (default timeout: 5s) */
486
- registryPluginVersions(obs: Observable, input: RegistryPluginVersionsInput, timeout?: number): Promise<RegistryPluginVersionsOutput>;
487
- /** Get all versions of a plugin for a specific server (default timeout: 5s) */
488
- registryPluginVersionsSpecific(serverId: string, obs: Observable, input: RegistryPluginVersionsInput, timeout?: number): Promise<RegistryPluginVersionsOutput>;
489
- /** Get registry statistics (default timeout: 5s) */
490
- registryStatsGet(obs: Observable, input: RegistryStatsGetInput, timeout?: number): Promise<RegistryStatsGetOutput>;
491
- /** Get registry statistics for a specific server (default timeout: 5s) */
492
- registryStatsGetSpecific(serverId: string, obs: Observable, input: RegistryStatsGetInput, timeout?: number): Promise<RegistryStatsGetOutput>;
493
- /** Authenticate user and get token (default timeout: 5s) */
494
- registryAuthLogin(obs: Observable, input: RegistryAuthLoginInput, timeout?: number): Promise<RegistryAuthLoginOutput>;
495
- /** Authenticate user and get token for a specific server (default timeout: 5s) */
496
- registryAuthLoginSpecific(serverId: string, obs: Observable, input: RegistryAuthLoginInput, timeout?: number): Promise<RegistryAuthLoginOutput>;
497
- /** Verify authentication token (default timeout: 5s) */
498
- registryAuthVerify(obs: Observable, input: RegistryAuthVerifyInput, timeout?: number): Promise<RegistryAuthVerifyOutput>;
499
- /** Verify authentication token for a specific server (default timeout: 5s) */
500
- registryAuthVerifySpecific(serverId: string, obs: Observable, input: RegistryAuthVerifyInput, timeout?: number): Promise<RegistryAuthVerifyOutput>;
501
- }
502
- export { BsbRegistryClient };
503
- //# sourceMappingURL=service-bsb-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service-bsb-registry.d.ts","sourceRoot":"","sources":["../../../src/.bsb/clients/service-bsb-registry.ts"],"names":[],"mappings":"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"}
@@ -1,446 +0,0 @@
1
- /**
2
- * Auto-generated BSB virtual client for BSB Registry Core
3
- * DO NOT EDIT - Regenerated on every build
4
- * @version 9.6.22
5
- */
6
- import { ServiceClient, bsb, optional, createReturnableEvent, createEventSchemas } from "@bsb/base";
7
- const _registryPluginPublishSchema = bsb.object({
8
- "org": bsb.string({ min: 1, max: 100 }),
9
- "name": bsb.string({ min: 1, max: 100 }),
10
- "version": bsb.string({ min: 1, max: 50 }),
11
- "language": bsb.enum(["nodejs", "csharp", "go", "java", "python"]),
12
- "metadata": bsb.object({
13
- "displayName": bsb.string({ min: 1, max: 200 }),
14
- "description": bsb.string({ min: 1, max: 1000 }),
15
- "category": bsb.enum(["service", "observable", "events", "config"]),
16
- "tags": bsb.array(bsb.string({ max: 50 })),
17
- "author": optional(bsb.union([bsb.string({ max: 200 }), bsb.object({
18
- "name": bsb.string({ max: 200 }),
19
- "email": optional(bsb.string({ max: 200 })),
20
- "url": optional(bsb.uri())
21
- })])),
22
- "license": optional(bsb.string({ max: 50 })),
23
- "homepage": optional(bsb.uri()),
24
- "repository": optional(bsb.string())
25
- }),
26
- "eventSchema": bsb.unknown(),
27
- "capabilities": optional(bsb.unknown()),
28
- "configSchema": optional(bsb.unknown()),
29
- "typeDefinitions": optional(bsb.object({
30
- "nodejs": optional(bsb.string()),
31
- "csharp": optional(bsb.string()),
32
- "go": optional(bsb.string()),
33
- "java": optional(bsb.string())
34
- })),
35
- "documentation": bsb.array(bsb.string(), { min: 1 }),
36
- "dependencies": optional(bsb.array(bsb.object({
37
- "id": bsb.string({ min: 1, max: 200 }),
38
- "version": bsb.string({ min: 1, max: 50 })
39
- }))),
40
- "package": optional(bsb.object({
41
- "nodejs": optional(bsb.string()),
42
- "csharp": optional(bsb.string()),
43
- "go": optional(bsb.string()),
44
- "java": optional(bsb.string()),
45
- "python": optional(bsb.string())
46
- })),
47
- "runtime": optional(bsb.object({
48
- "nodejs": optional(bsb.string()),
49
- "dotnet": optional(bsb.string()),
50
- "go": optional(bsb.string()),
51
- "java": optional(bsb.string()),
52
- "python": optional(bsb.string())
53
- })),
54
- "visibility": optional(bsb.enum(["public", "private"])),
55
- "publishedBy": optional(bsb.string({ max: 200 }))
56
- });
57
- const _registryPluginPublishOutputSchema = bsb.object({
58
- "success": bsb.boolean(),
59
- "pluginId": bsb.string(),
60
- "version": bsb.string(),
61
- "message": optional(bsb.string())
62
- });
63
- const _registryPluginGetSchema = bsb.object({
64
- "org": bsb.string(),
65
- "name": bsb.string(),
66
- "version": optional(bsb.string())
67
- });
68
- const _registryPluginGetOutputSchema = bsb.object({
69
- "id": bsb.string({ min: 1, max: 200 }),
70
- "org": bsb.string({ min: 1, max: 100 }),
71
- "name": bsb.string({ min: 1, max: 100 }),
72
- "displayName": bsb.string({ min: 1, max: 200 }),
73
- "description": bsb.string({ min: 1, max: 1000 }),
74
- "version": bsb.string({ min: 1, max: 50 }),
75
- "majorMinor": bsb.string({ min: 1, max: 20 }),
76
- "language": bsb.enum(["nodejs", "csharp", "go", "java", "python"]),
77
- "package": optional(bsb.object({
78
- "nodejs": optional(bsb.string()),
79
- "csharp": optional(bsb.string()),
80
- "go": optional(bsb.string()),
81
- "java": optional(bsb.string()),
82
- "python": optional(bsb.string())
83
- })),
84
- "category": bsb.enum(["service", "observable", "events", "config"]),
85
- "tags": bsb.array(bsb.string({ max: 50 })),
86
- "author": optional(bsb.union([bsb.string({ max: 200 }), bsb.object({
87
- "name": bsb.string({ max: 200 }),
88
- "email": optional(bsb.string({ max: 200 })),
89
- "url": optional(bsb.uri())
90
- })])),
91
- "license": optional(bsb.string({ max: 50 })),
92
- "homepage": optional(bsb.uri()),
93
- "repository": optional(bsb.string()),
94
- "visibility": bsb.enum(["public", "private"]),
95
- "eventSchema": bsb.unknown(),
96
- "capabilities": optional(bsb.unknown()),
97
- "configSchema": optional(bsb.unknown()),
98
- "typeDefinitions": optional(bsb.object({
99
- "nodejs": optional(bsb.string()),
100
- "csharp": optional(bsb.string()),
101
- "go": optional(bsb.string()),
102
- "java": optional(bsb.string())
103
- })),
104
- "documentation": optional(bsb.array(bsb.string(), { min: 1 })),
105
- "dependencies": optional(bsb.array(bsb.object({
106
- "id": bsb.string({ min: 1, max: 200 }),
107
- "version": bsb.string({ min: 1, max: 50 })
108
- }))),
109
- "permissions": optional(bsb.array(bsb.object({
110
- "userId": bsb.uuid(),
111
- "permission": bsb.enum(["read", "write"])
112
- }))),
113
- "eventCount": bsb.int32({ min: 0 }),
114
- "emitEventCount": bsb.int32({ min: 0 }),
115
- "onEventCount": bsb.int32({ min: 0 }),
116
- "returnableEventCount": bsb.int32({ min: 0 }),
117
- "broadcastEventCount": bsb.int32({ min: 0 }),
118
- "publishedBy": bsb.string({ max: 200 }),
119
- "publishedAt": bsb.datetime(),
120
- "updatedAt": bsb.datetime(),
121
- "downloads": optional(bsb.int32({ min: 0 })),
122
- "runtime": optional(bsb.object({
123
- "nodejs": optional(bsb.string()),
124
- "dotnet": optional(bsb.string()),
125
- "go": optional(bsb.string()),
126
- "java": optional(bsb.string()),
127
- "python": optional(bsb.string())
128
- }))
129
- });
130
- const _registryPluginListSchema = bsb.object({
131
- "org": optional(bsb.string({ max: 100 })),
132
- "language": optional(bsb.enum(["nodejs", "csharp", "go", "java", "python"])),
133
- "category": optional(bsb.enum(["service", "observable", "events", "config"])),
134
- "limit": optional(bsb.int32({ min: 1, max: 100 })),
135
- "offset": optional(bsb.int32({ min: 0 }))
136
- });
137
- const _registryPluginListOutputSchema = bsb.object({
138
- "results": bsb.array(bsb.object({
139
- "id": bsb.string({ min: 1, max: 200 }),
140
- "org": bsb.string({ min: 1, max: 100 }),
141
- "name": bsb.string({ min: 1, max: 100 }),
142
- "displayName": bsb.string({ min: 1, max: 200 }),
143
- "description": bsb.string({ min: 1, max: 1000 }),
144
- "version": bsb.string({ min: 1, max: 50 }),
145
- "majorMinor": bsb.string({ min: 1, max: 20 }),
146
- "language": bsb.enum(["nodejs", "csharp", "go", "java", "python"]),
147
- "package": optional(bsb.object({
148
- "nodejs": optional(bsb.string()),
149
- "csharp": optional(bsb.string()),
150
- "go": optional(bsb.string()),
151
- "java": optional(bsb.string()),
152
- "python": optional(bsb.string())
153
- })),
154
- "category": bsb.enum(["service", "observable", "events", "config"]),
155
- "tags": bsb.array(bsb.string({ max: 50 })),
156
- "author": optional(bsb.union([bsb.string({ max: 200 }), bsb.object({
157
- "name": bsb.string({ max: 200 }),
158
- "email": optional(bsb.string({ max: 200 })),
159
- "url": optional(bsb.uri())
160
- })])),
161
- "license": optional(bsb.string({ max: 50 })),
162
- "homepage": optional(bsb.uri()),
163
- "repository": optional(bsb.string()),
164
- "visibility": bsb.enum(["public", "private"]),
165
- "eventSchema": bsb.unknown(),
166
- "capabilities": optional(bsb.unknown()),
167
- "configSchema": optional(bsb.unknown()),
168
- "typeDefinitions": optional(bsb.object({
169
- "nodejs": optional(bsb.string()),
170
- "csharp": optional(bsb.string()),
171
- "go": optional(bsb.string()),
172
- "java": optional(bsb.string())
173
- })),
174
- "documentation": optional(bsb.array(bsb.string(), { min: 1 })),
175
- "dependencies": optional(bsb.array(bsb.object({
176
- "id": bsb.string({ min: 1, max: 200 }),
177
- "version": bsb.string({ min: 1, max: 50 })
178
- }))),
179
- "permissions": optional(bsb.array(bsb.object({
180
- "userId": bsb.uuid(),
181
- "permission": bsb.enum(["read", "write"])
182
- }))),
183
- "eventCount": bsb.int32({ min: 0 }),
184
- "emitEventCount": bsb.int32({ min: 0 }),
185
- "onEventCount": bsb.int32({ min: 0 }),
186
- "returnableEventCount": bsb.int32({ min: 0 }),
187
- "broadcastEventCount": bsb.int32({ min: 0 }),
188
- "publishedBy": bsb.string({ max: 200 }),
189
- "publishedAt": bsb.datetime(),
190
- "updatedAt": bsb.datetime(),
191
- "downloads": optional(bsb.int32({ min: 0 })),
192
- "runtime": optional(bsb.object({
193
- "nodejs": optional(bsb.string()),
194
- "dotnet": optional(bsb.string()),
195
- "go": optional(bsb.string()),
196
- "java": optional(bsb.string()),
197
- "python": optional(bsb.string())
198
- }))
199
- })),
200
- "total": bsb.int32({ min: 0 }),
201
- "page": bsb.int32({ min: 1 })
202
- });
203
- const _registryPluginSearchSchema = bsb.object({
204
- "query": bsb.string({ min: 1, max: 200 }),
205
- "language": optional(bsb.enum(["nodejs", "csharp", "go", "java", "python"])),
206
- "category": optional(bsb.enum(["service", "observable", "events", "config"])),
207
- "limit": optional(bsb.int32({ min: 1, max: 100 })),
208
- "offset": optional(bsb.int32({ min: 0 }))
209
- });
210
- const _registryPluginSearchOutputSchema = bsb.object({
211
- "results": bsb.array(bsb.object({
212
- "id": bsb.string({ min: 1, max: 200 }),
213
- "org": bsb.string({ min: 1, max: 100 }),
214
- "name": bsb.string({ min: 1, max: 100 }),
215
- "displayName": bsb.string({ min: 1, max: 200 }),
216
- "description": bsb.string({ min: 1, max: 1000 }),
217
- "version": bsb.string({ min: 1, max: 50 }),
218
- "majorMinor": bsb.string({ min: 1, max: 20 }),
219
- "language": bsb.enum(["nodejs", "csharp", "go", "java", "python"]),
220
- "package": optional(bsb.object({
221
- "nodejs": optional(bsb.string()),
222
- "csharp": optional(bsb.string()),
223
- "go": optional(bsb.string()),
224
- "java": optional(bsb.string()),
225
- "python": optional(bsb.string())
226
- })),
227
- "category": bsb.enum(["service", "observable", "events", "config"]),
228
- "tags": bsb.array(bsb.string({ max: 50 })),
229
- "author": optional(bsb.union([bsb.string({ max: 200 }), bsb.object({
230
- "name": bsb.string({ max: 200 }),
231
- "email": optional(bsb.string({ max: 200 })),
232
- "url": optional(bsb.uri())
233
- })])),
234
- "license": optional(bsb.string({ max: 50 })),
235
- "homepage": optional(bsb.uri()),
236
- "repository": optional(bsb.string()),
237
- "visibility": bsb.enum(["public", "private"]),
238
- "eventSchema": bsb.unknown(),
239
- "capabilities": optional(bsb.unknown()),
240
- "configSchema": optional(bsb.unknown()),
241
- "typeDefinitions": optional(bsb.object({
242
- "nodejs": optional(bsb.string()),
243
- "csharp": optional(bsb.string()),
244
- "go": optional(bsb.string()),
245
- "java": optional(bsb.string())
246
- })),
247
- "documentation": optional(bsb.array(bsb.string(), { min: 1 })),
248
- "dependencies": optional(bsb.array(bsb.object({
249
- "id": bsb.string({ min: 1, max: 200 }),
250
- "version": bsb.string({ min: 1, max: 50 })
251
- }))),
252
- "permissions": optional(bsb.array(bsb.object({
253
- "userId": bsb.uuid(),
254
- "permission": bsb.enum(["read", "write"])
255
- }))),
256
- "eventCount": bsb.int32({ min: 0 }),
257
- "emitEventCount": bsb.int32({ min: 0 }),
258
- "onEventCount": bsb.int32({ min: 0 }),
259
- "returnableEventCount": bsb.int32({ min: 0 }),
260
- "broadcastEventCount": bsb.int32({ min: 0 }),
261
- "publishedBy": bsb.string({ max: 200 }),
262
- "publishedAt": bsb.datetime(),
263
- "updatedAt": bsb.datetime(),
264
- "downloads": optional(bsb.int32({ min: 0 })),
265
- "runtime": optional(bsb.object({
266
- "nodejs": optional(bsb.string()),
267
- "dotnet": optional(bsb.string()),
268
- "go": optional(bsb.string()),
269
- "java": optional(bsb.string()),
270
- "python": optional(bsb.string())
271
- }))
272
- })),
273
- "total": bsb.int32({ min: 0 }),
274
- "query": bsb.string()
275
- });
276
- const _registryPluginDeleteSchema = bsb.object({
277
- "org": bsb.string(),
278
- "name": bsb.string(),
279
- "version": optional(bsb.string())
280
- });
281
- const _registryPluginDeleteOutputSchema = bsb.object({
282
- "success": bsb.boolean(),
283
- "deleted": bsb.int32({ min: 0 })
284
- });
285
- const _registryPluginVersionsSchema = bsb.object({
286
- "org": bsb.string(),
287
- "name": bsb.string(),
288
- "majorMinor": optional(bsb.string())
289
- });
290
- const _registryPluginVersionsOutputSchema = bsb.object({
291
- "versions": bsb.array(bsb.object({
292
- "version": bsb.string(),
293
- "majorMinor": bsb.string(),
294
- "publishedAt": bsb.datetime()
295
- })),
296
- "latest": bsb.string(),
297
- "latestForMajorMinor": bsb.string()
298
- });
299
- const _registryStatsGetSchema = bsb.object({});
300
- const _registryStatsGetOutputSchema = bsb.object({
301
- "totalPlugins": bsb.int32({ min: 0 }),
302
- "byLanguage": bsb.string(),
303
- "byCategory": bsb.string(),
304
- "totalDownloads": bsb.int32({ min: 0 })
305
- });
306
- const _registryAuthLoginSchema = bsb.object({
307
- "username": bsb.string(),
308
- "password": bsb.string()
309
- });
310
- const _registryAuthLoginOutputSchema = bsb.object({
311
- "success": bsb.boolean(),
312
- "token": optional(bsb.string()),
313
- "expiresAt": optional(bsb.datetime()),
314
- "message": optional(bsb.string())
315
- });
316
- const _registryAuthVerifySchema = bsb.object({
317
- "token": bsb.string()
318
- });
319
- const _registryAuthVerifyOutputSchema = bsb.object({
320
- "valid": bsb.boolean(),
321
- "userId": optional(bsb.string()),
322
- "permissions": optional(bsb.array(bsb.string()))
323
- });
324
- const _EventSchemas = createEventSchemas({
325
- onReturnableEvents: {
326
- 'registry.plugin.publish': createReturnableEvent(_registryPluginPublishSchema, _registryPluginPublishOutputSchema, "Publish a new plugin or version"),
327
- 'registry.plugin.get': createReturnableEvent(_registryPluginGetSchema, _registryPluginGetOutputSchema, "Get plugin details by org/name"),
328
- 'registry.plugin.list': createReturnableEvent(_registryPluginListSchema, _registryPluginListOutputSchema, "List plugins with filtering"),
329
- 'registry.plugin.search': createReturnableEvent(_registryPluginSearchSchema, _registryPluginSearchOutputSchema, "Search plugins by query"),
330
- 'registry.plugin.delete': createReturnableEvent(_registryPluginDeleteSchema, _registryPluginDeleteOutputSchema, "Delete a plugin or specific version"),
331
- 'registry.plugin.versions': createReturnableEvent(_registryPluginVersionsSchema, _registryPluginVersionsOutputSchema, "Get all versions of a plugin"),
332
- 'registry.stats.get': createReturnableEvent(_registryStatsGetSchema, _registryStatsGetOutputSchema, "Get registry statistics"),
333
- 'registry.auth.login': createReturnableEvent(_registryAuthLoginSchema, _registryAuthLoginOutputSchema, "Authenticate user and get token"),
334
- 'registry.auth.verify': createReturnableEvent(_registryAuthVerifySchema, _registryAuthVerifyOutputSchema, "Verify authentication token"),
335
- },
336
- });
337
- const _PLUGIN_CLIENT = {
338
- name: "service-bsb-registry",
339
- };
340
- class _PluginRef {
341
- static PLUGIN_CLIENT = _PLUGIN_CLIENT;
342
- }
343
- export default class BsbRegistryClient extends ServiceClient {
344
- constructor(context) {
345
- super(_PluginRef, context);
346
- }
347
- _requireClientEvents(methodName, eventName) {
348
- const events = this.events;
349
- if (!events || typeof events[methodName] !== "function") {
350
- throw new Error(`[BSB Client Error] BsbRegistryClient cannot use "${eventName}" via ${methodName} because this generated client has no events facade yet. Generated service clients are wired by BSB during service setup. Create generated clients in your service constructor with the running BSBService context so BSB can register them before init/run. If this client was created inside init/onRegistered/run and used immediately, move construction to the constructor. If you are trying to listen to an event this same plugin emits, do not instantiate its generated client as a self-listener; listen through the generated client for the emitting service, or use this.createSelf() only for explicit self-invocation of own handlers.`);
351
- }
352
- return events;
353
- }
354
- /** Publish a new plugin or version (default timeout: 5s) */
355
- async registryPluginPublish(obs, input, timeout = 5) {
356
- const events = this._requireClientEvents("emitEventAndReturn", "registry.plugin.publish");
357
- return events.emitEventAndReturn("registry.plugin.publish", obs, input, timeout);
358
- }
359
- /** Publish a new plugin or version for a specific server (default timeout: 5s) */
360
- async registryPluginPublishSpecific(serverId, obs, input, timeout = 5) {
361
- const events = this._requireClientEvents("emitEventAndReturnSpecific", "registry.plugin.publish");
362
- return events.emitEventAndReturnSpecific("registry.plugin.publish", serverId, obs, input, timeout);
363
- }
364
- /** Get plugin details by org/name (default timeout: 5s) */
365
- async registryPluginGet(obs, input, timeout = 5) {
366
- const events = this._requireClientEvents("emitEventAndReturn", "registry.plugin.get");
367
- return events.emitEventAndReturn("registry.plugin.get", obs, input, timeout);
368
- }
369
- /** Get plugin details by org/name for a specific server (default timeout: 5s) */
370
- async registryPluginGetSpecific(serverId, obs, input, timeout = 5) {
371
- const events = this._requireClientEvents("emitEventAndReturnSpecific", "registry.plugin.get");
372
- return events.emitEventAndReturnSpecific("registry.plugin.get", serverId, obs, input, timeout);
373
- }
374
- /** List plugins with filtering (default timeout: 5s) */
375
- async registryPluginList(obs, input, timeout = 5) {
376
- const events = this._requireClientEvents("emitEventAndReturn", "registry.plugin.list");
377
- return events.emitEventAndReturn("registry.plugin.list", obs, input, timeout);
378
- }
379
- /** List plugins with filtering for a specific server (default timeout: 5s) */
380
- async registryPluginListSpecific(serverId, obs, input, timeout = 5) {
381
- const events = this._requireClientEvents("emitEventAndReturnSpecific", "registry.plugin.list");
382
- return events.emitEventAndReturnSpecific("registry.plugin.list", serverId, obs, input, timeout);
383
- }
384
- /** Search plugins by query (default timeout: 5s) */
385
- async registryPluginSearch(obs, input, timeout = 5) {
386
- const events = this._requireClientEvents("emitEventAndReturn", "registry.plugin.search");
387
- return events.emitEventAndReturn("registry.plugin.search", obs, input, timeout);
388
- }
389
- /** Search plugins by query for a specific server (default timeout: 5s) */
390
- async registryPluginSearchSpecific(serverId, obs, input, timeout = 5) {
391
- const events = this._requireClientEvents("emitEventAndReturnSpecific", "registry.plugin.search");
392
- return events.emitEventAndReturnSpecific("registry.plugin.search", serverId, obs, input, timeout);
393
- }
394
- /** Delete a plugin or specific version (default timeout: 5s) */
395
- async registryPluginDelete(obs, input, timeout = 5) {
396
- const events = this._requireClientEvents("emitEventAndReturn", "registry.plugin.delete");
397
- return events.emitEventAndReturn("registry.plugin.delete", obs, input, timeout);
398
- }
399
- /** Delete a plugin or specific version for a specific server (default timeout: 5s) */
400
- async registryPluginDeleteSpecific(serverId, obs, input, timeout = 5) {
401
- const events = this._requireClientEvents("emitEventAndReturnSpecific", "registry.plugin.delete");
402
- return events.emitEventAndReturnSpecific("registry.plugin.delete", serverId, obs, input, timeout);
403
- }
404
- /** Get all versions of a plugin (default timeout: 5s) */
405
- async registryPluginVersions(obs, input, timeout = 5) {
406
- const events = this._requireClientEvents("emitEventAndReturn", "registry.plugin.versions");
407
- return events.emitEventAndReturn("registry.plugin.versions", obs, input, timeout);
408
- }
409
- /** Get all versions of a plugin for a specific server (default timeout: 5s) */
410
- async registryPluginVersionsSpecific(serverId, obs, input, timeout = 5) {
411
- const events = this._requireClientEvents("emitEventAndReturnSpecific", "registry.plugin.versions");
412
- return events.emitEventAndReturnSpecific("registry.plugin.versions", serverId, obs, input, timeout);
413
- }
414
- /** Get registry statistics (default timeout: 5s) */
415
- async registryStatsGet(obs, input, timeout = 5) {
416
- const events = this._requireClientEvents("emitEventAndReturn", "registry.stats.get");
417
- return events.emitEventAndReturn("registry.stats.get", obs, input, timeout);
418
- }
419
- /** Get registry statistics for a specific server (default timeout: 5s) */
420
- async registryStatsGetSpecific(serverId, obs, input, timeout = 5) {
421
- const events = this._requireClientEvents("emitEventAndReturnSpecific", "registry.stats.get");
422
- return events.emitEventAndReturnSpecific("registry.stats.get", serverId, obs, input, timeout);
423
- }
424
- /** Authenticate user and get token (default timeout: 5s) */
425
- async registryAuthLogin(obs, input, timeout = 5) {
426
- const events = this._requireClientEvents("emitEventAndReturn", "registry.auth.login");
427
- return events.emitEventAndReturn("registry.auth.login", obs, input, timeout);
428
- }
429
- /** Authenticate user and get token for a specific server (default timeout: 5s) */
430
- async registryAuthLoginSpecific(serverId, obs, input, timeout = 5) {
431
- const events = this._requireClientEvents("emitEventAndReturnSpecific", "registry.auth.login");
432
- return events.emitEventAndReturnSpecific("registry.auth.login", serverId, obs, input, timeout);
433
- }
434
- /** Verify authentication token (default timeout: 5s) */
435
- async registryAuthVerify(obs, input, timeout = 5) {
436
- const events = this._requireClientEvents("emitEventAndReturn", "registry.auth.verify");
437
- return events.emitEventAndReturn("registry.auth.verify", obs, input, timeout);
438
- }
439
- /** Verify authentication token for a specific server (default timeout: 5s) */
440
- async registryAuthVerifySpecific(serverId, obs, input, timeout = 5) {
441
- const events = this._requireClientEvents("emitEventAndReturnSpecific", "registry.auth.verify");
442
- return events.emitEventAndReturnSpecific("registry.auth.verify", serverId, obs, input, timeout);
443
- }
444
- }
445
- export { BsbRegistryClient };
446
- //# sourceMappingURL=service-bsb-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service-bsb-registry.js","sourceRoot":"","sources":["../../../src/.bsb/clients/service-bsb-registry.ts"],"names":[],"mappings":"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"}