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

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 (417) hide show
  1. package/README.md +256 -57
  2. package/dist/cjs/application/constant/config-file-directory.constant.d.ts +4 -0
  3. package/dist/cjs/application/constant/config-file-directory.constant.js +9 -0
  4. package/dist/cjs/application/constant/config-file-directory.constant.js.map +1 -0
  5. package/dist/cjs/application/constant/config-module-name.constant.d.ts +4 -0
  6. package/dist/cjs/application/constant/config-module-name.constant.js +9 -0
  7. package/dist/cjs/application/constant/config-module-name.constant.js.map +1 -0
  8. package/dist/cjs/application/constant/index.d.ts +2 -0
  9. package/dist/cjs/application/index.d.ts +2 -0
  10. package/dist/cjs/application/interface/cli-interface-service-select-options.interface.d.ts +21 -0
  11. package/dist/cjs/application/interface/cli-interface-service.interface.d.ts +105 -0
  12. package/dist/cjs/application/interface/command-service.interface.d.ts +19 -0
  13. package/dist/cjs/application/interface/commit-repository.interface.d.ts +32 -0
  14. package/dist/cjs/application/interface/commit-validator.interface.d.ts +29 -0
  15. package/dist/cjs/application/interface/config-service.interface.d.ts +47 -0
  16. package/dist/cjs/application/interface/config.interface.d.ts +27 -0
  17. package/dist/cjs/application/interface/file-system-service.interface.d.ts +61 -0
  18. package/dist/cjs/application/interface/index.d.ts +9 -0
  19. package/dist/cjs/application/interface/llm-service.interface.d.ts +43 -0
  20. package/dist/cjs/application/use-case/configure-llm.use-case.d.ts +39 -0
  21. package/dist/cjs/application/use-case/configure-llm.use-case.js +373 -0
  22. package/dist/cjs/application/use-case/configure-llm.use-case.js.map +1 -0
  23. package/dist/cjs/application/use-case/generate-commit-message.use-case.d.ts +18 -0
  24. package/dist/cjs/application/use-case/generate-commit-message.use-case.js +49 -0
  25. package/dist/cjs/application/use-case/generate-commit-message.use-case.js.map +1 -0
  26. package/dist/cjs/application/use-case/index.d.ts +4 -0
  27. package/dist/cjs/application/use-case/manual-commit.use-case.d.ts +16 -0
  28. package/dist/cjs/application/use-case/manual-commit.use-case.js +81 -0
  29. package/dist/cjs/application/use-case/manual-commit.use-case.js.map +1 -0
  30. package/dist/cjs/application/use-case/validate-commit-message.use-case.d.ts +26 -0
  31. package/dist/cjs/application/use-case/validate-commit-message.use-case.js +76 -0
  32. package/dist/cjs/application/use-case/validate-commit-message.use-case.js.map +1 -0
  33. package/dist/cjs/domain/constant/index.d.ts +1 -0
  34. package/dist/cjs/domain/constant/numeric.constant.d.ts +25 -0
  35. package/dist/cjs/domain/constant/numeric.constant.js +42 -0
  36. package/dist/cjs/domain/constant/numeric.constant.js.map +1 -0
  37. package/dist/cjs/domain/entity/commit-message.entity.d.ts +47 -0
  38. package/dist/cjs/domain/entity/commit-message.entity.js +71 -0
  39. package/dist/cjs/domain/entity/commit-message.entity.js.map +1 -0
  40. package/dist/cjs/domain/entity/index.d.ts +2 -0
  41. package/dist/cjs/domain/entity/llm-configuration.entity.d.ts +73 -0
  42. package/dist/cjs/domain/entity/llm-configuration.entity.js +107 -0
  43. package/dist/cjs/domain/entity/llm-configuration.entity.js.map +1 -0
  44. package/dist/cjs/domain/enum/anthropic-model.enum.d.ts +18 -0
  45. package/dist/cjs/domain/enum/anthropic-model.enum.js +26 -0
  46. package/dist/cjs/domain/enum/anthropic-model.enum.js.map +1 -0
  47. package/dist/cjs/domain/enum/aws-bedrock-model.enum.d.ts +33 -0
  48. package/dist/cjs/domain/enum/aws-bedrock-model.enum.js +47 -0
  49. package/dist/cjs/domain/enum/aws-bedrock-model.enum.js.map +1 -0
  50. package/dist/cjs/domain/enum/azure-openai-model.enum.d.ts +17 -0
  51. package/dist/cjs/domain/enum/azure-openai-model.enum.js +26 -0
  52. package/dist/cjs/domain/enum/azure-openai-model.enum.js.map +1 -0
  53. package/dist/cjs/domain/enum/commit-mode.enum.d.ts +7 -0
  54. package/dist/cjs/domain/enum/commit-mode.enum.js +11 -0
  55. package/dist/cjs/domain/enum/commit-mode.enum.js.map +1 -0
  56. package/dist/cjs/domain/enum/google-model.enum.d.ts +16 -0
  57. package/dist/cjs/domain/enum/google-model.enum.js +25 -0
  58. package/dist/cjs/domain/enum/google-model.enum.js.map +1 -0
  59. package/dist/cjs/domain/enum/index.d.ts +9 -0
  60. package/dist/cjs/domain/enum/llm-provider.enum.d.ts +11 -0
  61. package/dist/cjs/domain/enum/llm-provider.enum.js +15 -0
  62. package/dist/cjs/domain/enum/llm-provider.enum.js.map +1 -0
  63. package/dist/cjs/domain/enum/log-level.enum.d.ts +9 -0
  64. package/dist/cjs/domain/enum/log-level.enum.js +13 -0
  65. package/dist/cjs/domain/enum/log-level.enum.js.map +1 -0
  66. package/dist/cjs/domain/enum/ollama-model.enum.d.ts +24 -0
  67. package/dist/cjs/domain/enum/ollama-model.enum.js +30 -0
  68. package/dist/cjs/domain/enum/ollama-model.enum.js.map +1 -0
  69. package/dist/cjs/domain/enum/openai-model.enum.d.ts +25 -0
  70. package/dist/cjs/domain/enum/openai-model.enum.js +35 -0
  71. package/dist/cjs/domain/enum/openai-model.enum.js.map +1 -0
  72. package/dist/cjs/domain/index.d.ts +3 -0
  73. package/dist/cjs/domain/value-object/api-key.value-object.d.ts +28 -0
  74. package/dist/cjs/domain/value-object/api-key.value-object.js +51 -0
  75. package/dist/cjs/domain/value-object/api-key.value-object.js.map +1 -0
  76. package/dist/cjs/domain/value-object/commit-body.value-object.d.ts +39 -0
  77. package/dist/cjs/domain/value-object/commit-body.value-object.js +66 -0
  78. package/dist/cjs/domain/value-object/commit-body.value-object.js.map +1 -0
  79. package/dist/cjs/domain/value-object/commit-header.value-object.d.ts +35 -0
  80. package/dist/cjs/domain/value-object/commit-header.value-object.js +63 -0
  81. package/dist/cjs/domain/value-object/commit-header.value-object.js.map +1 -0
  82. package/dist/cjs/domain/value-object/index.d.ts +3 -0
  83. package/dist/cjs/index.d.ts +14 -12
  84. package/dist/cjs/index.js +85 -83
  85. package/dist/cjs/index.js.map +1 -1
  86. package/dist/cjs/infrastructure/commit-validator/commitlint-validator.service.d.ts +38 -0
  87. package/dist/cjs/infrastructure/commit-validator/commitlint-validator.service.js +207 -0
  88. package/dist/cjs/infrastructure/commit-validator/commitlint-validator.service.js.map +1 -0
  89. package/dist/cjs/infrastructure/commit-validator/index.d.ts +1 -0
  90. package/dist/cjs/infrastructure/di/container.d.ts +17 -0
  91. package/dist/cjs/infrastructure/di/container.js +76 -0
  92. package/dist/cjs/infrastructure/di/container.js.map +1 -0
  93. package/dist/cjs/infrastructure/di/index.d.ts +1 -0
  94. package/dist/cjs/infrastructure/git/git-commit.repository.d.ts +36 -0
  95. package/dist/cjs/infrastructure/git/git-commit.repository.js +78 -0
  96. package/dist/cjs/infrastructure/git/git-commit.repository.js.map +1 -0
  97. package/dist/cjs/infrastructure/git/index.d.ts +1 -0
  98. package/dist/cjs/infrastructure/index.d.ts +4 -0
  99. package/dist/cjs/infrastructure/llm/anthropic-llm.service.d.ts +39 -0
  100. package/dist/cjs/infrastructure/llm/anthropic-llm.service.js +323 -0
  101. package/dist/cjs/infrastructure/llm/anthropic-llm.service.js.map +1 -0
  102. package/dist/cjs/infrastructure/llm/aws-bedrock-llm.service.d.ts +60 -0
  103. package/dist/cjs/infrastructure/llm/aws-bedrock-llm.service.js +514 -0
  104. package/dist/cjs/infrastructure/llm/aws-bedrock-llm.service.js.map +1 -0
  105. package/dist/cjs/infrastructure/llm/azure-openai-llm.service.d.ts +45 -0
  106. package/dist/cjs/infrastructure/llm/azure-openai-llm.service.js +351 -0
  107. package/dist/cjs/infrastructure/llm/azure-openai-llm.service.js.map +1 -0
  108. package/dist/cjs/infrastructure/llm/google-llm.service.d.ts +45 -0
  109. package/dist/cjs/infrastructure/llm/google-llm.service.js +335 -0
  110. package/dist/cjs/infrastructure/llm/google-llm.service.js.map +1 -0
  111. package/dist/cjs/infrastructure/llm/index.d.ts +6 -0
  112. package/dist/cjs/infrastructure/llm/ollama-llm.service.d.ts +45 -0
  113. package/dist/cjs/infrastructure/llm/ollama-llm.service.js +387 -0
  114. package/dist/cjs/infrastructure/llm/ollama-llm.service.js.map +1 -0
  115. package/dist/cjs/infrastructure/llm/openai-llm.service.d.ts +45 -0
  116. package/dist/cjs/infrastructure/llm/openai-llm.service.js +339 -0
  117. package/dist/cjs/infrastructure/llm/openai-llm.service.js.map +1 -0
  118. package/dist/cjs/infrastructure/service/cosmic-config.service.d.ts +66 -0
  119. package/dist/cjs/infrastructure/service/cosmic-config.service.js +176 -0
  120. package/dist/cjs/infrastructure/service/cosmic-config.service.js.map +1 -0
  121. package/dist/cjs/infrastructure/service/index.d.ts +4 -0
  122. package/dist/cjs/infrastructure/service/node-command.service.d.ts +45 -0
  123. package/dist/cjs/infrastructure/service/node-command.service.js +154 -0
  124. package/dist/cjs/infrastructure/service/node-command.service.js.map +1 -0
  125. package/dist/cjs/infrastructure/service/node-file-system.service.d.ts +62 -0
  126. package/dist/cjs/infrastructure/service/node-file-system.service.js +102 -0
  127. package/dist/cjs/infrastructure/service/node-file-system.service.js.map +1 -0
  128. package/dist/cjs/infrastructure/service/prompts-cli-interface.service.d.ts +117 -0
  129. package/dist/cjs/infrastructure/service/prompts-cli-interface.service.js +318 -0
  130. package/dist/cjs/infrastructure/service/prompts-cli-interface.service.js.map +1 -0
  131. package/dist/cjs/presentation/commitizen.adapter.d.ts +28 -0
  132. package/dist/cjs/presentation/commitizen.adapter.js +304 -0
  133. package/dist/cjs/presentation/commitizen.adapter.js.map +1 -0
  134. package/dist/cjs/presentation/index.d.ts +1 -0
  135. package/dist/esm/application/constant/config-file-directory.constant.d.ts +4 -0
  136. package/dist/esm/application/constant/config-file-directory.constant.js +7 -0
  137. package/dist/esm/application/constant/config-file-directory.constant.js.map +1 -0
  138. package/dist/esm/application/constant/config-module-name.constant.d.ts +4 -0
  139. package/dist/esm/application/constant/config-module-name.constant.js +7 -0
  140. package/dist/esm/application/constant/config-module-name.constant.js.map +1 -0
  141. package/dist/esm/application/constant/index.d.ts +2 -0
  142. package/dist/esm/application/index.d.ts +2 -0
  143. package/dist/esm/application/interface/cli-interface-service-select-options.interface.d.ts +21 -0
  144. package/dist/esm/application/interface/cli-interface-service.interface.d.ts +105 -0
  145. package/dist/esm/application/interface/command-service.interface.d.ts +19 -0
  146. package/dist/esm/application/interface/commit-repository.interface.d.ts +32 -0
  147. package/dist/esm/application/interface/commit-validator.interface.d.ts +29 -0
  148. package/dist/esm/application/interface/config-service.interface.d.ts +47 -0
  149. package/dist/esm/application/interface/config.interface.d.ts +27 -0
  150. package/dist/esm/application/interface/file-system-service.interface.d.ts +61 -0
  151. package/dist/esm/application/interface/index.d.ts +9 -0
  152. package/dist/esm/application/interface/llm-service.interface.d.ts +43 -0
  153. package/dist/esm/application/use-case/configure-llm.use-case.d.ts +39 -0
  154. package/dist/esm/application/use-case/configure-llm.use-case.js +371 -0
  155. package/dist/esm/application/use-case/configure-llm.use-case.js.map +1 -0
  156. package/dist/esm/application/use-case/generate-commit-message.use-case.d.ts +18 -0
  157. package/dist/esm/application/use-case/generate-commit-message.use-case.js +47 -0
  158. package/dist/esm/application/use-case/generate-commit-message.use-case.js.map +1 -0
  159. package/dist/esm/application/use-case/index.d.ts +4 -0
  160. package/dist/esm/application/use-case/manual-commit.use-case.d.ts +16 -0
  161. package/dist/esm/application/use-case/manual-commit.use-case.js +79 -0
  162. package/dist/esm/application/use-case/manual-commit.use-case.js.map +1 -0
  163. package/dist/esm/application/use-case/validate-commit-message.use-case.d.ts +26 -0
  164. package/dist/esm/application/use-case/validate-commit-message.use-case.js +74 -0
  165. package/dist/esm/application/use-case/validate-commit-message.use-case.js.map +1 -0
  166. package/dist/esm/domain/constant/index.d.ts +1 -0
  167. package/dist/esm/domain/constant/numeric.constant.d.ts +25 -0
  168. package/dist/esm/domain/constant/numeric.constant.js +26 -0
  169. package/dist/esm/domain/constant/numeric.constant.js.map +1 -0
  170. package/dist/esm/domain/entity/commit-message.entity.d.ts +47 -0
  171. package/dist/esm/domain/entity/commit-message.entity.js +69 -0
  172. package/dist/esm/domain/entity/commit-message.entity.js.map +1 -0
  173. package/dist/esm/domain/entity/index.d.ts +2 -0
  174. package/dist/esm/domain/entity/llm-configuration.entity.d.ts +73 -0
  175. package/dist/esm/domain/entity/llm-configuration.entity.js +105 -0
  176. package/dist/esm/domain/entity/llm-configuration.entity.js.map +1 -0
  177. package/dist/esm/domain/enum/anthropic-model.enum.d.ts +18 -0
  178. package/dist/esm/domain/enum/anthropic-model.enum.js +26 -0
  179. package/dist/esm/domain/enum/anthropic-model.enum.js.map +1 -0
  180. package/dist/esm/domain/enum/aws-bedrock-model.enum.d.ts +33 -0
  181. package/dist/esm/domain/enum/aws-bedrock-model.enum.js +47 -0
  182. package/dist/esm/domain/enum/aws-bedrock-model.enum.js.map +1 -0
  183. package/dist/esm/domain/enum/azure-openai-model.enum.d.ts +17 -0
  184. package/dist/esm/domain/enum/azure-openai-model.enum.js +26 -0
  185. package/dist/esm/domain/enum/azure-openai-model.enum.js.map +1 -0
  186. package/dist/esm/domain/enum/commit-mode.enum.d.ts +7 -0
  187. package/dist/esm/domain/enum/commit-mode.enum.js +11 -0
  188. package/dist/esm/domain/enum/commit-mode.enum.js.map +1 -0
  189. package/dist/esm/domain/enum/google-model.enum.d.ts +16 -0
  190. package/dist/esm/domain/enum/google-model.enum.js +25 -0
  191. package/dist/esm/domain/enum/google-model.enum.js.map +1 -0
  192. package/dist/esm/domain/enum/index.d.ts +9 -0
  193. package/dist/esm/domain/enum/llm-provider.enum.d.ts +11 -0
  194. package/dist/esm/domain/enum/llm-provider.enum.js +15 -0
  195. package/dist/esm/domain/enum/llm-provider.enum.js.map +1 -0
  196. package/dist/esm/domain/enum/log-level.enum.d.ts +9 -0
  197. package/dist/esm/domain/enum/log-level.enum.js +13 -0
  198. package/dist/esm/domain/enum/log-level.enum.js.map +1 -0
  199. package/dist/esm/domain/enum/ollama-model.enum.d.ts +24 -0
  200. package/dist/esm/domain/enum/ollama-model.enum.js +30 -0
  201. package/dist/esm/domain/enum/ollama-model.enum.js.map +1 -0
  202. package/dist/esm/domain/enum/openai-model.enum.d.ts +25 -0
  203. package/dist/esm/domain/enum/openai-model.enum.js +35 -0
  204. package/dist/esm/domain/enum/openai-model.enum.js.map +1 -0
  205. package/dist/esm/domain/index.d.ts +3 -0
  206. package/dist/esm/domain/value-object/api-key.value-object.d.ts +28 -0
  207. package/dist/esm/domain/value-object/api-key.value-object.js +49 -0
  208. package/dist/esm/domain/value-object/api-key.value-object.js.map +1 -0
  209. package/dist/esm/domain/value-object/commit-body.value-object.d.ts +39 -0
  210. package/dist/esm/domain/value-object/commit-body.value-object.js +64 -0
  211. package/dist/esm/domain/value-object/commit-body.value-object.js.map +1 -0
  212. package/dist/esm/domain/value-object/commit-header.value-object.d.ts +35 -0
  213. package/dist/esm/domain/value-object/commit-header.value-object.js +61 -0
  214. package/dist/esm/domain/value-object/commit-header.value-object.js.map +1 -0
  215. package/dist/esm/domain/value-object/index.d.ts +3 -0
  216. package/dist/esm/index.d.ts +14 -12
  217. package/dist/esm/index.js +38 -82
  218. package/dist/esm/index.js.map +1 -1
  219. package/dist/esm/infrastructure/commit-validator/commitlint-validator.service.d.ts +38 -0
  220. package/dist/esm/infrastructure/commit-validator/commitlint-validator.service.js +205 -0
  221. package/dist/esm/infrastructure/commit-validator/commitlint-validator.service.js.map +1 -0
  222. package/dist/esm/infrastructure/commit-validator/index.d.ts +1 -0
  223. package/dist/esm/infrastructure/di/container.d.ts +17 -0
  224. package/dist/esm/infrastructure/di/container.js +63 -0
  225. package/dist/esm/infrastructure/di/container.js.map +1 -0
  226. package/dist/esm/infrastructure/di/index.d.ts +1 -0
  227. package/dist/esm/infrastructure/git/git-commit.repository.d.ts +36 -0
  228. package/dist/esm/infrastructure/git/git-commit.repository.js +76 -0
  229. package/dist/esm/infrastructure/git/git-commit.repository.js.map +1 -0
  230. package/dist/esm/infrastructure/git/index.d.ts +1 -0
  231. package/dist/esm/infrastructure/index.d.ts +4 -0
  232. package/dist/esm/infrastructure/llm/anthropic-llm.service.d.ts +39 -0
  233. package/dist/esm/infrastructure/llm/anthropic-llm.service.js +321 -0
  234. package/dist/esm/infrastructure/llm/anthropic-llm.service.js.map +1 -0
  235. package/dist/esm/infrastructure/llm/aws-bedrock-llm.service.d.ts +60 -0
  236. package/dist/esm/infrastructure/llm/aws-bedrock-llm.service.js +512 -0
  237. package/dist/esm/infrastructure/llm/aws-bedrock-llm.service.js.map +1 -0
  238. package/dist/esm/infrastructure/llm/azure-openai-llm.service.d.ts +45 -0
  239. package/dist/esm/infrastructure/llm/azure-openai-llm.service.js +349 -0
  240. package/dist/esm/infrastructure/llm/azure-openai-llm.service.js.map +1 -0
  241. package/dist/esm/infrastructure/llm/google-llm.service.d.ts +45 -0
  242. package/dist/esm/infrastructure/llm/google-llm.service.js +333 -0
  243. package/dist/esm/infrastructure/llm/google-llm.service.js.map +1 -0
  244. package/dist/esm/infrastructure/llm/index.d.ts +6 -0
  245. package/dist/esm/infrastructure/llm/ollama-llm.service.d.ts +45 -0
  246. package/dist/esm/infrastructure/llm/ollama-llm.service.js +385 -0
  247. package/dist/esm/infrastructure/llm/ollama-llm.service.js.map +1 -0
  248. package/dist/esm/infrastructure/llm/openai-llm.service.d.ts +45 -0
  249. package/dist/esm/infrastructure/llm/openai-llm.service.js +337 -0
  250. package/dist/esm/infrastructure/llm/openai-llm.service.js.map +1 -0
  251. package/dist/esm/infrastructure/service/cosmic-config.service.d.ts +66 -0
  252. package/dist/esm/infrastructure/service/cosmic-config.service.js +174 -0
  253. package/dist/esm/infrastructure/service/cosmic-config.service.js.map +1 -0
  254. package/dist/esm/infrastructure/service/index.d.ts +4 -0
  255. package/dist/esm/infrastructure/service/node-command.service.d.ts +45 -0
  256. package/dist/esm/infrastructure/service/node-command.service.js +152 -0
  257. package/dist/esm/infrastructure/service/node-command.service.js.map +1 -0
  258. package/dist/esm/infrastructure/service/node-file-system.service.d.ts +62 -0
  259. package/dist/esm/infrastructure/service/node-file-system.service.js +100 -0
  260. package/dist/esm/infrastructure/service/node-file-system.service.js.map +1 -0
  261. package/dist/esm/infrastructure/service/prompts-cli-interface.service.d.ts +117 -0
  262. package/dist/esm/infrastructure/service/prompts-cli-interface.service.js +316 -0
  263. package/dist/esm/infrastructure/service/prompts-cli-interface.service.js.map +1 -0
  264. package/dist/esm/package.json +19 -0
  265. package/dist/esm/presentation/commitizen.adapter.d.ts +28 -0
  266. package/dist/esm/presentation/commitizen.adapter.js +302 -0
  267. package/dist/esm/presentation/commitizen.adapter.js.map +1 -0
  268. package/dist/esm/presentation/index.d.ts +1 -0
  269. package/index.cjs +1 -2
  270. package/package.json +42 -25
  271. package/dist/cjs/ManualProcess.d.ts +0 -6
  272. package/dist/cjs/ManualProcess.d.ts.map +0 -1
  273. package/dist/cjs/ManualProcess.js +0 -111
  274. package/dist/cjs/ManualProcess.js.map +0 -1
  275. package/dist/cjs/Process.d.ts +0 -6
  276. package/dist/cjs/Process.d.ts.map +0 -1
  277. package/dist/cjs/Process.js +0 -176
  278. package/dist/cjs/Process.js.map +0 -1
  279. package/dist/cjs/Question.d.ts +0 -46
  280. package/dist/cjs/Question.d.ts.map +0 -1
  281. package/dist/cjs/SectionBody.d.ts +0 -4
  282. package/dist/cjs/SectionBody.d.ts.map +0 -1
  283. package/dist/cjs/SectionFooter.d.ts +0 -13
  284. package/dist/cjs/SectionFooter.d.ts.map +0 -1
  285. package/dist/cjs/SectionHeader.d.ts +0 -15
  286. package/dist/cjs/SectionHeader.d.ts.map +0 -1
  287. package/dist/cjs/index.d.ts.map +0 -1
  288. package/dist/cjs/services/commitConfirmation.d.ts +0 -3
  289. package/dist/cjs/services/commitConfirmation.d.ts.map +0 -1
  290. package/dist/cjs/services/commitConfirmation.js +0 -122
  291. package/dist/cjs/services/commitConfirmation.js.map +0 -1
  292. package/dist/cjs/services/commitlintConfig.d.ts +0 -4
  293. package/dist/cjs/services/commitlintConfig.d.ts.map +0 -1
  294. package/dist/cjs/services/commitlintConfig.js +0 -198
  295. package/dist/cjs/services/commitlintConfig.js.map +0 -1
  296. package/dist/cjs/services/commitlintValidator.d.ts +0 -26
  297. package/dist/cjs/services/commitlintValidator.d.ts.map +0 -1
  298. package/dist/cjs/services/commitlintValidator.js +0 -146
  299. package/dist/cjs/services/commitlintValidator.js.map +0 -1
  300. package/dist/cjs/services/getRuleQuestionConfig.d.ts +0 -4
  301. package/dist/cjs/services/getRuleQuestionConfig.d.ts.map +0 -1
  302. package/dist/cjs/services/llm/anthropic.d.ts +0 -3
  303. package/dist/cjs/services/llm/anthropic.d.ts.map +0 -1
  304. package/dist/cjs/services/llm/anthropic.js +0 -118
  305. package/dist/cjs/services/llm/anthropic.js.map +0 -1
  306. package/dist/cjs/services/llm/config.d.ts +0 -5
  307. package/dist/cjs/services/llm/config.d.ts.map +0 -1
  308. package/dist/cjs/services/llm/config.js +0 -181
  309. package/dist/cjs/services/llm/config.js.map +0 -1
  310. package/dist/cjs/services/llm/index.d.ts +0 -6
  311. package/dist/cjs/services/llm/index.d.ts.map +0 -1
  312. package/dist/cjs/services/llm/index.js +0 -399
  313. package/dist/cjs/services/llm/index.js.map +0 -1
  314. package/dist/cjs/services/llm/models.d.ts +0 -34
  315. package/dist/cjs/services/llm/models.d.ts.map +0 -1
  316. package/dist/cjs/services/llm/models.js +0 -65
  317. package/dist/cjs/services/llm/models.js.map +0 -1
  318. package/dist/cjs/services/llm/openai.d.ts +0 -3
  319. package/dist/cjs/services/llm/openai.d.ts.map +0 -1
  320. package/dist/cjs/services/llm/openai.js +0 -111
  321. package/dist/cjs/services/llm/openai.js.map +0 -1
  322. package/dist/cjs/services/llm/types.d.ts +0 -71
  323. package/dist/cjs/services/llm/types.d.ts.map +0 -1
  324. package/dist/cjs/store/defaultPromptConfigs.d.ts +0 -33
  325. package/dist/cjs/store/defaultPromptConfigs.d.ts.map +0 -1
  326. package/dist/cjs/store/defaultPromptConfigs.js +0 -39
  327. package/dist/cjs/store/defaultPromptConfigs.js.map +0 -1
  328. package/dist/cjs/store/prompts.d.ts +0 -6
  329. package/dist/cjs/store/prompts.d.ts.map +0 -1
  330. package/dist/cjs/store/prompts.js +0 -40
  331. package/dist/cjs/store/prompts.js.map +0 -1
  332. package/dist/cjs/store/rules.d.ts +0 -7
  333. package/dist/cjs/store/rules.d.ts.map +0 -1
  334. package/dist/cjs/types.d.ts +0 -3
  335. package/dist/cjs/types.d.ts.map +0 -1
  336. package/dist/cjs/utils/case-function.d.ts +0 -9
  337. package/dist/cjs/utils/case-function.d.ts.map +0 -1
  338. package/dist/cjs/utils/full-stop-function.d.ts +0 -9
  339. package/dist/cjs/utils/full-stop-function.d.ts.map +0 -1
  340. package/dist/cjs/utils/leading-blank-function.d.ts +0 -8
  341. package/dist/cjs/utils/leading-blank-function.d.ts.map +0 -1
  342. package/dist/cjs/utils/rules.d.ts +0 -26
  343. package/dist/cjs/utils/rules.d.ts.map +0 -1
  344. package/dist/esm/ManualProcess.d.ts +0 -6
  345. package/dist/esm/ManualProcess.d.ts.map +0 -1
  346. package/dist/esm/ManualProcess.js +0 -107
  347. package/dist/esm/ManualProcess.js.map +0 -1
  348. package/dist/esm/Process.d.ts +0 -6
  349. package/dist/esm/Process.d.ts.map +0 -1
  350. package/dist/esm/Process.js +0 -172
  351. package/dist/esm/Process.js.map +0 -1
  352. package/dist/esm/Question.d.ts +0 -46
  353. package/dist/esm/Question.d.ts.map +0 -1
  354. package/dist/esm/SectionBody.d.ts +0 -4
  355. package/dist/esm/SectionBody.d.ts.map +0 -1
  356. package/dist/esm/SectionFooter.d.ts +0 -13
  357. package/dist/esm/SectionFooter.d.ts.map +0 -1
  358. package/dist/esm/SectionHeader.d.ts +0 -15
  359. package/dist/esm/SectionHeader.d.ts.map +0 -1
  360. package/dist/esm/index.d.ts.map +0 -1
  361. package/dist/esm/services/commitConfirmation.d.ts +0 -3
  362. package/dist/esm/services/commitConfirmation.d.ts.map +0 -1
  363. package/dist/esm/services/commitConfirmation.js +0 -120
  364. package/dist/esm/services/commitConfirmation.js.map +0 -1
  365. package/dist/esm/services/commitlintConfig.d.ts +0 -4
  366. package/dist/esm/services/commitlintConfig.d.ts.map +0 -1
  367. package/dist/esm/services/commitlintConfig.js +0 -196
  368. package/dist/esm/services/commitlintConfig.js.map +0 -1
  369. package/dist/esm/services/commitlintValidator.d.ts +0 -26
  370. package/dist/esm/services/commitlintValidator.d.ts.map +0 -1
  371. package/dist/esm/services/commitlintValidator.js +0 -142
  372. package/dist/esm/services/commitlintValidator.js.map +0 -1
  373. package/dist/esm/services/getRuleQuestionConfig.d.ts +0 -4
  374. package/dist/esm/services/getRuleQuestionConfig.d.ts.map +0 -1
  375. package/dist/esm/services/llm/anthropic.d.ts +0 -3
  376. package/dist/esm/services/llm/anthropic.d.ts.map +0 -1
  377. package/dist/esm/services/llm/anthropic.js +0 -116
  378. package/dist/esm/services/llm/anthropic.js.map +0 -1
  379. package/dist/esm/services/llm/config.d.ts +0 -5
  380. package/dist/esm/services/llm/config.d.ts.map +0 -1
  381. package/dist/esm/services/llm/config.js +0 -178
  382. package/dist/esm/services/llm/config.js.map +0 -1
  383. package/dist/esm/services/llm/index.d.ts +0 -6
  384. package/dist/esm/services/llm/index.d.ts.map +0 -1
  385. package/dist/esm/services/llm/index.js +0 -394
  386. package/dist/esm/services/llm/index.js.map +0 -1
  387. package/dist/esm/services/llm/models.d.ts +0 -34
  388. package/dist/esm/services/llm/models.d.ts.map +0 -1
  389. package/dist/esm/services/llm/models.js +0 -60
  390. package/dist/esm/services/llm/models.js.map +0 -1
  391. package/dist/esm/services/llm/openai.d.ts +0 -3
  392. package/dist/esm/services/llm/openai.d.ts.map +0 -1
  393. package/dist/esm/services/llm/openai.js +0 -109
  394. package/dist/esm/services/llm/openai.js.map +0 -1
  395. package/dist/esm/services/llm/types.d.ts +0 -71
  396. package/dist/esm/services/llm/types.d.ts.map +0 -1
  397. package/dist/esm/store/defaultPromptConfigs.d.ts +0 -33
  398. package/dist/esm/store/defaultPromptConfigs.d.ts.map +0 -1
  399. package/dist/esm/store/defaultPromptConfigs.js +0 -35
  400. package/dist/esm/store/defaultPromptConfigs.js.map +0 -1
  401. package/dist/esm/store/prompts.d.ts +0 -6
  402. package/dist/esm/store/prompts.d.ts.map +0 -1
  403. package/dist/esm/store/prompts.js +0 -38
  404. package/dist/esm/store/prompts.js.map +0 -1
  405. package/dist/esm/store/rules.d.ts +0 -7
  406. package/dist/esm/store/rules.d.ts.map +0 -1
  407. package/dist/esm/types.d.ts +0 -3
  408. package/dist/esm/types.d.ts.map +0 -1
  409. package/dist/esm/utils/case-function.d.ts +0 -9
  410. package/dist/esm/utils/case-function.d.ts.map +0 -1
  411. package/dist/esm/utils/full-stop-function.d.ts +0 -9
  412. package/dist/esm/utils/full-stop-function.d.ts.map +0 -1
  413. package/dist/esm/utils/leading-blank-function.d.ts +0 -8
  414. package/dist/esm/utils/leading-blank-function.d.ts.map +0 -1
  415. package/dist/esm/utils/rules.d.ts +0 -26
  416. package/dist/esm/utils/rules.d.ts.map +0 -1
  417. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,302 @@
