@codemieai/code 0.0.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/.claude/agents/README.md +298 -0
- package/.claude/agents/release-manager.md +857 -0
- package/CLAUDE.md +856 -0
- package/LICENSE +201 -0
- package/README.md +917 -0
- package/bin/codemie-code.js +23 -0
- package/bin/codemie.js +8 -0
- package/dist/agents/adapters/aider.d.ts +12 -0
- package/dist/agents/adapters/aider.d.ts.map +1 -0
- package/dist/agents/adapters/aider.js +80 -0
- package/dist/agents/adapters/aider.js.map +1 -0
- package/dist/agents/adapters/claude-code.d.ts +12 -0
- package/dist/agents/adapters/claude-code.d.ts.map +1 -0
- package/dist/agents/adapters/claude-code.js +98 -0
- package/dist/agents/adapters/claude-code.js.map +1 -0
- package/dist/agents/adapters/codemie-code.d.ts +12 -0
- package/dist/agents/adapters/codemie-code.d.ts.map +1 -0
- package/dist/agents/adapters/codemie-code.js +42 -0
- package/dist/agents/adapters/codemie-code.js.map +1 -0
- package/dist/agents/adapters/codex.d.ts +12 -0
- package/dist/agents/adapters/codex.d.ts.map +1 -0
- package/dist/agents/adapters/codex.js +80 -0
- package/dist/agents/adapters/codex.js.map +1 -0
- package/dist/agents/registry.d.ts +18 -0
- package/dist/agents/registry.d.ts.map +1 -0
- package/dist/agents/registry.js +35 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/cli/cli.d.ts +4 -0
- package/dist/cli/cli.d.ts.map +1 -0
- package/dist/cli/cli.js +107 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +3 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +128 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/install.d.ts +3 -0
- package/dist/cli/commands/install.d.ts.map +1 -0
- package/dist/cli/commands/install.js +76 -0
- package/dist/cli/commands/install.js.map +1 -0
- package/dist/cli/commands/list.d.ts +3 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +50 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +3 -0
- package/dist/cli/commands/mcp.d.ts.map +1 -0
- package/dist/cli/commands/mcp.js +459 -0
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/commands/run.d.ts +3 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +41 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/commands/uninstall.d.ts +3 -0
- package/dist/cli/commands/uninstall.d.ts.map +1 -0
- package/dist/cli/commands/uninstall.js +71 -0
- package/dist/cli/commands/uninstall.js.map +1 -0
- package/dist/cli/commands/version.d.ts +3 -0
- package/dist/cli/commands/version.d.ts.map +1 -0
- package/dist/cli/commands/version.js +28 -0
- package/dist/cli/commands/version.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +50 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/code/agent-events.d.ts +39 -0
- package/dist/code/agent-events.d.ts.map +1 -0
- package/dist/code/agent-events.js +4 -0
- package/dist/code/agent-events.js.map +1 -0
- package/dist/code/agent.d.ts +19 -0
- package/dist/code/agent.d.ts.map +1 -0
- package/dist/code/agent.js +144 -0
- package/dist/code/agent.js.map +1 -0
- package/dist/code/config.d.ts +13 -0
- package/dist/code/config.d.ts.map +1 -0
- package/dist/code/config.js +41 -0
- package/dist/code/config.js.map +1 -0
- package/dist/code/index.d.ts +19 -0
- package/dist/code/index.d.ts.map +1 -0
- package/dist/code/index.js +400 -0
- package/dist/code/index.js.map +1 -0
- package/dist/code/prompts.d.ts +2 -0
- package/dist/code/prompts.d.ts.map +1 -0
- package/dist/code/prompts.js +45 -0
- package/dist/code/prompts.js.map +1 -0
- package/dist/code/tools/command.d.ts +8 -0
- package/dist/code/tools/command.d.ts.map +1 -0
- package/dist/code/tools/command.js +83 -0
- package/dist/code/tools/command.js.map +1 -0
- package/dist/code/tools/diff-utils.d.ts +2 -0
- package/dist/code/tools/diff-utils.d.ts.map +1 -0
- package/dist/code/tools/diff-utils.js +45 -0
- package/dist/code/tools/diff-utils.js.map +1 -0
- package/dist/code/tools/filesystem.d.ts +11 -0
- package/dist/code/tools/filesystem.d.ts.map +1 -0
- package/dist/code/tools/filesystem.js +442 -0
- package/dist/code/tools/filesystem.js.map +1 -0
- package/dist/code/tools/git.d.ts +7 -0
- package/dist/code/tools/git.d.ts.map +1 -0
- package/dist/code/tools/git.js +111 -0
- package/dist/code/tools/git.js.map +1 -0
- package/dist/code/tools/mcp.d.ts +13 -0
- package/dist/code/tools/mcp.d.ts.map +1 -0
- package/dist/code/tools/mcp.js +230 -0
- package/dist/code/tools/mcp.js.map +1 -0
- package/dist/data/tips.json +118 -0
- package/dist/env/manager.d.ts +14 -0
- package/dist/env/manager.d.ts.map +1 -0
- package/dist/env/manager.js +99 -0
- package/dist/env/manager.js.map +1 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/ui/terminal-ui.d.ts +73 -0
- package/dist/ui/terminal-ui.d.ts.map +1 -0
- package/dist/ui/terminal-ui.js +900 -0
- package/dist/ui/terminal-ui.js.map +1 -0
- package/dist/utils/async-tips.d.ts +64 -0
- package/dist/utils/async-tips.d.ts.map +1 -0
- package/dist/utils/async-tips.js +242 -0
- package/dist/utils/async-tips.js.map +1 -0
- package/dist/utils/env-mapper.d.ts +40 -0
- package/dist/utils/env-mapper.d.ts.map +1 -0
- package/dist/utils/env-mapper.js +122 -0
- package/dist/utils/env-mapper.js.map +1 -0
- package/dist/utils/errors.d.ts +25 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +58 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/exec.d.ts +12 -0
- package/dist/utils/exec.d.ts.map +1 -0
- package/dist/utils/exec.js +49 -0
- package/dist/utils/exec.js.map +1 -0
- package/dist/utils/logger.d.ts +19 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +53 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/tips.d.ts +35 -0
- package/dist/utils/tips.d.ts.map +1 -0
- package/dist/utils/tips.js +132 -0
- package/dist/utils/tips.js.map +1 -0
- package/docs/USER_GUIDE.md +573 -0
- package/eslint.config.mjs +43 -0
- package/package.json +66 -0
- package/tests/agent-direct.test.mjs +45 -0
- package/tests/agent-output.test.mjs +64 -0
- package/tests/codemie-code.test.mjs +42 -0
- package/tests/context7-only.test.mjs +42 -0
- package/tests/conversation-flow.test.mjs +63 -0
- package/tests/interactive-simulation.test.mjs +60 -0
- package/tests/live-output.test.mjs +53 -0
- package/tests/mcp-context7.test.mjs +105 -0
- package/tests/mcp-e2e.test.mjs +109 -0
- package/tests/mcp-time-server.test.mjs +58 -0
- package/tests/streaming.test.mjs +57 -0
- package/tests/test-helpers.mjs +94 -0
- package/tests/text-wrapping.test.mjs +33 -0
- package/tests/tool-count.test.mjs +81 -0
- package/tests/ui-format.test.mjs +39 -0
- package/tests/ui-state.test.mjs +72 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* CodeMie Code - AI Coding Assistant
|
|
5
|
+
* Entry point for the codemie-code executable
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const { runCLI } = require('../dist/cli/cli.js');
|
|
9
|
+
const { logger } = require('../dist/utils/logger.js');
|
|
10
|
+
|
|
11
|
+
async function main() {
|
|
12
|
+
try {
|
|
13
|
+
await runCLI();
|
|
14
|
+
} catch (error) {
|
|
15
|
+
logger.error('Failed to run CodeMie Code:', error);
|
|
16
|
+
process.exit(1);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
main().catch((error) => {
|
|
21
|
+
console.error('Unhandled error:', error);
|
|
22
|
+
process.exit(1);
|
|
23
|
+
});
|
package/bin/codemie.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AgentAdapter } from '../registry';
|
|
2
|
+
export declare class AiderAdapter implements AgentAdapter {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
description: string;
|
|
6
|
+
install(): Promise<void>;
|
|
7
|
+
uninstall(): Promise<void>;
|
|
8
|
+
isInstalled(): Promise<boolean>;
|
|
9
|
+
run(args: string[]): Promise<void>;
|
|
10
|
+
getVersion(): Promise<string | null>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=aider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aider.d.ts","sourceRoot":"","sources":["../../../src/agents/adapters/aider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,qBAAa,YAAa,YAAW,YAAY;IAC/C,IAAI,SAAW;IACf,WAAW,SAAW;IACtB,WAAW,SAAkD;IAEvD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAYxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BlC,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAQ3C"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AiderAdapter = void 0;
|
|
4
|
+
const exec_1 = require("../../utils/exec");
|
|
5
|
+
const logger_1 = require("../../utils/logger");
|
|
6
|
+
const child_process_1 = require("child_process");
|
|
7
|
+
class AiderAdapter {
|
|
8
|
+
name = 'aider';
|
|
9
|
+
displayName = 'Aider';
|
|
10
|
+
description = 'Aider - AI pair programming in your terminal';
|
|
11
|
+
async install() {
|
|
12
|
+
logger_1.logger.info('Installing Aider...');
|
|
13
|
+
try {
|
|
14
|
+
// Install via pip
|
|
15
|
+
await (0, exec_1.exec)('pip', ['install', 'aider-chat'], { timeout: 120000 });
|
|
16
|
+
logger_1.logger.success('Aider installed successfully');
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
20
|
+
throw new Error(`Failed to install Aider: ${errorMessage}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async uninstall() {
|
|
24
|
+
logger_1.logger.info('Uninstalling Aider...');
|
|
25
|
+
try {
|
|
26
|
+
await (0, exec_1.exec)('pip', ['uninstall', '-y', 'aider-chat']);
|
|
27
|
+
logger_1.logger.success('Aider uninstalled successfully');
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
31
|
+
throw new Error(`Failed to uninstall Aider: ${errorMessage}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async isInstalled() {
|
|
35
|
+
try {
|
|
36
|
+
const result = await (0, exec_1.exec)('which', ['aider']);
|
|
37
|
+
return result.code === 0;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async run(args) {
|
|
44
|
+
logger_1.logger.info('Starting Aider...');
|
|
45
|
+
// Set model from environment if configured
|
|
46
|
+
const env = { ...process.env };
|
|
47
|
+
if (process.env.AIDER_MODEL) {
|
|
48
|
+
env.AIDER_MODEL = process.env.AIDER_MODEL;
|
|
49
|
+
}
|
|
50
|
+
// Spawn Aider
|
|
51
|
+
const child = (0, child_process_1.spawn)('aider', args, {
|
|
52
|
+
stdio: 'inherit',
|
|
53
|
+
env
|
|
54
|
+
});
|
|
55
|
+
return new Promise((resolve, reject) => {
|
|
56
|
+
child.on('error', (error) => {
|
|
57
|
+
reject(new Error(`Failed to start Aider: ${error.message}`));
|
|
58
|
+
});
|
|
59
|
+
child.on('exit', (code) => {
|
|
60
|
+
if (code === 0) {
|
|
61
|
+
resolve();
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
reject(new Error(`Aider exited with code ${code}`));
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
async getVersion() {
|
|
70
|
+
try {
|
|
71
|
+
const result = await (0, exec_1.exec)('aider', ['--version']);
|
|
72
|
+
return result.stdout.trim();
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.AiderAdapter = AiderAdapter;
|
|
80
|
+
//# sourceMappingURL=aider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aider.js","sourceRoot":"","sources":["../../../src/agents/adapters/aider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AgentAdapter } from '../registry';
|
|
2
|
+
export declare class ClaudeCodeAdapter implements AgentAdapter {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
description: string;
|
|
6
|
+
install(): Promise<void>;
|
|
7
|
+
uninstall(): Promise<void>;
|
|
8
|
+
isInstalled(): Promise<boolean>;
|
|
9
|
+
run(args: string[]): Promise<void>;
|
|
10
|
+
getVersion(): Promise<string | null>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=claude-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../src/agents/adapters/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,qBAAa,iBAAkB,YAAW,YAAY;IACpD,IAAI,SAAY;IAChB,WAAW,SAAiB;IAC5B,WAAW,SAA+C;IAEpD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAYxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDlC,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAQ3C"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClaudeCodeAdapter = void 0;
|
|
4
|
+
const exec_1 = require("../../utils/exec");
|
|
5
|
+
const logger_1 = require("../../utils/logger");
|
|
6
|
+
const child_process_1 = require("child_process");
|
|
7
|
+
class ClaudeCodeAdapter {
|
|
8
|
+
name = 'claude';
|
|
9
|
+
displayName = 'Claude Code';
|
|
10
|
+
description = 'Anthropic Claude Code - official CLI tool';
|
|
11
|
+
async install() {
|
|
12
|
+
logger_1.logger.info('Installing Claude Code...');
|
|
13
|
+
try {
|
|
14
|
+
// Install via npm
|
|
15
|
+
await (0, exec_1.exec)('npm', ['install', '-g', '@anthropic-ai/claude-code'], { timeout: 120000 });
|
|
16
|
+
logger_1.logger.success('Claude Code installed successfully');
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
20
|
+
throw new Error(`Failed to install Claude Code: ${errorMessage}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async uninstall() {
|
|
24
|
+
logger_1.logger.info('Uninstalling Claude Code...');
|
|
25
|
+
try {
|
|
26
|
+
await (0, exec_1.exec)('npm', ['uninstall', '-g', '@anthropic-ai/claude-code']);
|
|
27
|
+
logger_1.logger.success('Claude Code uninstalled successfully');
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
31
|
+
throw new Error(`Failed to uninstall Claude Code: ${errorMessage}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async isInstalled() {
|
|
35
|
+
try {
|
|
36
|
+
const result = await (0, exec_1.exec)('which', ['claude']);
|
|
37
|
+
return result.code === 0;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async run(args) {
|
|
44
|
+
logger_1.logger.info('Starting Claude Code...');
|
|
45
|
+
// Prepare environment variables
|
|
46
|
+
// Convert generic CODEMIE_* config to ANTHROPIC_* that Claude Code expects
|
|
47
|
+
const env = { ...process.env };
|
|
48
|
+
// Map our generic env vars to Anthropic-specific ones
|
|
49
|
+
if (!env.ANTHROPIC_BASE_URL && env.CODEMIE_BASE_URL) {
|
|
50
|
+
env.ANTHROPIC_BASE_URL = env.CODEMIE_BASE_URL;
|
|
51
|
+
}
|
|
52
|
+
if (!env.ANTHROPIC_AUTH_TOKEN && env.CODEMIE_AUTH_TOKEN) {
|
|
53
|
+
env.ANTHROPIC_AUTH_TOKEN = env.CODEMIE_AUTH_TOKEN;
|
|
54
|
+
}
|
|
55
|
+
if (!env.ANTHROPIC_API_KEY && env.CODEMIE_AUTH_TOKEN) {
|
|
56
|
+
env.ANTHROPIC_API_KEY = env.CODEMIE_AUTH_TOKEN;
|
|
57
|
+
}
|
|
58
|
+
if (!env.ANTHROPIC_MODEL && env.CODEMIE_MODEL) {
|
|
59
|
+
env.ANTHROPIC_MODEL = env.CODEMIE_MODEL;
|
|
60
|
+
}
|
|
61
|
+
// Set subagent model to match the main model
|
|
62
|
+
if (!env.CLAUDE_CODE_SUBAGENT_MODEL && env.CODEMIE_MODEL) {
|
|
63
|
+
env.CLAUDE_CODE_SUBAGENT_MODEL = env.CODEMIE_MODEL;
|
|
64
|
+
}
|
|
65
|
+
else if (!env.CLAUDE_CODE_SUBAGENT_MODEL && env.ANTHROPIC_MODEL) {
|
|
66
|
+
env.CLAUDE_CODE_SUBAGENT_MODEL = env.ANTHROPIC_MODEL;
|
|
67
|
+
}
|
|
68
|
+
// Spawn Claude Code
|
|
69
|
+
const child = (0, child_process_1.spawn)('claude', args, {
|
|
70
|
+
stdio: 'inherit',
|
|
71
|
+
env
|
|
72
|
+
});
|
|
73
|
+
return new Promise((resolve, reject) => {
|
|
74
|
+
child.on('error', (error) => {
|
|
75
|
+
reject(new Error(`Failed to start Claude Code: ${error.message}`));
|
|
76
|
+
});
|
|
77
|
+
child.on('exit', (code) => {
|
|
78
|
+
if (code === 0) {
|
|
79
|
+
resolve();
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
reject(new Error(`Claude Code exited with code ${code}`));
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
async getVersion() {
|
|
88
|
+
try {
|
|
89
|
+
const result = await (0, exec_1.exec)('claude', ['--version']);
|
|
90
|
+
return result.stdout.trim();
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.ClaudeCodeAdapter = ClaudeCodeAdapter;
|
|
98
|
+
//# sourceMappingURL=claude-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../src/agents/adapters/claude-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AgentAdapter } from '../registry';
|
|
2
|
+
export declare class CodeMieCodeAdapter implements AgentAdapter {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
description: string;
|
|
6
|
+
install(): Promise<void>;
|
|
7
|
+
uninstall(): Promise<void>;
|
|
8
|
+
isInstalled(): Promise<boolean>;
|
|
9
|
+
run(args: string[]): Promise<void>;
|
|
10
|
+
getVersion(): Promise<string | null>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=codemie-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codemie-code.d.ts","sourceRoot":"","sources":["../../../src/agents/adapters/codemie-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAM3C,qBAAa,kBAAmB,YAAW,YAAY;IACrD,IAAI,SAAkB;IACtB,WAAW,SAAkB;IAC7B,WAAW,SAAqD;IAE1D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASlC,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAW3C"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CodeMieCodeAdapter = void 0;
|
|
4
|
+
const code_1 = require("../../code");
|
|
5
|
+
const logger_1 = require("../../utils/logger");
|
|
6
|
+
const fs_1 = require("fs");
|
|
7
|
+
const path_1 = require("path");
|
|
8
|
+
class CodeMieCodeAdapter {
|
|
9
|
+
name = 'codemie-code';
|
|
10
|
+
displayName = 'CodeMie Code';
|
|
11
|
+
description = 'Built-in AI coding assistant powered by LiteLLM';
|
|
12
|
+
async install() {
|
|
13
|
+
logger_1.logger.info('CodeMie Code is built-in and already available');
|
|
14
|
+
}
|
|
15
|
+
async uninstall() {
|
|
16
|
+
logger_1.logger.warn('CodeMie Code is built-in and cannot be uninstalled');
|
|
17
|
+
}
|
|
18
|
+
async isInstalled() {
|
|
19
|
+
return true; // Always installed (built-in)
|
|
20
|
+
}
|
|
21
|
+
async run(args) {
|
|
22
|
+
const workingDir = args[0] || process.cwd();
|
|
23
|
+
const assistant = new code_1.CodeMieCode(workingDir);
|
|
24
|
+
await assistant.initialize();
|
|
25
|
+
await assistant.startInteractive();
|
|
26
|
+
await assistant.dispose();
|
|
27
|
+
}
|
|
28
|
+
async getVersion() {
|
|
29
|
+
// Read from package.json
|
|
30
|
+
try {
|
|
31
|
+
const packageJsonPath = (0, path_1.join)(__dirname, '../../../package.json');
|
|
32
|
+
const packageJsonContent = (0, fs_1.readFileSync)(packageJsonPath, 'utf-8');
|
|
33
|
+
const packageJson = JSON.parse(packageJsonContent);
|
|
34
|
+
return packageJson.version;
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.CodeMieCodeAdapter = CodeMieCodeAdapter;
|
|
42
|
+
//# sourceMappingURL=codemie-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codemie-code.js","sourceRoot":"","sources":["../../../src/agents/adapters/codemie-code.ts"],"names":[],"mappings":";;;AACA,qCAAyC;AACzC,+CAA4C;AAC5C,2BAAkC;AAClC,+BAA4B;AAE5B,MAAa,kBAAkB;IAC7B,IAAI,GAAG,cAAc,CAAC;IACtB,WAAW,GAAG,cAAc,CAAC;IAC7B,WAAW,GAAG,iDAAiD,CAAC;IAEhE,KAAK,CAAC,OAAO;QACX,eAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,SAAS;QACb,eAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,CAAC,8BAA8B;IAC7C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAc;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAE5C,MAAM,SAAS,GAAG,IAAI,kBAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,SAAS,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;QACnC,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,yBAAyB;QACzB,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;YACjE,MAAM,kBAAkB,GAAG,IAAA,iBAAY,EAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAwB,CAAC;YAC1E,OAAO,WAAW,CAAC,OAAO,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AArCD,gDAqCC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AgentAdapter } from '../registry';
|
|
2
|
+
export declare class CodexAdapter implements AgentAdapter {
|
|
3
|
+
name: string;
|
|
4
|
+
displayName: string;
|
|
5
|
+
description: string;
|
|
6
|
+
install(): Promise<void>;
|
|
7
|
+
uninstall(): Promise<void>;
|
|
8
|
+
isInstalled(): Promise<boolean>;
|
|
9
|
+
run(args: string[]): Promise<void>;
|
|
10
|
+
getVersion(): Promise<string | null>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=codex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/agents/adapters/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,qBAAa,YAAa,YAAW,YAAY;IAC/C,IAAI,SAAW;IACf,WAAW,SAAW;IACtB,WAAW,SAAwC;IAE7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAYxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAS/B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BlC,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAQ3C"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CodexAdapter = void 0;
|
|
4
|
+
const exec_1 = require("../../utils/exec");
|
|
5
|
+
const logger_1 = require("../../utils/logger");
|
|
6
|
+
const child_process_1 = require("child_process");
|
|
7
|
+
class CodexAdapter {
|
|
8
|
+
name = 'codex';
|
|
9
|
+
displayName = 'Codex';
|
|
10
|
+
description = 'OpenAI Codex - AI coding assistant';
|
|
11
|
+
async install() {
|
|
12
|
+
logger_1.logger.info('Installing Codex...');
|
|
13
|
+
try {
|
|
14
|
+
// Install via pip
|
|
15
|
+
await (0, exec_1.exec)('pip', ['install', 'openai-codex'], { timeout: 120000 });
|
|
16
|
+
logger_1.logger.success('Codex installed successfully');
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
20
|
+
throw new Error(`Failed to install Codex: ${errorMessage}`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async uninstall() {
|
|
24
|
+
logger_1.logger.info('Uninstalling Codex...');
|
|
25
|
+
try {
|
|
26
|
+
await (0, exec_1.exec)('pip', ['uninstall', '-y', 'openai-codex']);
|
|
27
|
+
logger_1.logger.success('Codex uninstalled successfully');
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
31
|
+
throw new Error(`Failed to uninstall Codex: ${errorMessage}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async isInstalled() {
|
|
35
|
+
try {
|
|
36
|
+
const result = await (0, exec_1.exec)('which', ['codex']);
|
|
37
|
+
return result.code === 0;
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
async run(args) {
|
|
44
|
+
logger_1.logger.info('Starting Codex...');
|
|
45
|
+
// Set model from environment if configured
|
|
46
|
+
const env = { ...process.env };
|
|
47
|
+
if (process.env.CODEX_MODEL) {
|
|
48
|
+
env.CODEX_MODEL = process.env.CODEX_MODEL;
|
|
49
|
+
}
|
|
50
|
+
// Spawn Codex
|
|
51
|
+
const child = (0, child_process_1.spawn)('codex', args, {
|
|
52
|
+
stdio: 'inherit',
|
|
53
|
+
env
|
|
54
|
+
});
|
|
55
|
+
return new Promise((resolve, reject) => {
|
|
56
|
+
child.on('error', (error) => {
|
|
57
|
+
reject(new Error(`Failed to start Codex: ${error.message}`));
|
|
58
|
+
});
|
|
59
|
+
child.on('exit', (code) => {
|
|
60
|
+
if (code === 0) {
|
|
61
|
+
resolve();
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
reject(new Error(`Codex exited with code ${code}`));
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
async getVersion() {
|
|
70
|
+
try {
|
|
71
|
+
const result = await (0, exec_1.exec)('codex', ['--version']);
|
|
72
|
+
return result.stdout.trim();
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.CodexAdapter = CodexAdapter;
|
|
80
|
+
//# sourceMappingURL=codex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/agents/adapters/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface AgentAdapter {
|
|
2
|
+
name: string;
|
|
3
|
+
displayName: string;
|
|
4
|
+
description: string;
|
|
5
|
+
install(): Promise<void>;
|
|
6
|
+
uninstall(): Promise<void>;
|
|
7
|
+
isInstalled(): Promise<boolean>;
|
|
8
|
+
run(args: string[]): Promise<void>;
|
|
9
|
+
getVersion(): Promise<string | null>;
|
|
10
|
+
}
|
|
11
|
+
export declare class AgentRegistry {
|
|
12
|
+
private static adapters;
|
|
13
|
+
static getAgent(name: string): AgentAdapter | undefined;
|
|
14
|
+
static getAllAgents(): AgentAdapter[];
|
|
15
|
+
static getAgentNames(): string[];
|
|
16
|
+
static getInstalledAgents(): Promise<AgentAdapter[]>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACtC;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAKpB;IAEH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIvD,MAAM,CAAC,YAAY,IAAI,YAAY,EAAE;IAIrC,MAAM,CAAC,aAAa,IAAI,MAAM,EAAE;WAInB,kBAAkB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAS3D"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AgentRegistry = void 0;
|
|
4
|
+
const codemie_code_1 = require("./adapters/codemie-code");
|
|
5
|
+
const claude_code_1 = require("./adapters/claude-code");
|
|
6
|
+
const codex_1 = require("./adapters/codex");
|
|
7
|
+
const aider_1 = require("./adapters/aider");
|
|
8
|
+
class AgentRegistry {
|
|
9
|
+
static adapters = new Map([
|
|
10
|
+
['codemie-code', new codemie_code_1.CodeMieCodeAdapter()],
|
|
11
|
+
['claude', new claude_code_1.ClaudeCodeAdapter()],
|
|
12
|
+
['codex', new codex_1.CodexAdapter()],
|
|
13
|
+
['aider', new aider_1.AiderAdapter()]
|
|
14
|
+
]);
|
|
15
|
+
static getAgent(name) {
|
|
16
|
+
return AgentRegistry.adapters.get(name);
|
|
17
|
+
}
|
|
18
|
+
static getAllAgents() {
|
|
19
|
+
return Array.from(AgentRegistry.adapters.values());
|
|
20
|
+
}
|
|
21
|
+
static getAgentNames() {
|
|
22
|
+
return Array.from(AgentRegistry.adapters.keys());
|
|
23
|
+
}
|
|
24
|
+
static async getInstalledAgents() {
|
|
25
|
+
const agents = [];
|
|
26
|
+
for (const adapter of AgentRegistry.adapters.values()) {
|
|
27
|
+
if (await adapter.isInstalled()) {
|
|
28
|
+
agents.push(adapter);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return agents;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.AgentRegistry = AgentRegistry;
|
|
35
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/agents/registry.ts"],"names":[],"mappings":";;;AAAA,0DAA6D;AAC7D,wDAA2D;AAC3D,4CAAgD;AAChD,4CAAgD;AAahD,MAAa,aAAa;IAChB,MAAM,CAAC,QAAQ,GAA8B,IAAI,GAAG,CAAC;QAC3D,CAAC,cAAc,EAAE,IAAI,iCAAkB,EAAE,CAAC;QAC1C,CAAC,QAAQ,EAAE,IAAI,+BAAiB,EAAE,CAAC;QACnC,CAAC,OAAO,EAAE,IAAI,oBAAY,EAAE,CAAC;QAC7B,CAAC,OAAO,EAAE,IAAI,oBAAY,EAAE,CAAC;KAC9B,CAAC,CAAC;IAEH,MAAM,CAAC,QAAQ,CAAC,IAAY;QAC1B,OAAO,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,YAAY;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,aAAa;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,kBAAkB;QAC7B,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YACtD,IAAI,MAAM,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;;AA5BH,sCA6BC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAsB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAmGlD;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAG5C"}
|
package/dist/cli/cli.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCLI = createCLI;
|
|
4
|
+
exports.runCLI = runCLI;
|
|
5
|
+
const commander_1 = require("commander");
|
|
6
|
+
const index_1 = require("../code/index");
|
|
7
|
+
const logger_1 = require("../utils/logger");
|
|
8
|
+
const mcp_1 = require("./commands/mcp");
|
|
9
|
+
async function createCLI() {
|
|
10
|
+
const program = new commander_1.Command();
|
|
11
|
+
program
|
|
12
|
+
.name('codemie-code')
|
|
13
|
+
.description('CodeMie Code - AI coding assistant and CLI wrapper for multiple agents')
|
|
14
|
+
.version('1.0.0');
|
|
15
|
+
// Add MCP management command
|
|
16
|
+
program.addCommand((0, mcp_1.createMCPCommand)());
|
|
17
|
+
// Interactive mode (default)
|
|
18
|
+
program
|
|
19
|
+
.command('interactive', { isDefault: false })
|
|
20
|
+
.description('Start interactive mode with terminal UI (default)')
|
|
21
|
+
.argument('[working-dir]', 'Working directory', process.cwd())
|
|
22
|
+
.option('--mcp-servers <servers>', 'Comma-separated list of MCP servers to load')
|
|
23
|
+
.action(async (workingDir, options) => {
|
|
24
|
+
try {
|
|
25
|
+
// Set MCP servers in environment if provided
|
|
26
|
+
if (options.mcpServers) {
|
|
27
|
+
process.env.CODEMIE_MCP_SERVERS = options.mcpServers;
|
|
28
|
+
}
|
|
29
|
+
const assistant = new index_1.CodeMieCode(workingDir);
|
|
30
|
+
await assistant.initialize();
|
|
31
|
+
await assistant.startInteractive();
|
|
32
|
+
await assistant.dispose();
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
logger_1.logger.error('Failed to start CodeMie Code:', error);
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
// Execute mode (non-interactive)
|
|
40
|
+
program
|
|
41
|
+
.command('exec')
|
|
42
|
+
.description('Execute a task non-interactively')
|
|
43
|
+
.argument('<task>', 'Task to execute (or /command for proxy commands)')
|
|
44
|
+
.option('-d, --dir <path>', 'Working directory', process.cwd())
|
|
45
|
+
.action(async (task, options) => {
|
|
46
|
+
try {
|
|
47
|
+
const assistant = new index_1.CodeMieCode(options.dir);
|
|
48
|
+
await assistant.initialize({ showTips: false });
|
|
49
|
+
await assistant.executeNonInteractive(task);
|
|
50
|
+
await assistant.dispose();
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
logger_1.logger.error('Failed to execute task:', error);
|
|
54
|
+
process.exit(1);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
// Test connection
|
|
58
|
+
program
|
|
59
|
+
.command('test')
|
|
60
|
+
.description('Test connection to AI provider')
|
|
61
|
+
.action(async () => {
|
|
62
|
+
try {
|
|
63
|
+
await index_1.CodeMieCode.testConnection();
|
|
64
|
+
process.exit(0);
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
logger_1.logger.error('Connection test failed:', error);
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
// Add global options
|
|
72
|
+
program
|
|
73
|
+
.option('--mcp-servers <servers>', 'Comma-separated list of MCP servers to load');
|
|
74
|
+
// Default behavior: if no command specified and no args, run interactive
|
|
75
|
+
// If args provided without command, treat first arg as working directory for interactive mode
|
|
76
|
+
program.action(async (options) => {
|
|
77
|
+
const args = process.argv.slice(2);
|
|
78
|
+
// If there are no arguments at all, run interactive mode
|
|
79
|
+
if (args.length === 0 || (args.length > 0 && args[0].startsWith('--'))) {
|
|
80
|
+
try {
|
|
81
|
+
// Set MCP servers in environment if provided
|
|
82
|
+
if (options.mcpServers) {
|
|
83
|
+
process.env.CODEMIE_MCP_SERVERS = options.mcpServers;
|
|
84
|
+
}
|
|
85
|
+
const assistant = new index_1.CodeMieCode(process.cwd());
|
|
86
|
+
await assistant.initialize();
|
|
87
|
+
await assistant.startInteractive();
|
|
88
|
+
await assistant.dispose();
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
logger_1.logger.error('Failed to start CodeMie Code:', error);
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
// If there's a single argument and it's a directory, use it as working dir
|
|
97
|
+
// Otherwise show help
|
|
98
|
+
program.help();
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
return program;
|
|
102
|
+
}
|
|
103
|
+
async function runCLI() {
|
|
104
|
+
const program = await createCLI();
|
|
105
|
+
await program.parseAsync(process.argv);
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,mBAAmB,IAAI,OAAO,CA4H7C"}
|