@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
@@ -0,0 +1,407 @@
1
+ /**
2
+ * System Tools Registry for CodeMie Native Agent
3
+ *
4
+ * Creates and manages system tools available to the LangGraph ReAct agent
5
+ */
6
+ import { StructuredTool } from '@langchain/core/tools';
7
+ import { z } from 'zod';
8
+ import { promises as fs } from 'fs';
9
+ import { exec } from 'child_process';
10
+ import { promisify } from 'util';
11
+ import path from 'path';
12
+ import { filterDirectoryEntries, createFilterConfig, DEFAULT_FILTER_CONFIG, generateFilterStats } from '../filters.js';
13
+ const execAsync = promisify(exec);
14
+ /**
15
+ * Basic file read tool - reads file contents
16
+ */
17
+ class ReadFileTool extends StructuredTool {
18
+ name = 'read_file';
19
+ description = 'Read the contents of a file from the filesystem';
20
+ schema = z.object({
21
+ filePath: z.string().describe('Path to the file to read'),
22
+ });
23
+ workingDirectory;
24
+ constructor(workingDirectory) {
25
+ super();
26
+ this.workingDirectory = workingDirectory;
27
+ }
28
+ async _call({ filePath }) {
29
+ try {
30
+ // Resolve path relative to working directory
31
+ const resolvedPath = path.resolve(this.workingDirectory, filePath);
32
+ // Basic security check - ensure we're not escaping working directory
33
+ if (!resolvedPath.startsWith(this.workingDirectory)) {
34
+ throw new Error('Access denied: Path is outside working directory');
35
+ }
36
+ // Emit progress: starting file read
37
+ emitToolProgress(this.name, {
38
+ percentage: 10,
39
+ operation: `Reading ${path.basename(filePath)}...`,
40
+ details: `Opening file: ${filePath}`
41
+ });
42
+ // Check file stats for progress estimation
43
+ const stats = await fs.stat(resolvedPath);
44
+ const fileSize = stats.size;
45
+ // Emit progress: file opened
46
+ emitToolProgress(this.name, {
47
+ percentage: 30,
48
+ operation: `Reading ${path.basename(filePath)}...`,
49
+ details: `File size: ${this.formatFileSize(fileSize)}`
50
+ });
51
+ // For large files, simulate progress by reading in chunks
52
+ if (fileSize > 50000) { // 50KB threshold for showing progress
53
+ let content = '';
54
+ const chunkSize = 8192; // 8KB chunks
55
+ const totalChunks = Math.ceil(fileSize / chunkSize);
56
+ const fileHandle = await fs.open(resolvedPath, 'r');
57
+ const buffer = Buffer.alloc(chunkSize);
58
+ try {
59
+ for (let i = 0; i < totalChunks; i++) {
60
+ const { bytesRead } = await fileHandle.read(buffer, 0, chunkSize, i * chunkSize);
61
+ content += buffer.subarray(0, bytesRead).toString('utf-8');
62
+ const progress = Math.min(30 + Math.round((i + 1) / totalChunks * 60), 90);
63
+ emitToolProgress(this.name, {
64
+ percentage: progress,
65
+ operation: `Reading ${path.basename(filePath)}...`,
66
+ details: `${Math.round((i + 1) / totalChunks * 100)}% complete`
67
+ });
68
+ // Small delay for large files to show progress
69
+ if (i % 10 === 0) {
70
+ await new Promise(resolve => setTimeout(resolve, 1));
71
+ }
72
+ }
73
+ }
74
+ finally {
75
+ await fileHandle.close();
76
+ }
77
+ // Final progress
78
+ emitToolProgress(this.name, {
79
+ percentage: 100,
80
+ operation: `Completed reading ${path.basename(filePath)}`,
81
+ details: `Read ${this.formatFileSize(fileSize)}`
82
+ });
83
+ return `File: ${filePath}\n\n${content}`;
84
+ }
85
+ else {
86
+ // For small files, read normally but still show progress
87
+ const content = await fs.readFile(resolvedPath, 'utf-8');
88
+ emitToolProgress(this.name, {
89
+ percentage: 100,
90
+ operation: `Completed reading ${path.basename(filePath)}`,
91
+ details: `Read ${this.formatFileSize(fileSize)}`
92
+ });
93
+ return `File: ${filePath}\n\n${content}`;
94
+ }
95
+ }
96
+ catch (error) {
97
+ return `Error reading file: ${error instanceof Error ? error.message : String(error)}`;
98
+ }
99
+ }
100
+ formatFileSize(bytes) {
101
+ if (bytes < 1024)
102
+ return `${bytes} B`;
103
+ if (bytes < 1024 * 1024)
104
+ return `${(bytes / 1024).toFixed(1)} KB`;
105
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
106
+ }
107
+ }
108
+ /**
109
+ * Basic file write tool - writes content to a file
110
+ */
111
+ class WriteFileTool extends StructuredTool {
112
+ name = 'write_file';
113
+ description = 'Write content to a file in the filesystem';
114
+ schema = z.object({
115
+ filePath: z.string().describe('Path to the file to write'),
116
+ content: z.string().describe('Content to write to the file'),
117
+ });
118
+ workingDirectory;
119
+ constructor(workingDirectory) {
120
+ super();
121
+ this.workingDirectory = workingDirectory;
122
+ }
123
+ async _call({ filePath, content }) {
124
+ try {
125
+ // Resolve path relative to working directory
126
+ const resolvedPath = path.resolve(this.workingDirectory, filePath);
127
+ // Basic security check - ensure we're not escaping working directory
128
+ if (!resolvedPath.startsWith(this.workingDirectory)) {
129
+ throw new Error('Access denied: Path is outside working directory');
130
+ }
131
+ // Ensure directory exists
132
+ const dir = path.dirname(resolvedPath);
133
+ await fs.mkdir(dir, { recursive: true });
134
+ await fs.writeFile(resolvedPath, content, 'utf-8');
135
+ return `Successfully wrote ${content.length} characters to ${filePath}`;
136
+ }
137
+ catch (error) {
138
+ return `Error writing file: ${error instanceof Error ? error.message : String(error)}`;
139
+ }
140
+ }
141
+ }
142
+ /**
143
+ * Basic command execution tool - runs shell commands
144
+ */
145
+ class ExecuteCommandTool extends StructuredTool {
146
+ name = 'execute_command';
147
+ description = 'Execute a shell command in the working directory';
148
+ schema = z.object({
149
+ command: z.string().describe('Shell command to execute'),
150
+ });
151
+ workingDirectory;
152
+ constructor(workingDirectory) {
153
+ super();
154
+ this.workingDirectory = workingDirectory;
155
+ }
156
+ async _call({ command }) {
157
+ try {
158
+ // Basic security checks
159
+ const dangerousCommands = ['rm -rf', 'sudo', 'chmod +x', 'curl', 'wget'];
160
+ if (dangerousCommands.some(cmd => command.toLowerCase().includes(cmd))) {
161
+ return `Error: Command rejected for security reasons: ${command}`;
162
+ }
163
+ // Emit progress: command starting
164
+ emitToolProgress(this.name, {
165
+ percentage: 10,
166
+ operation: `Executing command...`,
167
+ details: command.length > 50 ? `${command.substring(0, 47)}...` : command
168
+ });
169
+ // Start timer for progress estimation
170
+ const startTime = Date.now();
171
+ let progressInterval;
172
+ // For long-running commands, simulate progress
173
+ const estimatedTime = this.estimateCommandTime(command);
174
+ if (estimatedTime > 2000) { // Only show progress for commands estimated > 2s
175
+ progressInterval = setInterval(() => {
176
+ const elapsed = Date.now() - startTime;
177
+ const progress = Math.min(10 + Math.round((elapsed / estimatedTime) * 80), 90);
178
+ emitToolProgress(this.name, {
179
+ percentage: progress,
180
+ operation: `Executing command...`,
181
+ details: `Running for ${Math.round(elapsed / 1000)}s`,
182
+ estimatedTimeRemaining: Math.max(0, estimatedTime - elapsed)
183
+ });
184
+ }, 1000);
185
+ }
186
+ try {
187
+ const { stdout, stderr } = await execAsync(command, {
188
+ cwd: this.workingDirectory,
189
+ timeout: 30000, // 30 second timeout
190
+ maxBuffer: 1024 * 1024 // 1MB output limit
191
+ });
192
+ // Clear interval and emit completion
193
+ if (progressInterval) {
194
+ clearInterval(progressInterval);
195
+ }
196
+ const executionTime = Date.now() - startTime;
197
+ emitToolProgress(this.name, {
198
+ percentage: 100,
199
+ operation: `Command completed`,
200
+ details: `Finished in ${executionTime}ms`
201
+ });
202
+ let result = '';
203
+ if (stdout)
204
+ result += `STDOUT:\n${stdout}\n`;
205
+ if (stderr)
206
+ result += `STDERR:\n${stderr}\n`;
207
+ return result || 'Command executed successfully (no output)';
208
+ }
209
+ catch (error) {
210
+ if (progressInterval) {
211
+ clearInterval(progressInterval);
212
+ }
213
+ throw error;
214
+ }
215
+ }
216
+ catch (error) {
217
+ return `Error executing command: ${error instanceof Error ? error.message : String(error)}`;
218
+ }
219
+ }
220
+ estimateCommandTime(command) {
221
+ // Simple heuristics for command execution time estimation
222
+ const lowerCommand = command.toLowerCase();
223
+ if (lowerCommand.includes('npm install') || lowerCommand.includes('yarn install')) {
224
+ return 15000; // 15s for package installs
225
+ }
226
+ if (lowerCommand.includes('npm run build') || lowerCommand.includes('yarn build')) {
227
+ return 10000; // 10s for builds
228
+ }
229
+ if (lowerCommand.includes('git clone') || lowerCommand.includes('git pull')) {
230
+ return 8000; // 8s for git operations
231
+ }
232
+ if (lowerCommand.includes('find') || lowerCommand.includes('grep -r')) {
233
+ return 5000; // 5s for search operations
234
+ }
235
+ if (lowerCommand.includes('tar') || lowerCommand.includes('zip') || lowerCommand.includes('unzip')) {
236
+ return 6000; // 6s for compression operations
237
+ }
238
+ return 2000; // Default 2s
239
+ }
240
+ }
241
+ /**
242
+ * Directory listing tool - lists files and directories with intelligent filtering
243
+ */
244
+ class ListDirectoryTool extends StructuredTool {
245
+ name = 'list_directory';
246
+ description = 'List files and directories in a given path, automatically filtering out common ignore patterns (node_modules, .git, build artifacts, etc.)';
247
+ schema = z.object({
248
+ directoryPath: z.string().optional().describe('Directory path to list (defaults to working directory)'),
249
+ showAll: z.boolean().optional().describe('Show all files including normally filtered ones (default: false)'),
250
+ includeHidden: z.boolean().optional().describe('Include hidden files and directories (default: false)'),
251
+ });
252
+ workingDirectory;
253
+ filterConfig;
254
+ constructor(workingDirectory, filterConfig) {
255
+ super();
256
+ this.workingDirectory = workingDirectory;
257
+ this.filterConfig = filterConfig || DEFAULT_FILTER_CONFIG;
258
+ }
259
+ async _call({ directoryPath, showAll = false, includeHidden = false }) {
260
+ try {
261
+ const targetPath = directoryPath
262
+ ? path.resolve(this.workingDirectory, directoryPath)
263
+ : this.workingDirectory;
264
+ // Security check
265
+ if (!targetPath.startsWith(this.workingDirectory)) {
266
+ throw new Error('Access denied: Path is outside working directory');
267
+ }
268
+ const entries = await fs.readdir(targetPath, { withFileTypes: true });
269
+ // Convert to our format for filtering
270
+ let directoryEntries = entries.map(entry => ({
271
+ name: entry.name,
272
+ isDirectory: entry.isDirectory()
273
+ }));
274
+ // Filter hidden files if not requested
275
+ if (!includeHidden) {
276
+ directoryEntries = directoryEntries.filter(entry => !entry.name.startsWith('.'));
277
+ }
278
+ // Store original count for statistics
279
+ const originalEntries = [...directoryEntries];
280
+ // Apply filtering if not showAll
281
+ let filteredEntries = directoryEntries;
282
+ let filterStats;
283
+ if (!showAll) {
284
+ const filterConfig = createFilterConfig({
285
+ ...this.filterConfig,
286
+ enabled: true
287
+ });
288
+ filteredEntries = filterDirectoryEntries(directoryEntries, filterConfig, directoryPath || '');
289
+ filterStats = generateFilterStats(originalEntries, filteredEntries, filterConfig);
290
+ }
291
+ // Separate into files and directories
292
+ const files = [];
293
+ const directories = [];
294
+ for (const entry of filteredEntries) {
295
+ if (entry.isDirectory) {
296
+ directories.push(`${entry.name}/`);
297
+ }
298
+ else {
299
+ files.push(entry.name);
300
+ }
301
+ }
302
+ // Build result string
303
+ let result = `Directory: ${directoryPath || '.'}\n\n`;
304
+ if (directories.length > 0) {
305
+ result += 'Directories:\n';
306
+ result += directories.map(dir => ` ${dir}`).join('\n') + '\n\n';
307
+ }
308
+ if (files.length > 0) {
309
+ result += 'Files:\n';
310
+ result += files.map(file => ` ${file}`).join('\n');
311
+ }
312
+ if (directories.length === 0 && files.length === 0) {
313
+ result += 'Directory is empty';
314
+ }
315
+ // Add filtering summary if filtering was applied
316
+ if (!showAll && filterStats && filterStats.ignoredEntries > 0) {
317
+ result += `\n\n--- Filtered out ${filterStats.ignoredEntries} items ---`;
318
+ result += `\nShowing ${filterStats.filteredEntries} of ${filterStats.totalEntries} total items`;
319
+ result += `\nUse showAll: true to see all items`;
320
+ }
321
+ return result;
322
+ }
323
+ catch (error) {
324
+ return `Error listing directory: ${error instanceof Error ? error.message : String(error)}`;
325
+ }
326
+ }
327
+ }
328
+ /**
329
+ * Global tool event emitter - set during chatStream
330
+ */
331
+ let globalToolEventCallback = null;
332
+ /**
333
+ * Set the global tool event callback for the current execution
334
+ */
335
+ export function setGlobalToolEventCallback(callback) {
336
+ globalToolEventCallback = callback;
337
+ }
338
+ /**
339
+ * Emit a tool progress event using the global callback
340
+ */
341
+ export function emitToolProgress(toolName, progress) {
342
+ if (globalToolEventCallback) {
343
+ globalToolEventCallback({
344
+ type: 'tool_call_progress',
345
+ toolName,
346
+ progress
347
+ });
348
+ }
349
+ }
350
+ /**
351
+ * Create system tools available to the CodeMie agent
352
+ */
353
+ export async function createSystemTools(config) {
354
+ const tools = [];
355
+ try {
356
+ // Basic file system tools
357
+ tools.push(new ReadFileTool(config.workingDirectory));
358
+ tools.push(new WriteFileTool(config.workingDirectory));
359
+ tools.push(new ListDirectoryTool(config.workingDirectory, config.directoryFilters));
360
+ // Command execution tool
361
+ tools.push(new ExecuteCommandTool(config.workingDirectory));
362
+ // Planning and todo tools
363
+ try {
364
+ const { planningTools, initializeTodoStorage } = await import('./planning.js');
365
+ // Initialize todo storage for this working directory
366
+ initializeTodoStorage(config.workingDirectory, config.debug);
367
+ tools.push(...planningTools);
368
+ if (config.debug) {
369
+ console.log(`[DEBUG] Added ${planningTools.length} planning tools`);
370
+ console.log(`[DEBUG] Initialized todo storage for: ${config.workingDirectory}`);
371
+ }
372
+ }
373
+ catch (error) {
374
+ if (config.debug) {
375
+ console.warn('[DEBUG] Planning tools not available:', error);
376
+ }
377
+ }
378
+ if (config.debug) {
379
+ console.log(`[DEBUG] Created ${tools.length} total system tools`);
380
+ }
381
+ return tools;
382
+ }
383
+ catch (error) {
384
+ if (config.debug) {
385
+ console.error('[DEBUG] Error creating system tools:', error);
386
+ }
387
+ // Return empty array on error to allow agent to function
388
+ return [];
389
+ }
390
+ }
391
+ /**
392
+ * Get available tool names and descriptions
393
+ */
394
+ export function getToolSummary() {
395
+ return [
396
+ { name: 'read_file', description: 'Read the contents of a file from the filesystem' },
397
+ { name: 'write_file', description: 'Write content to a file in the filesystem' },
398
+ { name: 'list_directory', description: 'List files and directories in a given path, automatically filtering out common ignore patterns (node_modules, .git, build artifacts, etc.)' },
399
+ { name: 'execute_command', description: 'Execute a shell command in the working directory' },
400
+ { name: 'write_todos', description: 'Create or update a structured todo list for planning and progress tracking' },
401
+ { name: 'update_todo_status', description: 'Update the status of a specific todo by index' },
402
+ { name: 'append_todo', description: 'Add a new todo item to the existing list' },
403
+ { name: 'clear_todos', description: 'Clear all todos from the list' },
404
+ { name: 'show_todos', description: 'Display the current todo list with progress information' }
405
+ ];
406
+ }
407
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/agents/codemie-code/tools/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Planning Tools for CodeMie Agent
3
+ *
4
+ * Implementation of todo management tools with persistent file storage
5
+ */
6
+ import { StructuredTool } from '@langchain/core/tools';
7
+ import { z } from 'zod';
8
+ import type { Todo, TodoUpdateEvent } from '../types.js';
9
+ /**
10
+ * Initialize todo storage for the current working directory
11
+ */
12
+ export declare function initializeTodoStorage(workingDirectory: string, debug?: boolean): void;
13
+ /**
14
+ * Simple Write Todos Tool
15
+ */
16
+ declare class WriteSimpleTodosTool extends StructuredTool {
17
+ name: string;
18
+ description: string;
19
+ schema: z.ZodObject<{
20
+ todos: z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>, z.ZodArray<z.ZodObject<{
21
+ content: z.ZodString;
22
+ status: z.ZodOptional<z.ZodEnum<{
23
+ in_progress: "in_progress";
24
+ completed: "completed";
25
+ pending: "pending";
26
+ }>>;
27
+ }, z.core.$strip>>]>;
28
+ }, z.core.$strip>;
29
+ _call(input: {
30
+ todos: any;
31
+ }): Promise<string>;
32
+ }
33
+ /**
34
+ * Show Todos Tool with Storage Information
35
+ */
36
+ declare class ShowSimpleTodosTool extends StructuredTool {
37
+ name: string;
38
+ description: string;
39
+ schema: z.ZodObject<{}, z.core.$strip>;
40
+ _call(): Promise<string>;
41
+ }
42
+ export declare const planningTools: (WriteSimpleTodosTool | ShowSimpleTodosTool)[];
43
+ export declare const writeTodos: WriteSimpleTodosTool;
44
+ export declare const showTodos: ShowSimpleTodosTool;
45
+ export declare class TodoStateManager {
46
+ static addEventCallback(callback: (event: TodoUpdateEvent) => void): void;
47
+ static removeEventCallback(callback: (event: TodoUpdateEvent) => void): void;
48
+ static getCurrentTodos(): Todo[];
49
+ static clearTodos(): Promise<void>;
50
+ static getStorageInfo(): any;
51
+ }
52
+ export {};
53
+ //# sourceMappingURL=planning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning.d.ts","sourceRoot":"","sources":["../../../../src/agents/codemie-code/tools/planning.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAQzD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,IAAI,CAmCnF;AAED;;GAEG;AACH,cAAM,oBAAqB,SAAQ,cAAc;IAC/C,IAAI,SAAiB;IACrB,WAAW,SAAgF;IAE3F,MAAM;;;;;;;;;sBASH;IAEG,KAAK,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAwEpD;AAED;;GAEG;AACH,cAAM,mBAAoB,SAAQ,cAAc;IAC9C,IAAI,SAAgB;IACpB,WAAW,SAAiF;IAE5F,MAAM,iCAAgB;IAEhB,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;CA0C/B;AAGD,eAAO,MAAM,aAAa,gDAGzB,CAAC;AAGF,eAAO,MAAM,UAAU,sBAA6B,CAAC;AACrD,eAAO,MAAM,SAAS,qBAA4B,CAAC;AAGnD,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAIzE,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAO5E,MAAM,CAAC,eAAe,IAAI,IAAI,EAAE;WAInB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BxC,MAAM,CAAC,cAAc,IAAI,GAAG;CAG7B"}