1
+ import load from '@commitlint/load';
2
+ import { DEFAULT_MAX_RETRIES, DEFAULT_VALIDATION_MAX_RETRIES } from '../domain/constant/numeric.constant.js';
3
+ import { LLMConfiguration } from '../domain/entity/llm-configuration.entity.js';
4
+ import { ECommitMode } from '../domain/enum/commit-mode.enum.js';
5
+ import { ApiKey } from '../domain/value-object/api-key.value-object.js';
6
+ import { CommitlintValidatorService } from '../infrastructure/commit-validator/commitlint-validator.service.js';
7
+ import { createAppContainer, ConfigureLLMUseCaseToken, GenerateCommitMessageUseCaseToken, ValidateCommitMessageUseCaseToken, ManualCommitUseCaseToken, CliInterfaceServiceToken, CommitRepositoryToken, ConfigServiceToken, CommitValidatorToken } from '../infrastructure/di/container.js';
8
+
9
+ // Type constants
10
+ const TYPE_ENUM_INDEX = 2;
11
+ /**
12
+ * Main adapter for Commitizen integration
13
+ */
14
+ class CommitizenAdapter {
15
+ CONTAINER;
16
+ constructor() {
17
+ this.CONTAINER = createAppContainer();
18
+ }
19
+ /**
20
+ * Main entry point for commitizen
21
+ * @param {unknown} _inquirerIns - Instance passed by commitizen (unused in our implementation)
22
+ * @param {TCommit} commit - Callback to execute with complete commit message
23
+ */
24
+ async prompter(_inquirerIns, commit) {
25
+ const loadResult = await load();
26
+ const { prompt = {}, rules } = loadResult;
27
+ try {
28
+ // Get use cases from container
29
+ const configureLLMUseCase = this.CONTAINER.get(ConfigureLLMUseCaseToken);
30
+ const generateCommitUseCase = this.CONTAINER.get(GenerateCommitMessageUseCaseToken);
31
+ const validateCommitUseCase = this.CONTAINER.get(ValidateCommitMessageUseCaseToken);
32
+ const manualCommitUseCase = this.CONTAINER.get(ManualCommitUseCaseToken);
33
+ const cliInterface = this.CONTAINER.get(CliInterfaceServiceToken);
34
+ const commitRepository = this.CONTAINER.get(CommitRepositoryToken);
35
+ const configService = this.CONTAINER.get(ConfigServiceToken);
36
+ if (!configureLLMUseCase || !generateCommitUseCase || !validateCommitUseCase || !manualCommitUseCase || !cliInterface || !commitRepository || !configService) {
37
+ throw new Error("Failed to initialize required services");
38
+ }
39
+ // Extract context from commitlint config
40
+ const promptContext = this.extractLlmPromptContext(rules, prompt);
41
+ // Add git diff and files to context for AI mode
42
+ const [diff, files] = await Promise.all([commitRepository.getStagedDiff(), commitRepository.getStagedFiles()]);
43
+ promptContext.diff = diff;
44
+ promptContext.files = files.join("\n");
45
+ // Get or configure LLM
46
+ let llmConfig = await configureLLMUseCase.getCurrentConfiguration();
47
+ const isConfigExists = await configService.exists();
48
+ if (isConfigExists) {
49
+ // Configuration exists - load it first to show details
50
+ const config = await configService.get();
51
+ // Ask if they want to use existing configuration
52
+ const modeInfo = config.mode === ECommitMode.AUTO ? `${config.mode} mode, ${config.provider} provider` : `${config.mode} mode`;
53
+ const isUseExisting = await cliInterface.confirm(`Found existing configuration (${modeInfo}). Use it?`, true);
54
+ if (!isUseExisting) {
55
+ cliInterface.info("Let's reconfigure...");
56
+ llmConfig = await configureLLMUseCase.configureInteractively();
57
+ // Check if we need to prompt for API key after configuration
58
+ if (llmConfig.isAutoMode() && llmConfig.getApiKey().getValue() === "will-prompt-on-use") {
59
+ // Ask for API key
60
+ const { hint, prompt } = this.getApiKeyPromptInfo(llmConfig.getProvider());
61
+ const credentialValue = await cliInterface.text(prompt, hint, "", (value) => {
62
+ if (!value || value.trim().length === 0) {
63
+ return "API key is required";
64
+ }
65
+ // eslint-disable-next-line @elsikora/sonar/no-redundant-jump
66
+ return;
67
+ });
68
+ // Create new configuration with the provided API key
69
+ llmConfig = new LLMConfiguration(llmConfig.getProvider(), new ApiKey(credentialValue), llmConfig.getMode(), llmConfig.getModel(), llmConfig.getMaxRetries(), llmConfig.getValidationMaxRetries());
70
+ }
71
+ }
72
+ else if (config.mode === ECommitMode.AUTO && !llmConfig) {
73
+ // User wants to use existing config but API key is missing
74
+ const environmentVariableNames = {
75
+ anthropic: "ANTHROPIC_API_KEY",
76
+ "aws-bedrock": "AWS_BEDROCK_API_KEY",
77
+ "azure-openai": "AZURE_OPENAI_API_KEY",
78
+ google: "GOOGLE_API_KEY",
79
+ ollama: "OLLAMA_API_KEY",
80
+ openai: "OPENAI_API_KEY",
81
+ };
82
+ const environmentVariableName = environmentVariableNames[config.provider] ?? "";
83
+ cliInterface.warn(`API key not found in ${environmentVariableName} environment variable.`);
84
+ // Ask for API key
85
+ const { hint, prompt } = this.getApiKeyPromptInfo(config.provider);
86
+ const credentialValue = await cliInterface.text(prompt, hint, "", (value) => {
87
+ if (!value || value.trim().length === 0) {
88
+ return "API key is required";
89
+ }
90
+ // eslint-disable-next-line @elsikora/sonar/no-redundant-jump
91
+ return;
92
+ });
93
+ // Create new configuration with the provided API key
94
+ const maxRetries = config.maxRetries ?? DEFAULT_MAX_RETRIES;
95
+ const validationMaxRetries = config.validationMaxRetries ?? DEFAULT_VALIDATION_MAX_RETRIES;
96
+ llmConfig = new LLMConfiguration(config.provider, new ApiKey(credentialValue), config.mode, config.model, maxRetries, validationMaxRetries);
97
+ }
98
+ }
99
+ else {
100
+ // No configuration at all
101
+ cliInterface.info("No configuration found. Let's set it up!");
102
+ llmConfig = await configureLLMUseCase.configureInteractively();
103
+ // Check if we need to prompt for API key after configuration
104
+ if (llmConfig.isAutoMode() && llmConfig.getApiKey().getValue() === "will-prompt-on-use") {
105
+ // Ask for API key
106
+ const { hint, prompt } = this.getApiKeyPromptInfo(llmConfig.getProvider());
107
+ const credentialValue = await cliInterface.text(prompt, hint, "", (value) => {
108
+ if (!value || value.trim().length === 0) {
109
+ return "API key is required";
110
+ }
111
+ // eslint-disable-next-line @elsikora/sonar/no-redundant-jump
112
+ return;
113
+ });
114
+ // Create new configuration with the provided API key
115
+ llmConfig = new LLMConfiguration(llmConfig.getProvider(), new ApiKey(credentialValue), llmConfig.getMode(), llmConfig.getModel(), llmConfig.getMaxRetries(), llmConfig.getValidationMaxRetries());
116
+ }
117
+ }
118
+ // Configuration should exist at this point
119
+ if (!llmConfig) {
120
+ throw new Error("Failed to configure LLM settings");
121
+ }
122
+ // Check commit mode
123
+ if (llmConfig.isManualMode()) {
124
+ cliInterface.info("Using manual commit mode...");
125
+ const commitMessage = await manualCommitUseCase.execute(promptContext);
126
+ commit(commitMessage.toString());
127
+ return;
128
+ }
129
+ // Auto mode - set LLM configuration on validator if it supports it
130
+ const validator = this.CONTAINER.get(CommitValidatorToken) ?? {};
131
+ if (validator instanceof CommitlintValidatorService) {
132
+ validator.setLLMConfiguration(llmConfig);
133
+ }
134
+ // Auto mode - generate with AI
135
+ cliInterface.info("Using AI-powered commit mode...");
136
+ try {
137
+ // Generate commit message
138
+ cliInterface.startSpinner("Generating commit message with AI...");
139
+ let generatedMessage;
140
+ try {
141
+ generatedMessage = await generateCommitUseCase.execute(promptContext, llmConfig, (attempt, maxRetries, error) => {
142
+ cliInterface.updateSpinner(`Generating commit message with AI... (Attempt ${attempt}/${maxRetries} failed: ${error.message})`);
143
+ });
144
+ }
145
+ catch (genError) {
146
+ cliInterface.stopSpinner();
147
+ throw genError;
148
+ }
149
+ cliInterface.stopSpinner();
150
+ cliInterface.success("AI generated initial commit message");
151
+ // Validate and fix if needed
152
+ cliInterface.startSpinner("Validating commit message format...");
153
+ // Track validation attempts
154
+ let lastValidationAttempt = 0;
155
+ const originalValidate = validateCommitUseCase.validate.bind(validateCommitUseCase);
156
+ validateCommitUseCase.validate = async (message) => {
157
+ lastValidationAttempt++;
158
+ if (lastValidationAttempt > 1) {
159
+ cliInterface.updateSpinner(`Validating commit message format... (attempt ${lastValidationAttempt})`);
160
+ }
161
+ return originalValidate(message);
162
+ };
163
+ const validatedMessage = await validateCommitUseCase.execute(generatedMessage, true, llmConfig.getValidationMaxRetries(), promptContext);
164
+ cliInterface.stopSpinner();
165
+ // Restore original validate method
166
+ validateCommitUseCase.validate = originalValidate;
167
+ if (!validatedMessage) {
168
+ cliInterface.warn("Could not generate a valid commit message. Switching to manual mode...");
169
+ const commitMessage = await manualCommitUseCase.execute(promptContext);
170
+ commit(commitMessage.toString());
171
+ return;
172
+ }
173
+ // Show the generated message
174
+ cliInterface.success("AI generated commit message successfully!");
175
+ cliInterface.note("Generated commit message:", validatedMessage.toString());
176
+ // Ask for confirmation
177
+ const isConfirmed = await cliInterface.confirm("Do you want to proceed with this commit message?", true);
178
+ if (isConfirmed) {
179
+ commit(validatedMessage.toString());
180
+ }
181
+ else {
182
+ cliInterface.info("Switching to manual mode to edit the message...");
183
+ const commitMessage = await manualCommitUseCase.execute(promptContext);
184
+ commit(commitMessage.toString());
185
+ }
186
+ }
187
+ catch (error) {
188
+ // Check if it's a retry exhaustion error
189
+ if (error instanceof Error && error.message.includes("Failed to generate commit message after")) {
190
+ cliInterface.error(error.message);
191
+ }
192
+ else {
193
+ cliInterface.handleError("Error generating commit with AI:", error);
194
+ }
195
+ cliInterface.warn("Falling back to manual commit entry...");
196
+ const commitMessage = await manualCommitUseCase.execute(promptContext);
197
+ commit(commitMessage.toString());
198
+ }
199
+ }
200
+ catch (error) {
201
+ if (error instanceof Error && error.message === "User canceled the commit") {
202
+ throw error;
203
+ }
204
+ console.error("Error in commitizen adapter:", error);
205
+ throw error;
206
+ }
207
+ }
208
+ /**
209
+ * Extract LLM prompt context from commitlint rules and prompts
210
+ * @param {QualifiedRules} rules - The commitlint rules
211
+ * @param {UserPromptConfig} prompts - The user prompt configuration
212
+ * @returns {ILlmPromptContext} The extracted LLM prompt context
213
+ */
214
+ extractLlmPromptContext(rules, prompts) {
215
+ const context = {
216
+ rules: rules, // Pass all commitlint rules to the LLM
217
+ subject: {},
218
+ };
219
+ // Extract type information
220
+ if (rules["type-enum"]) {
221
+ const types = rules["type-enum"][TYPE_ENUM_INDEX];
222
+ if (Array.isArray(types)) {
223
+ context.typeEnum = types;
224
+ }
225
+ }
226
+ // Extract type descriptions from prompts
227
+ if (prompts.questions?.type?.enum) {
228
+ context.typeDescriptions = {};
229
+ for (const [key, value] of Object.entries(prompts.questions.type.enum)) {
230
+ if (typeof value === "object" && value && "description" in value && typeof value.description === "string") {
231
+ const enumValue = value;
232
+ context.typeDescriptions[key] = {
233
+ description: enumValue.description,
234
+ emoji: enumValue.emoji,
235
+ };
236
+ }
237
+ }
238
+ }
239
+ // Extract subject rules
240
+ if (rules["subject-max-length"]) {
241
+ const maxLength = rules["subject-max-length"][TYPE_ENUM_INDEX];
242
+ if (typeof maxLength === "number") {
243
+ context.subject.maxLength = maxLength;
244
+ }
245
+ }
246
+ if (rules["subject-min-length"]) {
247
+ const minLength = rules["subject-min-length"][TYPE_ENUM_INDEX];
248
+ if (typeof minLength === "number") {
249
+ context.subject.minLength = minLength;
250
+ }
251
+ }
252
+ // Add descriptions from prompts
253
+ if (prompts.questions?.type?.description) {
254
+ context.typeDescription = prompts.questions.type.description;
255
+ }
256
+ if (prompts.questions?.scope?.description) {
257
+ context.scopeDescription = prompts.questions.scope.description;
258
+ }
259
+ if (prompts.questions?.subject?.description) {
260
+ context.subject.description = prompts.questions.subject.description;
261
+ }
262
+ if (prompts.questions?.body?.description) {
263
+ context.body = {
264
+ description: prompts.questions.body.description,
265
+ };
266
+ }
267
+ return context;
268
+ }
269
+ /**
270
+ * Get API key prompt information based on provider
271
+ * @param {string} provider - The LLM provider name
272
+ * @returns {{ hint: string; prompt: string }} The hint and prompt text for API key input
273
+ */
274
+ getApiKeyPromptInfo(provider) {
275
+ switch (provider) {
276
+ case "anthropic": {
277
+ return { hint: "sk-ant-...", prompt: "Enter your Anthropic API key for this session:" };
278
+ }
279
+ case "aws-bedrock": {
280
+ return { hint: "us-east-1|AKIA...|secret...", prompt: "Enter your AWS Bedrock credentials (region|access-key-id|secret-access-key):" };
281
+ }
282
+ case "azure-openai": {
283
+ return { hint: "https://your.openai.azure.com|key|deployment", prompt: "Enter your Azure OpenAI credentials (endpoint|api-key|deployment-name):" };
284
+ }
285
+ case "google": {
286
+ return { hint: "AIza...", prompt: "Enter your Google API key for this session:" };
287
+ }
288
+ case "ollama": {
289
+ return { hint: "localhost:11434", prompt: "Enter your Ollama host (host:port or host:port|custom-model):" };
290
+ }
291
+ case "openai": {
292
+ return { hint: "sk-...", prompt: "Enter your OpenAI API key for this session:" };
293
+ }
294
+ default: {
295
+ return { hint: "", prompt: "Enter your API key for this session:" };
296
+ }
297
+ }
298
+ }
299
+ }
300
+
301
+ export { CommitizenAdapter };
302
+ //# sourceMappingURL=commitizen.adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitizen.adapter.js","sources":["../../../../src/presentation/commitizen.adapter.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './commitizen.adapter';
package/index.cjs CHANGED
@@ -1,6 +1,5 @@
1
1
  /** @type {Awaited<typeof import('./lib/index.js')>['prompter']} */
