bun_plugins 1.2.1 → 1.2.4

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.
@@ -5,4 +5,5 @@
5
5
  export type { PluginTypeInfo, ArkTypeSchemaInfo, PropertyInfo, MethodParamInfo, GeneratorOptions } from "./interfaces";
6
6
  export { ArkTypeConverter } from "./arktype_converter";
7
7
  export { PluginTypeGenerator, generatePluginTypes } from "./plugin_generator";
8
+ export type { BasePluginApi, PluginNames, PluginApiType, PluginClassType, GetPluginApi, GetPluginClass, IsValidPlugin, PluginFromFactory, PluginInstanceType, PluginFactory } from "./plugin-registry-base";
8
9
  //# sourceMappingURL=generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/types/generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/types/generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAG9E,YAAY,EACV,aAAa,EACb,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACd,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Base types for plugin registry that can be extended by users using declaration merging.
3
+ * This solves the issue where published libraries can't know about user's plugins.
4
+ */
5
+ import type { IPlugin } from "../types";
6
+ /**
7
+ * Base API interface that all plugins extend.
8
+ * Users can extend this interface with their own plugin APIs.
9
+ */
10
+ export interface BasePluginApi {
11
+ name: string;
12
+ version: string;
13
+ actions?: string[];
14
+ type?: string;
15
+ loaded?: string;
16
+ }
17
+ /**
18
+ * Plugin factory map - users can extend this with their own plugins.
19
+ *
20
+ * This interface is extended by:
21
+ * 1. The generator (adds built-in plugins from the library)
22
+ * 2. Users (adds their custom plugins via declaration merging)
23
+ *
24
+ * Example of how users extend this:
25
+ * ```typescript
26
+ * declare module "bun_plugins" {
27
+ * export interface PluginFactory {
28
+ * "my-custom-plugin": {
29
+ * name: "my-custom-plugin";
30
+ * version: "1.0.0";
31
+ * class: MyCustomPlugin;
32
+ * api: MyCustomPluginApi;
33
+ * };
34
+ * }
35
+ * }
36
+ * ```
37
+ */
38
+ export interface PluginFactory {
39
+ }
40
+ /**
41
+ * Union type of all plugin names.
42
+ * This is dynamically computed from PluginFactory keys.
43
+ * For development, we allow any string to be used as plugin name.
44
+ */
45
+ export type PluginNames = keyof PluginFactory | string;
46
+ /**
47
+ * Get the API type for a specific plugin.
48
+ * Falls back to BasePluginApi if the plugin is not found.
49
+ */
50
+ export type PluginApiType<T extends string> = T extends keyof PluginFactory ? PluginFactory[T]["api"] : BasePluginApi;
51
+ /**
52
+ * Get the class type for a specific plugin.
53
+ * Falls back to IPlugin if the plugin is not found.
54
+ */
55
+ export type PluginClassType<T extends string> = T extends keyof PluginFactory ? PluginFactory[T]["class"] : IPlugin;
56
+ /**
57
+ * Get the API type for a specific plugin.
58
+ */
59
+ export type GetPluginApi<T extends string> = PluginApiType<T>;
60
+ /**
61
+ * Get the class type for a specific plugin.
62
+ */
63
+ export type GetPluginClass<T extends string> = PluginClassType<T>;
64
+ /**
65
+ * Helper to check if a plugin name is valid.
66
+ * Returns true if the plugin is in PluginFactory.
67
+ */
68
+ export type IsValidPlugin<T extends string> = T extends PluginNames ? true : false;
69
+ /**
70
+ * Type-safe plugin retrieval from the factory.
71
+ * Returns the plugin info if found, undefined otherwise.
72
+ */
73
+ export type PluginFromFactory<T extends PluginNames> = T extends keyof PluginFactory ? PluginFactory[T] : undefined;
74
+ /**
75
+ * Plugin instance type - combines class and API types.
76
+ */
77
+ export type PluginInstanceType<T extends string> = T extends keyof PluginFactory ? PluginFactory[T]["class"] : IPlugin;
78
+ //# sourceMappingURL=plugin-registry-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-registry-base.d.ts","sourceRoot":"","sources":["../../../src/types/plugin-registry-base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,aAAa;CAG7B;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,aAAa,GAAG,MAAM,CAAC;AAEvD;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IACxC,CAAC,SAAS,MAAM,aAAa,GACzB,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GACvB,aAAa,CAAC;AAEpB;;;GAGG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,IAC1C,CAAC,SAAS,MAAM,aAAa,GACzB,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GACzB,OAAO,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;AAElE;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,WAAW,GAAG,IAAI,GAAG,KAAK,CAAC;AAEnF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,WAAW,IACjD,CAAC,SAAS,MAAM,aAAa,GACzB,aAAa,CAAC,CAAC,CAAC,GAChB,SAAS,CAAC;AAEhB;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAC7C,CAAC,SAAS,MAAM,aAAa,GACzB,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GACzB,OAAO,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Base types for plugin registry that can be extended by users using declaration merging.
3
+ * This solves the issue where published libraries can't know about user's plugins.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=plugin-registry-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-registry-base.js","sourceRoot":"","sources":["../../../src/types/plugin-registry-base.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -1,21 +1,2 @@
1
- import type { IPlugin } from "../types";
2
- /**
3
- * Plugin name type - union of all discovered plugin names
4
- */
5
- export type PluginNames = string;
6
- /**
7
- * Get the instance type for a plugin by name
8
- */
9
- export type PluginInstanceType<T extends PluginNames> = T extends T ? IPlugin : IPlugin;
10
- /**
11
- * Plugin factory map type - maps plugin names to their instance types
12
- */
13
- export interface PluginFactoryMap {
14
- [key: string]: {
15
- name: string;
16
- version: string;
17
- instance: IPlugin;
18
- api: unknown;
19
- };
20
- }
1
+ export type { PluginNames, PluginApiType, PluginClassType, GetPluginApi, GetPluginClass, IsValidPlugin, PluginFromFactory, PluginInstanceType, PluginFactory } from "./plugin-registry-base";
21
2
  //# sourceMappingURL=plugin-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../../../src/types/plugin-registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,GAAG,EAAE,OAAO,CAAC;KACd,CAAC;CACH"}
1
+ {"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../../../src/types/plugin-registry.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACd,MAAM,wBAAwB,CAAC"}
@@ -1,4 +1,4 @@
1
- // Re-export types from generated plugin registry
1
+ // Re-export types from the base plugin registry
2
2
  // This file bridges the generated types with the plugin system
3
3
  export {};
