@radkode/neo 1.5.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +15 -112
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/git/push/index.d.ts.map +1 -1
  5. package/dist/commands/git/push/index.js +3 -0
  6. package/dist/commands/git/push/index.js.map +1 -1
  7. package/dist/commands/index.d.ts +1 -0
  8. package/dist/commands/index.d.ts.map +1 -1
  9. package/dist/commands/index.js +3 -0
  10. package/dist/commands/index.js.map +1 -1
  11. package/dist/commands/init/index.d.ts.map +1 -1
  12. package/dist/commands/init/index.js +29 -0
  13. package/dist/commands/init/index.js.map +1 -1
  14. package/dist/commands/work/finish/index.d.ts +22 -0
  15. package/dist/commands/work/finish/index.d.ts.map +1 -0
  16. package/dist/commands/work/finish/index.js +306 -0
  17. package/dist/commands/work/finish/index.js.map +1 -0
  18. package/dist/commands/work/index.d.ts +3 -0
  19. package/dist/commands/work/index.d.ts.map +1 -0
  20. package/dist/commands/work/index.js +33 -0
  21. package/dist/commands/work/index.js.map +1 -0
  22. package/dist/commands/work/ship/index.d.ts +27 -0
  23. package/dist/commands/work/ship/index.d.ts.map +1 -0
  24. package/dist/commands/work/ship/index.js +361 -0
  25. package/dist/commands/work/ship/index.js.map +1 -0
  26. package/dist/commands/work/start/index.d.ts +17 -0
  27. package/dist/commands/work/start/index.d.ts.map +1 -0
  28. package/dist/commands/work/start/index.js +250 -0
  29. package/dist/commands/work/start/index.js.map +1 -0
  30. package/dist/core/errors/index.d.ts +7 -129
  31. package/dist/core/errors/index.d.ts.map +1 -1
  32. package/dist/core/errors/index.js +0 -233
  33. package/dist/core/errors/index.js.map +1 -1
  34. package/dist/storage/db.d.ts +5 -3
  35. package/dist/storage/db.d.ts.map +1 -1
  36. package/dist/storage/db.js +87 -120
  37. package/dist/storage/db.js.map +1 -1
  38. package/dist/types/agent.d.ts +0 -8
  39. package/dist/types/agent.d.ts.map +1 -1
  40. package/dist/types/schemas.d.ts +1 -0
  41. package/dist/types/schemas.d.ts.map +1 -1
  42. package/dist/types/schemas.js +1 -0
  43. package/dist/types/schemas.js.map +1 -1
  44. package/dist/utils/agent.js +1 -1
  45. package/dist/utils/agent.js.map +1 -1
  46. package/dist/utils/config.d.ts +0 -6
  47. package/dist/utils/config.d.ts.map +1 -1
  48. package/dist/utils/config.js +0 -8
  49. package/dist/utils/config.js.map +1 -1
  50. package/dist/utils/logger.d.ts +8 -2
  51. package/dist/utils/logger.d.ts.map +1 -1
  52. package/dist/utils/logger.js +8 -1
  53. package/dist/utils/logger.js.map +1 -1
  54. package/dist/utils/prompt.d.ts.map +1 -1
  55. package/dist/utils/prompt.js +15 -11
  56. package/dist/utils/prompt.js.map +1 -1
  57. package/dist/utils/skill-installer.d.ts +10 -0
  58. package/dist/utils/skill-installer.d.ts.map +1 -0
  59. package/dist/utils/skill-installer.js +56 -0
  60. package/dist/utils/skill-installer.js.map +1 -0
  61. package/package.json +6 -13
  62. package/templates/skills/neo/SKILL.md +66 -0
  63. package/dist/core/container/index.d.ts +0 -27
  64. package/dist/core/container/index.d.ts.map +0 -1
  65. package/dist/core/container/index.js +0 -90
  66. package/dist/core/container/index.js.map +0 -1
  67. package/dist/core/interfaces/index.d.ts +0 -324
  68. package/dist/core/interfaces/index.d.ts.map +0 -1
  69. package/dist/core/interfaces/index.js +0 -19
  70. package/dist/core/interfaces/index.js.map +0 -1
  71. package/dist/core/plugins/command-registry.d.ts +0 -16
  72. package/dist/core/plugins/command-registry.d.ts.map +0 -1
  73. package/dist/core/plugins/command-registry.js +0 -40
  74. package/dist/core/plugins/command-registry.js.map +0 -1
  75. package/dist/core/plugins/event-bus.d.ts +0 -12
  76. package/dist/core/plugins/event-bus.d.ts.map +0 -1
  77. package/dist/core/plugins/event-bus.js +0 -56
  78. package/dist/core/plugins/event-bus.js.map +0 -1
  79. package/dist/core/plugins/index.d.ts +0 -6
  80. package/dist/core/plugins/index.d.ts.map +0 -1
  81. package/dist/core/plugins/index.js +0 -6
  82. package/dist/core/plugins/index.js.map +0 -1
  83. package/dist/core/plugins/plugin-context.d.ts +0 -3
  84. package/dist/core/plugins/plugin-context.d.ts.map +0 -1
  85. package/dist/core/plugins/plugin-context.js +0 -116
  86. package/dist/core/plugins/plugin-context.js.map +0 -1
  87. package/dist/core/plugins/plugin-loader.d.ts +0 -30
  88. package/dist/core/plugins/plugin-loader.d.ts.map +0 -1
  89. package/dist/core/plugins/plugin-loader.js +0 -149
  90. package/dist/core/plugins/plugin-loader.js.map +0 -1
  91. package/dist/core/plugins/plugin-registry.d.ts +0 -21
  92. package/dist/core/plugins/plugin-registry.d.ts.map +0 -1
  93. package/dist/core/plugins/plugin-registry.js +0 -150
  94. package/dist/core/plugins/plugin-registry.js.map +0 -1
  95. package/dist/utils/ui-examples.d.ts +0 -3
  96. package/dist/utils/ui-examples.d.ts.map +0 -1
  97. package/dist/utils/ui-examples.js +0 -188
  98. package/dist/utils/ui-examples.js.map +0 -1
