@voilabs/plugins 0.0.1-beta.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 (46) hide show
  1. package/README.md +634 -0
  2. package/dist/adapters/elysia.d.ts +31 -0
  3. package/dist/adapters/elysia.d.ts.map +1 -0
  4. package/dist/adapters/elysia.js +28 -0
  5. package/dist/adapters/elysia.js.map +1 -0
  6. package/dist/adapters/next.d.ts +25 -0
  7. package/dist/adapters/next.d.ts.map +1 -0
  8. package/dist/adapters/next.js +51 -0
  9. package/dist/adapters/next.js.map +1 -0
  10. package/dist/client.d.ts +33 -0
  11. package/dist/client.d.ts.map +1 -0
  12. package/dist/client.js +123 -0
  13. package/dist/client.js.map +1 -0
  14. package/dist/examples/lumina.d.ts +9 -0
  15. package/dist/examples/lumina.d.ts.map +1 -0
  16. package/dist/examples/lumina.js +197 -0
  17. package/dist/examples/lumina.js.map +1 -0
  18. package/dist/http.d.ts +19 -0
  19. package/dist/http.d.ts.map +1 -0
  20. package/dist/http.js +523 -0
  21. package/dist/http.js.map +1 -0
  22. package/dist/index.d.ts +7 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +7 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/injection.d.ts +10 -0
  27. package/dist/injection.d.ts.map +1 -0
  28. package/dist/injection.js +174 -0
  29. package/dist/injection.js.map +1 -0
  30. package/dist/manager.d.ts +121 -0
  31. package/dist/manager.d.ts.map +1 -0
  32. package/dist/manager.js +1006 -0
  33. package/dist/manager.js.map +1 -0
  34. package/dist/plugin.d.ts +25 -0
  35. package/dist/plugin.d.ts.map +1 -0
  36. package/dist/plugin.js +209 -0
  37. package/dist/plugin.js.map +1 -0
  38. package/dist/react.d.ts +34 -0
  39. package/dist/react.d.ts.map +1 -0
  40. package/dist/react.js +88 -0
  41. package/dist/react.js.map +1 -0
  42. package/dist/types.d.ts +416 -0
  43. package/dist/types.d.ts.map +1 -0
  44. package/dist/types.js +2 -0
  45. package/dist/types.js.map +1 -0
  46. package/package.json +57 -0
