@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
@@ -1,46 +0,0 @@
1
- import type { PromptMessages, PromptName } from "@commitlint/types";
2
- import type { Answers, ChoiceCollection, DistinctQuestion } from "inquirer";
3
- import type { CaseFunction as CaseFunction } from "./utils/case-function.js";
4
- import type { FullStopFunction as FullStopFunction } from "./utils/full-stop-function.js";
5
- export type QuestionConfig = {
6
- caseFn?: CaseFunction;
7
- defaultValue?: string;
8
- enumList?: ChoiceCollection<{
9
- name: string;
10
- value: string;
11
- }> | null;
12
- fullStopFn?: FullStopFunction;
13
- maxLength?: number;
14
- messages: PromptMessages;
15
- minLength?: number;
16
- multipleSelectDefaultDelimiter?: string;
17
- multipleValueDelimiters?: RegExp;
18
- skip?: boolean;
19
- title: string;
20
- when?: DistinctQuestion["when"];
21
- };
22
- export default class Question {
23
- get maxLength(): number;
24
- set maxLength(maxLength: number);
25
- get minLength(): number;
26
- set minLength(minLength: number);
27
- get question(): Readonly<DistinctQuestion>;
28
- private _maxLength;
29
- private _minLength;
30
- private readonly _question;
31
- private readonly caseFn;
32
- private readonly fullStopFn;
33
- private readonly messages;
34
- private readonly multipleSelectDefaultDelimiter?;
35
- private readonly multipleValueDelimiters?;
36
- private readonly skip;
37
- private readonly title;
38
- constructor(name: PromptName, { caseFn, defaultValue, enumList, fullStopFn, maxLength, messages, minLength, multipleSelectDefaultDelimiter, multipleValueDelimiters, skip, title, when }: QuestionConfig);
39
- getMessage(key: string): string;
40
- protected beforeQuestionStart(_answers: Answers): void;
41
- protected decorateMessage(_answers: Answers): string;
42
- protected filter(input: Array<string> | string): string;
43
- protected transformer(input: string, _answers: Answers): string;
44
- protected validate(input: string): boolean | string;
45
- }
46
- //# sourceMappingURL=Question.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Question.d.ts","sourceRoot":"","sources":["../../src/Question.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpE,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5E,OAAO,KAAK,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,IAAI,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAO1F,MAAM,MAAM,cAAc,GAAG;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACd,CAAC,GAAG,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC5B,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,EAE9B;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,EAE9B;IAED,IAAI,QAAQ,IAAI,QAAQ,CAAC,gBAAgB,CAAC,CAEzC;IAED,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,UAAU,CAAS;IAE3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IAEvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IAEtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAE9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAE1C,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAC,CAAS;IAEzD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAS;IAElD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAE/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,IAAI,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,cAAc;IAiDxM,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAI/B,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAItD,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,MAAM;IA4BpD,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,MAAM;IAoBvD,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IAa/D,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM;CA4BnD"}
@@ -1,4 +0,0 @@
1
- import type { Answers, DistinctQuestion } from "inquirer";
2
- export declare function combineCommitMessage(answers: Answers): string;
3
- export declare function getQuestions(): Array<DistinctQuestion>;
4
- //# sourceMappingURL=SectionBody.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SectionBody.d.ts","sourceRoot":"","sources":["../../src/SectionBody.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAa1D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAuB7D;AAED,wBAAgB,YAAY,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAKtD"}
@@ -1,13 +0,0 @@
1
- import type { PromptName } from "@commitlint/types";
2
- import type { Answers, DistinctQuestion } from "inquirer";
3
- import type { QuestionConfig } from "./Question.js";
4
- import Question from "./Question.js";
5
- export declare class FooterQuestion extends Question {
6
- footerMaxLength: number;
7
- footerMinLength: number;
8
- constructor(name: PromptName, questionConfig: QuestionConfig, footerMaxLength?: number, footerMinLength?: number);
9
- beforeQuestionStart(answers: Answers): void;
10
- }
11
- export declare function combineCommitMessage(answers: Answers): string;
12
- export declare function getQuestions(): Array<DistinctQuestion>;
13
- //# sourceMappingURL=SectionFooter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SectionFooter.d.ts","sourceRoot":"","sources":["../../src/SectionFooter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAKpD,OAAO,QAAQ,MAAM,eAAe,CAAC;AAOrC,qBAAa,cAAe,SAAQ,QAAQ;IAC3C,eAAe,EAAE,MAAM,CAAC;IAExB,eAAe,EAAE,MAAM,CAAC;gBAEZ,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM;IAMhH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAK3C;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAiD7D;AAED,wBAAgB,YAAY,IAAI,KAAK,CAAC,gBAAgB,CAAC,CA+FtD"}
@@ -1,15 +0,0 @@
1
- import type { PromptName, RuleField } from "@commitlint/types";
2
- import type { Answers, DistinctQuestion } from "inquirer";
3
- import type { QuestionConfig } from "./Question.js";
4
- import Question from "./Question.js";
5
- import getRuleQuestionConfig from "./services/getRuleQuestionConfig.js";
6
- export declare class HeaderQuestion extends Question {
7
- headerMaxLength: number;
8
- headerMinLength: number;
9
- constructor(name: PromptName, questionConfig: QuestionConfig, headerMaxLength?: number, headerMinLength?: number);
10
- beforeQuestionStart(answers: Answers): void;
11
- }
12
- export declare function combineCommitMessage(answers: Answers): string;
13
- export declare function getQuestionConfig(name: RuleField): ReturnType<typeof getRuleQuestionConfig>;
14
- export declare function getQuestions(): Array<DistinctQuestion>;
15
- //# sourceMappingURL=SectionHeader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SectionHeader.d.ts","sourceRoot":"","sources":["../../src/SectionHeader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,qBAAqB,MAAM,qCAAqC,CAAC;AAGxE,qBAAa,cAAe,SAAQ,QAAQ;IAC3C,eAAe,EAAE,MAAM,CAAC;IAExB,eAAe,EAAE,MAAM,CAAC;gBAEZ,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM;IAMhH,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAK3C;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAO7D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAY3F;AAED,wBAAgB,YAAY,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAqBtD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAY1D,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACrE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAU9G,KAAK,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAkCxC;;;;;GAKG;AACH,wBAAsB,QAAQ,CAC7B,WAAW,EAAE;IACZ,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7D,EACD,MAAM,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAuCf"}
@@ -1,3 +0,0 @@
1
- import type { CommitConfig, LLMPromptContext } from "./llm";
2
- export declare const commitConfirmation: (promptContext: LLMPromptContext, commitConfig: CommitConfig) => Promise<string>;
3
- //# sourceMappingURL=commitConfirmation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commitConfirmation.d.ts","sourceRoot":"","sources":["../../../src/services/commitConfirmation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AA+F5D,eAAO,MAAM,kBAAkB,GAAU,eAAe,gBAAgB,EAAE,cAAc,YAAY,KAAG,OAAO,CAAC,MAAM,CAsCpH,CAAC"}
@@ -1,120 +0,0 @@
1
- import chalk from 'chalk';
2
- import inquirer from 'inquirer';
3
- import { constructCommitMessage } from './commitlintValidator.js';
4
-
5
- /* eslint-disable @elsikora/typescript/naming-convention */
6
- /* eslint-disable @elsikora/typescript/typedef */
7
- /* eslint-disable @elsikora/typescript/no-unsafe-assignment */
8
- const switcher = async (typeOfChange, promptContext, commitConfig) => {
9
- const newCommitConfig = { ...commitConfig };
10
- if (typeOfChange === "changeType") {
11
- const { type } = await inquirer.prompt([
12
- {
13
- choices: promptContext.typeEnum?.map((type) => {
14
- const desc = promptContext.typeDescriptions?.[type]?.description ?? "";
15
- const emoji = promptContext.typeDescriptions?.[type]?.emoji ?? "";
16
- // Remove emoji from description if it already appears at the beginning
17
- let cleanDesc = desc;
18
- if (emoji && desc.startsWith(emoji)) {
19
- cleanDesc = desc.slice(emoji.length).trim();
20
- }
21
- return {
22
- name: type + (emoji ? " " + emoji : "") + ": " + cleanDesc,
23
- value: type,
24
- };
25
- }) ?? [],
26
- message: promptContext.typeDescription ?? "Select the type of change that you're committing:",
27
- name: "type",
28
- type: "list",
29
- },
30
- ]);
31
- newCommitConfig.type = type;
32
- }
33
- if (typeOfChange === "changeScope") {
34
- const { scope } = await inquirer.prompt([
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',
37
- name: "scope",
38
- type: "input",
39
- },
40
- ]);
41
- newCommitConfig.scope = scope;
42
- }
43
- if (typeOfChange === "changeMessage") {
44
- const { message } = await inquirer.prompt([
45
- {
46
- message: promptContext.subject.description ?? "Write a short, imperative mood description of the change:",
47
- name: "message",
48
- type: "input",
49
- },
50
- ]);
51
- newCommitConfig.subject = message;
52
- }
53
- if (typeOfChange === "changeDescription") {
54
- const { descr } = await inquirer.prompt([
55
- {
56
- message: promptContext.body?.description ?? "Provide a longer description of the change",
57
- name: "descr",
58
- type: "input",
59
- },
60
- ]);
61
- newCommitConfig.body = descr;
62
- }
63
- if (typeOfChange === "markBreaking") {
64
- if (newCommitConfig.isBreaking) {
65
- newCommitConfig.isBreaking = false;
66
- newCommitConfig.breakingBody = "";
67
- }
68
- else {
69
- const { brakingMsg } = await inquirer.prompt([
70
- {
71
- message: "Provide a longer description of the breaking change. (Press enter to skip)",
72
- name: "brakingMsg",
73
- type: "input",
74
- },
75
- ]);
76
- newCommitConfig.isBreaking = true;
77
- newCommitConfig.breakingBody = brakingMsg;
78
- }
79
- }
80
- return newCommitConfig;
81
- };
82
- const commitConfirmation = async (promptContext, commitConfig) => {
83
- const { editCommit } = await inquirer.prompt([
84
- {
85
- choices: [
86
- { name: "Edit commit type", value: "changeType" },
87
- { name: "Edit commit scope", value: "changeScope" },
88
- { name: "Edit commit message", value: "changeMessage" },
89
- { name: "Edit commit description", value: "changeDescription" },
90
- { name: commitConfig.isBreaking ? "Unmark as containing braking changes" : "Mark as containing braking changes", value: "markBreaking" },
91
- ],
92
- message: "What do you want to do with the commit?",
93
- name: "editCommit",
94
- type: "list",
95
- },
96
- ]);
97
- const newCommitConfig = await switcher(editCommit, promptContext, commitConfig);
98
- const newMessage = constructCommitMessage(newCommitConfig);
99
- console.log(chalk.green("Commit edited successfully"));
100
- // Show the generated message to the user
101
- console.log("\n" + chalk.yellow("Edited commit message:"));
102
- console.log(chalk.white("-----------------------------------"));
103
- console.log(chalk.white(newMessage));
104
- console.log(chalk.white("-----------------------------------\n"));
105
- const { isConfirmCommit } = await inquirer.prompt([
106
- {
107
- default: true,
108
- message: "Are you sure you want to proceed with the commit above?",
109
- name: "isConfirmCommit",
110
- type: "confirm",
111
- },
112
- ]);
113
- if (isConfirmCommit)
114
- return newMessage;
115
- else
116
- return commitConfirmation(promptContext, newCommitConfig);
117
- };
118
-
119
- export { commitConfirmation };
120
- //# sourceMappingURL=commitConfirmation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commitConfirmation.js","sources":["../../../../src/services/commitConfirmation.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { QualifiedRules, UserPromptConfig } from "@commitlint/types";
2
- import type { LLMPromptContext } from "./llm/types.js";
3
- export declare function extractLLMPromptContext(rules: QualifiedRules, prompt: UserPromptConfig): LLMPromptContext;
4
- //# sourceMappingURL=commitlintConfig.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commitlintConfig.d.ts","sourceRoot":"","sources":["../../../src/services/commitlintConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAkB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAMvD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CA2PzG"}
@@ -1,196 +0,0 @@
1
- import { RuleConfigSeverity } from '@commitlint/types';
2
-
3
- // eslint-disable-next-line no-duplicate-imports
4
- // eslint-disable-next-line @elsikora-sonar/cognitive-complexity
5
- function extractLLMPromptContext(rules, prompt) {
6
- const context = {
7
- subject: {},
8
- };
9
- // Extract type enum
10
- if (rules["type-enum"] && rules["type-enum"][0] !== RuleConfigSeverity.Disabled) {
11
- const typeEnumRule = rules["type-enum"];
12
- if (typeEnumRule && typeEnumRule.length >= 3 && Array.isArray(typeEnumRule[2])) {
13
- context.typeEnum = typeEnumRule[2];
14
- }
15
- }
16
- // Extract type case rules
17
- if (rules["type-case"] && rules["type-case"][0] !== RuleConfigSeverity.Disabled) {
18
- const typeCaseRule = rules["type-case"];
19
- if (typeCaseRule && typeCaseRule.length >= 3) {
20
- context.typeCase = Array.isArray(typeCaseRule[2]) ? typeCaseRule[2] : [typeCaseRule[2]];
21
- }
22
- }
23
- // Extract type empty rules
24
- if (rules["type-empty"] && rules["type-empty"][0] !== RuleConfigSeverity.Disabled) {
25
- const typeEmptyRule = rules["type-empty"];
26
- if (typeEmptyRule && typeEmptyRule.length >= 2) {
27
- context.typeEmpty = typeEmptyRule[1] !== "never";
28
- }
29
- }
30
- // Extract type descriptions from prompt config
31
- if (prompt.questions?.type) {
32
- // Get the type description
33
- if (prompt.questions.type.description) {
34
- context.typeDescription = prompt.questions.type.description;
35
- }
36
- // Get the enum descriptions
37
- if (prompt.questions.type.enum) {
38
- // @ts-ignore
39
- context.typeDescriptions = prompt.questions.type.enum;
40
- }
41
- }
42
- // Extract scope case rules
43
- if (rules["scope-case"] && rules["scope-case"][0] !== RuleConfigSeverity.Disabled) {
44
- const scopeCaseRule = rules["scope-case"];
45
- if (scopeCaseRule && scopeCaseRule.length >= 3) {
46
- context.scopeCase = Array.isArray(scopeCaseRule[2]) ? scopeCaseRule[2] : [scopeCaseRule[2]];
47
- }
48
- }
49
- // Extract scope empty rules
50
- if (rules["scope-empty"] && rules["scope-empty"][0] !== RuleConfigSeverity.Disabled) {
51
- const scopeEmptyRule = rules["scope-empty"];
52
- if (scopeEmptyRule && scopeEmptyRule.length >= 2) {
53
- context.scopeEmpty = scopeEmptyRule[1] !== "never";
54
- }
55
- }
56
- // Extract scope max length
57
- if (rules["scope-max-length"] && rules["scope-max-length"][0] !== RuleConfigSeverity.Disabled) {
58
- const scopeMaxLengthRule = rules["scope-max-length"];
59
- if (scopeMaxLengthRule && scopeMaxLengthRule.length >= 3 && typeof scopeMaxLengthRule[2] === "number") {
60
- context.scopeMaxLength = scopeMaxLengthRule[2];
61
- }
62
- }
63
- // Extract case function options for subject
64
- if (rules["subject-case"] && rules["subject-case"][0] !== RuleConfigSeverity.Disabled) {
65
- const subjectCaseRule = rules["subject-case"];
66
- if (subjectCaseRule && subjectCaseRule.length >= 3) {
67
- context.subject.case = Array.isArray(subjectCaseRule[2]) ? subjectCaseRule[2] : [subjectCaseRule[2]];
68
- }
69
- }
70
- // Extract subject-empty rules
71
- if (rules["subject-empty"] && rules["subject-empty"][0] !== RuleConfigSeverity.Disabled) {
72
- const subjectEmptyRule = rules["subject-empty"];
73
- if (subjectEmptyRule && subjectEmptyRule.length >= 2) {
74
- context.subject.empty = subjectEmptyRule[1] !== "never";
75
- }
76
- }
77
- // Extract subject full-stop rules
78
- if (rules["subject-full-stop"] && rules["subject-full-stop"][0] !== RuleConfigSeverity.Disabled) {
79
- const subjectFullStopRule = rules["subject-full-stop"];
80
- if (subjectFullStopRule && subjectFullStopRule.length >= 3) {
81
- context.subject.fullStop = {
82
- // eslint-disable-next-line @elsikora-typescript/naming-convention
83
- required: subjectFullStopRule[1] === "always",
84
- // eslint-disable-next-line @elsikora-typescript/no-unsafe-assignment
85
- value: subjectFullStopRule[2],
86
- };
87
- }
88
- }
89
- // Extract scope and subject descriptions from prompt config
90
- if (prompt.questions?.scope?.description) {
91
- context.scopeDescription = prompt.questions.scope.description;
92
- }
93
- if (prompt.questions?.subject?.description) {
94
- context.subject.description = prompt.questions.subject.description;
95
- }
96
- // Extract header case rules
97
- if (rules["header-case"] && rules["header-case"][0] !== RuleConfigSeverity.Disabled) {
98
- const headerCaseRule = rules["header-case"];
99
- if (headerCaseRule && headerCaseRule.length >= 3) {
100
- context.headerCase = Array.isArray(headerCaseRule[2]) ? headerCaseRule[2] : [headerCaseRule[2]];
101
- }
102
- }
103
- // Extract header full-stop rules
104
- if (rules["header-full-stop"] && rules["header-full-stop"][0] !== RuleConfigSeverity.Disabled) {
105
- const headerFullStopRule = rules["header-full-stop"];
106
- if (headerFullStopRule && headerFullStopRule.length >= 3) {
107
- context.headerFullStop = {
108
- // eslint-disable-next-line @elsikora-typescript/naming-convention
109
- required: headerFullStopRule[1] === "always",
110
- // eslint-disable-next-line @elsikora-typescript/no-unsafe-assignment
111
- value: headerFullStopRule[2],
112
- };
113
- }
114
- }
115
- // Extract header max length
116
- if (rules["header-max-length"] && rules["header-max-length"][0] !== RuleConfigSeverity.Disabled) {
117
- const headerMaxLengthRule = rules["header-max-length"];
118
- if (headerMaxLengthRule && headerMaxLengthRule.length >= 3 && typeof headerMaxLengthRule[2] === "number") {
119
- context.headerMaxLength = headerMaxLengthRule[2];
120
- }
121
- }
122
- // Extract header min length
123
- if (rules["header-min-length"] && rules["header-min-length"][0] !== RuleConfigSeverity.Disabled) {
124
- const headerMinLengthRule = rules["header-min-length"];
125
- if (headerMinLengthRule && headerMinLengthRule.length >= 3 && typeof headerMinLengthRule[2] === "number") {
126
- context.headerMinLength = headerMinLengthRule[2];
127
- }
128
- }
129
- // Extract subject max length
130
- if (rules["subject-max-length"] && rules["subject-max-length"][0] !== RuleConfigSeverity.Disabled) {
131
- const subjectMaxLengthRule = rules["subject-max-length"];
132
- if (subjectMaxLengthRule && subjectMaxLengthRule.length >= 3 && typeof subjectMaxLengthRule[2] === "number") {
133
- context.subject.maxLength = subjectMaxLengthRule[2];
134
- }
135
- }
136
- // Extract subject min length
137
- if (rules["subject-min-length"] && rules["subject-min-length"][0] !== RuleConfigSeverity.Disabled) {
138
- const subjectMinLengthRule = rules["subject-min-length"];
139
- if (subjectMinLengthRule && subjectMinLengthRule.length >= 3 && typeof subjectMinLengthRule[2] === "number") {
140
- context.subject.minLength = subjectMinLengthRule[2];
141
- }
142
- }
143
- // Extract body related rules
144
- context.body = {};
145
- // Body max length
146
- if (rules["body-max-length"] && rules["body-max-length"][0] !== RuleConfigSeverity.Disabled) {
147
- const bodyMaxLengthRule = rules["body-max-length"];
148
- if (bodyMaxLengthRule && bodyMaxLengthRule.length >= 3 && typeof bodyMaxLengthRule[2] === "number") {
149
- context.body.maxLength = bodyMaxLengthRule[2];
150
- }
151
- }
152
- // Body max line length
153
- if (rules["body-max-line-length"] && rules["body-max-line-length"][0] !== RuleConfigSeverity.Disabled) {
154
- const bodyMaxLineLengthRule = rules["body-max-line-length"];
155
- if (bodyMaxLineLengthRule && bodyMaxLineLengthRule.length >= 3 && typeof bodyMaxLineLengthRule[2] === "number") {
156
- context.body.maxLineLength = bodyMaxLineLengthRule[2];
157
- }
158
- }
159
- // Body full-stop
160
- if (rules["body-full-stop"] && rules["body-full-stop"][0] !== RuleConfigSeverity.Disabled) {
161
- const bodyFullStopRule = rules["body-full-stop"];
162
- if (bodyFullStopRule && bodyFullStopRule.length >= 3) {
163
- context.body.fullStop = {
164
- // eslint-disable-next-line @elsikora-typescript/naming-convention
165
- required: bodyFullStopRule[1] === "always",
166
- // eslint-disable-next-line @elsikora-typescript/no-unsafe-assignment
167
- value: bodyFullStopRule[2],
168
- };
169
- }
170
- }
171
- // Body-leading-blank
172
- if (rules["body-leading-blank"] && rules["body-leading-blank"][0] !== RuleConfigSeverity.Disabled) {
173
- const bodyLeadingBlankRule = rules["body-leading-blank"];
174
- if (bodyLeadingBlankRule && bodyLeadingBlankRule.length >= 2) {
175
- context.body.leadingBlank = bodyLeadingBlankRule[1] === "always";
176
- }
177
- }
178
- // Footer-leading-blank
179
- if (rules["footer-leading-blank"] && rules["footer-leading-blank"][0] !== RuleConfigSeverity.Disabled) {
180
- const footerLeadingBlankRule = rules["footer-leading-blank"];
181
- if (footerLeadingBlankRule && footerLeadingBlankRule.length >= 2) {
182
- context.footerLeadingBlank = footerLeadingBlankRule[1] === "always";
183
- }
184
- }
185
- // Footer-max-line-length
186
- if (rules["footer-max-line-length"] && rules["footer-max-line-length"][0] !== RuleConfigSeverity.Disabled) {
187
- const footerMaxLineLengthRule = rules["footer-max-line-length"];
188
- if (footerMaxLineLengthRule && footerMaxLineLengthRule.length >= 3 && typeof footerMaxLineLengthRule[2] === "number") {
189
- context.footerMaxLineLength = footerMaxLineLengthRule[2];
190
- }
191
- }
192
- return context;
193
- }
194
-
195
- export { extractLLMPromptContext };
196
- //# sourceMappingURL=commitlintConfig.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commitlintConfig.js","sources":["../../../../src/services/commitlintConfig.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import type { CommitConfig, LLMPromptContext } from "./llm";
2
- interface ValidationResult {
3
- errors?: string;
4
- isValid: boolean;
5
- }
6
- /**
7
- * Constructs a commit message from a CommitConfig object
8
- * @param commitConfig The commit configuration
9
- * @returns The formatted commit message
10
- */
11
- export declare function constructCommitMessage(commitConfig: CommitConfig): string;
12
- /**
13
- * Validates a commit message and retries with LLM if there are errors
14
- * @param commitConfig The original commit configuration
15
- * @param promptContext The prompt context used to generate the commit
16
- * @returns A promise that resolves to a valid commit message or null if manual entry is needed
17
- */
18
- export declare function validateAndFixCommitMessage(commitConfig: CommitConfig, promptContext: LLMPromptContext): Promise<null | string>;
19
- /**
20
- * Validates a commit message with commitlint
21
- * @param commitMessage The commit message to validate
22
- * @returns A promise that resolves to an object with the validation result
23
- */
24
- export declare function validateWithCommitlint(commitMessage: string): Promise<ValidationResult>;
25
- export {};
26
- //# sourceMappingURL=commitlintValidator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commitlintValidator.d.ts","sourceRoot":"","sources":["../../../src/services/commitlintValidator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAY5D,UAAU,gBAAgB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,CA+BzE;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAqErI;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAiB7F"}
@@ -1,142 +0,0 @@
1
- import { exec } from 'node:child_process';
2
- import { promisify } from 'node:util';
3
- import chalk from 'chalk';
4
- import { generateCommitMessage } from './llm/index.js';
5
-
6
- const execAsync = promisify(exec);
7
- /**
8
- * Constructs a commit message from a CommitConfig object
9
- * @param commitConfig The commit configuration
10
- * @returns The formatted commit message
11
- */
12
- function constructCommitMessage(commitConfig) {
13
- const type = commitConfig.type;
14
- const scope = commitConfig.scope ? `(${commitConfig.scope})` : "";
15
- const subject = commitConfig.subject;
16
- const header = `${type}${scope}: ${subject}`;
17
- // Body with optional breaking change
18
- let body = "";
19
- if (commitConfig.isBreaking) {
20
- body = `BREAKING CHANGE: ${commitConfig.breakingBody || "This commit introduces breaking changes."}\n\n`;
21
- }
22
- if (commitConfig.body) {
23
- body += commitConfig.body;
24
- }
25
- // Footer with issue references
26
- let footer = "";
27
- if (commitConfig.issues && commitConfig.issues.length > 0) {
28
- footer = `Issues: ${commitConfig.issues.join(", ")}`;
29
- }
30
- if (commitConfig.references && commitConfig.references.length > 0) {
31
- if (footer)
32
- footer += "\n";
33
- footer += `References: ${commitConfig.references.join(", ")}`;
34
- }
35
- // Combine all parts
36
- return [header, body, footer].filter(Boolean).join("\n\n");
37
- }
38
- /**
39
- * Validates a commit message and retries with LLM if there are errors
40
- * @param commitConfig The original commit configuration
41
- * @param promptContext The prompt context used to generate the commit
42
- * @returns A promise that resolves to a valid commit message or null if manual entry is needed
43
- */
44
- async function validateAndFixCommitMessage(commitConfig, promptContext) {
45
- // Initial commit message
46
- const commitMessage = constructCommitMessage(commitConfig);
47
- // Validate with commitlint
48
- const validation = await validateWithCommitlint(commitMessage);
49
- // If valid, return the message
50
- if (validation.isValid) {
51
- return commitMessage;
52
- }
53
- // If not valid and we have errors, try to fix with LLM
54
- if (!validation.isValid && validation.errors) {
55
- console.log(chalk.yellow("Commit message failed validation. Attempting to fix..."));
56
- const MAX_RETRIES = 3;
57
- let currentConfig = commitConfig;
58
- const allErrors = [];
59
- // Attempt to fix the commit message up to MAX_RETRIES times
60
- // eslint-disable-next-line @elsikora-typescript/typedef
61
- for (let attempt = 0; attempt < MAX_RETRIES; attempt++) {
62
- // Add the current validation error to our history
63
- if (validation.errors) {
64
- allErrors.push(validation.errors);
65
- }
66
- try {
67
- // Generate a fixed commit message with accumulated errors
68
- currentConfig = await fixCommitMessageWithLLM(currentConfig, validation.errors ?? "", promptContext, allErrors.slice(0, -1));
69
- // Construct and validate the new commit message
70
- const fixedCommitMessage = constructCommitMessage(currentConfig);
71
- const fixedValidation = await validateWithCommitlint(fixedCommitMessage);
72
- // If valid, return the successful message
73
- if (fixedValidation.isValid) {
74
- console.log(chalk.green(`Commit message fixed successfully on attempt ${attempt + 1}!`));
75
- return fixedCommitMessage;
76
- }
77
- // If we still have errors, continue with next attempt
78
- if (fixedValidation.errors) {
79
- console.log(chalk.yellow(`Fix attempt ${attempt + 1} still has errors. ${MAX_RETRIES - attempt - 1} retries left.`));
80
- // Update the validation errors for the next iteration
81
- validation.errors = fixedValidation.errors;
82
- }
83
- }
84
- catch (error) {
85
- console.error(chalk.red(`Error while trying to fix commit message (attempt ${attempt + 1}):`, error));
86
- break; // Exit retry loop on error
87
- }
88
- }
89
- // If we exhausted all retries and still have issues
90
- console.log(chalk.red(`Unable to fix commit message automatically after ${MAX_RETRIES} attempts.`));
91
- console.log(chalk.yellow("Switching to manual commit entry mode..."));
92
- return null; // Signal to switch to manual mode
93
- }
94
- // Default case, return original even if there were issues
95
- return commitMessage;
96
- }
97
- /**
98
- * Validates a commit message with commitlint
99
- * @param commitMessage The commit message to validate
100
- * @returns A promise that resolves to an object with the validation result
101
- */
102
- async function validateWithCommitlint(commitMessage) {
103
- try {
104
- // Create temporary file with commit message
105
- const cmd = `echo "${commitMessage}" | npx commitlint`;
106
- // eslint-disable-next-line @elsikora-typescript/no-unsafe-call
107
- await execAsync(cmd);
108
- return { isValid: true };
109
- }
110
- catch (error) {
111
- // If commitlint exits with non-zero code, it means there are validation errors
112
- const typedError = error;
113
- return {
114
- errors: typedError.stdout ?? typedError.stderr ?? typedError.message,
115
- isValid: false,
116
- };
117
- }
118
- }
119
- /**
120
- * Sends a commit message to the LLM for correction with provided errors
121
- * @param commitConfig The original commit configuration
122
- * @param errors The errors from commitlint
123
- * @param promptContext The prompt context to use for regeneration
124
- * @param previousErrors Optional accumulated errors from previous attempts
125
- * @returns A promise that resolves to a new commit configuration
126
- */
127
- async function fixCommitMessageWithLLM(commitConfig, errors, promptContext, previousErrors = []) {
128
- // Create a history of all errors to help the LLM understand what needs fixing
129
- const errorHistory = [...previousErrors, errors].map((error, index) => `Attempt ${index + 1} errors:\n${error}`).join("\n\n");
130
- // Create an enhanced context that includes the original commit and errors
131
- const enhancedContext = {
132
- ...promptContext,
133
- // Add a note about the previous attempt and errors
134
- diff: `${promptContext.diff ?? ""}\n\nCommit message failed validation with these errors:\n${errorHistory}\n\nOriginal commit structure:\n${JSON.stringify(commitConfig, null)}`,
135
- };
136
- console.log(chalk.yellow(`Commit message had validation errors. Asking LLM to fix... (Attempt ${previousErrors.length + 1})`));
137
- // Generate a new commit message with the enhanced context
138
- return await generateCommitMessage(enhancedContext);
139
- }
140
-
141
- export { constructCommitMessage, validateAndFixCommitMessage, validateWithCommitlint };
142
- //# sourceMappingURL=commitlintValidator.js.map