@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.
- package/dist/agents/core/AgentCLI.d.ts +4 -0
- package/dist/agents/core/AgentCLI.d.ts.map +1 -1
- package/dist/agents/core/AgentCLI.js +80 -0
- package/dist/agents/core/AgentCLI.js.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.d.ts +5 -0
- package/dist/agents/core/BaseAgentAdapter.d.ts.map +1 -1
- package/dist/agents/core/BaseAgentAdapter.js +21 -4
- package/dist/agents/core/BaseAgentAdapter.js.map +1 -1
- package/dist/agents/core/flag-transform.d.ts +37 -0
- package/dist/agents/core/flag-transform.d.ts.map +1 -0
- package/dist/agents/core/flag-transform.js +107 -0
- package/dist/agents/core/flag-transform.js.map +1 -0
- package/dist/agents/core/types.d.ts +50 -1
- package/dist/agents/core/types.d.ts.map +1 -1
- package/dist/agents/plugins/claude.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/claude.plugin.js +10 -0
- package/dist/agents/plugins/claude.plugin.js.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.d.ts +1 -0
- package/dist/agents/plugins/codemie-code.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codemie-code.plugin.js +4 -0
- package/dist/agents/plugins/codemie-code.plugin.js.map +1 -1
- package/dist/agents/plugins/codex.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/codex.plugin.js +15 -8
- package/dist/agents/plugins/codex.plugin.js.map +1 -1
- package/dist/agents/plugins/deepagents.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/deepagents.plugin.js +6 -0
- package/dist/agents/plugins/deepagents.plugin.js.map +1 -1
- package/dist/agents/plugins/gemini.plugin.d.ts.map +1 -1
- package/dist/agents/plugins/gemini.plugin.js +14 -8
- package/dist/agents/plugins/gemini.plugin.js.map +1 -1
- package/dist/cli/commands/doctor/checks/FrameworksCheck.d.ts +12 -0
- package/dist/cli/commands/doctor/checks/FrameworksCheck.d.ts.map +1 -0
- package/dist/cli/commands/doctor/checks/FrameworksCheck.js +103 -0
- package/dist/cli/commands/doctor/checks/FrameworksCheck.js.map +1 -0
- package/dist/cli/commands/doctor/checks/index.d.ts +1 -0
- package/dist/cli/commands/doctor/checks/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/checks/index.js +1 -0
- package/dist/cli/commands/doctor/checks/index.js.map +1 -1
- package/dist/cli/commands/doctor/index.d.ts.map +1 -1
- package/dist/cli/commands/doctor/index.js +3 -2
- package/dist/cli/commands/doctor/index.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +79 -30
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/list.d.ts.map +1 -1
- package/dist/cli/commands/list.js +55 -15
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/uninstall.d.ts.map +1 -1
- package/dist/cli/commands/uninstall.js +85 -34
- package/dist/cli/commands/uninstall.js.map +1 -1
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/frameworks/core/BaseFrameworkAdapter.d.ts +88 -0
- package/dist/frameworks/core/BaseFrameworkAdapter.d.ts.map +1 -0
- package/dist/frameworks/core/BaseFrameworkAdapter.js +156 -0
- package/dist/frameworks/core/BaseFrameworkAdapter.js.map +1 -0
- package/dist/frameworks/core/index.d.ts +9 -0
- package/dist/frameworks/core/index.d.ts.map +1 -0
- package/dist/frameworks/core/index.js +9 -0
- package/dist/frameworks/core/index.js.map +1 -0
- package/dist/frameworks/core/registry.d.ts +53 -0
- package/dist/frameworks/core/registry.d.ts.map +1 -0
- package/dist/frameworks/core/registry.js +82 -0
- package/dist/frameworks/core/registry.js.map +1 -0
- package/dist/frameworks/core/types.d.ts +130 -0
- package/dist/frameworks/core/types.d.ts.map +1 -0
- package/dist/frameworks/core/types.js +8 -0
- package/dist/frameworks/core/types.js.map +1 -0
- package/dist/frameworks/index.d.ts +9 -0
- package/dist/frameworks/index.d.ts.map +1 -0
- package/dist/frameworks/index.js +12 -0
- package/dist/frameworks/index.js.map +1 -0
- package/dist/frameworks/plugins/bmad.plugin.d.ts +46 -0
- package/dist/frameworks/plugins/bmad.plugin.d.ts.map +1 -0
- package/dist/frameworks/plugins/bmad.plugin.js +111 -0
- package/dist/frameworks/plugins/bmad.plugin.js.map +1 -0
- package/dist/frameworks/plugins/index.d.ts +8 -0
- package/dist/frameworks/plugins/index.d.ts.map +1 -0
- package/dist/frameworks/plugins/index.js +15 -0
- package/dist/frameworks/plugins/index.js.map +1 -0
- package/dist/frameworks/plugins/speckit.plugin.d.ts +59 -0
- package/dist/frameworks/plugins/speckit.plugin.d.ts.map +1 -0
- package/dist/frameworks/plugins/speckit.plugin.js +213 -0
- package/dist/frameworks/plugins/speckit.plugin.js.map +1 -0
- package/dist/metrics/config.d.ts.map +1 -1
- package/dist/metrics/config.js +7 -1
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/sync/aggregator.d.ts +7 -1
- package/dist/metrics/sync/aggregator.d.ts.map +1 -1
- package/dist/metrics/sync/aggregator.js +14 -5
- package/dist/metrics/sync/aggregator.js.map +1 -1
- package/dist/metrics/sync/post-processor.d.ts +48 -0
- package/dist/metrics/sync/post-processor.d.ts.map +1 -0
- package/dist/metrics/sync/post-processor.js +147 -0
- package/dist/metrics/sync/post-processor.js.map +1 -0
- package/dist/metrics/sync/types.d.ts +2 -2
- package/dist/metrics/sync/types.d.ts.map +1 -1
- package/dist/metrics/types.d.ts +6 -0
- package/dist/metrics/types.d.ts.map +1 -1
- package/dist/proxy/plugins/metrics-sync.plugin.js +20 -9
- package/dist/proxy/plugins/metrics-sync.plugin.js.map +1 -1
- package/dist/utils/exec.d.ts +1 -0
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/exec.js +23 -9
- package/dist/utils/exec.js.map +1 -1
- package/dist/utils/first-time.d.ts +3 -3
- package/dist/utils/first-time.d.ts.map +1 -1
- package/dist/utils/first-time.js +21 -4
- package/dist/utils/first-time.js.map +1 -1
- package/dist/utils/logger.js +2 -2
- package/dist/utils/logger.js.map +1 -1
- 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
|
-
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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,
|
|
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,
|
|
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
|
|
11
|
-
.argument('[
|
|
12
|
-
.action(async (
|
|
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
|
|
15
|
-
if (!
|
|
14
|
+
// If no name provided, show installed agents and frameworks
|
|
15
|
+
if (!name) {
|
|
16
16
|
const installedAgents = await AgentRegistry.getInstalledAgents();
|
|
17
|
-
|
|
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
|
|
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
|
-
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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 <
|
|
58
|
+
console.log(chalk.cyan('💡 Tip:') + ' Run ' + chalk.blueBright('codemie uninstall <name>') + ' to uninstall');
|
|
36
59
|
console.log();
|
|
37
60
|
return;
|
|
38
61
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
|
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,
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../src/cli/commands/uninstall.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.d.ts
CHANGED
package/dist/cli/index.d.ts.map
CHANGED
|
@@ -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
|
package/dist/cli/index.js.map
CHANGED
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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"}
|