-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathCargo.toml
More file actions
114 lines (108 loc) · 3.75 KB
/
Copy pathCargo.toml
File metadata and controls
114 lines (108 loc) · 3.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
[workspace]
resolver = "2"
members = [
"crates/capsem-proto",
"crates/capsem-core",
"crates/capsem-app",
"crates/capsem-agent",
"crates/capsem-logger",
"crates/capsem-security-engine",
"crates/capsem-file-engine",
"crates/capsem-network-engine",
"crates/capsem-process-engine",
"crates/capsem-process",
"crates/capsem-service",
"crates/capsem",
"crates/capsem-tui",
"crates/capsem-mcp",
"crates/capsem-mcp-aggregator",
"crates/capsem-mcp-builtin",
"crates/capsem-tray",
"crates/capsem-gateway",
"crates/capsem-guard",
]
[workspace.package]
version = "1.2.1780103109"
edition = "2021"
rust-version = "1.91"
license = "Apache-2.0"
description = "The fastest way to ship with AI securely."
homepage = "https://capsem.org"
repository = "https://github.com/google/capsem"
authors = ["Elie Bursztein <github@elie.net>"]
# Always optimize blake3 -- its SIMD assembly is 100x faster than
# unoptimized Rust. Without this, debug-build hashing takes 24s for 2GB.
[profile.dev.package.blake3]
opt-level = 3
[profile.release]
lto = "thin"
codegen-units = 1
strip = "symbols"
[workspace.lints.rust]
warnings = "deny"
# clippy 1.95 introduced two lints that flag patterns we use throughout
# the codebase intentionally. Allow them workspace-wide rather than
# refactoring 100+ call sites:
# - collapsible_match: `match { Some(x) => if ... }` is clearer than
# `match { Some(x) if ... => }` when the guard has a side effect.
# - unnecessary_sort_by: `sort_by(|a,b| a.1.cmp(&b.1))` reads fine; the
# `sort_by_key` rewrite isn't always cleaner when the key isn't Copy.
# - doc_overindented_list_items: triggers on continuation lines under
# `///` list items; we use explicit indentation for readability.
[workspace.lints.clippy]
collapsible_match = "allow"
unnecessary_sort_by = "allow"
doc_overindented_list_items = "allow"
[workspace.dependencies]
anyhow = "1"
thiserror = "2"
tokio = { version = "1", features = ["full"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
tracing-appender = "0.2"
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["raw_value"] }
rmp-serde = "1.3.0"
toml = "0.8"
rusqlite = { version = "0.32", features = ["bundled", "hooks"] }
humantime = "2"
objc2 = "0.6"
objc2-virtualization = { version = "0.3", features = [
"VZVirtioFileSystemDeviceConfiguration",
"VZSharedDirectory",
"VZSingleDirectoryShare",
"VZDirectoryShare",
"VZDirectorySharingDeviceConfiguration",
] }
objc2-foundation = "0.3"
block2 = "0.6"
dispatch2 = "0.2"
rcgen = { version = "0.13", features = ["pem", "x509-parser"] }
time = "0.3"
rustls = "0.23"
rustls-pemfile = "2"
tokio-rustls = "0.26"
webpki-roots = "0.26"
hyper = { version = "1", features = ["http1", "server", "client"] }
hyper-util = { version = "0.1", features = ["tokio", "http1"] }
http-body-util = "0.1"
http = "1"
axum = "0.8"
reqwest = { version = "0.13", features = ["stream", "json", "query", "rustls"], default-features = false }
futures = "0.3"
tokio-stream = { version = "0.1", features = ["net"] }
async-compression = { version = "0.4", features = ["tokio", "gzip"] }
tokio-util = { version = "0.7", features = ["io"] }
base64 = "0.22"
bytes = "1"
regex = "1"
clap = { version = "4", features = ["derive"] }
ratatui = "0.30.0"
crossterm = "0.29.0"
tokio-unix-ipc = "0.4"
rmcp = { version = "1.3", features = ["client", "server"] }
# Low-level DNS protocol (wire-format codec). Used host-side by the
# capsem DNS proxy (T3) to parse guest queries, build NXDOMAIN
# responses for blocked domains, and forward allowed queries upstream.
# The agent crate uses raw bytes only; hickory is host-side only.
hickory-proto = { version = "0.26", default-features = false, features = ["std"] }