@elsikora/commitizen-plugin-commitlint-ai 1.2.0 → 2.0.0-dev.1

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 (536) hide show
  1. package/README.md +245 -59
  2. package/dist/cjs/application/constant/config-file-directory.constant.d.ts +5 -0
  3. package/dist/cjs/application/constant/config-file-directory.constant.d.ts.map +1 -0
  4. package/dist/cjs/application/constant/config-file-directory.constant.js +9 -0
  5. package/dist/cjs/application/constant/config-file-directory.constant.js.map +1 -0
  6. package/dist/cjs/application/constant/config-module-name.constant.d.ts +5 -0
  7. package/dist/cjs/application/constant/config-module-name.constant.d.ts.map +1 -0
  8. package/dist/cjs/application/constant/config-module-name.constant.js +9 -0
  9. package/dist/cjs/application/constant/config-module-name.constant.js.map +1 -0
  10. package/dist/cjs/application/constant/index.d.ts +3 -0
  11. package/dist/cjs/application/constant/index.d.ts.map +1 -0
  12. package/dist/cjs/application/index.d.ts +3 -0
  13. package/dist/cjs/application/index.d.ts.map +1 -0
  14. package/dist/cjs/application/interface/cli-interface-service-select-options.interface.d.ts +22 -0
  15. package/dist/cjs/application/interface/cli-interface-service-select-options.interface.d.ts.map +1 -0
  16. package/dist/cjs/application/interface/cli-interface-service.interface.d.ts +106 -0
  17. package/dist/cjs/application/interface/cli-interface-service.interface.d.ts.map +1 -0
  18. package/dist/cjs/application/interface/command-service.interface.d.ts +20 -0
  19. package/dist/cjs/application/interface/command-service.interface.d.ts.map +1 -0
  20. package/dist/cjs/application/interface/commit-repository.interface.d.ts +33 -0
  21. package/dist/cjs/application/interface/commit-repository.interface.d.ts.map +1 -0
  22. package/dist/cjs/application/interface/commit-validator.interface.d.ts +30 -0
  23. package/dist/cjs/application/interface/commit-validator.interface.d.ts.map +1 -0
  24. package/dist/cjs/application/interface/config-service.interface.d.ts +48 -0
  25. package/dist/cjs/application/interface/config-service.interface.d.ts.map +1 -0
  26. package/dist/cjs/application/interface/config.interface.d.ts +28 -0
  27. package/dist/cjs/application/interface/config.interface.d.ts.map +1 -0
  28. package/dist/cjs/application/interface/file-system-service.interface.d.ts +62 -0
  29. package/dist/cjs/application/interface/file-system-service.interface.d.ts.map +1 -0
  30. package/dist/cjs/application/interface/index.d.ts +10 -0
  31. package/dist/cjs/application/interface/index.d.ts.map +1 -0
  32. package/dist/cjs/application/interface/llm-service.interface.d.ts +44 -0
  33. package/dist/cjs/application/interface/llm-service.interface.d.ts.map +1 -0
  34. package/dist/cjs/application/use-case/configure-llm.use-case.d.ts +39 -0
  35. package/dist/cjs/application/use-case/configure-llm.use-case.d.ts.map +1 -0
  36. package/dist/cjs/application/use-case/configure-llm.use-case.js +367 -0
  37. package/dist/cjs/application/use-case/configure-llm.use-case.js.map +1 -0
  38. package/dist/cjs/application/use-case/generate-commit-message.use-case.d.ts +19 -0
  39. package/dist/cjs/application/use-case/generate-commit-message.use-case.d.ts.map +1 -0
  40. package/dist/cjs/application/use-case/generate-commit-message.use-case.js +49 -0
  41. package/dist/cjs/application/use-case/generate-commit-message.use-case.js.map +1 -0
  42. package/dist/cjs/application/use-case/index.d.ts +5 -0
  43. package/dist/cjs/application/use-case/index.d.ts.map +1 -0
  44. package/dist/cjs/application/use-case/manual-commit.use-case.d.ts +17 -0
  45. package/dist/cjs/application/use-case/manual-commit.use-case.d.ts.map +1 -0
  46. package/dist/cjs/application/use-case/manual-commit.use-case.js +79 -0
  47. package/dist/cjs/application/use-case/manual-commit.use-case.js.map +1 -0
  48. package/dist/cjs/application/use-case/validate-commit-message.use-case.d.ts +27 -0
  49. package/dist/cjs/application/use-case/validate-commit-message.use-case.d.ts.map +1 -0
  50. package/dist/cjs/application/use-case/validate-commit-message.use-case.js +75 -0
  51. package/dist/cjs/application/use-case/validate-commit-message.use-case.js.map +1 -0
  52. package/dist/cjs/domain/constant/index.d.ts +2 -0
  53. package/dist/cjs/domain/constant/index.d.ts.map +1 -0
  54. package/dist/cjs/domain/constant/numeric.constant.d.ts +26 -0
  55. package/dist/cjs/domain/constant/numeric.constant.d.ts.map +1 -0
  56. package/dist/cjs/domain/constant/numeric.constant.js +42 -0
  57. package/dist/cjs/domain/constant/numeric.constant.js.map +1 -0
  58. package/dist/cjs/domain/entity/commit-message.entity.d.ts +35 -0
  59. package/dist/cjs/domain/entity/commit-message.entity.d.ts.map +1 -0
  60. package/dist/cjs/domain/entity/commit-message.entity.js +56 -0
  61. package/dist/cjs/domain/entity/commit-message.entity.js.map +1 -0
  62. package/dist/cjs/domain/entity/index.d.ts +3 -0
  63. package/dist/cjs/domain/entity/index.d.ts.map +1 -0
  64. package/dist/cjs/domain/entity/llm-configuration.entity.d.ts +66 -0
  65. package/dist/cjs/domain/entity/llm-configuration.entity.d.ts.map +1 -0
  66. package/dist/cjs/domain/entity/llm-configuration.entity.js +96 -0
  67. package/dist/cjs/domain/entity/llm-configuration.entity.js.map +1 -0
  68. package/dist/cjs/domain/enum/anthropic-model.enum.d.ts +19 -0
  69. package/dist/cjs/domain/enum/anthropic-model.enum.d.ts.map +1 -0
  70. package/dist/cjs/domain/enum/anthropic-model.enum.js +26 -0
  71. package/dist/cjs/domain/enum/anthropic-model.enum.js.map +1 -0
  72. package/dist/cjs/domain/enum/aws-bedrock-model.enum.d.ts +34 -0
  73. package/dist/cjs/domain/enum/aws-bedrock-model.enum.d.ts.map +1 -0
  74. package/dist/cjs/domain/enum/aws-bedrock-model.enum.js +47 -0
  75. package/dist/cjs/domain/enum/aws-bedrock-model.enum.js.map +1 -0
  76. package/dist/cjs/domain/enum/azure-openai-model.enum.d.ts +18 -0
  77. package/dist/cjs/domain/enum/azure-openai-model.enum.d.ts.map +1 -0
  78. package/dist/cjs/domain/enum/azure-openai-model.enum.js +26 -0
  79. package/dist/cjs/domain/enum/azure-openai-model.enum.js.map +1 -0
  80. package/dist/cjs/domain/enum/commit-mode.enum.d.ts +8 -0
  81. package/dist/cjs/domain/enum/commit-mode.enum.d.ts.map +1 -0
  82. package/dist/cjs/domain/enum/commit-mode.enum.js +11 -0
  83. package/dist/cjs/domain/enum/commit-mode.enum.js.map +1 -0
  84. package/dist/cjs/domain/enum/google-model.enum.d.ts +17 -0
  85. package/dist/cjs/domain/enum/google-model.enum.d.ts.map +1 -0
  86. package/dist/cjs/domain/enum/google-model.enum.js +25 -0
  87. package/dist/cjs/domain/enum/google-model.enum.js.map +1 -0
  88. package/dist/cjs/domain/enum/index.d.ts +10 -0
  89. package/dist/cjs/domain/enum/index.d.ts.map +1 -0
  90. package/dist/cjs/domain/enum/llm-provider.enum.d.ts +12 -0
  91. package/dist/cjs/domain/enum/llm-provider.enum.d.ts.map +1 -0
  92. package/dist/cjs/domain/enum/llm-provider.enum.js +15 -0
  93. package/dist/cjs/domain/enum/llm-provider.enum.js.map +1 -0
  94. package/dist/cjs/domain/enum/log-level.enum.d.ts +10 -0
  95. package/dist/cjs/domain/enum/log-level.enum.d.ts.map +1 -0
  96. package/dist/cjs/domain/enum/log-level.enum.js +13 -0
  97. package/dist/cjs/domain/enum/log-level.enum.js.map +1 -0
  98. package/dist/cjs/domain/enum/ollama-model.enum.d.ts +25 -0
  99. package/dist/cjs/domain/enum/ollama-model.enum.d.ts.map +1 -0
  100. package/dist/cjs/domain/enum/ollama-model.enum.js +30 -0
  101. package/dist/cjs/domain/enum/ollama-model.enum.js.map +1 -0
  102. package/dist/cjs/domain/enum/openai-model.enum.d.ts +26 -0
  103. package/dist/cjs/domain/enum/openai-model.enum.d.ts.map +1 -0
  104. package/dist/cjs/domain/enum/openai-model.enum.js +35 -0
  105. package/dist/cjs/domain/enum/openai-model.enum.js.map +1 -0
  106. package/dist/cjs/domain/index.d.ts +4 -0
  107. package/dist/cjs/domain/index.d.ts.map +1 -0
  108. package/dist/cjs/domain/value-object/api-key.value-object.d.ts +27 -0
  109. package/dist/cjs/domain/value-object/api-key.value-object.d.ts.map +1 -0
  110. package/dist/cjs/domain/value-object/api-key.value-object.js +49 -0
  111. package/dist/cjs/domain/value-object/api-key.value-object.js.map +1 -0
  112. package/dist/cjs/domain/value-object/commit-body.value-object.d.ts +33 -0
  113. package/dist/cjs/domain/value-object/commit-body.value-object.d.ts.map +1 -0
  114. package/dist/cjs/domain/value-object/commit-body.value-object.js +59 -0
  115. package/dist/cjs/domain/value-object/commit-body.value-object.js.map +1 -0
  116. package/dist/cjs/domain/value-object/commit-header.value-object.d.ts +30 -0
  117. package/dist/cjs/domain/value-object/commit-header.value-object.d.ts.map +1 -0
  118. package/dist/cjs/domain/value-object/commit-header.value-object.js +57 -0
  119. package/dist/cjs/domain/value-object/commit-header.value-object.js.map +1 -0
  120. package/dist/cjs/domain/value-object/index.d.ts +4 -0
  121. package/dist/cjs/domain/value-object/index.d.ts.map +1 -0
  122. package/dist/cjs/index.d.ts +4 -13
  123. package/dist/cjs/index.d.ts.map +1 -1
  124. package/dist/cjs/index.js +73 -85
  125. package/dist/cjs/index.js.map +1 -1
  126. package/dist/cjs/infrastructure/commit-validator/commitlint-validator.service.d.ts +39 -0
  127. package/dist/cjs/infrastructure/commit-validator/commitlint-validator.service.d.ts.map +1 -0
  128. package/dist/cjs/infrastructure/commit-validator/commitlint-validator.service.js +207 -0
  129. package/dist/cjs/infrastructure/commit-validator/commitlint-validator.service.js.map +1 -0
  130. package/dist/cjs/infrastructure/commit-validator/index.d.ts +2 -0
  131. package/dist/cjs/infrastructure/commit-validator/index.d.ts.map +1 -0
  132. package/dist/cjs/infrastructure/di/container.d.ts +18 -0
  133. package/dist/cjs/infrastructure/di/container.d.ts.map +1 -0
  134. package/dist/cjs/infrastructure/di/container.js +76 -0
  135. package/dist/cjs/infrastructure/di/container.js.map +1 -0
  136. package/dist/cjs/infrastructure/di/index.d.ts +2 -0
  137. package/dist/cjs/infrastructure/di/index.d.ts.map +1 -0
  138. package/dist/cjs/infrastructure/git/git-commit.repository.d.ts +37 -0
  139. package/dist/cjs/infrastructure/git/git-commit.repository.d.ts.map +1 -0
  140. package/dist/cjs/infrastructure/git/git-commit.repository.js +78 -0
  141. package/dist/cjs/infrastructure/git/git-commit.repository.js.map +1 -0
  142. package/dist/cjs/infrastructure/git/index.d.ts +2 -0
  143. package/dist/cjs/infrastructure/git/index.d.ts.map +1 -0
  144. package/dist/cjs/infrastructure/index.d.ts +5 -0
  145. package/dist/cjs/infrastructure/index.d.ts.map +1 -0
  146. package/dist/cjs/infrastructure/llm/anthropic-llm.service.d.ts +40 -0
  147. package/dist/cjs/infrastructure/llm/anthropic-llm.service.d.ts.map +1 -0
  148. package/dist/cjs/infrastructure/llm/anthropic-llm.service.js +310 -0
  149. package/dist/cjs/infrastructure/llm/anthropic-llm.service.js.map +1 -0
  150. package/dist/cjs/infrastructure/llm/aws-bedrock-llm.service.d.ts +61 -0
  151. package/dist/cjs/infrastructure/llm/aws-bedrock-llm.service.d.ts.map +1 -0
  152. package/dist/cjs/infrastructure/llm/aws-bedrock-llm.service.js +505 -0
  153. package/dist/cjs/infrastructure/llm/aws-bedrock-llm.service.js.map +1 -0
  154. package/dist/cjs/infrastructure/llm/azure-openai-llm.service.d.ts +46 -0
  155. package/dist/cjs/infrastructure/llm/azure-openai-llm.service.d.ts.map +1 -0
  156. package/dist/cjs/infrastructure/llm/azure-openai-llm.service.js +338 -0
  157. package/dist/cjs/infrastructure/llm/azure-openai-llm.service.js.map +1 -0
  158. package/dist/cjs/infrastructure/llm/google-llm.service.d.ts +46 -0
  159. package/dist/cjs/infrastructure/llm/google-llm.service.d.ts.map +1 -0
  160. package/dist/cjs/infrastructure/llm/google-llm.service.js +322 -0
  161. package/dist/cjs/infrastructure/llm/google-llm.service.js.map +1 -0
  162. package/dist/cjs/infrastructure/llm/index.d.ts +7 -0
  163. package/dist/cjs/infrastructure/llm/index.d.ts.map +1 -0
  164. package/dist/cjs/infrastructure/llm/ollama-llm.service.d.ts +46 -0
  165. package/dist/cjs/infrastructure/llm/ollama-llm.service.d.ts.map +1 -0
  166. package/dist/cjs/infrastructure/llm/ollama-llm.service.js +369 -0
  167. package/dist/cjs/infrastructure/llm/ollama-llm.service.js.map +1 -0
  168. package/dist/cjs/infrastructure/llm/openai-llm.service.d.ts +46 -0
  169. package/dist/cjs/infrastructure/llm/openai-llm.service.d.ts.map +1 -0
  170. package/dist/cjs/infrastructure/llm/openai-llm.service.js +326 -0
  171. package/dist/cjs/infrastructure/llm/openai-llm.service.js.map +1 -0
  172. package/dist/cjs/infrastructure/service/cosmic-config.service.d.ts +65 -0
  173. package/dist/cjs/infrastructure/service/cosmic-config.service.d.ts.map +1 -0
  174. package/dist/cjs/infrastructure/service/cosmic-config.service.js +174 -0
  175. package/dist/cjs/infrastructure/service/cosmic-config.service.js.map +1 -0
  176. package/dist/cjs/infrastructure/service/index.d.ts +5 -0
  177. package/dist/cjs/infrastructure/service/index.d.ts.map +1 -0
  178. package/dist/cjs/infrastructure/service/node-command.service.d.ts +44 -0
  179. package/dist/cjs/infrastructure/service/node-command.service.d.ts.map +1 -0
  180. package/dist/cjs/infrastructure/service/node-command.service.js +152 -0
  181. package/dist/cjs/infrastructure/service/node-command.service.js.map +1 -0
  182. package/dist/cjs/infrastructure/service/node-file-system.service.d.ts +63 -0
  183. package/dist/cjs/infrastructure/service/node-file-system.service.d.ts.map +1 -0
  184. package/dist/cjs/infrastructure/service/node-file-system.service.js +102 -0
  185. package/dist/cjs/infrastructure/service/node-file-system.service.js.map +1 -0
  186. package/dist/cjs/infrastructure/service/prompts-cli-interface.service.d.ts +115 -0
  187. package/dist/cjs/infrastructure/service/prompts-cli-interface.service.d.ts.map +1 -0
  188. package/dist/cjs/infrastructure/service/prompts-cli-interface.service.js +315 -0
  189. package/dist/cjs/infrastructure/service/prompts-cli-interface.service.js.map +1 -0
  190. package/dist/cjs/presentation/commitizen.adapter.d.ts +24 -0
  191. package/dist/cjs/presentation/commitizen.adapter.d.ts.map +1 -0
  192. package/dist/cjs/presentation/commitizen.adapter.js +292 -0
  193. package/dist/cjs/presentation/commitizen.adapter.js.map +1 -0
  194. package/dist/cjs/presentation/index.d.ts +2 -0
  195. package/dist/cjs/presentation/index.d.ts.map +1 -0
  196. package/dist/esm/application/constant/config-file-directory.constant.d.ts +5 -0
  197. package/dist/esm/application/constant/config-file-directory.constant.d.ts.map +1 -0
  198. package/dist/esm/application/constant/config-file-directory.constant.js +7 -0
  199. package/dist/esm/application/constant/config-file-directory.constant.js.map +1 -0
  200. package/dist/esm/application/constant/config-module-name.constant.d.ts +5 -0
  201. package/dist/esm/application/constant/config-module-name.constant.d.ts.map +1 -0
  202. package/dist/esm/application/constant/config-module-name.constant.js +7 -0
  203. package/dist/esm/application/constant/config-module-name.constant.js.map +1 -0
  204. package/dist/esm/application/constant/index.d.ts +3 -0
  205. package/dist/esm/application/constant/index.d.ts.map +1 -0
  206. package/dist/esm/application/index.d.ts +3 -0
  207. package/dist/esm/application/index.d.ts.map +1 -0
  208. package/dist/esm/application/interface/cli-interface-service-select-options.interface.d.ts +22 -0
  209. package/dist/esm/application/interface/cli-interface-service-select-options.interface.d.ts.map +1 -0
  210. package/dist/esm/application/interface/cli-interface-service.interface.d.ts +106 -0
  211. package/dist/esm/application/interface/cli-interface-service.interface.d.ts.map +1 -0
  212. package/dist/esm/application/interface/command-service.interface.d.ts +20 -0
  213. package/dist/esm/application/interface/command-service.interface.d.ts.map +1 -0
  214. package/dist/esm/application/interface/commit-repository.interface.d.ts +33 -0
  215. package/dist/esm/application/interface/commit-repository.interface.d.ts.map +1 -0
  216. package/dist/esm/application/interface/commit-validator.interface.d.ts +30 -0
  217. package/dist/esm/application/interface/commit-validator.interface.d.ts.map +1 -0
  218. package/dist/esm/application/interface/config-service.interface.d.ts +48 -0
  219. package/dist/esm/application/interface/config-service.interface.d.ts.map +1 -0
  220. package/dist/esm/application/interface/config.interface.d.ts +28 -0
  221. package/dist/esm/application/interface/config.interface.d.ts.map +1 -0
  222. package/dist/esm/application/interface/file-system-service.interface.d.ts +62 -0
  223. package/dist/esm/application/interface/file-system-service.interface.d.ts.map +1 -0
  224. package/dist/esm/application/interface/index.d.ts +10 -0
  225. package/dist/esm/application/interface/index.d.ts.map +1 -0
  226. package/dist/esm/application/interface/llm-service.interface.d.ts +44 -0
  227. package/dist/esm/application/interface/llm-service.interface.d.ts.map +1 -0
  228. package/dist/esm/application/use-case/configure-llm.use-case.d.ts +39 -0
  229. package/dist/esm/application/use-case/configure-llm.use-case.d.ts.map +1 -0
  230. package/dist/esm/application/use-case/configure-llm.use-case.js +365 -0
  231. package/dist/esm/application/use-case/configure-llm.use-case.js.map +1 -0
  232. package/dist/esm/application/use-case/generate-commit-message.use-case.d.ts +19 -0
  233. package/dist/esm/application/use-case/generate-commit-message.use-case.d.ts.map +1 -0
  234. package/dist/esm/application/use-case/generate-commit-message.use-case.js +47 -0
  235. package/dist/esm/application/use-case/generate-commit-message.use-case.js.map +1 -0
  236. package/dist/esm/application/use-case/index.d.ts +5 -0
  237. package/dist/esm/application/use-case/index.d.ts.map +1 -0
  238. package/dist/esm/application/use-case/manual-commit.use-case.d.ts +17 -0
  239. package/dist/esm/application/use-case/manual-commit.use-case.d.ts.map +1 -0
  240. package/dist/esm/application/use-case/manual-commit.use-case.js +77 -0
  241. package/dist/esm/application/use-case/manual-commit.use-case.js.map +1 -0
  242. package/dist/esm/application/use-case/validate-commit-message.use-case.d.ts +27 -0
  243. package/dist/esm/application/use-case/validate-commit-message.use-case.d.ts.map +1 -0
  244. package/dist/esm/application/use-case/validate-commit-message.use-case.js +73 -0
  245. package/dist/esm/application/use-case/validate-commit-message.use-case.js.map +1 -0
  246. package/dist/esm/domain/constant/index.d.ts +2 -0
  247. package/dist/esm/domain/constant/index.d.ts.map +1 -0
  248. package/dist/esm/domain/constant/numeric.constant.d.ts +26 -0
  249. package/dist/esm/domain/constant/numeric.constant.d.ts.map +1 -0
  250. package/dist/esm/domain/constant/numeric.constant.js +26 -0
  251. package/dist/esm/domain/constant/numeric.constant.js.map +1 -0
  252. package/dist/esm/domain/entity/commit-message.entity.d.ts +35 -0
  253. package/dist/esm/domain/entity/commit-message.entity.d.ts.map +1 -0
  254. package/dist/esm/domain/entity/commit-message.entity.js +54 -0
  255. package/dist/esm/domain/entity/commit-message.entity.js.map +1 -0
  256. package/dist/esm/domain/entity/index.d.ts +3 -0
  257. package/dist/esm/domain/entity/index.d.ts.map +1 -0
  258. package/dist/esm/domain/entity/llm-configuration.entity.d.ts +66 -0
  259. package/dist/esm/domain/entity/llm-configuration.entity.d.ts.map +1 -0
  260. package/dist/esm/domain/entity/llm-configuration.entity.js +94 -0
  261. package/dist/esm/domain/entity/llm-configuration.entity.js.map +1 -0
  262. package/dist/esm/domain/enum/anthropic-model.enum.d.ts +19 -0
  263. package/dist/esm/domain/enum/anthropic-model.enum.d.ts.map +1 -0
  264. package/dist/esm/domain/enum/anthropic-model.enum.js +26 -0
  265. package/dist/esm/domain/enum/anthropic-model.enum.js.map +1 -0
  266. package/dist/esm/domain/enum/aws-bedrock-model.enum.d.ts +34 -0
  267. package/dist/esm/domain/enum/aws-bedrock-model.enum.d.ts.map +1 -0
  268. package/dist/esm/domain/enum/aws-bedrock-model.enum.js +47 -0
  269. package/dist/esm/domain/enum/aws-bedrock-model.enum.js.map +1 -0
  270. package/dist/esm/domain/enum/azure-openai-model.enum.d.ts +18 -0
  271. package/dist/esm/domain/enum/azure-openai-model.enum.d.ts.map +1 -0
  272. package/dist/esm/domain/enum/azure-openai-model.enum.js +26 -0
  273. package/dist/esm/domain/enum/azure-openai-model.enum.js.map +1 -0
  274. package/dist/esm/domain/enum/commit-mode.enum.d.ts +8 -0
  275. package/dist/esm/domain/enum/commit-mode.enum.d.ts.map +1 -0
  276. package/dist/esm/domain/enum/commit-mode.enum.js +11 -0
  277. package/dist/esm/domain/enum/commit-mode.enum.js.map +1 -0
  278. package/dist/esm/domain/enum/google-model.enum.d.ts +17 -0
  279. package/dist/esm/domain/enum/google-model.enum.d.ts.map +1 -0
  280. package/dist/esm/domain/enum/google-model.enum.js +25 -0
  281. package/dist/esm/domain/enum/google-model.enum.js.map +1 -0
  282. package/dist/esm/domain/enum/index.d.ts +10 -0
  283. package/dist/esm/domain/enum/index.d.ts.map +1 -0
  284. package/dist/esm/domain/enum/llm-provider.enum.d.ts +12 -0
  285. package/dist/esm/domain/enum/llm-provider.enum.d.ts.map +1 -0
  286. package/dist/esm/domain/enum/llm-provider.enum.js +15 -0
  287. package/dist/esm/domain/enum/llm-provider.enum.js.map +1 -0
  288. package/dist/esm/domain/enum/log-level.enum.d.ts +10 -0
  289. package/dist/esm/domain/enum/log-level.enum.d.ts.map +1 -0
  290. package/dist/esm/domain/enum/log-level.enum.js +13 -0
  291. package/dist/esm/domain/enum/log-level.enum.js.map +1 -0
  292. package/dist/esm/domain/enum/ollama-model.enum.d.ts +25 -0
  293. package/dist/esm/domain/enum/ollama-model.enum.d.ts.map +1 -0
  294. package/dist/esm/domain/enum/ollama-model.enum.js +30 -0
  295. package/dist/esm/domain/enum/ollama-model.enum.js.map +1 -0
  296. package/dist/esm/domain/enum/openai-model.enum.d.ts +26 -0
  297. package/dist/esm/domain/enum/openai-model.enum.d.ts.map +1 -0
  298. package/dist/esm/domain/enum/openai-model.enum.js +35 -0
  299. package/dist/esm/domain/enum/openai-model.enum.js.map +1 -0
  300. package/dist/esm/domain/index.d.ts +4 -0
  301. package/dist/esm/domain/index.d.ts.map +1 -0
  302. package/dist/esm/domain/value-object/api-key.value-object.d.ts +27 -0
  303. package/dist/esm/domain/value-object/api-key.value-object.d.ts.map +1 -0
  304. package/dist/esm/domain/value-object/api-key.value-object.js +47 -0
  305. package/dist/esm/domain/value-object/api-key.value-object.js.map +1 -0
  306. package/dist/esm/domain/value-object/commit-body.value-object.d.ts +33 -0
  307. package/dist/esm/domain/value-object/commit-body.value-object.d.ts.map +1 -0
  308. package/dist/esm/domain/value-object/commit-body.value-object.js +57 -0
  309. package/dist/esm/domain/value-object/commit-body.value-object.js.map +1 -0
  310. package/dist/esm/domain/value-object/commit-header.value-object.d.ts +30 -0
  311. package/dist/esm/domain/value-object/commit-header.value-object.d.ts.map +1 -0
  312. package/dist/esm/domain/value-object/commit-header.value-object.js +55 -0
  313. package/dist/esm/domain/value-object/commit-header.value-object.js.map +1 -0
  314. package/dist/esm/domain/value-object/index.d.ts +4 -0
  315. package/dist/esm/domain/value-object/index.d.ts.map +1 -0
  316. package/dist/esm/index.d.ts +4 -13
  317. package/dist/esm/index.d.ts.map +1 -1
  318. package/dist/esm/index.js +29 -84
  319. package/dist/esm/index.js.map +1 -1
  320. package/dist/esm/infrastructure/commit-validator/commitlint-validator.service.d.ts +39 -0
  321. package/dist/esm/infrastructure/commit-validator/commitlint-validator.service.d.ts.map +1 -0
  322. package/dist/esm/infrastructure/commit-validator/commitlint-validator.service.js +205 -0
  323. package/dist/esm/infrastructure/commit-validator/commitlint-validator.service.js.map +1 -0
  324. package/dist/esm/infrastructure/commit-validator/index.d.ts +2 -0
  325. package/dist/esm/infrastructure/commit-validator/index.d.ts.map +1 -0
  326. package/dist/esm/infrastructure/di/container.d.ts +18 -0
  327. package/dist/esm/infrastructure/di/container.d.ts.map +1 -0
  328. package/dist/esm/infrastructure/di/container.js +63 -0
  329. package/dist/esm/infrastructure/di/container.js.map +1 -0
  330. package/dist/esm/infrastructure/di/index.d.ts +2 -0
  331. package/dist/esm/infrastructure/di/index.d.ts.map +1 -0
  332. package/dist/esm/infrastructure/git/git-commit.repository.d.ts +37 -0
  333. package/dist/esm/infrastructure/git/git-commit.repository.d.ts.map +1 -0
  334. package/dist/esm/infrastructure/git/git-commit.repository.js +76 -0
  335. package/dist/esm/infrastructure/git/git-commit.repository.js.map +1 -0
  336. package/dist/esm/infrastructure/git/index.d.ts +2 -0
  337. package/dist/esm/infrastructure/git/index.d.ts.map +1 -0
  338. package/dist/esm/infrastructure/index.d.ts +5 -0
  339. package/dist/esm/infrastructure/index.d.ts.map +1 -0
  340. package/dist/esm/infrastructure/llm/anthropic-llm.service.d.ts +40 -0
  341. package/dist/esm/infrastructure/llm/anthropic-llm.service.d.ts.map +1 -0
  342. package/dist/esm/infrastructure/llm/anthropic-llm.service.js +308 -0
  343. package/dist/esm/infrastructure/llm/anthropic-llm.service.js.map +1 -0
  344. package/dist/esm/infrastructure/llm/aws-bedrock-llm.service.d.ts +61 -0
  345. package/dist/esm/infrastructure/llm/aws-bedrock-llm.service.d.ts.map +1 -0
  346. package/dist/esm/infrastructure/llm/aws-bedrock-llm.service.js +503 -0
  347. package/dist/esm/infrastructure/llm/aws-bedrock-llm.service.js.map +1 -0
  348. package/dist/esm/infrastructure/llm/azure-openai-llm.service.d.ts +46 -0
  349. package/dist/esm/infrastructure/llm/azure-openai-llm.service.d.ts.map +1 -0
  350. package/dist/esm/infrastructure/llm/azure-openai-llm.service.js +336 -0
  351. package/dist/esm/infrastructure/llm/azure-openai-llm.service.js.map +1 -0
  352. package/dist/esm/infrastructure/llm/google-llm.service.d.ts +46 -0
  353. package/dist/esm/infrastructure/llm/google-llm.service.d.ts.map +1 -0
  354. package/dist/esm/infrastructure/llm/google-llm.service.js +320 -0
  355. package/dist/esm/infrastructure/llm/google-llm.service.js.map +1 -0
  356. package/dist/esm/infrastructure/llm/index.d.ts +7 -0
  357. package/dist/esm/infrastructure/llm/index.d.ts.map +1 -0
  358. package/dist/esm/infrastructure/llm/ollama-llm.service.d.ts +46 -0
  359. package/dist/esm/infrastructure/llm/ollama-llm.service.d.ts.map +1 -0
  360. package/dist/esm/infrastructure/llm/ollama-llm.service.js +367 -0
  361. package/dist/esm/infrastructure/llm/ollama-llm.service.js.map +1 -0
  362. package/dist/esm/infrastructure/llm/openai-llm.service.d.ts +46 -0
  363. package/dist/esm/infrastructure/llm/openai-llm.service.d.ts.map +1 -0
  364. package/dist/esm/infrastructure/llm/openai-llm.service.js +324 -0
  365. package/dist/esm/infrastructure/llm/openai-llm.service.js.map +1 -0
  366. package/dist/esm/infrastructure/service/cosmic-config.service.d.ts +65 -0
  367. package/dist/esm/infrastructure/service/cosmic-config.service.d.ts.map +1 -0
  368. package/dist/esm/infrastructure/service/cosmic-config.service.js +172 -0
  369. package/dist/esm/infrastructure/service/cosmic-config.service.js.map +1 -0
  370. package/dist/esm/infrastructure/service/index.d.ts +5 -0
  371. package/dist/esm/infrastructure/service/index.d.ts.map +1 -0
  372. package/dist/esm/infrastructure/service/node-command.service.d.ts +44 -0
  373. package/dist/esm/infrastructure/service/node-command.service.d.ts.map +1 -0
  374. package/dist/esm/infrastructure/service/node-command.service.js +150 -0
  375. package/dist/esm/infrastructure/service/node-command.service.js.map +1 -0
  376. package/dist/esm/infrastructure/service/node-file-system.service.d.ts +63 -0
  377. package/dist/esm/infrastructure/service/node-file-system.service.d.ts.map +1 -0
  378. package/dist/esm/infrastructure/service/node-file-system.service.js +100 -0
  379. package/dist/esm/infrastructure/service/node-file-system.service.js.map +1 -0
  380. package/dist/esm/infrastructure/service/prompts-cli-interface.service.d.ts +115 -0
  381. package/dist/esm/infrastructure/service/prompts-cli-interface.service.d.ts.map +1 -0
  382. package/dist/esm/infrastructure/service/prompts-cli-interface.service.js +313 -0
  383. package/dist/esm/infrastructure/service/prompts-cli-interface.service.js.map +1 -0
  384. package/dist/esm/presentation/commitizen.adapter.d.ts +24 -0
  385. package/dist/esm/presentation/commitizen.adapter.d.ts.map +1 -0
  386. package/dist/esm/presentation/commitizen.adapter.js +290 -0
  387. package/dist/esm/presentation/commitizen.adapter.js.map +1 -0
  388. package/dist/esm/presentation/index.d.ts +2 -0
  389. package/dist/esm/presentation/index.d.ts.map +1 -0
  390. package/dist/tsconfig.tsbuildinfo +1 -1
  391. package/index.cjs +1 -2
  392. package/package.json +33 -24
  393. package/dist/cjs/ManualProcess.d.ts +0 -6
  394. package/dist/cjs/ManualProcess.d.ts.map +0 -1
  395. package/dist/cjs/ManualProcess.js +0 -111
  396. package/dist/cjs/ManualProcess.js.map +0 -1
  397. package/dist/cjs/Process.d.ts +0 -6
  398. package/dist/cjs/Process.d.ts.map +0 -1
  399. package/dist/cjs/Process.js +0 -176
  400. package/dist/cjs/Process.js.map +0 -1
  401. package/dist/cjs/Question.d.ts +0 -46
  402. package/dist/cjs/Question.d.ts.map +0 -1
  403. package/dist/cjs/SectionBody.d.ts +0 -4
  404. package/dist/cjs/SectionBody.d.ts.map +0 -1
  405. package/dist/cjs/SectionFooter.d.ts +0 -13
  406. package/dist/cjs/SectionFooter.d.ts.map +0 -1
  407. package/dist/cjs/SectionHeader.d.ts +0 -15
  408. package/dist/cjs/SectionHeader.d.ts.map +0 -1
  409. package/dist/cjs/services/commitConfirmation.d.ts +0 -3
  410. package/dist/cjs/services/commitConfirmation.d.ts.map +0 -1
  411. package/dist/cjs/services/commitConfirmation.js +0 -122
  412. package/dist/cjs/services/commitConfirmation.js.map +0 -1
  413. package/dist/cjs/services/commitlintConfig.d.ts +0 -4
  414. package/dist/cjs/services/commitlintConfig.d.ts.map +0 -1
  415. package/dist/cjs/services/commitlintConfig.js +0 -198
  416. package/dist/cjs/services/commitlintConfig.js.map +0 -1
  417. package/dist/cjs/services/commitlintValidator.d.ts +0 -26
  418. package/dist/cjs/services/commitlintValidator.d.ts.map +0 -1
  419. package/dist/cjs/services/commitlintValidator.js +0 -146
  420. package/dist/cjs/services/commitlintValidator.js.map +0 -1
  421. package/dist/cjs/services/getRuleQuestionConfig.d.ts +0 -4
  422. package/dist/cjs/services/getRuleQuestionConfig.d.ts.map +0 -1
  423. package/dist/cjs/services/llm/anthropic.d.ts +0 -3
  424. package/dist/cjs/services/llm/anthropic.d.ts.map +0 -1
  425. package/dist/cjs/services/llm/anthropic.js +0 -118
  426. package/dist/cjs/services/llm/anthropic.js.map +0 -1
  427. package/dist/cjs/services/llm/config.d.ts +0 -5
  428. package/dist/cjs/services/llm/config.d.ts.map +0 -1
  429. package/dist/cjs/services/llm/config.js +0 -181
  430. package/dist/cjs/services/llm/config.js.map +0 -1
  431. package/dist/cjs/services/llm/index.d.ts +0 -6
  432. package/dist/cjs/services/llm/index.d.ts.map +0 -1
  433. package/dist/cjs/services/llm/index.js +0 -399
  434. package/dist/cjs/services/llm/index.js.map +0 -1
  435. package/dist/cjs/services/llm/models.d.ts +0 -34
  436. package/dist/cjs/services/llm/models.d.ts.map +0 -1
  437. package/dist/cjs/services/llm/models.js +0 -65
  438. package/dist/cjs/services/llm/models.js.map +0 -1
  439. package/dist/cjs/services/llm/openai.d.ts +0 -3
  440. package/dist/cjs/services/llm/openai.d.ts.map +0 -1
  441. package/dist/cjs/services/llm/openai.js +0 -111
  442. package/dist/cjs/services/llm/openai.js.map +0 -1
  443. package/dist/cjs/services/llm/types.d.ts +0 -71
  444. package/dist/cjs/services/llm/types.d.ts.map +0 -1
  445. package/dist/cjs/store/defaultPromptConfigs.d.ts +0 -33
  446. package/dist/cjs/store/defaultPromptConfigs.d.ts.map +0 -1
  447. package/dist/cjs/store/defaultPromptConfigs.js +0 -39
  448. package/dist/cjs/store/defaultPromptConfigs.js.map +0 -1
  449. package/dist/cjs/store/prompts.d.ts +0 -6
  450. package/dist/cjs/store/prompts.d.ts.map +0 -1
  451. package/dist/cjs/store/prompts.js +0 -40
  452. package/dist/cjs/store/prompts.js.map +0 -1
  453. package/dist/cjs/store/rules.d.ts +0 -7
  454. package/dist/cjs/store/rules.d.ts.map +0 -1
  455. package/dist/cjs/types.d.ts +0 -3
  456. package/dist/cjs/types.d.ts.map +0 -1
  457. package/dist/cjs/utils/case-function.d.ts +0 -9
  458. package/dist/cjs/utils/case-function.d.ts.map +0 -1
  459. package/dist/cjs/utils/full-stop-function.d.ts +0 -9
  460. package/dist/cjs/utils/full-stop-function.d.ts.map +0 -1
  461. package/dist/cjs/utils/leading-blank-function.d.ts +0 -8
  462. package/dist/cjs/utils/leading-blank-function.d.ts.map +0 -1
  463. package/dist/cjs/utils/rules.d.ts +0 -26
  464. package/dist/cjs/utils/rules.d.ts.map +0 -1
  465. package/dist/esm/ManualProcess.d.ts +0 -6
  466. package/dist/esm/ManualProcess.d.ts.map +0 -1
  467. package/dist/esm/ManualProcess.js +0 -107
  468. package/dist/esm/ManualProcess.js.map +0 -1
  469. package/dist/esm/Process.d.ts +0 -6
  470. package/dist/esm/Process.d.ts.map +0 -1
  471. package/dist/esm/Process.js +0 -172
  472. package/dist/esm/Process.js.map +0 -1
  473. package/dist/esm/Question.d.ts +0 -46
  474. package/dist/esm/Question.d.ts.map +0 -1
  475. package/dist/esm/SectionBody.d.ts +0 -4
  476. package/dist/esm/SectionBody.d.ts.map +0 -1
  477. package/dist/esm/SectionFooter.d.ts +0 -13
  478. package/dist/esm/SectionFooter.d.ts.map +0 -1
  479. package/dist/esm/SectionHeader.d.ts +0 -15
  480. package/dist/esm/SectionHeader.d.ts.map +0 -1
  481. package/dist/esm/services/commitConfirmation.d.ts +0 -3
  482. package/dist/esm/services/commitConfirmation.d.ts.map +0 -1
  483. package/dist/esm/services/commitConfirmation.js +0 -120
  484. package/dist/esm/services/commitConfirmation.js.map +0 -1
  485. package/dist/esm/services/commitlintConfig.d.ts +0 -4
  486. package/dist/esm/services/commitlintConfig.d.ts.map +0 -1
  487. package/dist/esm/services/commitlintConfig.js +0 -196
  488. package/dist/esm/services/commitlintConfig.js.map +0 -1
  489. package/dist/esm/services/commitlintValidator.d.ts +0 -26
  490. package/dist/esm/services/commitlintValidator.d.ts.map +0 -1
  491. package/dist/esm/services/commitlintValidator.js +0 -142
  492. package/dist/esm/services/commitlintValidator.js.map +0 -1
  493. package/dist/esm/services/getRuleQuestionConfig.d.ts +0 -4
  494. package/dist/esm/services/getRuleQuestionConfig.d.ts.map +0 -1
  495. package/dist/esm/services/llm/anthropic.d.ts +0 -3
  496. package/dist/esm/services/llm/anthropic.d.ts.map +0 -1
  497. package/dist/esm/services/llm/anthropic.js +0 -116
  498. package/dist/esm/services/llm/anthropic.js.map +0 -1
  499. package/dist/esm/services/llm/config.d.ts +0 -5
  500. package/dist/esm/services/llm/config.d.ts.map +0 -1
  501. package/dist/esm/services/llm/config.js +0 -178
  502. package/dist/esm/services/llm/config.js.map +0 -1
  503. package/dist/esm/services/llm/index.d.ts +0 -6
  504. package/dist/esm/services/llm/index.d.ts.map +0 -1
  505. package/dist/esm/services/llm/index.js +0 -394
  506. package/dist/esm/services/llm/index.js.map +0 -1
  507. package/dist/esm/services/llm/models.d.ts +0 -34
  508. package/dist/esm/services/llm/models.d.ts.map +0 -1
  509. package/dist/esm/services/llm/models.js +0 -60
  510. package/dist/esm/services/llm/models.js.map +0 -1
  511. package/dist/esm/services/llm/openai.d.ts +0 -3
  512. package/dist/esm/services/llm/openai.d.ts.map +0 -1
  513. package/dist/esm/services/llm/openai.js +0 -109
  514. package/dist/esm/services/llm/openai.js.map +0 -1
  515. package/dist/esm/services/llm/types.d.ts +0 -71
  516. package/dist/esm/services/llm/types.d.ts.map +0 -1
  517. package/dist/esm/store/defaultPromptConfigs.d.ts +0 -33
  518. package/dist/esm/store/defaultPromptConfigs.d.ts.map +0 -1
  519. package/dist/esm/store/defaultPromptConfigs.js +0 -35
  520. package/dist/esm/store/defaultPromptConfigs.js.map +0 -1
  521. package/dist/esm/store/prompts.d.ts +0 -6
  522. package/dist/esm/store/prompts.d.ts.map +0 -1
  523. package/dist/esm/store/prompts.js +0 -38
  524. package/dist/esm/store/prompts.js.map +0 -1
  525. package/dist/esm/store/rules.d.ts +0 -7
  526. package/dist/esm/store/rules.d.ts.map +0 -1
  527. package/dist/esm/types.d.ts +0 -3
  528. package/dist/esm/types.d.ts.map +0 -1
  529. package/dist/esm/utils/case-function.d.ts +0 -9
  530. package/dist/esm/utils/case-function.d.ts.map +0 -1
  531. package/dist/esm/utils/full-stop-function.d.ts +0 -9
  532. package/dist/esm/utils/full-stop-function.d.ts.map +0 -1
  533. package/dist/esm/utils/leading-blank-function.d.ts +0 -8
  534. package/dist/esm/utils/leading-blank-function.d.ts.map +0 -1
  535. package/dist/esm/utils/rules.d.ts +0 -26
  536. package/dist/esm/utils/rules.d.ts.map +0 -1
