@codemieai/code 0.0.1 → 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 (244) hide show
  1. package/.codemie/guides/git-workflow.md +493 -0
  2. package/CLAUDE.md +130 -761
  3. package/README.md +283 -695
  4. package/bin/codemie-claude.js +122 -0
  5. package/bin/codemie-code.js +90 -15
  6. package/bin/codemie-codex.js +138 -0
  7. package/bin/codemie.js +1 -1
  8. package/config.example.json +10 -0
  9. package/dist/agents/adapters/claude-code.d.ts +2 -2
  10. package/dist/agents/adapters/claude-code.d.ts.map +1 -1
  11. package/dist/agents/adapters/claude-code.js +20 -42
  12. package/dist/agents/adapters/claude-code.js.map +1 -1
  13. package/dist/agents/adapters/codemie-code.d.ts +11 -2
  14. package/dist/agents/adapters/codemie-code.d.ts.map +1 -1
  15. package/dist/agents/adapters/codemie-code.js +93 -25
  16. package/dist/agents/adapters/codemie-code.js.map +1 -1
  17. package/dist/agents/adapters/codex.d.ts +2 -2
  18. package/dist/agents/adapters/codex.d.ts.map +1 -1
  19. package/dist/agents/adapters/codex.js +31 -24
  20. package/dist/agents/adapters/codex.js.map +1 -1
  21. package/dist/agents/codemie-code/agent.d.ts +89 -0
  22. package/dist/agents/codemie-code/agent.d.ts.map +1 -0
  23. package/dist/agents/codemie-code/agent.js +523 -0
  24. package/dist/agents/codemie-code/agent.js.map +1 -0
  25. package/dist/agents/codemie-code/config.d.ts +40 -0
  26. package/dist/agents/codemie-code/config.d.ts.map +1 -0
  27. package/dist/agents/codemie-code/config.js +276 -0
  28. package/dist/agents/codemie-code/config.js.map +1 -0
  29. package/dist/agents/codemie-code/filters.d.ts +91 -0
  30. package/dist/agents/codemie-code/filters.d.ts.map +1 -0
  31. package/dist/agents/codemie-code/filters.js +328 -0
  32. package/dist/agents/codemie-code/filters.js.map +1 -0
  33. package/dist/agents/codemie-code/index.d.ts +78 -0
  34. package/dist/agents/codemie-code/index.d.ts.map +1 -0
  35. package/dist/agents/codemie-code/index.js +259 -0
  36. package/dist/agents/codemie-code/index.js.map +1 -0
  37. package/dist/agents/codemie-code/prompts.d.ts +11 -0
  38. package/dist/agents/codemie-code/prompts.d.ts.map +1 -0
  39. package/dist/agents/codemie-code/prompts.js +31 -0
  40. package/dist/agents/codemie-code/prompts.js.map +1 -0
  41. package/dist/agents/codemie-code/streaming/events.d.ts +7 -0
  42. package/dist/agents/codemie-code/streaming/events.d.ts.map +1 -0
  43. package/dist/agents/codemie-code/streaming/events.js +7 -0
  44. package/dist/agents/codemie-code/streaming/events.js.map +1 -0
  45. package/dist/agents/codemie-code/streaming/formatter.d.ts +2 -0
  46. package/dist/agents/codemie-code/streaming/formatter.d.ts.map +1 -0
  47. package/dist/agents/codemie-code/streaming/formatter.js +2 -0
  48. package/dist/agents/codemie-code/streaming/formatter.js.map +1 -0
  49. package/dist/agents/codemie-code/streaming/ui.d.ts +2 -0
  50. package/dist/agents/codemie-code/streaming/ui.d.ts.map +1 -0
  51. package/dist/agents/codemie-code/streaming/ui.js +2 -0
  52. package/dist/agents/codemie-code/streaming/ui.js.map +1 -0
  53. package/dist/agents/codemie-code/tokenUtils.d.ts +108 -0
  54. package/dist/agents/codemie-code/tokenUtils.d.ts.map +1 -0
  55. package/dist/agents/codemie-code/tokenUtils.js +220 -0
  56. package/dist/agents/codemie-code/tokenUtils.js.map +1 -0
  57. package/dist/agents/codemie-code/toolMetadata.d.ts +15 -0
  58. package/dist/agents/codemie-code/toolMetadata.d.ts.map +1 -0
  59. package/dist/agents/codemie-code/toolMetadata.js +315 -0
  60. package/dist/agents/codemie-code/toolMetadata.js.map +1 -0
  61. package/dist/agents/codemie-code/tools/command.d.ts +2 -0
  62. package/dist/agents/codemie-code/tools/command.d.ts.map +1 -0
  63. package/dist/agents/codemie-code/tools/command.js +2 -0
  64. package/dist/agents/codemie-code/tools/command.js.map +1 -0
  65. package/dist/agents/codemie-code/tools/filesystem.d.ts +2 -0
  66. package/dist/agents/codemie-code/tools/filesystem.d.ts.map +1 -0
  67. package/dist/agents/codemie-code/tools/filesystem.js +2 -0
  68. package/dist/agents/codemie-code/tools/filesystem.js.map +1 -0
  69. package/dist/agents/codemie-code/tools/git.d.ts +2 -0
  70. package/dist/agents/codemie-code/tools/git.d.ts.map +1 -0
  71. package/dist/agents/codemie-code/tools/git.js +2 -0
  72. package/dist/agents/codemie-code/tools/git.js.map +1 -0
  73. package/dist/agents/codemie-code/tools/index.d.ts +19 -0
  74. package/dist/agents/codemie-code/tools/index.d.ts.map +1 -0
  75. package/dist/agents/codemie-code/tools/index.js +239 -0
  76. package/dist/agents/codemie-code/tools/index.js.map +1 -0
  77. package/dist/agents/codemie-code/tools/security.d.ts +2 -0
  78. package/dist/agents/codemie-code/tools/security.d.ts.map +1 -0
  79. package/dist/agents/codemie-code/tools/security.js +2 -0
  80. package/dist/agents/codemie-code/tools/security.js.map +1 -0
  81. package/dist/agents/codemie-code/types.d.ts +254 -0
  82. package/dist/agents/codemie-code/types.d.ts.map +1 -0
  83. package/dist/agents/codemie-code/types.js +35 -0
  84. package/dist/agents/codemie-code/types.js.map +1 -0
  85. package/dist/agents/codemie-code/ui.d.ts +83 -0
  86. package/dist/agents/codemie-code/ui.d.ts.map +1 -0
  87. package/dist/agents/codemie-code/ui.js +624 -0
  88. package/dist/agents/codemie-code/ui.js.map +1 -0
  89. package/dist/agents/registry.d.ts +1 -1
  90. package/dist/agents/registry.d.ts.map +1 -1
  91. package/dist/agents/registry.js +7 -13
  92. package/dist/agents/registry.js.map +1 -1
  93. package/dist/cli/commands/config.d.ts +3 -0
  94. package/dist/cli/commands/config.d.ts.map +1 -0
  95. package/dist/cli/commands/config.js +323 -0
  96. package/dist/cli/commands/config.js.map +1 -0
  97. package/dist/cli/commands/doctor.d.ts.map +1 -1
  98. package/dist/cli/commands/doctor.js +113 -69
  99. package/dist/cli/commands/doctor.js.map +1 -1
  100. package/dist/cli/commands/env.d.ts +3 -0
  101. package/dist/cli/commands/env.d.ts.map +1 -0
  102. package/dist/cli/commands/env.js +19 -0
  103. package/dist/cli/commands/env.js.map +1 -0
  104. package/dist/cli/commands/install.js +27 -33
  105. package/dist/cli/commands/install.js.map +1 -1
  106. package/dist/cli/commands/list.js +18 -24
  107. package/dist/cli/commands/list.js.map +1 -1
  108. package/dist/cli/commands/run.d.ts.map +1 -1
  109. package/dist/cli/commands/run.js +307 -21
  110. package/dist/cli/commands/run.js.map +1 -1
  111. package/dist/cli/commands/setup.d.ts +3 -0
  112. package/dist/cli/commands/setup.d.ts.map +1 -0
  113. package/dist/cli/commands/setup.js +357 -0
  114. package/dist/cli/commands/setup.js.map +1 -0
  115. package/dist/cli/commands/uninstall.js +24 -30
  116. package/dist/cli/commands/uninstall.js.map +1 -1
  117. package/dist/cli/commands/version.d.ts.map +1 -1
  118. package/dist/cli/commands/version.js +11 -16
  119. package/dist/cli/commands/version.js.map +1 -1
  120. package/dist/cli/index.js +47 -31
  121. package/dist/cli/index.js.map +1 -1
  122. package/dist/env/manager.js +9 -46
  123. package/dist/env/manager.js.map +1 -1
  124. package/dist/index.d.ts +6 -13
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +6 -43
  127. package/dist/index.js.map +1 -1
  128. package/dist/utils/async-tips.d.ts.map +1 -1
  129. package/dist/utils/async-tips.js +16 -55
  130. package/dist/utils/async-tips.js.map +1 -1
  131. package/dist/utils/clipboard.d.ts +16 -0
  132. package/dist/utils/clipboard.d.ts.map +1 -0
  133. package/dist/utils/clipboard.js +179 -0
  134. package/dist/utils/clipboard.js.map +1 -0
  135. package/dist/utils/config-loader.d.ts +96 -0
  136. package/dist/utils/config-loader.d.ts.map +1 -0
  137. package/dist/utils/config-loader.js +351 -0
  138. package/dist/utils/config-loader.js.map +1 -0
  139. package/dist/utils/dirname.d.ts +7 -0
  140. package/dist/utils/dirname.d.ts.map +1 -0
  141. package/dist/utils/dirname.js +11 -0
  142. package/dist/utils/dirname.js.map +1 -0
  143. package/dist/utils/errors.js +7 -17
  144. package/dist/utils/errors.js.map +1 -1
  145. package/dist/utils/exec.js +3 -6
  146. package/dist/utils/exec.js.map +1 -1
  147. package/dist/utils/first-time.d.ts +34 -0
  148. package/dist/utils/first-time.d.ts.map +1 -0
  149. package/dist/utils/first-time.js +245 -0
  150. package/dist/utils/first-time.js.map +1 -0
  151. package/dist/utils/health-checker.d.ts +20 -0
  152. package/dist/utils/health-checker.d.ts.map +1 -0
  153. package/dist/utils/health-checker.js +168 -0
  154. package/dist/utils/health-checker.js.map +1 -0
  155. package/dist/utils/logger.js +12 -18
  156. package/dist/utils/logger.js.map +1 -1
  157. package/dist/utils/model-fetcher.d.ts +21 -0
  158. package/dist/utils/model-fetcher.d.ts.map +1 -0
  159. package/dist/utils/model-fetcher.js +137 -0
  160. package/dist/utils/model-fetcher.js.map +1 -0
  161. package/dist/utils/tips.d.ts.map +1 -1
  162. package/dist/utils/tips.js +13 -52
  163. package/dist/utils/tips.js.map +1 -1
  164. package/package.json +17 -23
  165. package/scripts/README.md +80 -0
  166. package/scripts/release.sh +156 -0
  167. package/dist/agents/adapters/aider.d.ts +0 -12
  168. package/dist/agents/adapters/aider.d.ts.map +0 -1
  169. package/dist/agents/adapters/aider.js +0 -80
  170. package/dist/agents/adapters/aider.js.map +0 -1
  171. package/dist/cli/cli.d.ts +0 -4
  172. package/dist/cli/cli.d.ts.map +0 -1
  173. package/dist/cli/cli.js +0 -107
  174. package/dist/cli/cli.js.map +0 -1
  175. package/dist/cli/commands/mcp.d.ts +0 -3
  176. package/dist/cli/commands/mcp.d.ts.map +0 -1
  177. package/dist/cli/commands/mcp.js +0 -459
  178. package/dist/cli/commands/mcp.js.map +0 -1
  179. package/dist/code/agent-events.d.ts +0 -39
  180. package/dist/code/agent-events.d.ts.map +0 -1
  181. package/dist/code/agent-events.js +0 -4
  182. package/dist/code/agent-events.js.map +0 -1
  183. package/dist/code/agent.d.ts +0 -19
  184. package/dist/code/agent.d.ts.map +0 -1
  185. package/dist/code/agent.js +0 -144
  186. package/dist/code/agent.js.map +0 -1
  187. package/dist/code/config.d.ts +0 -13
  188. package/dist/code/config.d.ts.map +0 -1
  189. package/dist/code/config.js +0 -41
  190. package/dist/code/config.js.map +0 -1
  191. package/dist/code/index.d.ts +0 -19
  192. package/dist/code/index.d.ts.map +0 -1
  193. package/dist/code/index.js +0 -400
  194. package/dist/code/index.js.map +0 -1
  195. package/dist/code/prompts.d.ts +0 -2
  196. package/dist/code/prompts.d.ts.map +0 -1
  197. package/dist/code/prompts.js +0 -45
  198. package/dist/code/prompts.js.map +0 -1
  199. package/dist/code/tools/command.d.ts +0 -8
  200. package/dist/code/tools/command.d.ts.map +0 -1
  201. package/dist/code/tools/command.js +0 -83
  202. package/dist/code/tools/command.js.map +0 -1
  203. package/dist/code/tools/diff-utils.d.ts +0 -2
  204. package/dist/code/tools/diff-utils.d.ts.map +0 -1
  205. package/dist/code/tools/diff-utils.js +0 -45
  206. package/dist/code/tools/diff-utils.js.map +0 -1
  207. package/dist/code/tools/filesystem.d.ts +0 -11
  208. package/dist/code/tools/filesystem.d.ts.map +0 -1
  209. package/dist/code/tools/filesystem.js +0 -442
  210. package/dist/code/tools/filesystem.js.map +0 -1
  211. package/dist/code/tools/git.d.ts +0 -7
  212. package/dist/code/tools/git.d.ts.map +0 -1
  213. package/dist/code/tools/git.js +0 -111
  214. package/dist/code/tools/git.js.map +0 -1
  215. package/dist/code/tools/mcp.d.ts +0 -13
  216. package/dist/code/tools/mcp.d.ts.map +0 -1
  217. package/dist/code/tools/mcp.js +0 -230
  218. package/dist/code/tools/mcp.js.map +0 -1
  219. package/dist/data/tips.json +0 -118
  220. package/dist/ui/terminal-ui.d.ts +0 -73
  221. package/dist/ui/terminal-ui.d.ts.map +0 -1
  222. package/dist/ui/terminal-ui.js +0 -900
  223. package/dist/ui/terminal-ui.js.map +0 -1
  224. package/dist/utils/env-mapper.d.ts +0 -40
  225. package/dist/utils/env-mapper.d.ts.map +0 -1
  226. package/dist/utils/env-mapper.js +0 -122
  227. package/dist/utils/env-mapper.js.map +0 -1
  228. package/docs/USER_GUIDE.md +0 -573
  229. package/tests/agent-direct.test.mjs +0 -45
  230. package/tests/agent-output.test.mjs +0 -64
  231. package/tests/codemie-code.test.mjs +0 -42
  232. package/tests/context7-only.test.mjs +0 -42
  233. package/tests/conversation-flow.test.mjs +0 -63
  234. package/tests/interactive-simulation.test.mjs +0 -60
  235. package/tests/live-output.test.mjs +0 -53
  236. package/tests/mcp-context7.test.mjs +0 -105
  237. package/tests/mcp-e2e.test.mjs +0 -109
  238. package/tests/mcp-time-server.test.mjs +0 -58
  239. package/tests/streaming.test.mjs +0 -57
  240. package/tests/test-helpers.mjs +0 -94
  241. package/tests/text-wrapping.test.mjs +0 -33
  242. package/tests/tool-count.test.mjs +0 -81
  243. package/tests/ui-format.test.mjs +0 -39
  244. package/tests/ui-state.test.mjs +0 -72
