34 Commits

Author SHA1 Message Date
d-k-patel
b2a86cefa1 fix: bandit security 2025-08-22 11:46:07 +05:30
d-k-patel
535fe65dc7 chore: update logging config version to 0.2.6 v0.2.6 2025-08-22 11:32:40 +05:30
d-k-patel
bf421d34d1 chore: bump version to 0.2.6 for PyPI release
Update version numbers to match git tag v0.2.6 for the upcoming
PyPI release with token tracking and ASCII art interface features.
2025-08-22 11:31:52 +05:30
d-k-patel
5f54f63b13 feat: add token tracking and ASCII art interface
Add comprehensive token usage tracking and beautiful ASCII art interface
to enhance user experience and provide cost transparency.

- Add TokenTracker class for real-time token usage monitoring
- Implement ASCII art banner with pyfiglet integration
- Add cost estimation based on OpenAI pricing models
- Display real-time token usage after each AI operation
- Add 'tokens' command in interactive mode for usage statistics
- Show session summary with detailed analytics at session end

- Integrate token tracking into OpenAIProvider with optional TokenTracker
- Add pyfiglet and tiktoken dependencies to pyproject.toml
- Create ascii_art.py module for banner display functionality
- Update main.py to initialize and manage token tracking sessions
- Add session management with unique session IDs
- Implement detailed usage tables with rich formatting

- Update README.md with token tracking features and examples
- Add ASCII art banner to welcome screen documentation
- Include cost transparency and usage analytics sections
- Update version to 0.2.5 in README examples
- Remove Windows from supported OS list in bug report template

- Add comprehensive unit tests for TokenTracker functionality
- Add unit tests for ASCII art display features
- Ensure proper error handling and edge cases covered

- Real-time cost estimates displayed after each operation
- Beautiful ASCII art welcome banner that adapts to terminal width
- Session-based token tracking with detailed summaries
- Interactive 'tokens' command for on-demand usage statistics
- Rich formatted tables for better readability

Breaking Changes: None
Dependencies Added: pyfiglet>=1.0.0, tiktoken>=0.5.0
2025-08-22 11:30:11 +05:30
Dhruv Patel
48b2d8482e Create FUNDING.yml 2025-08-21 12:00:15 +05:30
d-k-patel
936f386a28 updated README.md with hosted preview image 2025-08-21 11:53:05 +05:30
d-k-patel
17ba7a1f73 chore: bump version to 0.2.5 v0.2.5 2025-08-21 11:41:22 +05:30
d-k-patel
3a520966ba chore: bump version to 0.2.4 v0.2.4 2025-08-21 11:33:40 +05:30
d-k-patel
939cb63d3d fix: add psutil dependency for performance tests
- Add psutil>=5.0.0 to test and all optional dependencies
- Fix ModuleNotFoundError in performance tests that use psutil for memory monitoring
- Ensure all performance tests can run without import errors
- Performance tests now pass successfully (5/5 tests passing)

The psutil library is required for memory leak detection and performance monitoring
in the test suite, particularly for monitoring process memory usage during
stress testing scenarios.
2025-08-21 11:19:04 +05:30
d-k-patel
d003a6e3c5 fix: resolve bandit security issue and improve code quality
- Fix B110 bandit security issue in main.py by replacing broad exception handling
  with specific exception types and proper logging
- Add logger initialization to main module for better error tracking
- Fix linting issues: remove unused variable in run_tests.py
- Improve test code style by combining nested with statements
- All code quality checks now pass: format, lint, and mypy

The main security fix addresses the "try, except, pass" pattern that could
hide important errors by implementing proper exception handling with logging
for both expected file system errors and unexpected errors.
2025-08-21 11:10:50 +05:30
d-k-patel
b2c76a7b9b refactor: major codebase restructuring and modularization
- Reorganize core modules with improved separation of concerns
- Split context scanning into basic and extended implementations
- Consolidate security modules into dedicated credential and path security
- Replace monolithic intent schema with modular intent models
- Add comprehensive logging configuration system
- Implement new file operations and prompt enhancement modules
- Create structured test organization with unit, integration, security, and performance tests
- Remove deprecated modules and consolidate functionality
- Update CI/CD pipeline and project configuration
- Enhance documentation and contributing guidelines

