@codemieai/code 0.0.2 → 0.0.3

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 (243) hide show
  1. package/CLAUDE.md +130 -760
  2. package/README.md +283 -695
  3. package/bin/codemie-claude.js +122 -0
  4. package/bin/codemie-code.js +90 -15
  5. package/bin/codemie-codex.js +138 -0
  6. package/bin/codemie.js +1 -1
  7. package/config.example.json +10 -0
  8. package/dist/agents/adapters/claude-code.d.ts +2 -2
  9. package/dist/agents/adapters/claude-code.d.ts.map +1 -1
  10. package/dist/agents/adapters/claude-code.js +20 -42
  11. package/dist/agents/adapters/claude-code.js.map +1 -1
  12. package/dist/agents/adapters/codemie-code.d.ts +11 -2
  13. package/dist/agents/adapters/codemie-code.d.ts.map +1 -1
  14. package/dist/agents/adapters/codemie-code.js +93 -25
  15. package/dist/agents/adapters/codemie-code.js.map +1 -1
  16. package/dist/agents/adapters/codex.d.ts +2 -2
  17. package/dist/agents/adapters/codex.d.ts.map +1 -1
  18. package/dist/agents/adapters/codex.js +31 -24
  19. package/dist/agents/adapters/codex.js.map +1 -1
  20. package/dist/agents/codemie-code/agent.d.ts +89 -0
  21. package/dist/agents/codemie-code/agent.d.ts.map +1 -0
  22. package/dist/agents/codemie-code/agent.js +523 -0
  23. package/dist/agents/codemie-code/agent.js.map +1 -0
  24. package/dist/agents/codemie-code/config.d.ts +40 -0
  25. package/dist/agents/codemie-code/config.d.ts.map +1 -0
  26. package/dist/agents/codemie-code/config.js +276 -0
  27. package/dist/agents/codemie-code/config.js.map +1 -0
  28. package/dist/agents/codemie-code/filters.d.ts +91 -0
  29. package/dist/agents/codemie-code/filters.d.ts.map +1 -0
  30. package/dist/agents/codemie-code/filters.js +328 -0
  31. package/dist/agents/codemie-code/filters.js.map +1 -0
  32. package/dist/agents/codemie-code/index.d.ts +78 -0
  33. package/dist/agents/codemie-code/index.d.ts.map +1 -0
  34. package/dist/agents/codemie-code/index.js +259 -0
  35. package/dist/agents/codemie-code/index.js.map +1 -0
  36. package/dist/agents/codemie-code/prompts.d.ts +11 -0
  37. package/dist/agents/codemie-code/prompts.d.ts.map +1 -0
  38. package/dist/agents/codemie-code/prompts.js +31 -0
  39. package/dist/agents/codemie-code/prompts.js.map +1 -0
  40. package/dist/agents/codemie-code/streaming/events.d.ts +7 -0
  41. package/dist/agents/codemie-code/streaming/events.d.ts.map +1 -0
  42. package/dist/agents/codemie-code/streaming/events.js +7 -0
  43. package/dist/agents/codemie-code/streaming/events.js.map +1 -0
  44. package/dist/agents/codemie-code/streaming/formatter.d.ts +2 -0
  45. package/dist/agents/codemie-code/streaming/formatter.d.ts.map +1 -0
  46. package/dist/agents/codemie-code/streaming/formatter.js +2 -0
  47. package/dist/agents/codemie-code/streaming/formatter.js.map +1 -0
  48. package/dist/agents/codemie-code/streaming/ui.d.ts +2 -0
  49. package/dist/agents/codemie-code/streaming/ui.d.ts.map +1 -0
  50. package/dist/agents/codemie-code/streaming/ui.js +2 -0
  51. package/dist/agents/codemie-code/streaming/ui.js.map +1 -0
  52. package/dist/agents/codemie-code/tokenUtils.d.ts +108 -0
  53. package/dist/agents/codemie-code/tokenUtils.d.ts.map +1 -0
  54. package/dist/agents/codemie-code/tokenUtils.js +220 -0
  55. package/dist/agents/codemie-code/tokenUtils.js.map +1 -0
  56. package/dist/agents/codemie-code/toolMetadata.d.ts +15 -0
  57. package/dist/agents/codemie-code/toolMetadata.d.ts.map +1 -0
  58. package/dist/agents/codemie-code/toolMetadata.js +315 -0
  59. package/dist/agents/codemie-code/toolMetadata.js.map +1 -0
  60. package/dist/agents/codemie-code/tools/command.d.ts +2 -0
  61. package/dist/agents/codemie-code/tools/command.d.ts.map +1 -0
  62. package/dist/agents/codemie-code/tools/command.js +2 -0
  63. package/dist/agents/codemie-code/tools/command.js.map +1 -0
  64. package/dist/agents/codemie-code/tools/filesystem.d.ts +2 -0
  65. package/dist/agents/codemie-code/tools/filesystem.d.ts.map +1 -0
  66. package/dist/agents/codemie-code/tools/filesystem.js +2 -0
  67. package/dist/agents/codemie-code/tools/filesystem.js.map +1 -0
  68. package/dist/agents/codemie-code/tools/git.d.ts +2 -0
  69. package/dist/agents/codemie-code/tools/git.d.ts.map +1 -0
  70. package/dist/agents/codemie-code/tools/git.js +2 -0
  71. package/dist/agents/codemie-code/tools/git.js.map +1 -0
  72. package/dist/agents/codemie-code/tools/index.d.ts +19 -0
  73. package/dist/agents/codemie-code/tools/index.d.ts.map +1 -0
  74. package/dist/agents/codemie-code/tools/index.js +239 -0
  75. package/dist/agents/codemie-code/tools/index.js.map +1 -0
  76. package/dist/agents/codemie-code/tools/security.d.ts +2 -0
  77. package/dist/agents/codemie-code/tools/security.d.ts.map +1 -0
  78. package/dist/agents/codemie-code/tools/security.js +2 -0
  79. package/dist/agents/codemie-code/tools/security.js.map +1 -0
  80. package/dist/agents/codemie-code/types.d.ts +254 -0
  81. package/dist/agents/codemie-code/types.d.ts.map +1 -0
  82. package/dist/agents/codemie-code/types.js +35 -0
  83. package/dist/agents/codemie-code/types.js.map +1 -0
  84. package/dist/agents/codemie-code/ui.d.ts +83 -0
  85. package/dist/agents/codemie-code/ui.d.ts.map +1 -0
  86. package/dist/agents/codemie-code/ui.js +624 -0
  87. package/dist/agents/codemie-code/ui.js.map +1 -0
  88. package/dist/agents/registry.d.ts +1 -1
  89. package/dist/agents/registry.d.ts.map +1 -1
  90. package/dist/agents/registry.js +7 -13
  91. package/dist/agents/registry.js.map +1 -1
  92. package/dist/cli/commands/config.d.ts +3 -0
  93. package/dist/cli/commands/config.d.ts.map +1 -0
  94. package/dist/cli/commands/config.js +323 -0
  95. package/dist/cli/commands/config.js.map +1 -0
  96. package/dist/cli/commands/doctor.d.ts.map +1 -1
  97. package/dist/cli/commands/doctor.js +113 -69
  98. package/dist/cli/commands/doctor.js.map +1 -1
  99. package/dist/cli/commands/env.d.ts +3 -0
  100. package/dist/cli/commands/env.d.ts.map +1 -0
  101. package/dist/cli/commands/env.js +19 -0
  102. package/dist/cli/commands/env.js.map +1 -0
  103. package/dist/cli/commands/install.js +27 -33
  104. package/dist/cli/commands/install.js.map +1 -1
  105. package/dist/cli/commands/list.js +18 -24
  106. package/dist/cli/commands/list.js.map +1 -1
  107. package/dist/cli/commands/run.d.ts.map +1 -1
  108. package/dist/cli/commands/run.js +291 -31
  109. package/dist/cli/commands/run.js.map +1 -1
  110. package/dist/cli/commands/setup.d.ts +3 -0
  111. package/dist/cli/commands/setup.d.ts.map +1 -0
  112. package/dist/cli/commands/setup.js +357 -0
  113. package/dist/cli/commands/setup.js.map +1 -0
  114. package/dist/cli/commands/uninstall.js +24 -30
  115. package/dist/cli/commands/uninstall.js.map +1 -1
  116. package/dist/cli/commands/version.d.ts.map +1 -1
  117. package/dist/cli/commands/version.js +11 -16
  118. package/dist/cli/commands/version.js.map +1 -1
  119. package/dist/cli/index.js +47 -31
  120. package/dist/cli/index.js.map +1 -1
  121. package/dist/env/manager.js +9 -46
  122. package/dist/env/manager.js.map +1 -1
  123. package/dist/index.d.ts +6 -13
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +6 -43
  126. package/dist/index.js.map +1 -1
  127. package/dist/utils/async-tips.d.ts.map +1 -1
  128. package/dist/utils/async-tips.js +16 -55
  129. package/dist/utils/async-tips.js.map +1 -1
  130. package/dist/utils/clipboard.d.ts +16 -0
  131. package/dist/utils/clipboard.d.ts.map +1 -0
  132. package/dist/utils/clipboard.js +179 -0
  133. package/dist/utils/clipboard.js.map +1 -0
  134. package/dist/utils/config-loader.d.ts +96 -0
  135. package/dist/utils/config-loader.d.ts.map +1 -0
  136. package/dist/utils/config-loader.js +351 -0
  137. package/dist/utils/config-loader.js.map +1 -0
  138. package/dist/utils/dirname.d.ts +7 -0
  139. package/dist/utils/dirname.d.ts.map +1 -0
  140. package/dist/utils/dirname.js +11 -0
  141. package/dist/utils/dirname.js.map +1 -0
  142. package/dist/utils/errors.js +7 -17
  143. package/dist/utils/errors.js.map +1 -1
  144. package/dist/utils/exec.js +3 -6
  145. package/dist/utils/exec.js.map +1 -1
  146. package/dist/utils/first-time.d.ts +34 -0
  147. package/dist/utils/first-time.d.ts.map +1 -0
  148. package/dist/utils/first-time.js +245 -0
  149. package/dist/utils/first-time.js.map +1 -0
  150. package/dist/utils/health-checker.d.ts +20 -0
  151. package/dist/utils/health-checker.d.ts.map +1 -0
  152. package/dist/utils/health-checker.js +168 -0
  153. package/dist/utils/health-checker.js.map +1 -0
  154. package/dist/utils/logger.js +12 -18
  155. package/dist/utils/logger.js.map +1 -1
  156. package/dist/utils/model-fetcher.d.ts +21 -0
  157. package/dist/utils/model-fetcher.d.ts.map +1 -0
  158. package/dist/utils/model-fetcher.js +137 -0
  159. package/dist/utils/model-fetcher.js.map +1 -0
  160. package/dist/utils/tips.d.ts.map +1 -1
  161. package/dist/utils/tips.js +13 -52
  162. package/dist/utils/tips.js.map +1 -1
  163. package/package.json +17 -23
  164. package/scripts/README.md +80 -0
  165. package/scripts/release.sh +156 -0
  166. package/dist/agents/adapters/aider.d.ts +0 -12
  167. package/dist/agents/adapters/aider.d.ts.map +0 -1
  168. package/dist/agents/adapters/aider.js +0 -80
  169. package/dist/agents/adapters/aider.js.map +0 -1
  170. package/dist/cli/cli.d.ts +0 -4
  171. package/dist/cli/cli.d.ts.map +0 -1
  172. package/dist/cli/cli.js +0 -107
  173. package/dist/cli/cli.js.map +0 -1
  174. package/dist/cli/commands/mcp.d.ts +0 -3
  175. package/dist/cli/commands/mcp.d.ts.map +0 -1
  176. package/dist/cli/commands/mcp.js +0 -459
  177. package/dist/cli/commands/mcp.js.map +0 -1
  178. package/dist/code/agent-events.d.ts +0 -39
  179. package/dist/code/agent-events.d.ts.map +0 -1
  180. package/dist/code/agent-events.js +0 -4
  181. package/dist/code/agent-events.js.map +0 -1
  182. package/dist/code/agent.d.ts +0 -19
  183. package/dist/code/agent.d.ts.map +0 -1
  184. package/dist/code/agent.js +0 -144
  185. package/dist/code/agent.js.map +0 -1
  186. package/dist/code/config.d.ts +0 -13
  187. package/dist/code/config.d.ts.map +0 -1
  188. package/dist/code/config.js +0 -41
  189. package/dist/code/config.js.map +0 -1
  190. package/dist/code/index.d.ts +0 -19
  191. package/dist/code/index.d.ts.map +0 -1
  192. package/dist/code/index.js +0 -400
  193. package/dist/code/index.js.map +0 -1
  194. package/dist/code/prompts.d.ts +0 -2
  195. package/dist/code/prompts.d.ts.map +0 -1
  196. package/dist/code/prompts.js +0 -45
  197. package/dist/code/prompts.js.map +0 -1
  198. package/dist/code/tools/command.d.ts +0 -8
  199. package/dist/code/tools/command.d.ts.map +0 -1
  200. package/dist/code/tools/command.js +0 -83
  201. package/dist/code/tools/command.js.map +0 -1
  202. package/dist/code/tools/diff-utils.d.ts +0 -2
  203. package/dist/code/tools/diff-utils.d.ts.map +0 -1
  204. package/dist/code/tools/diff-utils.js +0 -45
  205. package/dist/code/tools/diff-utils.js.map +0 -1
  206. package/dist/code/tools/filesystem.d.ts +0 -11
  207. package/dist/code/tools/filesystem.d.ts.map +0 -1
  208. package/dist/code/tools/filesystem.js +0 -442
  209. package/dist/code/tools/filesystem.js.map +0 -1
  210. package/dist/code/tools/git.d.ts +0 -7
  211. package/dist/code/tools/git.d.ts.map +0 -1
  212. package/dist/code/tools/git.js +0 -111
  213. package/dist/code/tools/git.js.map +0 -1
  214. package/dist/code/tools/mcp.d.ts +0 -13
  215. package/dist/code/tools/mcp.d.ts.map +0 -1
  216. package/dist/code/tools/mcp.js +0 -230
  217. package/dist/code/tools/mcp.js.map +0 -1
  218. package/dist/data/tips.json +0 -118
  219. package/dist/ui/terminal-ui.d.ts +0 -73
  220. package/dist/ui/terminal-ui.d.ts.map +0 -1
  221. package/dist/ui/terminal-ui.js +0 -900
  222. package/dist/ui/terminal-ui.js.map +0 -1
  223. package/dist/utils/env-mapper.d.ts +0 -40
  224. package/dist/utils/env-mapper.d.ts.map +0 -1
  225. package/dist/utils/env-mapper.js +0 -122
  226. package/dist/utils/env-mapper.js.map +0 -1
  227. package/docs/USER_GUIDE.md +0 -573
  228. package/tests/agent-direct.test.mjs +0 -45
  229. package/tests/agent-output.test.mjs +0 -64
  230. package/tests/codemie-code.test.mjs +0 -42
  231. package/tests/context7-only.test.mjs +0 -42
  232. package/tests/conversation-flow.test.mjs +0 -63
  233. package/tests/interactive-simulation.test.mjs +0 -60
  234. package/tests/live-output.test.mjs +0 -53
  235. package/tests/mcp-context7.test.mjs +0 -105
  236. package/tests/mcp-e2e.test.mjs +0 -109
  237. package/tests/mcp-time-server.test.mjs +0 -58
  238. package/tests/streaming.test.mjs +0 -57
  239. package/tests/test-helpers.mjs +0 -94
  240. package/tests/text-wrapping.test.mjs +0 -33
  241. package/tests/tool-count.test.mjs +0 -81
  242. package/tests/ui-format.test.mjs +0 -39
  243. package/tests/ui-state.test.mjs +0 -72
