[package]
edition = "2021"
rust-version = "1.80"
name = "synaps"
version = "0.7.1"
authors = ["Haseeb Khalid <haseebkhalid1507@gmail.com>"]
build = false
exclude = [
".github/",
"docs/",
"tests/fixtures/",
"examples/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Terminal-native AI agent runtime — parallel orchestration, reactive subagents, MCP, autonomous supervision"
homepage = "https://github.com/HaseebKhalid1507/SynapsCLI"
readme = "README.md"
keywords = [
"ai",
"agent",
"terminal",
"cli",
"rust",
]
categories = [
"command-line-utilities",
"development-tools",
]
license = "Apache-2.0"
repository = "https://github.com/HaseebKhalid1507/SynapsCLI"
[package.metadata.deb]
maintainer = "Haseeb Khalid <haseebkhalid1507@gmail.com>"
copyright = "2026, Haseeb Khalid"
license-file = [
"LICENSE",
"0",
]
extended-description = "Terminal-native AI agent runtime. Parallel orchestration, reactive subagents, MCP client, autonomous watcher daemon."
section = "utils"
priority = "optional"
assets = [
[
"target/release/synaps",
"usr/bin/",
"755",
],
[
"target/release/hidden",
"usr/bin/",
"755",
],
]
[features]
testing = [
"agent-tui/testing",
"agent-engine/testing",
]
[lib]
name = "synaps_cli"
path = "src/lib.rs"
[[bin]]
name = "hidden"
path = "src/bin/hidden/main.rs"
[[bin]]
name = "synaps"
path = "src/main.rs"
[[test]]
name = "c5a_protocol"
path = "tests/c5a_protocol.rs"
[[test]]
name = "c5b_rpc"
path = "tests/c5b_rpc.rs"
[[test]]
name = "c5c_server"
path = "tests/c5c_server.rs"
[[test]]
name = "c6_cross_mode_contract"
path = "tests/c6_cross_mode_contract.rs"
[[test]]
name = "chat_stdin"
path = "tests/chat_stdin.rs"
[[test]]
name = "cloud_login_exit"
path = "tests/cloud_login_exit.rs"
[[test]]
name = "contracts_sync"
path = "tests/contracts_sync.rs"
[[test]]
name = "execution_gate_stream"
path = "tests/execution_gate_stream.rs"
[[test]]
name = "extension_command_invoke_bounds"
path = "tests/extension_command_invoke_bounds.rs"
[[test]]
name = "extension_provider_stream_route"
path = "tests/extension_provider_stream_route.rs"
[[test]]
name = "extension_provider_streaming"
path = "tests/extension_provider_streaming.rs"
[[test]]
name = "extension_provider_streaming_transport"
path = "tests/extension_provider_streaming_transport.rs"
[[test]]
name = "extension_provider_tool_loop"
path = "tests/extension_provider_tool_loop.rs"
[[test]]
name = "extension_provider_tool_use"
path = "tests/extension_provider_tool_use.rs"
[[test]]
name = "extensions_config"
path = "tests/extensions_config.rs"
[[test]]
name = "extensions_contract"
path = "tests/extensions_contract.rs"
[[test]]
name = "extensions_e2e"
path = "tests/extensions_e2e.rs"
[[test]]
name = "extensions_info"
path = "tests/extensions_info.rs"
[[test]]
name = "extensions_memory"
path = "tests/extensions_memory.rs"
[[test]]
name = "extensions_process"
path = "tests/extensions_process.rs"
[[test]]
name = "extensions_sidecar_spawn_args"
path = "tests/extensions_sidecar_spawn_args.rs"
[[test]]
name = "github_copilot_catalog_e2e"
path = "tests/github_copilot_catalog_e2e.rs"
[[test]]
name = "github_copilot_oauth_e2e"
path = "tests/github_copilot_oauth_e2e.rs"
[[test]]
name = "github_copilot_routing_e2e"
path = "tests/github_copilot_routing_e2e.rs"
[[test]]
name = "google_gemini_oauth_e2e"
path = "tests/google_gemini_oauth_e2e.rs"
[[test]]
name = "google_gemini_runtime_e2e"
path = "tests/google_gemini_runtime_e2e.rs"
[[test]]
name = "help_find_phase6"
path = "tests/help_find_phase6.rs"
[[test]]
name = "help_find_state"
path = "tests/help_find_state.rs"
[[test]]
name = "help_plugin_namespace"
path = "tests/help_plugin_namespace.rs"
[[test]]
name = "help_registry"
path = "tests/help_registry.rs"
[[test]]
name = "help_slash_discovery"
path = "tests/help_slash_discovery.rs"
[[test]]
name = "oauth_provider_e2e"
path = "tests/oauth_provider_e2e.rs"
[[test]]
name = "phase1_privacy"
path = "tests/phase1_privacy.rs"
[[test]]
name = "phase2_trace_conformance"
path = "tests/phase2_trace_conformance.rs"
[[test]]
name = "phase3_activation"
path = "tests/phase3_activation.rs"
[[test]]
name = "phase4_bounds"
path = "tests/phase4_bounds.rs"
[[test]]
name = "phase5_compaction"
path = "tests/phase5_compaction.rs"
[[test]]
name = "phase5_context"
path = "tests/phase5_context.rs"
[[test]]
name = "phase5_context_memory"
path = "tests/phase5_context_memory.rs"
[[test]]
name = "phase5_disclosure"
path = "tests/phase5_disclosure.rs"
[[test]]
name = "pi_skills_compat"
path = "tests/pi_skills_compat.rs"
[[test]]
name = "plugins_manage"
path = "tests/plugins_manage.rs"
[[test]]
name = "prompt_cli"
path = "tests/prompt_cli.rs"
[[test]]
name = "rpc_e2e"
path = "tests/rpc_e2e.rs"
[[test]]
name = "rpc_protocol"
path = "tests/rpc_protocol.rs"
[[test]]
name = "shell_pty"
path = "tests/shell_pty.rs"
[[test]]
name = "sidecar_manager_protocol"
path = "tests/sidecar_manager_protocol.rs"
[[test]]
name = "skills_plugin"
path = "tests/skills_plugin.rs"
[[test]]
name = "stream_backpressure"
path = "tests/stream_backpressure.rs"
[[test]]
name = "subagent_tombstone_harness"
path = "tests/subagent_tombstone_harness.rs"
[[test]]
name = "subagent_wake"
path = "tests/subagent_wake.rs"
[[test]]
name = "tool_call_ledger"
path = "tests/tool_call_ledger.rs"
[[test]]
name = "tool_effect_scheduler"
path = "tests/tool_effect_scheduler.rs"
[[test]]
name = "tools_export"
path = "tests/tools_export.rs"
[[test]]
name = "trace_export_cli"
path = "tests/trace_export_cli.rs"
[[test]]
name = "turn_budget_stream"
path = "tests/turn_budget_stream.rs"
[[test]]
name = "xai_runtime_e2e"
path = "tests/xai_runtime_e2e.rs"
[dependencies.agent-core]
version = "0.7.1"
package = "synaps-core"
[dependencies.agent-engine]
version = "0.7.1"
package = "synaps-engine"
[dependencies.agent-tui]
version = "0.7.1"
package = "synaps-tui"
[dependencies.anyhow]
version = "1.0"
[dependencies.arc-swap]
version = "1"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.axum]
version = "0.7"
features = ["ws"]
[dependencies.axum-server]
version = "0.8"
features = ["tls-rustls"]
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.clap]
version = "4.0"
features = ["derive"]
[dependencies.clap_complete]
version = "4.5.67"
[dependencies.crossterm]
version = "0.29"
features = ["event-stream"]
[dependencies.dirs]
version = "5"
[dependencies.fs4]
version = "0.13"
[dependencies.futures]
version = "0.3"
[dependencies.globset]
version = "0.4"
[dependencies.memchr]
version = "2"
[dependencies.notify]
version = "6.1"
[dependencies.portable-pty]
version = "0.9"
[dependencies.rand]
version = "0.9"
[dependencies.ratatui]
version = "0.30"
[dependencies.regex]
version = "1"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"stream",
"rustls-tls-webpki-roots",
"rustls-tls-native-roots",
]
default-features = false
[dependencies.rustls]
version = "0.23"
features = ["ring"]
default-features = false
[dependencies.rustls-pki-types]
version = "1"
[dependencies.serde]
version = "1.0"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.signal-hook]
version = "0.3"
features = ["iterator"]
[dependencies.tempfile]
version = "3"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
version = "1.0"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1"
[dependencies.tokio-util]
version = "0.7"
[dependencies.toml]
version = "0.8"
[dependencies.tower]
version = "0.4"
features = ["limit"]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-appender]
version = "0.2"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
[dependencies.unicode-width]
version = "0.2.0"
[dependencies.url]
version = "2"
[dependencies.urlencoding]
version = "2"
[dependencies.uuid]
version = "1.0"
features = ["v4"]
[dev-dependencies.rcgen]
version = "0.14"
default-features = true
[dev-dependencies.serial_test]
version = "3.4.0"
[dev-dependencies.tempfile]
version = "3"
[target.'cfg(not(target_env = "musl"))'.dependencies.tikv-jemallocator]
version = "0.6"
features = ["background_threads"]
[profile.dev]
debug = "line-tables-only"
[profile.dist]
lto = "thin"
inherits = "release"
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = true