@elsikora/commitizen-plugin-commitlint-ai 1.1.0 → 2.0.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +245 -59
- package/dist/cjs/application/constant/config-file-directory.constant.d.ts +5 -0
- package/dist/cjs/application/constant/config-file-directory.constant.d.ts.map +1 -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 +5 -0
- package/dist/cjs/application/constant/config-module-name.constant.d.ts.map +1 -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 +3 -0
- package/dist/cjs/application/constant/index.d.ts.map +1 -0
- package/dist/cjs/application/index.d.ts +3 -0
- package/dist/cjs/application/index.d.ts.map +1 -0
- package/dist/cjs/application/interface/cli-interface-service-select-options.interface.d.ts +22 -0
- package/dist/cjs/application/interface/cli-interface-service-select-options.interface.d.ts.map +1 -0
- package/dist/cjs/application/interface/cli-interface-service.interface.d.ts +106 -0
- package/dist/cjs/application/interface/cli-interface-service.interface.d.ts.map +1 -0
- package/dist/cjs/application/interface/command-service.interface.d.ts +20 -0
- package/dist/cjs/application/interface/command-service.interface.d.ts.map +1 -0
- package/dist/cjs/application/interface/commit-repository.interface.d.ts +33 -0
- package/dist/cjs/application/interface/commit-repository.interface.d.ts.map +1 -0
- package/dist/cjs/application/interface/commit-validator.interface.d.ts +30 -0
- package/dist/cjs/application/interface/commit-validator.interface.d.ts.map +1 -0
- package/dist/cjs/application/interface/config-service.interface.d.ts +48 -0
- package/dist/cjs/application/interface/config-service.interface.d.ts.map +1 -0
- package/dist/cjs/application/interface/config.interface.d.ts +28 -0
- package/dist/cjs/application/interface/config.interface.d.ts.map +1 -0
- package/dist/cjs/application/interface/file-system-service.interface.d.ts +62 -0
- package/dist/cjs/application/interface/file-system-service.interface.d.ts.map +1 -0
- package/dist/cjs/application/interface/index.d.ts +10 -0
- package/dist/cjs/application/interface/index.d.ts.map +1 -0
- package/dist/cjs/application/interface/llm-service.interface.d.ts +44 -0
- package/dist/cjs/application/interface/llm-service.interface.d.ts.map +1 -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.d.ts.map +1 -0
- package/dist/cjs/application/use-case/configure-llm.use-case.js +367 -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 +19 -0
- package/dist/cjs/application/use-case/generate-commit-message.use-case.d.ts.map +1 -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 +5 -0
- package/dist/cjs/application/use-case/index.d.ts.map +1 -0
- package/dist/cjs/application/use-case/manual-commit.use-case.d.ts +17 -0
- package/dist/cjs/application/use-case/manual-commit.use-case.d.ts.map +1 -0
- package/dist/cjs/application/use-case/manual-commit.use-case.js +79 -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 +27 -0
- package/dist/cjs/application/use-case/validate-commit-message.use-case.d.ts.map +1 -0
- package/dist/cjs/application/use-case/validate-commit-message.use-case.js +75 -0
- package/dist/cjs/application/use-case/validate-commit-message.use-case.js.map +1 -0
- package/dist/cjs/domain/constant/index.d.ts +2 -0
- package/dist/cjs/domain/constant/index.d.ts.map +1 -0
- package/dist/cjs/domain/constant/numeric.constant.d.ts +26 -0
- package/dist/cjs/domain/constant/numeric.constant.d.ts.map +1 -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 +35 -0
- package/dist/cjs/domain/entity/commit-message.entity.d.ts.map +1 -0
- package/dist/cjs/domain/entity/commit-message.entity.js +56 -0
- package/dist/cjs/domain/entity/commit-message.entity.js.map +1 -0
- package/dist/cjs/domain/entity/index.d.ts +3 -0
- package/dist/cjs/domain/entity/index.d.ts.map +1 -0
- package/dist/cjs/domain/entity/llm-configuration.entity.d.ts +66 -0
- package/dist/cjs/domain/entity/llm-configuration.entity.d.ts.map +1 -0
- package/dist/cjs/domain/entity/llm-configuration.entity.js +96 -0
- package/dist/cjs/domain/entity/llm-configuration.entity.js.map +1 -0
- package/dist/cjs/domain/enum/anthropic-model.enum.d.ts +19 -0
- package/dist/cjs/domain/enum/anthropic-model.enum.d.ts.map +1 -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 +34 -0
- package/dist/cjs/domain/enum/aws-bedrock-model.enum.d.ts.map +1 -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 +18 -0
- package/dist/cjs/domain/enum/azure-openai-model.enum.d.ts.map +1 -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 +8 -0
- package/dist/cjs/domain/enum/commit-mode.enum.d.ts.map +1 -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 +17 -0
- package/dist/cjs/domain/enum/google-model.enum.d.ts.map +1 -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 +10 -0
- package/dist/cjs/domain/enum/index.d.ts.map +1 -0
- package/dist/cjs/domain/enum/llm-provider.enum.d.ts +12 -0
- package/dist/cjs/domain/enum/llm-provider.enum.d.ts.map +1 -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 +10 -0
- package/dist/cjs/domain/enum/log-level.enum.d.ts.map +1 -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 +25 -0
- package/dist/cjs/domain/enum/ollama-model.enum.d.ts.map +1 -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 +26 -0
- package/dist/cjs/domain/enum/openai-model.enum.d.ts.map +1 -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 +4 -0
- package/dist/cjs/domain/index.d.ts.map +1 -0
- package/dist/cjs/domain/value-object/api-key.value-object.d.ts +27 -0
- package/dist/cjs/domain/value-object/api-key.value-object.d.ts.map +1 -0
- package/dist/cjs/domain/value-object/api-key.value-object.js +49 -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 +33 -0
- package/dist/cjs/domain/value-object/commit-body.value-object.d.ts.map +1 -0
- package/dist/cjs/domain/value-object/commit-body.value-object.js +59 -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 +30 -0
- package/dist/cjs/domain/value-object/commit-header.value-object.d.ts.map +1 -0
- package/dist/cjs/domain/value-object/commit-header.value-object.js +57 -0
- package/dist/cjs/domain/value-object/commit-header.value-object.js.map +1 -0
- package/dist/cjs/domain/value-object/index.d.ts +4 -0
- package/dist/cjs/domain/value-object/index.d.ts.map +1 -0
- package/dist/cjs/index.d.ts +4 -13
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +73 -85
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/infrastructure/commit-validator/commitlint-validator.service.d.ts +39 -0
- package/dist/cjs/infrastructure/commit-validator/commitlint-validator.service.d.ts.map +1 -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 +2 -0
- package/dist/cjs/infrastructure/commit-validator/index.d.ts.map +1 -0
- package/dist/cjs/infrastructure/di/container.d.ts +18 -0
- package/dist/cjs/infrastructure/di/container.d.ts.map +1 -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 +2 -0
- package/dist/cjs/infrastructure/di/index.d.ts.map +1 -0
- package/dist/cjs/infrastructure/git/git-commit.repository.d.ts +37 -0
- package/dist/cjs/infrastructure/git/git-commit.repository.d.ts.map +1 -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 +2 -0
- package/dist/cjs/infrastructure/git/index.d.ts.map +1 -0
- package/dist/cjs/infrastructure/index.d.ts +5 -0
- package/dist/cjs/infrastructure/index.d.ts.map +1 -0
- package/dist/cjs/infrastructure/llm/anthropic-llm.service.d.ts +40 -0
- package/dist/cjs/infrastructure/llm/anthropic-llm.service.d.ts.map +1 -0
- package/dist/cjs/infrastructure/llm/anthropic-llm.service.js +310 -0
- package/dist/cjs/infrastructure/llm/anthropic-llm.service.js.map +1 -0
- package/dist/cjs/infrastructure/llm/aws-bedrock-llm.service.d.ts +61 -0
- package/dist/cjs/infrastructure/llm/aws-bedrock-llm.service.d.ts.map +1 -0
- package/dist/cjs/infrastructure/llm/aws-bedrock-llm.service.js +505 -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 +46 -0
- package/dist/cjs/infrastructure/llm/azure-openai-llm.service.d.ts.map +1 -0
- package/dist/cjs/infrastructure/llm/azure-openai-llm.service.js +338 -0
- package/dist/cjs/infrastructure/llm/azure-openai-llm.service.js.map +1 -0
- package/dist/cjs/infrastructure/llm/google-llm.service.d.ts +46 -0
- package/dist/cjs/infrastructure/llm/google-llm.service.d.ts.map +1 -0
- package/dist/cjs/infrastructure/llm/google-llm.service.js +322 -0
- package/dist/cjs/infrastructure/llm/google-llm.service.js.map +1 -0
- package/dist/cjs/infrastructure/llm/index.d.ts +7 -0
- package/dist/cjs/infrastructure/llm/index.d.ts.map +1 -0
- package/dist/cjs/infrastructure/llm/ollama-llm.service.d.ts +46 -0
- package/dist/cjs/infrastructure/llm/ollama-llm.service.d.ts.map +1 -0
- package/dist/cjs/infrastructure/llm/ollama-llm.service.js +369 -0
- package/dist/cjs/infrastructure/llm/ollama-llm.service.js.map +1 -0
- package/dist/cjs/infrastructure/llm/openai-llm.service.d.ts +46 -0
- package/dist/cjs/infrastructure/llm/openai-llm.service.d.ts.map +1 -0
- package/dist/cjs/infrastructure/llm/openai-llm.service.js +326 -0
- package/dist/cjs/infrastructure/llm/openai-llm.service.js.map +1 -0
- package/dist/cjs/infrastructure/service/cosmic-config.service.d.ts +65 -0
- package/dist/cjs/infrastructure/service/cosmic-config.service.d.ts.map +1 -0
- package/dist/cjs/infrastructure/service/cosmic-config.service.js +174 -0
- package/dist/cjs/infrastructure/service/cosmic-config.service.js.map +1 -0
- package/dist/cjs/infrastructure/service/index.d.ts +5 -0
- package/dist/cjs/infrastructure/service/index.d.ts.map +1 -0
- package/dist/cjs/infrastructure/service/node-command.service.d.ts +44 -0
- package/dist/cjs/infrastructure/service/node-command.service.d.ts.map +1 -0
- package/dist/cjs/infrastructure/service/node-command.service.js +152 -0
- package/dist/cjs/infrastructure/service/node-command.service.js.map +1 -0
- package/dist/cjs/infrastructure/service/node-file-system.service.d.ts +63 -0
- package/dist/cjs/infrastructure/service/node-file-system.service.d.ts.map +1 -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 +115 -0
- package/dist/cjs/infrastructure/service/prompts-cli-interface.service.d.ts.map +1 -0
- package/dist/cjs/infrastructure/service/prompts-cli-interface.service.js +315 -0
- package/dist/cjs/infrastructure/service/prompts-cli-interface.service.js.map +1 -0
- package/dist/cjs/presentation/commitizen.adapter.d.ts +24 -0
- package/dist/cjs/presentation/commitizen.adapter.d.ts.map +1 -0
- package/dist/cjs/presentation/commitizen.adapter.js +292 -0
- package/dist/cjs/presentation/commitizen.adapter.js.map +1 -0
- package/dist/cjs/presentation/index.d.ts +2 -0
- package/dist/cjs/presentation/index.d.ts.map +1 -0
- package/dist/esm/application/constant/config-file-directory.constant.d.ts +5 -0
- package/dist/esm/application/constant/config-file-directory.constant.d.ts.map +1 -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 +5 -0
- package/dist/esm/application/constant/config-module-name.constant.d.ts.map +1 -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 +3 -0
- package/dist/esm/application/constant/index.d.ts.map +1 -0
- package/dist/esm/application/index.d.ts +3 -0
- package/dist/esm/application/index.d.ts.map +1 -0
- package/dist/esm/application/interface/cli-interface-service-select-options.interface.d.ts +22 -0
- package/dist/esm/application/interface/cli-interface-service-select-options.interface.d.ts.map +1 -0
- package/dist/esm/application/interface/cli-interface-service.interface.d.ts +106 -0
- package/dist/esm/application/interface/cli-interface-service.interface.d.ts.map +1 -0
- package/dist/esm/application/interface/command-service.interface.d.ts +20 -0
- package/dist/esm/application/interface/command-service.interface.d.ts.map +1 -0
- package/dist/esm/application/interface/commit-repository.interface.d.ts +33 -0
- package/dist/esm/application/interface/commit-repository.interface.d.ts.map +1 -0
- package/dist/esm/application/interface/commit-validator.interface.d.ts +30 -0
- package/dist/esm/application/interface/commit-validator.interface.d.ts.map +1 -0
- package/dist/esm/application/interface/config-service.interface.d.ts +48 -0
- package/dist/esm/application/interface/config-service.interface.d.ts.map +1 -0
- package/dist/esm/application/interface/config.interface.d.ts +28 -0
- package/dist/esm/application/interface/config.interface.d.ts.map +1 -0
- package/dist/esm/application/interface/file-system-service.interface.d.ts +62 -0
- package/dist/esm/application/interface/file-system-service.interface.d.ts.map +1 -0
- package/dist/esm/application/interface/index.d.ts +10 -0
- package/dist/esm/application/interface/index.d.ts.map +1 -0
- package/dist/esm/application/interface/llm-service.interface.d.ts +44 -0
- package/dist/esm/application/interface/llm-service.interface.d.ts.map +1 -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.d.ts.map +1 -0
- package/dist/esm/application/use-case/configure-llm.use-case.js +365 -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 +19 -0
- package/dist/esm/application/use-case/generate-commit-message.use-case.d.ts.map +1 -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 +5 -0
- package/dist/esm/application/use-case/index.d.ts.map +1 -0
- package/dist/esm/application/use-case/manual-commit.use-case.d.ts +17 -0
- package/dist/esm/application/use-case/manual-commit.use-case.d.ts.map +1 -0
- package/dist/esm/application/use-case/manual-commit.use-case.js +77 -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 +27 -0
- package/dist/esm/application/use-case/validate-commit-message.use-case.d.ts.map +1 -0
- package/dist/esm/application/use-case/validate-commit-message.use-case.js +73 -0
- package/dist/esm/application/use-case/validate-commit-message.use-case.js.map +1 -0
- package/dist/esm/domain/constant/index.d.ts +2 -0
- package/dist/esm/domain/constant/index.d.ts.map +1 -0
- package/dist/esm/domain/constant/numeric.constant.d.ts +26 -0
- package/dist/esm/domain/constant/numeric.constant.d.ts.map +1 -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 +35 -0
- package/dist/esm/domain/entity/commit-message.entity.d.ts.map +1 -0
- package/dist/esm/domain/entity/commit-message.entity.js +54 -0
- package/dist/esm/domain/entity/commit-message.entity.js.map +1 -0
- package/dist/esm/domain/entity/index.d.ts +3 -0
- package/dist/esm/domain/entity/index.d.ts.map +1 -0
- package/dist/esm/domain/entity/llm-configuration.entity.d.ts +66 -0
- package/dist/esm/domain/entity/llm-configuration.entity.d.ts.map +1 -0
- package/dist/esm/domain/entity/llm-configuration.entity.js +94 -0
- package/dist/esm/domain/entity/llm-configuration.entity.js.map +1 -0
- package/dist/esm/domain/enum/anthropic-model.enum.d.ts +19 -0
- package/dist/esm/domain/enum/anthropic-model.enum.d.ts.map +1 -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 +34 -0
- package/dist/esm/domain/enum/aws-bedrock-model.enum.d.ts.map +1 -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 +18 -0
- package/dist/esm/domain/enum/azure-openai-model.enum.d.ts.map +1 -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 +8 -0
- package/dist/esm/domain/enum/commit-mode.enum.d.ts.map +1 -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 +17 -0
- package/dist/esm/domain/enum/google-model.enum.d.ts.map +1 -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 +10 -0
- package/dist/esm/domain/enum/index.d.ts.map +1 -0
- package/dist/esm/domain/enum/llm-provider.enum.d.ts +12 -0
- package/dist/esm/domain/enum/llm-provider.enum.d.ts.map +1 -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 +10 -0
- package/dist/esm/domain/enum/log-level.enum.d.ts.map +1 -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 +25 -0
- package/dist/esm/domain/enum/ollama-model.enum.d.ts.map +1 -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 +26 -0
- package/dist/esm/domain/enum/openai-model.enum.d.ts.map +1 -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 +4 -0
- package/dist/esm/domain/index.d.ts.map +1 -0
- package/dist/esm/domain/value-object/api-key.value-object.d.ts +27 -0
- package/dist/esm/domain/value-object/api-key.value-object.d.ts.map +1 -0
- package/dist/esm/domain/value-object/api-key.value-object.js +47 -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 +33 -0
- package/dist/esm/domain/value-object/commit-body.value-object.d.ts.map +1 -0
- package/dist/esm/domain/value-object/commit-body.value-object.js +57 -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 +30 -0
- package/dist/esm/domain/value-object/commit-header.value-object.d.ts.map +1 -0
- package/dist/esm/domain/value-object/commit-header.value-object.js +55 -0
- package/dist/esm/domain/value-object/commit-header.value-object.js.map +1 -0
- package/dist/esm/domain/value-object/index.d.ts +4 -0
- package/dist/esm/domain/value-object/index.d.ts.map +1 -0
- package/dist/esm/index.d.ts +4 -13
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +29 -84
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/infrastructure/commit-validator/commitlint-validator.service.d.ts +39 -0
- package/dist/esm/infrastructure/commit-validator/commitlint-validator.service.d.ts.map +1 -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 +2 -0
- package/dist/esm/infrastructure/commit-validator/index.d.ts.map +1 -0
- package/dist/esm/infrastructure/di/container.d.ts +18 -0
- package/dist/esm/infrastructure/di/container.d.ts.map +1 -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 +2 -0
- package/dist/esm/infrastructure/di/index.d.ts.map +1 -0
- package/dist/esm/infrastructure/git/git-commit.repository.d.ts +37 -0
- package/dist/esm/infrastructure/git/git-commit.repository.d.ts.map +1 -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 +2 -0
- package/dist/esm/infrastructure/git/index.d.ts.map +1 -0
- package/dist/esm/infrastructure/index.d.ts +5 -0
- package/dist/esm/infrastructure/index.d.ts.map +1 -0
- package/dist/esm/infrastructure/llm/anthropic-llm.service.d.ts +40 -0
- package/dist/esm/infrastructure/llm/anthropic-llm.service.d.ts.map +1 -0
- package/dist/esm/infrastructure/llm/anthropic-llm.service.js +308 -0
- package/dist/esm/infrastructure/llm/anthropic-llm.service.js.map +1 -0
- package/dist/esm/infrastructure/llm/aws-bedrock-llm.service.d.ts +61 -0
- package/dist/esm/infrastructure/llm/aws-bedrock-llm.service.d.ts.map +1 -0
- package/dist/esm/infrastructure/llm/aws-bedrock-llm.service.js +503 -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 +46 -0
- package/dist/esm/infrastructure/llm/azure-openai-llm.service.d.ts.map +1 -0
- package/dist/esm/infrastructure/llm/azure-openai-llm.service.js +336 -0
- package/dist/esm/infrastructure/llm/azure-openai-llm.service.js.map +1 -0
- package/dist/esm/infrastructure/llm/google-llm.service.d.ts +46 -0
- package/dist/esm/infrastructure/llm/google-llm.service.d.ts.map +1 -0
- package/dist/esm/infrastructure/llm/google-llm.service.js +320 -0
- package/dist/esm/infrastructure/llm/google-llm.service.js.map +1 -0
- package/dist/esm/infrastructure/llm/index.d.ts +7 -0
- package/dist/esm/infrastructure/llm/index.d.ts.map +1 -0
- package/dist/esm/infrastructure/llm/ollama-llm.service.d.ts +46 -0
- package/dist/esm/infrastructure/llm/ollama-llm.service.d.ts.map +1 -0
- package/dist/esm/infrastructure/llm/ollama-llm.service.js +367 -0
- package/dist/esm/infrastructure/llm/ollama-llm.service.js.map +1 -0
- package/dist/esm/infrastructure/llm/openai-llm.service.d.ts +46 -0
- package/dist/esm/infrastructure/llm/openai-llm.service.d.ts.map +1 -0
- package/dist/esm/infrastructure/llm/openai-llm.service.js +324 -0
- package/dist/esm/infrastructure/llm/openai-llm.service.js.map +1 -0
- package/dist/esm/infrastructure/service/cosmic-config.service.d.ts +65 -0
- package/dist/esm/infrastructure/service/cosmic-config.service.d.ts.map +1 -0
- package/dist/esm/infrastructure/service/cosmic-config.service.js +172 -0
- package/dist/esm/infrastructure/service/cosmic-config.service.js.map +1 -0
- package/dist/esm/infrastructure/service/index.d.ts +5 -0
- package/dist/esm/infrastructure/service/index.d.ts.map +1 -0
- package/dist/esm/infrastructure/service/node-command.service.d.ts +44 -0
- package/dist/esm/infrastructure/service/node-command.service.d.ts.map +1 -0
- package/dist/esm/infrastructure/service/node-command.service.js +150 -0
- package/dist/esm/infrastructure/service/node-command.service.js.map +1 -0
- package/dist/esm/infrastructure/service/node-file-system.service.d.ts +63 -0
- package/dist/esm/infrastructure/service/node-file-system.service.d.ts.map +1 -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 +115 -0
- package/dist/esm/infrastructure/service/prompts-cli-interface.service.d.ts.map +1 -0
- package/dist/esm/infrastructure/service/prompts-cli-interface.service.js +313 -0
- package/dist/esm/infrastructure/service/prompts-cli-interface.service.js.map +1 -0
- package/dist/esm/presentation/commitizen.adapter.d.ts +24 -0
- package/dist/esm/presentation/commitizen.adapter.d.ts.map +1 -0
- package/dist/esm/presentation/commitizen.adapter.js +290 -0
- package/dist/esm/presentation/commitizen.adapter.js.map +1 -0
- package/dist/esm/presentation/index.d.ts +2 -0
- package/dist/esm/presentation/index.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/index.cjs +1 -2
- package/package.json +33 -24
- 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 -165
- 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/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 -20
- package/dist/cjs/services/commitlintValidator.d.ts.map +0 -1
- package/dist/cjs/services/commitlintValidator.js +0 -145
- 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 -161
- 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/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 -20
- 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/esm/index.js
CHANGED
|
@@ -1,88 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { createAppContainer } from './infrastructure/di/container.js';
|
|
2
|
+
import { CommitizenAdapter } from './presentation/commitizen.adapter.js';
|
|
3
|
+
import 'dotenv/config';
|
|
4
|
+
export { ConfigureLLMUseCase } from './application/use-case/configure-llm.use-case.js';
|
|
5
|
+
export { GenerateCommitMessageUseCase } from './application/use-case/generate-commit-message.use-case.js';
|
|
6
|
+
export { ManualCommitUseCase } from './application/use-case/manual-commit.use-case.js';
|
|
7
|
+
export { ValidateCommitMessageUseCase } from './application/use-case/validate-commit-message.use-case.js';
|
|
8
|
+
export { CommitMessage } from './domain/entity/commit-message.entity.js';
|
|
9
|
+
export { LLMConfiguration } from './domain/entity/llm-configuration.entity.js';
|
|
10
|
+
export { EAnthropicModel } from './domain/enum/anthropic-model.enum.js';
|
|
11
|
+
export { EAWSBedrockModel } from './domain/enum/aws-bedrock-model.enum.js';
|
|
12
|
+
export { EAzureOpenAIModel } from './domain/enum/azure-openai-model.enum.js';
|
|
13
|
+
export { ECommitMode } from './domain/enum/commit-mode.enum.js';
|
|
14
|
+
export { EGoogleModel } from './domain/enum/google-model.enum.js';
|
|
15
|
+
export { ELLMProvider } from './domain/enum/llm-provider.enum.js';
|
|
16
|
+
export { ELogLevel } from './domain/enum/log-level.enum.js';
|
|
17
|
+
export { EOllamaModel } from './domain/enum/ollama-model.enum.js';
|
|
18
|
+
export { EOpenAIModel } from './domain/enum/openai-model.enum.js';
|
|
19
|
+
export { ApiKey } from './domain/value-object/api-key.value-object.js';
|
|
20
|
+
export { CommitBody } from './domain/value-object/commit-body.value-object.js';
|
|
21
|
+
export { CommitHeader } from './domain/value-object/commit-header.value-object.js';
|
|
10
22
|
|
|
11
|
-
//
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
// Check what commit mode to use based on config, environment variable, and fallback file
|
|
19
|
-
const getCommitMode = () => {
|
|
20
|
-
try {
|
|
21
|
-
// First check environment variable (highest priority)
|
|
22
|
-
// Next check for manual flag file
|
|
23
|
-
if (existsSync(join("./.elsikora", "manual"))) {
|
|
24
|
-
return "manual";
|
|
25
|
-
}
|
|
26
|
-
// Finally check config file
|
|
27
|
-
const config = getLLMConfig();
|
|
28
|
-
if (config?.mode && // Validation is now done in config.ts to avoid duplicate messages
|
|
29
|
-
(config.mode === "auto" || config.mode === "manual")) {
|
|
30
|
-
return config.mode;
|
|
31
|
-
}
|
|
32
|
-
// Default to auto if not specified
|
|
33
|
-
return "auto";
|
|
34
|
-
}
|
|
35
|
-
catch {
|
|
36
|
-
// In case of any errors, default to auto
|
|
37
|
-
return "auto";
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* Entry point for commitizen
|
|
42
|
-
* @param inquirerIns instance passed by commitizen, unused
|
|
43
|
-
* @param commit callback to execute with complete commit message
|
|
44
|
-
* @return {void}
|
|
45
|
-
*/
|
|
46
|
-
async function prompter(inquirerIns, commit) {
|
|
47
|
-
// eslint-disable-next-line @elsikora-typescript/typedef
|
|
48
|
-
await load().then(async ({ prompt = {}, rules }) => {
|
|
49
|
-
// Use process (AI mode) unless manual mode is enabled
|
|
50
|
-
const commitMode = getCommitMode();
|
|
51
|
-
if (commitMode === "manual") {
|
|
52
|
-
const { useExisting } = await inquirer.prompt([
|
|
53
|
-
{
|
|
54
|
-
// eslint-disable-next-line @elsikora-typescript/naming-convention
|
|
55
|
-
default: true,
|
|
56
|
-
message: `Use manual configuration?`,
|
|
57
|
-
name: "useExisting",
|
|
58
|
-
type: "confirm",
|
|
59
|
-
},
|
|
60
|
-
]);
|
|
61
|
-
if (useExisting) {
|
|
62
|
-
console.log(chalk.blue("Using manual commit mode..."));
|
|
63
|
-
// Import manualProcess dynamically to avoid loading AI deps when not needed
|
|
64
|
-
// eslint-disable-next-line @elsikora-typescript/typedef
|
|
65
|
-
await import('./ManualProcess.js').then(async ({ default: manualProcess }) => {
|
|
66
|
-
await manualProcess(rules, prompt, inquirerIns).then(commit);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
console.log(chalk.blue("Using AI-powered commit mode..."));
|
|
71
|
-
// eslint-disable-next-line @elsikora/typescript/no-non-null-assertion
|
|
72
|
-
const oldConfig = getLLMConfig();
|
|
73
|
-
setLLMConfig({
|
|
74
|
-
...oldConfig,
|
|
75
|
-
mode: "auto",
|
|
76
|
-
});
|
|
77
|
-
await Process(rules, prompt, inquirerIns).then(commit);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
console.log(chalk.blue("Using AI-powered commit mode..."));
|
|
82
|
-
await Process(rules, prompt, inquirerIns).then(commit);
|
|
83
|
-
}
|
|
84
|
-
});
|
|
23
|
+
// Initialize the DI container
|
|
24
|
+
createAppContainer();
|
|
25
|
+
// Create adapter instance
|
|
26
|
+
const adapter = new CommitizenAdapter();
|
|
27
|
+
// Main adapter function - explicitly typed for module export
|
|
28
|
+
function prompter(inquirerInstance, commit) {
|
|
29
|
+
void adapter.prompter(inquirerInstance, commit);
|
|
85
30
|
}
|
|
86
31
|
|
|
87
|
-
export {
|
|
32
|
+
export { prompter };
|
|
88
33
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":[null],"names":[
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAKA;AACA,kBAAkB,EAAE;AAEpB;AACA,MAAM,OAAO,GAAsB,IAAI,iBAAiB,EAAE;AAE1D;AACgB,SAAA,QAAQ,CAAC,gBAAyB,EAAE,MAAiC,EAAA;IACpF,KAAK,OAAO,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;AAChD;;;;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ICommitValidationResult, ICommitValidator } from "../../application/interface/commit-validator.interface.js";
|
|
2
|
+
import type { ILlmPromptContext, ILlmService } from "../../application/interface/llm-service.interface.js";
|
|
3
|
+
import type { CommitMessage } from "../../domain/entity/commit-message.entity.js";
|
|
4
|
+
import type { LLMConfiguration } from "../../domain/entity/llm-configuration.entity.js";
|
|
5
|
+
/**
|
|
6
|
+
* Commitlint implementation of the commit validator
|
|
7
|
+
*/
|
|
8
|
+
export declare class CommitlintValidatorService implements ICommitValidator {
|
|
9
|
+
private readonly LLM_SERVICES?;
|
|
10
|
+
private llmConfiguration?;
|
|
11
|
+
constructor(llmServices?: Array<ILlmService>);
|
|
12
|
+
/**
|
|
13
|
+
* Attempt to fix a commit message based on validation errors
|
|
14
|
+
* @param message - The commit message to fix
|
|
15
|
+
* @param validationResult - The validation result containing errors
|
|
16
|
+
* @param context - Optional original context for LLM-based fixing
|
|
17
|
+
* @returns Promise resolving to the fixed commit message or null if unfixable
|
|
18
|
+
*/
|
|
19
|
+
fix(message: CommitMessage, validationResult: ICommitValidationResult, context?: ILlmPromptContext): Promise<CommitMessage | null>;
|
|
20
|
+
/**
|
|
21
|
+
* Set the LLM configuration for context-aware fixing
|
|
22
|
+
* @param configuration - The LLM configuration
|
|
23
|
+
*/
|
|
24
|
+
setLLMConfiguration(configuration: LLMConfiguration): void;
|
|
25
|
+
/**
|
|
26
|
+
* Validate a commit message using commitlint
|
|
27
|
+
* @param message - The commit message to validate
|
|
28
|
+
* @returns Promise resolving to the validation result
|
|
29
|
+
*/
|
|
30
|
+
validate(message: CommitMessage): Promise<ICommitValidationResult>;
|
|
31
|
+
/**
|
|
32
|
+
* Wrap text to ensure no line exceeds the specified length
|
|
33
|
+
* @param text - The text to wrap
|
|
34
|
+
* @param maxLength - Maximum line length
|
|
35
|
+
* @returns The wrapped text
|
|
36
|
+
*/
|
|
37
|
+
private wrapText;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=commitlint-validator.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commitlint-validator.service.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/commit-validator/commitlint-validator.service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,2DAA2D,CAAC;AAC3H,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AASxF;;GAEG;AACH,qBAAa,0BAA2B,YAAW,gBAAgB;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAqB;IAEnD,OAAO,CAAC,gBAAgB,CAAC,CAAmB;gBAEhC,WAAW,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC;IAI5C;;;;;;OAMG;IACG,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA+IxI;;;OAGG;IACH,mBAAmB,CAAC,aAAa,EAAE,gBAAgB,GAAG,IAAI;IAI1D;;;;OAIG;IACG,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAYxE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAmChB"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import lint from '@commitlint/lint';
|
|
2
|
+
import load from '@commitlint/load';
|
|
3
|
+
import { ELLIPSIS_LENGTH } from '../../domain/constant/numeric.constant.js';
|
|
4
|
+
import { CommitBody } from '../../domain/value-object/commit-body.value-object.js';
|
|
5
|
+
import { CommitHeader } from '../../domain/value-object/commit-header.value-object.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Commitlint implementation of the commit validator
|
|
9
|
+
*/
|
|
10
|
+
class CommitlintValidatorService {
|
|
11
|
+
LLM_SERVICES;
|
|
12
|
+
llmConfiguration;
|
|
13
|
+
constructor(llmServices) {
|
|
14
|
+
this.LLM_SERVICES = llmServices;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Attempt to fix a commit message based on validation errors
|
|
18
|
+
* @param message - The commit message to fix
|
|
19
|
+
* @param validationResult - The validation result containing errors
|
|
20
|
+
* @param context - Optional original context for LLM-based fixing
|
|
21
|
+
* @returns Promise resolving to the fixed commit message or null if unfixable
|
|
22
|
+
*/
|
|
23
|
+
async fix(message, validationResult, context) {
|
|
24
|
+
if (!validationResult.errors || validationResult.errors.length === 0) {
|
|
25
|
+
return message;
|
|
26
|
+
}
|
|
27
|
+
// If we have context and LLM services, use LLM to regenerate
|
|
28
|
+
if (context && this.LLM_SERVICES && this.llmConfiguration) {
|
|
29
|
+
const service = this.LLM_SERVICES.find((s) => {
|
|
30
|
+
const config = this.llmConfiguration;
|
|
31
|
+
return config ? s.supports(config) : false;
|
|
32
|
+
});
|
|
33
|
+
if (service) {
|
|
34
|
+
process.stdout.write("Using LLM to intelligently fix validation errors...\n");
|
|
35
|
+
try {
|
|
36
|
+
// Create a minimal context for fixing - no need to send diff again
|
|
37
|
+
const fixContext = {
|
|
38
|
+
body: context.body,
|
|
39
|
+
// Explicitly exclude diff and files
|
|
40
|
+
diff: undefined,
|
|
41
|
+
files: undefined,
|
|
42
|
+
rules: {
|
|
43
|
+
...(typeof context.rules === "object" && !Array.isArray(context.rules) ? context.rules : {}),
|
|
44
|
+
instructions: "Fix the commit message to comply with the validation rules. Do not change the meaning or content, only fix the format to pass validation.",
|
|
45
|
+
previousAttempt: message.toString(),
|
|
46
|
+
validationErrors: validationResult.errors,
|
|
47
|
+
},
|
|
48
|
+
scopeDescription: context.scopeDescription,
|
|
49
|
+
subject: context.subject,
|
|
50
|
+
typeDescription: context.typeDescription,
|
|
51
|
+
typeDescriptions: context.typeDescriptions,
|
|
52
|
+
typeEnum: context.typeEnum,
|
|
53
|
+
};
|
|
54
|
+
// Generate a new commit message with the minimal context
|
|
55
|
+
const fixedMessage = await service.generateCommitMessage(fixContext, this.llmConfiguration);
|
|
56
|
+
// Validate the new message
|
|
57
|
+
const fixedValidation = await this.validate(fixedMessage);
|
|
58
|
+
if (fixedValidation.isValid) {
|
|
59
|
+
process.stdout.write("LLM fix successful!\n");
|
|
60
|
+
return fixedMessage;
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
process.stdout.write("LLM fix still has validation errors, falling back to simple fixes\n");
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
process.stderr.write(`Failed to fix commit message with LLM: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
68
|
+
// Fall through to simple fixes
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
process.stdout.write("Attempting simple rule-based fixes...\n");
|
|
73
|
+
// Fallback to simple fixes
|
|
74
|
+
let fixedMessage = message;
|
|
75
|
+
// Try to fix common errors
|
|
76
|
+
for (const error of validationResult.errors) {
|
|
77
|
+
if (error.includes("subject may not be empty")) {
|
|
78
|
+
// Can't fix empty subject
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
if (error.includes("type may not be empty")) {
|
|
82
|
+
// Can't fix empty type
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
// Fix subject case issues
|
|
86
|
+
if (error.includes("subject must not be sentence-case")) {
|
|
87
|
+
const header = fixedMessage.getHeader();
|
|
88
|
+
const subject = header.getSubject();
|
|
89
|
+
const fixedSubject = subject.charAt(0).toLowerCase() + subject.slice(1);
|
|
90
|
+
const newHeader = new CommitHeader(header.getType(), fixedSubject, header.getScope());
|
|
91
|
+
fixedMessage = fixedMessage.withHeader(newHeader);
|
|
92
|
+
}
|
|
93
|
+
// Fix subject trailing period
|
|
94
|
+
if (error.includes("subject may not end with period")) {
|
|
95
|
+
const header = fixedMessage.getHeader();
|
|
96
|
+
const subject = header.getSubject();
|
|
97
|
+
const fixedSubject = subject.replace(/\.$/, "");
|
|
98
|
+
const newHeader = new CommitHeader(header.getType(), fixedSubject, header.getScope());
|
|
99
|
+
fixedMessage = fixedMessage.withHeader(newHeader);
|
|
100
|
+
}
|
|
101
|
+
// Fix header max length
|
|
102
|
+
if (error.includes("header must not be longer than")) {
|
|
103
|
+
const maxLengthNumbers = error.match(/\d+/g) ?? [];
|
|
104
|
+
if (maxLengthNumbers.length > 0) {
|
|
105
|
+
const maxLength = Number.parseInt(maxLengthNumbers[0], 10);
|
|
106
|
+
const header = fixedMessage.getHeader();
|
|
107
|
+
const currentLength = header.toString().length;
|
|
108
|
+
if (currentLength > maxLength) {
|
|
109
|
+
// Try to shorten the subject
|
|
110
|
+
const overhead = currentLength - maxLength;
|
|
111
|
+
const subject = header.getSubject();
|
|
112
|
+
const shortenedSubject = subject.slice(0, Math.max(0, subject.length - overhead - ELLIPSIS_LENGTH)) + "...";
|
|
113
|
+
const newHeader = new CommitHeader(header.getType(), shortenedSubject, header.getScope());
|
|
114
|
+
fixedMessage = fixedMessage.withHeader(newHeader);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// Fix body/footer line length
|
|
119
|
+
if (error.includes("footer's lines must not be longer than") || error.includes("body's lines must not be longer than")) {
|
|
120
|
+
const maxLengthNumbers = error.match(/\d+/g) ?? [];
|
|
121
|
+
if (maxLengthNumbers.length > 0) {
|
|
122
|
+
const maxLength = Number.parseInt(maxLengthNumbers[0], 10);
|
|
123
|
+
const body = fixedMessage.getBody();
|
|
124
|
+
// Wrap body lines
|
|
125
|
+
const wrappedBody = this.wrapText(body.getContent(), maxLength);
|
|
126
|
+
const wrappedBreaking = this.wrapText(body.getBreakingChange(), maxLength);
|
|
127
|
+
const newBody = new CommitBody(wrappedBody, wrappedBreaking);
|
|
128
|
+
fixedMessage = fixedMessage.withBody(newBody);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// Validate the fixed message
|
|
133
|
+
const fixedValidation = await this.validate(fixedMessage);
|
|
134
|
+
if (fixedValidation.isValid) {
|
|
135
|
+
process.stdout.write("Simple fixes successful!\n");
|
|
136
|
+
return fixedMessage;
|
|
137
|
+
}
|
|
138
|
+
// If still invalid, return null
|
|
139
|
+
process.stdout.write("Simple fixes failed to resolve all validation errors\n");
|
|
140
|
+
return null;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Set the LLM configuration for context-aware fixing
|
|
144
|
+
* @param configuration - The LLM configuration
|
|
145
|
+
*/
|
|
146
|
+
setLLMConfiguration(configuration) {
|
|
147
|
+
this.llmConfiguration = configuration;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Validate a commit message using commitlint
|
|
151
|
+
* @param message - The commit message to validate
|
|
152
|
+
* @returns Promise resolving to the validation result
|
|
153
|
+
*/
|
|
154
|
+
async validate(message) {
|
|
155
|
+
const loadResult = await load();
|
|
156
|
+
const { rules = {} } = loadResult;
|
|
157
|
+
const result = await lint(message.toString(), rules);
|
|
158
|
+
return {
|
|
159
|
+
errors: result.errors.map((error) => error.message),
|
|
160
|
+
isValid: result.valid,
|
|
161
|
+
warnings: result.warnings.map((warning) => warning.message),
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Wrap text to ensure no line exceeds the specified length
|
|
166
|
+
* @param text - The text to wrap
|
|
167
|
+
* @param maxLength - Maximum line length
|
|
168
|
+
* @returns The wrapped text
|
|
169
|
+
*/
|
|
170
|
+
wrapText(text, maxLength) {
|
|
171
|
+
if (!text) {
|
|
172
|
+
return text;
|
|
173
|
+
}
|
|
174
|
+
const lines = text.split("\n");
|
|
175
|
+
const wrappedLines = [];
|
|
176
|
+
for (const line of lines) {
|
|
177
|
+
if (line.length <= maxLength) {
|
|
178
|
+
wrappedLines.push(line);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
// Simple word wrap
|
|
182
|
+
const words = line.split(" ");
|
|
183
|
+
let currentLine = "";
|
|
184
|
+
for (const word of words) {
|
|
185
|
+
if (currentLine.length + word.length + 1 <= maxLength) {
|
|
186
|
+
currentLine += (currentLine ? " " : "") + word;
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
if (currentLine) {
|
|
190
|
+
wrappedLines.push(currentLine);
|
|
191
|
+
}
|
|
192
|
+
currentLine = word;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (currentLine) {
|
|
196
|
+
wrappedLines.push(currentLine);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return wrappedLines.join("\n");
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
export { CommitlintValidatorService };
|
|
205
|
+
//# sourceMappingURL=commitlint-validator.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commitlint-validator.service.js","sources":["../../../../../src/infrastructure/commit-validator/commitlint-validator.service.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/commit-validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { IContainer } from "@elsikora/cladi";
|
|
2
|
+
export declare const FileSystemServiceToken: symbol;
|
|
3
|
+
export declare const CliInterfaceServiceToken: symbol;
|
|
4
|
+
export declare const CommandServiceToken: symbol;
|
|
5
|
+
export declare const ConfigServiceToken: symbol;
|
|
6
|
+
export declare const CommitValidatorToken: symbol;
|
|
7
|
+
export declare const CommitRepositoryToken: symbol;
|
|
8
|
+
export declare const LLMServicesToken: symbol;
|
|
9
|
+
export declare const GenerateCommitMessageUseCaseToken: symbol;
|
|
10
|
+
export declare const ValidateCommitMessageUseCaseToken: symbol;
|
|
11
|
+
export declare const ConfigureLLMUseCaseToken: symbol;
|
|
12
|
+
export declare const ManualCommitUseCaseToken: symbol;
|
|
13
|
+
/**
|
|
14
|
+
* Create and configure the application DI container
|
|
15
|
+
* @returns The configured container
|
|
16
|
+
*/
|
|
17
|
+
export declare function createAppContainer(): IContainer;
|
|
18
|
+
//# sourceMappingURL=container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/di/container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA6BlD,eAAO,MAAM,sBAAsB,EAAE,MAAoC,CAAC;AAC1E,eAAO,MAAM,wBAAwB,EAAE,MAAsC,CAAC;AAC9E,eAAO,MAAM,mBAAmB,EAAE,MAAiC,CAAC;AACpE,eAAO,MAAM,kBAAkB,EAAE,MAAgC,CAAC;AAClE,eAAO,MAAM,oBAAoB,EAAE,MAAkC,CAAC;AACtE,eAAO,MAAM,qBAAqB,EAAE,MAAmC,CAAC;AACxE,eAAO,MAAM,gBAAgB,EAAE,MAA8B,CAAC;AAG9D,eAAO,MAAM,iCAAiC,EAAE,MAA+C,CAAC;AAChG,eAAO,MAAM,iCAAiC,EAAE,MAA+C,CAAC;AAChG,eAAO,MAAM,wBAAwB,EAAE,MAAsC,CAAC;AAC9E,eAAO,MAAM,wBAAwB,EAAE,MAAsC,CAAC;AAE9E;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,UAAU,CAkC/C"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { createContainer } from '@elsikora/cladi';
|
|
2
|
+
import { ConfigureLLMUseCase } from '../../application/use-case/configure-llm.use-case.js';
|
|
3
|
+
import { GenerateCommitMessageUseCase } from '../../application/use-case/generate-commit-message.use-case.js';
|
|
4
|
+
import { ManualCommitUseCase } from '../../application/use-case/manual-commit.use-case.js';
|
|
5
|
+
import { ValidateCommitMessageUseCase } from '../../application/use-case/validate-commit-message.use-case.js';
|
|
6
|
+
import { CommitlintValidatorService } from '../commit-validator/commitlint-validator.service.js';
|
|
7
|
+
import { GitCommitRepository } from '../git/git-commit.repository.js';
|
|
8
|
+
import { AnthropicLlmService } from '../llm/anthropic-llm.service.js';
|
|
9
|
+
import { AWSBedrockLlmService } from '../llm/aws-bedrock-llm.service.js';
|
|
10
|
+
import { AzureOpenAILlmService } from '../llm/azure-openai-llm.service.js';
|
|
11
|
+
import { GoogleLlmService } from '../llm/google-llm.service.js';
|
|
12
|
+
import { OllamaLlmService } from '../llm/ollama-llm.service.js';
|
|
13
|
+
import { OpenAILlmService } from '../llm/openai-llm.service.js';
|
|
14
|
+
import { CosmicConfigService } from '../service/cosmic-config.service.js';
|
|
15
|
+
import { NodeCommandService } from '../service/node-command.service.js';
|
|
16
|
+
import { NodeFileSystemService } from '../service/node-file-system.service.js';
|
|
17
|
+
import { PromptsCliInterface } from '../service/prompts-cli-interface.service.js';
|
|
18
|
+
|
|
19
|
+
// Service tokens
|
|
20
|
+
const FileSystemServiceToken = Symbol("FileSystemService");
|
|
21
|
+
const CliInterfaceServiceToken = Symbol("CliInterfaceService");
|
|
22
|
+
const CommandServiceToken = Symbol("CommandService");
|
|
23
|
+
const ConfigServiceToken = Symbol("ConfigService");
|
|
24
|
+
const CommitValidatorToken = Symbol("CommitValidator");
|
|
25
|
+
const CommitRepositoryToken = Symbol("CommitRepository");
|
|
26
|
+
const LLMServicesToken = Symbol("LLMServices");
|
|
27
|
+
// Use case tokens
|
|
28
|
+
const GenerateCommitMessageUseCaseToken = Symbol("GenerateCommitMessageUseCase");
|
|
29
|
+
const ValidateCommitMessageUseCaseToken = Symbol("ValidateCommitMessageUseCase");
|
|
30
|
+
const ConfigureLLMUseCaseToken = Symbol("ConfigureLLMUseCase");
|
|
31
|
+
const ManualCommitUseCaseToken = Symbol("ManualCommitUseCase");
|
|
32
|
+
/**
|
|
33
|
+
* Create and configure the application DI container
|
|
34
|
+
* @returns The configured container
|
|
35
|
+
*/
|
|
36
|
+
function createAppContainer() {
|
|
37
|
+
const container = createContainer({});
|
|
38
|
+
// Register infrastructure services
|
|
39
|
+
container.register(FileSystemServiceToken, new NodeFileSystemService());
|
|
40
|
+
container.register(CliInterfaceServiceToken, new PromptsCliInterface());
|
|
41
|
+
const cliInterface = container.get(CliInterfaceServiceToken) ?? new PromptsCliInterface();
|
|
42
|
+
const fileSystem = container.get(FileSystemServiceToken) ?? new NodeFileSystemService();
|
|
43
|
+
container.register(ConfigServiceToken, new CosmicConfigService(fileSystem));
|
|
44
|
+
container.register(CommandServiceToken, new NodeCommandService(cliInterface));
|
|
45
|
+
const commandService = container.get(CommandServiceToken) ?? new NodeCommandService(cliInterface);
|
|
46
|
+
container.register(CommitRepositoryToken, new GitCommitRepository(commandService));
|
|
47
|
+
// Register LLM services
|
|
48
|
+
const llmServices = [new OpenAILlmService(), new AnthropicLlmService(), new GoogleLlmService(), new AzureOpenAILlmService(), new AWSBedrockLlmService(), new OllamaLlmService()];
|
|
49
|
+
container.register(LLMServicesToken, llmServices);
|
|
50
|
+
// Register commit validator with LLM services
|
|
51
|
+
container.register(CommitValidatorToken, new CommitlintValidatorService(llmServices));
|
|
52
|
+
const validator = container.get(CommitValidatorToken) ?? new CommitlintValidatorService([]);
|
|
53
|
+
const configService = container.get(ConfigServiceToken) ?? new CosmicConfigService(fileSystem);
|
|
54
|
+
// Register use cases
|
|
55
|
+
container.register(ConfigureLLMUseCaseToken, new ConfigureLLMUseCase(configService, cliInterface));
|
|
56
|
+
container.register(GenerateCommitMessageUseCaseToken, new GenerateCommitMessageUseCase(llmServices));
|
|
57
|
+
container.register(ValidateCommitMessageUseCaseToken, new ValidateCommitMessageUseCase(validator));
|
|
58
|
+
container.register(ManualCommitUseCaseToken, new ManualCommitUseCase(cliInterface));
|
|
59
|
+
return container;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export { CliInterfaceServiceToken, CommandServiceToken, CommitRepositoryToken, CommitValidatorToken, ConfigServiceToken, ConfigureLLMUseCaseToken, FileSystemServiceToken, GenerateCommitMessageUseCaseToken, LLMServicesToken, ManualCommitUseCaseToken, ValidateCommitMessageUseCaseToken, createAppContainer };
|
|
63
|
+
//# sourceMappingURL=container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.js","sources":["../../../../../src/infrastructure/di/container.ts"],"sourcesContent":[null],"names":["ConfigureLLMUseCaseImpl","GenerateCommitMessageUseCaseImpl","ValidateCommitMessageUseCaseImpl","ManualCommitUseCaseImpl"],"mappings":";;;;;;;;;;;;;;;;;;AA4BA;MACa,sBAAsB,GAAW,MAAM,CAAC,mBAAmB;MAC3D,wBAAwB,GAAW,MAAM,CAAC,qBAAqB;MAC/D,mBAAmB,GAAW,MAAM,CAAC,gBAAgB;MACrD,kBAAkB,GAAW,MAAM,CAAC,eAAe;MACnD,oBAAoB,GAAW,MAAM,CAAC,iBAAiB;MACvD,qBAAqB,GAAW,MAAM,CAAC,kBAAkB;MACzD,gBAAgB,GAAW,MAAM,CAAC,aAAa;AAE5D;MACa,iCAAiC,GAAW,MAAM,CAAC,8BAA8B;MACjF,iCAAiC,GAAW,MAAM,CAAC,8BAA8B;MACjF,wBAAwB,GAAW,MAAM,CAAC,qBAAqB;MAC/D,wBAAwB,GAAW,MAAM,CAAC,qBAAqB;AAE5E;;;AAGG;SACa,kBAAkB,GAAA;AACjC,IAAA,MAAM,SAAS,GAAe,eAAe,CAAC,EAAE,CAAC;;IAGjD,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,IAAI,qBAAqB,EAAE,CAAC;IACvE,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,IAAI,mBAAmB,EAAE,CAAC;AAEvE,IAAA,MAAM,YAAY,GAAyB,SAAS,CAAC,GAAG,CAAuB,wBAAwB,CAAC,IAAI,IAAI,mBAAmB,EAAE;AACrI,IAAA,MAAM,UAAU,GAAuB,SAAS,CAAC,GAAG,CAAqB,sBAAsB,CAAC,IAAI,IAAI,qBAAqB,EAAE;IAE/H,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC3E,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,IAAI,kBAAkB,CAAC,YAAY,CAAC,CAAC;AAE7E,IAAA,MAAM,cAAc,GAAoB,SAAS,CAAC,GAAG,CAAkB,mBAAmB,CAAC,IAAI,IAAI,kBAAkB,CAAC,YAAY,CAAC;IAEnI,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC;;IAGlF,MAAM,WAAW,GAAuB,CAAC,IAAI,gBAAgB,EAAE,EAAE,IAAI,mBAAmB,EAAE,EAAE,IAAI,gBAAgB,EAAE,EAAE,IAAI,qBAAqB,EAAE,EAAE,IAAI,oBAAoB,EAAE,EAAE,IAAI,gBAAgB,EAAE,CAAC;AACpM,IAAA,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC;;IAGjD,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,0BAA0B,CAAC,WAAW,CAAC,CAAC;AAErF,IAAA,MAAM,SAAS,GAAqB,SAAS,CAAC,GAAG,CAAmB,oBAAoB,CAAC,IAAI,IAAI,0BAA0B,CAAC,EAAE,CAAC;AAC/H,IAAA,MAAM,aAAa,GAAmB,SAAS,CAAC,GAAG,CAAiB,kBAAkB,CAAC,IAAI,IAAI,mBAAmB,CAAC,UAAU,CAAC;;AAG9H,IAAA,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,IAAIA,mBAAuB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACtG,SAAS,CAAC,QAAQ,CAAC,iCAAiC,EAAE,IAAIC,4BAAgC,CAAC,WAAW,CAAC,CAAC;IACxG,SAAS,CAAC,QAAQ,CAAC,iCAAiC,EAAE,IAAIC,4BAAgC,CAAC,SAAS,CAAC,CAAC;IACtG,SAAS,CAAC,QAAQ,CAAC,wBAAwB,EAAE,IAAIC,mBAAuB,CAAC,YAAY,CAAC,CAAC;AAEvF,IAAA,OAAO,SAAS;AACjB;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/di/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ICommandService } from "../../application/interface/command-service.interface.js";
|
|
2
|
+
import type { ICommitRepository } from "../../application/interface/commit-repository.interface.js";
|
|
3
|
+
import type { CommitMessage } from "../../domain/entity/commit-message.entity.js";
|
|
4
|
+
/**
|
|
5
|
+
* Git implementation of the commit repository
|
|
6
|
+
*/
|
|
7
|
+
export declare class GitCommitRepository implements ICommitRepository {
|
|
8
|
+
private readonly COMMAND_SERVICE;
|
|
9
|
+
constructor(commandService: ICommandService);
|
|
10
|
+
/**
|
|
11
|
+
* Create a commit with the given message
|
|
12
|
+
* @param message - The commit message
|
|
13
|
+
* @returns Promise that resolves when the commit is created
|
|
14
|
+
*/
|
|
15
|
+
commit(message: CommitMessage): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Get the current branch name
|
|
18
|
+
* @returns Promise resolving to the current branch name
|
|
19
|
+
*/
|
|
20
|
+
getCurrentBranch(): Promise<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Get the staged diff
|
|
23
|
+
* @returns Promise resolving to the staged diff
|
|
24
|
+
*/
|
|
25
|
+
getStagedDiff(): Promise<string>;
|
|
26
|
+
/**
|
|
27
|
+
* Get the list of staged files
|
|
28
|
+
* @returns Promise resolving to the list of staged files
|
|
29
|
+
*/
|
|
30
|
+
getStagedFiles(): Promise<Array<string>>;
|
|
31
|
+
/**
|
|
32
|
+
* Check if there are staged changes
|
|
33
|
+
* @returns Promise resolving to true if there are staged changes
|
|
34
|
+
*/
|
|
35
|
+
hasStagedChanges(): Promise<boolean>;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=git-commit.repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-commit.repository.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/git/git-commit.repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AACpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAElF;;GAEG;AACH,qBAAa,mBAAoB,YAAW,iBAAiB;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;gBAEtC,cAAc,EAAE,eAAe;IAI3C;;;;OAIG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAMzC;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAiBtC;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAU9C;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;CAS1C"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git implementation of the commit repository
|
|
3
|
+
*/
|
|
4
|
+
class GitCommitRepository {
|
|
5
|
+
COMMAND_SERVICE;
|
|
6
|
+
constructor(commandService) {
|
|
7
|
+
this.COMMAND_SERVICE = commandService;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Create a commit with the given message
|
|
11
|
+
* @param message - The commit message
|
|
12
|
+
* @returns Promise that resolves when the commit is created
|
|
13
|
+
*/
|
|
14
|
+
async commit(message) {
|
|
15
|
+
// Escape the commit message for shell
|
|
16
|
+
const escapedMessage = message.toString().replaceAll("'", String.raw `'\''`);
|
|
17
|
+
// Execute git commit
|
|
18
|
+
await this.COMMAND_SERVICE.execute(`git commit -m '${escapedMessage}'`);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get the current branch name
|
|
22
|
+
* @returns Promise resolving to the current branch name
|
|
23
|
+
*/
|
|
24
|
+
async getCurrentBranch() {
|
|
25
|
+
const branch = await this.COMMAND_SERVICE.executeWithOutput("git rev-parse --abbrev-ref HEAD");
|
|
26
|
+
return branch || "main";
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get the staged diff
|
|
30
|
+
* @returns Promise resolving to the staged diff
|
|
31
|
+
*/
|
|
32
|
+
async getStagedDiff() {
|
|
33
|
+
try {
|
|
34
|
+
// Get a compact diff suitable for LLM context
|
|
35
|
+
const diff = await this.COMMAND_SERVICE.executeWithOutput("git diff --cached --stat -p --no-color");
|
|
36
|
+
// Limit diff size to avoid token limits
|
|
37
|
+
const maxLength = 3000;
|
|
38
|
+
if (diff.length > maxLength) {
|
|
39
|
+
return diff.slice(0, Math.max(0, maxLength)) + "\n... (truncated)";
|
|
40
|
+
}
|
|
41
|
+
return diff;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return "";
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Get the list of staged files
|
|
49
|
+
* @returns Promise resolving to the list of staged files
|
|
50
|
+
*/
|
|
51
|
+
async getStagedFiles() {
|
|
52
|
+
try {
|
|
53
|
+
const output = await this.COMMAND_SERVICE.executeWithOutput("git diff --cached --name-only");
|
|
54
|
+
return output.split("\n").filter((file) => file.trim().length > 0);
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Check if there are staged changes
|
|
62
|
+
* @returns Promise resolving to true if there are staged changes
|
|
63
|
+
*/
|
|
64
|
+
async hasStagedChanges() {
|
|
65
|
+
try {
|
|
66
|
+
const output = await this.COMMAND_SERVICE.executeWithOutput("git diff --cached --name-only");
|
|
67
|
+
return output.length > 0;
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export { GitCommitRepository };
|
|
76
|
+
//# sourceMappingURL=git-commit.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-commit.repository.js","sources":["../../../../../src/infrastructure/git/git-commit.repository.ts"],"sourcesContent":[null],"names":[],"mappings":"AAIA;;AAEG;MACU,mBAAmB,CAAA;AACd,IAAA,eAAe;AAEhC,IAAA,WAAA,CAAY,cAA+B,EAAA;AAC1C,QAAA,IAAI,CAAC,eAAe,GAAG,cAAc;;AAGtC;;;;AAIG;IACH,MAAM,MAAM,CAAC,OAAsB,EAAA;;AAElC,QAAA,MAAM,cAAc,GAAW,OAAO,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAA,CAAA,IAAA,CAAM,CAAC;;QAGnF,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAkB,eAAA,EAAA,cAAc,CAAG,CAAA,CAAA,CAAC;;AAGxE;;;AAGG;AACH,IAAA,MAAM,gBAAgB,GAAA;QACrB,MAAM,MAAM,GAAW,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,iCAAiC,CAAC;QAEtG,OAAO,MAAM,IAAI,MAAM;;AAGxB;;;AAGG;AACH,IAAA,MAAM,aAAa,GAAA;AAClB,QAAA,IAAI;;YAEH,MAAM,IAAI,GAAW,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,wCAAwC,CAAC;;YAE3G,MAAM,SAAS,GAAW,IAAI;AAE9B,YAAA,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE;AAC5B,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,mBAAmB;;AAGnE,YAAA,OAAO,IAAI;;AACV,QAAA,MAAM;AACP,YAAA,OAAO,EAAE;;;AAIX;;;AAGG;AACH,IAAA,MAAM,cAAc,GAAA;AACnB,QAAA,IAAI;YACH,MAAM,MAAM,GAAW,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,+BAA+B,CAAC;YAEpG,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAY,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;;AACzE,QAAA,MAAM;AACP,YAAA,OAAO,EAAE;;;AAIX;;;AAGG;AACH,IAAA,MAAM,gBAAgB,GAAA;AACrB,QAAA,IAAI;YACH,MAAM,MAAM,GAAW,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,+BAA+B,CAAC;AAEpG,YAAA,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC;;AACvB,QAAA,MAAM;AACP,YAAA,OAAO,KAAK;;;AAGd;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/git/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
|