@radkode/neo 1.4.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 (121) 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/ai/index.d.ts +3 -0
  5. package/dist/commands/ai/index.d.ts.map +1 -0
  6. package/dist/commands/ai/index.js +21 -0
  7. package/dist/commands/ai/index.js.map +1 -0
  8. package/dist/commands/ai/pr/index.d.ts +19 -0
  9. package/dist/commands/ai/pr/index.d.ts.map +1 -0
  10. package/dist/commands/ai/pr/index.js +225 -0
  11. package/dist/commands/ai/pr/index.js.map +1 -0
  12. package/dist/commands/doctor/index.d.ts +16 -0
  13. package/dist/commands/doctor/index.d.ts.map +1 -0
  14. package/dist/commands/doctor/index.js +313 -0
  15. package/dist/commands/doctor/index.js.map +1 -0
  16. package/dist/commands/git/push/index.d.ts.map +1 -1
  17. package/dist/commands/git/push/index.js +3 -0
  18. package/dist/commands/git/push/index.js.map +1 -1
  19. package/dist/commands/index.d.ts +3 -0
  20. package/dist/commands/index.d.ts.map +1 -1
  21. package/dist/commands/index.js +9 -0
  22. package/dist/commands/index.js.map +1 -1
  23. package/dist/commands/init/index.d.ts.map +1 -1
  24. package/dist/commands/init/index.js +29 -0
  25. package/dist/commands/init/index.js.map +1 -1
  26. package/dist/commands/work/finish/index.d.ts +22 -0
  27. package/dist/commands/work/finish/index.d.ts.map +1 -0
  28. package/dist/commands/work/finish/index.js +306 -0
  29. package/dist/commands/work/finish/index.js.map +1 -0
  30. package/dist/commands/work/index.d.ts +3 -0
  31. package/dist/commands/work/index.d.ts.map +1 -0
  32. package/dist/commands/work/index.js +33 -0
  33. package/dist/commands/work/index.js.map +1 -0
  34. package/dist/commands/work/ship/index.d.ts +27 -0
  35. package/dist/commands/work/ship/index.d.ts.map +1 -0
  36. package/dist/commands/work/ship/index.js +361 -0
  37. package/dist/commands/work/ship/index.js.map +1 -0
  38. package/dist/commands/work/start/index.d.ts +17 -0
  39. package/dist/commands/work/start/index.d.ts.map +1 -0
  40. package/dist/commands/work/start/index.js +250 -0
  41. package/dist/commands/work/start/index.js.map +1 -0
  42. package/dist/core/errors/index.d.ts +7 -129
  43. package/dist/core/errors/index.d.ts.map +1 -1
  44. package/dist/core/errors/index.js +0 -233
  45. package/dist/core/errors/index.js.map +1 -1
  46. package/dist/services/ai/index.d.ts +9 -1
  47. package/dist/services/ai/index.d.ts.map +1 -1
  48. package/dist/services/ai/index.js +23 -3
  49. package/dist/services/ai/index.js.map +1 -1
  50. package/dist/services/ai/pr-prompts.d.ts +17 -0
  51. package/dist/services/ai/pr-prompts.d.ts.map +1 -0
  52. package/dist/services/ai/pr-prompts.js +68 -0
  53. package/dist/services/ai/pr-prompts.js.map +1 -0
  54. package/dist/services/ai/prompts.d.ts +3 -2
  55. package/dist/services/ai/prompts.d.ts.map +1 -1
  56. package/dist/services/ai/prompts.js.map +1 -1
  57. package/dist/storage/db.d.ts +5 -3
  58. package/dist/storage/db.d.ts.map +1 -1
  59. package/dist/storage/db.js +87 -120
  60. package/dist/storage/db.js.map +1 -1
  61. package/dist/types/agent.d.ts +0 -8
  62. package/dist/types/agent.d.ts.map +1 -1
  63. package/dist/types/schemas.d.ts +1 -0
  64. package/dist/types/schemas.d.ts.map +1 -1
  65. package/dist/types/schemas.js +1 -0
  66. package/dist/types/schemas.js.map +1 -1
  67. package/dist/utils/agent.js +1 -1
  68. package/dist/utils/agent.js.map +1 -1
  69. package/dist/utils/config.d.ts +0 -6
  70. package/dist/utils/config.d.ts.map +1 -1
  71. package/dist/utils/config.js +0 -8
  72. package/dist/utils/config.js.map +1 -1
  73. package/dist/utils/logger.d.ts +8 -2
  74. package/dist/utils/logger.d.ts.map +1 -1
  75. package/dist/utils/logger.js +8 -1
  76. package/dist/utils/logger.js.map +1 -1
  77. package/dist/utils/prompt.d.ts.map +1 -1
  78. package/dist/utils/prompt.js +15 -11
  79. package/dist/utils/prompt.js.map +1 -1
  80. package/dist/utils/skill-installer.d.ts +10 -0
  81. package/dist/utils/skill-installer.d.ts.map +1 -0
  82. package/dist/utils/skill-installer.js +56 -0
  83. package/dist/utils/skill-installer.js.map +1 -0
  84. package/package.json +6 -13
  85. package/templates/skills/neo/SKILL.md +66 -0
  86. package/dist/core/container/index.d.ts +0 -27
  87. package/dist/core/container/index.d.ts.map +0 -1
  88. package/dist/core/container/index.js +0 -90
  89. package/dist/core/container/index.js.map +0 -1
  90. package/dist/core/interfaces/index.d.ts +0 -324
  91. package/dist/core/interfaces/index.d.ts.map +0 -1
  92. package/dist/core/interfaces/index.js +0 -19
  93. package/dist/core/interfaces/index.js.map +0 -1
  94. package/dist/core/plugins/command-registry.d.ts +0 -16
  95. package/dist/core/plugins/command-registry.d.ts.map +0 -1
  96. package/dist/core/plugins/command-registry.js +0 -40
  97. package/dist/core/plugins/command-registry.js.map +0 -1
  98. package/dist/core/plugins/event-bus.d.ts +0 -12
  99. package/dist/core/plugins/event-bus.d.ts.map +0 -1
  100. package/dist/core/plugins/event-bus.js +0 -56
  101. package/dist/core/plugins/event-bus.js.map +0 -1
  102. package/dist/core/plugins/index.d.ts +0 -6
  103. package/dist/core/plugins/index.d.ts.map +0 -1
  104. package/dist/core/plugins/index.js +0 -6
  105. package/dist/core/plugins/index.js.map +0 -1
  106. package/dist/core/plugins/plugin-context.d.ts +0 -3
  107. package/dist/core/plugins/plugin-context.d.ts.map +0 -1
  108. package/dist/core/plugins/plugin-context.js +0 -116
  109. package/dist/core/plugins/plugin-context.js.map +0 -1
  110. package/dist/core/plugins/plugin-loader.d.ts +0 -30
  111. package/dist/core/plugins/plugin-loader.d.ts.map +0 -1
  112. package/dist/core/plugins/plugin-loader.js +0 -149
  113. package/dist/core/plugins/plugin-loader.js.map +0 -1
  114. package/dist/core/plugins/plugin-registry.d.ts +0 -21
  115. package/dist/core/plugins/plugin-registry.d.ts.map +0 -1
  116. package/dist/core/plugins/plugin-registry.js +0 -150
  117. package/dist/core/plugins/plugin-registry.js.map +0 -1
  118. package/dist/utils/ui-examples.d.ts +0 -3
  119. package/dist/utils/ui-examples.d.ts.map +0 -1
  120. package/dist/utils/ui-examples.js +0 -188
  121. 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"}