2
- // eslint-disable-next-line no-undef
2
+
3
3
  exports.prompter = async (...arguments_) => {
4
- // eslint-disable-next-line @elsikora-unicorn/no-await-expression-member
5
4
  (await import("./dist/esm/index.js")).prompter(...arguments_);
6
5
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elsikora/commitizen-plugin-commitlint-ai",
3
- "version": "1.2.0",
3
+ "version": "2.0.0-dev.2",
4
4
  "description": "AI-powered Commitizen adapter with Commitlint integration",
5
5
  "keywords": [
6
6
  "conventional-changelog",
@@ -34,6 +34,7 @@
34
34
  "scripts": {
35
35
  "prebuild": "rimraf dist",
36
36
  "build": "npm run prebuild && rollup -c",
37
+ "build:test": "npm run prebuild && rollup -c rollup.test.config.js",
37
38
  "commit": "cz",
38
39
  "format": "prettier --check .",
39
40
  "format:fix": "prettier --write .",
@@ -44,7 +45,10 @@
44
45
  "lint:types": "tsc --noEmit",
45
46
  "lint:types:fix": "tsc --noEmit --skipLibCheck",
46
47
  "prepare": "husky",
47
- "release": "semantic-release"
48
+ "release": "semantic-release",
49
+ "test:all": "npm run test:unit && npm run test:e2e",
50
+ "test:e2e": "npm run build:test && vitest --config vitest.e2e.config.js --typecheck.tsconfig tsconfig.json",
51
+ "test:unit": "vitest run test/unit --config vitest.unit.config.js"
48
52
  },
49
53
  "config": {
50
54
  "commitizen": {
@@ -52,48 +56,61 @@
52
56
  }
53
57
  },
54
58
  "dependencies": {
55
- "@anthropic-ai/sdk": "^0.39.0",
56
- "@commitlint/ensure": "^19.5.0",
57
- "@commitlint/load": "^19.6.1",
58
- "@commitlint/types": "^19.5.0",
59
+ "@anthropic-ai/claude-code": "^1.0.3",
60
+ "@anthropic-ai/sdk": "^0.52.0",
61
+ "@aws-sdk/client-bedrock-runtime": "^3.726.0",
62
+ "@commitlint/ensure": "^19.8.1",
63
+ "@commitlint/lint": "^19.8.1",
64
+ "@commitlint/load": "^19.8.1",
65
+ "@commitlint/types": "^19.8.1",
66
+ "@elsikora/cladi": "^2.0.2",
67
+ "@google/generative-ai": "^0.21.0",
59
68
  "@rollup/plugin-typescript": "^12.1.2",
60
69
  "chalk": "^5.4.1",
61
- "dotenv": "^16.4.7",
70
+ "cosmiconfig": "^9.0.0",
71
+ "dotenv": "^16.5.0",
72
+ "javascript-stringify": "^2.1.0",
62
73
  "lodash.isplainobject": "^4.0.6",
63
- "openai": "^4.86.1",
64
- "rollup": "^4.34.9",
65
- "word-wrap": "^1.2.5"
74
+ "openai": "^4.103.0",
75
+ "ora": "^8.2.0",
76
+ "prompts": "^2.4.2",
77
+ "rollup": "^4.41.1",
78
+ "rollup-plugin-dts-path-alias": "^0.0.3",
79
+ "rollup-plugin-generate-package-json": "^3.2.0",
80
+ "word-wrap": "^1.2.5",
81
+ "yaml": "^2.8.0"
66
82
  },
67
83
  "devDependencies": {
68
- "@commitlint/cli": "^19.7.1",
69
- "@commitlint/config-conventional": "^19.7.1",
70
- "@commitlint/cz-commitlint": "^19.6.1",
71
- "@elsikora/eslint-config": "^3.3.4",
84
+ "@commitlint/cli": "^19.8.1",
85
+ "@commitlint/config-conventional": "^19.8.1",
86
+ "@commitlint/cz-commitlint": "^19.8.1",
87
+ "@elsikora/eslint-config": "^3.9.0",
72
88
  "@saithodev/semantic-release-backmerge": "^4.0.1",
73
89
  "@semantic-release/changelog": "^6.0.3",
74
90
  "@semantic-release/commit-analyzer": "^13.0.1",
75
91
  "@semantic-release/git": "^10.0.1",
76
- "@semantic-release/github": "^11.0.1",
92
+ "@semantic-release/github": "^11.0.2",
77
93
  "@semantic-release/npm": "^12.0.1",
78
94
  "@semantic-release/release-notes-generator": "^14.0.3",
79
- "@types/inquirer": "^9.0.7",
80
95
  "@types/lodash.isfunction": "^3.0.9",
81
96
  "@types/lodash.isplainobject": "^4.0.9",
97
+ "@types/prompts": "^2.4.9",
98
+ "@vitest/coverage-v8": "^2.1.8",
82
99
  "commitizen": "^4.3.1",
83
- "conventional-changelog-conventionalcommits": "^8.0.0",
84
- "eslint": "^9.21.0",
85
- "eslint-plugin-n": "^17.16.1",
100
+ "conventional-changelog-conventionalcommits": "^9.0.0",
101
+ "eslint": "^9.27.0",
102
+ "eslint-plugin-n": "^17.18.0",
86
103
  "husky": "^9.1.7",
87
- "lint-staged": "^15.4.3",
104
+ "lint-staged": "^16.0.0",
88
105
  "lodash.isfunction": "^3.0.9",
89
- "prettier": "^3.5.2",
106
+ "prettier": "^3.5.3",
90
107
  "rimraf": "^6.0.1",
91
- "semantic-release": "^24.2.3",
92
- "typescript": "^5.7.3"
108
+ "semantic-release": "^24.2.5",
109
+ "typescript": "^5.8.3",
110
+ "vitest": "^2.1.8"
93
111
  },
94
112
  "peerDependencies": {
95
- "commitizen": "^4.0.3",
96
- "inquirer": "^9.0.0"
113
+ "commitizen": "^4.0.3"
97
114
  },
98
115
  "publishConfig": {
99
116
  "access": "public"
@@ -1,6 +0,0 @@
1
- import type { QualifiedRules, UserPromptConfig } from "@commitlint/types";
2
- import type { Answers, DistinctQuestion } from "inquirer";
3
- export default function ManualProcess(rules: QualifiedRules, prompts: UserPromptConfig, inquirer: {
4
- prompt(questions: Array<DistinctQuestion>): Promise<Answers>;
5
- }): Promise<string>;
6
- //# sourceMappingURL=ManualProcess.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ManualProcess.d.ts","sourceRoot":"","sources":["../../src/ManualProcess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAU1D,wBAA8B,aAAa,CAC1C,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE;IACT,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7D,GACC,OAAO,CAAC,MAAM,CAAC,CA4IjB"}
@@ -1,111 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var chalk = require('chalk');
6
- var commitlintConfig = require('./services/commitlintConfig.js');
7
- var prompts = require('./store/prompts.js');
8
-
9
- async function ManualProcess(rules, prompts$1, inquirer) {
10
- prompts.setPromptConfig(prompts$1);
11
- // Extract context from commitlint config
12
- const promptContext = commitlintConfig.extractLLMPromptContext(rules, prompts$1);
13
- // Message removed as it's now handled in the index.ts file
14
- // Manual entry prompts
15
- const commitQuestions = [
16
- {
17
- choices: promptContext.typeEnum?.map((type) => {
18
- const desc = promptContext.typeDescriptions?.[type]?.description ?? "";
19
- const emoji = promptContext.typeDescriptions?.[type]?.emoji ?? "";
20
- // Remove emoji from description if it already appears at the beginning
21
- let cleanDesc = desc;
22
- if (emoji && desc.startsWith(emoji)) {
23
- cleanDesc = desc.slice(emoji.length).trim();
24
- }
25
- return {
26
- // eslint-disable-next-line @elsikora-sonar/no-nested-template-literals
27
- name: `${type}${emoji ? ` ${emoji}` : ""}: ${cleanDesc}`,
28
- value: type,
29
- };
30
- }) ?? [],
31
- message: promptContext.typeDescription ?? "Select the type of change that you're committing:",
32
- name: "type",
33
- type: "list",
34
- },
35
- {
36
- message: promptContext.scopeDescription ?? 'What is the scope of this change:\n - Use component, directory or area of codebase\n - Use comma-separated list for multiple areas\n - Type "global" for project-wide changes\n - Press enter to skip if scope is not applicable',
37
- name: "scope",
38
- type: "input",
39
- },
40
- {
41
- message: promptContext.subject.description ?? "Write a short, imperative mood description of the change:",
42
- name: "subject",
43
- type: "input",
44
- // eslint-disable-next-line @elsikora-typescript/explicit-function-return-type
45
- validate: (input) => {
46
- if (!input)
47
- return "Subject is required";
48
- return true;
49
- },
50
- },
51
- {
52
- message: promptContext.body?.description ?? "Provide a longer description of the change: (press enter to skip)",
53
- name: "body",
54
- type: "input",
55
- },
56
- {
57
- // eslint-disable-next-line @elsikora-typescript/naming-convention
58
- default: false,
59
- message: "Are there any breaking changes?",
60
- name: "isBreaking",
61
- type: "confirm",
62
- },
63
- {
64
- message: "Describe the breaking changes:",
65
- name: "breakingBody",
66
- type: "input",
67
- // eslint-disable-next-line @elsikora-typescript/no-unsafe-return
68
- when: (answers) => answers.isBreaking,
69
- },
70
- ];
71
- // First get all commit details
72
- // @ts-ignore
73
- const answers = await inquirer.prompt(commitQuestions);
74
- // Construct message from manual answers
75
- // eslint-disable-next-line @elsikora-typescript/restrict-template-expressions,@elsikora-sonar/no-nested-template-literals
76
- const header = `${answers.type}${answers.scope ? `(${answers.scope})` : ""}: ${answers.subject}`;
77
- let body = "";
78
- if (answers.isBreaking) {
79
- // eslint-disable-next-line @elsikora-typescript/restrict-template-expressions
80
- body = `BREAKING CHANGE: ${answers.breakingBody || "This commit introduces breaking changes."}\n\n`;
81
- }
82
- if (answers.body) {
83
- // eslint-disable-next-line @elsikora-typescript/restrict-plus-operands
84
- body += answers.body;
85
- }
86
- const commitMessage = [header, body].filter(Boolean).join("\n\n");
87
- // Display the commit message to the user
88
- console.log("\n" + chalk.yellow("Your commit message:"));
89
- console.log(chalk.white("-----------------------------------"));
90
- console.log(chalk.white(commitMessage));
91
- console.log(chalk.white("-----------------------------------\n"));
92
- // Now ask for confirmation
93
- const { confirmCommit } = await inquirer.prompt([
94
- {
95
- // eslint-disable-next-line @elsikora-typescript/naming-convention
96
- default: true,
97
- message: "Are you sure you want to proceed with the commit above?",
98
- name: "confirmCommit",
99
- type: "confirm",
100
- },
101
- ]);
102
- // Check confirmation
103
- if (!confirmCommit) {
104
- console.log(chalk.yellow("Commit canceled."));
105
- throw new Error("User canceled the commit");
106
- }
107
- return commitMessage;
108
- }
109
-
110
- exports.default = ManualProcess;
111
- //# sourceMappingURL=ManualProcess.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ManualProcess.js","sources":["../../../src/ManualProcess.ts"],"sourcesContent":[null],"names":["prompts","setPromptConfig","extractLLMPromptContext"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import type { QualifiedRules, UserPromptConfig } from "@commitlint/types";
2
- import type { Answers, DistinctQuestion } from "inquirer";
3
- export default function Process(rules: QualifiedRules, prompts: UserPromptConfig, inquirer: {
4
- prompt(questions: Array<DistinctQuestion>): Promise<Answers>;
5
- }): Promise<string>;
6
- //# sourceMappingURL=Process.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Process.d.ts","sourceRoot":"","sources":["../../src/Process.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAa1D,wBAA8B,OAAO,CACpC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE;IACT,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7D,GACC,OAAO,CAAC,MAAM,CAAC,CAsMjB"}