-
Notifications
You must be signed in to change notification settings - Fork 50
Expand file tree
/
Copy pathCargo.toml
More file actions
133 lines (107 loc) · 2.84 KB
/
Copy pathCargo.toml
File metadata and controls
133 lines (107 loc) · 2.84 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
[package]
name = "sandboxed_sh"
version = "1.3.0"
edition = "2021"
rust-version = "1.91"
description = "Self-hosted orchestrator for AI coding agents (formerly Open Agent)"
authors = ["sandboxed.sh Contributors"]
[dependencies]
# Async runtime
tokio = { version = "1", features = ["full"] }
# Web framework
axum = { version = "0.7", features = ["ws", "multipart"] }
# WebSocket client for the Hermes gateway bridge (same version axum uses)
tokio-tungstenite = "0.24"
tower-http = { version = "0.5", features = ["cors", "trace"] }
# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_path_to_error = "0.1"
serde_yaml = "0.9"
toml = "0.8"
# HTTP client
reqwest = { version = "0.12", features = ["json", "stream", "multipart"] }
reqwest-eventsource = "0.6"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Utilities
uuid = { version = "1", features = ["v4", "v5", "serde"] }
thiserror = "1"
# systemd readiness + watchdog notifications (no-op off systemd)
sd-notify = "0.4"
async-trait = "0.1"
futures = "0.3"
# For tool implementations
walkdir = "2"
urlencoding = "2"
url = "2"
anyhow = "1"
async-stream = "0.3"
regex = "1"
async-recursion = "1"
# For memory/storage
chrono = { version = "0.4", features = ["serde"] }
chrono-tz = "0.10"
croner = "2"
rusqlite = { version = "0.31", features = ["bundled"] }
# For desktop tools (process management on Unix)
libc = "0.2"
# Auth (JWT)
jsonwebtoken = "9"
# Cryptography for secrets
aes-gcm = "0.10"
pbkdf2 = "0.12"
sha2 = "0.10"
hmac = "0.12"
rand = "0.8"
hex = "0.4"
# Remote console / file manager
base64 = "0.22"
# System monitoring
sysinfo = "0.32"
bytes = "1"
portable-pty = "0.9"
md5 = "0.7"
tokio-util = { version = "0.7", features = ["io"] }
# Backup/restore
zip = "2"
# Keep MSRV-compatible idna_adapter for the production builder (rustc 1.75).
idna_adapter = "=1.1.0"
# File locking for OAuth token refresh synchronization
fs2 = "0.4"
ureq = { version = "2", features = ["json"] }
# Gzip compression for mission export/import transport. flate2 already
# lands transitively via zip/tokio-util; naming it explicitly keeps the
# feature gate visible and lets `cargo update` move it deliberately.
flate2 = "1"
[[bin]]
name = "sandboxed-sh"
path = "src/main.rs"
[[bin]]
name = "desktop-mcp"
path = "src/bin/desktop_mcp.rs"
[[bin]]
name = "workspace-mcp"
path = "src/bin/workspace_mcp.rs"
[[bin]]
name = "automation-manager-mcp"
path = "src/bin/automation_manager_mcp.rs"
[[bin]]
name = "orchestrator-mcp"
path = "src/bin/orchestrator_mcp.rs"
[[bin]]
name = "assistant-mcp"
path = "src/bin/assistant_mcp.rs"
[[bin]]
name = "fido-agent-proxy"
path = "src/bin/fido_agent_proxy.rs"
[[bin]]
name = "palomactl"
path = "src/bin/palomactl.rs"
[[bin]]
name = "sandboxed-node"
path = "src/bin/sandboxed_node.rs"
[dev-dependencies]
tokio-test = "0.4"
tempfile = "3"