[package]
edition = "2021"
rust-version = "1.94.0"
name = "cc-switch-tui"
version = "0.2.2"
authors = [
"Jason Young",
"saladday",
"handy-sun",
]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "All-in-One Assistant for Claude Code, Codex, Gemini, OpenCode, OpenClaw & Hermes"
readme = "README.md"
keywords = [
"opencode",
"hermes",
"claude-code",
"openclaw",
"llm",
]
license = "MIT"
repository = "https://github.com/handy-sun/cc-switch-tui"
[features]
default = []
test-hooks = []
[lib]
name = "cc_switch_lib"
crate-type = ["rlib"]
path = "src/lib.rs"
[[bin]]
name = "cc-switch-tui"
path = "src/main.rs"
[[test]]
name = "app_config_load"
path = "tests/app_config_load.rs"
[[test]]
name = "app_type_parse"
path = "tests/app_type_parse.rs"
[[test]]
name = "auto_test_isolation"
path = "tests/auto_test_isolation.rs"
[[test]]
name = "claude_plugin_integration_sync"
path = "tests/claude_plugin_integration_sync.rs"
[[test]]
name = "completions_command"
path = "tests/completions_command.rs"
[[test]]
name = "deeplink_import"
path = "tests/deeplink_import.rs"
[[test]]
name = "import_export_sync"
path = "tests/import_export_sync.rs"
[[test]]
name = "install_script"
path = "tests/install_script.rs"
[[test]]
name = "legacy_config_migration"
path = "tests/legacy_config_migration.rs"
[[test]]
name = "mcp_commands"
path = "tests/mcp_commands.rs"
[[test]]
name = "openclaw_config"
path = "tests/openclaw_config.rs"
[[test]]
name = "opencode_provider"
path = "tests/opencode_provider.rs"
[[test]]
name = "prompt_commands"
path = "tests/prompt_commands.rs"
[[test]]
name = "provider_commands"
path = "tests/provider_commands.rs"
[[test]]
name = "provider_model_roundtrip"
path = "tests/provider_model_roundtrip.rs"
[[test]]
name = "provider_service"
path = "tests/provider_service.rs"
[[test]]
name = "provider_switch_settings_sync"
path = "tests/provider_switch_settings_sync.rs"
[[test]]
name = "proxy_claude_forwarder_alignment"
path = "tests/proxy_claude_forwarder_alignment.rs"
[[test]]
name = "proxy_claude_model_mapping"
path = "tests/proxy_claude_model_mapping.rs"
[[test]]
name = "proxy_claude_openai_chat"
path = "tests/proxy_claude_openai_chat.rs"
[[test]]
name = "proxy_claude_response_parity"
path = "tests/proxy_claude_response_parity.rs"
[[test]]
name = "proxy_claude_streaming"
path = "tests/proxy_claude_streaming.rs"
[[test]]
name = "proxy_multi_app_passthrough"
path = "tests/proxy_multi_app_passthrough.rs"
[[test]]
name = "proxy_service"
path = "tests/proxy_service.rs"
[[test]]
name = "proxy_takeover"
path = "tests/proxy_takeover.rs"
[[test]]
name = "proxy_upstream_error_summary"
path = "tests/proxy_upstream_error_summary.rs"
[[test]]
name = "settings_claude_onboarding_skip"
path = "tests/settings_claude_onboarding_skip.rs"
[[test]]
name = "settings_current_provider"
path = "tests/settings_current_provider.rs"
[[test]]
name = "settings_visible_apps"
path = "tests/settings_visible_apps.rs"
[[test]]
name = "skills_service"
path = "tests/skills_service.rs"
[[test]]
name = "stream_check_claude_openai_responses"
path = "tests/stream_check_claude_openai_responses.rs"
[[test]]
name = "support"
path = "tests/support.rs"
[[test]]
name = "support_home_isolation"
path = "tests/support_home_isolation.rs"
[[test]]
name = "webdav_settings"
path = "tests/webdav_settings.rs"
[[test]]
name = "webdav_sync_service"
path = "tests/webdav_sync_service.rs"
[[test]]
name = "workspace_commands"
path = "tests/workspace_commands.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-stream]
version = "0.3"
[dependencies.axum]
version = "0.7"
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1.5"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.5"
features = [
"derive",
"cargo",
"env",
"wrap_help",
]
[dependencies.clap_complete]
version = "4.5"
[dependencies.colored]
version = "2.1"
[dependencies.comfy-table]
version = "7.1"
[dependencies.console]
version = "0.15"
[dependencies.crossterm]
version = "0.29"
[dependencies.dirs]
version = "5.0"
[dependencies.edit]
version = "0.1"
[dependencies.env_logger]
version = "0.11"
[dependencies.flate2]
version = "1.0"
[dependencies.futures]
version = "0.3"
[dependencies.hyper]
version = "1.0"
features = ["full"]
[dependencies.indexmap]
version = "2"
features = ["serde"]
[dependencies.indicatif]
version = "0.17"
[dependencies.inquire]
version = "0.9"
features = ["fuzzy"]
[dependencies.json-five]
version = "0.3.1"
[dependencies.json5]
version = "0.4"
[dependencies.libc]
version = "0.2"
[dependencies.log]
version = "0.4"
[dependencies.minisign-verify]
version = "0.2.4"
[dependencies.once_cell]
version = "1.21.3"
[dependencies.ratatui]
version = "0.30"
[dependencies.regex]
version = "1.10"
[dependencies.reqwest]
version = "0.12"
features = [
"rustls-tls",
"json",
"stream",
"socks",
]
default-features = false
[dependencies.rquickjs]
version = "0.8"
features = [
"array-buffer",
"classes",
]
[dependencies.rusqlite]
version = "0.31"
features = [
"bundled",
"backup",
]
[dependencies.rust_decimal]
version = "1.33"
[dependencies.semver]
version = "1.0"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.tachyonfx]
version = "0.25"
[dependencies.tar]
version = "0.4"
[dependencies.tempfile]
version = "3"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"time",
"sync",
"signal",
]
[dependencies.toml]
version = "0.8"
[dependencies.toml_edit]
version = "0.22"
[dependencies.tower]
version = "0.5"
[dependencies.tower-http]
version = "0.5"
features = ["cors"]
[dependencies.unicode-width]
version = "0.1"
[dependencies.url]
version = "2.5"
[dependencies.uuid]
version = "1.11"
features = ["v4"]
[dependencies.which]
version = "6.0"
[dependencies.zip]
version = "2.2"
[dev-dependencies.indoc]
version = "2"
[dev-dependencies.minisign]
version = "0.9.1"
[dev-dependencies.serial_test]
version = "3"
[dev-dependencies.tempfile]
version = "3"
[build-dependencies.chrono]
version = "0.4"
[target.'cfg(target_os = "windows")'.dependencies.self-replace]
version = "1"
[target.'cfg(target_os = "windows")'.dependencies.winreg]
version = "0.52"
[profile.release]
opt-level = "s"
lto = "thin"
codegen-units = 1
panic = "abort"
strip = "symbols"