@codemieai/code 0.0.19 → 0.0.20

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 (114) hide show
  1. package/dist/agents/core/AgentCLI.d.ts +4 -0
  2. package/dist/agents/core/AgentCLI.d.ts.map +1 -1
  3. package/dist/agents/core/AgentCLI.js +80 -0
  4. package/dist/agents/core/AgentCLI.js.map +1 -1
  5. package/dist/agents/core/BaseAgentAdapter.d.ts +5 -0
  6. package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
  7. package/dist/agents/core/BaseAgentAdapter.js +21 -4
  8. package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
  9. package/dist/agents/core/flag-transform.d.ts +37 -0
  10. package/dist/agents/core/flag-transform.d.ts.map +1 -0
  11. package/dist/agents/core/flag-transform.js +107 -0
  12. package/dist/agents/core/flag-transform.js.map +1 -0
  13. package/dist/agents/core/types.d.ts +50 -1
  14. package/dist/agents/core/types.d.ts.map +1 -1
  15. package/dist/agents/plugins/claude.plugin.d.ts.map +1 -1
  16. package/dist/agents/plugins/claude.plugin.js +10 -0
  17. package/dist/agents/plugins/claude.plugin.js.map +1 -1
  18. package/dist/agents/plugins/codemie-code.plugin.d.ts +1 -0
  19. package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
  20. package/dist/agents/plugins/codemie-code.plugin.js +4 -0
  21. package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
  22. package/dist/agents/plugins/codex.plugin.d.ts.map +1 -1
  23. package/dist/agents/plugins/codex.plugin.js +15 -8
  24. package/dist/agents/plugins/codex.plugin.js.map +1 -1
  25. package/dist/agents/plugins/deepagents.plugin.d.ts.map +1 -1
  26. package/dist/agents/plugins/deepagents.plugin.js +6 -0
  27. package/dist/agents/plugins/deepagents.plugin.js.map +1 -1
  28. package/dist/agents/plugins/gemini.plugin.d.ts.map +1 -1
  29. package/dist/agents/plugins/gemini.plugin.js +14 -8
  30. package/dist/agents/plugins/gemini.plugin.js.map +1 -1
  31. package/dist/cli/commands/doctor/checks/FrameworksCheck.d.ts +12 -0
  32. package/dist/cli/commands/doctor/checks/FrameworksCheck.d.ts.map +1 -0
  33. package/dist/cli/commands/doctor/checks/FrameworksCheck.js +103 -0
  34. package/dist/cli/commands/doctor/checks/FrameworksCheck.js.map +1 -0
  35. package/dist/cli/commands/doctor/checks/index.d.ts +1 -0
  36. package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -1
  37. package/dist/cli/commands/doctor/checks/index.js +1 -0
  38. package/dist/cli/commands/doctor/checks/index.js.map +1 -1
  39. package/dist/cli/commands/doctor/index.d.ts.map +1 -1
  40. package/dist/cli/commands/doctor/index.js +3 -2
  41. package/dist/cli/commands/doctor/index.js.map +1 -1
  42. package/dist/cli/commands/install.d.ts.map +1 -1
  43. package/dist/cli/commands/install.js +79 -30
  44. package/dist/cli/commands/install.js.map +1 -1
  45. package/dist/cli/commands/list.d.ts.map +1 -1
  46. package/dist/cli/commands/list.js +55 -15
  47. package/dist/cli/commands/list.js.map +1 -1
  48. package/dist/cli/commands/uninstall.d.ts.map +1 -1
  49. package/dist/cli/commands/uninstall.js +85 -34
  50. package/dist/cli/commands/uninstall.js.map +1 -1
  51. package/dist/cli/index.d.ts +1 -0
  52. package/dist/cli/index.d.ts.map +1 -1
  53. package/dist/cli/index.js +5 -3
  54. package/dist/cli/index.js.map +1 -1
  55. package/dist/frameworks/core/BaseFrameworkAdapter.d.ts +88 -0
  56. package/dist/frameworks/core/BaseFrameworkAdapter.d.ts.map +1 -0
  57. package/dist/frameworks/core/BaseFrameworkAdapter.js +156 -0
  58. package/dist/frameworks/core/BaseFrameworkAdapter.js.map +1 -0
  59. package/dist/frameworks/core/index.d.ts +9 -0
  60. package/dist/frameworks/core/index.d.ts.map +1 -0
  61. package/dist/frameworks/core/index.js +9 -0
  62. package/dist/frameworks/core/index.js.map +1 -0
  63. package/dist/frameworks/core/registry.d.ts +53 -0
  64. package/dist/frameworks/core/registry.d.ts.map +1 -0
  65. package/dist/frameworks/core/registry.js +82 -0
  66. package/dist/frameworks/core/registry.js.map +1 -0
  67. package/dist/frameworks/core/types.d.ts +130 -0
  68. package/dist/frameworks/core/types.d.ts.map +1 -0
  69. package/dist/frameworks/core/types.js +8 -0
  70. package/dist/frameworks/core/types.js.map +1 -0
  71. package/dist/frameworks/index.d.ts +9 -0
  72. package/dist/frameworks/index.d.ts.map +1 -0
  73. package/dist/frameworks/index.js +12 -0
  74. package/dist/frameworks/index.js.map +1 -0
  75. package/dist/frameworks/plugins/bmad.plugin.d.ts +46 -0
  76. package/dist/frameworks/plugins/bmad.plugin.d.ts.map +1 -0
  77. package/dist/frameworks/plugins/bmad.plugin.js +111 -0
  78. package/dist/frameworks/plugins/bmad.plugin.js.map +1 -0
  79. package/dist/frameworks/plugins/index.d.ts +8 -0
  80. package/dist/frameworks/plugins/index.d.ts.map +1 -0
  81. package/dist/frameworks/plugins/index.js +15 -0
  82. package/dist/frameworks/plugins/index.js.map +1 -0
  83. package/dist/frameworks/plugins/speckit.plugin.d.ts +59 -0
  84. package/dist/frameworks/plugins/speckit.plugin.d.ts.map +1 -0
  85. package/dist/frameworks/plugins/speckit.plugin.js +213 -0
  86. package/dist/frameworks/plugins/speckit.plugin.js.map +1 -0
  87. package/dist/metrics/config.d.ts.map +1 -1
  88. package/dist/metrics/config.js +7 -1
  89. package/dist/metrics/config.js.map +1 -1
  90. package/dist/metrics/sync/aggregator.d.ts +7 -1
  91. package/dist/metrics/sync/aggregator.d.ts.map +1 -1
  92. package/dist/metrics/sync/aggregator.js +14 -5
  93. package/dist/metrics/sync/aggregator.js.map +1 -1
  94. package/dist/metrics/sync/post-processor.d.ts +48 -0
  95. package/dist/metrics/sync/post-processor.d.ts.map +1 -0
  96. package/dist/metrics/sync/post-processor.js +147 -0
  97. package/dist/metrics/sync/post-processor.js.map +1 -0
  98. package/dist/metrics/sync/types.d.ts +2 -2
  99. package/dist/metrics/sync/types.d.ts.map +1 -1
  100. package/dist/metrics/types.d.ts +6 -0
  101. package/dist/metrics/types.d.ts.map +1 -1
  102. package/dist/proxy/plugins/metrics-sync.plugin.js +20 -9
  103. package/dist/proxy/plugins/metrics-sync.plugin.js.map +1 -1
  104. package/dist/utils/exec.d.ts +1 -0
  105. package/dist/utils/exec.d.ts.map +1 -1
  106. package/dist/utils/exec.js +23 -9
  107. package/dist/utils/exec.js.map +1 -1
  108. package/dist/utils/first-time.d.ts +3 -3
  109. package/dist/utils/first-time.d.ts.map +1 -1
  110. package/dist/utils/first-time.js +21 -4
  111. package/dist/utils/first-time.js.map +1 -1
  112. package/dist/utils/logger.js +2 -2
  113. package/dist/utils/logger.js.map +1 -1
  114. package/package.json +2 -1
