bun_plugins 1.2.5 → 1.2.6

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 (177) hide show
  1. package/README.md +3 -127
  2. package/dist/{src/PluginManager.d.ts → PluginManager.d.ts} +9 -20
  3. package/dist/PluginManager.d.ts.map +1 -0
  4. package/dist/{src/PluginManager.js → PluginManager.js} +189 -212
  5. package/dist/PluginManager.js.map +1 -0
  6. package/dist/{src/index.d.ts → index.d.ts} +1 -2
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/{src/index.js → index.js} +0 -2
  9. package/dist/index.js.map +1 -0
  10. package/dist/{src/managers → managers}/ContextFactory.d.ts +1 -1
  11. package/dist/managers/ContextFactory.d.ts.map +1 -0
  12. package/dist/{src/managers → managers}/ContextFactory.js +26 -51
  13. package/dist/managers/ContextFactory.js.map +1 -0
  14. package/dist/managers/DependencyManager.d.ts.map +1 -0
  15. package/dist/{src/managers → managers}/DependencyManager.js +5 -7
  16. package/dist/managers/DependencyManager.js.map +1 -0
  17. package/dist/{src/managers → managers}/HooksManager.d.ts +1 -4
  18. package/dist/managers/HooksManager.d.ts.map +1 -0
  19. package/dist/{src/managers → managers}/HooksManager.js +8 -36
  20. package/dist/managers/HooksManager.js.map +1 -0
  21. package/dist/managers/ResourceManager.d.ts.map +1 -0
  22. package/dist/{src/managers → managers}/ResourceManager.js +3 -3
  23. package/dist/managers/ResourceManager.js.map +1 -0
  24. package/dist/{src/storage → storage}/JsonPluginStorage.d.ts +1 -2
  25. package/dist/storage/JsonPluginStorage.d.ts.map +1 -0
  26. package/dist/storage/JsonPluginStorage.js +63 -0
  27. package/dist/storage/JsonPluginStorage.js.map +1 -0
  28. package/dist/{src/types.d.ts → types.d.ts} +19 -60
  29. package/dist/types.d.ts.map +1 -0
  30. package/dist/{src/types.js → types.js} +0 -6
  31. package/dist/types.js.map +1 -0
  32. package/dist/utils/errorParser.d.ts.map +1 -0
  33. package/dist/{src/utils → utils}/errorParser.js +5 -2
  34. package/dist/utils/errorParser.js.map +1 -0
  35. package/dist/utils/pluginValidator.d.ts +93 -0
  36. package/dist/utils/pluginValidator.d.ts.map +1 -0
  37. package/dist/{src/utils → utils}/pluginValidator.js +14 -11
  38. package/dist/utils/pluginValidator.js.map +1 -0
  39. package/dist/utils/security.d.ts.map +1 -0
  40. package/dist/utils/security.js.map +1 -0
  41. package/dist/worker/WorkerRunner.d.ts.map +1 -0
  42. package/dist/{src/worker → worker}/WorkerRunner.js +13 -38
  43. package/dist/worker/WorkerRunner.js.map +1 -0
  44. package/package.json +6 -9
  45. package/LICENSE +0 -9
  46. package/dist/examples/action-registry-declarative.d.ts +0 -14
  47. package/dist/examples/action-registry-declarative.d.ts.map +0 -1
  48. package/dist/examples/action-registry-declarative.js +0 -130
  49. package/dist/examples/action-registry-declarative.js.map +0 -1
  50. package/dist/examples/action-registry-example.d.ts +0 -31
  51. package/dist/examples/action-registry-example.d.ts.map +0 -1
  52. package/dist/examples/action-registry-example.js +0 -84
  53. package/dist/examples/action-registry-example.js.map +0 -1
  54. package/dist/examples/index-declarative.d.ts +0 -32
  55. package/dist/examples/index-declarative.d.ts.map +0 -1
  56. package/dist/examples/index-declarative.js +0 -206
  57. package/dist/examples/index-declarative.js.map +0 -1
  58. package/dist/examples/logger-declarative.d.ts +0 -109
  59. package/dist/examples/logger-declarative.d.ts.map +0 -1
  60. package/dist/examples/logger-declarative.js +0 -330
  61. package/dist/examples/logger-declarative.js.map +0 -1
  62. package/dist/examples/logger-simple.d.ts +0 -8
  63. package/dist/examples/logger-simple.d.ts.map +0 -1
  64. package/dist/examples/logger-simple.js +0 -165
  65. package/dist/examples/logger-simple.js.map +0 -1
  66. package/dist/examples/server-declarative.d.ts +0 -46
  67. package/dist/examples/server-declarative.d.ts.map +0 -1
  68. package/dist/examples/server-declarative.js +0 -205
  69. package/dist/examples/server-declarative.js.map +0 -1
  70. package/dist/examples/shared/action-registry.d.ts +0 -45
  71. package/dist/examples/shared/action-registry.d.ts.map +0 -1
  72. package/dist/examples/shared/action-registry.js +0 -65
  73. package/dist/examples/shared/action-registry.js.map +0 -1
  74. package/dist/examples/shared/plugin-builder.d.ts +0 -41
  75. package/dist/examples/shared/plugin-builder.d.ts.map +0 -1
  76. package/dist/examples/shared/plugin-builder.js +0 -85
  77. package/dist/examples/shared/plugin-builder.js.map +0 -1
  78. package/dist/examples/storage-declarative.d.ts +0 -13
  79. package/dist/examples/storage-declarative.d.ts.map +0 -1
  80. package/dist/examples/storage-declarative.js +0 -203
  81. package/dist/examples/storage-declarative.js.map +0 -1
  82. package/dist/plugins/ActionRegistryPlugin.d.ts +0 -14
  83. package/dist/plugins/ActionRegistryPlugin.d.ts.map +0 -1
  84. package/dist/plugins/ActionRegistryPlugin.js +0 -52
  85. package/dist/plugins/ActionRegistryPlugin.js.map +0 -1
  86. package/dist/plugins/DynamicJSActionsPlugin.d.ts +0 -21
  87. package/dist/plugins/DynamicJSActionsPlugin.d.ts.map +0 -1
  88. package/dist/plugins/DynamicJSActionsPlugin.js +0 -57
  89. package/dist/plugins/DynamicJSActionsPlugin.js.map +0 -1
  90. package/dist/plugins/DynamicMathActionsPlugin.d.ts +0 -22
  91. package/dist/plugins/DynamicMathActionsPlugin.d.ts.map +0 -1
  92. package/dist/plugins/DynamicMathActionsPlugin.js +0 -64
  93. package/dist/plugins/DynamicMathActionsPlugin.js.map +0 -1
  94. package/dist/plugins/DynamicTextActionsPlugin.d.ts +0 -22
  95. package/dist/plugins/DynamicTextActionsPlugin.d.ts.map +0 -1
  96. package/dist/plugins/DynamicTextActionsPlugin.js +0 -58
  97. package/dist/plugins/DynamicTextActionsPlugin.js.map +0 -1
  98. package/dist/plugins/DynamicUtilityActionsPlugin.d.ts +0 -22
  99. package/dist/plugins/DynamicUtilityActionsPlugin.d.ts.map +0 -1
  100. package/dist/plugins/DynamicUtilityActionsPlugin.js +0 -75
  101. package/dist/plugins/DynamicUtilityActionsPlugin.js.map +0 -1
  102. package/dist/plugins/ExamplePlugin.d.ts +0 -3
  103. package/dist/plugins/ExamplePlugin.d.ts.map +0 -1
  104. package/dist/plugins/ExamplePlugin.js +0 -24
  105. package/dist/plugins/ExamplePlugin.js.map +0 -1
  106. package/dist/plugins/LifecycleDemoPlugin.d.ts +0 -20
  107. package/dist/plugins/LifecycleDemoPlugin.d.ts.map +0 -1
  108. package/dist/plugins/LifecycleDemoPlugin.js +0 -34
  109. package/dist/plugins/LifecycleDemoPlugin.js.map +0 -1
  110. package/dist/plugins/MathPlugin.d.ts +0 -16
  111. package/dist/plugins/MathPlugin.d.ts.map +0 -1
  112. package/dist/plugins/MathPlugin.js +0 -30
  113. package/dist/plugins/MathPlugin.js.map +0 -1
  114. package/dist/plugins/MyJSPlugin.d.ts +0 -7
  115. package/dist/plugins/MyJSPlugin.d.ts.map +0 -1
  116. package/dist/plugins/MyJSPlugin.js +0 -12
  117. package/dist/plugins/MyJSPlugin.js.map +0 -1
  118. package/dist/plugins/TypedExamplePlugin.d.ts +0 -10
  119. package/dist/plugins/TypedExamplePlugin.d.ts.map +0 -1
  120. package/dist/plugins/TypedExamplePlugin.js +0 -61
  121. package/dist/plugins/TypedExamplePlugin.js.map +0 -1
  122. package/dist/plugins/arktype/index.d.ts +0 -8
  123. package/dist/plugins/arktype/index.d.ts.map +0 -1
  124. package/dist/plugins/arktype/index.js +0 -25
  125. package/dist/plugins/arktype/index.js.map +0 -1
  126. package/dist/src/Plugin.d.ts +0 -28
  127. package/dist/src/Plugin.d.ts.map +0 -1
  128. package/dist/src/Plugin.js +0 -36
  129. package/dist/src/Plugin.js.map +0 -1
  130. package/dist/src/PluginManager.d.ts.map +0 -1
  131. package/dist/src/PluginManager.js.map +0 -1
  132. package/dist/src/index.d.ts.map +0 -1
  133. package/dist/src/index.js.map +0 -1
  134. package/dist/src/logger/LoggerAdapter.d.ts +0 -77
  135. package/dist/src/logger/LoggerAdapter.d.ts.map +0 -1
  136. package/dist/src/logger/LoggerAdapter.js +0 -242
  137. package/dist/src/logger/LoggerAdapter.js.map +0 -1
  138. package/dist/src/logger/LoggerFactory.d.ts +0 -73
  139. package/dist/src/logger/LoggerFactory.d.ts.map +0 -1
  140. package/dist/src/logger/LoggerFactory.js +0 -99
  141. package/dist/src/logger/LoggerFactory.js.map +0 -1
  142. package/dist/src/logger/index.d.ts +0 -3
  143. package/dist/src/logger/index.d.ts.map +0 -1
  144. package/dist/src/logger/index.js +0 -3
  145. package/dist/src/logger/index.js.map +0 -1
  146. package/dist/src/managers/ContextFactory.d.ts.map +0 -1
  147. package/dist/src/managers/ContextFactory.js.map +0 -1
  148. package/dist/src/managers/DependencyManager.d.ts.map +0 -1
  149. package/dist/src/managers/DependencyManager.js.map +0 -1
  150. package/dist/src/managers/HooksManager.d.ts.map +0 -1
  151. package/dist/src/managers/HooksManager.js.map +0 -1
  152. package/dist/src/managers/ResourceManager.d.ts.map +0 -1
  153. package/dist/src/managers/ResourceManager.js.map +0 -1
  154. package/dist/src/storage/JsonPluginStorage.d.ts.map +0 -1
  155. package/dist/src/storage/JsonPluginStorage.js +0 -75
  156. package/dist/src/storage/JsonPluginStorage.js.map +0 -1
  157. package/dist/src/types/plugin-registry-base.d.ts +0 -80
  158. package/dist/src/types/plugin-registry-base.d.ts.map +0 -1
  159. package/dist/src/types/plugin-registry-base.js +0 -6
  160. package/dist/src/types/plugin-registry-base.js.map +0 -1
  161. package/dist/src/types.d.ts.map +0 -1
  162. package/dist/src/types.js.map +0 -1
  163. package/dist/src/utils/errorParser.d.ts.map +0 -1
  164. package/dist/src/utils/errorParser.js.map +0 -1
  165. package/dist/src/utils/pluginValidator.d.ts +0 -17
  166. package/dist/src/utils/pluginValidator.d.ts.map +0 -1
  167. package/dist/src/utils/pluginValidator.js.map +0 -1
  168. package/dist/src/utils/security.d.ts.map +0 -1
  169. package/dist/src/utils/security.js.map +0 -1
  170. package/dist/src/worker/WorkerRunner.d.ts.map +0 -1
  171. package/dist/src/worker/WorkerRunner.js.map +0 -1
  172. /package/dist/{src/managers → managers}/DependencyManager.d.ts +0 -0
  173. /package/dist/{src/managers → managers}/ResourceManager.d.ts +0 -0
  174. /package/dist/{src/utils → utils}/errorParser.d.ts +0 -0
  175. /package/dist/{src/utils → utils}/security.d.ts +0 -0
  176. /package/dist/{src/utils → utils}/security.js +0 -0
  177. /package/dist/{src/worker → worker}/WorkerRunner.d.ts +0 -0
