* feat: Enhance token usage tracking and display
This commit introduces several key changes to improve token usage tracking and display:
* **Token Counting**: Implement token counting for AI model inputs and outputs using the `tiktoken` library. This allows for accurate estimation of token usage.
* **Warning Threshold**: Add a warning threshold for token usage. If the prompt exceeds this threshold, a warning is displayed, and the user is prompted to confirm before proceeding.
* **Token Usage Display**: Display estimated token usage statistics (prompt, completion, and total tokens) after generating a commit message. This feature is optional and can be disabled with the `--quiet` flag.
These changes aim to provide more transparency and control over token usage, helping users manage their AI-powered commit message generation workflow more effectively.
* refactor: Update token limit constants for improved diff processing
Increased the default diff token limit to 15000 to accommodate larger diffs and improve processing capabilities.
This change allows for more comprehensive diff analysis without hitting token limit constraints.
Removed the redundant default token limit constant to maintain a cleaner and more focused set of utility constants.
* build: Update package version to v0.14.2
* fix: Enhance test module with mocking capability
The test module for gac.core functionality has been updated to include mocking capability.
* Added import statement for unittest.mock.patch to enable mocking in tests
* No changes to existing test functionality, only added capability for future tests
* This change sets the stage for more robust and isolated testing of gac.core functionality
* refactor: Remove unnecessary comments from CLI implementation
Removed comments that didn't add significant value to the code
Improved readability by decluttering the diff_cli.py and init_cli.py files
Changes do not affect functionality, only code maintainability
---------
Co-authored-by: cellwebb <cellwebb@users.noreply.github.com>