@@ -5,32 +5,72 @@ import chalk from 'chalk';
5
5
  export function createListCommand() {
6
6
  const command = new Command('list');
7
7
  command
8
- .description('List all available agents')
9
- .option('-i, --installed', 'Show only installed agents')
8
+ .description('List all available agents and frameworks')
9
+ .option('-i, --installed', 'Show only installed agents and frameworks')
10
10
  .action(async (options) => {
11
11
  try {
12
+ // List agents
12
13
  const agents = options.installed
13
14
  ? await AgentRegistry.getInstalledAgents()
14
15
  : AgentRegistry.getAllAgents();
15
16
  if (agents.length === 0) {
16
17
  logger.info(options.installed ? 'No agents installed' : 'No agents available');
17
- return;
18
18
  }
19
- console.log(chalk.bold('\nAvailable Agents:\n'));
20
- for (const agent of agents) {
21
- const installed = await agent.isInstalled();
22
- const status = installed ? chalk.green('✓ installed') : chalk.white('not installed');
23
- const version = installed ? await agent.getVersion() : null;
24
- const versionStr = version ? chalk.white(` (${version})`) : '';
25
- console.log(chalk.bold(` ${agent.displayName}`) + versionStr);
26
- console.log(` Command: ${chalk.cyan(agent.name)}`);
27
- console.log(` Status: ${status}`);
28
- console.log(` ${chalk.white(agent.description)}`);
29
- console.log();
19
+ else {
20
+ console.log(chalk.bold('\n📦 Available Agents:\n'));
21
+ for (const agent of agents) {
22
+ const installed = await agent.isInstalled();
23
+ const status = installed ? chalk.green('✓ installed') : chalk.white('not installed');
24
+ const version = installed ? await agent.getVersion() : null;
25
+ const versionStr = version ? chalk.white(` (${version})`) : '';
26
+ console.log(chalk.bold(` ${agent.displayName}`) + versionStr);
27
+ console.log(` Command: ${chalk.cyan(agent.name)}`);
28
+ console.log(` Status: ${status}`);
29
+ console.log(` ${chalk.white(agent.description)}`);
30
+ console.log();
31
+ }
32
+ }
33
+ // List frameworks
34
+ const { FrameworkRegistry } = await import('../../frameworks/index.js');
35
+ const frameworks = FrameworkRegistry.getAllFrameworks();
36
+ if (frameworks.length > 0) {
37
+ // Filter by installed if requested
38
+ let displayFrameworks = frameworks;
39
+ if (options.installed) {
40
+ const installedCheck = await Promise.all(frameworks.map(async (fw) => ({
41
+ framework: fw,
42
+ installed: await fw.isInstalled()
43
+ })));
44
+ displayFrameworks = installedCheck
45
+ .filter(({ installed }) => installed)
46
+ .map(({ framework }) => framework);
47
+ }
48
+ if (displayFrameworks.length > 0) {
49
+ console.log(chalk.bold('🛠️ Available Frameworks:\n'));
50
+ for (const framework of displayFrameworks) {
51
+ const installed = await framework.isInstalled();
52
+ const initialized = await framework.isInitialized();
53
+ const status = installed ? chalk.green('✓ installed') : chalk.white('not installed');
54
+ const initStatus = initialized ? chalk.green(' (initialized)') : '';
55
+ const version = installed ? await framework.getVersion() : null;
56
+ const versionStr = version ? chalk.white(` v${version}`) : '';
57
+ console.log(chalk.bold(` ${framework.metadata.displayName}`) + versionStr + initStatus);
58
+ console.log(` Command: ${chalk.cyan(framework.metadata.name)}`);
59
+ console.log(` Status: ${status}`);
60
+ console.log(` ${chalk.white(framework.metadata.description)}`);
61
+ if (framework.metadata.docsUrl) {
62
+ console.log(` Docs: ${chalk.cyan(framework.metadata.docsUrl)}`);
63
+ }
64
+ console.log();
65
+ }
66
+ }
67
+ else if (options.installed) {
68
+ logger.info('No frameworks installed');
69
+ }
30
70
  }
31
71
  }
32
72
  catch (error) {
33
- logger.error('Failed to list agents:', error);
73
+ logger.error('Failed to list agents and frameworks:', error);
34
74
  process.exit(1);
35
75
  }
36
76
  });
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpC,OAAO;SACJ,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS;gBAC9B,CAAC,CAAC,MAAM,aAAa,CAAC,kBAAkB,EAAE;gBAC1C,CAAC,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;YAEjC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;gBAC/E,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;YAEjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACrF,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5D,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,sBAAsB,IAAI,OAAO,CAmFhD"}
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,sBAAsB,IAAI,OAAO,CAkJhD"}
@@ -7,66 +7,117 @@ import chalk from 'chalk';
7
7
  export function createUninstallCommand() {
8
8
  const command = new Command('uninstall');
9
9
  command
10
- .description('Uninstall an external AI coding agent (e.g., claude, codex)')
11
- .argument('[agent]', 'Agent name to uninstall (run without argument to see installed agents)')
12
- .action(async (agentName) => {
10
+ .description('Uninstall an AI agent or framework')
11
+ .argument('[name]', 'Agent or framework name to uninstall (run without argument to see installed)')
12
+ .action(async (name) => {
13
13
  try {
14
- // If no agent name provided, show installed agents
15
- if (!agentName) {
14
+ // If no name provided, show installed agents and frameworks
15
+ if (!name) {
16
16
  const installedAgents = await AgentRegistry.getInstalledAgents();
17
- if (installedAgents.length === 0) {
17
+ // Get installed frameworks
18
+ const { FrameworkRegistry } = await import('../../frameworks/index.js');
19
+ const frameworks = FrameworkRegistry.getAllFrameworks();
20
+ const installedFrameworkChecks = await Promise.all(frameworks.map(async (fw) => ({
21
+ framework: fw,
22
+ installed: await fw.isInstalled()
23
+ })));
24
+ const installedFrameworks = installedFrameworkChecks
25
+ .filter(({ installed }) => installed)
26
+ .map(({ framework }) => framework);
27
+ if (installedAgents.length === 0 && installedFrameworks.length === 0) {
18
28
  console.log();
19
- console.log(chalk.yellow('No agents are currently installed.'));
29
+ console.log(chalk.yellow('No agents or frameworks are currently installed.'));
20
30
  console.log();
21
- console.log(chalk.cyan('💡 Tip:') + ' Run ' + chalk.blueBright('codemie list') + ' to see all available agents');
31
+ console.log(chalk.cyan('💡 Tip:') + ' Run ' + chalk.blueBright('codemie list') + ' to see all available items');
22
32
  console.log();
23
33
  return;
24
34
  }
25
35
  console.log();
26
- console.log(chalk.bold('Installed agents:\n'));
27
- for (const agent of installedAgents) {
28
- const version = await agent.getVersion();
29
- const versionStr = version ? chalk.white(` (${version})`) : '';
30
- console.log(chalk.bold(` ${agent.displayName}`) + versionStr);
31
- console.log(` Command: ${chalk.cyan(`codemie uninstall ${agent.name}`)}`);
32
- console.log(` ${chalk.white(agent.description)}`);
33
- console.log();
36
+ if (installedAgents.length > 0) {
37
+ console.log(chalk.bold('📦 Installed Agents:\n'));
38
+ for (const agent of installedAgents) {
39
+ const version = await agent.getVersion();
40
+ const versionStr = version ? chalk.white(` (${version})`) : '';
41
+ console.log(chalk.bold(` ${agent.displayName}`) + versionStr);
42
+ console.log(` Command: ${chalk.cyan(`codemie uninstall ${agent.name}`)}`);
43
+ console.log(` ${chalk.white(agent.description)}`);
44
+ console.log();
45
+ }
46
+ }
47
+ if (installedFrameworks.length > 0) {
48
+ console.log(chalk.bold('🛠️ Installed Frameworks:\n'));
49
+ for (const framework of installedFrameworks) {
50
+ const version = await framework.getVersion();
51
+ const versionStr = version ? chalk.white(` v${version}`) : '';
52
+ console.log(chalk.bold(` ${framework.metadata.displayName}`) + versionStr);
53
+ console.log(` Command: ${chalk.cyan(`codemie uninstall ${framework.metadata.name}`)}`);
54
+ console.log(` ${chalk.white(framework.metadata.description)}`);
55
+ console.log();
56
+ }
34
57
  }
35
- console.log(chalk.cyan('💡 Tip:') + ' Run ' + chalk.blueBright('codemie uninstall <agent>') + ' to uninstall an agent');
58
+ console.log(chalk.cyan('💡 Tip:') + ' Run ' + chalk.blueBright('codemie uninstall <name>') + ' to uninstall');
36
59
  console.log();
37
60
  return;
38
61
  }
39
- const agent = AgentRegistry.getAgent(agentName);
40
- if (!agent) {
41
- throw new AgentNotFoundError(agentName);
42
- }
43
- // Check if installed
44
- if (!(await agent.isInstalled())) {
45
- logger.info(`${agent.displayName} is not installed`);
62
+ // Try agent first
63
+ const agent = AgentRegistry.getAgent(name);
64
+ if (agent) {
65
+ // Check if installed
66
+ if (!(await agent.isInstalled())) {
67
+ logger.info(`${agent.displayName} is not installed`);
68
+ return;
69
+ }
70
+ const spinner = ora(`Uninstalling ${agent.displayName}...`).start();
71
+ try {
72
+ await agent.uninstall();
73
+ spinner.succeed(`${agent.displayName} uninstalled successfully`);
74
+ }
75
+ catch (error) {
76
+ spinner.fail(`Failed to uninstall ${agent.displayName}`);
77
+ throw error;
78
+ }
46
79
  return;
47
80
  }
48
- const spinner = ora(`Uninstalling ${agent.displayName}...`).start();
49
- try {
50
- await agent.uninstall();
51
- spinner.succeed(`${agent.displayName} uninstalled successfully`);
52
- }
53
- catch (error) {
54
- spinner.fail(`Failed to uninstall ${agent.displayName}`);
55
- throw error;
81
+ // Try framework
82
+ const { FrameworkRegistry } = await import('../../frameworks/index.js');
83
+ const framework = FrameworkRegistry.getFramework(name);
84
+ if (framework) {
85
+ // Check if installed
86
+ if (!(await framework.isInstalled())) {
87
+ logger.info(`${framework.metadata.displayName} is not installed`);
88
+ return;
89
+ }
90
+ const spinner = ora(`Uninstalling ${framework.metadata.displayName}...`).start();
91
+ try {
92
+ await framework.uninstall();
93
+ spinner.succeed(`${framework.metadata.displayName} uninstalled successfully`);
94
+ }
95
+ catch (error) {
96
+ spinner.fail(`Failed to uninstall ${framework.metadata.displayName}`);
97
+ throw error;
98
+ }
99
+ return;
56
100
  }
101
+ // Neither agent nor framework found
102
+ throw new AgentNotFoundError(name);
57
103
  }
58
104
  catch (error) {
59
105
  // Handle AgentNotFoundError with helpful suggestions
60
106
  if (error instanceof AgentNotFoundError) {
61
107
  console.error(chalk.red(`✗ ${getErrorMessage(error)}`));
62
108
  console.log();
63
- console.log(chalk.cyan('💡 Available agents:'));
109
+ console.log(chalk.cyan('💡 Available agents and frameworks:'));
64
110
  const allAgents = AgentRegistry.getAllAgents();
65
111
  for (const agent of allAgents) {
66
112
  console.log(chalk.white(` • ${agent.name}`));
67
113
  }
114
+ const { FrameworkRegistry } = await import('../../frameworks/index.js');
115
+ const frameworks = FrameworkRegistry.getAllFrameworks();
116
+ for (const framework of frameworks) {
117
+ console.log(chalk.white(` • ${framework.metadata.name}`));
118
+ }
68
119
  console.log();
69
- console.log(chalk.cyan('💡 Tip:') + ' Run ' + chalk.blueBright('codemie uninstall') + ' to see installed agents');
120
+ console.log(chalk.cyan('💡 Tip:') + ' Run ' + chalk.blueBright('codemie uninstall') + ' to see installed items');
70
121
  console.log();
71
122
  process.exit(1);
72
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,sBAAsB;IACpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzC,OAAO;SACJ,WAAW,CAAC,6DAA6D,CAAC;SAC1E,QAAQ,CAAC,SAAS,EAAE,wEAAwE,CAAC;SAC7F,MAAM,CAAC,KAAK,EAAE,SAAkB,EAAE,EAAE;QACnC,IAAI,CAAC;YACH,mDAAmD;YACnD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,eAAe,GAAG,MAAM,aAAa,CAAC,kBAAkB,EAAE,CAAC;gBAEjE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oCAAoC,CAAC,CAAC,CAAC;oBAChE,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,8BAA8B,CAAC,CAAC;oBACjH,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAE/C,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;oBACpC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;oBACzC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;oBAC/D,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC7E,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;oBACrD,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,2BAA2B,CAAC,GAAG,wBAAwB,CAAC,CAAC;gBACxH,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YAED,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEhD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;YAED,qBAAqB;YACrB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,mBAAmB,CAAC,CAAC;gBACrD,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,KAAK,CAAC,WAAW,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YAEpE,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;gBACxB,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,WAAW,2BAA2B,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,uBAAuB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;gBACzD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,qDAAqD;YACrD,IAAI,KAAK,YAAY,kBAAkB,EAAE,CAAC;gBACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxD,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,EAAE,CAAC;gBAC/C,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACjD,CAAC;gBACD,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,0BAA0B,CAAC,CAAC;gBAClH,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,wCAAwC;YACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  #!/usr/bin/env node
2
2
  import '../providers/index.js';
3
+ import '../frameworks/plugins/index.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAGA,OAAO,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAGA,OAAO,uBAAuB,CAAC;AAG/B,OAAO,gCAAgC,CAAC"}
package/dist/cli/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  // Initialize provider plugins (triggers auto-registration)
3
3
  import '../providers/index.js';
4
+ // Initialize framework plugins (triggers auto-registration)
5
+ import '../frameworks/plugins/index.js';
4
6
  import { Command } from 'commander';
5
7
  import { createListCommand } from './commands/list.js';
6
8
  import { createInstallCommand } from './commands/install.js';
@@ -75,14 +77,14 @@ if (taskIndex !== -1 && taskIndex < process.argv.length - 1) {
75
77
  }
76
78
  else if (process.argv.length === 2) {
77
79
  // Show prettified help if no command provided (just "codemie")
78
- FirstTimeExperience.isFirstTime().then(isFirstTime => {
80
+ FirstTimeExperience.isFirstTime().then(async (isFirstTime) => {
79
81
  if (isFirstTime) {
80
82
  // Show welcome message and recommendations for first-time users
81
- FirstTimeExperience.showWelcomeMessage();
83
+ await FirstTimeExperience.showWelcomeMessage();
82
84
  }
83
85
  else {
84
86
  // Show quick start guide for returning users
85
- FirstTimeExperience.showQuickStart();
87
+ await FirstTimeExperience.showQuickStart();
86
88
  }
87
89
  }).catch(() => {
88
90
  // Fallback to default help if detection fails
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Base Framework Adapter
3
+ *
4
+ * Abstract base class providing common functionality for framework adapters.
5
+ * Similar to BaseAgentAdapter pattern in src/agents/core/BaseAgentAdapter.ts
6
+ */
7
+ import type { FrameworkAdapter, FrameworkMetadata, FrameworkInitOptions } from './types.js';
8
+ export declare abstract class BaseFrameworkAdapter implements FrameworkAdapter {
9
+ readonly metadata: FrameworkMetadata;
10
+ constructor(metadata: FrameworkMetadata);
11
+ /**
12
+ * Default implementation: Check if CLI command exists
13
+ * Override for custom installation logic
14
+ */
15
+ isInstalled(): Promise<boolean>;
16
+ /**
17
+ * Default implementation: Check for init directory
18
+ * Override for custom detection logic
19
+ */
20
+ isInitialized(cwd?: string): Promise<boolean>;
21
+ /**
22
+ * Default implementation: Get version from CLI
23
+ * Override for custom version retrieval
24
+ */
25
+ getVersion(): Promise<string | null>;
26
+ /**
27
+ * Default implementation: No agent mapping (framework-agnostic)
28
+ * Override for agent-specific frameworks
29
+ */
30
+ getAgentMapping(codemieAgentName: string): string | null;
31
+ /**
32
+ * Install framework CLI - must be implemented by subclasses
33
+ */
34
+ abstract install(): Promise<void>;
35
+ /**
36
+ * Uninstall framework CLI - must be implemented by subclasses
37
+ */
38
+ abstract uninstall(): Promise<void>;
39
+ /**
40
+ * Initialize framework - must be implemented by subclasses
41
+ */
42
+ abstract init(agentName: string, options?: FrameworkInitOptions): Promise<void>;
43
+ /**
44
+ * Helper: Log installation start
45
+ */
46
+ protected logInstallStart(): void;
47
+ /**
48
+ * Helper: Log installation success
49
+ */
50
+ protected logInstallSuccess(version?: string): void;
51
+ /**
52
+ * Helper: Log installation error
53
+ */
54
+ protected logInstallError(error: unknown): void;
55
+ /**
56
+ * Helper: Log uninstallation start
57
+ */
58
+ protected logUninstallStart(): void;
59
+ /**
60
+ * Helper: Log uninstallation success
61
+ */
62
+ protected logUninstallSuccess(): void;
63
+ /**
64
+ * Helper: Log uninstallation error
65
+ */
66
+ protected logUninstallError(error: unknown): void;
67
+ /**
68
+ * Helper: Log initialization start
69
+ */
70
+ protected logInitStart(agentName?: string): void;
71
+ /**
72
+ * Helper: Log initialization success
73
+ */
74
+ protected logInitSuccess(directory: string): void;
75
+ /**
76
+ * Helper: Log initialization error
77
+ */
78
+ protected logInitError(error: unknown): void;
79
+ /**
80
+ * Helper: Check if agent is supported
81
+ */
82
+ protected isAgentSupported(agentName: string): boolean;
83
+ /**
84
+ * Helper: Throw error if agent not supported
85
+ */
86
+ protected assertAgentSupported(agentName: string): void;
87
+ }
88
+ //# sourceMappingURL=BaseFrameworkAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseFrameworkAdapter.d.ts","sourceRoot":"","sources":["../../../src/frameworks/core/BaseFrameworkAdapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB,8BAAsB,oBAAqB,YAAW,gBAAgB;aACxC,QAAQ,EAAE,iBAAiB;gBAA3B,QAAQ,EAAE,iBAAiB;IAEvD;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAqBrC;;;OAGG;IACG,aAAa,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,OAAO,CAAC;IASlE;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAe1C;;;OAGG;IACH,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKxD;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAEnC;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/E;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IAIjC;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAKnD;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAK/C;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAInC;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAIrC;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAKjD;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAKhD;;OAEG;IACH,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIjD;;OAEG;IACH,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAK5C;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAOtD;;OAEG;IACH,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAQxD"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Base Framework Adapter
3
+ *
4
+ * Abstract base class providing common functionality for framework adapters.
5
+ * Similar to BaseAgentAdapter pattern in src/agents/core/BaseAgentAdapter.ts
6
+ */
7
+ import { existsSync } from 'fs';
8
+ import { join } from 'path';
9
+ import { exec } from '../../utils/exec.js';
10
+ import { logger } from '../../utils/logger.js';
11
+ export class BaseFrameworkAdapter {
12
+ metadata;
13
+ constructor(metadata) {
14
+ this.metadata = metadata;
15
+ }
16
+ /**
17
+ * Default implementation: Check if CLI command exists
18
+ * Override for custom installation logic
19
+ */
20
+ async isInstalled() {
21
+ if (!this.metadata.cliCommand) {
22
+ // Frameworks without CLI (npx-on-demand) are always "installed"
23
+ return this.metadata.installMethod === 'npx-on-demand';
24
+ }
25
+ try {
26
+ // Try running version command
27
+ const result = await exec(this.metadata.cliCommand, ['--version'], { timeout: 5000 });
28
+ return result.code === 0;
29
+ }
30
+ catch {
31
+ // Try 'which' command
32
+ try {
33
+ const result = await exec('which', [this.metadata.cliCommand], { timeout: 2000 });
34
+ return result.code === 0;
35
+ }
36
+ catch {
37
+ return false;
38
+ }
39
+ }
40
+ }
41
+ /**
42
+ * Default implementation: Check for init directory
43
+ * Override for custom detection logic
44
+ */
45
+ async isInitialized(cwd = process.cwd()) {
46
+ if (!this.metadata.initDirectory) {
47
+ return false;
48
+ }
49
+ const initPath = join(cwd, this.metadata.initDirectory);
50
+ return existsSync(initPath);
51
+ }
52
+ /**
53
+ * Default implementation: Get version from CLI
54
+ * Override for custom version retrieval
55
+ */
56
+ async getVersion() {
57
+ if (!this.metadata.cliCommand) {
58
+ return null;
59
+ }
60
+ try {
61
+ const result = await exec(this.metadata.cliCommand, ['--version'], { timeout: 5000 });
62
+ // Extract version number from output
63
+ const match = result.stdout.match(/\d+\.\d+\.\d+/);
64
+ return match ? match[0] : result.stdout.trim();
65
+ }
66
+ catch {
67
+ return null;
68
+ }
69
+ }
70
+ /**
71
+ * Default implementation: No agent mapping (framework-agnostic)
72
+ * Override for agent-specific frameworks
73
+ */
74
+ getAgentMapping(codemieAgentName) {
75
+ // Default: no mapping, use agent name as-is
76
+ return codemieAgentName;
77
+ }
78
+ /**
79
+ * Helper: Log installation start
80
+ */
81
+ logInstallStart() {
82
+ logger.info(`Installing ${this.metadata.displayName}...`);
83
+ }
84
+ /**
85
+ * Helper: Log installation success
86
+ */
87
+ logInstallSuccess(version) {
88
+ const versionStr = version ? ` (v${version})` : '';
89
+ logger.success(`${this.metadata.displayName} installed successfully${versionStr}`);
90
+ }
91
+ /**
92
+ * Helper: Log installation error
93
+ */
94
+ logInstallError(error) {
95
+ const message = error instanceof Error ? error.message : String(error);
96
+ logger.error(`Failed to install ${this.metadata.displayName}: ${message}`);
97
+ }
98
+ /**
99
+ * Helper: Log uninstallation start
100
+ */
101
+ logUninstallStart() {
102
+ logger.info(`Uninstalling ${this.metadata.displayName}...`);
103
+ }
104
+ /**
105
+ * Helper: Log uninstallation success
106
+ */
107
+ logUninstallSuccess() {
108
+ logger.success(`${this.metadata.displayName} uninstalled successfully`);
109
+ }
110
+ /**
111
+ * Helper: Log uninstallation error
112
+ */
113
+ logUninstallError(error) {
114
+ const message = error instanceof Error ? error.message : String(error);
115
+ logger.error(`Failed to uninstall ${this.metadata.displayName}: ${message}`);
116
+ }
117
+ /**
118
+ * Helper: Log initialization start
119
+ */
120
+ logInitStart(agentName) {
121
+ const agentStr = agentName ? ` for ${agentName}` : '';
122
+ logger.info(`Initializing ${this.metadata.displayName}${agentStr}...`);
123
+ }
124
+ /**
125
+ * Helper: Log initialization success
126
+ */
127
+ logInitSuccess(directory) {
128
+ logger.success(`${this.metadata.displayName} initialized in ${directory}`);
129
+ }
130
+ /**
131
+ * Helper: Log initialization error
132
+ */
133
+ logInitError(error) {
134
+ const message = error instanceof Error ? error.message : String(error);
135
+ logger.error(`Failed to initialize ${this.metadata.displayName}: ${message}`);
136
+ }
137
+ /**
138
+ * Helper: Check if agent is supported
139
+ */
140
+ isAgentSupported(agentName) {
141
+ if (!this.metadata.supportedAgents || this.metadata.supportedAgents.length === 0) {
142
+ return true; // Framework supports all agents
143
+ }
144
+ return this.metadata.supportedAgents.includes(agentName);
145
+ }
146
+ /**
147
+ * Helper: Throw error if agent not supported
148
+ */
149
+ assertAgentSupported(agentName) {
150
+ if (!this.isAgentSupported(agentName)) {
151
+ throw new Error(`Agent '${agentName}' is not supported by ${this.metadata.displayName}. ` +
152
+ `Supported agents: ${this.metadata.supportedAgents?.join(', ') || 'none'}`);
153
+ }
154
+ }
155
+ }
156
+ //# sourceMappingURL=BaseFrameworkAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseFrameworkAdapter.js","sourceRoot":"","sources":["../../../src/frameworks/core/BaseFrameworkAdapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Framework Core Module
3
+ *
4
+ * Exports core framework system components
5
+ */
6
+ export * from './types.js';
7
+ export * from './registry.js';
8
+ export * from './BaseFrameworkAdapter.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/frameworks/core/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Framework Core Module
3
+ *
4
+ * Exports core framework system components
5
+ */
6
+ export * from './types.js';
7
+ export * from './registry.js';
8
+ export * from './BaseFrameworkAdapter.js';
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frameworks/core/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC"}