@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,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exec = exec;
4
- const child_process_1 = require("child_process");
5
- async function exec(command, args = [], options = {}) {
1
+ import { spawn } from 'child_process';
2
+ export async function exec(command, args = [], options = {}) {
6
3
  return new Promise((resolve, reject) => {
7
- const child = (0, child_process_1.spawn)(command, args, {
4
+ const child = spawn(command, args, {
8
5
  cwd: options.cwd || process.cwd(),
9
6
  env: { ...process.env, ...options.env },
10
7
  shell: false
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":";;AAcA,oBAsDC;AApED,iDAAsC;AAc/B,KAAK,UAAU,IAAI,CACxB,OAAe,EACf,OAAiB,EAAE,EACnB,UAAuB,EAAE;IAEzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,IAAI,EAAE;YACjC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YACjC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;YACvC,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,SAAS,GAA0B,IAAI,CAAC;QAE5C,6DAA6D;QAC7D,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,EAAE,CAAC;YACV,OAAO,CAAC;gBACN,IAAI,EAAE,IAAI,IAAI,CAAC;gBACf,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;aACtB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,KAAK,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;YACpE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AActC,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,OAAe,EACf,OAAiB,EAAE,EACnB,UAAuB,EAAE;IAEzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACjC,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;YACjC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;YACvC,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,SAAS,GAA0B,IAAI,CAAC;QAE5C,6DAA6D;QAC7D,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,OAAO,EAAE,CAAC;YACV,OAAO,CAAC;gBACN,IAAI,EAAE,IAAI,IAAI,CAAC;gBACf,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;gBACrB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;aACtB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,KAAK,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;YACpE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * First-time user experience utilities
3
+ */
4
+ export declare class FirstTimeExperience {
5
+ /**
6
+ * Check if this is a first-time run (no configuration exists)
7
+ */
8
+ static isFirstTime(): Promise<boolean>;
9
+ /**
10
+ * Show first-time user welcome message with recommendations
11
+ */
12
+ static showWelcomeMessage(): Promise<void>;
13
+ /**
14
+ * Show recommendations and next steps
15
+ */
16
+ static showRecommendations(): void;
17
+ /**
18
+ * Show quick start guide for users who have configuration
19
+ */
20
+ static showQuickStart(): void;
21
+ /**
22
+ * Show a friendly reminder to complete setup
23
+ */
24
+ static showSetupReminder(): void;
25
+ /**
26
+ * Show post-setup success message
27
+ */
28
+ static showPostSetupMessage(): void;
29
+ /**
30
+ * Show manual setup guide with all required environment variables
31
+ */
32
+ static showManualSetup(provider?: 'litellm' | 'bedrock' | 'azure'): void;
33
+ }
34
+ //# sourceMappingURL=first-time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-time.d.ts","sourceRoot":"","sources":["../../src/utils/first-time.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,qBAAa,mBAAmB;IAC9B;;OAEG;WACU,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAa5C;;OAEG;WACU,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAahD;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,IAAI;IA0ClC;;OAEG;IACH,MAAM,CAAC,cAAc,IAAI,IAAI;IAiC7B;;OAEG;IACH,MAAM,CAAC,iBAAiB,IAAI,IAAI;IAKhC;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,IAAI;IAmBnC;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,GAAE,SAAS,GAAG,SAAS,GAAG,OAAmB,GAAG,IAAI;CAsHpF"}
@@ -0,0 +1,226 @@
1
+ import chalk from 'chalk';
2
+ import { ConfigLoader } from './config-loader.js';
3
+ /**
4
+ * First-time user experience utilities
5
+ */
6
+ export class FirstTimeExperience {
7
+ /**
8
+ * Check if this is a first-time run (no configuration exists)
9
+ */
10
+ static async isFirstTime() {
11
+ const hasGlobalConfig = await ConfigLoader.hasGlobalConfig();
12
+ // Also check if essential environment variables are set
13
+ const hasEnvVars = !!(process.env.CODEMIE_BASE_URL &&
14
+ process.env.CODEMIE_API_KEY &&
15
+ process.env.CODEMIE_MODEL);
16
+ return !hasGlobalConfig && !hasEnvVars;
17
+ }
18
+ /**
19
+ * Show first-time user welcome message with recommendations
20
+ */
21
+ static async showWelcomeMessage() {
22
+ console.log(chalk.bold.cyan('\n╔═══════════════════════════════════════════════════════╗'));
23
+ console.log(chalk.bold.cyan('║ ║'));
24
+ console.log(chalk.bold.cyan('║ Welcome to CodeMie Code! 🎉 ║'));
25
+ console.log(chalk.bold.cyan('║ ║'));
26
+ console.log(chalk.bold.cyan('╚═══════════════════════════════════════════════════════╝\n'));
27
+ console.log(chalk.dim("It looks like this is your first time using CodeMie Code."));
28
+ console.log(chalk.dim("Let's get you set up!\n"));
29
+ this.showRecommendations();
30
+ }
31
+ /**
32
+ * Show recommendations and next steps
33
+ */
34
+ static showRecommendations() {
35
+ console.log(chalk.bold('📋 Getting Started:\n'));
36
+ console.log(chalk.cyan('Step 1: Choose Your Setup Method\n'));
37
+ console.log(chalk.bold(' Option A: Interactive Setup Wizard (Recommended)'));
38
+ console.log(chalk.white(' $ ') + chalk.green('codemie setup'));
39
+ console.log(chalk.dim(' → Guided configuration for all providers'));
40
+ console.log(chalk.dim(' → Tests connection before saving'));
41
+ console.log(chalk.dim(' → Supports: AI/Run CodeMie, AWS Bedrock, Azure\n'));
42
+ console.log(chalk.bold(' Option B: Manual Configuration Guide'));
43
+ console.log(chalk.white(' $ ') + chalk.green('codemie env') + chalk.dim(' # Show all required env vars'));
44
+ console.log(chalk.dim(' → Complete environment variable list'));
45
+ console.log(chalk.dim(' → Copy-paste ready commands'));
46
+ console.log(chalk.dim(' → Providers: litellm (default), bedrock, azure\n'));
47
+ console.log(chalk.cyan('Step 2: Verify Configuration\n'));
48
+ console.log(chalk.white(' $ ') + chalk.green('codemie doctor'));
49
+ console.log(chalk.dim(' → Checks system health'));
50
+ console.log(chalk.dim(' → Tests AI provider connection'));
51
+ console.log(chalk.dim(' → Shows installed agents\n'));
52
+ console.log(chalk.cyan('Step 3: Install and Run Agents\n'));
53
+ console.log(chalk.white(' $ ') + chalk.green('codemie list') + chalk.dim(' # See all available agents'));
54
+ console.log(chalk.white(' $ ') + chalk.green('codemie install claude') + chalk.dim(' # Install Anthropic Claude Code'));
55
+ console.log(chalk.white(' $ ') + chalk.green('codemie install codex') + chalk.dim(' # Install OpenAI Codex'));
56
+ console.log(chalk.white(' $ ') + chalk.green('codemie-claude') + chalk.dim(' # Run Claude agent'));
57
+ console.log(chalk.white(' $ ') + chalk.green('codemie-codex') + chalk.dim(' # Run Codex agent\n'));
58
+ console.log(chalk.bold('VCS Tools & Workflows:'));
59
+ console.log(chalk.white(' $ ') + chalk.green('codemie tools') + chalk.dim(' # Manage VCS CLI tools (gh, glab)'));
60
+ console.log(chalk.white(' $ ') + chalk.green('codemie workflow') + chalk.dim(' # Manage CI/CD workflows\n'));
61
+ console.log(chalk.bold('📚 Additional Resources:\n'));
62
+ console.log(chalk.dim(' • Documentation: ') + chalk.blue('README.md'));
63
+ console.log(chalk.dim(' • Agent shortcuts: ') + chalk.green('codemie-claude, codemie-codex, codemie-code'));
64
+ console.log(chalk.dim(' • Configuration: ') + chalk.green('codemie config --help'));
65
+ console.log(chalk.dim(' • Workflows: ') + chalk.green('codemie workflow --help'));
66
+ console.log(chalk.dim(' • VCS Tools: ') + chalk.green('codemie tools --help\n'));
67
+ }
68
+ /**
69
+ * Show quick start guide for users who have configuration
70
+ */
71
+ static showQuickStart() {
72
+ console.log(chalk.bold.cyan('\n╔═══════════════════════════════════════╗'));
73
+ console.log(chalk.bold.cyan('║ CodeMie CLI Wrapper ║'));
74
+ console.log(chalk.bold.cyan('╚═══════════════════════════════════════╝\n'));
75
+ console.log(chalk.bold('Quick Start:\n'));
76
+ console.log(chalk.bold('Setup & Configuration:'));
77
+ console.log(chalk.cyan(' codemie setup') + chalk.dim(' # Interactive setup wizard'));
78
+ console.log(chalk.cyan(' codemie config') + chalk.dim(' # Manage configuration'));
79
+ console.log(chalk.cyan(' codemie env') + chalk.dim(' # Show environment variable guide\n'));
80
+ console.log(chalk.bold('Verify:'));
81
+ console.log(chalk.cyan(' codemie doctor') + chalk.dim(' # Check configuration\n'));
82
+ console.log(chalk.bold('Manage Agents:'));
83
+ console.log(chalk.cyan(' codemie list') + chalk.dim(' # List available agents'));
84
+ console.log(chalk.cyan(' codemie install claude') + chalk.dim(' # Install Claude Code'));
85
+ console.log(chalk.cyan(' codemie install codex') + chalk.dim(' # Install Codex'));
86
+ console.log(chalk.cyan(' codemie uninstall <agent>') + chalk.dim(' # Remove an agent\n'));
87
+ console.log(chalk.bold('Run Agents:'));
88
+ console.log(chalk.cyan(' codemie-claude') + chalk.dim(' # Run Claude agent'));
89
+ console.log(chalk.cyan(' codemie-codex') + chalk.dim(' # Run Codex agent'));
90
+ console.log(chalk.cyan(' codemie-code') + chalk.dim(' # Run built-in agent\n'));
91
+ console.log(chalk.bold('VCS Tools & Workflows:'));
92
+ console.log(chalk.cyan(' codemie tools') + chalk.dim(' # Manage VCS CLI tools (gh, glab)'));
93
+ console.log(chalk.cyan(' codemie workflow') + chalk.dim(' # Manage CI/CD workflows\n'));
94
+ console.log(chalk.dim('For detailed help, run: ') + chalk.green('codemie --help\n'));
95
+ }
96
+ /**
97
+ * Show a friendly reminder to complete setup
98
+ */
99
+ static showSetupReminder() {
100
+ console.log(chalk.yellow('\n⚠️ Configuration needed!'));
101
+ console.log(chalk.dim(' Run ') + chalk.green('codemie setup') + chalk.dim(' to configure your AI provider\n'));
102
+ }
103
+ /**
104
+ * Show post-setup success message
105
+ */
106
+ static showPostSetupMessage() {
107
+ console.log(chalk.bold.green('\n✅ You\'re all set!\n'));
108
+ console.log(chalk.bold('Next Steps:\n'));
109
+ console.log(chalk.cyan('1. Try the built-in agent:'));
110
+ console.log(chalk.white(' $ ') + chalk.green('codemie-code --task "explore current repository"'));
111
+ console.log(chalk.dim(' Or start interactive mode:'));
112
+ console.log(chalk.white(' $ ') + chalk.green('codemie-code') + chalk.dim(' # Interactive session\n'));
113
+ console.log(chalk.cyan('2. Verify your configuration:'));
114
+ console.log(chalk.white(' $ ') + chalk.green('codemie doctor') + chalk.dim(' # Check system health\n'));
115
+ console.log(chalk.cyan('3. Install additional agents:'));
116
+ console.log(chalk.white(' $ ') + chalk.green('codemie install claude') + chalk.dim(' # Install Anthropic Claude Code'));
117
+ console.log(chalk.white(' $ ') + chalk.green('codemie-claude') + chalk.dim(' # Run Claude agent'));
118
+ console.log(chalk.white(' $ ') + chalk.green('codemie install codex') + chalk.dim(' # Install OpenAI Codex'));
119
+ console.log(chalk.white(' $ ') + chalk.green('codemie-codex') + chalk.dim(' # Run Codex agent\n'));
120
+ }
121
+ /**
122
+ * Show manual setup guide with all required environment variables
123
+ */
124
+ static showManualSetup(provider = 'litellm') {
125
+ console.log(chalk.bold.cyan('\n╔═══════════════════════════════════════════════════════╗'));
126
+ console.log(chalk.bold.cyan('║ Manual Configuration Guide ║'));
127
+ console.log(chalk.bold.cyan('╚═══════════════════════════════════════════════════════╝\n'));
128
+ console.log(chalk.bold('Required Environment Variables:\n'));
129
+ switch (provider) {
130
+ case 'litellm':
131
+ console.log(chalk.white('CODEMIE_BASE_URL') + chalk.dim(' = ') + chalk.cyan('"https://litellm.example.com"'));
132
+ console.log(chalk.white('CODEMIE_API_KEY') + chalk.dim(' = ') + chalk.cyan('"your-litellm-api-key"'));
133
+ console.log(chalk.white('CODEMIE_MODEL') + chalk.dim(' = ') + chalk.cyan('"claude-4-5-sonnet"'));
134
+ console.log();
135
+ console.log(chalk.bold('Optional Environment Variables:\n'));
136
+ console.log(chalk.white('CODEMIE_PROVIDER') + chalk.dim(' = ') + chalk.cyan('"litellm"'));
137
+ console.log(chalk.dim(' Controls which environment variables are passed to agents'));
138
+ console.log(chalk.dim(' Options: litellm (default), azure, bedrock, openai\n'));
139
+ break;
140
+ case 'bedrock':
141
+ console.log(chalk.bold.white('Step 1: AWS Credentials (choose one method):\n'));
142
+ console.log(chalk.dim('Method A: AWS CLI (Recommended)'));
143
+ console.log(chalk.white(' $ ') + chalk.green('aws configure'));
144
+ console.log(chalk.dim(' Enter AWS Access Key ID: ') + chalk.cyan('AKIAIOSFODNN7EXAMPLE'));
145
+ console.log(chalk.dim(' Enter AWS Secret Access Key: ') + chalk.cyan('wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'));
146
+ console.log(chalk.dim(' Enter Default region: ') + chalk.cyan('us-west-2\n'));
147
+ console.log(chalk.dim('Method B: Environment Variables'));
148
+ console.log(chalk.white('AWS_ACCESS_KEY_ID') + chalk.dim(' = ') + chalk.cyan('"AKIAIOSFODNN7EXAMPLE"'));
149
+ console.log(chalk.white('AWS_SECRET_ACCESS_KEY') + chalk.dim(' = ') + chalk.cyan('"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"'));
150
+ console.log(chalk.white('AWS_REGION') + chalk.dim(' = ') + chalk.cyan('"us-west-2"\n'));
151
+ console.log(chalk.bold.white('Step 2: Bedrock Configuration:\n'));
152
+ console.log(chalk.white('CODEMIE_MODEL') + chalk.dim(' = ') + chalk.cyan('"us.anthropic.claude-sonnet-4-5-20250929-v1:0"'));
153
+ console.log(chalk.white('CLAUDE_CODE_USE_BEDROCK') + chalk.dim(' = ') + chalk.cyan('1'));
154
+ console.log(chalk.white('AWS_PROFILE') + chalk.dim(' = ') + chalk.cyan('"default"') + chalk.dim(' (optional if using CLI)\n'));
155
+ break;
156
+ case 'azure':
157
+ console.log(chalk.white('CODEMIE_BASE_URL') + chalk.dim(' = ') + chalk.cyan('"https://your-resource.openai.azure.com"'));
158
+ console.log(chalk.white('CODEMIE_API_KEY') + chalk.dim(' = ') + chalk.cyan('"your-azure-api-key"'));
159
+ console.log(chalk.white('CODEMIE_MODEL') + chalk.dim(' = ') + chalk.cyan('"gpt-4"') + chalk.dim(' or ') + chalk.cyan('"codex"'));
160
+ console.log();
161
+ console.log(chalk.bold('Optional Environment Variables:\n'));
162
+ console.log(chalk.white('CODEMIE_PROVIDER') + chalk.dim(' = ') + chalk.cyan('"azure"'));
163
+ console.log(chalk.dim(' Controls which environment variables are passed to agents'));
164
+ console.log(chalk.dim(' Options: litellm (default), azure, bedrock, openai\n'));
165
+ break;
166
+ }
167
+ console.log(chalk.bold('Setup Commands:\n'));
168
+ console.log(chalk.dim('# Export variables (current session only)'));
169
+ switch (provider) {
170
+ case 'litellm':
171
+ console.log(chalk.green('export CODEMIE_BASE_URL="https://litellm.example.com"'));
172
+ console.log(chalk.green('export CODEMIE_API_KEY="your-litellm-api-key"'));
173
+ console.log(chalk.green('export CODEMIE_MODEL="claude-4-5-sonnet"'));
174
+ break;
175
+ case 'bedrock':
176
+ console.log(chalk.green('export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"'));
177
+ console.log(chalk.green('export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"'));
178
+ console.log(chalk.green('export AWS_REGION="us-west-2"'));
179
+ console.log(chalk.green('export CODEMIE_MODEL="us.anthropic.claude-sonnet-4-5-20250929-v1:0"'));
180
+ console.log(chalk.green('export CLAUDE_CODE_USE_BEDROCK=1'));
181
+ break;
182
+ case 'azure':
183
+ console.log(chalk.green('export CODEMIE_BASE_URL="https://your-resource.openai.azure.com"'));
184
+ console.log(chalk.green('export CODEMIE_API_KEY="your-azure-api-key"'));
185
+ console.log(chalk.green('export CODEMIE_MODEL="gpt-4"'));
186
+ break;
187
+ }
188
+ console.log();
189
+ console.log(chalk.dim('# Add to shell profile for persistence (choose your shell)'));
190
+ console.log(chalk.green('# For Bash:'));
191
+ console.log(chalk.green('cat >> ~/.bashrc << EOF'));
192
+ switch (provider) {
193
+ case 'litellm':
194
+ console.log(chalk.green('export CODEMIE_BASE_URL="https://litellm.example.com"'));
195
+ console.log(chalk.green('export CODEMIE_API_KEY="your-litellm-api-key"'));
196
+ console.log(chalk.green('export CODEMIE_MODEL="claude-4-5-sonnet"'));
197
+ break;
198
+ case 'bedrock':
199
+ console.log(chalk.green('export AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE"'));
200
+ console.log(chalk.green('export AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"'));
201
+ console.log(chalk.green('export AWS_REGION="us-west-2"'));
202
+ console.log(chalk.green('export CODEMIE_MODEL="us.anthropic.claude-sonnet-4-5-20250929-v1:0"'));
203
+ console.log(chalk.green('export CLAUDE_CODE_USE_BEDROCK=1'));
204
+ break;
205
+ case 'azure':
206
+ console.log(chalk.green('export CODEMIE_BASE_URL="https://your-resource.openai.azure.com"'));
207
+ console.log(chalk.green('export CODEMIE_API_KEY="your-azure-api-key"'));
208
+ console.log(chalk.green('export CODEMIE_MODEL="gpt-4"'));
209
+ break;
210
+ }
211
+ console.log(chalk.green('EOF'));
212
+ console.log(chalk.green('source ~/.bashrc'));
213
+ console.log();
214
+ console.log(chalk.green('# For Zsh:'));
215
+ console.log(chalk.green('# Replace ~/.bashrc with ~/.zshrc in commands above\n'));
216
+ console.log(chalk.bold('Verification:\n'));
217
+ console.log(chalk.white(' $ ') + chalk.green('codemie doctor') + chalk.dim(' # Check configuration and test connection'));
218
+ console.log(chalk.white(' $ ') + chalk.green('codemie-code --task "explore current repository"'));
219
+ console.log(chalk.dim(' Or start interactive:'));
220
+ console.log(chalk.white(' $ ') + chalk.green('codemie-code') + chalk.dim(' # Run built-in agent'));
221
+ console.log(chalk.white(' $ ') + chalk.green('codemie install claude') + chalk.dim(' # Install Claude agent'));
222
+ console.log(chalk.white(' $ ') + chalk.green('codemie-claude') + chalk.dim(' # Run Claude assistant\n'));
223
+ console.log(chalk.dim('Need help? Run: ') + chalk.green('codemie --help\n'));
224
+ }
225
+ }
226
+ //# sourceMappingURL=first-time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-time.js","sourceRoot":"","sources":["../../src/utils/first-time.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Result of health check
3
+ */
4
+ export interface HealthCheckResult {
5
+ success: boolean;
6
+ message: string;
7
+ details?: any;
8
+ }
9
+ /**
10
+ * Check provider health endpoint
11
+ *
12
+ * For LiteLLM: https://docs.litellm.ai/docs/proxy/health
13
+ * Typically at /health endpoint
14
+ */
15
+ export declare function checkProviderHealth(baseUrl: string, apiKey: string): Promise<HealthCheckResult>;
16
+ /**
17
+ * Quick validation - just checks if URL is reachable
18
+ */
19
+ export declare function quickValidation(baseUrl: string, apiKey: string): Promise<boolean>;
20
+ //# sourceMappingURL=health-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-checker.d.ts","sourceRoot":"","sources":["../../src/utils/health-checker.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,iBAAiB,CAAC,CA6B5B;AAmID;;GAEG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAGlB"}
@@ -0,0 +1,172 @@
1
+ import https from 'https';
2
+ import http from 'http';
3
+ import { URL } from 'url';
4
+ /**
5
+ * Check provider health endpoint
6
+ *
7
+ * For LiteLLM: https://docs.litellm.ai/docs/proxy/health
8
+ * Typically at /health endpoint
9
+ */
10
+ export async function checkProviderHealth(baseUrl, apiKey) {
11
+ try {
12
+ // Try /health endpoint first (LiteLLM, common pattern)
13
+ let result = await tryHealthEndpoint(baseUrl, apiKey, '/health');
14
+ if (result.success) {
15
+ return result;
16
+ }
17
+ // Fallback: Try /v1/models endpoint (OpenAI-compatible)
18
+ result = await tryHealthEndpoint(baseUrl, apiKey, '/v1/models');
19
+ if (result.success) {
20
+ return {
21
+ success: true,
22
+ message: 'Provider is reachable (verified via /v1/models)',
23
+ details: result.details
24
+ };
25
+ }
26
+ return {
27
+ success: false,
28
+ message: 'Could not verify provider health',
29
+ details: result.details
30
+ };
31
+ }
32
+ catch (error) {
33
+ return {
34
+ success: false,
35
+ message: error instanceof Error ? error.message : String(error)
36
+ };
37
+ }
38
+ }
39
+ /**
40
+ * Try a specific health endpoint
41
+ */
42
+ async function tryHealthEndpoint(baseUrl, apiKey, path) {
43
+ try {
44
+ // Ensure baseUrl ends with / for proper path joining
45
+ const normalizedBase = baseUrl.endsWith('/') ? baseUrl : baseUrl + '/';
46
+ // Remove leading / from path to avoid URL replacement
47
+ const normalizedPath = path.startsWith('/') ? path.substring(1) : path;
48
+ const url = new URL(normalizedPath, normalizedBase);
49
+ const isHttps = url.protocol === 'https:';
50
+ const client = isHttps ? https : http;
51
+ return await new Promise((resolve) => {
52
+ const options = {
53
+ hostname: url.hostname,
54
+ port: url.port || (isHttps ? 443 : 80),
55
+ path: url.pathname + url.search,
56
+ method: 'GET',
57
+ headers: {
58
+ 'Authorization': `Bearer ${apiKey}`,
59
+ 'Content-Type': 'application/json'
60
+ },
61
+ timeout: 10000 // 10 second timeout
62
+ };
63
+ const req = client.request(options, (res) => {
64
+ let data = '';
65
+ res.on('data', (chunk) => {
66
+ data += chunk;
67
+ });
68
+ res.on('end', () => {
69
+ if (res.statusCode === 200) {
70
+ try {
71
+ const response = JSON.parse(data);
72
+ resolve({
73
+ success: true,
74
+ message: `Health check passed (${path})`,
75
+ details: response
76
+ });
77
+ }
78
+ catch {
79
+ // Non-JSON response but 200 OK
80
+ resolve({
81
+ success: true,
82
+ message: `Health check passed (${path})`,
83
+ details: { raw: data }
84
+ });
85
+ }
86
+ }
87
+ else if (res.statusCode === 401) {
88
+ resolve({
89
+ success: false,
90
+ message: 'Invalid API key (401 Unauthorized)',
91
+ details: { statusCode: res.statusCode, body: data }
92
+ });
93
+ }
94
+ else if (res.statusCode === 403) {
95
+ resolve({
96
+ success: false,
97
+ message: 'Access forbidden - check API key permissions (403)',
98
+ details: { statusCode: res.statusCode, body: data }
99
+ });
100
+ }
101
+ else if (res.statusCode === 404) {
102
+ resolve({
103
+ success: false,
104
+ message: `Endpoint not found (${path})`,
105
+ details: { statusCode: res.statusCode }
106
+ });
107
+ }
108
+ else {
109
+ resolve({
110
+ success: false,
111
+ message: `HTTP ${res.statusCode}: ${data}`,
112
+ details: { statusCode: res.statusCode, body: data }
113
+ });
114
+ }
115
+ });
116
+ });
117
+ req.on('error', (error) => {
118
+ if (error.message.includes('ENOTFOUND')) {
119
+ resolve({
120
+ success: false,
121
+ message: 'Host not found - check base URL',
122
+ details: error
123
+ });
124
+ }
125
+ else if (error.message.includes('ECONNREFUSED')) {
126
+ resolve({
127
+ success: false,
128
+ message: 'Connection refused - service may be down',
129
+ details: error
130
+ });
131
+ }
132
+ else if (error.message.includes('ETIMEDOUT')) {
133
+ resolve({
134
+ success: false,
135
+ message: 'Connection timeout - check network/firewall',
136
+ details: error
137
+ });
138
+ }
139
+ else {
140
+ resolve({
141
+ success: false,
142
+ message: `Connection error: ${error.message}`,
143
+ details: error
144
+ });
145
+ }
146
+ });
147
+ req.on('timeout', () => {
148
+ req.destroy();
149
+ resolve({
150
+ success: false,
151
+ message: 'Request timeout (10s)',
152
+ details: { timeout: true }
153
+ });
154
+ });
155
+ req.end();
156
+ });
157
+ }
158
+ catch (error) {
159
+ return {
160
+ success: false,
161
+ message: error instanceof Error ? error.message : String(error)
162
+ };
163
+ }
164
+ }
165
+ /**
166
+ * Quick validation - just checks if URL is reachable
167
+ */
168
+ export async function quickValidation(baseUrl, apiKey) {
169
+ const result = await checkProviderHealth(baseUrl, apiKey);
170
+ return result.success;
171
+ }
172
+ //# sourceMappingURL=health-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health-checker.js","sourceRoot":"","sources":["../../src/utils/health-checker.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,11 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.logger = exports.LogLevel = void 0;
7
- const chalk_1 = __importDefault(require("chalk"));
8
- var LogLevel;
1
+ import chalk from 'chalk';
2
+ export var LogLevel;
9
3
  (function (LogLevel) {
10
4
  LogLevel["DEBUG"] = "debug";
11
5
  LogLevel["INFO"] = "info";
12
6
  LogLevel["WARN"] = "warn";
13
7
  LogLevel["ERROR"] = "error";
14
- })(LogLevel || (exports.LogLevel = LogLevel = {}));
8
+ })(LogLevel || (LogLevel = {}));
15
9
  class Logger {
16
10
  debugEnabled;
17
11
  constructor() {
@@ -19,29 +13,29 @@ class Logger {
19
13
  }
20
14
  debug(message, ...args) {
21
15
  if (this.debugEnabled) {
22
- console.log(chalk_1.default.cyan(message), ...args);
16
+ console.log(chalk.cyan(message), ...args);
23
17
  }
24
18
  }
25
19
  info(message, ...args) {
26
- console.log(chalk_1.default.blueBright(message), ...args);
20
+ console.log(chalk.blueBright(message), ...args);
27
21
  }
28
22
  success(message, ...args) {
29
- console.log(chalk_1.default.green(`✓ ${message}`), ...args);
23
+ console.log(chalk.green(`✓ ${message}`), ...args);
30
24
  }
31
25
  warn(message, ...args) {
32
- console.warn(chalk_1.default.yellow(`⚠ ${message}`), ...args);
26
+ console.warn(chalk.yellow(`⚠ ${message}`), ...args);
33
27
  }
34
28
  error(message, error) {
35
- console.error(chalk_1.default.red(`✗ ${message}`));
29
+ console.error(chalk.red(`✗ ${message}`));
36
30
  if (error) {
37
31
  if (error instanceof Error) {
38
- console.error(chalk_1.default.red(error.message));
32
+ console.error(chalk.red(error.message));
39
33
  if (this.debugEnabled && error.stack) {
40
- console.error(chalk_1.default.gray(error.stack));
34
+ console.error(chalk.gray(error.stack));
41
35
  }
42
36
  }
43
37
  else {
44
- console.error(chalk_1.default.red(error));
38
+ console.error(chalk.red(error));
45
39
  }
46
40
  }
47
41
  }
@@ -49,5 +43,5 @@ class Logger {
49
43
  this.debugEnabled = enabled;
50
44
  }
51
45
  }
52
- exports.logger = new Logger();
46
+ export const logger = new Logger();
53
47
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AAED,MAAM,MAAM;IACF,YAAY,CAAU;IAE9B;QACE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,MAAM,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,GAAG,IAAe;QACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,KAAuB;QAC5C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBACxC,IAAI,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBACrC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,eAAe,CAAC,OAAgB;QAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;CACF;AAEY,QAAA,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AAED,MAAM,MAAM;IACF,YAAY,CAAU;IAE9B;QACE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,MAAM,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,GAAG,IAAe;QACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,KAAuB;QAC5C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBACxC,IAAI,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBACrC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,eAAe,CAAC,OAAgB;QAC9B,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { CodeMieConfigOptions } from './config-loader.js';
2
+ /**
3
+ * Fetch available models from provider API
4
+ */
5
+ export declare function fetchAvailableModels(config: CodeMieConfigOptions): Promise<string[]>;
6
+ /**
7
+ * Filter models based on agent compatibility rules
8
+ */
9
+ export declare function filterModelsByAgent(models: string[], agentName: string, blockedPatterns: RegExp[]): string[];
10
+ /**
11
+ * Categorize models into recommended and other
12
+ */
13
+ export declare function categorizeModels(models: string[]): {
14
+ recommended: string[];
15
+ other: string[];
16
+ };
17
+ /**
18
+ * Clear the model cache (useful for testing or forcing refresh)
19
+ */
20
+ export declare function clearModelCache(): void;
21
+ //# sourceMappingURL=model-fetcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-fetcher.d.ts","sourceRoot":"","sources":["../../src/utils/model-fetcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAyB1D;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkC1F;AA2ED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EAAE,EAChB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EAAE,GACxB,MAAM,EAAE,CAUV;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG;IAClD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAsBA;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAEtC"}