@auto-engineer/cli 0.6.1 → 0.7.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @auto-engineer/cli
2
2
 
3
+ ## 0.7.1
4
+
5
+ ### Patch Changes
6
+
7
+ - version bump for testihng
8
+ - Updated dependencies
9
+ - @auto-engineer/message-bus@0.5.1
10
+
11
+ ## 0.7.0
12
+
13
+ ### Minor Changes
14
+
15
+ - Major overhaul of the plugin system
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies
20
+ - @auto-engineer/message-bus@0.5.0
21
+
3
22
  ## 0.6.0
4
23
 
5
24
  ### Minor Changes
package/dist/src/index.js CHANGED
@@ -9,7 +9,7 @@ import { handleError } from './utils/errors.js';
9
9
  import { createOutput } from './utils/terminal.js';
10
10
  import { Analytics } from './utils/analytics.js';
11
11
  import { PluginLoader } from './plugin-loader.js';
12
- const VERSION = process.env.npm_package_version ?? '0.1.2';
12
+ const VERSION = process.env.npm_package_version ?? '0.7.0';
13
13
  const checkNodeVersion = () => {
14
14
  const nodeVersion = process.version;
15
15
  const majorVersion = parseInt(nodeVersion.slice(1).split('.')[0]);
@@ -57,53 +57,8 @@ const createCLI = () => {
57
57
  .option('--project-path <path>', 'Project path to work with');
58
58
  return program;
59
59
  };
60
- const commandMappers = {
61
- 'create:example': (args) => ({ name: args[0], destination: args[1] }),
62
- 'export:schema': (args) => ({ contextDir: args[0], flowsDir: args[1] }),
63
- 'generate:server': (args) => ({ schemaPath: args[0], destination: args[1] }),
64
- 'implement:server': (args) => ({ serverDirectory: args[0] }),
65
- 'implement:slice': (args) => ({ serverDir: args[0], sliceName: args[1] }),
66
- 'generate:client': (args) => ({
67
- starterDir: args[0],
68
- targetDir: args[1],
69
- iaSchemaPath: args[2],
70
- gqlSchemaPath: args[3],
71
- figmaVariablesPath: args[4],
72
- }),
73
- 'implement:client': (args) => ({
74
- projectDir: args[0],
75
- iaSchemeDir: args[1],
76
- designSystemPath: args[3] ?? args[2],
77
- }),
78
- 'check:types': (args, options) => ({
79
- targetDirectory: args[0],
80
- fix: options.fix ?? false,
81
- scope: options.scope,
82
- }),
83
- 'check:tests': (args, options) => ({
84
- targetDirectory: args[0],
85
- scope: options.scope,
86
- }),
87
- 'check:lint': (args, options) => ({
88
- targetDirectory: args[0],
89
- fix: options.fix ?? false,
90
- scope: options.scope,
91
- }),
92
- 'check:client': (args) => ({ clientDir: args[0] }),
93
- 'import:design-system': (args) => ({
94
- outputDir: args[0],
95
- strategy: args[1],
96
- filterPath: args[2],
97
- }),
98
- 'generate:ia': (args) => ({
99
- outputDir: args[0],
100
- // Handle variadic arguments - args[1] might be an array if variadic
101
- flowFiles: Array.isArray(args[1]) ? args[1] : args.slice(1),
102
- }),
103
- 'copy:example': (args) => ({ exampleName: args[0], destination: args[1] }),
104
- };
105
- const prepareCommandData = (alias, args, options) => {
106
- const mapper = commandMappers[alias];
60
+ const prepareCommandData = (alias, args, options, pluginLoader) => {
61
+ const mapper = pluginLoader.getCommandMapper(alias);
107
62
  if (mapper !== undefined) {
108
63
  return mapper(args, options);
109
64
  }
@@ -250,7 +205,7 @@ export default {
250
205
  return false;
251
206
  });
252
207
  // Prepare command data based on the command type
253
- const commandData = prepareCommandData(alias, nonEmptyArgs, options);
208
+ const commandData = prepareCommandData(alias, nonEmptyArgs, options, pluginLoader);
254
209
  if (process.env.DEBUG !== undefined && process.env.DEBUG.includes('cli:')) {
255
210
  console.error('DEBUG cli: Prepared command data:', commandData);
256
211
  }
@@ -335,10 +290,12 @@ const loadEnvFile = () => {
335
290
  dotenv.config({ path: envPath });
336
291
  }
337
292
  };
338
- const initializeEnvironment = () => {
293
+ const initializeEnvironment = (shouldClearConsole = true) => {
339
294
  checkNodeVersion();
340
295
  loadEnvFile();
341
- clearConsole();
296
+ if (shouldClearConsole) {
297
+ clearConsole();
298
+ }
342
299
  setupSignalHandlers();
343
300
  };
344
301
  const handleProgramError = (error) => {
@@ -358,16 +315,17 @@ const handleProgramError = (error) => {
358
315
  };
359
316
  const main = async () => {
360
317
  try {
361
- initializeEnvironment();
362
- const program = createCLI();
363
- program.parse(process.argv, { from: 'user' });
364
- const globalOptions = program.opts();
318
+ // Check if help or version is being requested
319
+ const isHelpOrVersion = process.argv.includes('--help') ||
320
+ process.argv.includes('-h') ||
321
+ process.argv.includes('--version') ||
322
+ process.argv.includes('-V');
323
+ initializeEnvironment(!isHelpOrVersion);
324
+ // For help/version, we need to load the config with defaults to show all commands
365
325
  const config = loadConfig({
366
- debug: Boolean(globalOptions.debug),
367
- noColor: Boolean(globalOptions.noColor),
368
- output: globalOptions.json === true ? 'json' : 'text',
369
- apiToken: typeof globalOptions.apiToken === 'string' ? globalOptions.apiToken : undefined,
370
- projectPath: typeof globalOptions.projectPath === 'string' ? globalOptions.projectPath : undefined,
326
+ debug: process.argv.includes('-d') || process.argv.includes('--debug'),
327
+ noColor: process.argv.includes('--no-color'),
328
+ output: process.argv.includes('--json') ? 'json' : 'text',
371
329
  });
372
330
  validateConfig(config);
373
331
  createOutput(config);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC;AAE3D,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAElE,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,WAAW,oBAAoB,CAAC,CAAC,CAAC;QACpF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,qCAAqC;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAC/B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;QACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QACnD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,eAAe,CAAC;SACrB,WAAW,CAAC,gEAAgE,CAAC;SAC7E,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;SACjC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CAAC,YAAY,EAAE,wBAAwB,CAAC;SAC9C,MAAM,CAAC,QAAQ,EAAE,uBAAuB,CAAC;SACzC,MAAM,CAAC,qBAAqB,EAAE,iCAAiC,CAAC;SAChE,MAAM,CAAC,uBAAuB,EAAE,2BAA2B,CAAC,CAAC;IAEhE,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAKF,MAAM,cAAc,GAAmG;IACrH,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACvE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5B,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QACnB,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAClB,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;QACrB,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;QACtB,kBAAkB,EAAE,IAAI,CAAC,CAAC,CAAC;KAC5B,CAAC;IACF,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7B,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QACnB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;QACpB,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;KACrC,CAAC;IACF,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACjC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;QACxB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;IACF,aAAa,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACjC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;IACF,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QAChC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;QACxB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAC;IACF,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAClD,sBAAsB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACjC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAClB,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;QACjB,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;KACpB,CAAC;IACF,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxB,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAClB,oEAAoE;QACpE,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KAC5D,CAAC;IACF,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;CAC3E,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,KAAa,EACb,IAA2B,EAC3B,OAAgC,EACnB,EAAE;IACf,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,wCAAwC;IACxC,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC1B,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;YACf,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QACpC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YAC9C,QAAQ,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAYF,MAAM,YAAY,GAAG,KAAK,EAAE,MAAqC,EAAE,EAAE;IACnE,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IAExD,oDAAoD;IACpD,OAAO,CAAC,aAAa,CAAC;QACpB,eAAe,EAAE,IAAI;QACrB,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE;QACnC,4BAA4B;QAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;YACzC,MAAM,eAAe,GAAG,CAAC,CAAC;YAC1B,MAAM,kBAAkB,GAAG,CAAC,CAAC;YAE7B,SAAS,UAAU,CAAC,IAAY,EAAE,WAAmB;gBACnD,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;oBACvB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,kBAAkB,CAAC,GAAG,WAAW,EAAE,CAAC;oBAChF,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,GAAG,eAAe,EAAE,SAAS,GAAG,kBAAkB,CAAC,CAAC;gBAC5F,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,SAAS,UAAU,CAAC,SAAmB;gBACrC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,MAAM,GAAa,EAAE,CAAC;YAE5B,QAAQ;YACR,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,SAAS,GAAG,YAAY,EAAE,EAAE,CAAC,CAAC;YAE1C,cAAc;YACd,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC1D,IAAI,kBAAkB,KAAK,EAAE,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YACtC,CAAC;YAED,UAAU;YACV,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC3D,OAAO,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;YACH,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YACtD,CAAC;YAED,gDAAgD;YAEhD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;KACF,CAAC,CAAC;IAEH,kDAAkD;IAClD,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;IAC/D,IAAI,eAAe,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAEhD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAC3D,eAAe,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,0FAA0F,CAAC,CAAC;QACzG,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC;;;;;;;;GAQb,CAAC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,oBAAoB;IACpB,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAE5D,oDAAoD;QACpD,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAClC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,mEAAmE;QACnE,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAClD,qDAAqD;YACrD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE5C,IAAI,GAAY,CAAC;YACjB,IAAI,UAAU,EAAE,CAAC;gBACf,yEAAyE;gBACzE,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,cAAc,IAAI,UAAU,EAAE,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,iBAAiB;gBACjB,GAAG,GAAG,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;YACpC,CAAC;YAED,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAErC,0CAA0C;YAC1C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC3B,6CAA6C;oBAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;oBACjD,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC;oBAC1E,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;YACL,CAAC;YAED,wCAAwC;YACxC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC9B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;YACL,CAAC;YAED,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;gBACtC,IAAI,CAAC;oBACH,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;oBAEzD,gCAAgC;oBAChC,gDAAgD;oBAChD,2DAA2D;oBAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC;oBACtE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAA4B,CAAC;oBAEjE,gBAAgB;oBAChB,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC1E,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;wBAC5C,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;oBACrD,CAAC;oBAED,+DAA+D;oBAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;wBAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ;4BAAE,OAAO,GAAG,KAAK,EAAE,CAAC;wBAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;4BAAE,OAAO,IAAI,CAAC;wBACpC,OAAO,KAAK,CAAC;oBACf,CAAC,CAAC,CAAC;oBAEH,iDAAiD;oBACjD,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,YAAqC,EAAE,OAAO,CAAC,CAAC;oBAE9F,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC1E,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,WAAW,CAAC,CAAC;oBAClE,CAAC;oBAED,wEAAwE;oBACxE,MAAM,YAAY,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBAEtD,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3D,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC1D,WAAW,CAAC,KAAc,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,WAAW,GAAG,YAAY,CAAC,oBAAoB,EAAE,CAAC;QACxD,MAAM,CAAC,OAAO,CAAC,UAAU,QAAQ,CAAC,IAAI,kBAAkB,WAAW,UAAU,CAAC,CAAC;IACjF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kDAAkD;IAClD,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,EAA4D,CAAC;QAEvF,6BAA6B;QAC7B,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAC;YACtD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE/B,oCAAoC;QACpC,UAAU,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;YACxC,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE/C,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;gBACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;gBACrC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,0BAA0B,CAAC;gBAEtE,kCAAkC;gBAClC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC3D,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,GAAG,OAAO,GAAG,WAAW,IAAI,CAAC,CAAC;gBAExD,0CAA0C;gBAC1C,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;wBACnC,QAAQ,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAClD,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,oCAAoC;QACpC,QAAQ,CAAC,IAAI,CAAC;;IAEd,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC;;;;;;IAM/C,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC;;;;;;;;;;;iEAWqB,CAAC,CAAC;QAE/D,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAEpD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACnC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACjC,gBAAgB,EAAE,CAAC;IACnB,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;IACf,mBAAmB,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAE,EAAE;IAC5C,IACE,KAAK,YAAY,KAAK;QACtB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YAClC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;YACvC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EACpC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,WAAW,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,IAAI,CAAC;QACH,qBAAqB,EAAE,CAAC;QAExB,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAErC,MAAM,MAAM,GAAG,UAAU,CAAC;YACxB,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC;YACnC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC;YACvC,MAAM,EAAE,aAAa,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACrD,QAAQ,EAAE,OAAO,aAAa,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACzF,WAAW,EAAE,OAAO,aAAa,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;SACnG,CAAC,CAAC;QAEH,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,YAAY,CAAC,MAAM,CAAC,CAAC;QAErB,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC9B,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC,CAAC;IACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -24,9 +24,15 @@ export declare class PluginLoader {
24
24
  private conflicts;
25
25
  private loadedPlugins;
26
26
  private messageBus;
27
+ private aliasToHandlerName;
28
+ private hasGlobalEventSubscription;
29
+ private commandMappers;
27
30
  loadConfig?: (configPath: string) => Promise<PluginConfig>;
28
31
  importPlugin?: (packageName: string) => Promise<unknown>;
29
32
  constructor();
33
+ private setupGlobalEventSubscription;
34
+ private isValidHandler;
35
+ private findCommandHandler;
30
36
  private loadConfigFile;
31
37
  private loadPlugin;
32
38
  private processPlugin;
@@ -40,7 +46,19 @@ export declare class PluginLoader {
40
46
  private reportConflicts;
41
47
  loadPlugins(configPath: string): Promise<Map<string, CliCommand>>;
42
48
  getLoadedPluginCount(): number;
49
+ getCommandMapper(alias: string): ((args: (string | string[])[], options: Record<string, unknown>) => Record<string, unknown>) | undefined;
50
+ private buildCommandMapper;
43
51
  private registerCommand;
52
+ private formatFieldKey;
53
+ private displayArrayValue;
54
+ private displayFieldValue;
55
+ private handleCommandEvent;
56
+ private displayMessage;
57
+ private highlightYaml;
58
+ private displayErrorField;
59
+ private displayErrorsField;
60
+ private handleFailureEvent;
61
+ private handleSuccessEvent;
44
62
  executeCommand(commandAlias: string, data: unknown): Promise<void>;
45
63
  getCommands(): Map<string, CliCommand>;
46
64
  getConflicts(): Map<string, string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../../src/plugin-loader.ts"],"names":[],"mappings":"AAuBA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,UAAU,CAAa;IAGxB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;;YAMlD,cAAc;YA8Bd,UAAU;YAwBV,aAAa;YA4Cb,qBAAqB;YAuBrB,yBAAyB;IAsCvC,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,mBAAmB;IAuB3B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,kBAAkB;YAiBZ,oBAAoB;IAWlC,OAAO,CAAC,eAAe;IAkCjB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAkDvE,oBAAoB,IAAI,MAAM;YAIhB,eAAe;IAmFvB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxE,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAItC,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;CAGtC;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAGtF"}
1
+ {"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../../src/plugin-loader.ts"],"names":[],"mappings":"AAyBA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACxE,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,0BAA0B,CAAS;IAC3C,OAAO,CAAC,cAAc,CAGlB;IAGG,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;;IAOhE,OAAO,CAAC,4BAA4B;IAepC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,kBAAkB;YAwBZ,cAAc;YA8Bd,UAAU;YAwBV,aAAa;YA4Cb,qBAAqB;YAuBrB,yBAAyB;IAsCvC,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,kBAAkB;YAiBZ,oBAAoB;IAWlC,OAAO,CAAC,eAAe;IAkCjB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAkDvE,oBAAoB,IAAI,MAAM;IAI9B,gBAAgB,CACd,KAAK,EAAE,MAAM,GACZ,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS;IAI3G,OAAO,CAAC,kBAAkB;YA0CZ,eAAe;IAkD7B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,cAAc;IAiCtB,OAAO,CAAC,aAAa;IA8CrB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,kBAAkB;IAWpB,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxE,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC;IAItC,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;CAGtC;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAGtF"}
@@ -3,6 +3,8 @@ import * as fs from 'fs';
3
3
  import { pathToFileURL } from 'url';
4
4
  import createJiti from 'jiti';
5
5
  import createDebug from 'debug';
6
+ import yaml from 'yaml';
7
+ import chalk from 'chalk';
6
8
  import { createMessageBus } from '@auto-engineer/message-bus';
7
9
  const debug = createDebug('cli:plugin-loader');
8
10
  const debugConfig = createDebug('cli:plugin-loader:config');
@@ -21,7 +23,45 @@ export class PluginLoader {
21
23
  this.commands = new Map();
22
24
  this.conflicts = new Map(); // alias -> [package1, package2, ...]
23
25
  this.loadedPlugins = new Set(); // Track successfully loaded plugins
26
+ this.aliasToHandlerName = new Map(); // Map CLI alias to handler name
27
+ this.hasGlobalEventSubscription = false; // Track if we've set up global event subscription
28
+ this.commandMappers = new Map(); // Dynamic command mappers
24
29
  this.messageBus = createMessageBus();
30
+ this.setupGlobalEventSubscription();
31
+ }
32
+ setupGlobalEventSubscription() {
33
+ if (this.hasGlobalEventSubscription)
34
+ return;
35
+ this.messageBus.subscribeAll({
36
+ name: 'CLI_GlobalEventLogger',
37
+ handle: async (event) => {
38
+ debugBus('CLI received event: %s', event.type);
39
+ this.handleCommandEvent(event.type, event);
40
+ },
41
+ });
42
+ this.hasGlobalEventSubscription = true;
43
+ debugBus('Global event subscription set up');
44
+ }
45
+ isValidHandler(item) {
46
+ return item !== null && item !== undefined && typeof item === 'object' && 'handle' in item && 'name' in item;
47
+ }
48
+ findCommandHandler(module) {
49
+ // Look for the command handler - prefer default export
50
+ const handler = module.default ?? module.handler;
51
+ // If default is a valid handler, use it
52
+ if (this.isValidHandler(handler) ||
53
+ (handler !== null && handler !== undefined && typeof handler === 'object' && 'handle' in handler)) {
54
+ return handler;
55
+ }
56
+ // Otherwise, look for named exports
57
+ for (const key of Object.keys(module)) {
58
+ const exportedItem = module[key];
59
+ if (this.isValidHandler(exportedItem)) {
60
+ debugBus('Using named export %s as handler', key);
61
+ return exportedItem;
62
+ }
63
+ }
64
+ return handler; // Return whatever we found even if not valid
25
65
  }
26
66
  async loadConfigFile(configPath) {
27
67
  try {
@@ -35,7 +75,7 @@ export class PluginLoader {
35
75
  const jiti = createJiti(import.meta.url, {
36
76
  interopDefault: true,
37
77
  });
38
- const config = jiti(configPath);
78
+ const config = await jiti.import(configPath);
39
79
  debugConfig('TypeScript config loaded successfully');
40
80
  return config;
41
81
  }
@@ -174,16 +214,6 @@ export class PluginLoader {
174
214
  package: 'custom-alias',
175
215
  };
176
216
  this.commands.set(alias, commandEntry);
177
- // Register with message bus
178
- const commandHandler = {
179
- name: alias,
180
- handle: async (command) => {
181
- debugBus('Handling custom alias command %s', alias);
182
- await t.handle(command);
183
- },
184
- };
185
- this.messageBus.registerCommandHandler(commandHandler);
186
- debugBus('Registered custom alias %s with message bus', alias);
187
217
  }
188
218
  processFunctionAlias(alias, target) {
189
219
  debugPlugins('Registering custom alias %s with handler function', alias);
@@ -287,6 +317,45 @@ export class PluginLoader {
287
317
  getLoadedPluginCount() {
288
318
  return this.loadedPlugins.size;
289
319
  }
320
+ getCommandMapper(alias) {
321
+ return this.commandMappers.get(alias);
322
+ }
323
+ buildCommandMapper(alias, command) {
324
+ const mapper = (args, options) => {
325
+ const commandData = {};
326
+ // Map positional arguments based on the command's args definition
327
+ if (command.args) {
328
+ command.args.forEach((argDef, index) => {
329
+ if (args[index] !== undefined) {
330
+ // Convert arg name to camelCase for the data property
331
+ const propName = argDef.name.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
332
+ commandData[propName] = args[index];
333
+ }
334
+ });
335
+ }
336
+ // Map options
337
+ if (command.options) {
338
+ command.options.forEach((optDef) => {
339
+ // Extract option name from format like "--fix" or "--scope <scope>"
340
+ const optMatch = optDef.name.match(/^--([a-zA-Z-]+)/);
341
+ if (optMatch) {
342
+ const optName = optMatch[1].replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
343
+ if (options[optName] !== undefined || options[optMatch[1]] !== undefined) {
344
+ commandData[optName] = options[optName] ?? options[optMatch[1]];
345
+ }
346
+ }
347
+ });
348
+ }
349
+ // Handle special cases for variadic arguments
350
+ if (alias === 'generate:ia' && command.args && command.args.length > 1) {
351
+ commandData.outputDir = args[0];
352
+ commandData.flowFiles = Array.isArray(args[1]) ? args[1] : args.slice(1);
353
+ }
354
+ return commandData;
355
+ };
356
+ this.commandMappers.set(alias, mapper);
357
+ debugPlugins('Built command mapper for %s', alias);
358
+ }
290
359
  async registerCommand(alias, candidate) {
291
360
  // Store the command for CLI use with all metadata
292
361
  this.commands.set(alias, {
@@ -299,74 +368,193 @@ export class PluginLoader {
299
368
  options: candidate.command.options,
300
369
  category: candidate.command.category,
301
370
  });
302
- // Register the command with the message bus
303
- debugBus('Registering command %s with message bus', alias);
304
- // Create a command handler for the message bus
305
- const commandHandler = {
306
- name: alias,
307
- handle: async (command) => {
308
- debugBus('Handling command %s via message bus', alias);
309
- try {
310
- // Load the actual handler from the plugin
311
- const module = (await candidate.command.handler());
312
- debugBus('Loaded module for %s', alias);
313
- // Look for standard handler export patterns
314
- const handlerName = `handle${alias
315
- .split(':')
316
- .map((s) => s[0].toUpperCase() + s.slice(1))
317
- .join('')}Command`;
318
- const moduleHandler = module[handlerName];
319
- const defaultHandler = module.default;
320
- const namedHandler = module.handler;
321
- let handler = null;
322
- if (moduleHandler !== undefined) {
323
- handler = moduleHandler;
324
- }
325
- else if (defaultHandler !== undefined) {
326
- handler = defaultHandler;
327
- }
328
- else if (namedHandler !== undefined) {
329
- handler = namedHandler;
330
- }
331
- if (handler === null) {
332
- debugBus('Available exports: %o', Object.keys(module));
333
- throw new Error(`No handler found for command ${alias} in ${candidate.packageName}`);
334
- }
335
- debugBus('Found handler for %s, type: %s', alias, typeof handler);
336
- // Execute the handler with the command
337
- debugBus('Calling handler with command: %o', command);
338
- const handlerFunc = handler;
339
- await handlerFunc(command);
340
- debugBus('Handler execution complete for %s', alias);
341
- }
342
- catch (error) {
343
- debugBus('Error handling command %s: %O', alias, error);
344
- throw error;
371
+ // Build and store command mapper based on args and options
372
+ this.buildCommandMapper(alias, candidate.command);
373
+ debugBus('Loading command handler for %s', alias);
374
+ try {
375
+ // Load the actual handler from the plugin
376
+ const module = (await candidate.command.handler());
377
+ debugBus('Loaded module for %s', alias);
378
+ // Look for the command handler
379
+ const handler = this.findCommandHandler(module);
380
+ if (handler === null || handler === undefined || typeof handler !== 'object' || !('handle' in handler)) {
381
+ debugBus('Available exports: %o', Object.keys(module));
382
+ debugBus('Default export type: %s', typeof module.default);
383
+ debugBus('Default export value: %o', module.default);
384
+ throw new Error(`No valid CommandHandler found for command ${alias} in ${candidate.packageName}`);
385
+ }
386
+ const commandHandler = handler;
387
+ // Store mapping from alias to handler name
388
+ this.aliasToHandlerName.set(alias, commandHandler.name);
389
+ // Register with the message bus using the handler's name
390
+ debugBus('Registering command handler %s with message bus', commandHandler.name);
391
+ this.messageBus.registerCommandHandler(commandHandler);
392
+ }
393
+ catch (error) {
394
+ debugBus('Error registering command %s: %O', alias, error);
395
+ throw error;
396
+ }
397
+ }
398
+ formatFieldKey(key) {
399
+ return key.replace(/([A-Z])/g, ' $1').replace(/^./, (str) => str.toUpperCase());
400
+ }
401
+ displayArrayValue(value, logFn) {
402
+ logFn(` ${value.length} items`);
403
+ if (typeof value[0] === 'string') {
404
+ value.slice(0, 3).forEach((item) => logFn(` - ${String(item)}`));
405
+ if (value.length > 3) {
406
+ logFn(` ... and ${value.length - 3} more`);
407
+ }
408
+ }
409
+ }
410
+ displayFieldValue(key, value, isError) {
411
+ const formattedKey = this.formatFieldKey(key);
412
+ const logFn = isError ? console.error : console.log;
413
+ if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
414
+ logFn(` ${formattedKey}: ${String(value)}`);
415
+ }
416
+ else if (Array.isArray(value) && value.length > 0) {
417
+ logFn(` ${formattedKey}:`);
418
+ this.displayArrayValue(value, logFn);
419
+ }
420
+ else if (typeof value === 'object' && value !== null) {
421
+ logFn(` ${formattedKey}: [object]`);
422
+ }
423
+ }
424
+ handleCommandEvent(eventType, event) {
425
+ // Handle different event types and log appropriately
426
+ if (eventType.endsWith('Failed') || eventType.endsWith('Error')) {
427
+ this.handleFailureEvent(eventType, event);
428
+ }
429
+ else if (eventType.endsWith('Passed') || eventType.endsWith('Completed')) {
430
+ this.handleSuccessEvent(eventType, event);
431
+ }
432
+ else {
433
+ this.displayMessage(event);
434
+ }
435
+ }
436
+ displayMessage(message) {
437
+ const data = message.data;
438
+ if (data === null || data === undefined)
439
+ return;
440
+ let output = '';
441
+ // For simple values, display inline
442
+ if (typeof data === 'string' || typeof data === 'number' || typeof data === 'boolean') {
443
+ output = ` ${chalk.cyan(String(data))}`;
444
+ }
445
+ else if (typeof data === 'object') {
446
+ // Strip any ANSI codes that might be in the data values
447
+ const cleanData = JSON.parse(JSON.stringify(data, (_key, value) => {
448
+ if (typeof value === 'string') {
449
+ return value.replace(/\x1b\[[0-9;]*m/g, '');
345
450
  }
346
- },
347
- };
348
- // Register with the message bus
349
- this.messageBus.registerCommandHandler(commandHandler);
350
- // Set up event listener for command responses if needed
351
- const responseEventName = `${alias}Response`;
352
- debugBus('Setting up response listener for %s', responseEventName);
353
- this.messageBus.subscribeToEvent(responseEventName, {
354
- name: `${alias}ResponseHandler`,
355
- handle: async (event) => {
356
- debugBus('Received response for %s: %O', alias, event);
357
- // Handle response if needed (logging, analytics, etc.)
358
- },
359
- });
451
+ return value;
452
+ }));
453
+ output = yaml.stringify(data, {
454
+ indent: 2,
455
+ lineWidth: 80,
456
+ });
457
+ }
458
+ const date = new Date(message.timestamp || Date.now());
459
+ const timestamp = date.toTimeString().split(' ')[0] + '.' + date.getMilliseconds().toString().padStart(3, '0');
460
+ const isCommand = 'type' in message && !('correlationId' in message);
461
+ const backgroundColor = isCommand ? '#00CED1' : '#FF6B35';
462
+ console.log(chalk.gray(timestamp), chalk.bgHex(backgroundColor).white.bold(` ${message.type} `));
463
+ console.log(this.highlightYaml(output));
464
+ }
465
+ highlightYaml(yamlStr) {
466
+ // Apply syntax highlighting and indentation
467
+ const highlightedYaml = yamlStr
468
+ .split('\n')
469
+ .filter((line) => line.trim()) // Remove empty lines
470
+ .map((line) => {
471
+ // Apply syntax highlighting
472
+ let highlighted = line;
473
+ // Highlight keys (word before colon)
474
+ highlighted = highlighted.replace(/^(\s*)([a-zA-Z0-9_-]+)(:)/g, (match, indent, key, colon) => {
475
+ return indent + chalk.cyanBright(key) + chalk.gray(colon);
476
+ });
477
+ // Highlight string values (in quotes)
478
+ highlighted = highlighted.replace(/(["'])((?:\\.|(?!\1).)*?)\1/g, (match, quote, content) => {
479
+ return chalk.gray(quote) + chalk.green(content) + chalk.gray(quote);
480
+ });
481
+ // Highlight numbers
482
+ highlighted = highlighted.replace(/:\s*(-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\s*$/g, (match, num) => {
483
+ return chalk.gray(':') + ' ' + chalk.yellow(num);
484
+ });
485
+ // Highlight booleans
486
+ highlighted = highlighted.replace(/:\s*(true|false)\s*$/g, (match, bool) => {
487
+ return chalk.gray(':') + ' ' + chalk.magenta(bool);
488
+ });
489
+ // Highlight null
490
+ highlighted = highlighted.replace(/:\s*(null)\s*$/g, (match, nullVal) => {
491
+ return chalk.gray(':') + ' ' + chalk.gray(nullVal);
492
+ });
493
+ // Highlight array markers
494
+ highlighted = highlighted.replace(/^(\s*)(- )/g, (match, indent, marker) => {
495
+ return indent + chalk.gray(marker);
496
+ });
497
+ return ` ${highlighted}`;
498
+ })
499
+ .join('\n');
500
+ return highlightedYaml;
501
+ }
502
+ displayErrorField(data) {
503
+ if (data.error !== undefined && data.error !== null) {
504
+ console.error(` Error: ${String(data.error)}`);
505
+ }
506
+ }
507
+ displayErrorsField(data) {
508
+ if (data.errors === undefined || data.errors === null)
509
+ return;
510
+ if (typeof data.errors === 'string') {
511
+ console.error(` Errors: ${data.errors}`);
512
+ }
513
+ else if (Array.isArray(data.errors)) {
514
+ console.error(` Errors: ${data.errors.length}`);
515
+ data.errors.slice(0, 3).forEach((err) => console.error(` - ${String(err)}`));
516
+ if (data.errors.length > 3) {
517
+ console.error(` ... and ${data.errors.length - 3} more`);
518
+ }
519
+ }
520
+ }
521
+ handleFailureEvent(eventType, event) {
522
+ const data = event.data;
523
+ console.error(`❌ ${eventType}`);
524
+ this.displayErrorField(data);
525
+ this.displayErrorsField(data);
526
+ // Display any other fields in the data object generically
527
+ const displayedFields = new Set(['error', 'errors']);
528
+ for (const [key, value] of Object.entries(data)) {
529
+ if (displayedFields.has(key) || value === null || value === undefined)
530
+ continue;
531
+ this.displayFieldValue(key, value, true);
532
+ }
533
+ process.exit(1);
534
+ }
535
+ handleSuccessEvent(eventType, event) {
536
+ const data = event.data;
537
+ console.log(`✅ ${eventType}`);
538
+ // Display all fields in the data object generically
539
+ for (const [key, value] of Object.entries(data)) {
540
+ if (value === null || value === undefined)
541
+ continue;
542
+ this.displayFieldValue(key, value, false);
543
+ }
360
544
  }
361
545
  async executeCommand(commandAlias, data) {
362
546
  debugBus('Executing command %s through message bus', commandAlias);
547
+ // Get the actual handler name from the alias
548
+ const handlerName = this.aliasToHandlerName.get(commandAlias) ?? commandAlias;
549
+ debugBus('Mapped alias %s to handler %s', commandAlias, handlerName);
363
550
  // Create command object that matches the Command interface
364
551
  const command = {
365
- type: commandAlias,
552
+ type: handlerName,
366
553
  data: data,
367
554
  timestamp: new Date(),
368
555
  requestId: `cli-${Date.now()}-${Math.random().toString(36).substring(2, 11)}`,
369
556
  };
557
+ this.displayMessage(command);
370
558
  await this.messageBus.sendCommand(command);
371
559
  }
372
560
  getCommands() {