This refactoring improves maintainability, testability, and modularity while preserving core functionality.
v0.2.3
2025-08-21 11:01:34 +05:30
d-k-patel
f7cbd43a61 feat: add new modules and comprehensive test coverage 2025-08-20 16:22:02 +05:30
d-k-patel
b243156c09 feat: implement security fixes and core improvements 2025-08-20 16:19:19 +05:30
d-k-patel
6813044c4d Release: 0.1.4 – README formatting fixes; publish to PyPI v0.1.4 2025-08-19 16:41:34 +05:30
d-k-patel
2690fa6ba0 Docs: minor spacing fix in README table snippet 2025-08-19 16:35:16 +05:30
d-k-patel
be07f8ecab Docs: fix README first command section formatting and clarify interactive vs one-shot 2025-08-19 16:31:09 +05:30
d-k-patel
e2bf5f423b Release: 0.1.3 – fix Typer Context crash; update docs on usage/subcommands v0.1.3 2025-08-19 16:13:35 +05:30
d-k-patel
54cc7252d6 docs: add MkDocs site and Makefile docs target; build: add PyPI guards; bump version to 0.1.2 v0.1.2 2025-08-19 15:49:05 +05:30
d-k-patel
9efe5e52ec ci: add packages:write permission for GHCR push; ensure docker login uses GITHUB_TOKEN 2025-08-19 15:11:47 +05:30
d-k-patel
893724c769 docker: copy LICENSE/README and src into builder; fix FROM casing; build wheels correctly 2025-08-19 15:06:56 +05:30
d-k-patel
143ec91c84 ci: migrate artifact actions to v4 (upload/download) per deprecation notice 2025-08-19 15:01:32 +05:30
d-k-patel
1942000b49 security: annotate subprocess.run with nosec B603,B607 for ffprobe call 2025-08-19 14:56:34 +05:30
d-k-patel
e7332406b9 executor: keep original argv for subprocess.run; context_scanner: call 'ffprobe' to match tests; all tests passing 2025-08-19 14:49:56 +05:30
d-k-patel
42e49c5671 mypy: exclude tests, ignore test errors; clean unused ignores; CI: type-check src only 2025-08-19 14:44:59 +05:30
d-k-patel
f819b85ec8 Ruff: organize imports and remove unused Any in io_utils 2025-08-19 14:33:11 +05:30
d-k-patel
13f6baffb6 Types: relax is_safe_path param to object; annotate nl_schema validator return; keep tests untyped per mypy config 2025-08-19 14:21:44 +05:30
d-k-patel
a29af64b2f Format: apply ruff formatting to satisfy CI 2025-08-19 14:12:58 +05:30
d-k-patel
a87347b5b2 CI: add Python 3.13, Safety scan with API key fallback, skip-existing on publish 2025-08-19 14:12:27 +05:30
d-k-patel
42ebcc1122 Lint: fix Ruff findings in tests (combine with statements, suppress exceptions, import/order cleanups) 2025-08-19 14:10:33 +05:30
d-k-patel
ccd5e080fe updated pyproject.toml v0.1.1 2025-08-19 14:04:47 +05:30
d-k-patel
30a8a7a863 updated pyproject.toml 2025-08-19 14:03:14 +05:30
d-k-patel
0b9c25d5da PyPI prep: enrich metadata, add Python 3.13 classifier, fix extras, declare Markdown README 2025-08-19 13:51:35 +05:30
d-k-patel
14b8eb22d8 Harden subprocess usage; fix Typer ctx=None; update security and .gitignore 2025-08-19 13:43:24 +05:30
d-k-patel
033774f45c (aiclip) initial commit 2025-08-19 13:28:38 +05:30