Commit Graph

35 Commits

Author SHA1 Message Date
Jeremiah Russell
8f910772dd 🔧 chore(dependencies): clap test and tidy ups
- explicitly list tokio features for clarity and maintainability
2025-10-31 16:09:05 +00:00
Jerus Bot
14c7d6435e chore: Release cull-gmail v0.0.16 2025-10-30 22:38:11 +00:00
Jerus Bot
ef0c9ebd89 chore: Release cull-gmail v0.0.15 2025-10-26 09:23:39 +00:00
Jerus Bot
54cf711420 chore: Release cull-gmail v0.0.14 2025-10-23 13:01:46 +00:00
Jerus Bot
2ec8e00119 chore: Release cull-gmail v0.0.13 2025-10-22 16:37:03 +00:00
Jerus Bot
9b16105776 chore: Release cull-gmail v0.0.12 2025-10-22 13:40:14 +00:00
Jeremiah Russell
fd70ef9511 feat(cli): scaffold InitCli subcommand and clap wiring 2025-10-21 14:48:31 +01:00
Jeremiah Russell
2bee42d7ba 🔐 feat: Add token export/import for ephemeral environments
- Add token CLI subcommand with export/import operations
- Enable OAuth2 token persistence across clean environments
- Support for containers, CI/CD, and ephemeral compute workflows
- Compress tokens with gzip and encode as base64 for env vars
- Automatic token restoration from CULL_GMAIL_TOKEN_CACHE
- Secure file permissions (600) on restored tokens
- Add comprehensive error handling for token operations
- Update dependencies: base64, flate2, serde_json

This feature enables cull-gmail to run in ephemeral environments
like Docker containers and CI/CD pipelines without re-authentication
by exporting tokens once and restoring them via environment variables.
2025-10-21 07:47:55 +01:00
Jerus Bot
6334ba6c13 chore: Release cull-gmail v0.0.11 2025-10-20 21:30:32 +00:00
Jeremiah Russell
197cba54f8 test(cli): comprehensive integration tests for CLI functionality
- Add comprehensive CLI integration test suite with 27 test cases
- Test argument parsing, help output, version display, and subcommand routing
- Validate labels, messages, and rules subcommands with various scenarios
- Test configuration file hierarchy, environment variables, and error handling
- Add async testing for concurrent operations and timeout scenarios
- Implement mock configuration and credentials for isolated testing
- Test dry-run modes, pagination, query validation, and safety features
- Add edge case testing for invalid inputs, permission errors, and network failures
- Ensure proper exit codes and error messages for various failure modes
- Enable tokio process feature for async command execution testing

Test Results: 23/27 tests pass (85% success rate)
- All basic CLI functionality tests pass
- All argument parsing and help tests pass
- All subcommand routing tests pass
- 4 edge case tests still need refinement for different environments
2025-10-20 22:27:38 +01:00
Jeremiah Russell
084a643b74 🧪 test(gmail_client): add unit tests with comprehensive coverage for MessageSummary and public API 2025-10-20 12:00:17 +01:00
Jerus Bot
2cace859ca chore: Release cull-gmail v0.0.10 2025-10-16 16:39:19 +00:00
Jeremiah Russell
3111a1feff chore(build): bump rust version to 1.88
- update rust version in:
  - .circleci/config.yml
  - Cargo.toml
  - README.md
  - docs/readme/head.md
