@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.
- package/README.md +256 -57
- package/dist/cjs/application/constant/config-file-directory.constant.d.ts +4 -0
- package/dist/cjs/application/constant/config-file-directory.constant.js +9 -0
- package/dist/cjs/application/constant/config-file-directory.constant.js.map +1 -0
- package/dist/cjs/application/constant/config-module-name.constant.d.ts +4 -0
- package/dist/cjs/application/constant/config-module-name.constant.js +9 -0
- package/dist/cjs/application/constant/config-module-name.constant.js.map +1 -0
- package/dist/cjs/application/constant/index.d.ts +2 -0
- package/dist/cjs/application/index.d.ts +2 -0
- package/dist/cjs/application/interface/cli-interface-service-select-options.interface.d.ts +21 -0
- package/dist/cjs/application/interface/cli-interface-service.interface.d.ts +105 -0
- package/dist/cjs/application/interface/command-service.interface.d.ts +19 -0
- package/dist/cjs/application/interface/commit-repository.interface.d.ts +32 -0
- package/dist/cjs/application/interface/commit-validator.interface.d.ts +29 -0
- package/dist/cjs/application/interface/config-service.interface.d.ts +47 -0
- package/dist/cjs/application/interface/config.interface.d.ts +27 -0
- package/dist/cjs/application/interface/file-system-service.interface.d.ts +61 -0
- package/dist/cjs/application/interface/index.d.ts +9 -0
- package/dist/cjs/application/interface/llm-service.interface.d.ts +43 -0
- package/dist/cjs/application/use-case/configure-llm.use-case.d.ts +39 -0
- package/dist/cjs/application/use-case/configure-llm.use-case.js +373 -0
- package/dist/cjs/application/use-case/configure-llm.use-case.js.map +1 -0
- package/dist/cjs/application/use-case/generate-commit-message.use-case.d.ts +18 -0
- package/dist/cjs/application/use-case/generate-commit-message.use-case.js +49 -0
- package/dist/cjs/application/use-case/generate-commit-message.use-case.js.map +1 -0
- package/dist/cjs/application/use-case/index.d.ts +4 -0
- package/dist/cjs/application/use-case/manual-commit.use-case.d.ts +16 -0
- package/dist/cjs/application/use-case/manual-commit.use-case.js +81 -0
- package/dist/cjs/application/use-case/manual-commit.use-case.js.map +1 -0
- package/dist/cjs/application/use-case/validate-commit-message.use-case.d.ts +26 -0
- package/dist/cjs/application/use-case/validate-commit-message.use-case.js +76 -0
- package/dist/cjs/application/use-case/validate-commit-message.use-case.js.map +1 -0
- package/dist/cjs/domain/constant/index.d.ts +1 -0
- package/dist/cjs/domain/constant/numeric.constant.d.ts +25 -0
- package/dist/cjs/domain/constant/numeric.constant.js +42 -0
- package/dist/cjs/domain/constant/numeric.constant.js.map +1 -0
- package/dist/cjs/domain/entity/commit-message.entity.d.ts +47 -0
- package/dist/cjs/domain/entity/commit-message.entity.js +71 -0
- package/dist/cjs/domain/entity/commit-message.entity.js.map +1 -0
- package/dist/cjs/domain/entity/index.d.ts +2 -0
- package/dist/cjs/domain/entity/llm-configuration.entity.d.ts +73 -0
- package/dist/cjs/domain/entity/llm-configuration.entity.js +107 -0
- package/dist/cjs/domain/entity/llm-configuration.entity.js.map +1 -0
- package/dist/cjs/domain/enum/anthropic-model.enum.d.ts +18 -0
- package/dist/cjs/domain/enum/anthropic-model.enum.js +26 -0
- package/dist/cjs/domain/enum/anthropic-model.enum.js.map +1 -0
- package/dist/cjs/domain/enum/aws-bedrock-model.enum.d.ts +33 -0
- package/dist/cjs/domain/enum/aws-bedrock-model.enum.js +47 -0
- package/dist/cjs/domain/enum/aws-bedrock-model.enum.js.map +1 -0
- package/dist/cjs/domain/enum/azure-openai-model.enum.d.ts +17 -0
- package/dist/cjs/domain/enum/azure-openai-model.enum.js +26 -0
- package/dist/cjs/domain/enum/azure-openai-model.enum.js.map +1 -0
- package/dist/cjs/domain/enum/commit-mode.enum.d.ts +7 -0
- package/dist/cjs/domain/enum/commit-mode.enum.js +11 -0
- package/dist/cjs/domain/enum/commit-mode.enum.js.map +1 -0
- package/dist/cjs/domain/enum/google-model.enum.d.ts +16 -0
- package/dist/cjs/domain/enum/google-model.enum.js +25 -0
- package/dist/cjs/domain/enum/google-model.enum.js.map +1 -0
- package/dist/cjs/domain/enum/index.d.ts +9 -0
- package/dist/cjs/domain/enum/llm-provider.enum.d.ts +11 -0
- package/dist/cjs/domain/enum/llm-provider.enum.js +15 -0
- package/dist/cjs/domain/enum/llm-provider.enum.js.map +1 -0
- package/dist/cjs/domain/enum/log-level.enum.d.ts +9 -0
- package/dist/cjs/domain/enum/log-level.enum.js +13 -0
- package/dist/cjs/domain/enum/log-level.enum.js.map +1 -0
- package/dist/cjs/domain/enum/ollama-model.enum.d.ts +24 -0
- package/dist/cjs/domain/enum/ollama-model.enum.js +30 -0
- package/dist/cjs/domain/enum/ollama-model.enum.js.map +1 -0
- package/dist/cjs/domain/enum/openai-model.enum.d.ts +25 -0
- package/dist/cjs/domain/enum/openai-model.enum.js +35 -0
- package/dist/cjs/domain/enum/openai-model.enum.js.map +1 -0
- package/dist/cjs/domain/index.d.ts +3 -0
- package/dist/cjs/domain/value-object/api-key.value-object.d.ts +28 -0
- package/dist/cjs/domain/value-object/api-key.value-object.js +51 -0
- package/dist/cjs/domain/value-object/api-key.value-object.js.map +1 -0
- package/dist/cjs/domain/value-object/commit-body.value-object.d.ts +39 -0
- package/dist/cjs/domain/value-object/commit-body.value-object.js +66 -0
- package/dist/cjs/domain/value-object/commit-body.value-object.js.map +1 -0
- package/dist/cjs/domain/value-object/commit-header.value-object.d.ts +35 -0
- package/dist/cjs/domain/value-object/commit-header.value-object.js +63 -0
- package/dist/cjs/domain/value-object/commit-header.value-object.js.map +1 -0
- package/dist/cjs/domain/value-object/index.d.ts +3 -0
- package/dist/cjs/index.d.ts +14 -12
- package/dist/cjs/index.js +85 -83
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/infrastructure/commit-validator/commitlint-validator.service.d.ts +38 -0
- package/dist/cjs/infrastructure/commit-validator/commitlint-validator.service.js +207 -0
- package/dist/cjs/infrastructure/commit-validator/commitlint-validator.service.js.map +1 -0
- package/dist/cjs/infrastructure/commit-validator/index.d.ts +1 -0
- package/dist/cjs/infrastructure/di/container.d.ts +17 -0
- package/dist/cjs/infrastructure/di/container.js +76 -0
- package/dist/cjs/infrastructure/di/container.js.map +1 -0
- package/dist/cjs/infrastructure/di/index.d.ts +1 -0
- package/dist/cjs/infrastructure/git/git-commit.repository.d.ts +36 -0
- package/dist/cjs/infrastructure/git/git-commit.repository.js +78 -0
- package/dist/cjs/infrastructure/git/git-commit.repository.js.map +1 -0
- package/dist/cjs/infrastructure/git/index.d.ts +1 -0
- package/dist/cjs/infrastructure/index.d.ts +4 -0
- package/dist/cjs/infrastructure/llm/anthropic-llm.service.d.ts +39 -0
- package/dist/cjs/infrastructure/llm/anthropic-llm.service.js +323 -0
- package/dist/cjs/infrastructure/llm/anthropic-llm.service.js.map +1 -0
- package/dist/cjs/infrastructure/llm/aws-bedrock-llm.service.d.ts +60 -0
- package/dist/cjs/infrastructure/llm/aws-bedrock-llm.service.js +514 -0
- package/dist/cjs/infrastructure/llm/aws-bedrock-llm.service.js.map +1 -0
- package/dist/cjs/infrastructure/llm/azure-openai-llm.service.d.ts +45 -0
- package/dist/cjs/infrastructure/llm/azure-openai-llm.service.js +351 -0
- package/dist/cjs/infrastructure/llm/azure-openai-llm.service.js.map +1 -0
- package/dist/cjs/infrastructure/llm/google-llm.service.d.ts +45 -0
- package/dist/cjs/infrastructure/llm/google-llm.service.js +335 -0
- package/dist/cjs/infrastructure/llm/google-llm.service.js.map +1 -0
- package/dist/cjs/infrastructure/llm/index.d.ts +6 -0
- package/dist/cjs/infrastructure/llm/ollama-llm.service.d.ts +45 -0
- package/dist/cjs/infrastructure/llm/ollama-llm.service.js +387 -0
- package/dist/cjs/infrastructure/llm/ollama-llm.service.js.map +1 -0
- package/dist/cjs/infrastructure/llm/openai-llm.service.d.ts +45 -0
- package/dist/cjs/infrastructure/llm/openai-llm.service.js +339 -0
- package/dist/cjs/infrastructure/llm/openai-llm.service.js.map +1 -0
- package/dist/cjs/infrastructure/service/cosmic-config.service.d.ts +66 -0
- package/dist/cjs/infrastructure/service/cosmic-config.service.js +176 -0
- package/dist/cjs/infrastructure/service/cosmic-config.service.js.map +1 -0
- package/dist/cjs/infrastructure/service/index.d.ts +4 -0
- package/dist/cjs/infrastructure/service/node-command.service.d.ts +45 -0
- package/dist/cjs/infrastructure/service/node-command.service.js +154 -0
- package/dist/cjs/infrastructure/service/node-command.service.js.map +1 -0
- package/dist/cjs/infrastructure/service/node-file-system.service.d.ts +62 -0
- package/dist/cjs/infrastructure/service/node-file-system.service.js +102 -0
- package/dist/cjs/infrastructure/service/node-file-system.service.js.map +1 -0
- package/dist/cjs/infrastructure/service/prompts-cli-interface.service.d.ts +117 -0
- package/dist/cjs/infrastructure/service/prompts-cli-interface.service.js +318 -0
- package/dist/cjs/infrastructure/service/prompts-cli-interface.service.js.map +1 -0
- package/dist/cjs/presentation/commitizen.adapter.d.ts +28 -0
- package/dist/cjs/presentation/commitizen.adapter.js +304 -0
- package/dist/cjs/presentation/commitizen.adapter.js.map +1 -0
- package/dist/cjs/presentation/index.d.ts +1 -0
- package/dist/esm/application/constant/config-file-directory.constant.d.ts +4 -0
- package/dist/esm/application/constant/config-file-directory.constant.js +7 -0
- package/dist/esm/application/constant/config-file-directory.constant.js.map +1 -0
- package/dist/esm/application/constant/config-module-name.constant.d.ts +4 -0
- package/dist/esm/application/constant/config-module-name.constant.js +7 -0
- package/dist/esm/application/constant/config-module-name.constant.js.map +1 -0
- package/dist/esm/application/constant/index.d.ts +2 -0
- package/dist/esm/application/index.d.ts +2 -0
- package/dist/esm/application/interface/cli-interface-service-select-options.interface.d.ts +21 -0
- package/dist/esm/application/interface/cli-interface-service.interface.d.ts +105 -0
- package/dist/esm/application/interface/command-service.interface.d.ts +19 -0
- package/dist/esm/application/interface/commit-repository.interface.d.ts +32 -0
- package/dist/esm/application/interface/commit-validator.interface.d.ts +29 -0
- package/dist/esm/application/interface/config-service.interface.d.ts +47 -0
- package/dist/esm/application/interface/config.interface.d.ts +27 -0
- package/dist/esm/application/interface/file-system-service.interface.d.ts +61 -0
- package/dist/esm/application/interface/index.d.ts +9 -0
- package/dist/esm/application/interface/llm-service.interface.d.ts +43 -0
- package/dist/esm/application/use-case/configure-llm.use-case.d.ts +39 -0
- package/dist/esm/application/use-case/configure-llm.use-case.js +371 -0
- package/dist/esm/application/use-case/configure-llm.use-case.js.map +1 -0
- package/dist/esm/application/use-case/generate-commit-message.use-case.d.ts +18 -0
- package/dist/esm/application/use-case/generate-commit-message.use-case.js +47 -0
- package/dist/esm/application/use-case/generate-commit-message.use-case.js.map +1 -0
- package/dist/esm/application/use-case/index.d.ts +4 -0
- package/dist/esm/application/use-case/manual-commit.use-case.d.ts +16 -0
- package/dist/esm/application/use-case/manual-commit.use-case.js +79 -0
- package/dist/esm/application/use-case/manual-commit.use-case.js.map +1 -0
- package/dist/esm/application/use-case/validate-commit-message.use-case.d.ts +26 -0
- package/dist/esm/application/use-case/validate-commit-message.use-case.js +74 -0
- package/dist/esm/application/use-case/validate-commit-message.use-case.js.map +1 -0
- package/dist/esm/domain/constant/index.d.ts +1 -0
- package/dist/esm/domain/constant/numeric.constant.d.ts +25 -0
- package/dist/esm/domain/constant/numeric.constant.js +26 -0
- package/dist/esm/domain/constant/numeric.constant.js.map +1 -0
- package/dist/esm/domain/entity/commit-message.entity.d.ts +47 -0
- package/dist/esm/domain/entity/commit-message.entity.js +69 -0
- package/dist/esm/domain/entity/commit-message.entity.js.map +1 -0
- package/dist/esm/domain/entity/index.d.ts +2 -0
- package/dist/esm/domain/entity/llm-configuration.entity.d.ts +73 -0
- package/dist/esm/domain/entity/llm-configuration.entity.js +105 -0
- package/dist/esm/domain/entity/llm-configuration.entity.js.map +1 -0
- package/dist/esm/domain/enum/anthropic-model.enum.d.ts +18 -0
- package/dist/esm/domain/enum/anthropic-model.enum.js +26 -0
- package/dist/esm/domain/enum/anthropic-model.enum.js.map +1 -0
- package/dist/esm/domain/enum/aws-bedrock-model.enum.d.ts +33 -0
- package/dist/esm/domain/enum/aws-bedrock-model.enum.js +47 -0
- package/dist/esm/domain/enum/aws-bedrock-model.enum.js.map +1 -0
- package/dist/esm/domain/enum/azure-openai-model.enum.d.ts +17 -0
- package/dist/esm/domain/enum/azure-openai-model.enum.js +26 -0
- package/dist/esm/domain/enum/azure-openai-model.enum.js.map +1 -0
- package/dist/esm/domain/enum/commit-mode.enum.d.ts +7 -0
- package/dist/esm/domain/enum/commit-mode.enum.js +11 -0
- package/dist/esm/domain/enum/commit-mode.enum.js.map +1 -0
- package/dist/esm/domain/enum/google-model.enum.d.ts +16 -0
- package/dist/esm/domain/enum/google-model.enum.js +25 -0
- package/dist/esm/domain/enum/google-model.enum.js.map +1 -0
- package/dist/esm/domain/enum/index.d.ts +9 -0
- package/dist/esm/domain/enum/llm-provider.enum.d.ts +11 -0
- package/dist/esm/domain/enum/llm-provider.enum.js +15 -0
- package/dist/esm/domain/enum/llm-provider.enum.js.map +1 -0
- package/dist/esm/domain/enum/log-level.enum.d.ts +9 -0
- package/dist/esm/domain/enum/log-level.enum.js +13 -0
- package/dist/esm/domain/enum/log-level.enum.js.map +1 -0
- package/dist/esm/domain/enum/ollama-model.enum.d.ts +24 -0
- package/dist/esm/domain/enum/ollama-model.enum.js +30 -0
- package/dist/esm/domain/enum/ollama-model.enum.js.map +1 -0
- package/dist/esm/domain/enum/openai-model.enum.d.ts +25 -0
- package/dist/esm/domain/enum/openai-model.enum.js +35 -0
- package/dist/esm/domain/enum/openai-model.enum.js.map +1 -0
- package/dist/esm/domain/index.d.ts +3 -0
- package/dist/esm/domain/value-object/api-key.value-object.d.ts +28 -0
- package/dist/esm/domain/value-object/api-key.value-object.js +49 -0
- package/dist/esm/domain/value-object/api-key.value-object.js.map +1 -0
- package/dist/esm/domain/value-object/commit-body.value-object.d.ts +39 -0
- package/dist/esm/domain/value-object/commit-body.value-object.js +64 -0
- package/dist/esm/domain/value-object/commit-body.value-object.js.map +1 -0
- package/dist/esm/domain/value-object/commit-header.value-object.d.ts +35 -0
- package/dist/esm/domain/value-object/commit-header.value-object.js +61 -0
- package/dist/esm/domain/value-object/commit-header.value-object.js.map +1 -0
- package/dist/esm/domain/value-object/index.d.ts +3 -0
- package/dist/esm/index.d.ts +14 -12
- package/dist/esm/index.js +38 -82
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/infrastructure/commit-validator/commitlint-validator.service.d.ts +38 -0
- package/dist/esm/infrastructure/commit-validator/commitlint-validator.service.js +205 -0
- package/dist/esm/infrastructure/commit-validator/commitlint-validator.service.js.map +1 -0
- package/dist/esm/infrastructure/commit-validator/index.d.ts +1 -0
- package/dist/esm/infrastructure/di/container.d.ts +17 -0
- package/dist/esm/infrastructure/di/container.js +63 -0
- package/dist/esm/infrastructure/di/container.js.map +1 -0
- package/dist/esm/infrastructure/di/index.d.ts +1 -0
- package/dist/esm/infrastructure/git/git-commit.repository.d.ts +36 -0
- package/dist/esm/infrastructure/git/git-commit.repository.js +76 -0
- package/dist/esm/infrastructure/git/git-commit.repository.js.map +1 -0
- package/dist/esm/infrastructure/git/index.d.ts +1 -0
- package/dist/esm/infrastructure/index.d.ts +4 -0
- package/dist/esm/infrastructure/llm/anthropic-llm.service.d.ts +39 -0
- package/dist/esm/infrastructure/llm/anthropic-llm.service.js +321 -0
- package/dist/esm/infrastructure/llm/anthropic-llm.service.js.map +1 -0
- package/dist/esm/infrastructure/llm/aws-bedrock-llm.service.d.ts +60 -0
- package/dist/esm/infrastructure/llm/aws-bedrock-llm.service.js +512 -0
- package/dist/esm/infrastructure/llm/aws-bedrock-llm.service.js.map +1 -0
- package/dist/esm/infrastructure/llm/azure-openai-llm.service.d.ts +45 -0
- package/dist/esm/infrastructure/llm/azure-openai-llm.service.js +349 -0
- package/dist/esm/infrastructure/llm/azure-openai-llm.service.js.map +1 -0
- package/dist/esm/infrastructure/llm/google-llm.service.d.ts +45 -0
- package/dist/esm/infrastructure/llm/google-llm.service.js +333 -0
- package/dist/esm/infrastructure/llm/google-llm.service.js.map +1 -0
- package/dist/esm/infrastructure/llm/index.d.ts +6 -0
- package/dist/esm/infrastructure/llm/ollama-llm.service.d.ts +45 -0
- package/dist/esm/infrastructure/llm/ollama-llm.service.js +385 -0
- package/dist/esm/infrastructure/llm/ollama-llm.service.js.map +1 -0
- package/dist/esm/infrastructure/llm/openai-llm.service.d.ts +45 -0
- package/dist/esm/infrastructure/llm/openai-llm.service.js +337 -0
- package/dist/esm/infrastructure/llm/openai-llm.service.js.map +1 -0
- package/dist/esm/infrastructure/service/cosmic-config.service.d.ts +66 -0
- package/dist/esm/infrastructure/service/cosmic-config.service.js +174 -0
- package/dist/esm/infrastructure/service/cosmic-config.service.js.map +1 -0
- package/dist/esm/infrastructure/service/index.d.ts +4 -0
- package/dist/esm/infrastructure/service/node-command.service.d.ts +45 -0
- package/dist/esm/infrastructure/service/node-command.service.js +152 -0
- package/dist/esm/infrastructure/service/node-command.service.js.map +1 -0
- package/dist/esm/infrastructure/service/node-file-system.service.d.ts +62 -0
- package/dist/esm/infrastructure/service/node-file-system.service.js +100 -0
- package/dist/esm/infrastructure/service/node-file-system.service.js.map +1 -0
- package/dist/esm/infrastructure/service/prompts-cli-interface.service.d.ts +117 -0
- package/dist/esm/infrastructure/service/prompts-cli-interface.service.js +316 -0
- package/dist/esm/infrastructure/service/prompts-cli-interface.service.js.map +1 -0
- package/dist/esm/package.json +19 -0
- package/dist/esm/presentation/commitizen.adapter.d.ts +28 -0
- package/dist/esm/presentation/commitizen.adapter.js +302 -0
- package/dist/esm/presentation/commitizen.adapter.js.map +1 -0
- package/dist/esm/presentation/index.d.ts +1 -0
- package/index.cjs +1 -2
- package/package.json +42 -25
- package/dist/cjs/ManualProcess.d.ts +0 -6
- package/dist/cjs/ManualProcess.d.ts.map +0 -1
- package/dist/cjs/ManualProcess.js +0 -111
- package/dist/cjs/ManualProcess.js.map +0 -1
- package/dist/cjs/Process.d.ts +0 -6
- package/dist/cjs/Process.d.ts.map +0 -1
- package/dist/cjs/Process.js +0 -176
- package/dist/cjs/Process.js.map +0 -1
- package/dist/cjs/Question.d.ts +0 -46
- package/dist/cjs/Question.d.ts.map +0 -1
- package/dist/cjs/SectionBody.d.ts +0 -4
- package/dist/cjs/SectionBody.d.ts.map +0 -1
- package/dist/cjs/SectionFooter.d.ts +0 -13
- package/dist/cjs/SectionFooter.d.ts.map +0 -1
- package/dist/cjs/SectionHeader.d.ts +0 -15
- package/dist/cjs/SectionHeader.d.ts.map +0 -1
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/services/commitConfirmation.d.ts +0 -3
- package/dist/cjs/services/commitConfirmation.d.ts.map +0 -1
- package/dist/cjs/services/commitConfirmation.js +0 -122
- package/dist/cjs/services/commitConfirmation.js.map +0 -1
- package/dist/cjs/services/commitlintConfig.d.ts +0 -4
- package/dist/cjs/services/commitlintConfig.d.ts.map +0 -1
- package/dist/cjs/services/commitlintConfig.js +0 -198
- package/dist/cjs/services/commitlintConfig.js.map +0 -1
- package/dist/cjs/services/commitlintValidator.d.ts +0 -26
- package/dist/cjs/services/commitlintValidator.d.ts.map +0 -1
- package/dist/cjs/services/commitlintValidator.js +0 -146
- package/dist/cjs/services/commitlintValidator.js.map +0 -1
- package/dist/cjs/services/getRuleQuestionConfig.d.ts +0 -4
- package/dist/cjs/services/getRuleQuestionConfig.d.ts.map +0 -1
- package/dist/cjs/services/llm/anthropic.d.ts +0 -3
- package/dist/cjs/services/llm/anthropic.d.ts.map +0 -1
- package/dist/cjs/services/llm/anthropic.js +0 -118
- package/dist/cjs/services/llm/anthropic.js.map +0 -1
- package/dist/cjs/services/llm/config.d.ts +0 -5
- package/dist/cjs/services/llm/config.d.ts.map +0 -1
- package/dist/cjs/services/llm/config.js +0 -181
- package/dist/cjs/services/llm/config.js.map +0 -1
- package/dist/cjs/services/llm/index.d.ts +0 -6
- package/dist/cjs/services/llm/index.d.ts.map +0 -1
- package/dist/cjs/services/llm/index.js +0 -399
- package/dist/cjs/services/llm/index.js.map +0 -1
- package/dist/cjs/services/llm/models.d.ts +0 -34
- package/dist/cjs/services/llm/models.d.ts.map +0 -1
- package/dist/cjs/services/llm/models.js +0 -65
- package/dist/cjs/services/llm/models.js.map +0 -1
- package/dist/cjs/services/llm/openai.d.ts +0 -3
- package/dist/cjs/services/llm/openai.d.ts.map +0 -1
- package/dist/cjs/services/llm/openai.js +0 -111
- package/dist/cjs/services/llm/openai.js.map +0 -1
- package/dist/cjs/services/llm/types.d.ts +0 -71
- package/dist/cjs/services/llm/types.d.ts.map +0 -1
- package/dist/cjs/store/defaultPromptConfigs.d.ts +0 -33
- package/dist/cjs/store/defaultPromptConfigs.d.ts.map +0 -1
- package/dist/cjs/store/defaultPromptConfigs.js +0 -39
- package/dist/cjs/store/defaultPromptConfigs.js.map +0 -1
- package/dist/cjs/store/prompts.d.ts +0 -6
- package/dist/cjs/store/prompts.d.ts.map +0 -1
- package/dist/cjs/store/prompts.js +0 -40
- package/dist/cjs/store/prompts.js.map +0 -1
- package/dist/cjs/store/rules.d.ts +0 -7
- package/dist/cjs/store/rules.d.ts.map +0 -1
- package/dist/cjs/types.d.ts +0 -3
- package/dist/cjs/types.d.ts.map +0 -1
- package/dist/cjs/utils/case-function.d.ts +0 -9
- package/dist/cjs/utils/case-function.d.ts.map +0 -1
- package/dist/cjs/utils/full-stop-function.d.ts +0 -9
- package/dist/cjs/utils/full-stop-function.d.ts.map +0 -1
- package/dist/cjs/utils/leading-blank-function.d.ts +0 -8
- package/dist/cjs/utils/leading-blank-function.d.ts.map +0 -1
- package/dist/cjs/utils/rules.d.ts +0 -26
- package/dist/cjs/utils/rules.d.ts.map +0 -1
- package/dist/esm/ManualProcess.d.ts +0 -6
- package/dist/esm/ManualProcess.d.ts.map +0 -1
- package/dist/esm/ManualProcess.js +0 -107
- package/dist/esm/ManualProcess.js.map +0 -1
- package/dist/esm/Process.d.ts +0 -6
- package/dist/esm/Process.d.ts.map +0 -1
- package/dist/esm/Process.js +0 -172
- package/dist/esm/Process.js.map +0 -1
- package/dist/esm/Question.d.ts +0 -46
- package/dist/esm/Question.d.ts.map +0 -1
- package/dist/esm/SectionBody.d.ts +0 -4
- package/dist/esm/SectionBody.d.ts.map +0 -1
- package/dist/esm/SectionFooter.d.ts +0 -13
- package/dist/esm/SectionFooter.d.ts.map +0 -1
- package/dist/esm/SectionHeader.d.ts +0 -15
- package/dist/esm/SectionHeader.d.ts.map +0 -1
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/services/commitConfirmation.d.ts +0 -3
- package/dist/esm/services/commitConfirmation.d.ts.map +0 -1
- package/dist/esm/services/commitConfirmation.js +0 -120
- package/dist/esm/services/commitConfirmation.js.map +0 -1
- package/dist/esm/services/commitlintConfig.d.ts +0 -4
- package/dist/esm/services/commitlintConfig.d.ts.map +0 -1
- package/dist/esm/services/commitlintConfig.js +0 -196
- package/dist/esm/services/commitlintConfig.js.map +0 -1
- package/dist/esm/services/commitlintValidator.d.ts +0 -26
- package/dist/esm/services/commitlintValidator.d.ts.map +0 -1
- package/dist/esm/services/commitlintValidator.js +0 -142
- package/dist/esm/services/commitlintValidator.js.map +0 -1
- package/dist/esm/services/getRuleQuestionConfig.d.ts +0 -4
- package/dist/esm/services/getRuleQuestionConfig.d.ts.map +0 -1
- package/dist/esm/services/llm/anthropic.d.ts +0 -3
- package/dist/esm/services/llm/anthropic.d.ts.map +0 -1
- package/dist/esm/services/llm/anthropic.js +0 -116
- package/dist/esm/services/llm/anthropic.js.map +0 -1
- package/dist/esm/services/llm/config.d.ts +0 -5
- package/dist/esm/services/llm/config.d.ts.map +0 -1
- package/dist/esm/services/llm/config.js +0 -178
- package/dist/esm/services/llm/config.js.map +0 -1
- package/dist/esm/services/llm/index.d.ts +0 -6
- package/dist/esm/services/llm/index.d.ts.map +0 -1
- package/dist/esm/services/llm/index.js +0 -394
- package/dist/esm/services/llm/index.js.map +0 -1
- package/dist/esm/services/llm/models.d.ts +0 -34
- package/dist/esm/services/llm/models.d.ts.map +0 -1
- package/dist/esm/services/llm/models.js +0 -60
- package/dist/esm/services/llm/models.js.map +0 -1
- package/dist/esm/services/llm/openai.d.ts +0 -3
- package/dist/esm/services/llm/openai.d.ts.map +0 -1
- package/dist/esm/services/llm/openai.js +0 -109
- package/dist/esm/services/llm/openai.js.map +0 -1
- package/dist/esm/services/llm/types.d.ts +0 -71
- package/dist/esm/services/llm/types.d.ts.map +0 -1
- package/dist/esm/store/defaultPromptConfigs.d.ts +0 -33
- package/dist/esm/store/defaultPromptConfigs.d.ts.map +0 -1
- package/dist/esm/store/defaultPromptConfigs.js +0 -35
- package/dist/esm/store/defaultPromptConfigs.js.map +0 -1
- package/dist/esm/store/prompts.d.ts +0 -6
- package/dist/esm/store/prompts.d.ts.map +0 -1
- package/dist/esm/store/prompts.js +0 -38
- package/dist/esm/store/prompts.js.map +0 -1
- package/dist/esm/store/rules.d.ts +0 -7
- package/dist/esm/store/rules.d.ts.map +0 -1
- package/dist/esm/types.d.ts +0 -3
- package/dist/esm/types.d.ts.map +0 -1
- package/dist/esm/utils/case-function.d.ts +0 -9
- package/dist/esm/utils/case-function.d.ts.map +0 -1
- package/dist/esm/utils/full-stop-function.d.ts +0 -9
- package/dist/esm/utils/full-stop-function.d.ts.map +0 -1
- package/dist/esm/utils/leading-blank-function.d.ts +0 -8
- package/dist/esm/utils/leading-blank-function.d.ts.map +0 -1
- package/dist/esm/utils/rules.d.ts +0 -26
- package/dist/esm/utils/rules.d.ts.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
package/dist/esm/Question.d.ts
DELETED
|
@@ -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 +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"}
|
package/dist/esm/index.d.ts.map
DELETED
|
@@ -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 +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
|