@codemieai/code 0.0.2 → 0.0.4

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 (360) hide show
  1. package/README.md +357 -719
  2. package/bin/codemie-claude.js +145 -0
  3. package/bin/codemie-code.js +128 -15
  4. package/bin/codemie-codex.js +137 -0
  5. package/bin/codemie.js +1 -1
  6. package/dist/agents/adapters/claude-code.d.ts +7 -2
  7. package/dist/agents/adapters/claude-code.d.ts.map +1 -1
  8. package/dist/agents/adapters/claude-code.js +94 -58
  9. package/dist/agents/adapters/claude-code.js.map +1 -1
  10. package/dist/agents/adapters/codemie-code.d.ts +11 -2
  11. package/dist/agents/adapters/codemie-code.d.ts.map +1 -1
  12. package/dist/agents/adapters/codemie-code.js +93 -25
  13. package/dist/agents/adapters/codemie-code.js.map +1 -1
  14. package/dist/agents/adapters/codex.d.ts +7 -2
  15. package/dist/agents/adapters/codex.d.ts.map +1 -1
  16. package/dist/agents/adapters/codex.js +104 -39
  17. package/dist/agents/adapters/codex.js.map +1 -1
  18. package/dist/agents/codemie-code/agent.d.ts +89 -0
  19. package/dist/agents/codemie-code/agent.d.ts.map +1 -0
  20. package/dist/agents/codemie-code/agent.js +689 -0
  21. package/dist/agents/codemie-code/agent.js.map +1 -0
  22. package/dist/agents/codemie-code/config.d.ts +40 -0
  23. package/dist/agents/codemie-code/config.d.ts.map +1 -0
  24. package/dist/agents/codemie-code/config.js +278 -0
  25. package/dist/agents/codemie-code/config.js.map +1 -0
  26. package/dist/agents/codemie-code/filters.d.ts +91 -0
  27. package/dist/agents/codemie-code/filters.d.ts.map +1 -0
  28. package/dist/agents/codemie-code/filters.js +328 -0
  29. package/dist/agents/codemie-code/filters.js.map +1 -0
  30. package/dist/agents/codemie-code/index.d.ts +92 -0
  31. package/dist/agents/codemie-code/index.d.ts.map +1 -0
  32. package/dist/agents/codemie-code/index.js +327 -0
  33. package/dist/agents/codemie-code/index.js.map +1 -0
  34. package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts +87 -0
  35. package/dist/agents/codemie-code/modes/contextAwarePlanning.d.ts.map +1 -0
  36. package/dist/agents/codemie-code/modes/contextAwarePlanning.js +957 -0
  37. package/dist/agents/codemie-code/modes/contextAwarePlanning.js.map +1 -0
  38. package/dist/agents/codemie-code/modes/planMode.d.ts +116 -0
  39. package/dist/agents/codemie-code/modes/planMode.d.ts.map +1 -0
  40. package/dist/agents/codemie-code/modes/planMode.js +537 -0
  41. package/dist/agents/codemie-code/modes/planMode.js.map +1 -0
  42. package/dist/agents/codemie-code/prompts.d.ts +40 -0
  43. package/dist/agents/codemie-code/prompts.d.ts.map +1 -0
  44. package/dist/agents/codemie-code/prompts.js +160 -0
  45. package/dist/agents/codemie-code/prompts.js.map +1 -0
  46. package/dist/agents/codemie-code/storage/todoStorage.d.ts +78 -0
  47. package/dist/agents/codemie-code/storage/todoStorage.d.ts.map +1 -0
  48. package/dist/agents/codemie-code/storage/todoStorage.js +225 -0
  49. package/dist/agents/codemie-code/storage/todoStorage.js.map +1 -0
  50. package/dist/agents/codemie-code/tokenUtils.d.ts +108 -0
  51. package/dist/agents/codemie-code/tokenUtils.d.ts.map +1 -0
  52. package/dist/agents/codemie-code/tokenUtils.js +220 -0
  53. package/dist/agents/codemie-code/tokenUtils.js.map +1 -0
  54. package/dist/agents/codemie-code/toolMetadata.d.ts +15 -0
  55. package/dist/agents/codemie-code/toolMetadata.d.ts.map +1 -0
  56. package/dist/agents/codemie-code/toolMetadata.js +315 -0
  57. package/dist/agents/codemie-code/toolMetadata.js.map +1 -0
  58. package/dist/agents/codemie-code/tools/index.d.ts +45 -0
  59. package/dist/agents/codemie-code/tools/index.d.ts.map +1 -0
  60. package/dist/agents/codemie-code/tools/index.js +407 -0
  61. package/dist/agents/codemie-code/tools/index.js.map +1 -0
  62. package/dist/agents/codemie-code/tools/planning.d.ts +53 -0
  63. package/dist/agents/codemie-code/tools/planning.d.ts.map +1 -0
  64. package/dist/agents/codemie-code/tools/planning.js +224 -0
  65. package/dist/agents/codemie-code/tools/planning.js.map +1 -0
  66. package/dist/agents/codemie-code/types.d.ts +418 -0
  67. package/dist/agents/codemie-code/types.d.ts.map +1 -0
  68. package/dist/agents/codemie-code/types.js +35 -0
  69. package/dist/agents/codemie-code/types.js.map +1 -0
  70. package/dist/agents/codemie-code/ui/progressTracker.d.ts +125 -0
  71. package/dist/agents/codemie-code/ui/progressTracker.d.ts.map +1 -0
  72. package/dist/agents/codemie-code/ui/progressTracker.js +343 -0
  73. package/dist/agents/codemie-code/ui/progressTracker.js.map +1 -0
  74. package/dist/agents/codemie-code/ui/todoPanel.d.ts +112 -0
  75. package/dist/agents/codemie-code/ui/todoPanel.d.ts.map +1 -0
  76. package/dist/agents/codemie-code/ui/todoPanel.js +318 -0
  77. package/dist/agents/codemie-code/ui/todoPanel.js.map +1 -0
  78. package/dist/agents/codemie-code/ui.d.ts +179 -0
  79. package/dist/agents/codemie-code/ui.d.ts.map +1 -0
  80. package/dist/agents/codemie-code/ui.js +1408 -0
  81. package/dist/agents/codemie-code/ui.js.map +1 -0
  82. package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts +87 -0
  83. package/dist/agents/codemie-code/utils/progressionEnforcer.d.ts.map +1 -0
  84. package/dist/agents/codemie-code/utils/progressionEnforcer.js +293 -0
  85. package/dist/agents/codemie-code/utils/progressionEnforcer.js.map +1 -0
  86. package/dist/agents/codemie-code/utils/todoParser.d.ts +41 -0
  87. package/dist/agents/codemie-code/utils/todoParser.d.ts.map +1 -0
  88. package/dist/agents/codemie-code/utils/todoParser.js +305 -0
  89. package/dist/agents/codemie-code/utils/todoParser.js.map +1 -0
  90. package/dist/agents/codemie-code/utils/todoValidator.d.ts +65 -0
  91. package/dist/agents/codemie-code/utils/todoValidator.d.ts.map +1 -0
  92. package/dist/agents/codemie-code/utils/todoValidator.js +249 -0
  93. package/dist/agents/codemie-code/utils/todoValidator.js.map +1 -0
  94. package/dist/agents/codemie-code/validators/planValidator.d.ts +94 -0
  95. package/dist/agents/codemie-code/validators/planValidator.d.ts.map +1 -0
  96. package/dist/agents/codemie-code/validators/planValidator.js +281 -0
  97. package/dist/agents/codemie-code/validators/planValidator.js.map +1 -0
  98. package/dist/agents/registry.d.ts +1 -1
  99. package/dist/agents/registry.d.ts.map +1 -1
  100. package/dist/agents/registry.js +11 -15
  101. package/dist/agents/registry.js.map +1 -1
  102. package/dist/cli/commands/auth.d.ts +3 -0
  103. package/dist/cli/commands/auth.d.ts.map +1 -0
  104. package/dist/cli/commands/auth.js +170 -0
  105. package/dist/cli/commands/auth.js.map +1 -0
  106. package/dist/cli/commands/config.d.ts +3 -0
  107. package/dist/cli/commands/config.d.ts.map +1 -0
  108. package/dist/cli/commands/config.js +350 -0
  109. package/dist/cli/commands/config.js.map +1 -0
  110. package/dist/cli/commands/doctor.d.ts.map +1 -1
  111. package/dist/cli/commands/doctor.js +308 -71
  112. package/dist/cli/commands/doctor.js.map +1 -1
  113. package/dist/cli/commands/env.d.ts +3 -0
  114. package/dist/cli/commands/env.d.ts.map +1 -0
  115. package/dist/cli/commands/env.js +19 -0
  116. package/dist/cli/commands/env.js.map +1 -0
  117. package/dist/cli/commands/install.d.ts.map +1 -1
  118. package/dist/cli/commands/install.js +28 -33
  119. package/dist/cli/commands/install.js.map +1 -1
  120. package/dist/cli/commands/list.js +18 -24
  121. package/dist/cli/commands/list.js.map +1 -1
  122. package/dist/cli/commands/run.d.ts.map +1 -1
  123. package/dist/cli/commands/run.js +297 -31
  124. package/dist/cli/commands/run.js.map +1 -1
  125. package/dist/cli/commands/setup.d.ts +3 -0
  126. package/dist/cli/commands/setup.d.ts.map +1 -0
  127. package/dist/cli/commands/setup.js +523 -0
  128. package/dist/cli/commands/setup.js.map +1 -0
  129. package/dist/cli/commands/tools.d.ts +6 -0
  130. package/dist/cli/commands/tools.d.ts.map +1 -0
  131. package/dist/cli/commands/tools.js +244 -0
  132. package/dist/cli/commands/tools.js.map +1 -0
  133. package/dist/cli/commands/uninstall.js +24 -30
  134. package/dist/cli/commands/uninstall.js.map +1 -1
  135. package/dist/cli/commands/version.d.ts.map +1 -1
  136. package/dist/cli/commands/version.js +11 -16
  137. package/dist/cli/commands/version.js.map +1 -1
  138. package/dist/cli/commands/workflow.d.ts +6 -0
  139. package/dist/cli/commands/workflow.d.ts.map +1 -0
  140. package/dist/cli/commands/workflow.js +424 -0
  141. package/dist/cli/commands/workflow.js.map +1 -0
  142. package/dist/cli/index.js +85 -35
  143. package/dist/cli/index.js.map +1 -1
  144. package/dist/clients/adapters/github.d.ts +17 -0
  145. package/dist/clients/adapters/github.d.ts.map +1 -0
  146. package/dist/clients/adapters/github.js +150 -0
  147. package/dist/clients/adapters/github.js.map +1 -0
  148. package/dist/clients/adapters/gitlab.d.ts +17 -0
  149. package/dist/clients/adapters/gitlab.d.ts.map +1 -0
  150. package/dist/clients/adapters/gitlab.js +147 -0
  151. package/dist/clients/adapters/gitlab.js.map +1 -0
  152. package/dist/clients/registry.d.ts +20 -0
  153. package/dist/clients/registry.d.ts.map +1 -0
  154. package/dist/clients/registry.js +27 -0
  155. package/dist/clients/registry.js.map +1 -0
  156. package/dist/env/manager.js +9 -46
  157. package/dist/env/manager.js.map +1 -1
  158. package/dist/index.d.ts +6 -13
  159. package/dist/index.d.ts.map +1 -1
  160. package/dist/index.js +6 -43
  161. package/dist/index.js.map +1 -1
  162. package/dist/tools/detector.d.ts +33 -0
  163. package/dist/tools/detector.d.ts.map +1 -0
  164. package/dist/tools/detector.js +145 -0
  165. package/dist/tools/detector.js.map +1 -0
  166. package/dist/tools/index.d.ts +8 -0
  167. package/dist/tools/index.d.ts.map +1 -0
  168. package/dist/tools/index.js +8 -0
  169. package/dist/tools/index.js.map +1 -0
  170. package/dist/tools/manager.d.ts +21 -0
  171. package/dist/tools/manager.d.ts.map +1 -0
  172. package/dist/tools/manager.js +104 -0
  173. package/dist/tools/manager.js.map +1 -0
  174. package/dist/tools/registry.d.ts +8 -0
  175. package/dist/tools/registry.d.ts.map +1 -0
  176. package/dist/tools/registry.js +36 -0
  177. package/dist/tools/registry.js.map +1 -0
  178. package/dist/tools/types.d.ts +41 -0
  179. package/dist/tools/types.d.ts.map +1 -0
  180. package/dist/tools/types.js +5 -0
  181. package/dist/tools/types.js.map +1 -0
  182. package/dist/types/sso.d.ts +42 -0
  183. package/dist/types/sso.d.ts.map +1 -0
  184. package/dist/types/sso.js +2 -0
  185. package/dist/types/sso.js.map +1 -0
  186. package/dist/utils/agent-compatibility.d.ts +32 -0
  187. package/dist/utils/agent-compatibility.d.ts.map +1 -0
  188. package/dist/utils/agent-compatibility.js +140 -0
  189. package/dist/utils/agent-compatibility.js.map +1 -0
  190. package/dist/utils/async-tips.d.ts.map +1 -1
  191. package/dist/utils/async-tips.js +16 -55
  192. package/dist/utils/async-tips.js.map +1 -1
  193. package/dist/utils/clipboard.d.ts +16 -0
  194. package/dist/utils/clipboard.d.ts.map +1 -0
  195. package/dist/utils/clipboard.js +179 -0
  196. package/dist/utils/clipboard.js.map +1 -0
  197. package/dist/utils/codemie-integration-validator.d.ts +17 -0
  198. package/dist/utils/codemie-integration-validator.d.ts.map +1 -0
  199. package/dist/utils/codemie-integration-validator.js +105 -0
  200. package/dist/utils/codemie-integration-validator.js.map +1 -0
  201. package/dist/utils/codemie-model-fetcher.d.ts +11 -0
  202. package/dist/utils/codemie-model-fetcher.d.ts.map +1 -0
  203. package/dist/utils/codemie-model-fetcher.js +242 -0
  204. package/dist/utils/codemie-model-fetcher.js.map +1 -0
  205. package/dist/utils/config-loader.d.ts +118 -0
  206. package/dist/utils/config-loader.d.ts.map +1 -0
  207. package/dist/utils/config-loader.js +397 -0
  208. package/dist/utils/config-loader.js.map +1 -0
  209. package/dist/utils/credential-store.d.ts +16 -0
  210. package/dist/utils/credential-store.d.ts.map +1 -0
  211. package/dist/utils/credential-store.js +109 -0
  212. package/dist/utils/credential-store.js.map +1 -0
  213. package/dist/utils/dirname.d.ts +7 -0
  214. package/dist/utils/dirname.d.ts.map +1 -0
  215. package/dist/utils/dirname.js +11 -0
  216. package/dist/utils/dirname.js.map +1 -0
  217. package/dist/utils/errors.js +7 -17
  218. package/dist/utils/errors.js.map +1 -1
  219. package/dist/utils/exec.js +3 -6
  220. package/dist/utils/exec.js.map +1 -1
  221. package/dist/utils/first-time.d.ts +34 -0
  222. package/dist/utils/first-time.d.ts.map +1 -0
  223. package/dist/utils/first-time.js +226 -0
  224. package/dist/utils/first-time.js.map +1 -0
  225. package/dist/utils/health-checker.d.ts +20 -0
  226. package/dist/utils/health-checker.d.ts.map +1 -0
  227. package/dist/utils/health-checker.js +172 -0
  228. package/dist/utils/health-checker.js.map +1 -0
  229. package/dist/utils/logger.js +12 -18
  230. package/dist/utils/logger.js.map +1 -1
  231. package/dist/utils/model-fetcher.d.ts +21 -0
  232. package/dist/utils/model-fetcher.d.ts.map +1 -0
  233. package/dist/utils/model-fetcher.js +150 -0
  234. package/dist/utils/model-fetcher.js.map +1 -0
  235. package/dist/utils/sso-auth.d.ts +15 -0
  236. package/dist/utils/sso-auth.d.ts.map +1 -0
  237. package/dist/utils/sso-auth.js +207 -0
  238. package/dist/utils/sso-auth.js.map +1 -0
  239. package/dist/utils/sso-gateway.d.ts +47 -0
  240. package/dist/utils/sso-gateway.d.ts.map +1 -0
  241. package/dist/utils/sso-gateway.js +298 -0
  242. package/dist/utils/sso-gateway.js.map +1 -0
  243. package/dist/utils/tips.d.ts.map +1 -1
  244. package/dist/utils/tips.js +13 -52
  245. package/dist/utils/tips.js.map +1 -1
  246. package/dist/workflows/detector.d.ts +37 -0
  247. package/dist/workflows/detector.d.ts.map +1 -0
  248. package/dist/workflows/detector.js +160 -0
  249. package/dist/workflows/detector.js.map +1 -0
  250. package/dist/workflows/index.d.ts +8 -0
  251. package/dist/workflows/index.d.ts.map +1 -0
  252. package/dist/workflows/index.js +8 -0
  253. package/dist/workflows/index.js.map +1 -0
  254. package/dist/workflows/installer.d.ts +24 -0
  255. package/dist/workflows/installer.d.ts.map +1 -0
  256. package/dist/workflows/installer.js +105 -0
  257. package/dist/workflows/installer.js.map +1 -0
  258. package/dist/workflows/registry.d.ts +29 -0
  259. package/dist/workflows/registry.d.ts.map +1 -0
  260. package/dist/workflows/registry.js +54 -0
  261. package/dist/workflows/registry.js.map +1 -0
  262. package/dist/workflows/templates/github/metadata.d.ts +6 -0
  263. package/dist/workflows/templates/github/metadata.d.ts.map +1 -0
  264. package/dist/workflows/templates/github/metadata.js +111 -0
  265. package/dist/workflows/templates/github/metadata.js.map +1 -0
  266. package/dist/workflows/templates/gitlab/metadata.d.ts +6 -0
  267. package/dist/workflows/templates/gitlab/metadata.d.ts.map +1 -0
  268. package/dist/workflows/templates/gitlab/metadata.js +14 -0
  269. package/dist/workflows/templates/gitlab/metadata.js.map +1 -0
  270. package/dist/workflows/types.d.ts +71 -0
  271. package/dist/workflows/types.d.ts.map +1 -0
  272. package/dist/workflows/types.js +5 -0
  273. package/dist/workflows/types.js.map +1 -0
  274. package/package.json +32 -25
  275. package/src/workflows/templates/github/code-ci.yml +529 -0
  276. package/src/workflows/templates/github/inline-fix.yml +665 -0
  277. package/src/workflows/templates/github/pr-review.yml +677 -0
  278. package/.claude/agents/README.md +0 -298
  279. package/.claude/agents/release-manager.md +0 -857
  280. package/.codemie/guides/git-workflow.md +0 -493
  281. package/CLAUDE.md +0 -855
  282. package/dist/agents/adapters/aider.d.ts +0 -12
  283. package/dist/agents/adapters/aider.d.ts.map +0 -1
  284. package/dist/agents/adapters/aider.js +0 -80
  285. package/dist/agents/adapters/aider.js.map +0 -1
  286. package/dist/cli/cli.d.ts +0 -4
  287. package/dist/cli/cli.d.ts.map +0 -1
  288. package/dist/cli/cli.js +0 -107
  289. package/dist/cli/cli.js.map +0 -1
  290. package/dist/cli/commands/mcp.d.ts +0 -3
  291. package/dist/cli/commands/mcp.d.ts.map +0 -1
  292. package/dist/cli/commands/mcp.js +0 -459
  293. package/dist/cli/commands/mcp.js.map +0 -1
  294. package/dist/code/agent-events.d.ts +0 -39
  295. package/dist/code/agent-events.d.ts.map +0 -1
  296. package/dist/code/agent-events.js +0 -4
  297. package/dist/code/agent-events.js.map +0 -1
  298. package/dist/code/agent.d.ts +0 -19
  299. package/dist/code/agent.d.ts.map +0 -1
  300. package/dist/code/agent.js +0 -144
  301. package/dist/code/agent.js.map +0 -1
  302. package/dist/code/config.d.ts +0 -13
  303. package/dist/code/config.d.ts.map +0 -1
  304. package/dist/code/config.js +0 -41
  305. package/dist/code/config.js.map +0 -1
  306. package/dist/code/index.d.ts +0 -19
  307. package/dist/code/index.d.ts.map +0 -1
  308. package/dist/code/index.js +0 -400
  309. package/dist/code/index.js.map +0 -1
  310. package/dist/code/prompts.d.ts +0 -2
  311. package/dist/code/prompts.d.ts.map +0 -1
  312. package/dist/code/prompts.js +0 -45
  313. package/dist/code/prompts.js.map +0 -1
  314. package/dist/code/tools/command.d.ts +0 -8
  315. package/dist/code/tools/command.d.ts.map +0 -1
  316. package/dist/code/tools/command.js +0 -83
  317. package/dist/code/tools/command.js.map +0 -1
  318. package/dist/code/tools/diff-utils.d.ts +0 -2
  319. package/dist/code/tools/diff-utils.d.ts.map +0 -1
  320. package/dist/code/tools/diff-utils.js +0 -45
  321. package/dist/code/tools/diff-utils.js.map +0 -1
  322. package/dist/code/tools/filesystem.d.ts +0 -11
  323. package/dist/code/tools/filesystem.d.ts.map +0 -1
  324. package/dist/code/tools/filesystem.js +0 -442
  325. package/dist/code/tools/filesystem.js.map +0 -1
  326. package/dist/code/tools/git.d.ts +0 -7
  327. package/dist/code/tools/git.d.ts.map +0 -1
  328. package/dist/code/tools/git.js +0 -111
  329. package/dist/code/tools/git.js.map +0 -1
  330. package/dist/code/tools/mcp.d.ts +0 -13
  331. package/dist/code/tools/mcp.d.ts.map +0 -1
  332. package/dist/code/tools/mcp.js +0 -230
  333. package/dist/code/tools/mcp.js.map +0 -1
  334. package/dist/data/tips.json +0 -118
  335. package/dist/ui/terminal-ui.d.ts +0 -73
  336. package/dist/ui/terminal-ui.d.ts.map +0 -1
  337. package/dist/ui/terminal-ui.js +0 -900
  338. package/dist/ui/terminal-ui.js.map +0 -1
  339. package/dist/utils/env-mapper.d.ts +0 -40
  340. package/dist/utils/env-mapper.d.ts.map +0 -1
  341. package/dist/utils/env-mapper.js +0 -122
  342. package/dist/utils/env-mapper.js.map +0 -1
  343. package/docs/USER_GUIDE.md +0 -573
  344. package/eslint.config.mjs +0 -43
  345. package/tests/agent-direct.test.mjs +0 -45
  346. package/tests/agent-output.test.mjs +0 -64
  347. package/tests/codemie-code.test.mjs +0 -42
  348. package/tests/context7-only.test.mjs +0 -42
  349. package/tests/conversation-flow.test.mjs +0 -63
  350. package/tests/interactive-simulation.test.mjs +0 -60
  351. package/tests/live-output.test.mjs +0 -53
  352. package/tests/mcp-context7.test.mjs +0 -105
  353. package/tests/mcp-e2e.test.mjs +0 -109
  354. package/tests/mcp-time-server.test.mjs +0 -58
  355. package/tests/streaming.test.mjs +0 -57
  356. package/tests/test-helpers.mjs +0 -94
  357. package/tests/text-wrapping.test.mjs +0 -33
  358. package/tests/tool-count.test.mjs +0 -81
  359. package/tests/ui-format.test.mjs +0 -39
  360. package/tests/ui-state.test.mjs +0 -72
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/code/index.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const SYSTEM_PROMPT = "You are CodeMie Code, an AI coding assistant powered by LiteLLM.\n\nYou have access to filesystem tools that allow you to:\n- Read and write files\n- Edit files with diff-based updates\n- Navigate directory structures\n- Search for files and content\n- Execute commands safely\n- Perform git operations\n\nYour role is to:\n1. Help users write, review, and debug code\n2. Suggest improvements and best practices\n3. Explain complex concepts clearly\n4. Execute tasks safely and securely\n5. Provide clear reasoning for your decisions\n\nSecurity Guidelines:\n- All filesystem operations are restricted to allowed directories\n- Dangerous commands are blocked automatically\n- Path validation prevents directory traversal attacks\n- Symlinks are validated to prevent escaping allowed directories\n\nBest Practices:\n- Always read files before editing them\n- Use edit_file with diff-based updates for precision\n- Provide clear explanations of changes\n- Test your suggestions when possible\n- Ask for clarification when requirements are ambiguous\n\nAvailable Tools:\n- Filesystem: read_file, write_file, edit_file, list_directory, project_tree, search_files, etc.\n- Command Execution: execute_command (with safety checks)\n- Git: git_status, git_diff, git_log, git_command\n- MCP: Additional tools from configured MCP servers (if enabled)\n\nRemember:\n- Be helpful, clear, and concise\n- Prioritize code quality and security\n- Explain your reasoning\n- Always validate assumptions";
2
- //# sourceMappingURL=prompts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/code/prompts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,i9CAwCI,CAAC"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SYSTEM_PROMPT = void 0;
4
- exports.SYSTEM_PROMPT = `You are CodeMie Code, an AI coding assistant powered by LiteLLM.
5
-
6
- You have access to filesystem tools that allow you to:
7
- - Read and write files
8
- - Edit files with diff-based updates
9
- - Navigate directory structures
10
- - Search for files and content
11
- - Execute commands safely
12
- - Perform git operations
13
-
14
- Your role is to:
15
- 1. Help users write, review, and debug code
16
- 2. Suggest improvements and best practices
17
- 3. Explain complex concepts clearly
18
- 4. Execute tasks safely and securely
19
- 5. Provide clear reasoning for your decisions
20
-
21
- Security Guidelines:
22
- - All filesystem operations are restricted to allowed directories
23
- - Dangerous commands are blocked automatically
24
- - Path validation prevents directory traversal attacks
25
- - Symlinks are validated to prevent escaping allowed directories
26
-
27
- Best Practices:
28
- - Always read files before editing them
29
- - Use edit_file with diff-based updates for precision
30
- - Provide clear explanations of changes
31
- - Test your suggestions when possible
32
- - Ask for clarification when requirements are ambiguous
33
-
34
- Available Tools:
35
- - Filesystem: read_file, write_file, edit_file, list_directory, project_tree, search_files, etc.
36
- - Command Execution: execute_command (with safety checks)
37
- - Git: git_status, git_diff, git_log, git_command
38
- - MCP: Additional tools from configured MCP servers (if enabled)
39
-
40
- Remember:
41
- - Be helpful, clear, and concise
42
- - Prioritize code quality and security
43
- - Explain your reasoning
44
- - Always validate assumptions`;
45
- //# sourceMappingURL=prompts.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/code/prompts.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAwCC,CAAC"}
@@ -1,8 +0,0 @@
1
- import { StructuredTool } from '@langchain/core/tools';
2
- import { FilesystemConfig } from './filesystem.js';
3
- export declare class CommandTools {
4
- private config;
5
- constructor(config: FilesystemConfig);
6
- getTools(): StructuredTool[];
7
- }
8
- //# sourceMappingURL=command.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/code/tools/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,qBAAa,YAAY;IACX,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,gBAAgB;IAE5C,QAAQ,IAAI,cAAc,EAAE;CAG7B"}
@@ -1,83 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CommandTools = void 0;
4
- const tools_1 = require("@langchain/core/tools");
5
- const zod_1 = require("zod");
6
- const exec_js_1 = require("../../utils/exec.js");
7
- const errors_js_1 = require("../../utils/errors.js");
8
- class CommandTools {
9
- config;
10
- constructor(config) {
11
- this.config = config;
12
- }
13
- getTools() {
14
- return [new ExecuteCommandTool(this.config)];
15
- }
16
- }
17
- exports.CommandTools = CommandTools;
18
- class ExecuteCommandTool extends tools_1.StructuredTool {
19
- config;
20
- name = 'execute_command';
21
- description = `Execute a shell command in a working directory.
22
-
23
- Returns:
24
- - Working directory
25
- - Command executed
26
- - Exit code
27
- - Standard output
28
- - Standard error (if failed)
29
-
30
- Security: Blocks dangerous patterns like rm -rf /, mkfs, sudo, etc.`;
31
- schema = zod_1.z.object({
32
- command: zod_1.z.string().describe('Command to execute'),
33
- working_directory: zod_1.z.string().nullable().optional().describe('Working directory (default: first allowed dir)')
34
- });
35
- // Dangerous command patterns from cli/coding
36
- dangerousPatterns = [
37
- { regex: /rm\s+-rf\s+\//, message: 'Dangerous: recursive delete on root' },
38
- { regex: /mkfs/, message: 'Dangerous: filesystem formatting' },
39
- { regex: /dd\s+if=/, message: 'Dangerous: disk operations' },
40
- { regex: /wget.*\|.*sh/, message: 'Dangerous: download and execute' },
41
- { regex: /curl.*\|.*sh/, message: 'Dangerous: download and execute' },
42
- { regex: /sudo/, message: 'Dangerous: privilege escalation' },
43
- { regex: /chmod\s+777/, message: 'Dangerous: unsafe permissions' },
44
- { regex: />\s*\/etc\//, message: 'Dangerous: writing to system config' },
45
- { regex: />\s*\/dev\//, message: 'Dangerous: writing to devices' },
46
- { regex: /:\(\)\{\s*:\|:&\s*\};:/, message: 'Dangerous: fork bomb' }
47
- ];
48
- constructor(config) {
49
- super();
50
- this.config = config;
51
- }
52
- async _call({ command, working_directory }) {
53
- // Security check
54
- for (const { regex, message } of this.dangerousPatterns) {
55
- if (regex.test(command)) {
56
- return `Error: ${message}`;
57
- }
58
- }
59
- // Determine working directory
60
- const workDir = working_directory || this.config.allowedDirectories[0];
61
- try {
62
- const result = await (0, exec_js_1.exec)('sh', ['-c', command], {
63
- cwd: workDir
64
- });
65
- const output = [
66
- `Working directory: ${workDir}`,
67
- `Command: ${command}`,
68
- `Exit code: ${result.code}`
69
- ];
70
- if (result.stdout) {
71
- output.push('\nStandard output:', result.stdout);
72
- }
73
- if (result.code !== 0 && result.stderr) {
74
- output.push('\nStandard error:', result.stderr);
75
- }
76
- return output.join('\n');
77
- }
78
- catch (error) {
79
- return `Error executing command: ${(0, errors_js_1.getErrorMessage)(error)}`;
80
- }
81
- }
82
- }
83
- //# sourceMappingURL=command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/code/tools/command.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function createUnifiedDiff(oldContent: string, newContent: string, filePath: string): string;
2
- //# sourceMappingURL=diff-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diff-utils.d.ts","sourceRoot":"","sources":["../../../src/code/tools/diff-utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAcR"}
@@ -1,45 +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
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.createUnifiedDiff = createUnifiedDiff;
37
- const diff = __importStar(require("diff"));
38
- function createUnifiedDiff(oldContent, newContent, filePath) {
39
- const patch = diff.createPatch(filePath, oldContent, newContent, 'original', 'modified');
40
- // Format with code fence
41
- const numBackticks = Math.max(3, (patch.match(/`+/g) || []).reduce((max, m) => Math.max(max, m.length), 0) + 1);
42
- const fence = '`'.repeat(numBackticks);
43
- return `${fence}diff\n${patch}${fence}\n\n`;
44
- }
45
- //# sourceMappingURL=diff-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diff-utils.js","sourceRoot":"","sources":["../../../src/code/tools/diff-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,8CAkBC;AApBD,2CAA6B;AAE7B,SAAgB,iBAAiB,CAC/B,UAAkB,EAClB,UAAkB,EAClB,QAAgB;IAEhB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAC5B,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,CACX,CAAC;IAEF,yBAAyB;IACzB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChH,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAEvC,OAAO,GAAG,KAAK,SAAS,KAAK,GAAG,KAAK,MAAM,CAAC;AAC9C,CAAC"}
@@ -1,11 +0,0 @@
1
- import { StructuredTool } from '@langchain/core/tools';
2
- export interface FilesystemConfig {
3
- allowedDirectories: string[];
4
- ignorePatterns?: string[];
5
- }
6
- export declare class FilesystemTools {
7
- private config;
8
- constructor(config: FilesystemConfig);
9
- getTools(): StructuredTool[];
10
- }
11
- //# sourceMappingURL=filesystem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../../src/code/tools/filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAOvD,MAAM,WAAW,gBAAgB;IAC/B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAQD,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,gBAAgB;IAM5C,QAAQ,IAAI,cAAc,EAAE;CAc7B"}