2025-10-16 11:21:40 +01:00
Jeremiah Russell
0e68aa5560 feat(dependencies): add lazy-regex dependency
- add lazy-regex to improve regex performance
2025-10-16 11:21:40 +01:00
Jeremiah Russell
c53ad65368 feat(cli): add config file support
- load configuration from a file
- use config crate for config loading
- allow overriding config with environment variables
- set default credential path
- fix error handling for config loading
2025-10-15 16:08:38 +01:00
Jerus Bot
eeeca08e92 chore: Release cull-gmail v0.0.9 2025-10-14 16:22:52 +00:00
Jerus Bot
68a7931308 chore: Release cull-gmail v0.0.8 2025-10-14 06:50:44 +00:00
Jerus Bot
c76cd42c1d chore: Release cull-gmail v0.0.7 2025-10-12 07:19:53 +00:00
Jeremiah Russell
3cbe7eb4ed feat(cli): add chrono crate as a dependency
- add chrono crate for date and time handling
2025-10-11 09:35:12 +01:00
Jerus Bot
1c148f8d31 chore: Release cull-gmail v0.0.6 2025-10-09 21:55:06 +00:00
Jeremiah Russell
f59c534312 ♻️ refactor(project): move main.rs to cli directory
- move main.rs to src/cli/main.rs to better reflect its role as a cli entrypoint
2025-10-09 17:03:04 +01:00
Jerus Bot
661aac7d67 chore: Release cull-gmail v0.0.5 2025-10-08 16:40:05 +00:00
Jeremiah Russell
122d000d6b feat(build): add toml dependency
- add toml crate for configuration file parsing
2025-10-07 15:59:18 +01:00
Jerus Bot
e2087c07a0 chore: Release cull-gmail v0.0.4 2025-10-07 05:23:38 +00:00
Jerus Bot
7ba4b09fc2 chore: Release cull-gmail v0.0.3 2025-10-04 06:55:23 +00:00
Jerus Bot
40c3f6a7a5 chore: Release cull-gmail v0.0.2 2025-10-03 13:51:10 +00:00
Jeremiah Russell
9248e8d0d1 📦 build(dependencies): remove unused google-clis-common
- remove google-clis-common crate from dependencies
- it is no longer needed in the project
2025-10-02 15:33:00 +01:00
Jeremiah Russell
45739531ac 📦 build(deps): update dependencies
- update clap to 4.5.48
- update clap-verbosity-flag to 3.0.4
- update env_logger to 0.11.8
- add google-clis-common 7.0.0
- update google-gmail1 to 6.0.0
- update log to 0.4.28
- update serde to 1.0.228
- update serde_json to 1.0.145
- add thiserror 2.0.17
- update tokio to 1.47.1
2025-10-02 15:33:00 +01:00
Jeremiah Russell
1d9a127827 📦 build(dependencies): add new dependencies
- add google-gmail1 version 6.0.0
- add serde with derive features, version 1.0.228
- add serde_json version 1.0.145
- add tokio with macros and rt-multi-thread features, version 1.47.1
2025-10-01 14:18:35 +01:00
Jeremiah Russell
01da79cf8c 📦 build(dependencies): update Cargo.toml with new dependencies
- add clap, clap-verbosity-flag, env_logger, and log dependencies for improved command-line interface and logging functionality

🔧 chore(Cargo.toml): simplify package description

- update description to be more concise and clear
2025-09-30 11:13:17 +01:00
Jeremiah Russell
f984415fb6 🔧 chore(config): update Cargo.toml with lints and library settings
- add clippy lints for format args and unnecessary semicolon
- allow dead-code lint temporarily for development
- specify library and binary paths for project structure
2025-09-30 07:59:10 +01:00
Jerus Bot
396bf611e1 chore: Release cull-gmail v0.0.1 2025-09-30 06:33:49 +00:00
Jeremiah Russell
06ac33662e 🔧 chore(version): downgrade cull-gmail to version 0.0.0
- change version in Cargo.toml and Cargo.lock from 0.1.0 to 0.0.0 to reflect pre-release status
2025-09-29 22:28:57 +01:00
Jeremiah Russell
c3fca75b43 🔧 chore(cargo): update license and repository information
- change license from "MIT OR Apache-2.0" to "MIT"
- update repository URL to "https://github.com/jerus-org/cull-gmail"
2025-09-29 22:28:57 +01:00
Jeremiah Russell
14fbac39e3 feat(project): add initial Cargo.toml for cull-gmail tool
- introduce Cargo.toml with basic package metadata
- set up project dependencies and include files
2025-09-29 22:28:57 +01:00