@@ -1,8 +1,4 @@
1
1
  import { z } from "zod";
2
- export { z };
3
- export * from "./types/plugin-registry-base";
4
- export type PluginNames = string;
5
- export type PluginApiType<T extends string> = any;
6
2
  export declare enum WorkerMessageType {
7
3
  RPC_CALL = "RPC_CALL",
8
4
  HOOK_CALL = "HOOK_CALL",
@@ -29,17 +25,13 @@ export declare enum RPCMethod {
29
25
  EventsOn = "events:on",
30
26
  HooksRegister = "hooks:register",
31
27
  ManagerGetPlugin = "manager:getPlugin",
32
- ManagerRegisterApi = "manager:registerApi",
33
28
  Log = "log",
34
29
  NetworkFetch = "network:fetch",
35
- PermissionCheck = "perm:check",
36
- ConfigGet = "config:get",
37
- StorageReload = "storage:reload"
30
+ PermissionCheck = "perm:check"
38
31
  }
39
32
  export declare enum HookType {
40
33
  ON_RESOLVE = "onResolve",
41
- ON_LOAD = "onLoad",
42
- ON_START = "onStart"
34
+ ON_LOAD = "onLoad"
43
35
  }
44
36
  export declare enum HookOrder {
45
37
  PRE = "pre",
@@ -49,7 +41,7 @@ export interface PluginResource {
49
41
  workers: Worker[];
50
42
  timers: {
51
43
  id: number | Timer;
52
- type: "timeout" | "interval";
44
+ type: 'timeout' | 'interval';
53
45
  }[];
54
46
  eventListeners: {
55
47
  event: string;
@@ -63,13 +55,13 @@ export interface HookRegistry<T> {
63
55
  order?: HookOrder;
64
56
  }
65
57
  export interface AppEvents {
66
- log: {
58
+ "log": {
67
59
  level: "info" | "error" | "warn";
68
60
  message: string;
69
61
  };
70
- "plugin:updated": {
71
- name: string;
72
- version: string;
62
+ "cmd:input": {
63
+ command: string;
64
+ args: string[];
73
65
  };
74
66
  [key: string]: any;
75
67
  }
@@ -79,41 +71,11 @@ export interface IPluginStorage {
79
71
  set<T>(key: string, value: T): Promise<void>;
80
72
  delete(key: string): Promise<void>;
81
73
  clear(): Promise<void>;
82
- reload(): Promise<void>;
83
74
  }
84
75
  export interface Logger {
85
76
  info(msg: string, ...args: any[]): void;
86
77
  warn(msg: string, ...args: any[]): void;
87
78
  error(msg: string, ...args: any[]): void;
88
- debug?(msg: string, ...args: any[]): void;
89
- child?(context: string): Logger;
90
- }
91
- export interface IPluginManager {
92
- register(plugin: IPlugin): Promise<void>;
93
- registerIsolated(pluginPath: string, pluginName: string): Promise<void>;
94
- unregister(pluginName: string): Promise<void>;
95
- getPlugin(name: string): IPlugin | undefined;
96
- listPlugins(): string[];
97
- loadPluginsFromDirectory(directoryPath?: string): Promise<void>;
98
- disablePlugin(name: string): Promise<void>;
99
- enablePlugin(name: string): Promise<void>;
100
- reloadPlugin(name: string): Promise<void>;
101
- runOnResolve(args: OnResolveArgs): Promise<any>;
102
- runOnLoad(args: OnLoadArgs): Promise<any>;
103
- toBunPlugin(): any;
104
- enableHotReload(pluginDir: string): void;
105
- getWorkerFactory(): (url: string | URL, options?: BunWorkerOptions) => Worker;
106
- getMetrics(): any;
107
- getPluginStatus(): Record<string, any>;
108
- registerApi(pluginName: string, api: any): void;
109
- getPluginApi(pluginName: string): any | undefined;
110
- use(plugin: IPlugin): Promise<void>;
111
- plugin(plugin: IPlugin): Promise<void>;
112
- remove(pluginName: string): Promise<void>;
113
- emit<K extends keyof AppEvents>(eventName: K, payload: AppEvents[K]): boolean;
114
- on<K extends keyof AppEvents>(eventName: K & string, listener: (payload: AppEvents[K]) => void): this;
115
- once<K extends keyof AppEvents>(eventName: K & string, listener: (payload: AppEvents[K]) => void): this;
116
- off<K extends keyof AppEvents>(eventName: K & string, listener: (payload: AppEvents[K]) => void): this;
117
79
  }
118
80
  export interface PluginContext {
119
81
  emit<K extends keyof AppEvents>(event: K, payload: AppEvents[K]): void;
@@ -124,9 +86,8 @@ export interface PluginContext {
124
86
  };
125
87
  storage: IPluginStorage;
126
88
  config: Record<string, any>;
127
- manager: IPluginManager;
128
- getPlugin<TName extends string>(name: TName): Promise<import("./types/plugin-registry-base").PluginApiType<TName> | undefined>;
129
- registerApi(api: any): void;
89
+ manager: any;
90
+ getPlugin(name: string): unknown | undefined;
130
91
  log: Logger;
131
92
  createWorker(url: string | URL, options?: BunWorkerOptions): BunWorker;
132
93
  network: {
@@ -155,7 +116,13 @@ export declare class AccessDeniedError extends Error {
155
116
  export declare const BasicPluginSchema: z.ZodObject<{
156
117
  name: z.ZodString;
157
118
  version: z.ZodString;
158
- }, z.core.$strip>;
119
+ }, "strip", z.ZodTypeAny, {
120
+ name: string;
121
+ version: string;
122
+ }, {
123
+ name: string;
124
+ version: string;
125
+ }>;
159
126
  export interface IPlugin {
160
127
  name: string;
161
128
  version: string;
@@ -172,7 +139,7 @@ export interface IPlugin {
172
139
  onLoad(context: PluginContext): Promise<void> | void;
173
140
  onStarted?: () => Promise<void> | void;
174
141
  onUnload(): Promise<void> | void;
175
- onReload?: (context: PluginContext) => Promise<void> | void;
142
+ getSharedApi?: () => unknown;
176
143
  setup?: (build: PluginBuilder) => void | Promise<void>;
177
144
  }
178
145
  export type OnResolveArgs = {
@@ -196,19 +163,11 @@ export type OnLoadResult = {
196
163
  } | undefined | null;
197
164
  export type OnLoadCallback = (args: OnLoadArgs) => OnLoadResult | Promise<OnLoadResult>;
198
165
  export interface PluginBuilder {
199
- onStart(callback: () => void | Promise<void>): void;
200
- onResolve(filter: RegExp | {
201
- filter: RegExp;
202
- namespace?: string;
203
- }, callback: OnResolveCallback, options?: {
166
+ onResolve(filter: RegExp, callback: OnResolveCallback, options?: {
204
167
  order?: HookOrder;
205
168
  }): void;
206
- onLoad(filter: RegExp | {
207
- filter: RegExp;
208
- namespace?: string;
209
- }, callback: OnLoadCallback, options?: {
169
+ onLoad(filter: RegExp, callback: OnLoadCallback, options?: {
210
170
  order?: HookOrder;
211
171
  }): void;
212
- config: Record<string, any>;
213
172
  }
214
173
  //# 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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"}
@@ -1,6 +1,4 @@
1
1
  import { z } from "zod";
2
- export { z };
3
- export * from "./types/plugin-registry-base";
4
2
  export var WorkerMessageType;
5
3
  (function (WorkerMessageType) {
6
4
  WorkerMessageType["RPC_CALL"] = "RPC_CALL";
@@ -30,18 +28,14 @@ export var RPCMethod;
30
28
  RPCMethod["EventsOn"] = "events:on";
31
29
  RPCMethod["HooksRegister"] = "hooks:register";
32
30
  RPCMethod["ManagerGetPlugin"] = "manager:getPlugin";
33
- RPCMethod["ManagerRegisterApi"] = "manager:registerApi";
34
31
  RPCMethod["Log"] = "log";
35
32
  RPCMethod["NetworkFetch"] = "network:fetch";
36
33
  RPCMethod["PermissionCheck"] = "perm:check";
37
- RPCMethod["ConfigGet"] = "config:get";
38
- RPCMethod["StorageReload"] = "storage:reload";
39
34
  })(RPCMethod || (RPCMethod = {}));
40
35
  export var HookType;
41
36
  (function (HookType) {
42
37
  HookType["ON_RESOLVE"] = "onResolve";
43
38
  HookType["ON_LOAD"] = "onLoad";
44
- HookType["ON_START"] = "onStart";
45
39
  })(HookType || (HookType = {}));
46
40
  export var HookOrder;
47
41
  (function (HookOrder) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAN,IAAY,iBAWX;AAXD,WAAY,iBAAiB;IACzB,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;AACrB,CAAC,EAXW,iBAAiB,KAAjB,iBAAiB,QAW5B;AAED,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,uCAAmB,CAAA;IACnB,6CAAyB,CAAA;IACzB,+BAAW,CAAA;AACf,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,SAYX;AAZD,WAAY,SAAS;IACjB,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;AAClC,CAAC,EAZW,SAAS,KAAT,SAAS,QAYpB;AAED,MAAM,CAAN,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,oCAAwB,CAAA;IACxB,8BAAkB,CAAA;AACtB,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;AAED,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,wBAAW,CAAA;IACX,0BAAa,CAAA;AACjB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AA0FD,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IACxC,YAAY,UAAkB,EAAE,UAAkB;QAC9C,KAAK,CAAC,WAAW,UAAU,sBAAsB,UAAU,iCAAiC,CAAC,CAAC;QAC9F,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IACpC,CAAC;CACJ;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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorParser.d.ts","sourceRoot":"","sources":["../../src/utils/errorParser.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAuBlE;AACD,eAAe,WAAW,CAAC"}
@@ -1,8 +1,11 @@
1
1
  export function errorParser(error, prefix) {
2
2
  let parsedError;
3
- // Parse the error
3
+ // Parse the error - always create a new Error to avoid readonly issues
4
4
  if (error instanceof Error) {
5
- parsedError = error;
5
+ // Create a new Error to avoid modifying potentially frozen Zod errors
6
+ parsedError = new Error(error.message);
7
+ parsedError.name = error.name;
8
+ parsedError.stack = error.stack;
6
9
  }
7
10
  else if (typeof error === "string") {
8
11
  parsedError = new Error(error);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorParser.js","sourceRoot":"","sources":["../../src/utils/errorParser.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,MAAe;IACzD,IAAI,WAAkB,CAAC;IAEvB,uEAAuE;IACvE,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,sEAAsE;QACtE,WAAW,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAC9B,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAClC,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,WAAW,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;SAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACpE,WAAW,GAAG,IAAI,KAAK,CAAC,MAAM,CAAE,KAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,6BAA6B;IAC7B,IAAI,MAAM,EAAE,CAAC;QACX,WAAW,CAAC,OAAO,GAAG,GAAG,MAAM,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;IAC5D,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AACD,eAAe,WAAW,CAAC"}
@@ -0,0 +1,93 @@
1
+ import { z } from "zod";
2
+ import type { IPlugin } from "../types";
3
+ export declare const PluginSchema: z.ZodObject<{
4
+ name: z.ZodString;
5
+ version: z.ZodDefault<z.ZodString>;
6
+ description: z.ZodOptional<z.ZodString>;
7
+ author: z.ZodOptional<z.ZodString>;
8
+ configSchema: z.ZodOptional<z.ZodAny>;
9
+ defaultConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
10
+ dependencies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
11
+ permissions: z.ZodOptional<z.ZodArray<z.ZodEnum<["network", "filesystem", "env"]>, "many">>;
12
+ allowedDomains: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
13
+ engines: z.ZodOptional<z.ZodObject<{
14
+ host: z.ZodOptional<z.ZodString>;
15
+ }, "strip", z.ZodTypeAny, {
16
+ host?: string | undefined;
17
+ }, {
18
+ host?: string | undefined;
19
+ }>>;
20
+ onLoad: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>;
21
+ onStarted: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
22
+ onUnload: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
23
+ getSharedApi: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
24
+ setup: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ onLoad: (...args: unknown[]) => unknown;
27
+ name: string;
28
+ version: string;
29
+ description?: string | undefined;
30
+ author?: string | undefined;
31
+ configSchema?: any;
32
+ defaultConfig?: Record<string, any> | undefined;
33
+ dependencies?: Record<string, string> | undefined;
34
+ permissions?: ("network" | "filesystem" | "env")[] | undefined;
35
+ allowedDomains?: string[] | undefined;
36
+ engines?: {
37
+ host?: string | undefined;
38
+ } | undefined;
39
+ onStarted?: ((...args: unknown[]) => unknown) | undefined;
40
+ onUnload?: ((...args: unknown[]) => unknown) | undefined;
41
+ getSharedApi?: ((...args: unknown[]) => unknown) | undefined;
42
+ setup?: ((...args: unknown[]) => unknown) | undefined;
43
+ }, {
44
+ onLoad: (...args: unknown[]) => unknown;
45
+ name: string;
46
+ version?: string | undefined;
47
+ description?: string | undefined;
48
+ author?: string | undefined;
49
+ configSchema?: any;
50
+ defaultConfig?: Record<string, any> | undefined;
51
+ dependencies?: Record<string, string> | undefined;
52
+ permissions?: ("network" | "filesystem" | "env")[] | undefined;
53
+ allowedDomains?: string[] | undefined;
54
+ engines?: {
55
+ host?: string | undefined;
56
+ } | undefined;
57
+ onStarted?: ((...args: unknown[]) => unknown) | undefined;
58
+ onUnload?: ((...args: unknown[]) => unknown) | undefined;
59
+ getSharedApi?: ((...args: unknown[]) => unknown) | undefined;
60
+ setup?: ((...args: unknown[]) => unknown) | undefined;
61
+ }>;
62
+ export declare const StrictPluginSchema: z.ZodObject<{
63
+ name: z.ZodString;
64
+ version: z.ZodString;
65
+ onLoad: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>;
66
+ onUnload: z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>;
67
+ }, "strip", z.ZodTypeAny, {
68
+ onLoad: (...args: unknown[]) => unknown;
69
+ name: string;
70
+ version: string;
71
+ onUnload: (...args: unknown[]) => unknown;
72
+ }, {
73
+ onLoad: (...args: unknown[]) => unknown;
74
+ name: string;
75
+ version: string;
76
+ onUnload: (...args: unknown[]) => unknown;
77
+ }>;
78
+ export type ValidationResult = {
79
+ valid: true;
80
+ plugin: IPlugin;
81
+ } | {
82
+ valid: false;
83
+ error: string;
84
+ };
85
+ /**
86
+ * Validates if an unknown object is a valid plugin.
87
+ * Handles:
88
+ * 1. Class instances (Standard)
89
+ * 2. Plain objects
90
+ * 3. Class Constructors (instantiates them) // TODO if we want to move that logic here
91
+ */
92
+ export declare function validatePlugin(candidate: unknown): ValidationResult;
93
+ //# sourceMappingURL=pluginValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginValidator.d.ts","sourceRoot":"","sources":["../../src/utils/pluginValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBvB,CAAC;AAGH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GACxB;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAChC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpC;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,OAAO,GAAG,gBAAgB,CAqBnE"}
@@ -1,7 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { errorParser } from "../utils/errorParser";
3
- // Internal schemas - NOT exported to avoid Zod type leakage
4
- const pluginSchemaDefinition = z.object({
3
+ export const PluginSchema = z.object({
5
4
  name: z.string().min(1, "Plugin name is required"),
6
5
  version: z.string().min(1, "Plugin version is required").default("1.0.0"),
7
6
  description: z.string().optional(),
@@ -17,8 +16,16 @@ const pluginSchemaDefinition = z.object({
17
16
  onLoad: z.function(),
18
17
  onStarted: z.function().optional(),
19
18
  onUnload: z.function().optional(),
19
+ getSharedApi: z.function().optional(),
20
20
  setup: z.function().optional(),
21
21
  });
22
+ // We can have a stricter schema for the full IPlugin
23
+ export const StrictPluginSchema = z.object({
24
+ name: z.string(),
25
+ version: z.string(),
26
+ onLoad: z.function(),
27
+ onUnload: z.function(),
28
+ });
22
29
  /**
23
30
  * Validates if an unknown object is a valid plugin.
24
31
  * Handles:
@@ -50,21 +57,17 @@ export function validatePlugin(candidate) {
50
57
  }
51
58
  }
52
59
  function validatePluginInstance(obj) {
53
- const result = pluginSchemaDefinition.safeParse(obj);
60
+ const result = PluginSchema.safeParse(obj);
54
61
  if (!result.success) {
55
62
  return {
56
63
  valid: false,
57
64
  error: result.error.issues.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ')
58
65
  };
59
66
  }
60
- // Use the original object to preserve prototype and 'this' context,
61
- // but we can use the parsed data to ensure defaults are applied if we want.
62
- // For now, let's just return the original object casted to IPlugin.
63
- const plugin = obj;
64
- // Apply defaults/formatting from Zod if needed (optional)
65
- if (!plugin.version && result.data.version)
66
- plugin.version = result.data.version;
67
- // Shim onUnload if missing
67
+ // Cast to IPlugin (fill in missing optional methods if needed)
68
+ const plugin = result.data;
69
+ // Shim onUnload if missing (since we made it optional in schema but it is required in IPlugin interface usually,
70
+ // though we can be lenient)
68
71
  if (!plugin.onUnload) {
69
72
  plugin.onUnload = () => { };
70
73
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pluginValidator.js","sourceRoot":"","sources":["../../src/utils/pluginValidator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"AAAA,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,EACjC,cAAc,EAAE,MAAM,EAAE,GAAG,SAAS,EACpC,MAAM,EAAE,MAAM,GACf,IAAI,CAuBN;AAED,wBAAgB,eAAe,CAC3B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EAAE,GAAG,SAAS,EACjC,IAAI,EAAE,YAAY,GAAG,KAAK,GAC3B,IAAI,CAIN"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,sBAAsB,CAClC,UAAkB,EAClB,WAAiC,EACjC,cAAoC,EACpC,MAAc;IAEd,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,kCAAkC,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACD,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,8CAA8C;YAC9C,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,iBAAiB,UAAU,IAAI,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAC3C,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,CACzD,CAAC;QAEF,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,0CAA0C,UAAU,IAAI,CAAC,CAAC;QAC/G,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAC3B,UAAkB,EAClB,WAAiC,EACjC,IAA0B;IAE1B,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,yBAAyB,UAAU,eAAe,IAAI,eAAe,CAAC,CAAC;IAC3F,CAAC;AACL,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerRunner.d.ts","sourceRoot":"","sources":["../../src/worker/WorkerRunner.ts"],"names":[],"mappings":""}
@@ -1,7 +1,6 @@
1
1
  import { parentPort, workerData } from "worker_threads";
2
- import { WorkerMessageType, RPCMethod, HookType } from "../types";
2
+ import { WorkerMessageType, PluginPermission, RPCMethod, HookType } from "../types";
3
3
  import { errorParser } from "../utils/errorParser";
4
- import { logger } from "../logger";
5
4
  // This is the "Shell" that runs inside the Worker.
6
5
  // It receives the plugin path, loads it, and executes onLoad.
7
6
  // It creates a proxy Context that talks back to the main thread via postMessage.
@@ -11,7 +10,6 @@ const { pluginPath, pluginName } = workerData;
11
10
  // Map to store callbacks for hooks and events
12
11
  const hookCallbacks = new Map();
13
12
  const localEventListeners = new Map();
14
- let currentConfig = {};
15
13
  // Simple RPC Helper
16
14
  function rpc(method, ...args) {
17
15
  return new Promise((resolve, reject) => {
@@ -60,26 +58,26 @@ async function run() {
60
58
  }
61
59
  catch (e) {
62
60
  const error = errorParser(e, `Error in event listener for ${event}`);
63
- logger.getLogger(`Worker:${pluginName}`).error(`Error in event listener for ${event}:`, error.message);
61
+ console.error(`[Worker:${pluginName}] Error in event listener for ${event}:`, error.message);
64
62
  }
65
63
  }
66
64
  }
67
65
  }
68
66
  else if (msg.type === WorkerMessageType.UNLOAD) {
69
- logger.getLogger(`Worker:${pluginName}`).info(`Received UNLOAD signal.`);
67
+ console.log(`[Worker:${pluginName}] Received UNLOAD signal.`);
70
68
  if (plugin && plugin.onUnload) {
71
69
  try {
72
70
  await plugin.onUnload();
73
71
  }
74
72
  catch (e) {
75
- logger.getLogger(`Worker:${pluginName}`).error(`Error during onUnload:`, e);
73
+ console.error(`[Worker:${pluginName}] Error during onUnload:`, e);
76
74
  }
77
75
  }
78
76
  process.exit(0);
79
77
  }
80
78
  });
81
79
  try {
82
- logger.getLogger(`Worker:${pluginName}`).info(`Loading plugin from ${pluginPath}...`);
80
+ console.log(`[Worker:${pluginName}] Loading plugin from ${pluginPath}...`);
83
81
  // Dynamic Import of the Plugin
84
82
  const module = await import(pluginPath);
85
83
  // Find the plugin object (default export or named export compliant with IPlugin)
@@ -116,8 +114,6 @@ async function run() {
116
114
  if (!plugin) {
117
115
  throw new Error(`[Worker:${pluginName}] No valid plugin found in ${pluginPath}. Ensure you export an instance or class that implements IPlugin.`);
118
116
  }
119
- // Fetch actual config from host
120
- currentConfig = await rpc(RPCMethod.ConfigGet) || plugin.defaultConfig || {};
121
117
  // Send Manifest immediately after load for security context initialization in host
122
118
  parentPort.postMessage({
123
119
  type: WorkerMessageType.MANIFEST,
@@ -132,23 +128,13 @@ async function run() {
132
128
  });
133
129
  // Create Proxy Context
134
130
  const contextProxy = {
135
- manager: {},
136
- registerApi: (api) => {
137
- // In worker mode, API registration is handled via RPC to main thread
138
- // This is a placeholder - actual implementation would need to communicate with host
139
- rpc(RPCMethod.ManagerRegisterApi, api);
140
- },
141
- get config() {
142
- // Return a proxy that can potentially be async or just fetch once and update?
143
- // For now, since config needs to be sync, we keep a local copy and update it.
144
- return currentConfig;
145
- },
131
+ manager: {}, // Manager is not accessible remotely directly
132
+ config: plugin.defaultConfig || {}, // Initial config (todo: fetch actual valid config)
146
133
  storage: {
147
134
  get: (key) => rpc(RPCMethod.StorageGet, key),
148
135
  set: (key, val) => rpc(RPCMethod.StorageSet, key, val),
149
136
  delete: (key) => rpc(RPCMethod.StorageDelete, key),
150
- clear: () => rpc(RPCMethod.StorageClear),
151
- reload: () => rpc(RPCMethod.StorageReload)
137
+ clear: () => rpc(RPCMethod.StorageClear)
152
138
  },
153
139
  emit: (event, payload) => rpc(RPCMethod.EventsEmit, event, payload),
154
140
  on: (event, cb) => {
@@ -205,20 +191,10 @@ async function run() {
205
191
  // Run setup (Hooks)
206
192
  if (plugin.setup) {
207
193
  const builderVal = {
208
- config: currentConfig,
209
- onStart: (callback) => {
210
- const hookId = Math.random().toString(36).substring(7);
211
- hookCallbacks.set(hookId, callback);
212
- rpc(RPCMethod.HooksRegister, HookType.ON_START, {
213
- filter: /.*/.source,
214
- pluginName,
215
- id: hookId
216
- });
217
- },
218
- onResolve: (filterOrConfig, callback, options) => {
219
- const filter = filterOrConfig instanceof RegExp ? filterOrConfig : filterOrConfig.filter;
194
+ onResolve: (filter, callback, options) => {
220
195
  const hookId = Math.random().toString(36).substring(7);
221
196
  hookCallbacks.set(hookId, callback);
197
+ // We need to pass the filter source string
222
198
  rpc(RPCMethod.HooksRegister, HookType.ON_RESOLVE, {
223
199
  filter: filter.source,
224
200
  pluginName,
@@ -226,8 +202,7 @@ async function run() {
226
202
  options
227
203
  });
228
204
  },
229
- onLoad: (filterOrConfig, callback, options) => {
230
- const filter = filterOrConfig instanceof RegExp ? filterOrConfig : filterOrConfig.filter;
205
+ onLoad: (filter, callback, options) => {
231
206
  const hookId = Math.random().toString(36).substring(7);
232
207
  hookCallbacks.set(hookId, callback);
233
208
  rpc(RPCMethod.HooksRegister, HookType.ON_LOAD, {
@@ -263,7 +238,7 @@ async function run() {
263
238
  await plugin.onStarted();
264
239
  }
265
240
  catch (e) {
266
- logger.getLogger(`Worker:${pluginName}`).error(`Error in onStarted:`, e);
241
+ console.error(`[Worker:${pluginName}] Error in onStarted:`, e);
267
242
  }
268
243
  }
269
244
  }
@@ -271,7 +246,7 @@ async function run() {
271
246
  }
272
247
  catch (e) {
273
248
  const error = errorParser(e, `[Worker:${pluginName}] Error:`);
274
- logger.getLogger(`Worker:${pluginName}`).error(error.message);
249
+ console.error(error.message);
275
250
  parentPort.postMessage({ type: WorkerMessageType.LOAD_ERROR, error: error.message });
276
251
  }
277
252
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerRunner.js","sourceRoot":"","sources":["../../src/worker/WorkerRunner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bun_plugins",
3
- "version": "1.2.5",
3
+ "version": "1.2.6",
4
4
  "description": "A powerful and secure plugin system for Bun applications",
5
5
  "author": "memelser <nglmercer@gmail.com>",
6
6
  "repository": {
@@ -20,15 +20,12 @@
20
20
  ],
21
21
  "exports": {
22
22
  ".": {
23
- "import": "./dist/src/index.js",
24
- "types": "./dist/src/index.d.ts"
25
- },
26
- "./src/types/plugin-registry-base": {
27
- "types": "./dist/src/types/plugin-registry-base.d.ts"
23
+ "import": "./dist/index.js",
24
+ "types": "./dist/index.d.ts"
28
25
  }
29
26
  },
30
27
  "scripts": {
31
- "build": "bun tsc",
28
+ "build": "rm -rf dist && tsc",
32
29
  "test": "bun test ./tests",
33
30
  "typecheck": "bun tsc --noEmit",
34
31
  "prepublishOnly": "bun run build"
@@ -36,11 +33,11 @@
36
33
  "devDependencies": {
37
34
  "@types/bun": "latest",
38
35
  "@types/semver": "^7.7.1",
36
+ "bun_plugins": "^1.0.4",
39
37
  "typescript": "^5.0.0"
40
38
  },
41
39
  "dependencies": {
42
- "arktype": "^2.1.0",
43
40
  "semver": "^7.7.3",
44
- "zod": "^4.3.5"
41
+ "zod": "^3.23.0"
45
42
  }
46
43
  }
package/LICENSE DELETED
@@ -1,9 +0,0 @@
1
- # MIT License
2
-
3
- Copyright (c) 2025
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6
-
7
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8
-
9
- THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,14 +0,0 @@
1
- /**
2
- * Declarative Action Registry Example
3
- *
4
- * This example demonstrates a clean, declarative approach to building
5
- * plugins with action registries using shared utilities.
6
- */
7
- declare const createRegistryPlugin: () => import("bun_plugins").IPlugin;
8
- declare const createMathPlugin: () => import("bun_plugins").IPlugin;
9
- declare const createTextPlugin: () => import("bun_plugins").IPlugin;
10
- declare const createUtilityPlugin: () => import("bun_plugins").IPlugin;
11
- declare const demonstrateDeclarativeActionRegistry: () => Promise<void>;
12
- declare const demonstrateDynamicLoading: () => Promise<void>;
13
- export { createRegistryPlugin, createMathPlugin, createTextPlugin, createUtilityPlugin, demonstrateDeclarativeActionRegistry, demonstrateDynamicLoading };
14
- //# sourceMappingURL=action-registry-declarative.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-registry-declarative.d.ts","sourceRoot":"","sources":["../../examples/action-registry-declarative.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,QAAA,MAAM,oBAAoB,qCAUxB,CAAC;AAGH,QAAA,MAAM,gBAAgB,qCAMpB,CAAC;AAEH,QAAA,MAAM,gBAAgB,qCAMpB,CAAC;AAEH,QAAA,MAAM,mBAAmB,qCAMvB,CAAC;AA4CH,QAAA,MAAM,oCAAoC,qBA2CzC,CAAC;AAGF,QAAA,MAAM,yBAAyB,qBAS9B,CAAC;AAGF,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,oCAAoC,EACpC,yBAAyB,EAC1B,CAAC"}