# ============================================================================
# CARGO.TOML DEPENDENCIES FOR CLAUDE INTEGRATION
# ============================================================================
#
# Add these dependencies to your existing agent/Cargo.toml file
# under the [dependencies] section.
#
# INSTRUCTIONS:
# 1. Open your existing agent/Cargo.toml
# 2. Add these dependencies to the [dependencies] section
# 3. Run `cargo build` to fetch and compile dependencies
#
# ============================================================================

[dependencies]
# Core async runtime (required for async command execution)
tokio = { version = "1.35", features = ["full"] }

# JSON serialization/deserialization (likely already in your project)
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"

# Lazy static initialization for global executor (if using global approach)
once_cell = "1.19"

# ============================================================================
# OPTIONAL DEPENDENCIES (for enhanced features)
# ============================================================================

# Logging (recommended for production debugging)
log = "0.4"
env_logger = "0.11"

# Error handling (for more ergonomic error types)
thiserror = "1.0"
anyhow = "1.0"

# ============================================================================
# COMPLETE EXAMPLE Cargo.toml
# ============================================================================

# [package]
# name = "gururmm-agent"
# version = "0.1.0"
# edition = "2021"
#
# [dependencies]
# # Existing dependencies
# ...
#
# # NEW: Dependencies for Claude integration
# tokio = { version = "1.35", features = ["full"] }
# serde = { version = "1.0", features = ["derive"] }
# serde_json = "1.0"
# once_cell = "1.19"
# log = "0.4"
# env_logger = "0.11"
#
# [dev-dependencies]
# # Test dependencies
# tokio-test = "0.4"

# ============================================================================
# VERSION COMPATIBILITY NOTES
# ============================================================================
#
# tokio 1.35 - Latest stable async runtime
# serde 1.0 - Standard serialization framework
# serde_json 1.0 - JSON support for serde
# once_cell 1.19 - Thread-safe lazy initialization
# log 0.4 - Logging facade
# env_logger 0.11 - Simple logger implementation
#
# All versions are compatible with Rust 1.70+ (latest stable)
#
# ============================================================================
# FEATURE FLAGS EXPLANATION
# ============================================================================
#
# tokio "full" feature includes:
# - tokio::process (for spawning Claude Code process)
# - tokio::time (for timeout handling)
# - tokio::io (for async I/O operations)
# - tokio::sync (for Mutex and other sync primitives)
# - tokio::rt (async runtime)
#
# If you want to minimize binary size, you can use specific features:
# tokio = { version = "1.35", features = ["process", "time", "io-util", "sync", "rt-multi-thread", "macros"] }
#
# ============================================================================