4
4
  //# sourceMappingURL=plugin-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../../../src/types/plugin-registry.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,+DAA+D"}
1
+ {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../../../src/types/plugin-registry.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,+DAA+D"}
@@ -26,6 +26,12 @@ export declare class PluginTypeGenerator {
26
26
  * Generate a type string for public methods of a plugin class.
27
27
  */
28
28
  private generatePublicMethodsType;
29
+ /**
30
+ * Generate an inline type definition for a plugin's API.
31
+ * If the plugin has an API interface defined, it extracts the interface definition.
32
+ * Otherwise, it generates the type from public methods.
33
+ */
34
+ private generateInlineApiType;
29
35
  private findTypeProperties;
30
36
  private mapTypeName;
31
37
  private inferTypeFromInitializer;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin_generator.d.ts","sourceRoot":"","sources":["../../../src/types/plugin_generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGtG;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAqB;gBAEhC,OAAO,EAAE,gBAAgB;IAOrC,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,iBAAiB;IAWnB,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAsBhC,aAAa;IA+B3B;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,YAAY,EAAE;IA6CjE,OAAO,CAAC,iBAAiB;IAmCzB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,iBAAiB;IAyCzB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAiBjC,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,qBAAqB;IAkG7B,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,WAAW;IAYnB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,gBAAgB,GAAE,MAAwB,GAAG,MAAM;IAwHnG,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,gBAAgB,GAAE,MAAwB,GAAG,MAAM;IA+B9F,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAqBrC,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;WAIhC,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;CA4C7F;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,GAAE,MAAuC,EACnD,SAAS,GAAE,MAA4C,EACvD,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,cAAc,EAAE,CAAC,CAG3B"}
1
+ {"version":3,"file":"plugin_generator.d.ts","sourceRoot":"","sources":["../../../src/types/plugin_generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGtG;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAqB;gBAEhC,OAAO,EAAE,gBAAgB;IAOrC,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,iBAAiB;IAWnB,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAsBhC,aAAa;IA+B3B;;OAEG;IACH,sBAAsB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,YAAY,EAAE;IA6CjE,OAAO,CAAC,iBAAiB;IAoCzB,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,iBAAiB;IAyCzB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAiBjC;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAuB7B,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,qBAAqB;IA4J7B,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,WAAW;IAYnB;;;;;;;;OAQG;IACH,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,gBAAgB,GAAE,MAAwB,GAAG,MAAM;IAqFnG,qBAAqB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,gBAAgB,GAAE,MAAwB,GAAG,MAAM;IA0B9F,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAqBrC,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;WAIhC,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;CA4C7F;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,GAAE,MAAuC,EACnD,SAAS,GAAE,MAA4C,EACvD,WAAW,GAAE,MAAsB,GAClC,OAAO,CAAC,cAAc,EAAE,CAAC,CAG3B"}
@@ -1,5 +1,5 @@
1
1
  import { readdir, readFile, writeFile, mkdir } from "node:fs/promises";
2
- import { join, relative, extname } from "node:path";
2
+ import { join, extname } from "node:path";
3
3
  import ts from "typescript";
4
4
  import { ArkTypeConverter } from "./arktype_converter";
5
5
  /**
@@ -135,7 +135,8 @@ export class PluginTypeGenerator {
135
135
  if (name.startsWith("_") || name.startsWith("#")) {
136
136
  return null;
137
137
  }
138
- const lifecycleMethods = ["onLoad", "onUnload", "onEnable", "onDisable", "onReload"];
138
+ // Filter out lifecycle methods and getApi (internal plugin methods)
139
+ const lifecycleMethods = ["onLoad", "onUnload", "onEnable", "onDisable", "onReload", "getApi"];
139
140
  if (lifecycleMethods.includes(name)) {
140
141
  return null;
141
142
  }
@@ -250,6 +251,31 @@ export class PluginTypeGenerator {
250
251
  }
251
252
  return p.className;
252
253
  }
254
+ /**
255
+ * Generate an inline type definition for a plugin's API.
256
+ * If the plugin has an API interface defined, it extracts the interface definition.
257
+ * Otherwise, it generates the type from public methods.
258
+ */
259
+ generateInlineApiType(p, fallbackType) {
260
+ // If the plugin has an API interface, try to extract its definition
261
+ if (p.apiInterface && p.arkTypeSchema) {
262
+ const props = p.arkTypeSchema.properties
263
+ .filter(prop => !prop.name.startsWith("_") && !prop.name.startsWith("#"))
264
+ .map(prop => {
265
+ if (prop.isMethod) {
266
+ const params = prop.params?.map(param => `${param.name}: ${param.type}`).join(", ") || "";
267
+ return ` ${prop.name}(${params}): ${prop.type};`;
268
+ }
269
+ return ` ${prop.name}${prop.isOptional ? "?" : ""}: ${prop.type};`;
270
+ })
271
+ .join("\n");
272
+ if (props) {
273
+ return `{\n${props}\n }`;
274
+ }
275
+ }
276
+ // Fallback: use the provided type (either interface name or public methods)
277
+ return fallbackType;
278
+ }
253
279
  findTypeProperties(typeName, sourceFile) {
254
280
  const properties = [];
255
281
  const visit = (node) => {
@@ -344,7 +370,56 @@ export class PluginTypeGenerator {
344
370
  let apiInterface;
345
371
  let dependencies;
346
372
  let arkTypeSchema;
373
+ // Store interface definitions for later lookup
374
+ const interfaceDefinitions = new Map();
375
+ const self = this;
347
376
  function visit(node) {
377
+ // Extract interface definitions
378
+ if (ts.isInterfaceDeclaration(node)) {
379
+ const interfaceName = node.name.text;
380
+ const properties = [];
381
+ node.members.forEach(member => {
382
+ if (ts.isPropertySignature(member) && member.name && ts.isIdentifier(member.name)) {
383
+ const propName = member.name.text;
384
+ if (!propName.startsWith("_") && !propName.startsWith("#")) {
385
+ const propInfo = {
386
+ name: propName,
387
+ type: member.type ? member.type.getText(sourceFile) : "any",
388
+ isOptional: member.questionToken !== undefined,
389
+ isArray: member.type ? self.isArrayType(member.type, sourceFile) : false
390
+ };
391
+ properties.push(propInfo);
392
+ }
393
+ }
394
+ else if (ts.isMethodSignature(member) && member.name && ts.isIdentifier(member.name)) {
395
+ const methodName = member.name.getText(sourceFile);
396
+ if (!methodName.startsWith("_") && !methodName.startsWith("#")) {
397
+ const params = [];
398
+ member.parameters.forEach(param => {
399
+ if (ts.isIdentifier(param.name)) {
400
+ params.push({
401
+ name: param.name.text,
402
+ type: param.type ? param.type.getText(sourceFile) : "any",
403
+ isOptional: param.questionToken !== undefined
404
+ });
405
+ }
406
+ });
407
+ const returnType = member.type ? member.type.getText(sourceFile) : "void";
408
+ properties.push({
409
+ name: methodName,
410
+ type: returnType,
411
+ isOptional: false,
412
+ isArray: false,
413
+ isMethod: true,
414
+ params
415
+ });
416
+ }
417
+ }
418
+ });
419
+ if (properties.length > 0) {
420
+ interfaceDefinitions.set(interfaceName, properties);
421
+ }
422
+ }
348
423
  if (ts.isClassDeclaration(node)) {
349
424
  if (node.name) {
350
425
  className = node.name.text;
@@ -388,18 +463,24 @@ export class PluginTypeGenerator {
388
463
  const match = returnType.match(/:\s*(\w+Api)/);
389
464
  if (match) {
390
465
  apiInterface = match[1];
466
+ // If we found an API interface, use its properties for the schema
467
+ if (apiInterface) {
468
+ const apiProperties = interfaceDefinitions.get(apiInterface);
469
+ if (apiProperties) {
470
+ arkTypeSchema = {
471
+ schemaName: apiInterface + "Schema",
472
+ schemaDefinition: ArkTypeConverter.classToArkType(apiInterface, apiProperties),
473
+ typeDefinition: "",
474
+ properties: apiProperties
475
+ };
476
+ }
477
+ }
391
478
  }
392
479
  }
393
480
  }
394
481
  ts.forEachChild(node, visit);
395
482
  }
396
483
  ts.forEachChild(sourceFile, visit);
397
- if (!className) {
398
- const exportDefaultMatch = source.match(/export\s+default\s+definePlugin\s*\(/);
399
- if (exportDefaultMatch) {
400
- className = "DefaultPlugin";
401
- }
402
- }
403
484
  const fileName = filePath.split(/[/\\]/).pop()?.replace(/\.(ts|js)$/, "") || "";
404
485
  const name = pluginName || fileName.toLowerCase().replace(/plugin$/i, "");
405
486
  if (!name)
@@ -456,135 +537,97 @@ export class PluginTypeGenerator {
456
537
  * - Shared API methods if getApi is defined
457
538
  */
458
539
  generateDeclarations(plugins, baseApiInterface = "BasePluginApi") {
540
+ // Note: We don't import plugin classes here because they are not distributed with the package
541
+ // The class names are used only for type information
459
542
  // Dynamic plugin factory map - each plugin is indexed by name
460
543
  const pluginFactoryEntries = plugins.map(p => {
461
544
  // Generate public methods type from the class
462
545
  const publicMethodsType = this.generatePublicMethodsType(p);
463
546
  // Use the shared API interface if available, otherwise use the public methods
464
547
  const apiType = p.apiInterface ? p.apiInterface : publicMethodsType;
548
+ // Generate inline type definition for the API
549
+ // This ensures that the API type is fully defined without external dependencies
550
+ const inlineApiType = this.generateInlineApiType(p, apiType);
551
+ // Fix relative imports for distributed types
552
+ const sanitizedApiType = inlineApiType
553
+ .replace(/PluginContext/g, 'any')
554
+ .replace(/EngineActionHandler/g, 'any')
555
+ .replace(/ActionRegistry/g, 'any')
556
+ .replace(/import\("\.\.\/\.\.\/src"\)\./g, 'import("bun_plugins/src").')
557
+ .replace(/import\("\.\.\/src"\)\./g, 'import("bun_plugins/src").');
465
558
  return ` "${p.name}": {
466
559
  name: "${p.name}";
467
560
  version: "${p.version}";
468
561
  class: ${p.className};
469
- api: ${apiType};
562
+ api: ${sanitizedApiType};
470
563
  dependencies?: ${p.dependencies ? `Record<${JSON.stringify(Object.keys(p.dependencies))}, string>` : "undefined"};
471
564
  }`;
472
565
  }).join(",\n");
473
- // Dynamic type lookup using the factory map
474
- const typeLookups = plugins.map(p => {
475
- const apiType = p.apiInterface || baseApiInterface;
476
- return ` T extends "${p.name}" ? ${apiType} :`;
477
- }).join("\n");
478
- // Dynamic class lookups
479
- const classLookups = plugins.map(p => {
480
- return ` T extends "${p.name}" ? ${p.className} :`;
481
- }).join("\n");
482
- // Plugin names as tuple for autocomplete
483
- const pluginNamesTuple = plugins.map(p => `"${p.name}"`).join(" | ");
484
- return `import type { IPlugin } from "${this.packageName}/types";
485
-
486
- // Plugin namespace for type-safe plugin access
487
- export namespace bun_plugins {
488
- export interface ${baseApiInterface} {
489
- name: string;
490
- version: string;
491
- actions?: string[];
492
- type?: string;
493
- loaded?: string;
494
- }
566
+ return `import type { PluginFactory as BasePluginFactory, BasePluginApi } from "${this.packageName}/src/types/plugin-registry-base";
495
567
 
496
- /**
497
- * Dynamic plugin factory map - all plugins are indexed here.
498
- * This replaces the static KnownPluginNames type.
499
- */
500
- export interface PluginFactory {
568
+ /**
569
+ * Extend the PluginFactory interface with discovered plugins.
570
+ * Users can also extend this interface with their own plugins using declaration merging.
571
+ *
572
+ * Example:
573
+ * \`\`\`typescript
574
+ * declare module "bun_plugins" {
575
+ * export interface PluginFactory {
576
+ * "my-plugin": {
577
+ * name: "my-plugin";
578
+ * version: "1.0.0";
579
+ * class: MyPlugin;
580
+ * api: MyPluginApi;
581
+ * };
582
+ * }
583
+ * }
584
+ * \`\`\`
585
+ */
586
+ export interface PluginFactory extends BasePluginFactory {
501
587
  ${pluginFactoryEntries}
502
- }
503
-
504
- /**
505
- * Registry that aggregates all plugin types for global availability.
506
- * This enables autocomplete without explicit imports.
507
- */
508
- export interface PluginTypeRegistry {
509
- /** All discovered plugin names */
510
- PluginNames: PluginNames;
511
- /** Get API type for a plugin */
512
- GetPluginApi: GetPluginApi;
513
- /** Get class type for a plugin */
514
- GetPluginClass: GetPluginClass;
515
- /** Type-safe plugin factory */
516
- PluginFactory: PluginFactory;
517
- /** Check if a plugin name is valid */
518
- IsValidPlugin: IsValidPlugin;
519
- }
520
-
521
- /**
522
- * Union type of all plugin names for autocomplete.
523
- * Generated dynamically from discovered plugins.
524
- */
525
- export type PluginNames = ${pluginNamesTuple};
526
-
527
- /**
528
- * Type lookup using the factory map for autocomplete.
529
- */
530
- export type PluginApiType<T extends PluginNames> =
531
- T extends keyof PluginFactory ? PluginFactory[T]["api"] : ${baseApiInterface};
532
-
533
- /**
534
- * Class type lookup using the factory map.
535
- */
536
- export type PluginClassType<T extends PluginNames> =
537
- T extends keyof PluginFactory ? PluginFactory[T]["class"] : IPlugin;
538
-
539
- /**
540
- * Get the API type for a specific plugin.
541
- */
542
- export type GetPluginApi<T extends PluginNames> = PluginApiType<T>;
588
+ }
543
589
 
544
- /**
545
- * Get the class type for a specific plugin.
546
- */
547
- export type GetPluginClass<T extends PluginNames> = PluginClassType<T>;
590
+ /**
591
+ * Re-export base types for convenience.
592
+ * These types support dynamic plugin discovery and user extension.
593
+ */
594
+ export type {
595
+ PluginClassType,
596
+ GetPluginApi,
597
+ GetPluginClass,
598
+ IsValidPlugin,
599
+ PluginFromFactory,
600
+ PluginInstanceType
601
+ } from "${this.packageName}/src/types/plugin-registry-base";
548
602
 
549
- /**
550
- * Helper to check if a plugin name is valid.
551
- */
552
- export type IsValidPlugin<T extends string> = T extends PluginNames ? true : false;
603
+ // Re-export BasePluginApi (already imported at the top)
604
+ export type { BasePluginApi };
553
605
 
554
- /**
555
- * Type-safe plugin retrieval from the factory.
556
- */
557
- export type PluginFromFactory<T extends PluginNames> = PluginFactory[T];
558
- }
606
+ // Define PluginNames directly from the extended PluginFactory
607
+ // For development, we allow any string to be used as plugin name
608
+ export type PluginNames = keyof PluginFactory | string;
559
609
 
560
- // Export types outside namespace for easier import
561
- export type PluginNames = bun_plugins.PluginNames;
562
- export type PluginApiType<T extends bun_plugins.PluginNames> = bun_plugins.PluginApiType<T>;
563
- export type PluginClassType<T extends bun_plugins.PluginNames> = bun_plugins.PluginClassType<T>;
564
- export type GetPluginApi<T extends bun_plugins.PluginNames> = bun_plugins.GetPluginApi<T>;
565
- export type GetPluginClass<T extends bun_plugins.PluginNames> = bun_plugins.GetPluginClass<T>;
566
- export type IsValidPlugin<T extends string> = bun_plugins.IsValidPlugin<T>;
567
- export type PluginFromFactory<T extends bun_plugins.PluginNames> = bun_plugins.PluginFromFactory<T>;
568
- export type PluginFactory = bun_plugins.PluginFactory;
610
+ // Define PluginApiType directly from the extended PluginFactory
611
+ export type PluginApiType<T extends string> =
612
+ T extends keyof PluginFactory
613
+ ? PluginFactory[T]["api"]
614
+ : BasePluginApi;
569
615
  `;
570
616
  }
571
617
  generateModuleExports(plugins, baseApiInterface = "BasePluginApi") {
572
- const pluginExports = plugins.map(p => {
573
- const relPath = relative(this.outputDir, p.filePath);
574
- return `export { ${p.className} } from "./${relPath.replace(/\\/g, '/').replace(/\.(ts|js)$/, "")}";`;
575
- }).join("\n");
576
- return `import type { IPlugin } from "${this.packageName}/types";
618
+ // Note: We don't export plugin classes here because they are not distributed with the package
619
+ return `
577
620
 
578
- export type {
579
- PluginNames,
580
- PluginApiType,
581
- PluginClassType,
582
- GetPluginApi,
621
+ export type {
622
+ PluginNames,
623
+ PluginApiType,
624
+ PluginClassType,
625
+ GetPluginApi,
583
626
  GetPluginClass,
584
627
  IsValidPlugin,
585
628
  PluginFromFactory,
586
629
  PluginFactory
587
- } from "./plugin-registry";
630
+ } from "${this.packageName}/plugin-types/plugin-registry";
588
631
 
589
632
  export interface ${baseApiInterface} {
590
633
  name: string;
@@ -593,8 +636,6 @@ export interface ${baseApiInterface} {
593
636
  type?: string;
594
637
  loaded?: string;
595
638
  }
596
-
597
- ${pluginExports}
598
639
  `;
599
640
  }
600
641
  async generate() {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin_generator.js","sourceRoot":"","sources":["../../../src/types/plugin_generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin_generator.js","sourceRoot":"","sources":["../../../src/types/plugin_generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,IAAI,EAAY,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACtB,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,WAAW,CAAS;IACpB,eAAe,CAAqB;IAE5C,YAAY,OAAyB;QACnC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,aAAa,CAAC;QACxD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACnD,CAAC;IAEO,kBAAkB;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;QAExD,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAClC,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAC/C,UAAU,CAAC,MAAM,EACjB,EAAE,CAAC,GAAG,EACN,OAAO,CAAC,GAAG,EAAE,CACd,CAAC;YACF,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;YAC9B,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM;YAC5B,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI;SACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAqB,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QAEtC,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAClD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAEvD,IAAI,UAAU,IAAI,UAAU,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBACjF,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,4BAA4B,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAW;QACrC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAE5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;wBAC7B,KAAK,CAAC,IAAI,KAAK,MAAM;wBACrB,KAAK,CAAC,IAAI,KAAK,OAAO;wBACtB,KAAK,CAAC,IAAI,KAAK,MAAM;wBACrB,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBAChC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChC,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;wBACnC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,qCAAqC,GAAG,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,UAAyB;QAC9C,MAAM,UAAU,GAAmB,EAAE,CAAC;QAEtC,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,EAAE;YAC9B,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC5B,IAAI,EAAE,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBACpF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;wBAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;wBAC9D,IAAI,QAAQ,EAAE,CAAC;4BACb,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC5B,CAAC;oBACH,CAAC;oBAED,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBAClF,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;wBAC9D,IAAI,UAAU,EAAE,CAAC;4BACf,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBAC9B,CAAC;oBACH,CAAC;oBAED,IAAI,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC;wBACxC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;4BAChC,IAAI,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gCAC9C,MAAM,QAAQ,GAAiB;oCAC7B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;oCACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;oCACpC,UAAU,EAAE,KAAK,CAAC,aAAa,KAAK,SAAS;oCAC7C,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC;oCACjD,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC;iCAC3D,CAAC;gCACF,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BAC5B,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,iBAAiB,CAAC,IAA0B,EAAE,UAAyB;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC/F,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAA0D,EAAE,CAAC;QACzE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC9B,IAAI,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;oBACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;oBACzD,UAAU,EAAE,KAAK,CAAC,aAAa,KAAK,SAAS;iBAC9C,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAEtE,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,UAAU;YAChB,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,IAAI;YACd,MAAM;SACP,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,IAA4B,EAAE,UAAyB;QACjF,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAE5B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC;QACpF,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,UAAyC,CAAC;QAE9C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACrC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAClD,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACrE,CAAC;QAED,OAAO;YACL,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YAC5B,UAAU;YACV,OAAO;YACP,UAAU;SACX,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,QAAqB,EAAE,UAAyB;QAClE,IAAI,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,QAAqB,EAAE,UAAyB;QACxE,IAAI,EAAE,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAEvE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,OAAO;oBACL,UAAU,EAAE,QAAQ;oBACpB,gBAAgB,EAAE,EAAE;oBACpB,cAAc,EAAE,EAAE;oBAClB,UAAU,EAAE,gBAAgB;iBAC7B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,UAAU,GAAmB,EAAE,CAAC;YAEtC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAChC,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClF,MAAM,QAAQ,GAAiB;wBAC7B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;wBACtB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;wBAC3D,UAAU,EAAE,MAAM,CAAC,aAAa,KAAK,SAAS;wBAC9C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;qBACzE,CAAC;oBACF,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,UAAU,EAAE,YAAY;gBACxB,gBAAgB,EAAE,EAAE;gBACpB,cAAc,EAAE,EAAE;gBAClB,UAAU;aACX,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,CAAiB;QACjD,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,UAAU;iBACrC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBACxE,GAAG,CAAC,IAAI,CAAC,EAAE;gBACV,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC1F,OAAO,OAAO,IAAI,CAAC,IAAI,IAAI,MAAM,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC;gBACtD,CAAC;gBACD,OAAO,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC;YACxE,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,OAAO,MAAM,KAAK,OAAO,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,CAAC,SAAS,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,CAAiB,EAAE,YAAoB;QACnE,oEAAoE;QACpE,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa,CAAC,UAAU;iBACrC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;iBACxE,GAAG,CAAC,IAAI,CAAC,EAAE;gBACV,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC1F,OAAO,OAAO,IAAI,CAAC,IAAI,IAAI,MAAM,MAAM,IAAI,CAAC,IAAI,GAAG,CAAC;gBACtD,CAAC;gBACD,OAAO,OAAO,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC;YACxE,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,MAAM,KAAK,OAAO,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,kBAAkB,CAAC,QAAgB,EAAE,UAAyB;QACpE,MAAM,UAAU,GAAmB,EAAE,CAAC;QAEtC,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,EAAE;YAC9B,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC5B,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBAClF,MAAM,QAAQ,GAAiB;4BAC7B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;4BACtB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;4BAC7E,UAAU,EAAE,MAAM,CAAC,aAAa,KAAK,SAAS;4BAC9C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;yBACzE,CAAC;wBACF,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnE,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;wBACjC,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;4BAClF,MAAM,QAAQ,GAAiB;gCAC7B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;gCACtB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC7E,UAAU,EAAE,MAAM,CAAC,aAAa,KAAK,SAAS;gCAC9C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;6BACzE,CAAC;4BACF,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC5B,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,MAAM,OAAO,GAA2B;YACtC,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,SAAS;YACpB,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,QAAQ;SACnB,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;QACnE,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;IACvC,CAAC;IAEO,wBAAwB,CAAC,WAA0B,EAAE,UAAyB;QACpF,IAAI,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,IAAI,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACjE,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,mBAAmB,CAAC,IAAa,EAAE,UAAyB;QAClE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAErD,IAAI,MAAM,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACjF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,cAAc;QACpB,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,+BAA+B,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAC/G,OAAO,OAAO,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC;IAEO,qBAAqB,CAAC,QAAgB,EAAE,MAAc;QAC5D,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,QAAQ,EACR,MAAM,EACN,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;QAEF,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,aAAa,GAAG,OAAO,CAAC;QAC5B,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,YAAgC,CAAC;QACrC,IAAI,YAAgD,CAAC;QACrD,IAAI,aAA4C,CAAC;QAEjD,+CAA+C;QAC/C,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA0B,CAAC;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,SAAS,KAAK,CAAC,IAAa;YAC1B,gCAAgC;YAChC,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrC,MAAM,UAAU,GAAmB,EAAE,CAAC;gBAEtC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;oBAC5B,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;wBAClC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC3D,MAAM,QAAQ,GAAiB;gCAC3B,IAAI,EAAE,QAAQ;gCACd,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;gCAC3D,UAAU,EAAE,MAAM,CAAC,aAAa,KAAK,SAAS;gCAC9C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;6BACzE,CAAC;4BACJ,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAC5B,CAAC;oBACH,CAAC;yBAAM,IAAI,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBACvF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;wBACnD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC/D,MAAM,MAAM,GAA0D,EAAE,CAAC;4BACzE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gCAChC,IAAI,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oCAChC,MAAM,CAAC,IAAI,CAAC;wCACV,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;wCACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK;wCACzD,UAAU,EAAE,KAAK,CAAC,aAAa,KAAK,SAAS;qCAC9C,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC,CAAC,CAAC;4BAEH,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;4BAC1E,UAAU,CAAC,IAAI,CAAC;gCACd,IAAI,EAAE,UAAU;gCAChB,IAAI,EAAE,UAAU;gCAChB,UAAU,EAAE,KAAK;gCACjB,OAAO,EAAE,KAAK;gCACd,QAAQ,EAAE,IAAI;gCACd,MAAM;6BACP,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,oBAAoB,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBAE3B,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC;wBACxC,UAAU,EAAE,EAAE;wBACd,SAAS,EAAE,EAAE;qBACd,CAAC,CAAC;oBACH,MAAM,UAAU,GAAG,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;oBAEhE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1B,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;wBACxC,aAAa,GAAG;4BACd,UAAU;4BACV,gBAAgB,EAAE,gBAAgB,CAAC,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC;4BACxE,cAAc,EAAE,EAAE;4BAClB,UAAU;yBACX,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAE3C,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACxC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACzE,CAAC;gBAED,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC3C,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC5E,CAAC;gBAED,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBAChD,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;wBACtD,YAAY,GAAG,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;oBACvC,CAAC;oBAAC,MAAM,CAAC;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC3C,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACnC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;oBACjD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAC/C,IAAI,KAAK,EAAE,CAAC;wBACV,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBACxB,kEAAkE;wBAClE,IAAI,YAAY,EAAE,CAAC;4BACjB,MAAM,aAAa,GAAG,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;4BAC7D,IAAI,aAAa,EAAE,CAAC;gCAClB,aAAa,GAAG;oCACd,UAAU,EAAE,YAAY,GAAG,QAAQ;oCACnC,gBAAgB,EAAE,gBAAgB,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC;oCAC9E,cAAc,EAAE,EAAE;oCAClB,UAAU,EAAE,aAAa;iCAC1B,CAAC;4BACJ,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAChF,MAAM,IAAI,GAAG,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAE1E,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,OAAO;YACL,IAAI;YACJ,OAAO,EAAE,aAAa;YACtB,SAAS;YACT,QAAQ;YACR,YAAY,EAAE,IAAI;YAClB,YAAY;YACZ,YAAY;YACZ,aAAa;SACd,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,QAAgB,EAAE,MAAc;QAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QAEhF,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC;QAE9C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC;YAClD,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAE9E,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;QAE7C,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,OAAO;YACL,IAAI;YACJ,OAAO;YACP,SAAS;YACT,QAAQ;YACR,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,SAAS;SAC3D,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,QAAgB,EAAE,OAAe;QACnD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,oBAAoB,CAAC,OAAyB,EAAE,mBAA2B,eAAe;QACxF,8FAA8F;QAC9F,qDAAqD;QAErD,8DAA8D;QAC9D,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC3C,8CAA8C;YAC9C,MAAM,iBAAiB,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;YAE5D,8EAA8E;YAC9E,MAAM,OAAO,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAEpE,8CAA8C;YAC9C,gFAAgF;YAChF,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAE7D,6CAA6C;YAC7C,MAAM,gBAAgB,GAAG,aAAa;iBACnC,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC;iBAChC,OAAO,CAAC,sBAAsB,EAAE,KAAK,CAAC;iBACtC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC;iBACjC,OAAO,CAAC,gCAAgC,EAAE,4BAA4B,CAAC;iBACvE,OAAO,CAAC,0BAA0B,EAAE,4BAA4B,CAAC,CAAC;YAErE,OAAO,QAAQ,CAAC,CAAC,IAAI;eACZ,CAAC,CAAC,IAAI;kBACH,CAAC,CAAC,OAAO;eACZ,CAAC,CAAC,SAAS;aACb,gBAAgB;uBACN,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;MAChH,CAAC;QACH,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEf,OAAO,2EAA2E,IAAI,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;EAqBpG,oBAAoB;;;;;;;;;;;;;;UAcZ,IAAI,CAAC,WAAW;;;;;;;;;;;;;;CAczB,CAAC;IACA,CAAC;IAED,qBAAqB,CAAC,OAAyB,EAAE,mBAA2B,eAAe;QACzF,8FAA8F;QAE9F,OAAO;;;;;;;;;;;UAWD,IAAI,CAAC,WAAW;;mBAEP,gBAAgB;;;;;;;CAOlC,CAAC;IACA,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,gBAAgB,GAAG,eAAe,CAAC;QAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC1E,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAE1D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAErD,MAAM,SAAS,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,SAAS,CAAC,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAEnD,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,SAAS,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC;QAEtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,aAAqB;QACtD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,aAAa,EACb,OAAO,EACP,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;YAEF,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,UAAU,GAAmB,EAAE,CAAC;YAEpC,MAAM,KAAK,GAAG,CAAC,IAAa,EAAE,EAAE;gBAC9B,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC7C,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBAE3B,MAAM,aAAa,GAAG,IAAI,mBAAmB,CAAC;wBAC5C,UAAU,EAAE,EAAE;wBACd,SAAS,EAAE,EAAE;qBACd,CAAC,CAAC;oBACH,UAAU,GAAG,aAAa,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;gBAChE,CAAC;gBACD,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC,CAAC;YAEF,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAEnC,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;YACxC,OAAO;gBACL,UAAU;gBACV,gBAAgB,EAAE,gBAAgB,CAAC,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC;gBACxE,cAAc,EAAE,EAAE;gBAClB,UAAU;aACX,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,aAAqB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,EACnD,YAAoB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,EACvD,cAAsB,aAAa;IAEnC,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;IAClF,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;AAC9B,CAAC"}
@@ -1,7 +1,10 @@
1
1
  import { z } from "zod";
2
2
  export { z };
3
- import type { PluginNames, PluginApiType } from "../plugin-types/plugin-registry";
3
+ import type { PluginFactory } from "../plugin-types/plugin-registry";
4
+ import type { PluginApiType } from "../plugin-types/plugin-registry";
5
+ export type PluginNames = keyof PluginFactory;
4
6
  export type { PluginTypeInfo, ArkTypeSchemaInfo, PropertyInfo, MethodParamInfo, GeneratorOptions } from "./types/generator";
7
+ export * from "./types/plugin-registry-base";
5
8
  export { ArkTypeConverter, PluginTypeGenerator, generatePluginTypes } from "./types/generator";
6
9
  export declare enum WorkerMessageType {
7
10
  RPC_CALL = "RPC_CALL",
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/src/types.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  export { z };
3
+ export * from "./types/plugin-registry-base";
3
4
  // Re-export Converter
4
5
  export { ArkTypeConverter, PluginTypeGenerator, generatePluginTypes } from "./types/generator";
5
6
  export var WorkerMessageType;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,CAAC;AAeb,sBAAsB;AACtB,OAAO,EAAE,gBAAgB,EAAC,mBAAmB,EAAE,mBAAmB,EAAG,MAAM,mBAAmB,CAAC;AAE/F,MAAM,CAAN,IAAY,iBAWX;AAXD,WAAY,iBAAiB;IAC3B,0CAAqB,CAAA;IACrB,4CAAuB,CAAA;IACvB,gDAA2B,CAAA;IAC3B,8CAAyB,CAAA;IACzB,8CAAyB,CAAA;IACzB,0CAAqB,CAAA;IACrB,kDAA6B,CAAA;IAC7B,8CAAyB,CAAA;IACzB,0CAAqB,CAAA;IACrB,sCAAiB,CAAA;AACnB,CAAC,EAXW,iBAAiB,KAAjB,iBAAiB,QAW5B;AAED,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,6CAAyB,CAAA;IACzB,+BAAW,CAAA;AACb,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,SAcX;AAdD,WAAY,SAAS;IACnB,uCAA0B,CAAA;IAC1B,uCAA0B,CAAA;IAC1B,6CAAgC,CAAA;IAChC,2CAA8B,CAAA;IAC9B,uCAA0B,CAAA;IAC1B,mCAAsB,CAAA;IACtB,6CAAgC,CAAA;IAChC,mDAAsC,CAAA;IACtC,wBAAW,CAAA;IACX,2CAA8B,CAAA;IAC9B,2CAA8B,CAAA;IAC9B,qCAAwB,CAAA;IACxB,6CAAgC,CAAA;AAClC,CAAC,EAdW,SAAS,KAAT,SAAS,QAcpB;AAED,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,oCAAwB,CAAA;IACxB,8BAAkB,CAAA;IAClB,gCAAoB,CAAA;AACtB,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,0BAAa,CAAA;AACf,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAyJD,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,UAAkB,EAAE,UAAkB;QAChD,KAAK,CACH,WAAW,UAAU,sBAAsB,UAAU,iCAAiC,CACvF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,2DAA2D;AAC3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,CAAC;AAwBb,cAAc,8BAA8B,CAAA;AAC5C,sBAAsB;AACtB,OAAO,EAAE,gBAAgB,EAAC,mBAAmB,EAAE,mBAAmB,EAAG,MAAM,mBAAmB,CAAC;AAE/F,MAAM,CAAN,IAAY,iBAWX;AAXD,WAAY,iBAAiB;IAC3B,0CAAqB,CAAA;IACrB,4CAAuB,CAAA;IACvB,gDAA2B,CAAA;IAC3B,8CAAyB,CAAA;IACzB,8CAAyB,CAAA;IACzB,0CAAqB,CAAA;IACrB,kDAA6B,CAAA;IAC7B,8CAAyB,CAAA;IACzB,0CAAqB,CAAA;IACrB,sCAAiB,CAAA;AACnB,CAAC,EAXW,iBAAiB,KAAjB,iBAAiB,QAW5B;AAED,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,uCAAmB,CAAA;IACnB,6CAAyB,CAAA;IACzB,+BAAW,CAAA;AACb,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,SAcX;AAdD,WAAY,SAAS;IACnB,uCAA0B,CAAA;IAC1B,uCAA0B,CAAA;IAC1B,6CAAgC,CAAA;IAChC,2CAA8B,CAAA;IAC9B,uCAA0B,CAAA;IAC1B,mCAAsB,CAAA;IACtB,6CAAgC,CAAA;IAChC,mDAAsC,CAAA;IACtC,wBAAW,CAAA;IACX,2CAA8B,CAAA;IAC9B,2CAA8B,CAAA;IAC9B,qCAAwB,CAAA;IACxB,6CAAgC,CAAA;AAClC,CAAC,EAdW,SAAS,KAAT,SAAS,QAcpB;AAED,MAAM,CAAN,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,oCAAwB,CAAA;IACxB,8BAAkB,CAAA;IAClB,gCAAoB,CAAA;AACtB,CAAC,EAJW,QAAQ,KAAR,QAAQ,QAInB;AAED,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,0BAAa,CAAA;AACf,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAyJD,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,UAAkB,EAAE,UAAkB;QAChD,KAAK,CACH,WAAW,UAAU,sBAAsB,UAAU,iCAAiC,CACvF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,2DAA2D;AAC3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bun_plugins",
3
- "version": "1.2.1",
3
+ "version": "1.2.4",
4
4
  "description": "A powerful and secure plugin system for Bun applications",
5
5
  "author": "memelser <nglmercer@gmail.com>",
6
6
  "repository": {
@@ -16,12 +16,22 @@
16
16
  "types": "dist/index.d.ts",
17
17
  "type": "module",
18
18
  "files": [
19
- "dist"
19
+ "dist",
20
+ "plugin-types"
20
21
  ],
21
22
  "exports": {
22
23
  ".": {
23
24
  "import": "./dist/src/index.js",
24
25
  "types": "./dist/src/index.d.ts"
26
+ },
27
+ "./plugin-types": {
28
+ "types": "./plugin-types/index.d.ts"
29
+ },
30
+ "./plugin-types/plugin-registry": {
31
+ "types": "./plugin-types/plugin-registry.d.ts"
32
+ },
33
+ "./src/types/plugin-registry-base": {
34
+ "types": "./dist/src/types/plugin-registry-base.d.ts"
25
35
  }
26
36
  },
27
37
  "scripts": {
@@ -0,0 +1,20 @@
1
+
2
+
3
+ export type {
4
+ PluginNames,
5
+ PluginApiType,
6
+ PluginClassType,
7
+ GetPluginApi,
8
+ GetPluginClass,
9
+ IsValidPlugin,
10
+ PluginFromFactory,
11
+ PluginFactory
12
+ } from "bun_plugins/plugin-types/plugin-registry";
13
+
14
+ export interface BasePluginApi {
15
+ name: string;
16
+ version: string;
17
+ actions?: string[];
18
+ type?: string;
19
+ loaded?: string;
20
+ }
@@ -0,0 +1,148 @@
1
+ import type { PluginFactory as BasePluginFactory, BasePluginApi } from "bun_plugins/src/types/plugin-registry-base";
2
+
3
+ /**
4
+ * Extend the PluginFactory interface with discovered plugins.
5
+ * Users can also extend this interface with their own plugins using declaration merging.
6
+ *
7
+ * Example:
8
+ * ```typescript
9
+ * declare module "bun_plugins" {
10
+ * export interface PluginFactory {
11
+ * "my-plugin": {
12
+ * name: "my-plugin";
13
+ * version: "1.0.0";
14
+ * class: MyPlugin;
15
+ * api: MyPluginApi;
16
+ * };
17
+ * }
18
+ * }
19
+ * ```
20
+ */
21
+ export interface PluginFactory extends BasePluginFactory {
22
+ "action-registry": {
23
+ name: "action-registry";
24
+ version: "1.0.0";
25
+ class: ActionRegistryPlugin;
26
+ api: {
27
+ actionHandlers?: Map;
28
+ registerAction(type: string, handler: any): void;
29
+ executeAction(type: string, args: any[]): any;
30
+ listActions(): string[];
31
+ hasAction(type: string): boolean;
32
+ name?: string;
33
+ version?: string;
34
+ actionRegistry: any;
35
+ };
36
+ dependencies?: undefined;
37
+ },
38
+ "arktype-plugin": {
39
+ name: "arktype-plugin";
40
+ version: "1.0.0";
41
+ class: ArkTypePlugin;
42
+ api: {
43
+ name?: string;
44
+ version?: string;
45
+ };
46
+ dependencies?: undefined;
47
+ },
48
+ "dynamic-js-actions": {
49
+ name: "dynamic-js-actions";
50
+ version: "1.0.0";
51
+ class: DynamicJSActionsPlugin;
52
+ api: DynamicJSActionsPluginApi;
53
+ dependencies?: undefined;
54
+ },
55
+ "dynamic-math-actions": {
56
+ name: "dynamic-math-actions";
57
+ version: "1.0.0";
58
+ class: MathPlugin2;
59
+ api: {
60
+ name?: string;
61
+ version?: string;
62
+ dependencies?: any;
63
+ registerActions(context: any): void;
64
+ };
65
+ dependencies?: Record<["action-registry"], string>;
66
+ },
67
+ "dynamic-text-actions": {
68
+ name: "dynamic-text-actions";
69
+ version: "1.0.0";
70
+ class: DynamicTextActionsPlugin;
71
+ api: {
72
+ name?: string;
73
+ version?: string;
74
+ dependencies?: any;
75
+ registerActions(context: any): void;
76
+ };
77
+ dependencies?: Record<["action-registry"], string>;
78
+ },
79
+ "dynamic-utility-actions": {
80
+ name: "dynamic-utility-actions";
81
+ version: "1.0.0";
82
+ class: DynamicUtilityActionsPlugin;
83
+ api: {
84
+ name?: string;
85
+ version?: string;
86
+ dependencies?: any;
87
+ registerActions(context: any): void;
88
+ };
89
+ dependencies?: Record<["action-registry"], string>;
90
+ },
91
+ "lifecycle-demo": {
92
+ name: "lifecycle-demo";
93
+ version: "1.0.0";
94
+ class: LifecycleDemoPlugin;
95
+ api: {
96
+ name?: string;
97
+ version?: string;
98
+ defaultConfig?: any;
99
+ setup(build: import("bun_plugins/src").PluginBuilder): void;
100
+ };
101
+ dependencies?: undefined;
102
+ },
103
+ "math-plugin": {
104
+ name: "math-plugin";
105
+ version: "0.5.0";
106
+ class: MathPlugin;
107
+ api: {
108
+ name?: string;
109
+ version?: string;
110
+ add(a: number, b: number): number;
111
+ multiply(a: number, b: number): number;
112
+ };
113
+ dependencies?: undefined;
114
+ },
115
+ "my-js-plugin": {
116
+ name: "my-js-plugin";
117
+ version: "1.0.0";
118
+ class: MyJSPlugin;
119
+ api: MyJSPlugin;
120
+ dependencies?: undefined;
121
+ }
122
+ }
123
+
124
+ /**
125
+ * Re-export base types for convenience.
126
+ * These types support dynamic plugin discovery and user extension.
127
+ */
128
+ export type {
129
+ PluginClassType,
130
+ GetPluginApi,
131
+ GetPluginClass,
132
+ IsValidPlugin,
133
+ PluginFromFactory,
134
+ PluginInstanceType
135
+ } from "bun_plugins/src/types/plugin-registry-base";
136
+
137
+ // Re-export BasePluginApi (already imported at the top)
138
+ export type { BasePluginApi };
139
+
140
+ // Define PluginNames directly from the extended PluginFactory
141
+ // For development, we allow any string to be used as plugin name
142
+ export type PluginNames = keyof PluginFactory | string;
143
+
144
+ // Define PluginApiType directly from the extended PluginFactory
145
+ export type PluginApiType<T extends string> =
146
+ T extends keyof PluginFactory
147
+ ? PluginFactory[T]["api"]
148
+ : BasePluginApi;
@@ -1,3 +0,0 @@
1
- declare const _default: import("../src").IPlugin;
2
- export default _default;
3
- //# sourceMappingURL=ExamplePlugin.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExamplePlugin.d.ts","sourceRoot":"","sources":["../../plugins/ExamplePlugin.ts"],"names":[],"mappings":";AAKA,wBAwCG"}
@@ -1,41 +0,0 @@
1
- import { definePlugin } from "../src";
2
- // Los tipos están disponibles globalmente gracias a src/global.d.ts
3
- // No necesitas importar MathPlugin - el tipado es automático
4
- export default definePlugin({
5
- name: "edge",
6
- version: "1.0.0",
7
- async onLoad(context) {
8
- // getPlugin ahora es asíncrono
9
- const mathPlugin = await context.getPlugin('math-plugin');
10
- if (!mathPlugin) {
11
- context.log.error("Math plugin not found");
12
- return;
13
- }
14
- // Experimental automatic types
15
- const result = mathPlugin.add(1, 2);
16
- context.log.info(`Math result via API: ${result}`);
17
- // recomendado
18
- /* // Usar getApi() - más seguro y encapsulado
19
- const mathApi = mathPlugin.getApi?.() as {
20
- add(a: number, b: number): number;
21
- multiply(a: number, b: number): number;
22
- };
23
-
24
- if (mathApi) {
25
- const mathResult = mathApi.add(1, 2);
26
- context.log.info(`Math result via API: ${mathResult}`);
27
-
28
- const multiplyResult = mathApi.multiply(3, 4);
29
- context.log.info(`Multiplication result via API: ${multiplyResult}`);
30
- }
31
-
32
- // Alternativa: cast directo al tipo del plugin (menos seguro pero funcional)
33
- const mathPluginDirect = mathPlugin as MathPlugin;
34
- if (mathPluginDirect) {
35
- const addResult = mathPluginDirect.add(5, 6);
36
- context.log.info(`Addition result direct: ${addResult}`);
37
- } */
38
- },
39
- onUnload() { }
40
- });
41
- //# sourceMappingURL=ExamplePlugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExamplePlugin.js","sourceRoot":"","sources":["../../plugins/ExamplePlugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,oEAAoE;AACpE,6DAA6D;AAE7D,eAAe,YAAY,CAAC;IACxB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,OAAO;IAEhB,KAAK,CAAC,MAAM,CAAC,OAAO;QAChB,+BAA+B;QAC/B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAE1D,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,OAAO;QACX,CAAC;QACD,+BAA+B;QAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,wBAAwB,MAAM,EAAE,CAAC,CAAC;QAEnD,cAAc;QACtB;;;;;;;;;;;;;;;;;;;oBAmBY;IACR,CAAC;IAED,QAAQ,KAAI,CAAC;CAChB,CAAC,CAAC"}