@@ -1,459 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.createMCPCommand = createMCPCommand;
40
- const commander_1 = require("commander");
41
- const fs = __importStar(require("fs/promises"));
42
- const path = __importStar(require("path"));
43
- const os = __importStar(require("os"));
44
- const chalk_1 = __importDefault(require("chalk"));
45
- const errors_js_1 = require("../../utils/errors.js");
46
- function createMCPCommand() {
47
- const mcp = new commander_1.Command('mcp');
48
- mcp
49
- .description('Manage MCP (Model Context Protocol) servers for CodeMie Code');
50
- // List command
51
- mcp
52
- .command('list')
53
- .description('List all available MCP servers')
54
- .option('-v, --verbose', 'Show detailed configuration')
55
- .action(async (options) => {
56
- await listMCPServers(options.verbose);
57
- });
58
- // Add command
59
- mcp
60
- .command('add <name> <command-or-url>')
61
- .description('Add a new MCP server configuration')
62
- .option('-t, --transport <type>', 'Transport type (stdio, sse, streamable_http)', 'stdio')
63
- .option('-a, --args <args...>', 'Command arguments (for stdio transport)')
64
- .option('-e, --env <vars...>', 'Environment variables (KEY=VALUE format)')
65
- .action(async (name, commandOrUrl, options) => {
66
- await addMCPServer(name, commandOrUrl, options);
67
- });
68
- // Remove command
69
- mcp
70
- .command('remove <name>')
71
- .alias('rm')
72
- .description('Remove an MCP server configuration')
73
- .action(async (name) => {
74
- await removeMCPServer(name);
75
- });
76
- // Test command
77
- mcp
78
- .command('test <server>')
79
- .description('Test if an MCP server configuration is valid')
80
- .action(async (serverName) => {
81
- await testMCPServer(serverName);
82
- });
83
- // Servers command
84
- mcp
85
- .command('servers')
86
- .description('Show which MCP servers would be loaded')
87
- .option('-s, --servers <names>', 'Comma-separated list of server names')
88
- .action(async (options) => {
89
- await showServersToLoad(options.servers);
90
- });
91
- return mcp;
92
- }
93
- async function loadMCPConfigs() {
94
- const toolkit = await loadToolkitServers();
95
- const global = await loadGlobalServers();
96
- return { toolkit, global };
97
- }
98
- async function loadToolkitServers() {
99
- const bundledPath = path.join(__dirname, '../../../mcp/servers.json');
100
- try {
101
- const content = await fs.readFile(bundledPath, 'utf-8');
102
- return JSON.parse(content);
103
- }
104
- catch {
105
- return null;
106
- }
107
- }
108
- async function loadGlobalServers() {
109
- const globalConfigPath = path.join(os.homedir(), '.codemie', 'config.json');
110
- try {
111
- const content = await fs.readFile(globalConfigPath, 'utf-8');
112
- const config = JSON.parse(content);
113
- if (config.mcpServers) {
114
- return { mcpServers: config.mcpServers };
115
- }
116
- return null;
117
- }
118
- catch {
119
- return null;
120
- }
121
- }
122
- function getAllServers(toolkit, global) {
123
- const allServers = {};
124
- // Add toolkit servers first
125
- if (toolkit?.mcpServers) {
126
- Object.assign(allServers, toolkit.mcpServers);
127
- }
128
- // Global servers override toolkit servers
129
- if (global?.mcpServers) {
130
- Object.assign(allServers, global.mcpServers);
131
- }
132
- return allServers;
133
- }
134
- function formatCommand(config) {
135
- if (config.command) {
136
- const command = config.command;
137
- const args = config.args || [];
138
- if (args.length > 0) {
139
- const argsStr = args.slice(0, 2).join(' ');
140
- return args.length > 2 ? `${command} ${argsStr}...` : `${command} ${argsStr}`;
141
- }
142
- return command;
143
- }
144
- else if (config.url) {
145
- return config.url;
146
- }
147
- return '-';
148
- }
149
- function getServerType(config) {
150
- if (config.command) {
151
- if (config.command === 'npx')
152
- return 'Node.js';
153
- if (config.command === 'uvx' || config.command === 'python')
154
- return 'Python';
155
- return 'External';
156
- }
157
- return 'HTTP';
158
- }
159
- async function listMCPServers(verbose) {
160
- console.log(chalk_1.default.bold.cyan('\n═══════════════════════════════════════════════'));
161
- console.log(chalk_1.default.bold.cyan(' Available MCP Servers for CodeMie Code'));
162
- console.log(chalk_1.default.bold.cyan('═══════════════════════════════════════════════\n'));
163
- const { toolkit, global } = await loadMCPConfigs();
164
- const allServers = getAllServers(toolkit, global);
165
- if (Object.keys(allServers).length === 0) {
166
- console.log(chalk_1.default.yellow('No MCP servers found in any configuration.\n'));
167
- console.log(chalk_1.default.dim('To add MCP servers, edit:'));
168
- console.log(chalk_1.default.dim(` ${path.join(os.homedir(), '.codemie', 'config.json')}\n`));
169
- console.log(chalk_1.default.dim('Example configuration:'));
170
- console.log(chalk_1.default.dim(' "mcpServers": {'));
171
- console.log(chalk_1.default.dim(' "my-server": {'));
172
- console.log(chalk_1.default.dim(' "command": "npx",'));
173
- console.log(chalk_1.default.dim(' "args": ["-y", "@my/mcp-server"]'));
174
- console.log(chalk_1.default.dim(' }'));
175
- console.log(chalk_1.default.dim(' }'));
176
- return;
177
- }
178
- // Print table header
179
- const nameWidth = 20;
180
- const transportWidth = 12;
181
- const commandWidth = 35;
182
- const sourceWidth = 18;
183
- console.log(chalk_1.default.cyan(padRight('Server Name', nameWidth)) +
184
- chalk_1.default.green(padRight('Transport', transportWidth)) +
185
- chalk_1.default.blue(padRight('Command/URL', commandWidth)) +
186
- chalk_1.default.yellow(padRight('Source', sourceWidth)));
187
- console.log(chalk_1.default.gray('─'.repeat(nameWidth + transportWidth + commandWidth + sourceWidth)));
188
- // Get toolkit and global server names for source attribution
189
- const toolkitServerNames = toolkit?.mcpServers ? Object.keys(toolkit.mcpServers) : [];
190
- const globalServerNames = global?.mcpServers ? Object.keys(global.mcpServers) : [];
191
- // Print servers
192
- for (const [name, config] of Object.entries(allServers)) {
193
- const transport = config.transport || 'stdio';
194
- const command = formatCommand(config);
195
- const source = globalServerNames.includes(name)
196
- ? (toolkitServerNames.includes(name) ? 'Global (override)' : 'Global Config')
197
- : 'Toolkit';
198
- console.log(chalk_1.default.cyan(padRight(name, nameWidth)) +
199
- chalk_1.default.green(padRight(transport, transportWidth)) +
200
- chalk_1.default.blue(padRight(command, commandWidth)) +
201
- chalk_1.default.yellow(padRight(source, sourceWidth)));
202
- if (verbose && config.env && Object.keys(config.env).length > 0) {
203
- const envVars = Object.keys(config.env).join(', ');
204
- console.log(chalk_1.default.dim(` Environment: ${envVars}`));
205
- }
206
- }
207
- console.log();
208
- // Show config paths
209
- console.log(chalk_1.default.cyan('Configuration Files:'));
210
- const bundledPath = path.join(__dirname, '../../../mcp/servers.json');
211
- if (toolkit) {
212
- console.log(chalk_1.default.dim(` • Toolkit: ${bundledPath}`));
213
- }
214
- const globalPath = path.join(os.homedir(), '.codemie', 'config.json');
215
- if (global) {
216
- console.log(chalk_1.default.dim(` • Global: ${globalPath}`));
217
- }
218
- console.log();
219
- console.log(chalk_1.default.dim('To use these servers with codemie-code:'));
220
- console.log(chalk_1.default.dim(' • Auto-loaded: codemie-code'));
221
- console.log(chalk_1.default.dim(' (all configured servers load automatically)'));
222
- console.log();
223
- console.log(chalk_1.default.dim(' • Specific servers: codemie-code --mcp-servers filesystem,cli-mcp-server'));
224
- console.log(chalk_1.default.dim(' (load only specified servers)\n'));
225
- }
226
- async function testMCPServer(serverName) {
227
- const { toolkit, global } = await loadMCPConfigs();
228
- const allServers = getAllServers(toolkit, global);
229
- if (!allServers[serverName]) {
230
- console.log(chalk_1.default.red(`\n✗ Server '${serverName}' not found in configuration.\n`));
231
- console.log(chalk_1.default.yellow('Available servers:'));
232
- for (const name of Object.keys(allServers)) {
233
- console.log(chalk_1.default.dim(` • ${name}`));
234
- }
235
- console.log();
236
- console.log(chalk_1.default.dim('Use \'codemie-code mcp list\' to see all servers'));
237
- return;
238
- }
239
- const config = allServers[serverName];
240
- const source = global?.mcpServers?.[serverName] ? 'Global Config' : 'Toolkit Config';
241
- console.log(chalk_1.default.bold.cyan(`\n╔═══════════════════════════════════════════════╗`));
242
- console.log(chalk_1.default.bold.cyan(`║ MCP Server Test: ${padRight(serverName, 28)}║`));
243
- console.log(chalk_1.default.bold.cyan(`╚═══════════════════════════════════════════════╝\n`));
244
- console.log(chalk_1.default.green(`✓ Server '${serverName}' found in configuration`));
245
- console.log(chalk_1.default.cyan('Source: ') + source);
246
- console.log(chalk_1.default.cyan('Transport: ') + (config.transport || 'stdio'));
247
- const transport = config.transport || 'stdio';
248
- if (transport === 'stdio') {
249
- if (config.command) {
250
- console.log(chalk_1.default.cyan('Command: ') + config.command);
251
- if (config.args && config.args.length > 0) {
252
- console.log(chalk_1.default.cyan('Arguments: ') + config.args.join(' '));
253
- }
254
- }
255
- else {
256
- console.log(chalk_1.default.yellow('⚠ Missing \'command\' field for stdio transport'));
257
- }
258
- }
259
- else if (transport === 'sse' || transport === 'streamable_http') {
260
- if (config.url) {
261
- console.log(chalk_1.default.cyan('URL: ') + config.url);
262
- }
263
- else {
264
- console.log(chalk_1.default.yellow(`⚠ Missing 'url' field for ${transport} transport`));
265
- }
266
- }
267
- if (config.env && Object.keys(config.env).length > 0) {
268
- const envVars = Object.keys(config.env).join(', ');
269
- console.log(chalk_1.default.cyan('Environment Variables: ') + envVars);
270
- }
271
- console.log();
272
- console.log(chalk_1.default.dim('To use this server:'));
273
- console.log(chalk_1.default.dim(` codemie-code --mcp-servers ${serverName}\n`));
274
- }
275
- async function showServersToLoad(serversParam) {
276
- if (!serversParam) {
277
- console.log(chalk_1.default.yellow('\nNo MCP servers specified. Use --servers option.\n'));
278
- console.log(chalk_1.default.dim('Example usage:'));
279
- console.log(chalk_1.default.dim(' codemie-code mcp servers --servers filesystem,cli-mcp-server\n'));
280
- return;
281
- }
282
- const serverNames = serversParam.split(',').map(s => s.trim()).filter(Boolean);
283
- if (serverNames.length === 0) {
284
- console.log(chalk_1.default.yellow('\nNo valid server names provided\n'));
285
- return;
286
- }
287
- const { toolkit, global } = await loadMCPConfigs();
288
- const allServers = getAllServers(toolkit, global);
289
- const missingServers = serverNames.filter(name => !allServers[name]);
290
- const availableServers = serverNames.filter(name => allServers[name]);
291
- if (missingServers.length > 0) {
292
- console.log(chalk_1.default.red('\n✗ The following servers were not found:'));
293
- for (const server of missingServers) {
294
- console.log(chalk_1.default.dim(` • ${server}`));
295
- }
296
- console.log();
297
- console.log(chalk_1.default.yellow('Use \'codemie-code mcp list\' to see available servers\n'));
298
- }
299
- if (availableServers.length > 0) {
300
- console.log(chalk_1.default.green('\n✓ The following servers would be loaded:\n'));
301
- const nameWidth = 22;
302
- const transportWidth = 12;
303
- const commandWidth = 35;
304
- const typeWidth = 10;
305
- console.log(chalk_1.default.cyan(padRight('Server', nameWidth)) +
306
- chalk_1.default.green(padRight('Transport', transportWidth)) +
307
- chalk_1.default.blue(padRight('Command/URL', commandWidth)) +
308
- chalk_1.default.yellow(padRight('Type', typeWidth)));
309
- console.log(chalk_1.default.gray('─'.repeat(nameWidth + transportWidth + commandWidth + typeWidth)));
310
- for (const name of availableServers) {
311
- const config = allServers[name];
312
- const transport = config.transport || 'stdio';
313
- const command = formatCommand(config);
314
- const type = getServerType(config);
315
- console.log(chalk_1.default.cyan(padRight(name, nameWidth)) +
316
- chalk_1.default.green(padRight(transport, transportWidth)) +
317
- chalk_1.default.blue(padRight(command, commandWidth)) +
318
- chalk_1.default.yellow(padRight(type, typeWidth)));
319
- }
320
- console.log();
321
- console.log(chalk_1.default.dim('Start codemie-code with these servers:'));
322
- console.log(chalk_1.default.dim(` codemie-code --mcp-servers ${availableServers.join(',')}\n`));
323
- }
324
- }
325
- function padRight(str, width) {
326
- if (str.length >= width) {
327
- return str.substring(0, width - 3) + '...';
328
- }
329
- return str + ' '.repeat(width - str.length);
330
- }
331
- async function ensureCodemieDir() {
332
- const codemieDir = path.join(os.homedir(), '.codemie');
333
- try {
334
- await fs.mkdir(codemieDir, { recursive: true });
335
- }
336
- catch (error) {
337
- throw new Error(`Failed to create .codemie directory: ${(0, errors_js_1.getErrorMessage)(error)}`);
338
- }
339
- }
340
- async function loadGlobalConfig() {
341
- const globalConfigPath = path.join(os.homedir(), '.codemie', 'config.json');
342
- try {
343
- const content = await fs.readFile(globalConfigPath, 'utf-8');
344
- return JSON.parse(content);
345
- }
346
- catch (error) {
347
- if (error && typeof error === 'object' && 'code' in error && error.code === 'ENOENT') {
348
- return {};
349
- }
350
- throw error;
351
- }
352
- }
353
- async function saveGlobalConfig(config) {
354
- await ensureCodemieDir();
355
- const globalConfigPath = path.join(os.homedir(), '.codemie', 'config.json');
356
- await fs.writeFile(globalConfigPath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
357
- }
358
- async function addMCPServer(name, commandOrUrl, options) {
359
- // Validate transport type
360
- const validTransports = ['stdio', 'sse', 'streamable_http'];
361
- if (!validTransports.includes(options.transport)) {
362
- console.log(chalk_1.default.red(`\n✗ Invalid transport type: ${options.transport}`));
363
- console.log(chalk_1.default.yellow(`Valid types: ${validTransports.join(', ')}\n`));
364
- return;
365
- }
366
- // Build server configuration
367
- const serverConfig = {
368
- transport: options.transport
369
- };
370
- if (options.transport === 'stdio') {
371
- serverConfig.command = commandOrUrl;
372
- if (options.args && options.args.length > 0) {
373
- serverConfig.args = options.args;
374
- }
375
- }
376
- else {
377
- serverConfig.url = commandOrUrl;
378
- }
379
- // Parse environment variables
380
- if (options.env && options.env.length > 0) {
381
- serverConfig.env = {};
382
- for (const envVar of options.env) {
383
- const [key, ...valueParts] = envVar.split('=');
384
- const value = valueParts.join('=');
385
- if (key && value) {
386
- serverConfig.env[key] = value;
387
- }
388
- else {
389
- console.log(chalk_1.default.yellow(`\n⚠ Invalid environment variable format: ${envVar}`));
390
- console.log(chalk_1.default.dim('Expected format: KEY=VALUE\n'));
391
- return;
392
- }
393
- }
394
- }
395
- try {
396
- // Load global config
397
- const config = await loadGlobalConfig();
398
- // Initialize mcpServers if not exists
399
- if (!config.mcpServers || typeof config.mcpServers !== 'object') {
400
- config.mcpServers = {};
401
- }
402
- const mcpServers = config.mcpServers;
403
- // Check if server already exists
404
- const isUpdate = mcpServers[name] !== undefined;
405
- // Add/update server
406
- mcpServers[name] = serverConfig;
407
- config.mcpServers = mcpServers;
408
- // Save config
409
- await saveGlobalConfig(config);
410
- // Success message
411
- if (isUpdate) {
412
- console.log(chalk_1.default.green(`\n✓ Updated MCP server configuration: ${name}`));
413
- }
414
- else {
415
- console.log(chalk_1.default.green(`\n✓ Added MCP server configuration: ${name}`));
416
- }
417
- // Show configuration
418
- console.log(chalk_1.default.cyan('\nConfiguration:'));
419
- console.log(JSON.stringify(serverConfig, null, 2));
420
- console.log(chalk_1.default.dim(`\nSaved to: ${path.join(os.homedir(), '.codemie', 'config.json')}`));
421
- console.log(chalk_1.default.dim(`\nTo use this server:`));
422
- console.log(chalk_1.default.dim(` codemie-code --mcp-servers ${name}\n`));
423
- }
424
- catch (error) {
425
- console.log(chalk_1.default.red(`\n✗ Failed to add MCP server: ${(0, errors_js_1.getErrorMessage)(error)}\n`));
426
- }
427
- }
428
- async function removeMCPServer(name) {
429
- try {
430
- // Load global config
431
- const config = await loadGlobalConfig();
432
- // Check if mcpServers exists
433
- if (!config.mcpServers || typeof config.mcpServers !== 'object') {
434
- console.log(chalk_1.default.yellow(`\n⚠ No MCP servers configured\n`));
435
- return;
436
- }
437
- const mcpServers = config.mcpServers;
438
- // Check if server exists
439
- if (!mcpServers[name]) {
440
- console.log(chalk_1.default.yellow(`\n⚠ MCP server '${name}' not found in global configuration\n`));
441
- console.log(chalk_1.default.dim('Available servers:'));
442
- for (const serverName of Object.keys(mcpServers)) {
443
- console.log(chalk_1.default.dim(` • ${serverName}`));
444
- }
445
- console.log();
446
- return;
447
- }
448
- // Remove server
449
- delete mcpServers[name];
450
- config.mcpServers = mcpServers;
451
- // Save config
452
- await saveGlobalConfig(config);
453
- console.log(chalk_1.default.green(`\n✓ Removed MCP server: ${name}\n`));
454
- }
455
- catch (error) {
456
- console.log(chalk_1.default.red(`\n✗ Failed to remove MCP server: ${(0, errors_js_1.getErrorMessage)(error)}\n`));
457
- }
458
- }
459
- //# sourceMappingURL=mcp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- export type AgentEventType = 'content_chunk' | 'tool_call_start' | 'tool_call_result' | 'tool_call_error' | 'thinking_start' | 'thinking_end' | 'error' | 'cancelled' | 'complete';
2
- export interface ContentChunkEvent {
3
- type: 'content_chunk';
4
- content: string;
5
- }
6
- export interface ToolCallStartEvent {
7
- type: 'tool_call_start';
8
- toolName: string;
9
- toolArgs: Record<string, unknown>;
10
- }
11
- export interface ToolCallResultEvent {
12
- type: 'tool_call_result';
13
- toolName: string;
14
- result: string;
15
- }
16
- export interface ToolCallErrorEvent {
17
- type: 'tool_call_error';
18
- toolName: string;
19
- error: string;
20
- }
21
- export interface ThinkingStartEvent {
22
- type: 'thinking_start';
23
- }
24
- export interface ThinkingEndEvent {
25
- type: 'thinking_end';
26
- }
27
- export interface ErrorEvent {
28
- type: 'error';
29
- error: string;
30
- }
31
- export interface CompleteEvent {
32
- type: 'complete';
33
- }
34
- export interface CancelledEvent {
35
- type: 'cancelled';
36
- }
37
- export type AgentEvent = ContentChunkEvent | ToolCallStartEvent | ToolCallResultEvent | ToolCallErrorEvent | ThinkingStartEvent | ThinkingEndEvent | ErrorEvent | CancelledEvent | CompleteEvent;
38
- export type AgentEventCallback = (event: AgentEvent) => void;
39
- //# sourceMappingURL=agent-events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-events.d.ts","sourceRoot":"","sources":["../../src/code/agent-events.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,OAAO,GACP,WAAW,GACX,UAAU,CAAC;AAEf,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,eAAe,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,kBAAkB,GAClB,gBAAgB,GAChB,UAAU,GACV,cAAc,GACd,aAAa,CAAC;AAElB,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC"}
@@ -1,4 +0,0 @@
1
- "use strict";
2
- // Event types for agent-to-UI communication during streaming
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- //# sourceMappingURL=agent-events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-events.js","sourceRoot":"","sources":["../../src/code/agent-events.ts"],"names":[],"mappings":";AAAA,6DAA6D"}
@@ -1,19 +0,0 @@
1
- import { StructuredTool } from '@langchain/core/tools';
2
- import { CodeMieConfig } from './config.js';
3
- import type { AgentEventCallback } from './agent-events.js';
4
- export interface AgentMessage {
5
- role: 'user' | 'assistant';
6
- content: string;
7
- }
8
- export declare class CodeMieAgent {
9
- private model;
10
- private tools;
11
- private agent;
12
- private conversationHistory;
13
- constructor(config: CodeMieConfig, tools: StructuredTool[]);
14
- chat(userMessage: string): Promise<string>;
15
- chatStream(userMessage: string, onEvent: AgentEventCallback, signal?: AbortSignal): Promise<void>;
16
- clearHistory(): void;
17
- getHistory(): AgentMessage[];
18
- }
19
- //# sourceMappingURL=agent.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/code/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,mBAAmB,CAAqB;gBAEpC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE;IAoCpD,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB1C,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA4FvG,YAAY,IAAI,IAAI;IAIpB,UAAU,IAAI,YAAY,EAAE;CAM7B"}