@@ -1,324 +0,0 @@
1
- import { Result } from '../errors/index.js';
2
- import type { Readable, Writable } from 'node:stream';
3
- export interface CommandOption {
4
- readonly flags: string;
5
- readonly description: string;
6
- readonly defaultValue?: unknown;
7
- readonly required?: boolean;
8
- readonly validator?: (value: unknown) => boolean;
9
- }
10
- export interface CommandArgument {
11
- readonly name: string;
12
- readonly description: string;
13
- readonly required?: boolean;
14
- readonly defaultValue?: unknown;
15
- readonly validator?: (value: unknown) => boolean;
16
- }
17
- export interface ICommand<TOptions = unknown> {
18
- readonly name: string;
19
- readonly description: string;
20
- readonly version?: string;
21
- readonly aliases?: string[];
22
- readonly options?: CommandOption[];
23
- readonly arguments?: CommandArgument[];
24
- readonly examples?: string[];
25
- readonly hidden?: boolean;
26
- execute(options: TOptions, args?: string[]): Promise<Result<void>>;
27
- validate(options: unknown): options is TOptions;
28
- getHelp?(): string;
29
- }
30
- export interface CommandMetadata {
31
- readonly name: string;
32
- readonly description: string;
33
- readonly group?: string;
34
- readonly priority?: number;
35
- readonly experimental?: boolean;
36
- readonly deprecated?: boolean;
37
- readonly deprecationMessage?: string;
38
- }
39
- export interface IPlugin {
40
- readonly name: string;
41
- readonly version: string;
42
- readonly description?: string;
43
- readonly author?: string;
44
- readonly homepage?: string;
45
- readonly dependencies?: Record<string, string>;
46
- readonly commands?: ICommand[];
47
- readonly hooks?: ILifecycleHooks;
48
- initialize(context: IPluginContext): Promise<void>;
49
- dispose?(): Promise<void>;
50
- }
51
- export interface IPluginContext {
52
- readonly version: string;
53
- readonly config: IConfiguration;
54
- readonly logger: ILogger;
55
- readonly eventBus: IEventBus;
56
- readonly commandRegistry: ICommandRegistry;
57
- }
58
- export interface ILifecycleHooks {
59
- beforeCommand?: (commandName: string, options: unknown) => Promise<void>;
60
- afterCommand?: (commandName: string, result: Result<void>) => Promise<void>;
61
- onError?: (error: Error) => Promise<void>;
62
- onExit?: (code: number) => Promise<void>;
63
- }
64
- export interface ILogger {
65
- debug(message: string, context?: Record<string, unknown>): void;
66
- info(message: string, context?: Record<string, unknown>): void;
67
- warn(message: string, context?: Record<string, unknown>): void;
68
- error(message: string, context?: Record<string, unknown>): void;
69
- success(message: string, context?: Record<string, unknown>): void;
70
- log(message: string): void;
71
- setLevel(level: LogLevel): void;
72
- getLevel(): LogLevel;
73
- }
74
- export declare enum LogLevel {
75
- DEBUG = 0,
76
- INFO = 1,
77
- WARN = 2,
78
- ERROR = 3,
79
- NONE = 4
80
- }
81
- export interface IConfiguration {
82
- get<T = unknown>(key: string): T | undefined;
83
- set<T = unknown>(key: string, value: T): void;
84
- has(key: string): boolean;
85
- delete(key: string): void;
86
- clear(): void;
87
- getAll(): Record<string, unknown>;
88
- validate(): Result<void>;
89
- save(): Promise<Result<void>>;
90
- load(): Promise<Result<void>>;
91
- }
92
- export interface IConfigurationSource {
93
- readonly priority: number;
94
- readonly name: string;
95
- get<T = unknown>(key: string): T | undefined;
96
- set<T = unknown>(key: string, value: T): void;
97
- has(key: string): boolean;
98
- delete(key: string): void;
99
- getAll(): Record<string, unknown>;
100
- }
101
- export interface IEventBus {
102
- emit<T = unknown>(event: string, data?: T): void;
103
- on<T = unknown>(event: string, handler: EventHandler<T>): void;
104
- off<T = unknown>(event: string, handler: EventHandler<T>): void;
105
- once<T = unknown>(event: string, handler: EventHandler<T>): void;
106
- }
107
- export type EventHandler<T = unknown> = (data: T) => void | Promise<void>;
108
- export interface CliStartEvent {
109
- version: string;
110
- args: string[];
111
- }
112
- export interface CommandBeforeEvent {
113
- command: string;
114
- options: unknown;
115
- }
116
- export interface CommandAfterEvent {
117
- command: string;
118
- success: boolean;
119
- duration: number;
120
- }
121
- export interface CliExitEvent {
122
- code: number;
123
- reason: 'normal' | 'error' | 'signal';
124
- }
125
- export interface CliErrorEvent {
126
- error: Error;
127
- command?: string;
128
- }
129
- export declare const CliEvents: {
130
- readonly CLI_START: "cli:start";
131
- readonly CLI_EXIT: "cli:exit";
132
- readonly CLI_ERROR: "cli:error";
133
- readonly COMMAND_BEFORE: "command:before";
134
- readonly COMMAND_AFTER: "command:after";
135
- readonly CONFIG_CHANGED: "config:changed";
136
- readonly PLUGIN_LOADED: "plugin:loaded";
137
- readonly PLUGIN_ERROR: "plugin:error";
138
- };
139
- export type CliEventName = (typeof CliEvents)[keyof typeof CliEvents];
140
- export interface ICommandRegistry {
141
- register(command: ICommand, metadata?: CommandMetadata): void;
142
- unregister(commandName: string): void;
143
- get(commandName: string): ICommand | undefined;
144
- getAll(): ICommand[];
145
- getByGroup(group: string): ICommand[];
146
- hasCommand(commandName: string): boolean;
147
- }
148
- export interface ITemplateEngine {
149
- render(template: string, context: Record<string, unknown>): string;
150
- renderFile(templatePath: string, context: Record<string, unknown>): Promise<string>;
151
- registerHelper(name: string, helper: TemplateHelper): void;
152
- }
153
- export type TemplateHelper = (...args: unknown[]) => unknown;
154
- export interface IFileSystem {
155
- exists(path: string): Promise<boolean>;
156
- readFile(path: string): Promise<string>;
157
- writeFile(path: string, content: string): Promise<void>;
158
- deleteFile(path: string): Promise<void>;
159
- createDirectory(path: string): Promise<void>;
160
- deleteDirectory(path: string): Promise<void>;
161
- listDirectory(path: string): Promise<string[]>;
162
- getFileInfo(path: string): Promise<IFileInfo>;
163
- copyFile(source: string, destination: string): Promise<void>;
164
- moveFile(source: string, destination: string): Promise<void>;
165
- }
166
- export interface IFileInfo {
167
- readonly path: string;
168
- readonly name: string;
169
- readonly size: number;
170
- readonly isDirectory: boolean;
171
- readonly isFile: boolean;
172
- readonly createdAt: Date;
173
- readonly modifiedAt: Date;
174
- readonly permissions: string;
175
- }
176
- export interface IProcessExecutor {
177
- execute(command: string, args?: string[], options?: IProcessOptions): Promise<IProcessResult>;
178
- spawn(command: string, args?: string[], options?: IProcessOptions): IProcess;
179
- }
180
- export interface IProcessOptions {
181
- readonly cwd?: string;
182
- readonly env?: Record<string, string>;
183
- readonly shell?: boolean;
184
- readonly timeout?: number;
185
- readonly maxBuffer?: number;
186
- readonly encoding?: BufferEncoding;
187
- readonly silent?: boolean;
188
- }
189
- export interface IProcessResult {
190
- readonly stdout: string;
191
- readonly stderr: string;
192
- readonly exitCode: number;
193
- readonly signal?: NodeJS.Signals;
194
- readonly duration: number;
195
- }
196
- export interface IProcess {
197
- readonly pid: number;
198
- readonly stdin: Writable;
199
- readonly stdout: Readable;
200
- readonly stderr: Readable;
201
- kill(signal?: NodeJS.Signals): void;
202
- onExit(handler: (code: number | null) => void): void;
203
- }
204
- export interface IHttpClient {
205
- get<T = unknown>(url: string, options?: IHttpOptions): Promise<IHttpResponse<T>>;
206
- post<T = unknown>(url: string, data?: unknown, options?: IHttpOptions): Promise<IHttpResponse<T>>;
207
- put<T = unknown>(url: string, data?: unknown, options?: IHttpOptions): Promise<IHttpResponse<T>>;
208
- delete<T = unknown>(url: string, options?: IHttpOptions): Promise<IHttpResponse<T>>;
209
- patch<T = unknown>(url: string, data?: unknown, options?: IHttpOptions): Promise<IHttpResponse<T>>;
210
- }
211
- export interface IHttpOptions {
212
- readonly headers?: Record<string, string>;
213
- readonly timeout?: number;
214
- readonly params?: Record<string, string | number>;
215
- readonly auth?: {
216
- username: string;
217
- password: string;
218
- };
219
- readonly proxy?: {
220
- host: string;
221
- port: number;
222
- };
223
- readonly followRedirects?: boolean;
224
- readonly maxRedirects?: number;
225
- }
226
- export interface IHttpResponse<T = unknown> {
227
- readonly data: T;
228
- readonly status: number;
229
- readonly statusText: string;
230
- readonly headers: Record<string, string>;
231
- readonly request: IHttpOptions;
232
- }
233
- export interface ICache {
234
- get<T = unknown>(key: string): T | undefined;
235
- set<T = unknown>(key: string, value: T, ttl?: number): void;
236
- has(key: string): boolean;
237
- delete(key: string): void;
238
- clear(): void;
239
- size(): number;
240
- }
241
- export interface IPrompt {
242
- text(message: string, options?: ITextPromptOptions): Promise<string>;
243
- confirm(message: string, defaultValue?: boolean): Promise<boolean>;
244
- select<T = string>(message: string, choices: IChoice<T>[]): Promise<T>;
245
- multiselect<T = string>(message: string, choices: IChoice<T>[]): Promise<T[]>;
246
- password(message: string, options?: IPasswordPromptOptions): Promise<string>;
247
- }
248
- export interface ITextPromptOptions {
249
- readonly defaultValue?: string;
250
- readonly validator?: (value: string) => boolean | string;
251
- readonly placeholder?: string;
252
- readonly required?: boolean;
253
- }
254
- export interface IPasswordPromptOptions {
255
- readonly mask?: string;
256
- readonly validator?: (value: string) => boolean | string;
257
- readonly required?: boolean;
258
- }
259
- export interface IChoice<T = string> {
260
- readonly name: string;
261
- readonly value: T;
262
- readonly description?: string;
263
- readonly disabled?: boolean;
264
- }
265
- export interface IProgress {
266
- start(message?: string): void;
267
- update(message: string): void;
268
- succeed(message?: string): void;
269
- fail(message?: string): void;
270
- warn(message?: string): void;
271
- info(message?: string): void;
272
- stop(): void;
273
- }
274
- export interface IProgressBar {
275
- start(total: number, initial?: number): void;
276
- update(current: number): void;
277
- increment(delta?: number): void;
278
- stop(): void;
279
- }
280
- export interface IOutputFormatter {
281
- table(headers: string[], rows: string[][]): string;
282
- json(data: unknown, pretty?: boolean): string;
283
- yaml(data: unknown): string;
284
- markdown(content: string): string;
285
- code(content: string, language?: string): string;
286
- success(message: string): string;
287
- error(message: string): string;
288
- warning(message: string): string;
289
- info(message: string): string;
290
- }
291
- export interface IContainer {
292
- register<T>(token: InjectionToken<T>, provider: Provider<T>): void;
293
- resolve<T>(token: InjectionToken<T>): T;
294
- has<T>(token: InjectionToken<T>): boolean;
295
- createScope(): IContainer;
296
- }
297
- export type InjectionToken<T> = symbol | string | {
298
- new (...args: unknown[]): T;
299
- };
300
- export type Provider<T> = {
301
- useClass: new (...args: unknown[]) => T;
302
- } | {
303
- useValue: T;
304
- } | {
305
- useFactory: (...args: unknown[]) => T;
306
- } | {
307
- useExisting: InjectionToken<T>;
308
- };
309
- export interface IRepository<T, ID = string> {
310
- findById(id: ID): Promise<T | undefined>;
311
- findAll(): Promise<T[]>;
312
- findBy(criteria: Partial<T>): Promise<T[]>;
313
- save(entity: T): Promise<T>;
314
- delete(id: ID): Promise<void>;
315
- exists(id: ID): Promise<boolean>;
316
- count(): Promise<number>;
317
- }
318
- export interface IUnitOfWork {
319
- begin(): Promise<void>;
320
- commit(): Promise<void>;
321
- rollback(): Promise<void>;
322
- isActive(): boolean;
323
- }
324
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/interfaces/index.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- export var LogLevel;
2
- (function (LogLevel) {
3
- LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
4
- LogLevel[LogLevel["INFO"] = 1] = "INFO";
5
- LogLevel[LogLevel["WARN"] = 2] = "WARN";
6
- LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
7
- LogLevel[LogLevel["NONE"] = 4] = "NONE";
8
- })(LogLevel || (LogLevel = {}));
9
- export const CliEvents = {
10
- CLI_START: 'cli:start',
11
- CLI_EXIT: 'cli:exit',
12
- CLI_ERROR: 'cli:error',
13
- COMMAND_BEFORE: 'command:before',
14
- COMMAND_AFTER: 'command:after',
15
- CONFIG_CHANGED: 'config:changed',
16
- PLUGIN_LOADED: 'plugin:loaded',
17
- PLUGIN_ERROR: 'plugin:error',
18
- };
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/interfaces/index.ts"],"names":[],"mappings":"AAiJA,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,uCAAQ,CAAA;AACV,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AA6ED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;CACpB,CAAC"}
@@ -1,16 +0,0 @@
1
- import type { ICommand, ICommandRegistry, CommandMetadata } from '../interfaces/index.js';
2
- export declare class CommandRegistry implements ICommandRegistry {
3
- private commands;
4
- register(command: ICommand, metadata?: CommandMetadata): void;
5
- unregister(commandName: string): void;
6
- get(commandName: string): ICommand | undefined;
7
- getAll(): ICommand[];
8
- getByGroup(group: string): ICommand[];
9
- hasCommand(commandName: string): boolean;
10
- getMetadata(commandName: string): CommandMetadata | undefined;
11
- getNames(): string[];
12
- clear(): void;
13
- get size(): number;
14
- }
15
- export declare const commandRegistry: CommandRegistry;
16
- //# sourceMappingURL=command-registry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command-registry.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/command-registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAU9F,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAA6C;IAK7D,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,eAAe,GAAG,IAAI;IAU7D,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAOrC,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAO9C,MAAM,IAAI,QAAQ,EAAE;IAOpB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,EAAE;IASrC,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAOxC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAO7D,QAAQ,IAAI,MAAM,EAAE;IAOpB,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAGD,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
@@ -1,40 +0,0 @@
1
- export class CommandRegistry {
2
- commands = new Map();
3
- register(command, metadata) {
4
- if (this.commands.has(command.name)) {
5
- throw new Error(`Command "${command.name}" is already registered`);
6
- }
7
- this.commands.set(command.name, { command, metadata });
8
- }
9
- unregister(commandName) {
10
- this.commands.delete(commandName);
11
- }
12
- get(commandName) {
13
- return this.commands.get(commandName)?.command;
14
- }
15
- getAll() {
16
- return Array.from(this.commands.values()).map((r) => r.command);
17
- }
18
- getByGroup(group) {
19
- return Array.from(this.commands.values())
20
- .filter((r) => r.metadata?.group === group)
21
- .map((r) => r.command);
22
- }
23
- hasCommand(commandName) {
24
- return this.commands.has(commandName);
25
- }
26
- getMetadata(commandName) {
27
- return this.commands.get(commandName)?.metadata;
28
- }
29
- getNames() {
30
- return Array.from(this.commands.keys());
31
- }
32
- clear() {
33
- this.commands.clear();
34
- }
35
- get size() {
36
- return this.commands.size;
37
- }
38
- }
39
- export const commandRegistry = new CommandRegistry();
40
- //# sourceMappingURL=command-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command-registry.js","sourceRoot":"","sources":["../../../src/core/plugins/command-registry.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,eAAe;IAClB,QAAQ,GAAmC,IAAI,GAAG,EAAE,CAAC;IAK7D,QAAQ,CAAC,OAAiB,EAAE,QAA0B;QACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,IAAI,yBAAyB,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAKD,UAAU,CAAC,WAAmB;QAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAKD,GAAG,CAAC,WAAmB;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IACjD,CAAC;IAKD,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAKD,UAAU,CAAC,KAAa;QACtB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAK,KAAK,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAKD,UAAU,CAAC,WAAmB;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAKD,WAAW,CAAC,WAAmB;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC;IAClD,CAAC;IAKD,QAAQ;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAKD,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAKD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;CACF;AAGD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC"}
@@ -1,12 +0,0 @@
1
- import type { IEventBus, EventHandler } from '../interfaces/index.js';
2
- export declare class EventBus implements IEventBus {
3
- private handlers;
4
- emit<T = unknown>(event: string, data?: T): void;
5
- on<T = unknown>(event: string, handler: EventHandler<T>): void;
6
- off<T = unknown>(event: string, handler: EventHandler<T>): void;
7
- once<T = unknown>(event: string, handler: EventHandler<T>): void;
8
- clear(event?: string): void;
9
- listenerCount(event: string): number;
10
- }
11
- export declare const eventBus: EventBus;
12
- //# sourceMappingURL=event-bus.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/event-bus.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1E,qBAAa,QAAS,YAAW,SAAS;IACxC,OAAO,CAAC,QAAQ,CAAsD;IAKtE,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI;IAsBhD,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAU9D,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAa/D,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;IAWhE,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAW3B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGrC;AAGD,eAAO,MAAM,QAAQ,UAAiB,CAAC"}
@@ -1,56 +0,0 @@
1
- export class EventBus {
2
- handlers = new Map();
3
- emit(event, data) {
4
- const eventHandlers = this.handlers.get(event);
5
- if (!eventHandlers)
6
- return;
7
- for (const handler of eventHandlers) {
8
- try {
9
- const result = handler(data);
10
- if (result instanceof Promise) {
11
- result.catch((error) => {
12
- console.error(`Event handler error for "${event}":`, error);
13
- });
14
- }
15
- }
16
- catch (error) {
17
- console.error(`Event handler error for "${event}":`, error);
18
- }
19
- }
20
- }
21
- on(event, handler) {
22
- if (!this.handlers.has(event)) {
23
- this.handlers.set(event, new Set());
24
- }
25
- this.handlers.get(event).add(handler);
26
- }
27
- off(event, handler) {
28
- const eventHandlers = this.handlers.get(event);
29
- if (eventHandlers) {
30
- eventHandlers.delete(handler);
31
- if (eventHandlers.size === 0) {
32
- this.handlers.delete(event);
33
- }
34
- }
35
- }
36
- once(event, handler) {
37
- const wrapper = (data) => {
38
- this.off(event, wrapper);
39
- return handler(data);
40
- };
41
- this.on(event, wrapper);
42
- }
43
- clear(event) {
44
- if (event) {
45
- this.handlers.delete(event);
46
- }
47
- else {
48
- this.handlers.clear();
49
- }
50
- }
51
- listenerCount(event) {
52
- return this.handlers.get(event)?.size ?? 0;
53
- }
54
- }
55
- export const eventBus = new EventBus();
56
- //# sourceMappingURL=event-bus.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../src/core/plugins/event-bus.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,QAAQ;IACX,QAAQ,GAA4C,IAAI,GAAG,EAAE,CAAC;IAKtE,IAAI,CAAc,KAAa,EAAE,IAAQ;QACvC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa;YAAE,OAAO;QAE3B,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE7B,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;oBAC9B,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;wBACrB,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,IAAI,EAAE,KAAK,CAAC,CAAC;oBAC9D,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,KAAK,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC;IAKD,EAAE,CAAc,KAAa,EAAE,OAAwB;QACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,GAAG,CAAC,OAAgC,CAAC,CAAC;IAClE,CAAC;IAKD,GAAG,CAAc,KAAa,EAAE,OAAwB;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,CAAC,MAAM,CAAC,OAAgC,CAAC,CAAC;YACvD,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAKD,IAAI,CAAc,KAAa,EAAE,OAAwB;QACvD,MAAM,OAAO,GAAoB,CAAC,IAAI,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACzB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;IAKD,KAAK,CAAC,KAAc;QAClB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAKD,aAAa,CAAC,KAAa;QACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF;AAGD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC"}
@@ -1,6 +0,0 @@
1
- export { EventBus, eventBus } from './event-bus.js';
2
- export { CommandRegistry, commandRegistry } from './command-registry.js';
3
- export { createPluginContext } from './plugin-context.js';
4
- export { PluginLoader, pluginLoader, type PluginManifest, type LoadedPlugin } from './plugin-loader.js';
5
- export { PluginRegistry, pluginRegistry } from './plugin-registry.js';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,6 +0,0 @@
1
- export { EventBus, eventBus } from './event-bus.js';
2
- export { CommandRegistry, commandRegistry } from './command-registry.js';
3
- export { createPluginContext } from './plugin-context.js';
4
- export { PluginLoader, pluginLoader } from './plugin-loader.js';
5
- export { PluginRegistry, pluginRegistry } from './plugin-registry.js';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/plugins/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,YAAY,EAA0C,MAAM,oBAAoB,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { IPluginContext } from '../interfaces/index.js';
2
- export declare function createPluginContext(): IPluginContext;
3
- //# sourceMappingURL=plugin-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-context.d.ts","sourceRoot":"","sources":["../../../src/core/plugins/plugin-context.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,4BAA4B,CAAC;AA+JjF,wBAAgB,mBAAmB,IAAI,cAAc,CAgBpD"}