@@ -1,399 +0,0 @@
1
- 'use strict';
2
-
3
- var node_child_process = require('node:child_process');
4
- var node_util = require('node:util');
5
- var chalk = require('chalk');
6
- var anthropic = require('./anthropic.js');
7
- var config = require('./config.js');
8
- var models = require('./models.js');
9
- var openai = require('./openai.js');
10
-
11
- // @ts-ignore
12
- const execAsync = node_util.promisify(node_child_process.exec);
13
- async function generateCommitMessage(context) {
14
- const config$1 = config.getLLMConfig();
15
- if (!config$1) {
16
- throw new Error("LLM not configured. Please run selectLLMProvider first.");
17
- }
18
- // Check if we're in manual mode
19
- if (config$1.mode === "manual") {
20
- throw new Error("Manual mode enabled. Skipping AI generation.");
21
- }
22
- // Validate provider only, not model
23
- if (!isValidProvider(config$1.provider)) {
24
- throw new Error(`Invalid LLM provider: ${config$1.provider}. Please reconfigure with a valid provider.`);
25
- }
26
- // Get git diff for better context
27
- try {
28
- // Get staged files for scope inference
29
- const { stdout: stagedFiles } = await execAsync("git diff --name-only --cached");
30
- context.files = stagedFiles;
31
- // Get directory structure for better scope inference
32
- if (stagedFiles.trim()) {
33
- const directories = stagedFiles
34
- .split("\n")
35
- .filter(Boolean)
36
- .map((file) => {
37
- const parts = file.split("/");
38
- return parts.length > 1 ? parts[0] : "root";
39
- })
40
- .filter((v, index, a) => a.indexOf(v) === index) // Remove duplicates
41
- .join(", ");
42
- // eslint-disable-next-line @elsikora-typescript/restrict-plus-operands
43
- context.files += `\n\nModified directories: ${directories}`;
44
- }
45
- // Get the diff for content analysis
46
- const { stdout: diff } = await execAsync("git diff --cached");
47
- if (!context.diff)
48
- context.diff = diff;
49
- }
50
- catch {
51
- console.warn("Failed to get git diff information, continuing without it");
52
- }
53
- // Generate commit with selected provider
54
- if (config$1.provider === "openai") {
55
- return openai.generateCommitWithOpenAI(config$1.apiKey, config$1.model, context);
56
- }
57
- else if (config$1.provider === "anthropic") {
58
- return anthropic.generateCommitWithAnthropic(config$1.apiKey, config$1.model, context);
59
- }
60
- else {
61
- // This shouldn't happen due to the validation above, but just in case
62
- throw new Error(`Unsupported provider: ${config$1.provider}`);
63
- }
64
- }
65
- // eslint-disable-next-line @elsikora-typescript/explicit-module-boundary-types
66
- async function selectLLMProvider(inquirer) {
67
- // Check if we have a partial config
68
- const existingConfig = config.getLLMConfig();
69
- let provider;
70
- let model;
71
- let mode = "auto"; // Default mode
72
- const isProviderExist = Boolean(existingConfig?.provider);
73
- const isModelExist = Boolean(existingConfig?.model) && existingConfig?.model !== "undefined";
74
- if (existingConfig && isProviderExist && isModelExist) {
75
- // We have a saved config
76
- provider = existingConfig.provider;
77
- model = existingConfig.model;
78
- mode = existingConfig.mode ?? "auto";
79
- const modelDisplay = model ?? "[not set]";
80
- // eslint-disable-next-line @elsikora-sonar/no-nested-conditional
81
- const providerDisplay = provider ? (provider === "openai" ? "OpenAI" : "Anthropic") : "[not set]";
82
- const modeDisplay = mode || "auto";
83
- // First check if we want to use the existing config at all
84
- const { useExisting } = await inquirer.prompt([
85
- {
86
- // eslint-disable-next-line @elsikora-typescript/naming-convention
87
- default: true,
88
- message: `Use saved configuration? (Provider: ${providerDisplay}, Model: ${modelDisplay}, Mode: ${modeDisplay})`,
89
- name: "useExisting",
90
- type: "confirm",
91
- },
92
- ]);
93
- if (useExisting) {
94
- // We're using existing config, but we need to check if it's complete
95
- // We have a provider but it's invalid
96
- if (provider && !isValidProvider(provider)) {
97
- console.log(chalk.yellow(`Provider "${provider}" is not supported. Please select a valid provider below.`));
98
- // Fall through to ask for a new provider
99
- }
100
- else if (!provider) {
101
- console.log(chalk.yellow(`No AI provider specified in configuration. Please select a provider below.`));
102
- // Fall through to ask for a provider
103
- }
104
- else if (!model && mode === "auto") {
105
- // We have a valid provider but no model in auto mode
106
- console.log(chalk.yellow("No model saved in configuration. Please select a model."));
107
- if (provider === "openai") {
108
- const response = await inquirer.prompt([
109
- {
110
- choices: models.OPENAI_MODEL_CHOICES,
111
- message: "Select an OpenAI model:",
112
- name: "model",
113
- type: "list",
114
- },
115
- ]);
116
- if (response.model === "custom") {
117
- const customResponse = await inquirer.prompt([
118
- {
119
- message: "Enter the OpenAI model name:",
120
- name: "customModel",
121
- type: "input",
122
- // eslint-disable-next-line @elsikora-typescript/explicit-function-return-type
123
- validate: (input) => {
124
- if (!input)
125
- return "Model name is required";
126
- return true;
127
- },
128
- },
129
- ]);
130
- model = customResponse.customModel;
131
- }
132
- else {
133
- model = response.model;
134
- }
135
- }
136
- else if (provider === "anthropic") {
137
- const response = await inquirer.prompt([
138
- {
139
- choices: models.ANTHROPIC_MODEL_CHOICES,
140
- message: "Select an Anthropic model:",
141
- name: "model",
142
- type: "list",
143
- },
144
- ]);
145
- if (response.model === "custom") {
146
- const customResponse = await inquirer.prompt([
147
- {
148
- message: "Enter the Anthropic model name:",
149
- name: "customModel",
150
- type: "input",
151
- // eslint-disable-next-line @elsikora-typescript/explicit-function-return-type
152
- validate: (input) => {
153
- if (!input)
154
- return "Model name is required";
155
- return true;
156
- },
157
- },
158
- ]);
159
- model = customResponse.customModel;
160
- }
161
- else {
162
- model = response.model;
163
- }
164
- }
165
- // Update the existing config with the selected model
166
- existingConfig.model = model;
167
- // Save the updated config to file with the selected model
168
- config.setLLMConfig({
169
- apiKey: existingConfig.apiKey || "",
170
- mode: existingConfig.mode ?? "auto",
171
- model,
172
- provider: existingConfig.provider,
173
- });
174
- }
175
- // In manual mode, we don't need a model or provider, so skip forward
176
- if (mode === "manual") {
177
- // Even in manual mode, save the config to remember the mode choice
178
- // eslint-disable-next-line @elsikora/typescript/no-non-null-assertion
179
- const oldConfig = config.getLLMConfig();
180
- config.setLLMConfig({
181
- ...oldConfig,
182
- mode: "manual",
183
- });
184
- console.log(chalk.green(`✅ Manual commit mode configured successfully!`));
185
- return;
186
- }
187
- // Now check if we need an API key (only in auto mode)
188
- if (existingConfig.apiKey) {
189
- // We have a complete config with API key
190
- console.log(chalk.green(`✅ Using existing configuration.`));
191
- return;
192
- }
193
- else {
194
- // Double-check environment variables again
195
- const environmentVariableName = provider === "openai" ? "OPENAI_API_KEY" : "ANTHROPIC_API_KEY";
196
- let environmentApiKey;
197
- try {
198
- if (typeof process !== "undefined" && process?.env) {
199
- environmentApiKey = provider === "openai" ? process.env.OPENAI_API_KEY : process.env.ANTHROPIC_API_KEY;
200
- }
201
- }
202
- catch {
203
- // Ignore error
204
- }
205
- if (environmentApiKey) {
206
- // Found API key in environment variable
207
- console.log(chalk.green(`✅ Found ${provider === "openai" ? "OpenAI" : "Anthropic"} API key in environment variable ${environmentVariableName}`));
208
- existingConfig.apiKey = environmentApiKey;
209
- config.setLLMConfig(existingConfig);
210
- return;
211
- }
212
- console.log(chalk.yellow(`No ${provider === "openai" ? "OpenAI" : "Anthropic"} API key found in environment.`));
213
- console.log(chalk.blue(`Tip: Set the ${environmentVariableName} environment variable to avoid entering your API key each time.`));
214
- console.log(chalk.blue(`You can create a .env file in your project root with ${environmentVariableName}=your-key-here`));
215
- const { apiKey } = await inquirer.prompt([
216
- {
217
- message: `Enter your ${provider === "openai" ? "OpenAI" : "Anthropic"} API key:`,
218
- name: "apiKey",
219
- type: "password",
220
- // eslint-disable-next-line @elsikora-typescript/explicit-function-return-type,@elsikora-sonar/function-return-type
221
- validate: (input) => {
222
- if (!input)
223
- return "API key is required";
224
- if (provider === "openai" && !input.startsWith("sk-")) {
225
- return 'OpenAI API keys typically start with "sk-"';
226
- }
227
- return true;
228
- },
229
- },
230
- ]);
231
- // Update the config with the API key for this session only
232
- // @ts-ignore
233
- const config$1 = { apiKey, mode, model, provider };
234
- config.setLLMConfig(config$1);
235
- console.log(chalk.green(`✅ Configuration completed successfully!`));
236
- return;
237
- }
238
- }
239
- }
240
- // No config or user wants to change it, run the full setup
241
- // First ask for commit mode preference
242
- const modeResponse = await inquirer.prompt([
243
- {
244
- choices: [
245
- { name: "Manual (traditional commitizen)", value: "manual" },
246
- { name: "AI-powered (auto)", value: "auto" },
247
- ],
248
- default: "manual",
249
- message: "Select your preferred commit mode:",
250
- name: "mode",
251
- type: "list",
252
- },
253
- ]);
254
- mode = modeResponse.mode;
255
- // If the user selected manual mode, we don't need provider or model
256
- if (mode === "manual") {
257
- // Save minimal config with just the mode
258
- // Note: explicit provider/model values to make debugging easier
259
- // eslint-disable-next-line @elsikora/typescript/no-non-null-assertion
260
- const oldConfig = config.getLLMConfig();
261
- config.setLLMConfig({
262
- ...oldConfig,
263
- mode: "manual",
264
- });
265
- console.log(chalk.green(`✅ Manual commit mode configured successfully!`));
266
- return;
267
- }
268
- // Only proceed with provider/model selection if in auto mode
269
- const providerResponse = await inquirer.prompt([
270
- {
271
- choices: [
272
- { name: "OpenAI", value: "openai" },
273
- { name: "Anthropic", value: "anthropic" },
274
- ],
275
- message: "Select an LLM provider:",
276
- name: "provider",
277
- type: "list",
278
- },
279
- ]);
280
- provider = providerResponse.provider;
281
- // Check if API key is in environment variables
282
- let environmentApiKey = null;
283
- const environmentVariableName = provider === "openai" ? "OPENAI_API_KEY" : "ANTHROPIC_API_KEY";
284
- try {
285
- if (typeof process !== "undefined" && process?.env) {
286
- environmentApiKey = provider === "openai" ? (process.env.OPENAI_API_KEY ?? null) : (process.env.ANTHROPIC_API_KEY ?? null);
287
- }
288
- }
289
- catch (error) {
290
- console.warn("Error accessing environment variables:", error);
291
- }
292
- let apiKey;
293
- if (environmentApiKey) {
294
- console.log(chalk.green(`✅ Found ${provider === "openai" ? "OpenAI" : "Anthropic"} API key in environment variable ${environmentVariableName}`));
295
- apiKey = environmentApiKey;
296
- }
297
- else {
298
- console.log(chalk.yellow(`No ${provider === "openai" ? "OpenAI" : "Anthropic"} API key found in environment.`));
299
- console.log(chalk.blue(`Tip: Set the ${environmentVariableName} environment variable to avoid entering your API key each time.`));
300
- const response = await inquirer.prompt([
301
- {
302
- message: `Enter your ${provider === "openai" ? "OpenAI" : "Anthropic"} API key:`,
303
- name: "apiKey",
304
- type: "password",
305
- // eslint-disable-next-line @elsikora-typescript/explicit-function-return-type,@elsikora-sonar/function-return-type
306
- validate: (input) => {
307
- if (!input)
308
- return "API key is required";
309
- if (provider === "openai" && !input.startsWith("sk-")) {
310
- return 'OpenAI API keys typically start with "sk-"';
311
- }
312
- return true;
313
- },
314
- },
315
- ]);
316
- apiKey = response.apiKey;
317
- }
318
- // Now get models based on provider
319
- if (provider === "openai") {
320
- // Display model selection
321
- const response = await inquirer.prompt([
322
- {
323
- choices: models.OPENAI_MODEL_CHOICES,
324
- message: "Select an OpenAI model:",
325
- name: "model",
326
- type: "list",
327
- },
328
- ]);
329
- // If user selected custom, ask for model name
330
- if (response.model === "custom") {
331
- const customResponse = await inquirer.prompt([
332
- {
333
- message: "Enter the OpenAI model name:",
334
- name: "customModel",
335
- type: "input",
336
- // eslint-disable-next-line @elsikora-typescript/explicit-function-return-type
337
- validate: (input) => {
338
- if (!input)
339
- return "Model name is required";
340
- return true;
341
- },
342
- },
343
- ]);
344
- model = customResponse.customModel;
345
- }
346
- else {
347
- model = response.model;
348
- }
349
- }
350
- else if (provider === "anthropic") {
351
- // For Anthropic, use hardcoded list
352
- const response = await inquirer.prompt([
353
- {
354
- choices: models.ANTHROPIC_MODEL_CHOICES,
355
- message: "Select an Anthropic model:",
356
- name: "model",
357
- type: "list",
358
- },
359
- ]);
360
- // If user selected custom, ask for model name
361
- if (response.model === "custom") {
362
- const customResponse = await inquirer.prompt([
363
- {
364
- message: "Enter the Anthropic model name:",
365
- name: "customModel",
366
- type: "input",
367
- // eslint-disable-next-line @elsikora-typescript/explicit-function-return-type
368
- validate: (input) => {
369
- if (!input)
370
- return "Model name is required";
371
- return true;
372
- },
373
- },
374
- ]);
375
- model = customResponse.customModel;
376
- }
377
- else {
378
- model = response.model;
379
- }
380
- }
381
- else {
382
- throw new Error(`Invalid provider: ${provider}`);
383
- }
384
- // Save the complete config
385
- // @ts-ignore
386
- const config$1 = { apiKey, mode, model, provider };
387
- config.setLLMConfig(config$1);
388
- console.log(chalk.green(`✅ AI-powered commit mode configured successfully!`));
389
- }
390
- // We'll only validate provider, not model
391
- function isValidProvider(provider) {
392
- return provider === "openai" || provider === "anthropic";
393
- }
394
-
395
- exports.getLLMConfig = config.getLLMConfig;
396
- exports.setLLMConfig = config.setLLMConfig;
397
- exports.generateCommitMessage = generateCommitMessage;
398
- exports.selectLLMProvider = selectLLMProvider;
399
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/services/llm/index.ts"],"sourcesContent":[null],"names":["promisify","exec","config","getLLMConfig","generateCommitWithOpenAI","generateCommitWithAnthropic","OPENAI_MODEL_CHOICES","ANTHROPIC_MODEL_CHOICES","setLLMConfig"],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- /**
2
- * Centralized model definitions for LLM providers
3
- */
4
- export declare const OPENAI_MODELS: {
5
- GPT35_TURBO: string;
6
- GPT4: string;
7
- GPT4_TURBO: string;
8
- GPT45_PREVIEW: string;
9
- GPT4O: string;
10
- GPT4O_MINI: string;
11
- O1: string;
12
- O1_MINI: string;
13
- O3_MINI: string;
14
- };
15
- export declare const ANTHROPIC_MODELS: {
16
- CLAUDE_3_HAIKU: string;
17
- CLAUDE_3_OPUS: string;
18
- CLAUDE_3_SONNET: string;
19
- CLAUDE_35_HAIKU: string;
20
- CLAUDE_35_SONNET: string;
21
- CLAUDE_35_SONNET_V2: string;
22
- CLAUDE_37_SONNET: string;
23
- };
24
- export declare const OPENAI_MODEL_CHOICES: Array<{
25
- name: string;
26
- value: string;
27
- }>;
28
- export declare const ANTHROPIC_MODEL_CHOICES: Array<{
29
- name: string;
30
- value: string;
31
- }>;
32
- export declare function getAnthropicModels(): Array<string>;
33
- export declare function getOpenAIModels(): Array<string>;
34
- //# sourceMappingURL=models.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../src/services/llm/models.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,aAAa,EAAE;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CAoBhB,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;CAczB,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd,CAWA,CAAC;AAGF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd,CASA,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,KAAK,CAAC,MAAM,CAAC,CAElD;AAGD,wBAAgB,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC,CAE/C"}
@@ -1,65 +0,0 @@
1
- 'use strict';
2
-
3
- /**
4
- * Centralized model definitions for LLM providers
5
- */
6
- // OpenAI Models
7
- const OPENAI_MODELS = {
8
- // GPT-3.5 models
9
- GPT35_TURBO: "gpt-3.5-turbo",
10
- // Legacy GPT-4 models
11
- GPT4: "gpt-4",
12
- GPT4_TURBO: "gpt-4-turbo",
13
- // GPT-4.5 Preview
14
- GPT45_PREVIEW: "gpt-4.5-preview",
15
- // GPT-4o Family
16
- GPT4O: "gpt-4o",
17
- GPT4O_MINI: "gpt-4o-mini",
18
- // O1 Family (Next-gen models)
19
- O1: "o1",
20
- O1_MINI: "o1-mini",
21
- O3_MINI: "o3-mini",
22
- };
23
- // Anthropic Models
24
- const ANTHROPIC_MODELS = {
25
- CLAUDE_3_HAIKU: "claude-3-haiku-20240307",
26
- // Claude 3 Family
27
- CLAUDE_3_OPUS: "claude-3-opus-20240229",
28
- CLAUDE_3_SONNET: "claude-3-sonnet-20240229",
29
- CLAUDE_35_HAIKU: "claude-3-5-haiku-20241022",
30
- CLAUDE_35_SONNET: "claude-3-5-sonnet-20240620",
31
- // Claude 3.5 Family
32
- CLAUDE_35_SONNET_V2: "claude-3-5-sonnet-20241022",
33
- // Claude 3.7 Family
34
- CLAUDE_37_SONNET: "claude-3-7-sonnet-20250219",
35
- };
36
- // Model choices for OpenAI UI
37
- const OPENAI_MODEL_CHOICES = [
38
- { name: "GPT-4o", value: OPENAI_MODELS.GPT4O },
39
- { name: "GPT-4o Mini", value: OPENAI_MODELS.GPT4O_MINI },
40
- { name: "O1", value: OPENAI_MODELS.O1 },
41
- { name: "O1 Mini", value: OPENAI_MODELS.O1_MINI },
42
- { name: "O3 Mini", value: OPENAI_MODELS.O3_MINI },
43
- { name: "GPT-4.5 Preview", value: OPENAI_MODELS.GPT45_PREVIEW },
44
- { name: "GPT-4 Turbo", value: OPENAI_MODELS.GPT4_TURBO },
45
- { name: "GPT-4", value: OPENAI_MODELS.GPT4 },
46
- { name: "GPT-3.5 Turbo", value: OPENAI_MODELS.GPT35_TURBO },
47
- { name: "Custom Model...", value: "custom" },
48
- ];
49
- // Model choices for Anthropic UI
50
- const ANTHROPIC_MODEL_CHOICES = [
51
- { name: "Claude 3.7 Sonnet", value: ANTHROPIC_MODELS.CLAUDE_37_SONNET },
52
- { name: "Claude 3.5 Sonnet v2", value: ANTHROPIC_MODELS.CLAUDE_35_SONNET_V2 },
53
- { name: "Claude 3.5 Sonnet", value: ANTHROPIC_MODELS.CLAUDE_35_SONNET },
54
- { name: "Claude 3.5 Haiku", value: ANTHROPIC_MODELS.CLAUDE_35_HAIKU },
55
- { name: "Claude 3 Opus", value: ANTHROPIC_MODELS.CLAUDE_3_OPUS },
56
- { name: "Claude 3 Sonnet", value: ANTHROPIC_MODELS.CLAUDE_3_SONNET },
57
- { name: "Claude 3 Haiku", value: ANTHROPIC_MODELS.CLAUDE_3_HAIKU },
58
- { name: "Custom Model...", value: "custom" },
59
- ];
60
-
61
- exports.ANTHROPIC_MODELS = ANTHROPIC_MODELS;
62
- exports.ANTHROPIC_MODEL_CHOICES = ANTHROPIC_MODEL_CHOICES;
63
- exports.OPENAI_MODELS = OPENAI_MODELS;
64
- exports.OPENAI_MODEL_CHOICES = OPENAI_MODEL_CHOICES;
65
- //# sourceMappingURL=models.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"models.js","sources":["../../../../../src/services/llm/models.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;AAEG;AAEH;AACa,MAAA,aAAa,GAUtB;;AAEH,IAAA,WAAW,EAAE,eAAe;;AAE5B,IAAA,IAAI,EAAE,OAAO;AAEb,IAAA,UAAU,EAAE,aAAa;;AAEzB,IAAA,aAAa,EAAE,iBAAiB;;AAEhC,IAAA,KAAK,EAAE,QAAQ;AAEf,IAAA,UAAU,EAAE,aAAa;;AAGzB,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,OAAO,EAAE,SAAS;AAElB,IAAA,OAAO,EAAE,SAAS;;AAGnB;AACa,MAAA,gBAAgB,GAQzB;AACH,IAAA,cAAc,EAAE,yBAAyB;;AAGzC,IAAA,aAAa,EAAE,wBAAwB;AACvC,IAAA,eAAe,EAAE,0BAA0B;AAC3C,IAAA,eAAe,EAAE,2BAA2B;AAE5C,IAAA,gBAAgB,EAAE,4BAA4B;;AAE9C,IAAA,mBAAmB,EAAE,4BAA4B;;AAEjD,IAAA,gBAAgB,EAAE,4BAA4B;;AAG/C;AACa,MAAA,oBAAoB,GAG5B;IACJ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE;IAC9C,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,CAAC,UAAU,EAAE;IACxD,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,EAAE,EAAE;IACvC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE;IACjD,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC,OAAO,EAAE;IACjD,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,aAAa,CAAC,aAAa,EAAE;IAC/D,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,CAAC,UAAU,EAAE;IACxD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,EAAE;IAC5C,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,CAAC,WAAW,EAAE;AAC3D,IAAA,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE;;AAG7C;AACa,MAAA,uBAAuB,GAG/B;IACJ,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,gBAAgB,CAAC,gBAAgB,EAAE;IACvE,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,gBAAgB,CAAC,mBAAmB,EAAE;IAC7E,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,gBAAgB,CAAC,gBAAgB,EAAE;IACvE,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,CAAC,eAAe,EAAE;IACrE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,gBAAgB,CAAC,aAAa,EAAE;IAChE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,gBAAgB,CAAC,eAAe,EAAE;IACpE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,CAAC,cAAc,EAAE;AAClE,IAAA,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE;;;;;;;;"}
@@ -1,3 +0,0 @@
1
- import type { CommitConfig, LLMPromptContext } from "./types.js";
2
- export declare function generateCommitWithOpenAI(apiKey: string, model: string, context: LLMPromptContext): Promise<CommitConfig>;
3
- //# sourceMappingURL=openai.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../../src/services/llm/openai.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAIjE,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAgH9H"}
@@ -1,111 +0,0 @@
1
- 'use strict';
2
-
3
- var OpenAI = require('openai');
4
-
5
- async function generateCommitWithOpenAI(apiKey, model, context) {
6
- const openai = new OpenAI({
7
- apiKey: apiKey,
8
- });
9
- const typeOptions = context.typeEnum
10
- ?.map((type) => {
11
- const description = context.typeDescriptions?.[type]?.description ?? "";
12
- const emoji = context.typeDescriptions?.[type]?.emoji ?? "";
13
- const title = context.typeDescriptions?.[type]?.title ?? "";
14
- // eslint-disable-next-line @elsikora-sonar/no-nested-template-literals
15
- return `${type}${emoji ? ` (${emoji})` : ""}: ${description}${title ? ` (${title})` : ""}`;
16
- })
17
- .join("\n") ?? "";
18
- const systemPrompt = `You are a commit message generator. Based on the git changes, generate a conventional commit message that follows the commit conventions.
19
-
20
- The commit should follow this format:
21
- <type>[(scope)]: <subject>
22
- [BLANK LINE]
23
- [body]
24
- [BLANK LINE]
25
- [footer]
26
-
27
- Type constraints:
28
- ${context.typeEnum ? "- Allowed types: " + context.typeEnum.join(", ") : ""}
29
- ${context.typeCase ? "- Case style: " + context.typeCase.join(", ") : ""}
30
- ${context.typeEmpty === undefined ? "" : "- Can be empty: " + (context.typeEmpty ? "yes" : "no")}
31
-
32
- Available types:
33
- ${typeOptions}
34
-
35
- Scope constraints:
36
- ${context.scopeCase ? "- Case style: " + context.scopeCase.join(", ") : ""}
37
- ${context.scopeEmpty === undefined ? "" : "- Can be empty: " + (context.scopeEmpty ? "yes" : "no")}
38
- ${context.scopeMaxLength ? "- Max length: " + context.scopeMaxLength + " characters" : ""}
39
-
40
- Scope guidelines:
41
- - The scope should represent the area of the codebase being modified
42
- - If the changes affect multiple areas, use a comma-separated list or select the most significant area
43
- - If unsure, use "global" as the scope
44
- - If the scope is not relevant, it can be omitted
45
- - Analyze the changed files and determine the most appropriate scope based on directories, modules or components
46
- - Scopes are usually short (one or two words) and lowercase
47
-
48
- Subject constraints:
49
- ${context.subject.case ? "- Case style: " + context.subject.case.join(", ") : ""}
50
- ${context.subject.empty === undefined ? "" : "- Can be empty: " + (context.subject.empty ? "yes" : "no")}
51
- ${context.subject.maxLength ? "- Max length: " + context.subject.maxLength + " characters" : ""}
52
- ${context.subject.minLength ? "- Min length: " + context.subject.minLength + " characters" : ""}
53
- ${context.subject.fullStop ? "- End with '" + context.subject.fullStop.value + "': " + (context.subject.fullStop.required ? "yes" : "no") : ""}
54
-
55
- Header constraints:
56
- ${context.headerCase ? "- Case style: " + context.headerCase.join(", ") : ""}
57
- ${context.headerMaxLength ? "- Max length: " + context.headerMaxLength + " characters" : ""}
58
- ${context.headerMinLength ? "- Min length: " + context.headerMinLength + " characters" : ""}
59
- ${context.headerFullStop ? "- End with '" + context.headerFullStop.value + "': " + (context.headerFullStop.required ? "yes" : "no") : ""}
60
-
61
- Body constraints:
62
- ${context.body?.maxLength ? "- Max length: " + context.body.maxLength + " characters" : ""}
63
- ${context.body?.maxLineLength ? "- Max line length: " + context.body.maxLineLength + " characters" : ""}
64
- ${context.body?.leadingBlank === undefined ? "" : "- Leading blank line: " + (context.body.leadingBlank ? "required" : "not required")}
65
- ${context.body?.fullStop ? "- End with '" + context.body.fullStop.value + "': " + (context.body.fullStop.required ? "yes" : "no") : ""}
66
-
67
- Footer constraints:
68
- ${context.footerLeadingBlank === undefined ? "" : "- Leading blank line: " + (context.footerLeadingBlank ? "required" : "not required")}
69
- ${context.footerMaxLineLength ? "- Max line length: " + context.footerMaxLineLength + " characters" : ""}
70
-
71
- Return a JSON object with these fields:
72
- {
73
- "type": "the commit type",
74
- "scope": "the commit scope (optional)",
75
- "subject": "the commit subject line",
76
- "body": "the commit body (optional)",
77
- "isBreaking": boolean,
78
- "breakingBody": "description of breaking changes (if isBreaking is true)",
79
- "issues": ["list of issue references"],
80
- "references": ["list of other references"]
81
- }`;
82
- const userPrompt = `Here are the changes to commit:
83
- ${context.diff ? `Diff:\n${context.diff}\n` : ""}
84
- ${context.files ? `Files changed:\n${context.files}` : ""}
85
-
86
- Based on these changes, generate an appropriate commit message following the conventions.`;
87
- try {
88
- const response = await openai.chat.completions.create({
89
- messages: [
90
- { content: systemPrompt, role: "system" },
91
- { content: userPrompt, role: "user" },
92
- ],
93
- model: model,
94
- response_format: { type: "json_object" },
95
- });
96
- // eslint-disable-next-line @elsikora-typescript/no-unsafe-member-access,@elsikora-typescript/no-unsafe-assignment
97
- const content = response.choices[0]?.message.content;
98
- if (!content) {
99
- throw new Error("Empty response from OpenAI");
100
- }
101
- // eslint-disable-next-line @elsikora-typescript/no-unsafe-argument
102
- return JSON.parse(content);
103
- }
104
- catch (error) {
105
- console.error("Error generating commit with OpenAI:", error);
106
- throw error;
107
- }
108
- }
109
-
110
- exports.generateCommitWithOpenAI = generateCommitWithOpenAI;
111
- //# sourceMappingURL=openai.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai.js","sources":["../../../../../src/services/llm/openai.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}