@@ -0,0 +1,156 @@
1
+ #!/bin/bash
2
+ set -e
3
+
4
+ # CodeMie Code Release Script
5
+ # Simple script to automate releases following KISS principles
6
+
7
+ DRY_RUN=false
8
+ VERSION=""
9
+
10
+ # Parse arguments
11
+ while [[ $# -gt 0 ]]; do
12
+ case $1 in
13
+ --dry-run) DRY_RUN=true; shift ;;
14
+ --help|-h)
15
+ echo "Usage: $0 [VERSION] [--dry-run]"
16
+ echo "Examples:"
17
+ echo " $0 0.0.3 # Release version 0.0.3"
18
+ echo " $0 --dry-run # Preview next patch release"
19
+ exit 0 ;;
20
+ *) VERSION="$1"; shift ;;
21
+ esac
22
+ done
23
+
24
+ # Get current version
25
+ CURRENT=$(grep '"version"' package.json | sed 's/.*"version": "\(.*\)".*/\1/')
26
+ echo "Current version: $CURRENT"
27
+
28
+ # Determine target version
29
+ if [[ -z "$VERSION" ]]; then
30
+ # Auto-increment patch version
31
+ IFS='.' read -r major minor patch <<< "$CURRENT"
32
+ VERSION="$major.$minor.$((patch + 1))"
33
+ echo "Auto-incrementing to: $VERSION"
34
+ fi
35
+
36
+ echo "Target version: $VERSION"
37
+
38
+ # Pre-flight checks
39
+ echo ""
40
+ echo "🔍 Pre-flight checks:"
41
+
42
+ # Check git status
43
+ if ! git diff --quiet || ! git diff --cached --quiet; then
44
+ echo "❌ Working directory has uncommitted changes"
45
+ if [[ "$DRY_RUN" == "false" ]]; then
46
+ read -p "Continue anyway? (y/N): " -n 1 -r
47
+ echo
48
+ [[ ! $REPLY =~ ^[Yy]$ ]] && exit 1
49
+ fi
50
+ else
51
+ echo "✅ Working directory is clean"
52
+ fi
53
+
54
+ # Check if version tag exists
55
+ if git tag -l "v$VERSION" | grep -q "v$VERSION"; then
56
+ echo "⚠️ Tag v$VERSION already exists"
57
+ if [[ "$DRY_RUN" == "false" ]]; then
58
+ read -p "Continue anyway? (y/N): " -n 1 -r
59
+ echo
60
+ [[ ! $REPLY =~ ^[Yy]$ ]] && exit 1
61
+ fi
62
+ else
63
+ echo "✅ Tag v$VERSION does not exist"
64
+ fi
65
+
66
+ # Show what will be done
67
+ echo ""
68
+ echo "📋 Actions that will be performed:"
69
+ echo "1. Update package.json version to $VERSION"
70
+ echo "2. Commit version bump"
71
+ echo "3. Create git tag v$VERSION"
72
+ echo "4. Push commit and tag to origin"
73
+ if command -v gh >/dev/null 2>&1; then
74
+ echo "5. Create GitHub Release (if gh CLI available)"
75
+ fi
76
+
77
+ if [[ "$DRY_RUN" == "true" ]]; then
78
+ echo ""
79
+ echo "🔍 DRY RUN - No changes will be made"
80
+ exit 0
81
+ fi
82
+
83
+ echo ""
84
+ read -p "❓ Proceed with release? (y/N): " -n 1 -r
85
+ echo
86
+ [[ ! $REPLY =~ ^[Yy]$ ]] && exit 1
87
+
88
+ # Execute release
89
+ echo ""
90
+ echo "🚀 Executing release..."
91
+
92
+ # Update version in package.json and package-lock.json
93
+ echo "📝 Updating package versions..."
94
+ npm version "$VERSION" --no-git-tag-version
95
+
96
+ # Commit changes
97
+ echo "💾 Committing version bump..."
98
+ git add package.json package-lock.json
99
+ git commit -m "chore: bump version to $VERSION
100
+
101
+ 🤖 Generated with release script"
102
+
103
+ # Create tag
104
+ echo "🏷️ Creating tag v$VERSION..."
105
+ git tag -a "v$VERSION" -m "Release version $VERSION"
106
+
107
+ # Push to origin
108
+ echo "📤 Pushing to origin..."
109
+ git push origin main
110
+ git push origin "v$VERSION"
111
+
112
+ # Create GitHub release if gh CLI is available
113
+ if command -v gh >/dev/null 2>&1; then
114
+ echo "🐱 Creating GitHub Release..."
115
+
116
+ # Generate simple release notes
117
+ LAST_TAG=$(git describe --tags --abbrev=0 HEAD^ 2>/dev/null || echo "")
118
+ if [[ -n "$LAST_TAG" ]]; then
119
+ COMMITS=$(git log "$LAST_TAG..HEAD" --oneline --no-merges | wc -l)
120
+ RANGE="$LAST_TAG..v$VERSION"
121
+ else
122
+ COMMITS=$(git rev-list --count HEAD)
123
+ RANGE="v$VERSION"
124
+ fi
125
+
126
+ # Create release notes
127
+ cat > /tmp/release-notes.md << EOF
128
+ ## What's Changed
129
+
130
+ This release includes $COMMITS commits with improvements and updates.
131
+
132
+ ### Recent Changes:
133
+ $(git log --oneline --no-merges -10 ${LAST_TAG:+$LAST_TAG..HEAD} | sed 's/^/- /')
134
+
135
+ **Full Changelog**: https://github.com/EPMCDME/codemie-ai/compare/${LAST_TAG:-initial}...v$VERSION
136
+ EOF
137
+
138
+ gh release create "v$VERSION" \
139
+ --title "Release v$VERSION" \
140
+ --notes-file /tmp/release-notes.md \
141
+ --latest
142
+
143
+ rm -f /tmp/release-notes.md
144
+ echo "✅ GitHub Release created"
145
+ else
146
+ echo "⚠️ GitHub CLI not available - create release manually at:"
147
+ echo " https://github.com/EPMCDME/codemie-ai/releases/new?tag=v$VERSION"
148
+ fi
149
+
150
+ echo ""
151
+ echo "🎉 Release v$VERSION completed successfully!"
152
+ echo ""
153
+ echo "📦 Next steps:"
154
+ echo "• Monitor GitHub Actions for npm publish: https://github.com/EPMCDME/codemie-ai/actions"
155
+ echo "• Package will be available: npm install @codemieai/code@$VERSION"
156
+ echo "• View release: https://github.com/EPMCDME/codemie-ai/releases/tag/v$VERSION"
@@ -1,12 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,80 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"aider.js","sourceRoot":"","sources":["../../../src/agents/adapters/aider.ts"],"names":[],"mappings":"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"}
package/dist/cli/cli.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function createCLI(): Promise<Command>;
3
- export declare function runCLI(): Promise<void>;
4
- //# sourceMappingURL=cli.d.ts.map
@@ -1 +0,0 @@
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 DELETED
@@ -1,107 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function createMCPCommand(): Command;
3
- //# sourceMappingURL=mcp.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,wBAAgB,gBAAgB,IAAI,OAAO,CAyD1C"}