-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
137 lines (115 loc) · 3.57 KB
/
Copy pathCargo.toml
File metadata and controls
137 lines (115 loc) · 3.57 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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
[workspace]
resolver = "2"
members = [
"nexus-agent",
"nexus-common",
"nexus-infra",
"nexus-recon",
"nexus-web-comms",
"nexus-mesh",
"nexus-a2a",
"nexus-console/src-tauri",
"integration-tests",
]
# nexus-console/ui targets wasm32-unknown-unknown via Trunk; excluding it
# from the workspace prevents the native-target workspace operations from
# tripping over wasm-only deps (Leptos CSR mode).
exclude = ["nexus-console/ui"]
[workspace.dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1.35", features = ["full"] }
uuid = { version = "1.6", features = ["v4", "serde"] }
aes-gcm = "0.10"
rand = "0.8"
base64 = "0.21"
windows-sys = { version = "0.52", features = [
"Win32_Foundation",
"Win32_System_Threading",
"Win32_System_Memory",
"Win32_System_Diagnostics_Debug",
"Win32_System_Diagnostics_Etw",
"Win32_System_LibraryLoader",
"Win32_System_JobObjects",
"Win32_Security"
] }
thiserror = "1.0"
async-trait = "0.1"
hostname = "0.3"
local-ip-address = "0.5"
# gRPC and Protocol Buffers
tonic = "0.10"
prost = "0.12"
tonic-build = "0.10"
# TLS and certificates
rustls = "0.21"
tokio-rustls = "0.24"
webpki-roots = "0.25"
rustls-pemfile = "1.0"
x509-parser = "0.15"
# DNS and networking
trust-dns-resolver = "0.23"
hickory-resolver = "0.24"
# HTTP client for Cloudflare API
reqwest = { version = "0.11", features = ["json", "rustls-tls", "blocking"] }
# Let's Encrypt ACME client (async, pure-Rust)
instant-acme = "0.8"
rcgen = "0.11"
# Windows PE/COFF parsing
pelite = "0.10"
goblin = "0.7"
# Configuration management
config = "0.13"
dirs = "5.0"
# Date and time handling
chrono = { version = "0.4", features = ["serde"] }
# ─── v1.1 integration additions (simple-mesh/v1.0 layer) ───
# These deps support the additive A2A + libp2p mesh + Tauri console layer
# (per ROADMAP D-V1.1-A "additive integration"). Existing deps above stay.
# Secret management
secrecy = { version = "0.8", features = ["serde"] }
# Identity + sealed envelope primitives
ed25519-dalek = { version = "2", features = ["rand_core"] }
x25519-dalek = { version = "2", features = ["static_secrets"] }
blake3 = "1"
hkdf = "0.12"
sha2 = "0.10"
serde-big-array = "0.5"
bincode = "1"
# Async stream / utility
tokio-stream = "0.1"
tokio-util = { version = "0.7", features = ["codec"] }
futures = "0.3"
anyhow = "1"
# PTY (used by the new nexus-agent shell module)
portable-pty = "0.8"
# libp2p mesh — pinned per the v1.0 plan
libp2p = { version = "0.53", features = ["tcp", "noise", "yamux", "tokio", "macros", "identify", "gossipsub", "ping"] }
# tracing (used by all v1.1 code)
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "json"] }
# Axum (for /healthz + ferry gateway)
axum = "0.8"
axum-server = { version = "0.7", features = ["tls-rustls"] }
tower = "0.5"
# A2A gRPC uses Tonic 0.14 + tonic-prost; declared directly in nexus-a2a's
# Cargo.toml (Cargo allows mixed versions in a workspace — nexus-infra stays
# on the workspace-pinned Tonic 0.10).
tonic-prost = "0.14"
tonic-prost-build = "0.14"
protoc-bin-vendored = "3"
# WASM / Tauri (frontend + console backend)
tauri = { version = "2", features = [] }
tauri-build = { version = "2", features = [] }
leptos = { version = "0.7", features = ["csr"] }
# Internal cross-crate paths
nexus-common = { path = "nexus-common" }
nexus-a2a = { path = "nexus-a2a" }
nexus-mesh = { path = "nexus-mesh" }
nexus-web-comms = { path = "nexus-web-comms" }
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"
strip = true