bun_plugins 1.2.4 → 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.
- package/README.md +2 -2
- package/dist/{src/PluginManager.d.ts → PluginManager.d.ts} +9 -16
- package/dist/PluginManager.d.ts.map +1 -0
- package/dist/{src/PluginManager.js → PluginManager.js} +188 -187
- package/dist/PluginManager.js.map +1 -0
- package/dist/{src/index.d.ts → index.d.ts} +1 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/{src/index.js → index.js} +0 -2
- package/dist/index.js.map +1 -0
- package/dist/{src/managers → managers}/ContextFactory.d.ts +1 -1
- package/dist/managers/ContextFactory.d.ts.map +1 -0
- package/dist/{src/managers → managers}/ContextFactory.js +29 -52
- package/dist/managers/ContextFactory.js.map +1 -0
- package/dist/managers/DependencyManager.d.ts.map +1 -0
- package/dist/{src/managers → managers}/DependencyManager.js +5 -7
- package/dist/managers/DependencyManager.js.map +1 -0
- package/dist/{src/managers → managers}/HooksManager.d.ts +1 -4
- package/dist/managers/HooksManager.d.ts.map +1 -0
- package/dist/{src/managers → managers}/HooksManager.js +8 -36
- package/dist/managers/HooksManager.js.map +1 -0
- package/dist/managers/ResourceManager.d.ts.map +1 -0
- package/dist/{src/managers → managers}/ResourceManager.js +3 -3
- package/dist/managers/ResourceManager.js.map +1 -0
- package/dist/{src/storage → storage}/JsonPluginStorage.d.ts +1 -2
- package/dist/storage/JsonPluginStorage.d.ts.map +1 -0
- package/dist/storage/JsonPluginStorage.js +63 -0
- package/dist/storage/JsonPluginStorage.js.map +1 -0
- package/dist/{src/types.d.ts → types.d.ts} +19 -60
- package/dist/types.d.ts.map +1 -0
- package/dist/{src/types.js → types.js} +0 -7
- package/dist/types.js.map +1 -0
- package/dist/utils/errorParser.d.ts.map +1 -0
- package/dist/{src/utils → utils}/errorParser.js +5 -2
- package/dist/utils/errorParser.js.map +1 -0
- package/dist/utils/pluginValidator.d.ts +93 -0
- package/dist/utils/pluginValidator.d.ts.map +1 -0
- package/dist/{src/utils → utils}/pluginValidator.js +14 -12
- package/dist/utils/pluginValidator.js.map +1 -0
- package/dist/utils/security.d.ts.map +1 -0
- package/dist/utils/security.js.map +1 -0
- package/dist/worker/WorkerRunner.d.ts.map +1 -0
- package/dist/{src/worker → worker}/WorkerRunner.js +13 -33
- package/dist/worker/WorkerRunner.js.map +1 -0
- package/package.json +7 -18
- package/LICENSE +0 -9
- package/dist/plugins/ActionRegistryPlugin.d.ts +0 -23
- package/dist/plugins/ActionRegistryPlugin.d.ts.map +0 -1
- package/dist/plugins/ActionRegistryPlugin.js +0 -56
- package/dist/plugins/ActionRegistryPlugin.js.map +0 -1
- package/dist/plugins/DynamicJSActionsPlugin.d.ts +0 -21
- package/dist/plugins/DynamicJSActionsPlugin.d.ts.map +0 -1
- package/dist/plugins/DynamicJSActionsPlugin.js +0 -57
- package/dist/plugins/DynamicJSActionsPlugin.js.map +0 -1
- package/dist/plugins/DynamicMathActionsPlugin.d.ts +0 -22
- package/dist/plugins/DynamicMathActionsPlugin.d.ts.map +0 -1
- package/dist/plugins/DynamicMathActionsPlugin.js +0 -64
- package/dist/plugins/DynamicMathActionsPlugin.js.map +0 -1
- package/dist/plugins/DynamicTextActionsPlugin.d.ts +0 -22
- package/dist/plugins/DynamicTextActionsPlugin.d.ts.map +0 -1
- package/dist/plugins/DynamicTextActionsPlugin.js +0 -58
- package/dist/plugins/DynamicTextActionsPlugin.js.map +0 -1
- package/dist/plugins/DynamicUtilityActionsPlugin.d.ts +0 -22
- package/dist/plugins/DynamicUtilityActionsPlugin.d.ts.map +0 -1
- package/dist/plugins/DynamicUtilityActionsPlugin.js +0 -75
- package/dist/plugins/DynamicUtilityActionsPlugin.js.map +0 -1
- package/dist/plugins/LifecycleDemoPlugin.d.ts +0 -20
- package/dist/plugins/LifecycleDemoPlugin.d.ts.map +0 -1
- package/dist/plugins/LifecycleDemoPlugin.js +0 -34
- package/dist/plugins/LifecycleDemoPlugin.js.map +0 -1
- package/dist/plugins/MathPlugin.d.ts +0 -16
- package/dist/plugins/MathPlugin.d.ts.map +0 -1
- package/dist/plugins/MathPlugin.js +0 -25
- package/dist/plugins/MathPlugin.js.map +0 -1
- package/dist/plugins/MyJSPlugin.d.ts +0 -7
- package/dist/plugins/MyJSPlugin.d.ts.map +0 -1
- package/dist/plugins/MyJSPlugin.js +0 -12
- package/dist/plugins/MyJSPlugin.js.map +0 -1
- package/dist/plugins/arktype/index.d.ts +0 -8
- package/dist/plugins/arktype/index.d.ts.map +0 -1
- package/dist/plugins/arktype/index.js +0 -25
- package/dist/plugins/arktype/index.js.map +0 -1
- package/dist/src/Plugin.d.ts +0 -28
- package/dist/src/Plugin.d.ts.map +0 -1
- package/dist/src/Plugin.js +0 -36
- package/dist/src/Plugin.js.map +0 -1
- package/dist/src/PluginManager.d.ts.map +0 -1
- package/dist/src/PluginManager.js.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/logger/LoggerAdapter.d.ts +0 -77
- package/dist/src/logger/LoggerAdapter.d.ts.map +0 -1
- package/dist/src/logger/LoggerAdapter.js +0 -242
- package/dist/src/logger/LoggerAdapter.js.map +0 -1
- package/dist/src/logger/LoggerFactory.d.ts +0 -73
- package/dist/src/logger/LoggerFactory.d.ts.map +0 -1
- package/dist/src/logger/LoggerFactory.js +0 -99
- package/dist/src/logger/LoggerFactory.js.map +0 -1
- package/dist/src/logger/index.d.ts +0 -3
- package/dist/src/logger/index.d.ts.map +0 -1
- package/dist/src/logger/index.js +0 -3
- package/dist/src/logger/index.js.map +0 -1
- package/dist/src/managers/ContextFactory.d.ts.map +0 -1
- package/dist/src/managers/ContextFactory.js.map +0 -1
- package/dist/src/managers/DependencyManager.d.ts.map +0 -1
- package/dist/src/managers/DependencyManager.js.map +0 -1
- package/dist/src/managers/HooksManager.d.ts.map +0 -1
- package/dist/src/managers/HooksManager.js.map +0 -1
- package/dist/src/managers/ResourceManager.d.ts.map +0 -1
- package/dist/src/managers/ResourceManager.js.map +0 -1
- package/dist/src/storage/JsonPluginStorage.d.ts.map +0 -1
- package/dist/src/storage/JsonPluginStorage.js +0 -75
- package/dist/src/storage/JsonPluginStorage.js.map +0 -1
- package/dist/src/types/arktype_converter.d.ts +0 -19
- package/dist/src/types/arktype_converter.d.ts.map +0 -1
- package/dist/src/types/arktype_converter.js +0 -73
- package/dist/src/types/arktype_converter.js.map +0 -1
- package/dist/src/types/generator.d.ts +0 -9
- package/dist/src/types/generator.d.ts.map +0 -1
- package/dist/src/types/generator.js +0 -9
- package/dist/src/types/generator.js.map +0 -1
- package/dist/src/types/interfaces.d.ts +0 -55
- package/dist/src/types/interfaces.d.ts.map +0 -1
- package/dist/src/types/interfaces.js +0 -5
- package/dist/src/types/interfaces.js.map +0 -1
- package/dist/src/types/plugin-registry-base.d.ts +0 -78
- package/dist/src/types/plugin-registry-base.d.ts.map +0 -1
- package/dist/src/types/plugin-registry-base.js +0 -6
- package/dist/src/types/plugin-registry-base.js.map +0 -1
- package/dist/src/types/plugin-registry.d.ts +0 -2
- package/dist/src/types/plugin-registry.d.ts.map +0 -1
- package/dist/src/types/plugin-registry.js +0 -4
- package/dist/src/types/plugin-registry.js.map +0 -1
- package/dist/src/types/plugin_generator.d.ts +0 -62
- package/dist/src/types/plugin_generator.d.ts.map +0 -1
- package/dist/src/types/plugin_generator.js +0 -700
- package/dist/src/types/plugin_generator.js.map +0 -1
- package/dist/src/types.d.ts.map +0 -1
- package/dist/src/types.js.map +0 -1
- package/dist/src/utils/errorParser.d.ts.map +0 -1
- package/dist/src/utils/errorParser.js.map +0 -1
- package/dist/src/utils/pluginValidator.d.ts +0 -17
- package/dist/src/utils/pluginValidator.d.ts.map +0 -1
- package/dist/src/utils/pluginValidator.js.map +0 -1
- package/dist/src/utils/security.d.ts.map +0 -1
- package/dist/src/utils/security.js.map +0 -1
- package/dist/src/worker/WorkerRunner.d.ts.map +0 -1
- package/dist/src/worker/WorkerRunner.js.map +0 -1
- package/plugin-types/index.d.ts +0 -20
- package/plugin-types/plugin-registry.d.ts +0 -148
- /package/dist/{src/managers → managers}/DependencyManager.d.ts +0 -0
- /package/dist/{src/managers → managers}/ResourceManager.d.ts +0 -0
- /package/dist/{src/utils → utils}/errorParser.d.ts +0 -0
- /package/dist/{src/utils → utils}/security.d.ts +0 -0
- /package/dist/{src/utils → utils}/security.js +0 -0
- /package/dist/{src/worker → worker}/WorkerRunner.d.ts +0 -0
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
export { z };
|
|
3
|
-
import type { PluginFactory } from "../plugin-types/plugin-registry";
|
|
4
|
-
import type { PluginApiType } from "../plugin-types/plugin-registry";
|
|
5
|
-
export type PluginNames = keyof PluginFactory;
|
|
6
|
-
export type { PluginTypeInfo, ArkTypeSchemaInfo, PropertyInfo, MethodParamInfo, GeneratorOptions } from "./types/generator";
|
|
7
|
-
export * from "./types/plugin-registry-base";
|
|
8
|
-
export { ArkTypeConverter, PluginTypeGenerator, generatePluginTypes } from "./types/generator";
|
|
9
2
|
export declare enum WorkerMessageType {
|
|
10
3
|
RPC_CALL = "RPC_CALL",
|
|
11
4
|
HOOK_CALL = "HOOK_CALL",
|
|
@@ -34,14 +27,11 @@ export declare enum RPCMethod {
|
|
|
34
27
|
ManagerGetPlugin = "manager:getPlugin",
|
|
35
28
|
Log = "log",
|
|
36
29
|
NetworkFetch = "network:fetch",
|
|
37
|
-
PermissionCheck = "perm:check"
|
|
38
|
-
ConfigGet = "config:get",
|
|
39
|
-
StorageReload = "storage:reload"
|
|
30
|
+
PermissionCheck = "perm:check"
|
|
40
31
|
}
|
|
41
32
|
export declare enum HookType {
|
|
42
33
|
ON_RESOLVE = "onResolve",
|
|
43
|
-
ON_LOAD = "onLoad"
|
|
44
|
-
ON_START = "onStart"
|
|
34
|
+
ON_LOAD = "onLoad"
|
|
45
35
|
}
|
|
46
36
|
export declare enum HookOrder {
|
|
47
37
|
PRE = "pre",
|
|
@@ -51,7 +41,7 @@ export interface PluginResource {
|
|
|
51
41
|
workers: Worker[];
|
|
52
42
|
timers: {
|
|
53
43
|
id: number | Timer;
|
|
54
|
-
type:
|
|
44
|
+
type: 'timeout' | 'interval';
|
|
55
45
|
}[];
|
|
56
46
|
eventListeners: {
|
|
57
47
|
event: string;
|
|
@@ -65,13 +55,13 @@ export interface HookRegistry<T> {
|
|
|
65
55
|
order?: HookOrder;
|
|
66
56
|
}
|
|
67
57
|
export interface AppEvents {
|
|
68
|
-
log: {
|
|
58
|
+
"log": {
|
|
69
59
|
level: "info" | "error" | "warn";
|
|
70
60
|
message: string;
|
|
71
61
|
};
|
|
72
|
-
"
|
|
73
|
-
|
|
74
|
-
|
|
62
|
+
"cmd:input": {
|
|
63
|
+
command: string;
|
|
64
|
+
args: string[];
|
|
75
65
|
};
|
|
76
66
|
[key: string]: any;
|
|
77
67
|
}
|
|
@@ -81,39 +71,11 @@ export interface IPluginStorage {
|
|
|
81
71
|
set<T>(key: string, value: T): Promise<void>;
|
|
82
72
|
delete(key: string): Promise<void>;
|
|
83
73
|
clear(): Promise<void>;
|
|
84
|
-
reload(): Promise<void>;
|
|
85
74
|
}
|
|
86
75
|
export interface Logger {
|
|
87
76
|
info(msg: string, ...args: any[]): void;
|
|
88
77
|
warn(msg: string, ...args: any[]): void;
|
|
89
78
|
error(msg: string, ...args: any[]): void;
|
|
90
|
-
debug?(msg: string, ...args: any[]): void;
|
|
91
|
-
child?(context: string): Logger;
|
|
92
|
-
}
|
|
93
|
-
export interface IPluginManager {
|
|
94
|
-
register(plugin: IPlugin): Promise<void>;
|
|
95
|
-
registerIsolated(pluginPath: string, pluginName: string): Promise<void>;
|
|
96
|
-
unregister(pluginName: string): Promise<void>;
|
|
97
|
-
getPlugin(name: string): IPlugin | undefined;
|
|
98
|
-
listPlugins(): string[];
|
|
99
|
-
loadPluginsFromDirectory(directoryPath?: string): Promise<void>;
|
|
100
|
-
disablePlugin(name: string): Promise<void>;
|
|
101
|
-
enablePlugin(name: string): Promise<void>;
|
|
102
|
-
reloadPlugin(name: string): Promise<void>;
|
|
103
|
-
runOnResolve(args: OnResolveArgs): Promise<any>;
|
|
104
|
-
runOnLoad(args: OnLoadArgs): Promise<any>;
|
|
105
|
-
toBunPlugin(): any;
|
|
106
|
-
enableHotReload(pluginDir: string): void;
|
|
107
|
-
getWorkerFactory(): (url: string | URL, options?: BunWorkerOptions) => Worker;
|
|
108
|
-
getMetrics(): any;
|
|
109
|
-
getPluginStatus(): Record<string, any>;
|
|
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,8 +86,8 @@ export interface PluginContext {
|
|
|
124
86
|
};
|
|
125
87
|
storage: IPluginStorage;
|
|
126
88
|
config: Record<string, any>;
|
|
127
|
-
manager:
|
|
128
|
-
getPlugin
|
|
89
|
+
manager: any;
|
|
90
|
+
getPlugin(name: string): unknown | undefined;
|
|
129
91
|
log: Logger;
|
|
130
92
|
createWorker(url: string | URL, options?: BunWorkerOptions): BunWorker;
|
|
131
93
|
network: {
|
|
@@ -154,7 +116,13 @@ export declare class AccessDeniedError extends Error {
|
|
|
154
116
|
export declare const BasicPluginSchema: z.ZodObject<{
|
|
155
117
|
name: z.ZodString;
|
|
156
118
|
version: z.ZodString;
|
|
157
|
-
}, z.
|
|
119
|
+
}, "strip", z.ZodTypeAny, {
|
|
120
|
+
name: string;
|
|
121
|
+
version: string;
|
|
122
|
+
}, {
|
|
123
|
+
name: string;
|
|
124
|
+
version: string;
|
|
125
|
+
}>;
|
|
158
126
|
export interface IPlugin {
|
|
159
127
|
name: string;
|
|
160
128
|
version: string;
|
|
@@ -171,8 +139,7 @@ export interface IPlugin {
|
|
|
171
139
|
onLoad(context: PluginContext): Promise<void> | void;
|
|
172
140
|
onStarted?: () => Promise<void> | void;
|
|
173
141
|
onUnload(): Promise<void> | void;
|
|
174
|
-
|
|
175
|
-
getApi?: () => unknown;
|
|
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
|
-
|
|
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,8 +1,4 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
export { z };
|
|
3
|
-
export * from "./types/plugin-registry-base";
|
|
4
|
-
// Re-export Converter
|
|
5
|
-
export { ArkTypeConverter, PluginTypeGenerator, generatePluginTypes } from "./types/generator";
|
|
6
2
|
export var WorkerMessageType;
|
|
7
3
|
(function (WorkerMessageType) {
|
|
8
4
|
WorkerMessageType["RPC_CALL"] = "RPC_CALL";
|
|
@@ -35,14 +31,11 @@ export var RPCMethod;
|
|
|
35
31
|
RPCMethod["Log"] = "log";
|
|
36
32
|
RPCMethod["NetworkFetch"] = "network:fetch";
|
|
37
33
|
RPCMethod["PermissionCheck"] = "perm:check";
|
|
38
|
-
RPCMethod["ConfigGet"] = "config:get";
|
|
39
|
-
RPCMethod["StorageReload"] = "storage:reload";
|
|
40
34
|
})(RPCMethod || (RPCMethod = {}));
|
|
41
35
|
export var HookType;
|
|
42
36
|
(function (HookType) {
|
|
43
37
|
HookType["ON_RESOLVE"] = "onResolve";
|
|
44
38
|
HookType["ON_LOAD"] = "onLoad";
|
|
45
|
-
HookType["ON_START"] = "onStart";
|
|
46
39
|
})(HookType || (HookType = {}));
|
|
47
40
|
export var HookOrder;
|
|
48
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
|
-
|
|
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
|
-
|
|
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,9 +16,16 @@ const pluginSchemaDefinition = z.object({
|
|
|
17
16
|
onLoad: z.function(),
|
|
18
17
|
onStarted: z.function().optional(),
|
|
19
18
|
onUnload: z.function().optional(),
|
|
20
|
-
|
|
19
|
+
getSharedApi: z.function().optional(),
|
|
21
20
|
setup: z.function().optional(),
|
|
22
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
|
+
});
|
|
23
29
|
/**
|
|
24
30
|
* Validates if an unknown object is a valid plugin.
|
|
25
31
|
* Handles:
|
|
@@ -51,21 +57,17 @@ export function validatePlugin(candidate) {
|
|
|
51
57
|
}
|
|
52
58
|
}
|
|
53
59
|
function validatePluginInstance(obj) {
|
|
54
|
-
const result =
|
|
60
|
+
const result = PluginSchema.safeParse(obj);
|
|
55
61
|
if (!result.success) {
|
|
56
62
|
return {
|
|
57
63
|
valid: false,
|
|
58
64
|
error: result.error.issues.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ')
|
|
59
65
|
};
|
|
60
66
|
}
|
|
61
|
-
//
|
|
62
|
-
|
|
63
|
-
//
|
|
64
|
-
|
|
65
|
-
// Apply defaults/formatting from Zod if needed (optional)
|
|
66
|
-
if (!plugin.version && result.data.version)
|
|
67
|
-
plugin.version = result.data.version;
|
|
68
|
-
// 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)
|
|
69
71
|
if (!plugin.onUnload) {
|
|
70
72
|
plugin.onUnload = () => { };
|
|
71
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,18 +128,13 @@ async function run() {
|
|
|
132
128
|
});
|
|
133
129
|
// Create Proxy Context
|
|
134
130
|
const contextProxy = {
|
|
135
|
-
manager: {},
|
|
136
|
-
|
|
137
|
-
// Return a proxy that can potentially be async or just fetch once and update?
|
|
138
|
-
// For now, since config needs to be sync, we keep a local copy and update it.
|
|
139
|
-
return currentConfig;
|
|
140
|
-
},
|
|
131
|
+
manager: {}, // Manager is not accessible remotely directly
|
|
132
|
+
config: plugin.defaultConfig || {}, // Initial config (todo: fetch actual valid config)
|
|
141
133
|
storage: {
|
|
142
134
|
get: (key) => rpc(RPCMethod.StorageGet, key),
|
|
143
135
|
set: (key, val) => rpc(RPCMethod.StorageSet, key, val),
|
|
144
136
|
delete: (key) => rpc(RPCMethod.StorageDelete, key),
|
|
145
|
-
clear: () => rpc(RPCMethod.StorageClear)
|
|
146
|
-
reload: () => rpc(RPCMethod.StorageReload)
|
|
137
|
+
clear: () => rpc(RPCMethod.StorageClear)
|
|
147
138
|
},
|
|
148
139
|
emit: (event, payload) => rpc(RPCMethod.EventsEmit, event, payload),
|
|
149
140
|
on: (event, cb) => {
|
|
@@ -200,20 +191,10 @@ async function run() {
|
|
|
200
191
|
// Run setup (Hooks)
|
|
201
192
|
if (plugin.setup) {
|
|
202
193
|
const builderVal = {
|
|
203
|
-
|
|
204
|
-
onStart: (callback) => {
|
|
205
|
-
const hookId = Math.random().toString(36).substring(7);
|
|
206
|
-
hookCallbacks.set(hookId, callback);
|
|
207
|
-
rpc(RPCMethod.HooksRegister, HookType.ON_START, {
|
|
208
|
-
filter: /.*/.source,
|
|
209
|
-
pluginName,
|
|
210
|
-
id: hookId
|
|
211
|
-
});
|
|
212
|
-
},
|
|
213
|
-
onResolve: (filterOrConfig, callback, options) => {
|
|
214
|
-
const filter = filterOrConfig instanceof RegExp ? filterOrConfig : filterOrConfig.filter;
|
|
194
|
+
onResolve: (filter, callback, options) => {
|
|
215
195
|
const hookId = Math.random().toString(36).substring(7);
|
|
216
196
|
hookCallbacks.set(hookId, callback);
|
|
197
|
+
// We need to pass the filter source string
|
|
217
198
|
rpc(RPCMethod.HooksRegister, HookType.ON_RESOLVE, {
|
|
218
199
|
filter: filter.source,
|
|
219
200
|
pluginName,
|
|
@@ -221,8 +202,7 @@ async function run() {
|
|
|
221
202
|
options
|
|
222
203
|
});
|
|
223
204
|
},
|
|
224
|
-
onLoad: (
|
|
225
|
-
const filter = filterOrConfig instanceof RegExp ? filterOrConfig : filterOrConfig.filter;
|
|
205
|
+
onLoad: (filter, callback, options) => {
|
|
226
206
|
const hookId = Math.random().toString(36).substring(7);
|
|
227
207
|
hookCallbacks.set(hookId, callback);
|
|
228
208
|
rpc(RPCMethod.HooksRegister, HookType.ON_LOAD, {
|
|
@@ -258,7 +238,7 @@ async function run() {
|
|
|
258
238
|
await plugin.onStarted();
|
|
259
239
|
}
|
|
260
240
|
catch (e) {
|
|
261
|
-
|
|
241
|
+
console.error(`[Worker:${pluginName}] Error in onStarted:`, e);
|
|
262
242
|
}
|
|
263
243
|
}
|
|
264
244
|
}
|
|
@@ -266,7 +246,7 @@ async function run() {
|
|
|
266
246
|
}
|
|
267
247
|
catch (e) {
|
|
268
248
|
const error = errorParser(e, `[Worker:${pluginName}] Error:`);
|
|
269
|
-
|
|
249
|
+
console.error(error.message);
|
|
270
250
|
parentPort.postMessage({ type: WorkerMessageType.LOAD_ERROR, error: error.message });
|
|
271
251
|
}
|
|
272
252
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkerRunner.js","sourceRoot":"","sources":["../../src/worker/WorkerRunner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAGH,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACX,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,mDAAmD;AACnD,8DAA8D;AAC9D,iFAAiF;AAEjF,IAAI,CAAC,UAAU;IAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAE7E,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;AAE9C,8CAA8C;AAC9C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;AAClD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAyB,CAAC;AAE7D,oBAAoB;AACpB,SAAS,GAAG,CAAC,MAAc,EAAE,GAAG,IAAW;IACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAE,EAAE;YACzB,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBAChB,UAAW,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACpC,IAAI,GAAG,CAAC,KAAK;oBAAE,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;;oBACvC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC,CAAC;QAEF,UAAW,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnC,UAAW,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,GAAG;IACd,IAAI,MAAM,GAAwB,SAAS,CAAC;IAE5C,+DAA+D;IAC/D,UAAW,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAQ,EAAE,EAAE;QACzC,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,SAAS,EAAE,CAAC;YAC3C,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;YACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACpC,UAAW,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;gBACxF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;oBACpD,UAAW,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACrG,CAAC;YACL,CAAC;iBAAM,CAAC;gBACH,UAAW,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACzG,CAAC;QACL,CAAC;aACI,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,UAAU,EAAE,CAAC;YACjD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;YAC/B,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,SAAS,EAAE,CAAC;gBACZ,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACD,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;oBACtB,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,EAAE,+BAA+B,KAAK,EAAE,CAAC,CAAC;wBACrE,OAAO,CAAC,KAAK,CAAC,WAAW,UAAU,iCAAiC,KAAK,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBACjG,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;aACI,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,2BAA2B,CAAC,CAAC;YAC9D,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACD,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC5B,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,OAAO,CAAC,KAAK,CAAC,WAAW,UAAU,0BAA0B,EAAE,CAAC,CAAC,CAAC;gBACtE,CAAC;YACL,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,WAAW,UAAU,yBAAyB,UAAU,KAAK,CAAC,CAAC;QAE3E,+BAA+B;QAC/B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAC;QAExC,iFAAiF;QACjF,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAO,EAAE;YACjC,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,8BAA8B;YAC9B,IAAI,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO,GAAG,CAAC;YAC7D,uCAAuC;YACvC,IAAI,OAAO,GAAG,KAAK,UAAU,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;oBAC3B,IAAI,QAAQ,CAAC,IAAI,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,UAAU;wBAAE,OAAO,QAAQ,CAAC;gBAChF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,kDAAkD;gBACtD,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACT,8EAA8E;YAC9E,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,SAAS,EAAE,CAAC;oBACZ,MAAM,GAAG,SAAS,CAAC;oBACnB,MAAM;gBACV,CAAC;YACL,CAAC;QACN,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,8BAA8B,UAAU,mEAAmE,CAAC,CAAC;QACtJ,CAAC;QAED,mFAAmF;QACnF,UAAW,CAAC,WAAW,CAAC;YACpB,IAAI,EAAE,iBAAiB,CAAC,QAAQ;YAChC,QAAQ,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;aACxC;SACJ,CAAC,CAAC;QAEH,uBAAuB;QACvB,MAAM,YAAY,GAAkB;YAChC,OAAO,EAAE,EAAS,EAAE,8CAA8C;YAClE,MAAM,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE,EAAE,mDAAmD;YAEvF,OAAO,EAAE;gBACL,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC;gBAC5C,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,CAAC;gBACtD,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC;gBAClD,KAAK,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC;aAC3C;YAED,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;YAEnE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;gBACb,MAAM,OAAO,GAAG,KAAe,CAAC;gBAChC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpC,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;oBAC5C,gDAAgD;oBAChD,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBACrC,CAAC;gBACD,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,EAAE;gBACJ,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;gBACnE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;aAChD;YAED,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC;YAElE,GAAG,EAAE;gBACD,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;gBAChE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;gBAChE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;aACrE;YAED,YAAY,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA,CAAC,CAAC;YAExF,WAAW;YACX,OAAO,EAAE;gBACL,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;oBACxB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC3D,mCAAmC;oBACnC,OAAO;wBACH,MAAM,EAAE,GAAG,CAAC,MAAM;wBAClB,UAAU,EAAE,GAAG,CAAC,UAAU;wBAC1B,EAAE,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG;wBACzC,OAAO,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;wBACjC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI;wBAC1B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;qBAC7B,CAAC;gBACnB,CAAC;aACJ;YACD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC9D,CAAC;YACD,GAAG,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE;gBACf,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;oBACZ,yDAAyD;oBACzD,kFAAkF;oBAClF,8IAA8I;oBAC9I,OAAO,OAAO,CAAC,GAAG,CAAC,IAAc,CAAC,CAAC;gBACxC,CAAC;aACJ,CAAC;YAEF,UAAU,EAAE,UAAU;YACtB,WAAW,EAAE,WAAW;YACxB,YAAY,EAAE,YAAY;YAC1B,aAAa,EAAE,aAAa;SAC/B,CAAC;QAEF,oBAAoB;QACpB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACd,MAAM,UAAU,GAAG;gBACf,SAAS,EAAE,CAAC,MAAc,EAAE,QAAkB,EAAE,OAAa,EAAE,EAAE;oBAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACvD,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACpC,2CAA2C;oBAC3C,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,UAAU,EAAE;wBAC9C,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,UAAU;wBACV,EAAE,EAAE,MAAM;wBACV,OAAO;qBACV,CAAC,CAAC;gBACP,CAAC;gBACF,MAAM,EAAE,CAAC,MAAc,EAAE,QAAkB,EAAE,OAAa,EAAE,EAAE;oBACzD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACvD,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;oBACpC,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,EAAE;wBAC3C,MAAM,EAAE,MAAM,CAAC,MAAM;wBACrB,UAAU;wBACV,EAAE,EAAE,MAAM;wBACV,OAAO;qBACV,CAAC,CAAC;gBACP,CAAC;aACJ,CAAC;YACF,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,aAAa;QACb,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAClC,UAAW,CAAC,WAAW,CAAC;gBACpB,IAAI,EAAE,iBAAiB,CAAC,YAAY;gBACpC,QAAQ,EAAE;oBACN,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;iBACxC;aACJ,CAAC,CAAC;QACP,CAAC;QAED,8CAA8C;QAC9C,UAAW,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAQ,EAAE,EAAE;YACzC,IAAI,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,QAAQ,EAAE,CAAC;gBAC1C,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC7B,IAAI,CAAC;wBACD,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC7B,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,OAAO,CAAC,KAAK,CAAC,WAAW,UAAU,uBAAuB,EAAE,CAAC,CAAC,CAAC;oBACnE,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;IAEP,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,EAAE,WAAW,UAAU,UAAU,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,UAAW,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1F,CAAC;AACL,CAAC;AAED,GAAG,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bun_plugins",
|
|
3
|
-
"version": "1.2.
|
|
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": {
|
|
@@ -16,39 +16,28 @@
|
|
|
16
16
|
"types": "dist/index.d.ts",
|
|
17
17
|
"type": "module",
|
|
18
18
|
"files": [
|
|
19
|
-
"dist"
|
|
20
|
-
"plugin-types"
|
|
19
|
+
"dist"
|
|
21
20
|
],
|
|
22
21
|
"exports": {
|
|
23
22
|
".": {
|
|
24
|
-
"import": "./dist/
|
|
25
|
-
"types": "./dist/
|
|
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"
|
|
23
|
+
"import": "./dist/index.js",
|
|
24
|
+
"types": "./dist/index.d.ts"
|
|
35
25
|
}
|
|
36
26
|
},
|
|
37
27
|
"scripts": {
|
|
38
|
-
"build": "
|
|
28
|
+
"build": "rm -rf dist && tsc",
|
|
39
29
|
"test": "bun test ./tests",
|
|
40
30
|
"typecheck": "bun tsc --noEmit",
|
|
41
|
-
"generate-types": "bun run scripts/generate-types.ts",
|
|
42
31
|
"prepublishOnly": "bun run build"
|
|
43
32
|
},
|
|
44
33
|
"devDependencies": {
|
|
45
34
|
"@types/bun": "latest",
|
|
46
35
|
"@types/semver": "^7.7.1",
|
|
36
|
+
"bun_plugins": "^1.0.4",
|
|
47
37
|
"typescript": "^5.0.0"
|
|
48
38
|
},
|
|
49
39
|
"dependencies": {
|
|
50
|
-
"arktype": "^2.1.0",
|
|
51
40
|
"semver": "^7.7.3",
|
|
52
|
-
"zod": "^
|
|
41
|
+
"zod": "^3.23.0"
|
|
53
42
|
}
|
|
54
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,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Plugin principal ActionRegistry para carga dinámica
|
|
3
|
-
* Este plugin proporciona el registro de acciones compartido
|
|
4
|
-
*/
|
|
5
|
-
import type { IPlugin, PluginContext } from "../src";
|
|
6
|
-
type EngineActionHandler = (...args: any[]) => any;
|
|
7
|
-
export declare class ActionRegistryPlugin implements IPlugin {
|
|
8
|
-
name: string;
|
|
9
|
-
version: string;
|
|
10
|
-
private actionRegistry;
|
|
11
|
-
constructor();
|
|
12
|
-
onLoad(context: PluginContext): void;
|
|
13
|
-
onUnload(): void;
|
|
14
|
-
getApi(): {
|
|
15
|
-
registerAction: (type: string, handler: EngineActionHandler) => void;
|
|
16
|
-
executeAction: (type: string, ...args: any[]) => any;
|
|
17
|
-
listActions: () => string[];
|
|
18
|
-
hasAction: (type: string) => boolean;
|
|
19
|
-
actions: string[];
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export {};
|
|
23
|
-
//# sourceMappingURL=ActionRegistryPlugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ActionRegistryPlugin.d.ts","sourceRoot":"","sources":["../../plugins/ActionRegistryPlugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAGrD,KAAK,mBAAmB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAgCnD,qBAAa,oBAAqB,YAAW,OAAO;IAClD,IAAI,SAAqB;IACzB,OAAO,SAAW;IAClB,OAAO,CAAC,cAAc,CAAiB;;IASvC,MAAM,CAAC,OAAO,EAAE,aAAa;IAI7B,QAAQ;IAKR,MAAM;+BA9Ce,MAAM,WAAW,mBAAmB,KAAG,IAAI;8BAK5C,MAAM,WAAW,GAAG,EAAE,KAAG,GAAG;2BASjC,MAAM,EAAE;0BAKP,MAAM,KAAG,OAAO;;;CAoCjC"}
|