@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
@@ -0,0 +1,40 @@
1
+ import type { ILlmPromptContext, ILlmService } from "../../application/interface/llm-service.interface.js";
2
+ import type { LLMConfiguration } from "../../domain/entity/llm-configuration.entity.js";
3
+ import { CommitMessage } from "../../domain/entity/commit-message.entity.js";
4
+ /**
5
+ * Anthropic implementation of the LLM service
6
+ */
7
+ export declare class AnthropicLlmService implements ILlmService {
8
+ /**
9
+ * Generate a commit message using Anthropic Claude
10
+ * @param context - The context for generating the commit message
11
+ * @param configuration - The LLM configuration
12
+ * @returns Promise resolving to the generated commit message
13
+ */
14
+ generateCommitMessage(context: ILlmPromptContext, configuration: LLMConfiguration): Promise<CommitMessage>;
15
+ /**
16
+ * Check if the service supports the given configuration
17
+ * @param configuration - The LLM configuration to check
18
+ * @returns True if the service supports the configuration
19
+ */
20
+ supports(configuration: LLMConfiguration): boolean;
21
+ /**
22
+ * Build the prompt for Anthropic
23
+ * @param context - The prompt context
24
+ * @returns The prompt
25
+ */
26
+ private buildPrompt;
27
+ /**
28
+ * Format commitlint rules into human-readable instructions
29
+ * @param rules - The commitlint rules object
30
+ * @returns Formatted rules as string
31
+ */
32
+ private formatCommitlintRules;
33
+ /**
34
+ * Parse the commit message from the LLM response
35
+ * @param content - The response content
36
+ * @returns The parsed commit message
37
+ */
38
+ private parseCommitMessage;
39
+ }
40
+ //# sourceMappingURL=anthropic-llm.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic-llm.service.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/llm/anthropic-llm.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAMxF,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAK7E;;GAEG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IACtD;;;;;OAKG;IACG,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IA6BhH;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,OAAO;IAIlD;;;;OAIG;IACH,OAAO,CAAC,WAAW;IA4HnB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAuH7B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;CA6E1B"}
@@ -0,0 +1,308 @@
1
+ import Anthropic from '@anthropic-ai/sdk';
2
+ import { OPENAI_TEMPERATURE, OPENAI_MAX_TOKENS, RULE_CONFIG_LENGTH, VALIDATION_LEVEL_DISABLED, RULE_VALUE_INDEX, MIN_RULE_LENGTH, VALIDATION_LEVEL_ERROR } from '../../domain/constant/numeric.constant.js';
3
+ import { CommitMessage } from '../../domain/entity/commit-message.entity.js';
4
+ import { EAnthropicModel } from '../../domain/enum/anthropic-model.enum.js';
5
+ import { CommitBody } from '../../domain/value-object/commit-body.value-object.js';
6
+ import { CommitHeader } from '../../domain/value-object/commit-header.value-object.js';
7
+
8
+ /**
9
+ * Anthropic implementation of the LLM service
10
+ */
11
+ class AnthropicLlmService {
12
+ /**
13
+ * Generate a commit message using Anthropic Claude
14
+ * @param context - The context for generating the commit message
15
+ * @param configuration - The LLM configuration
16
+ * @returns Promise resolving to the generated commit message
17
+ */
18
+ async generateCommitMessage(context, configuration) {
19
+ const anthropic = new Anthropic({
20
+ apiKey: configuration.getApiKey().getValue(),
21
+ });
22
+ const prompt = this.buildPrompt(context);
23
+ const response = await anthropic.messages.create({
24
+ max_tokens: OPENAI_MAX_TOKENS,
25
+ messages: [
26
+ {
27
+ content: prompt,
28
+ role: "user",
29
+ },
30
+ ],
31
+ model: configuration.getModel() ?? EAnthropicModel.CLAUDE_SONNET_4,
32
+ temperature: OPENAI_TEMPERATURE,
33
+ });
34
+ const content = response.content[0];
35
+ if (!content || content.type !== "text") {
36
+ throw new Error("No response from Anthropic");
37
+ }
38
+ // Type guard ensures content is TextBlock here
39
+ return this.parseCommitMessage(content.text);
40
+ }
41
+ /**
42
+ * Check if the service supports the given configuration
43
+ * @param configuration - The LLM configuration to check
44
+ * @returns True if the service supports the configuration
45
+ */
46
+ supports(configuration) {
47
+ return configuration.getProvider() === "anthropic";
48
+ }
49
+ /**
50
+ * Build the prompt for Anthropic
51
+ * @param context - The prompt context
52
+ * @returns The prompt
53
+ */
54
+ buildPrompt(context) {
55
+ let prompt = "";
56
+ // Check if this is a fix operation
57
+ const isFixing = !!(context.rules && typeof context.rules === "object" && !Array.isArray(context.rules) && context.rules.validationErrors && context.rules.previousAttempt && context.diff === undefined);
58
+ if (isFixing) {
59
+ prompt = "Fix the following commit message to comply with validation rules. Maintain the original meaning and content while fixing only the format issues.\n\n";
60
+ }
61
+ else {
62
+ prompt = "Generate a conventional commit message based on the following context and rules.\n\n";
63
+ }
64
+ // Add validation error context if present
65
+ if (context.rules?.validationErrors && Array.isArray(context.rules.validationErrors)) {
66
+ prompt += "IMPORTANT: The previous commit message had validation errors that must be fixed:\n";
67
+ for (const error of context.rules.validationErrors) {
68
+ prompt += `- ${error}\n`;
69
+ }
70
+ prompt += "\nMake sure the new commit message fixes all these errors.\n\n";
71
+ }
72
+ // Include previous attempt
73
+ if (context.rules?.previousAttempt && typeof context.rules.previousAttempt === "string") {
74
+ if (isFixing) {
75
+ prompt += `Commit message to fix:\n${context.rules.previousAttempt}\n\n`;
76
+ }
77
+ else {
78
+ prompt += `Previous attempt (with errors):\n${context.rules.previousAttempt}\n\n`;
79
+ }
80
+ }
81
+ // Add all commitlint rules
82
+ if (context.rules && typeof context.rules === "object" && !Array.isArray(context.rules)) {
83
+ const formattedRules = this.formatCommitlintRules(context.rules);
84
+ if (formattedRules) {
85
+ prompt += "Commit message rules:\n" + formattedRules + "\n\n";
86
+ }
87
+ }
88
+ if (context.typeEnum && context.typeEnum.length > 0) {
89
+ prompt += `Available commit types: ${context.typeEnum.join(", ")}\n`;
90
+ }
91
+ if (context.typeDescriptions) {
92
+ prompt += "\nType descriptions:\n";
93
+ for (const [type, desc] of Object.entries(context.typeDescriptions)) {
94
+ const emoji = desc.emoji ? ` ${desc.emoji}` : "";
95
+ prompt += `- ${type}: ${desc.description}${emoji}\n`;
96
+ }
97
+ }
98
+ if (context.subject.maxLength) {
99
+ prompt += `\nSubject must be at most ${context.subject.maxLength} characters.`;
100
+ }
101
+ if (context.subject.minLength) {
102
+ prompt += `\nSubject must be at least ${context.subject.minLength} characters.`;
103
+ }
104
+ // Extract body/footer line length rules
105
+ let bodyMaxLength;
106
+ let footerMaxLength;
107
+ if (context.rules && typeof context.rules === "object" && !Array.isArray(context.rules)) {
108
+ // Extract body-max-line-length
109
+ const bodyRule = context.rules["body-max-line-length"];
110
+ if (Array.isArray(bodyRule) && bodyRule.length >= RULE_CONFIG_LENGTH && bodyRule[0] > VALIDATION_LEVEL_DISABLED && typeof bodyRule[RULE_VALUE_INDEX] === "number") {
111
+ bodyMaxLength = bodyRule[RULE_VALUE_INDEX];
112
+ }
113
+ // Extract footer-max-line-length
114
+ const footerRule = context.rules["footer-max-line-length"];
115
+ if (Array.isArray(footerRule) && footerRule.length >= RULE_CONFIG_LENGTH && footerRule[0] > VALIDATION_LEVEL_DISABLED && typeof footerRule[RULE_VALUE_INDEX] === "number") {
116
+ footerMaxLength = footerRule[RULE_VALUE_INDEX];
117
+ }
118
+ }
119
+ // Add body formatting rules if line length rules exist
120
+ if (bodyMaxLength || footerMaxLength) {
121
+ prompt += "\n\nIMPORTANT: Body formatting rules:";
122
+ prompt += "\n- The 'body' field in the JSON corresponds to the commit message body/footer";
123
+ if (bodyMaxLength) {
124
+ prompt += `\n- Each line in the body must be wrapped to not exceed ${bodyMaxLength} characters`;
125
+ }
126
+ if (footerMaxLength) {
127
+ prompt += `\n- Footer lines must be wrapped to not exceed ${footerMaxLength} characters`;
128
+ }
129
+ prompt += "\n- The 'breaking' field also follows the same line length rules";
130
+ prompt += "\n- Use line breaks (\\n) to wrap long lines";
131
+ prompt += "\n- Empty lines between paragraphs are allowed";
132
+ }
133
+ // Only include changes if we're generating (not fixing)
134
+ if (!isFixing) {
135
+ prompt += "\n\nChanges:\n";
136
+ if (context.diff) {
137
+ prompt += `Diff:\n${context.diff}\n\n`;
138
+ }
139
+ if (context.files) {
140
+ prompt += `Files changed:\n${context.files}\n\n`;
141
+ }
142
+ }
143
+ if (context.rules && typeof context.rules === "object" && !Array.isArray(context.rules) && context.rules.instructions && typeof context.rules.instructions === "string") {
144
+ prompt += `${context.rules.instructions}\n\n`;
145
+ }
146
+ prompt += "\n\nGenerate a commit message in the following JSON format:\n";
147
+ prompt += '{\n "type": "commit type",\n "scope": "optional scope",\n "subject": "commit subject",\n "body": "optional body",\n "breaking": "optional breaking change description"\n}';
148
+ prompt += "\n\nRespond ONLY with the JSON object, no additional text, no markdown code blocks, just the raw JSON.";
149
+ prompt += "\n\nIMPORTANT: Follow ALL the rules listed above. The commit message MUST pass validation.";
150
+ return prompt;
151
+ }
152
+ /**
153
+ * Format commitlint rules into human-readable instructions
154
+ * @param rules - The commitlint rules object
155
+ * @returns Formatted rules as string
156
+ */
157
+ formatCommitlintRules(rules) {
158
+ const formattedRules = [];
159
+ for (const [ruleName, ruleConfig] of Object.entries(rules)) {
160
+ if (!Array.isArray(ruleConfig) || ruleConfig.length < MIN_RULE_LENGTH)
161
+ continue;
162
+ const [level, condition, value] = ruleConfig;
163
+ if (level === VALIDATION_LEVEL_DISABLED)
164
+ continue; // Skip disabled rules
165
+ const isError = level === VALIDATION_LEVEL_ERROR;
166
+ const prefix = isError ? "MUST" : "SHOULD";
167
+ const conditionString = String(condition);
168
+ switch (ruleName) {
169
+ case "body-max-line-length": {
170
+ if (typeof value === "number") {
171
+ formattedRules.push(`Body lines ${prefix} be at most ${value} characters (wrap long lines with line breaks)`);
172
+ }
173
+ break;
174
+ }
175
+ case "footer-max-line-length": {
176
+ if (typeof value === "number") {
177
+ formattedRules.push(`Footer lines ${prefix} be at most ${value} characters (Note: the 'body' field is treated as footer, wrap long lines)`);
178
+ }
179
+ break;
180
+ }
181
+ case "header-max-length": {
182
+ if (typeof value === "number") {
183
+ formattedRules.push(`Header (type(scope): subject) ${prefix} be at most ${value} characters`);
184
+ }
185
+ break;
186
+ }
187
+ case "scope-case": {
188
+ if (Array.isArray(value)) {
189
+ formattedRules.push(`Scope ${prefix} be in ${value.join(" or ")} case`);
190
+ }
191
+ break;
192
+ }
193
+ case "scope-enum": {
194
+ if (conditionString === "always" && Array.isArray(value)) {
195
+ formattedRules.push(`Scope ${prefix} be one of: ${value.join(", ")}`);
196
+ }
197
+ break;
198
+ }
199
+ case "subject-case": {
200
+ if (Array.isArray(value)) {
201
+ formattedRules.push(`Subject ${prefix} be in ${value.join(" or ")} case`);
202
+ }
203
+ break;
204
+ }
205
+ case "subject-empty": {
206
+ formattedRules.push(`Subject ${prefix} ${conditionString === "never" ? "not be empty" : "be empty"}`);
207
+ break;
208
+ }
209
+ case "subject-full-stop": {
210
+ formattedRules.push(`Subject ${prefix} ${conditionString === "never" ? "not end with a period" : "end with a period"}`);
211
+ break;
212
+ }
213
+ case "subject-max-length": {
214
+ if (typeof value === "number") {
215
+ formattedRules.push(`Subject ${prefix} be at most ${value} characters`);
216
+ }
217
+ break;
218
+ }
219
+ case "subject-min-length": {
220
+ if (typeof value === "number") {
221
+ formattedRules.push(`Subject ${prefix} be at least ${value} characters`);
222
+ }
223
+ break;
224
+ }
225
+ case "type-case": {
226
+ if (Array.isArray(value)) {
227
+ formattedRules.push(`Type ${prefix} be in ${value.join(" or ")} case`);
228
+ }
229
+ break;
230
+ }
231
+ case "type-enum": {
232
+ if (conditionString === "always" && Array.isArray(value)) {
233
+ formattedRules.push(`Type ${prefix} be one of: ${value.join(", ")}`);
234
+ }
235
+ break;
236
+ }
237
+ default: {
238
+ // Handle other rules generically
239
+ if (condition && value !== undefined) {
240
+ formattedRules.push(`${ruleName}: ${conditionString} ${JSON.stringify(value)}`);
241
+ }
242
+ }
243
+ }
244
+ }
245
+ return formattedRules.join("\n");
246
+ }
247
+ /**
248
+ * Parse the commit message from the LLM response
249
+ * @param content - The response content
250
+ * @returns The parsed commit message
251
+ */
252
+ parseCommitMessage(content) {
253
+ try {
254
+ // Clean up the content - remove markdown code blocks if present
255
+ let cleanContent = content.trim();
256
+ // Remove markdown code blocks - fixed regex
257
+ cleanContent = cleanContent.replace(/^```(?:json)?\s*/i, "").replace(/```$/m, "");
258
+ // Try to extract JSON if it's wrapped in other text - use safer approach
259
+ const firstBrace = cleanContent.indexOf("{");
260
+ const lastBrace = cleanContent.lastIndexOf("}");
261
+ if (firstBrace !== -1 && lastBrace !== -1 && lastBrace > firstBrace) {
262
+ cleanContent = cleanContent.slice(firstBrace, lastBrace + 1);
263
+ }
264
+ const parsed = JSON.parse(cleanContent);
265
+ // Validate required fields
266
+ if (!parsed.type || !parsed.subject) {
267
+ throw new Error("Missing required fields: type and subject");
268
+ }
269
+ const header = new CommitHeader(parsed.type, parsed.subject, parsed.scope);
270
+ // Strip "BREAKING CHANGE:" prefix if included in the breaking field
271
+ let breakingChange = parsed.breaking;
272
+ if (breakingChange?.startsWith("BREAKING CHANGE:")) {
273
+ breakingChange = breakingChange.slice("BREAKING CHANGE:".length).trim();
274
+ }
275
+ const body = new CommitBody(parsed.body, breakingChange);
276
+ return new CommitMessage(header, body);
277
+ }
278
+ catch {
279
+ // Fallback: try to parse as plain text
280
+ const lines = content.trim().split("\n");
281
+ const headerLine = lines[0];
282
+ // Parse header: type(scope): subject
283
+ const headerMatch = /^(\w+)(?:\(([^)]+)\))?: (.+)$/.exec(headerLine);
284
+ if (!headerMatch) {
285
+ throw new Error(`Invalid commit message format. Could not parse: "${headerLine}"`);
286
+ }
287
+ const [, type, scope, subject] = headerMatch;
288
+ const header = new CommitHeader(type, subject, scope);
289
+ // Parse body and breaking changes
290
+ let bodyContent = "";
291
+ let breakingChange;
292
+ for (let index = 1; index < lines.length; index++) {
293
+ const line = lines[index];
294
+ if (line.startsWith("BREAKING CHANGE:")) {
295
+ breakingChange = line.slice("BREAKING CHANGE:".length).trim();
296
+ }
297
+ else if (line.trim()) {
298
+ bodyContent += line + "\n";
299
+ }
300
+ }
301
+ const body = new CommitBody(bodyContent.trim() || undefined, breakingChange);
302
+ return new CommitMessage(header, body);
303
+ }
304
+ }
305
+ }
306
+
307
+ export { AnthropicLlmService };
308
+ //# sourceMappingURL=anthropic-llm.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic-llm.service.js","sources":["../../../../../src/infrastructure/llm/anthropic-llm.service.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import type { ILlmPromptContext, ILlmService } from "../../application/interface/llm-service.interface.js";
2
+ import type { LLMConfiguration } from "../../domain/entity/llm-configuration.entity.js";
3
+ import { CommitMessage } from "../../domain/entity/commit-message.entity.js";
4
+ /**
5
+ * AWS Bedrock implementation of the LLM service
6
+ */
7
+ export declare class AWSBedrockLlmService implements ILlmService {
8
+ /**
9
+ * Generate a commit message using AWS Bedrock
10
+ * @param context - The context for generating the commit message
11
+ * @param configuration - The LLM configuration
12
+ * @returns Promise resolving to the generated commit message
13
+ */
14
+ generateCommitMessage(context: ILlmPromptContext, configuration: LLMConfiguration): Promise<CommitMessage>;
15
+ /**
16
+ * Check if the service supports the given configuration
17
+ * @param configuration - The LLM configuration to check
18
+ * @returns True if the service supports the configuration
19
+ */
20
+ supports(configuration: LLMConfiguration): boolean;
21
+ /**
22
+ * Build the request body based on the model type
23
+ * @param modelId - The model ID
24
+ * @param systemPrompt - The system prompt
25
+ * @param userPrompt - The user prompt
26
+ * @returns The request body
27
+ */
28
+ private buildRequestBody;
29
+ /**
30
+ * Build the system prompt for AWS Bedrock
31
+ * @param context - The prompt context
32
+ * @returns The system prompt
33
+ */
34
+ private buildSystemPrompt;
35
+ /**
36
+ * Build the user prompt for AWS Bedrock
37
+ * @param context - The prompt context
38
+ * @returns The user prompt
39
+ */
40
+ private buildUserPrompt;
41
+ /**
42
+ * Extract the response content based on the model type
43
+ * @param modelId - The model ID
44
+ * @param responseBody - The response body
45
+ * @returns The extracted content
46
+ */
47
+ private extractResponseContent;
48
+ /**
49
+ * Format commitlint rules into human-readable instructions
50
+ * @param rules - The commitlint rules object
51
+ * @returns Formatted rules as string
52
+ */
53
+ private formatCommitlintRules;
54
+ /**
55
+ * Parse the commit message from the LLM response
56
+ * @param content - The response content
57
+ * @returns The parsed commit message
58
+ */
59
+ private parseCommitMessage;
60
+ }
61
+ //# sourceMappingURL=aws-bedrock-llm.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aws-bedrock-llm.service.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/llm/aws-bedrock-llm.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAKxF,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAe7E;;GAEG;AACH,qBAAa,oBAAqB,YAAW,WAAW;IACvD;;;;;OAKG;IACG,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IAiDhH;;;;OAIG;IACH,QAAQ,CAAC,aAAa,EAAE,gBAAgB,GAAG,OAAO;IAIlD;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IA6GxB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAkGzB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA2CvB;;;;;OAKG;IAEH,OAAO,CAAC,sBAAsB;IAgD9B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAuH7B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;CA6E1B"}