@@ -0,0 +1,416 @@
1
+ export type Awaitable<T> = T | Promise<T>;
2
+ export type JsonPrimitive = string | number | boolean | null;
3
+ export type JsonValue = JsonPrimitive | JsonObject | JsonValue[];
4
+ export interface JsonObject {
5
+ [key: string]: JsonValue;
6
+ }
7
+ export type PluginConfig = Record<string, unknown>;
8
+ export type PluginCategory = "ai" | "analytics" | "automation" | "commerce" | "communication" | "content" | "crm" | "developer" | "marketing" | "payments" | "productivity" | "security" | "storage" | (string & {});
9
+ export type PluginFieldType = "boolean" | "color" | "date" | "email" | "file" | "json" | "multiselect" | "number" | "password" | "secret" | "select" | "switch" | "text" | "textarea" | "url";
10
+ export interface PluginFieldOption {
11
+ label: string;
12
+ value: string | number | boolean;
13
+ description?: string;
14
+ disabled?: boolean;
15
+ }
16
+ export interface PluginField<TConfig extends PluginConfig = PluginConfig> {
17
+ key: keyof TConfig & string;
18
+ label: string;
19
+ type: PluginFieldType;
20
+ description?: string;
21
+ placeholder?: string;
22
+ required?: boolean;
23
+ pattern?: string;
24
+ defaultValue?: unknown;
25
+ options?: PluginFieldOption[];
26
+ min?: number;
27
+ max?: number;
28
+ step?: number;
29
+ rows?: number;
30
+ secret?: boolean;
31
+ encrypt?: boolean;
32
+ readOnly?: boolean;
33
+ group?: string;
34
+ order?: number;
35
+ helpUrl?: string;
36
+ ui?: Record<string, unknown>;
37
+ validate?: (value: unknown, values: Partial<TConfig>) => Awaitable<string | boolean | null | undefined>;
38
+ }
39
+ export type SerializablePluginField<TConfig extends PluginConfig = PluginConfig> = Omit<PluginField<TConfig>, "validate">;
40
+ export type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "OPTIONS" | "HEAD";
41
+ export interface PluginRouteContext<TManager = unknown, TPlugin = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> {
42
+ request: Request;
43
+ url: URL;
44
+ method: HttpMethod;
45
+ params: Record<string, string>;
46
+ query: URLSearchParams;
47
+ body: unknown;
48
+ manager: TManager;
49
+ plugin: TPlugin;
50
+ installation: PluginInstallation | null;
51
+ config: PluginConfig;
52
+ locals: TLocals;
53
+ }
54
+ export interface PluginRouteResponse {
55
+ status?: number;
56
+ headers?: HeadersInit;
57
+ body?: unknown;
58
+ }
59
+ export type PluginRouteTemplateValue = string | number | boolean | null | undefined | PluginRouteTemplateObject | PluginRouteTemplateValue[];
60
+ export interface PluginRouteTemplateObject {
61
+ [key: string]: PluginRouteTemplateValue;
62
+ }
63
+ export interface PluginRouteStaticResponse {
64
+ status?: number;
65
+ headers?: Record<string, string>;
66
+ body?: PluginRouteTemplateValue;
67
+ contentType?: string;
68
+ }
69
+ export interface PluginRouteRedirect {
70
+ to: string;
71
+ status?: 301 | 302 | 303 | 307 | 308;
72
+ headers?: Record<string, string>;
73
+ }
74
+ export interface PluginRouteProxy {
75
+ url: string;
76
+ method?: HttpMethod | "inherit";
77
+ headers?: Record<string, string>;
78
+ query?: Record<string, PluginRouteTemplateValue>;
79
+ body?: PluginRouteTemplateValue;
80
+ forwardBody?: boolean;
81
+ forwardQuery?: boolean;
82
+ forwardHeaders?: string[];
83
+ appendWildcardPath?: boolean;
84
+ timeoutMs?: number;
85
+ }
86
+ export type PluginRouteHandler<TManager = unknown, TPlugin = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> = (context: PluginRouteContext<TManager, TPlugin, TLocals>) => Awaitable<Response | PluginRouteResponse | unknown>;
87
+ export interface PluginRouteDefinition<TManager = unknown, TPlugin = unknown, TLocals extends Record<string, unknown> = Record<string, unknown>> {
88
+ id?: string;
89
+ method: HttpMethod | "ANY";
90
+ path: string;
91
+ summary?: string;
92
+ description?: string;
93
+ tags?: string[];
94
+ auth?: "none" | "user" | "admin" | "system" | (string & {});
95
+ input?: Record<string, unknown>;
96
+ output?: Record<string, unknown>;
97
+ rateLimit?: {
98
+ windowMs: number;
99
+ max: number;
100
+ };
101
+ requiresInstallation?: boolean;
102
+ requiresEnabled?: boolean;
103
+ response?: PluginRouteStaticResponse;
104
+ redirect?: PluginRouteRedirect;
105
+ proxy?: PluginRouteProxy;
106
+ private?: boolean;
107
+ handler?: PluginRouteHandler<TManager, TPlugin, TLocals>;
108
+ }
109
+ export type PluginRouteManifest = Omit<PluginRouteDefinition, "handler">;
110
+ export type PluginComponentSlot = "admin-page" | "dashboard-card" | "field-addon" | "install-dialog" | "navigation-item" | "settings-panel" | "settings-row" | "sidebar-item" | "table-action" | "toolbar-action" | (string & {});
111
+ export type PluginComponentReference = {
112
+ type: "registry";
113
+ name: string;
114
+ exportName?: string;
115
+ } | {
116
+ type: "remote";
117
+ url: string;
118
+ module?: string;
119
+ exportName?: string;
120
+ integrity?: string;
121
+ } | {
122
+ type: "inline";
123
+ name: string;
124
+ render?: string;
125
+ };
126
+ export interface PluginFrontendComponent {
127
+ key: string;
128
+ slot: PluginComponentSlot;
129
+ component: PluginComponentReference;
130
+ label?: string;
131
+ description?: string;
132
+ props?: Record<string, unknown>;
133
+ order?: number;
134
+ permissions?: string[];
135
+ visibleWhen?: Record<string, unknown>;
136
+ }
137
+ export interface PluginNavigationItem {
138
+ key: string;
139
+ label: string;
140
+ href: string;
141
+ icon?: string;
142
+ badge?: string;
143
+ order?: number;
144
+ permissions?: string[];
145
+ }
146
+ export interface PluginFrontendManifest {
147
+ components?: PluginFrontendComponent[];
148
+ navigation?: PluginNavigationItem[];
149
+ registry?: Record<string, PluginComponentReference>;
150
+ }
151
+ export interface PluginMetaTag {
152
+ key?: string;
153
+ name?: string;
154
+ property?: string;
155
+ httpEquiv?: string;
156
+ content: string;
157
+ media?: string;
158
+ placement?: "head" | "body";
159
+ }
160
+ export type PluginInjectionType = "html" | "script" | "style" | "link" | "meta" | "noscript";
161
+ export type PluginInjectionPlacement = "head" | "head:start" | "head:end" | "body" | "body:start" | "body:end" | "footer" | "admin:head" | "admin:body" | "admin:footer" | "public:head" | "public:body" | "public:footer" | (string & {});
162
+ export type PluginInjectionArea = "admin" | "api" | "checkout" | "dashboard" | "editor" | "public" | (string & {});
163
+ export type PluginInjectionAttributeValue = string | number | boolean | null | undefined;
164
+ export interface PluginInjectionCondition {
165
+ area?: PluginInjectionArea | PluginInjectionArea[];
166
+ paths?: string[];
167
+ excludePaths?: string[];
168
+ tenantIds?: string[];
169
+ installedOnly?: boolean;
170
+ enabledOnly?: boolean;
171
+ config?: Record<string, unknown>;
172
+ permissions?: string[];
173
+ }
174
+ export interface PluginInjectionContext<TConfig extends PluginConfig = PluginConfig> {
175
+ plugin: unknown;
176
+ manager: unknown;
177
+ installation: PluginInstallation | null;
178
+ config: TConfig;
179
+ tenantId?: string;
180
+ request?: Request;
181
+ url?: URL;
182
+ path?: string;
183
+ area?: PluginInjectionArea;
184
+ placement?: PluginInjectionPlacement;
185
+ nonce?: string;
186
+ locals: Record<string, unknown>;
187
+ }
188
+ export interface PluginRenderedInjection {
189
+ html: string;
190
+ headers?: HeadersInit;
191
+ }
192
+ export interface PluginInjection<TConfig extends PluginConfig = PluginConfig> {
193
+ key: string;
194
+ type: PluginInjectionType;
195
+ placement: PluginInjectionPlacement;
196
+ label?: string;
197
+ description?: string;
198
+ order?: number;
199
+ enabled?: boolean;
200
+ src?: string;
201
+ content?: string;
202
+ attributes?: Record<string, PluginInjectionAttributeValue>;
203
+ integrity?: string;
204
+ crossOrigin?: string;
205
+ referrerPolicy?: string;
206
+ nonce?: string;
207
+ async?: boolean;
208
+ defer?: boolean;
209
+ module?: boolean;
210
+ preload?: boolean;
211
+ strategy?: "beforeInteractive" | "afterInteractive" | "lazyOnload" | "worker" | (string & {});
212
+ condition?: PluginInjectionCondition;
213
+ meta?: Record<string, unknown>;
214
+ render?: (context: PluginInjectionContext<TConfig>) => Awaitable<string | PluginRenderedInjection | null | false | undefined>;
215
+ }
216
+ export type SerializablePluginInjection<TConfig extends PluginConfig = PluginConfig> = Omit<PluginInjection<TConfig>, "render">;
217
+ export interface PluginInjectionQuery extends PluginScope {
218
+ placement?: PluginInjectionPlacement;
219
+ area?: PluginInjectionArea;
220
+ path?: string;
221
+ url?: string | URL;
222
+ request?: Request;
223
+ nonce?: string;
224
+ locals?: Record<string, unknown>;
225
+ installedOnly?: boolean;
226
+ enabledOnly?: boolean;
227
+ }
228
+ export interface ResolvedPluginInjection extends SerializablePluginInjection {
229
+ pluginId: string;
230
+ pluginName: string;
231
+ html: string;
232
+ }
233
+ export interface PluginHtmlInjectionOptions extends PluginInjectionQuery {
234
+ minify?: boolean;
235
+ }
236
+ export interface PluginPermission {
237
+ key: string;
238
+ label?: string;
239
+ description?: string;
240
+ default?: boolean;
241
+ }
242
+ export interface PluginEventDefinition {
243
+ key: string;
244
+ description?: string;
245
+ payload?: Record<string, unknown>;
246
+ }
247
+ export interface PluginWebhookDefinition {
248
+ key: string;
249
+ url?: string;
250
+ events: string[];
251
+ secretField?: string;
252
+ }
253
+ export interface PluginCompatibility {
254
+ node?: string;
255
+ bun?: string;
256
+ next?: string;
257
+ react?: string;
258
+ elysia?: string;
259
+ browsers?: string[];
260
+ frameworks?: Record<string, string>;
261
+ }
262
+ export interface PluginAsset {
263
+ key: string;
264
+ type: "image" | "script" | "style" | "font" | "other";
265
+ url: string;
266
+ integrity?: string;
267
+ preload?: boolean;
268
+ }
269
+ export interface PluginLifecycleContext<TConfig extends PluginConfig = PluginConfig> {
270
+ plugin: unknown;
271
+ manager: unknown;
272
+ installation: PluginInstallation;
273
+ config: TConfig;
274
+ }
275
+ export interface PluginLifecycleHooks<TConfig extends PluginConfig = PluginConfig> {
276
+ onInstall?: (context: PluginLifecycleContext<TConfig>) => Awaitable<void>;
277
+ onUpdate?: (context: PluginLifecycleContext<TConfig>) => Awaitable<void>;
278
+ onEnable?: (context: PluginLifecycleContext<TConfig>) => Awaitable<void>;
279
+ onDisable?: (context: PluginLifecycleContext<TConfig>) => Awaitable<void>;
280
+ onUninstall?: (context: PluginLifecycleContext<TConfig>) => Awaitable<void>;
281
+ }
282
+ export interface PluginDefinition<TConfig extends PluginConfig = PluginConfig> {
283
+ id: string;
284
+ name: string;
285
+ summary: string;
286
+ description?: string;
287
+ version?: string;
288
+ category: PluginCategory;
289
+ badge?: string;
290
+ provider: string;
291
+ iconUrl?: string;
292
+ docsUrl?: string;
293
+ websiteUrl?: string;
294
+ repositoryUrl?: string;
295
+ sidebarHref?: string;
296
+ tags?: string[];
297
+ scopes?: string[];
298
+ permissions?: PluginPermission[];
299
+ needEncryption?: boolean;
300
+ fields?: PluginField<TConfig>[];
301
+ routes?: PluginRouteDefinition[];
302
+ frontend?: PluginFrontendManifest;
303
+ additionalMetaTags?: PluginMetaTag[];
304
+ injections?: PluginInjection<TConfig>[];
305
+ assets?: PluginAsset[];
306
+ events?: {
307
+ emits?: PluginEventDefinition[];
308
+ listens?: PluginEventDefinition[];
309
+ };
310
+ webhooks?: PluginWebhookDefinition[];
311
+ compatibility?: PluginCompatibility;
312
+ pricing?: Record<string, unknown>;
313
+ support?: Record<string, unknown>;
314
+ meta?: Record<string, unknown>;
315
+ lifecycle?: PluginLifecycleHooks<TConfig>;
316
+ healthCheck?: (config: TConfig) => Awaitable<boolean | {
317
+ ok: boolean;
318
+ message?: string;
319
+ }>;
320
+ }
321
+ export interface PluginManifest<TConfig extends PluginConfig = PluginConfig> extends Omit<PluginDefinition<TConfig>, "fields" | "routes" | "injections" | "lifecycle" | "healthCheck"> {
322
+ fields: SerializablePluginField<TConfig>[];
323
+ routes: PluginRouteManifest[];
324
+ injections: SerializablePluginInjection<TConfig>[];
325
+ }
326
+ export type MarketplacePluginDefinition<TConfig extends PluginConfig = PluginConfig> = Omit<PluginDefinition<TConfig>, "provider" | "iconUrl"> & {
327
+ provider?: string;
328
+ iconUrl?: string;
329
+ };
330
+ export interface PluginScope {
331
+ tenantId?: string;
332
+ }
333
+ export interface PluginInstallation {
334
+ id: string;
335
+ pluginId: string;
336
+ tenantId?: string;
337
+ enabled: boolean;
338
+ config: PluginConfig;
339
+ version?: string;
340
+ meta?: Record<string, unknown>;
341
+ createdAt: string;
342
+ updatedAt: string;
343
+ }
344
+ export interface PluginInstallationSummary {
345
+ installed: boolean;
346
+ enabled: boolean;
347
+ pluginId: string;
348
+ tenantId?: string;
349
+ version?: string;
350
+ meta?: Record<string, unknown>;
351
+ createdAt?: string;
352
+ updatedAt?: string;
353
+ }
354
+ export interface PluginListItem<TConfig extends PluginConfig = PluginConfig> extends PluginManifest<TConfig> {
355
+ installation?: PluginInstallationSummary;
356
+ }
357
+ export interface PaginatedResult<T> {
358
+ data: T[];
359
+ page: number;
360
+ limit: number;
361
+ total: number;
362
+ hasNextPage: boolean;
363
+ }
364
+ export interface PluginListOptions extends PluginScope {
365
+ page?: number;
366
+ limit?: number;
367
+ query?: string;
368
+ category?: string;
369
+ provider?: string;
370
+ tags?: string[];
371
+ installed?: boolean;
372
+ enabled?: boolean;
373
+ }
374
+ export interface PluginInstallOptions extends PluginScope {
375
+ enabled?: boolean;
376
+ meta?: Record<string, unknown>;
377
+ }
378
+ export interface PluginConfigUpdateOptions extends PluginScope {
379
+ merge?: boolean;
380
+ meta?: Record<string, unknown>;
381
+ }
382
+ export interface PluginDatabase {
383
+ list?: (scope?: PluginScope) => Awaitable<PluginInstallation[]>;
384
+ load: (pluginId: string, scope?: PluginScope) => Awaitable<PluginInstallation | null>;
385
+ save: (installation: PluginInstallation) => Awaitable<PluginInstallation | void>;
386
+ update?: (pluginId: string, patch: Partial<PluginInstallation>, scope?: PluginScope) => Awaitable<PluginInstallation | void>;
387
+ delete?: (pluginId: string, scope?: PluginScope) => Awaitable<void>;
388
+ }
389
+ export interface PluginEncryptionContext {
390
+ pluginId: string;
391
+ fieldKey: string;
392
+ tenantId?: string;
393
+ }
394
+ export interface PluginEncryptionProvider {
395
+ encrypt: (value: string, context: PluginEncryptionContext) => Awaitable<string>;
396
+ decrypt: (value: string, context: PluginEncryptionContext) => Awaitable<string>;
397
+ }
398
+ export interface PluginValidationIssue {
399
+ field: string;
400
+ message: string;
401
+ code: "custom" | "invalid" | "max" | "min" | "pattern" | "required" | "type" | "unknown";
402
+ }
403
+ export interface PluginValidationResult {
404
+ ok: boolean;
405
+ issues: PluginValidationIssue[];
406
+ }
407
+ export interface MarketplaceManifest {
408
+ name?: string;
409
+ version?: string;
410
+ plugin?: MarketplacePluginDefinition;
411
+ plugins?: MarketplacePluginDefinition[];
412
+ marketplace?: {
413
+ plugins?: MarketplacePluginDefinition[];
414
+ };
415
+ }
416
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@voilabs/plugins",
3
+ "version": "0.0.1-beta.0",
4
+ "description": "Framework-agnostic plugin registry and runtime for Node.js, Next.js, Elysia and React apps.",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ },
14
+ "./http": {
15
+ "types": "./dist/http.d.ts",
16
+ "import": "./dist/http.js"
17
+ },
18
+ "./injection": {
19
+ "types": "./dist/injection.d.ts",
20
+ "import": "./dist/injection.js"
21
+ },
22
+ "./react": {
23
+ "types": "./dist/react.d.ts",
24
+ "import": "./dist/react.js"
25
+ },
26
+ "./adapters/elysia": {
27
+ "types": "./dist/adapters/elysia.d.ts",
28
+ "import": "./dist/adapters/elysia.js"
29
+ },
30
+ "./adapters/next": {
31
+ "types": "./dist/adapters/next.d.ts",
32
+ "import": "./dist/adapters/next.js"
33
+ },
34
+ "./examples/lumina": {
35
+ "types": "./dist/examples/lumina.d.ts",
36
+ "import": "./dist/examples/lumina.js"
37
+ }
38
+ },
39
+ "files": [
40
+ "dist",
41
+ "README.md"
42
+ ],
43
+ "sideEffects": false,
44
+ "scripts": {
45
+ "typecheck": "tsc --noEmit",
46
+ "build": "tsc -p tsconfig.build.json",
47
+ "dev": "bun run src/index.ts --watch"
48
+ },
49
+ "publishConfig": {
50
+ "access": "public"
51
+ },
52
+ "devDependencies": {
53
+ "@types/bun": "latest",
54
+ "typescript": "^5"
55
+ },
56
+ "peerDependencies": {}
57
+ }