mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 05:02:11 +00:00
Replace the neko binary dependency with a native GStreamer pipeline (ximagesrc -> vp8enc -> webrtcbin) for desktop video streaming. This removes the external neko process and integrates screen capture directly via gstreamer-rs crate bindings behind a `desktop-gstreamer` feature flag. Key changes: - Add desktop_gstreamer.rs with GStreamer WebRTC pipeline management - Rewrite signaling protocol (ready/offer/answer/candidate over WS) - Add leaky queues and videorate for low-latency streaming - Rewrite ICE candidates to 127.0.0.1 for Docker connectivity - Constrain UDP port range (30000-30100) via libnice agent - Update TypeScript SDK desktop-stream.ts for new signaling - Update inspector DesktopTab with WebRTC Live View - Update Dockerfiles to install GStreamer dev packages Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
65 lines
1.9 KiB
TOML
65 lines
1.9 KiB
TOML
[package]
|
|
name = "sandbox-agent"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
authors.workspace = true
|
|
license.workspace = true
|
|
description.workspace = true
|
|
repository.workspace = true
|
|
|
|
[[bin]]
|
|
name = "sandbox-agent"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
sandbox-agent-error.workspace = true
|
|
sandbox-agent-agent-management.workspace = true
|
|
sandbox-agent-agent-credentials.workspace = true
|
|
sandbox-agent-opencode-adapter.workspace = true
|
|
sandbox-agent-opencode-server-manager.workspace = true
|
|
acp-http-adapter.workspace = true
|
|
thiserror.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
axum.workspace = true
|
|
clap.workspace = true
|
|
futures.workspace = true
|
|
reqwest.workspace = true
|
|
dirs.workspace = true
|
|
time.workspace = true
|
|
chrono.workspace = true
|
|
tokio = { workspace = true, features = ["process", "io-util", "sync"] }
|
|
tokio-stream.workspace = true
|
|
tower-http.workspace = true
|
|
utoipa.workspace = true
|
|
schemars.workspace = true
|
|
tracing.workspace = true
|
|
tracing-logfmt.workspace = true
|
|
tracing-subscriber.workspace = true
|
|
include_dir.workspace = true
|
|
base64.workspace = true
|
|
toml_edit.workspace = true
|
|
tar.workspace = true
|
|
zip.workspace = true
|
|
tempfile = { workspace = true, optional = true }
|
|
gstreamer = { version = "0.23", optional = true }
|
|
gstreamer-sdp = { version = "0.23", optional = true }
|
|
gstreamer-webrtc = { version = "0.23", optional = true }
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = "0.2"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows = { version = "0.52", features = ["Win32_Foundation", "Win32_Security", "Win32_Storage_FileSystem", "Win32_System_Console", "Win32_System_Threading"] }
|
|
|
|
[dev-dependencies]
|
|
http-body-util.workspace = true
|
|
insta.workspace = true
|
|
tower.workspace = true
|
|
tempfile.workspace = true
|
|
serial_test = "3.2"
|
|
tokio-tungstenite = "0.24"
|
|
|
|
[features]
|
|
test-utils = ["tempfile"]
|
|
desktop-gstreamer = ["gstreamer", "gstreamer-sdp", "gstreamer-webrtc"]
|