[package] license = "Apache-2.0" name = "xai-grok-workspace" version = "0.1.220-alpha.4" edition.workspace = true description = "Core host-local workspace library (FS, VCS, execution, discovery) for xai-grok-shell and remote sampler" [dependencies] anyhow = { workspace = true } arc-swap = { workspace = true } # Diagnostics HTTP server (in-guest readiness/status endpoint); pinned to the # workspace version already used by the sibling preview proxy. axum = { workspace = true } dunce = { workspace = true } xai-grok-version = { workspace = true } async-stream = { workspace = true } async-trait = { workspace = true } futures = { workspace = true } fs2 = { workspace = true } dirs = "6" parking_lot = { workspace = true } git2 = { version = "0.20", default-features = false, features = ["vendored-libgit2"] } ignore = { workspace = true } md5 = { workspace = true } regex = { workspace = true } rusqlite = { version = "0.37", features = ["bundled"] } serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true } tokio = { workspace = true, features = [ "fs", "io-std", "macros", "process", "rt", "rt-multi-thread", "sync", ] } tracing = { workspace = true } uuid = { workspace = true, features = ["v4", "v5", "v7"] } xai-grok-agent = { path = "../xai-grok-agent" } xai-grok-tools = { path = "../xai-grok-tools" } xai-grok-tools-api = { path = "../xai-grok-tools-api" } xai-grok-workspace-client = { path = "../xai-grok-workspace-client" } xai-grok-workspace-types = { path = "../xai-grok-workspace-types" } xai-grok-config = { workspace = true } # Leaf config value types (RemoteSettings, BoolFlag) for the folder-trust decision. xai-grok-config-types = { workspace = true } toml = { workspace = true, features = ["preserve_order"] } dashmap = { workspace = true } agent-client-protocol = { workspace = true } xai-acp-lib = { workspace = true } xai-codebase-graph = { path = "../xai-codebase-graph" } xai-grok-paths = { path = "../xai-grok-paths" } base64 = { workspace = true } infer = { workspace = true } sha2 = { workspace = true, features = ["force-soft"] } bstr = "1.12.1" hashbrown = "0.16.1" nohash-hasher = "0.2.0" rustc-hash = "2.1.1" nucleo = { workspace = true } indexmap = { workspace = true, features = ["serde"] } smallvec = { workspace = true } chrono = { workspace = true } tree-sitter = "0.25.10" tree-sitter-bash = "0.25" url = { workspace = true } xai-grok-env = { workspace = true } humantime-serde = { workspace = true } prometheus = { workspace = true } glob = "0.3" xai-grok-sandbox = { path = "../xai-grok-sandbox", default-features = false } xai-grok-hooks = { path = "../xai-grok-hooks" } xai-hunk-tracker = { path = "../xai-hunk-tracker" } # `metrics` enables the SDK's metric-donation client (periodic Prometheus # registry gather → OTLP → hub donation pump); see metric_donation_reporter. xai-computer-hub-sdk = { workspace = true, features = ["metrics"] } xai-computer-hub-mcp-adapter = { path = "../../common/xai-computer-hub-mcp-adapter" } xai-grok-mcp = { path = "../xai-grok-mcp" } xai-file-utils = { path = "../xai-file-utils" } xai-grok-auth = { path = "../xai-grok-auth" } xai-grok-telemetry = { workspace = true } xai-tty-utils = { workspace = true } xai-sqlite-journal = { workspace = true } reqwest = { workspace = true } xai-tool-protocol = { workspace = true } xai-tool-runtime = { workspace = true } xai-tool-types = { workspace = true } tokio-util = { workspace = true, features = ["rt"] } urlencoding = "2" xai-fast-worktree = { path = "../xai-fast-worktree", features = ["metadata"] } # tonic: Status/Code mapping for deploy errors in workspace_ops. tonic = { workspace = true } xai-fsnotify = { path = "../xai-fsnotify" } clap = { workspace = true } tracing-subscriber = { workspace = true } # "enable" required for the SDK's spans to record at all. fastrace = { workspace = true, features = ["enable"] } xai-tracing = { workspace = true } rustls = { version = "0.23", default-features = false, features = ["ring", "logging", "std", "tls12"] } tokio-tungstenite = { workspace = true, features = ["rustls-tls-webpki-roots"] } tempfile = { workspace = true } zstd = { workspace = true } # Only referenced by the Unix self-daemonize path (fork/setsid/dup2/chdir). [target.'cfg(unix)'.dependencies] libc = { workspace = true } # Only referenced by the Windows self-daemonize path (SetStdHandle). [target.'cfg(windows)'.dependencies] windows = { workspace = true } [[bin]] name = "xai-workspace-server" path = "src/bin/workspace_server.rs" [[bin]] name = "workspace-server-probe" path = "src/bin/workspace_server_probe.rs" [features] default = ["sandbox-enforce"] compression = [] test-support = [] sandbox-enforce = ["xai-grok-sandbox/enforce"] default-bazel = [ "sandbox-enforce", ] [dev-dependencies] filetime = { workspace = true } tempfile = { workspace = true } tokio = { workspace = true, features = ["test-util"] } xai-test-utils = { path = "../../common/xai-test-utils" } # Decode tar.gz archives produced by workspace upload helpers in tests. flate2 = { workspace = true } tar = { workspace = true } [package.metadata.cargo-shear] ignored = ["tokio-tungstenite"] [lints] workspace = true