grok-build-upstream-mirror/Cargo.toml

409 lines
16 KiB
TOML
Raw Normal View History

# Auto-generated workspace root. Prefer editing per-crate Cargo.toml files.
Synced from monorepo Synced from monorepo Changes: - Shell: accept target response id on rewind execute - Shell: stamp response id on chat user message chunks - Worktree: optional rebuild and stale git registration cleanup in auto-GC - Worktree: kind-aware auto-GC TTLs and config knobs - Worktree: macOS process CWD scan and Unix PID liveness for GC guards - Worktree: automatic throttled GC on startup (Linux age-based; non-Linux dead-only) - Pager: add `[ui].combine_queued_prompts` to batch queued follow-ups - Shell: stop overwriting user skills - Tools: read markdown in `skills/` directories untruncated - `/usage` shows per-session token and dollar usage in the TUI - Security: prompt on environment-dumping `ps` variants - Security: always-safe `kubectl` no longer runs arbitrary kubeconfig credential plugins without permission - Tools: make scheduler deletion durable - Shell: add relocation storage primitives - Shell: give side model calls their own conversation ids - Fix five workflow-runtime bugs (budget, pause, cancel, reconnect) - Security: peel `env -S` / `--split-string` operands in the Bash permission gate (managed deny/ask) - Pager: expose doctor in the TUI - Security: block unauthorized RCE via abused safe commands - Pager idle watcher cue: "1 subagent still running" instead of "watching · 1 subagent" - Security: block `rg --pre` arbitrary code execution in auto-mode - Voice: diagnose silent-mic failures (macOS permission) and add doctor/terminal-setup Voice section - App builder deployer: `allow_forking` and `show_built_with_grok` - Pager: stop stacking duplicate "Worked for" markers on parked turns - Shell: support `max` as a distinct reasoning effort tier - Tools: serialize background `/loop` fires on the whole work unit - Shell: add working-directory relocation state primitives - Proto: `ClientToolResult` and `ChatConfig` client-side tools - Shell: model providers - Chat: select App Builder product on the Build path - Shell: attach author identity to feedback when the deployment opts in - Doctor: fix for SSH wrap setup - Workflow authoring skills: create-workflow and import-claude-workflow docs - Add read-only grok doctor - Sandbox: apply Landlock without a controlling TTY - Pager: recover image paste over grok wrap on headless remotes - Pager: make actions screen-mode aware - Shell: resume sessions when the working directory moves - Pager: centralize terminal diagnostics - Workspace: gate inline shell file access - Pager: centralize terminal probes - Pager: edit minimal prompts in an external editor - Pager: standardize backgrounding on Ctrl+B - Shell: recap rides the parent turn's prompt cache - Tools: add scheduler lifecycle version clock Source-Revision: 0f4d7c91b8b2b408333f6de1e8a76cb8eaa71899
2026-07-21 18:10:23 +00:00
[patch.crates-io]
async-openai = { git = "https://github.com/our-forks/async-openai.git", rev = "95b52ebdedf42143083cf3d6f0e0be7c84e9c808" }
[workspace]
resolver = "2"
members = [
"crates/build/xai-proto-build",
"crates/codegen/ptyctl",
"crates/codegen/ptyctl-cli",
"crates/codegen/xai-acp-lib",
"crates/codegen/xai-agent-lifecycle",
"crates/codegen/xai-chat-state",
"crates/codegen/xai-codebase-graph",
"crates/codegen/xai-crash-handler",
"crates/codegen/xai-fast-worktree",
"crates/codegen/xai-file-utils",
"crates/codegen/xai-fsnotify",
"crates/codegen/xai-gix-status",
"crates/codegen/xai-grok-agent",
"crates/codegen/xai-grok-announcements",
"crates/codegen/xai-grok-auth",
"crates/codegen/xai-grok-config",
"crates/codegen/xai-grok-config-types",
"crates/codegen/xai-grok-env",
"crates/codegen/xai-grok-hooks",
"crates/codegen/xai-grok-http",
"crates/codegen/xai-grok-markdown",
"crates/codegen/xai-grok-markdown-core",
"crates/codegen/xai-grok-mcp",
"crates/codegen/xai-grok-memory",
"crates/codegen/xai-grok-mermaid",
"crates/codegen/xai-grok-models",
"crates/codegen/xai-grok-pager",
"crates/codegen/xai-grok-pager-bin",
"crates/codegen/xai-grok-pager-minimal",
"crates/codegen/xai-grok-pager-pty-harness",
"crates/codegen/xai-grok-pager-render",
"crates/codegen/xai-grok-paths",
"crates/codegen/xai-grok-plugin-marketplace",
"crates/codegen/xai-grok-sampler",
"crates/codegen/xai-grok-sampling-types",
"crates/codegen/xai-grok-sandbox",
"crates/codegen/xai-grok-secrets",
"crates/codegen/xai-grok-shared",
"crates/codegen/xai-grok-shell",
"crates/codegen/xai-grok-shell-base",
"crates/codegen/xai-grok-shell-session-support",
"crates/codegen/xai-grok-subagent-resolution",
"crates/codegen/xai-grok-telemetry",
"crates/codegen/xai-grok-test-support",
"crates/codegen/xai-grok-tools",
"crates/codegen/xai-grok-tools-api",
"crates/codegen/xai-grok-update",
"crates/codegen/xai-grok-version",
"crates/codegen/xai-grok-voice",
"crates/codegen/xai-grok-workspace",
"crates/codegen/xai-grok-workspace-client",
"crates/codegen/xai-grok-workspace-types",
"crates/codegen/xai-hooks-plugins-types",
"crates/codegen/xai-hunk-tracker",
"crates/codegen/xai-mixpanel",
"crates/codegen/xai-prompt-queue",
"crates/codegen/xai-ratatui-inline",
"crates/codegen/xai-ratatui-textarea",
"crates/codegen/xai-sqlite-journal",
"crates/codegen/xai-system-power",
"crates/codegen/xai-token-estimation",
"crates/codegen/xai-tracing-macros",
"crates/codegen/xai-tty-utils",
Synced from monorepo Synced from monorepo Changes: - Shell: accept target response id on rewind execute - Shell: stamp response id on chat user message chunks - Worktree: optional rebuild and stale git registration cleanup in auto-GC - Worktree: kind-aware auto-GC TTLs and config knobs - Worktree: macOS process CWD scan and Unix PID liveness for GC guards - Worktree: automatic throttled GC on startup (Linux age-based; non-Linux dead-only) - Pager: add `[ui].combine_queued_prompts` to batch queued follow-ups - Shell: stop overwriting user skills - Tools: read markdown in `skills/` directories untruncated - `/usage` shows per-session token and dollar usage in the TUI - Security: prompt on environment-dumping `ps` variants - Security: always-safe `kubectl` no longer runs arbitrary kubeconfig credential plugins without permission - Tools: make scheduler deletion durable - Shell: add relocation storage primitives - Shell: give side model calls their own conversation ids - Fix five workflow-runtime bugs (budget, pause, cancel, reconnect) - Security: peel `env -S` / `--split-string` operands in the Bash permission gate (managed deny/ask) - Pager: expose doctor in the TUI - Security: block unauthorized RCE via abused safe commands - Pager idle watcher cue: "1 subagent still running" instead of "watching · 1 subagent" - Security: block `rg --pre` arbitrary code execution in auto-mode - Voice: diagnose silent-mic failures (macOS permission) and add doctor/terminal-setup Voice section - App builder deployer: `allow_forking` and `show_built_with_grok` - Pager: stop stacking duplicate "Worked for" markers on parked turns - Shell: support `max` as a distinct reasoning effort tier - Tools: serialize background `/loop` fires on the whole work unit - Shell: add working-directory relocation state primitives - Proto: `ClientToolResult` and `ChatConfig` client-side tools - Shell: model providers - Chat: select App Builder product on the Build path - Shell: attach author identity to feedback when the deployment opts in - Doctor: fix for SSH wrap setup - Workflow authoring skills: create-workflow and import-claude-workflow docs - Add read-only grok doctor - Sandbox: apply Landlock without a controlling TTY - Pager: recover image paste over grok wrap on headless remotes - Pager: make actions screen-mode aware - Shell: resume sessions when the working directory moves - Pager: centralize terminal diagnostics - Workspace: gate inline shell file access - Pager: centralize terminal probes - Pager: edit minimal prompts in an external editor - Pager: standardize backgrounding on Ctrl+B - Shell: recap rides the parent turn's prompt cache - Tools: add scheduler lifecycle version clock Source-Revision: 0f4d7c91b8b2b408333f6de1e8a76cb8eaa71899
2026-07-21 18:10:23 +00:00
"crates/codegen/xai-workflow",
"crates/common/xai-circuit-breaker",
"crates/common/xai-computer-hub-core",
"crates/common/xai-computer-hub-mcp-adapter",
"crates/common/xai-computer-hub-sdk",
"crates/common/xai-grok-compaction",
"crates/common/xai-interjection-core",
"crates/common/xai-test-utils",
"crates/common/xai-tool-protocol",
"crates/common/xai-tool-runtime",
"crates/common/xai-tool-types",
"crates/common/xai-tracing",
"prod/mc/cli-chat-proxy-types",
"third_party/dagre_rust",
"third_party/graphlib_rust",
"third_party/mermaid-to-svg",
"third_party/ordered_hashmap",
]
[workspace.package]
edition = "2024"
license = "Apache-2.0"
[workspace.dependencies]
agent-client-protocol = { version = "0.10.4", features = ["unstable"] }
alacritty_terminal = "0.26.0"
ansi-to-tui = "7.0.0"
ansi-width = "0.1"
anstyle = "1.0"
anstyle-lossy = "1.1.4"
anstyle-parse = "0.2"
anstyle-syntect = "1.0.4"
anyhow = { version = "1", features = ["backtrace"] }
arboard = "3.6"
arc-swap = "1.7"
assert_matches = "1.5.0"
async-compression = { version = "0.4.17", default-features = false, features = ["gzip", "zstd", "tokio"] }
async-lsp = { version = "0.2.3", features = ["tokio", "tracing"] }
async-openai = { version = "0.33.0", features = ["responses"] }
async-stream = "0.3"
async-trait = "0.1"
axum = { version = "0.8", features = ["macros", "ws"] }
backon = { version = "1.6" }
backtrace = "0.3"
base64 = "0.22"
blake3 = "1"
bytes = { version = "1", features = ["serde"] }
camino = "1.1.10"
chrono = "0.4"
clap = { version = "4", features = ["derive", "env"] }
clap_complete = { version = "4" }
colored_json = "5"
core-foundation = "0.10"
crc32fast = "1.4"
criterion = "0.6"
crossbeam = "0.8"
crossterm = "0.28"
cryptify = "3.2"
dashmap = "6"
derive_more = { version = "2", features = ["add", "add_assign", "debug", "deref", "deref_mut", "display", "from", "from_str", "into", "into_iterator", "try_into"] }
Synced from monorepo Changes: - Gate session-lifecycle heap steady state with a dhat soak - Unbreak merge lifecycle e2e after default model → grok-4.5 - Scan home-scope rules dirs at <root>/rules - Complete text-input paste and terminal parity - Gate project roles and personas - Use canonical editing in dialogs - Use canonical editing in search bars - Reject ambiguous MCP tool IDs - Harden Git operands for plugins - Simplify queue drain API - Pass RFC 9207 iss through MCP OAuth token exchange - Show leader roster when local agents map is empty - Use canonical editing in Persona views - Remove marketplace default-skills auto-install and purge old installs - Use canonical editing in extension forms - Add canonical dashboard text editing - Use canonical editing in settings - Add /summarize as a /recap alias - Restore previous agent when exiting dashboard - Use tool_choice auto for compaction - Settings toggle for snap-prompt-to-top on send - Update default models to grok-4.5 - Source login shell once for local bash (env + alias/function snapshot) - Template hardcoded param names in server-native tool descriptions - Fix System-Reminder XML tag injection in CLAUDE.md via agents_md - Fix remote workspace-server hardcoding LSP trust (repo code execution risk) - Clear orphaned tool-call updates at turn end - Suppress task wake after cancel - Send x-grok-client-identifier on direct API tool calls - Harden dashboard peek lease transitions - Host /btw side panel in live region (minimal mode) - Bound scroll presentation latency - Highlight multi-line constructs correctly in diffs and the file viewer - Block web_fetch non-public IPs; local opt-in is explicit-host only - Seed coding_data_retention_opt_out=false for OAuth e2es in pty-harness - Follow up clipboard delivery feedback - Use canonical editing in pickers - Route TextArea through canonical editor - Persistent "watching" status row; quieter turn markers - Gate sensitive edit targets - Expose agent registry counts and gate session churn on them - Default coding data sharing to opt-out until server preference applies - Wire chat attachment ids through gateway prompts - On auth refresh failure, issue retry - Forward preview provenance and computer lifecycle state - Document independent privacy controls and scope /privacy output - Strip SamplingError Display prefix on rate-limit UI copy - Stop dumping Cloudflare HTML into Retry failed - Disable in-place prompt edit (scroll jank on enter) - Strip forced ANSI color from gh pr view JSON - Plumb bash tool description onto ToolUsageCard wire
2026-07-18 19:48:28 +01:00
dhat = "0.3"
dirs = "5.0"
documented = "0.9"
dunce = "1"
educe = "0.6.0"
enum_delegate = "0.2"
env_logger = "0.11"
eventsource-stream = "0.2"
fastrace = { version = "0.7" }
fastrace-opentelemetry = { version = "0.18" }
fastrace-reqwest = { version = "0.2" }
fastrace-tonic = { version = "0.1" }
fastrand = "2"
filetime = "0.2.25"
flate2 = { version = "1", default-features = false, features = ["zlib-rs"] }
fontdb = "0.23"
fs2 = "0.4"
futures = "0.3"
futures-util = "0.3"
fuzzy-matcher = "0.3.7"
gcloud-storage = { version = "1.3.0", default-features = false, features = ["auth", "jwt-aws-lc-rs", "external-account"] }
gethostname = "1"
gix = { version = "0.83", default-features = false, features = ["sha1"] }
glob = "0.3"
globset = "0.4"
htmd = "0.5.4"
html-escape = "0.2"
http = "1"
http-body-util = "0.1"
humantime-serde = "1"
ignore = "0.4"
Synced from monorepo Synced from monorepo Changes: - Workspace server: report `/ready` as failed with dwell on hub connect failure - Refresh OIDC token for the Grok agent in the shell - ACP terminal output recorder - Cross-platform provider auth commands in the shell - Default `/resume` to Grok sessions with a hint for hidden external sessions - Resume sessions by title with `--resume` - Limit app-builder archive size - Data-driven tag labels for slash commands - Doctor fixes for tmux - Custom provider gateways and subprocess environment policy in the shell - `/tutorial` — opt-in onboarding tour of Grok Build - Soft and required CLI version checks in the shell - Privacy banner env overrides survive live settings updates - Add remote flag to override the image-edit model - Return profile fields from auth info even when the access token is expired - Add edit control on queued prompt rows - Keep fail-closed policy when clearing orphans with no team - Setting to disable the Ctrl+Space/F8 voice shortcut - Pass `--raw` to pw-record so Linux dictation works on older PipeWire - Validate git URLs when adding marketplace entries - Stop shipping stale tool-doc parameter and tool names - Re-point dashboard attach after `/fork` only when the parent was attached - Surface Grok Computer media-generation results as file-path chunks - Clear web background-task tray on kill and keep the task description - Show privacy upsell banner in agent view until acted on - Add tools-server client callback surface - Protect persistent global hook sources Source-Revision: 95d84f443eddcbed6cbfd6eed22e2eafe6b3939d
2026-07-23 17:12:33 +00:00
image = { version = "0.25.10", default-features = false }
indexmap = { version = "2", features = ["serde"] }
indicatif = "0.18"
infer = "0.19.0"
insta = "1"
itertools = "0.14"
jsonschema = "0.30.0"
libc = "0.2"
linkify = "0.10"
lipsum = "0.9"
log = { version = "0.4", features = ["kv", "kv_unstable"] }
md5 = "0.8"
mermaid-to-svg = { path = "third_party/mermaid-to-svg" }
minijinja = "2.9"
mockito = "1"
moka = "0.12"
nix = { version = "0.30", features = ["poll", "process", "signal", "sched", "term", "mount", "fs", "ioctl", "mman", "reboot", "user"] }
notify = "8"
notify-debouncer-mini = "0.6"
nucleo = { git = "https://github.com/helix-editor/nucleo.git", rev = "5b74652" }
num_cpus = "1"
oauth2 = "5"
obfstr = "0.4"
once_cell = "1"
opentelemetry = "0.32"
opentelemetry-http = { version = "0.32", features = ["reqwest-blocking"] }
opentelemetry-otlp = { version = "0.32", features = ["grpc-tonic", "reqwest-blocking-client", "tls-roots"] }
opentelemetry-proto = { version = "0.32", features = ["gen-tonic"] }
opentelemetry_sdk = { version = "0.32.1", features = ["spec_unstable_metrics_views"] }
parking_lot = "0.12.4"
pbjson-build = "0.9"
pdf_oxide = { version = "0.3.43", features = ["rendering"] }
petgraph = { version = "0.6.5", default-features = false, features = ["serde-1", "stable_graph"] }
portable-pty = "0.9"
pprof = "0.15"
pretty_assertions = "1"
prometheus = { version = "0.14", features = ["process"] }
prost = "0.14"
prost-build = "0.14"
pulldown-cmark = "0.13"
quick-xml = "0.38"
rand = "0.9"
ratatui = { version = "0.29" }
ratatui-core = "0.1"
rayon = "1"
reflink-copy = "0.1"
regex = "1"
reqwest = { version = "0.12", features = ["rustls-tls", "stream", "json", "multipart", "http2", "blocking", "socks"], default-features = false }
reqwest-middleware = { version = "0.4.1", features = ["json", "multipart"] }
resvg = { version = "0.47", default-features = false, features = ["text"] }
Synced from monorepo Synced from monorepo Changes: - Shell: accept target response id on rewind execute - Shell: stamp response id on chat user message chunks - Worktree: optional rebuild and stale git registration cleanup in auto-GC - Worktree: kind-aware auto-GC TTLs and config knobs - Worktree: macOS process CWD scan and Unix PID liveness for GC guards - Worktree: automatic throttled GC on startup (Linux age-based; non-Linux dead-only) - Pager: add `[ui].combine_queued_prompts` to batch queued follow-ups - Shell: stop overwriting user skills - Tools: read markdown in `skills/` directories untruncated - `/usage` shows per-session token and dollar usage in the TUI - Security: prompt on environment-dumping `ps` variants - Security: always-safe `kubectl` no longer runs arbitrary kubeconfig credential plugins without permission - Tools: make scheduler deletion durable - Shell: add relocation storage primitives - Shell: give side model calls their own conversation ids - Fix five workflow-runtime bugs (budget, pause, cancel, reconnect) - Security: peel `env -S` / `--split-string` operands in the Bash permission gate (managed deny/ask) - Pager: expose doctor in the TUI - Security: block unauthorized RCE via abused safe commands - Pager idle watcher cue: "1 subagent still running" instead of "watching · 1 subagent" - Security: block `rg --pre` arbitrary code execution in auto-mode - Voice: diagnose silent-mic failures (macOS permission) and add doctor/terminal-setup Voice section - App builder deployer: `allow_forking` and `show_built_with_grok` - Pager: stop stacking duplicate "Worked for" markers on parked turns - Shell: support `max` as a distinct reasoning effort tier - Tools: serialize background `/loop` fires on the whole work unit - Shell: add working-directory relocation state primitives - Proto: `ClientToolResult` and `ChatConfig` client-side tools - Shell: model providers - Chat: select App Builder product on the Build path - Shell: attach author identity to feedback when the deployment opts in - Doctor: fix for SSH wrap setup - Workflow authoring skills: create-workflow and import-claude-workflow docs - Add read-only grok doctor - Sandbox: apply Landlock without a controlling TTY - Pager: recover image paste over grok wrap on headless remotes - Pager: make actions screen-mode aware - Shell: resume sessions when the working directory moves - Pager: centralize terminal diagnostics - Workspace: gate inline shell file access - Pager: centralize terminal probes - Pager: edit minimal prompts in an external editor - Pager: standardize backgrounding on Ctrl+B - Shell: recap rides the parent turn's prompt cache - Tools: add scheduler lifecycle version clock Source-Revision: 0f4d7c91b8b2b408333f6de1e8a76cb8eaa71899
2026-07-21 18:10:23 +00:00
rhai = { version = "1.25", features = ["serde"] }
ring = "0.17"
rsa = "0.9"
runfiles = "0.1"
rustc-hash = "2"
schemars = "1"
scraper = "0.23"
semver = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_path_to_error = "0.1"
serde_yaml = "0.9"
serial_test = "3"
sha2 = { version = "0.10", features = ["force-soft"] }
shlex = "1"
signal-hook = "0.3"
similar = "2.7"
siphasher = "1"
smallvec = "1"
strip-ansi-escapes = "0.2.1"
strum = { version = "0.27", features = ["derive"] }
supports-color = "3.0"
syntect = "5.3"
tar = "0.4"
tempfile = "3"
terminput = "0.3"
termwiz = { version = "0.23", default-features = false }
textwrap = "0.16"
thiserror = "2"
tikv-jemalloc-ctl = "0.6"
tikv-jemalloc-sys = "0.6"
tikv-jemallocator = { version = "0.6", features = ["profiling", "unprefixed_malloc_on_supported_platforms"] }
time = "0.3"
tiny-skia = "0.12"
tokio = { version = "1", features = ["full"] }
tokio-retry = "0.3"
Synced from monorepo Changes: - Non-blocking coding-data sharing upsell banner - Consolidate remediation in Doctor - Auto mode defers fail-closed gate asks to the classifier - Coalesce marketplace list fetches - Allow removing a marketplace source by name - Contain hung git marketplace sources (timeouts, non-blocking refresh, unbrick modal) - Label failed workspace RPCs with error_kind - Drop redundant explicit tonic/prost deps from xai-grok-shell - Report real exit codes for completed background shells - Narrow the date-rollover reminder to date-bearing templates - Wire toolOverrides through the session and agent - Security: Bash(git:*) allowlist matches whole command chain by prefix - Split prompt-trigger telemetry and record classifier provenance - Raise connectors-manager timeout to 60s - Auto classifier honors recorded approvals for repeat actions - Apply doctor fixes in the TUI - Auto-mode classifier timeouts prompt instead of silently denying - Scope subagent completion drains to the owning session - Add the toolOverrides wire types - Set client_identifier=grok-agent-sdk - Accept both spellings of the workspace-teleport kill switch - Persist one-shot occurrence journal - Stop turns that poll the exact same tool call 16x in a row - Copy compaction checkpoint files when forking sessions - Auto-focus permission prompt from scrollback - Esc cancels the running turn in non-vim and minimal modes - List Ctrl+Z undo and redo in keyboard shortcuts - Out-of-process macOS mic capture - Show active auth mode on session-info - Install the npm binary under $GROK_HOME - Remove hover/click dead zones between dashboard items - Route startup warnings to doctor - Document [feedback.user] author identity config - Extend bang command timeout - Close combine-queued edit-hold race - Integrate relocation recovery - Expose privacy notice rollout flag - Break harness discovery ref cycle so connections can idle-evict - Shift/Alt+Enter inserts newline when editing a queued prompt - Gate project Claude permissions on folder trust - Echo response.create.event_id on response.created - Toast when session creation fails from disk full - Add shared test process lifecycle - Enable dynamic workflows by default - Add relocation transaction state machine - Add shared test sandbox - Surface auth failures on model-switch compact - Persist durable scheduler expiry - Confirm before removing extensions-modal items - Re-run compact and prompt after login when compact hit expired auth - Recap sends hosted tools under backend search
2026-07-22 19:18:53 +01:00
tokio-stream = { version = "0.1", features = ["net"] }
tokio-tungstenite = "0.27"
tokio-util = { version = "0.7", features = ["rt"] }
toml = "0.9"
toml_edit = "0.22"
tonic = { version = "0.14", features = ["tls-aws-lc", "gzip", "deflate", "zstd"] }
tonic-prost = "0.14"
tonic-prost-build = "0.14"
tower = "0.5"
tower-http = "0.6"
tracing = "0.1"
tracing-opentelemetry = "0.33"
tracing-subscriber = { version = "0.3.23", default-features = false, features = ["env-filter", "smallvec", "tracing-log", "std", "ansi"] }
ts-rs = "12.0"
tui-scrollbar = "0.2"
two-face = { version = "0.4", default-features = false, features = ["syntect-fancy"] }
unicode-segmentation = "1.12.0"
unicode-width = "0.2"
url = "2"
urlencoding = "2"
uuid = { version = "1", features = ["serde", "v4", "v5"] }
vte = "0.15.0"
wait-timeout = "0.2"
walkdir = "2"
webbrowser = { version = "1.0.4" }
which = "8"
whoami = "1.4"
Synced from monorepo Synced from monorepo Changes: - Workspace server: report `/ready` as failed with dwell on hub connect failure - Refresh OIDC token for the Grok agent in the shell - ACP terminal output recorder - Cross-platform provider auth commands in the shell - Default `/resume` to Grok sessions with a hint for hidden external sessions - Resume sessions by title with `--resume` - Limit app-builder archive size - Data-driven tag labels for slash commands - Doctor fixes for tmux - Custom provider gateways and subprocess environment policy in the shell - `/tutorial` — opt-in onboarding tour of Grok Build - Soft and required CLI version checks in the shell - Privacy banner env overrides survive live settings updates - Add remote flag to override the image-edit model - Return profile fields from auth info even when the access token is expired - Add edit control on queued prompt rows - Keep fail-closed policy when clearing orphans with no team - Setting to disable the Ctrl+Space/F8 voice shortcut - Pass `--raw` to pw-record so Linux dictation works on older PipeWire - Validate git URLs when adding marketplace entries - Stop shipping stale tool-doc parameter and tool names - Re-point dashboard attach after `/fork` only when the parent was attached - Surface Grok Computer media-generation results as file-path chunks - Clear web background-task tray on kill and keep the task description - Show privacy upsell banner in agent view until acted on - Add tools-server client callback surface - Protect persistent global hook sources Source-Revision: 95d84f443eddcbed6cbfd6eed22e2eafe6b3939d
2026-07-23 17:12:33 +00:00
wildmatch = "2"
windows = { version = "0.61", features = ["Win32_Security", "Win32_Security_Authorization", "Win32_Foundation", "Win32_System_Threading", "Win32_System_JobObjects", "Win32_System_Console", "Win32_System_Pipes"] }
wiremock = "0.6"
wl-clipboard-rs = "0.9"
xai-acp-lib = { path = "crates/codegen/xai-acp-lib" }
xai-agent-lifecycle = { path = "crates/codegen/xai-agent-lifecycle" }
xai-circuit-breaker = { path = "crates/common/xai-circuit-breaker" }
xai-computer-hub-core = { path = "crates/common/xai-computer-hub-core" }
xai-computer-hub-sdk = { path = "crates/common/xai-computer-hub-sdk" }
xai-gix-status = { path = "crates/codegen/xai-gix-status" }
xai-grok-agent = { path = "crates/codegen/xai-grok-agent" }
xai-grok-announcements = { path = "crates/codegen/xai-grok-announcements" }
xai-grok-auth = { path = "crates/codegen/xai-grok-auth" }
xai-grok-config = { path = "crates/codegen/xai-grok-config" }
xai-grok-config-types = { path = "crates/codegen/xai-grok-config-types" }
xai-grok-env = { path = "crates/codegen/xai-grok-env" }
xai-grok-http = { path = "crates/codegen/xai-grok-http" }
xai-grok-markdown = { path = "crates/codegen/xai-grok-markdown" }
xai-grok-markdown-core = { path = "crates/codegen/xai-grok-markdown-core" }
xai-grok-mcp = { path = "crates/codegen/xai-grok-mcp" }
xai-grok-memory = { path = "crates/codegen/xai-grok-memory" }
xai-grok-mermaid = { path = "crates/codegen/xai-grok-mermaid" }
xai-grok-models = { path = "crates/codegen/xai-grok-models" }
xai-grok-sampler = { path = "crates/codegen/xai-grok-sampler" }
xai-grok-secrets = { path = "crates/codegen/xai-grok-secrets" }
xai-grok-shared = { path = "crates/codegen/xai-grok-shared" }
xai-grok-shell = { path = "crates/codegen/xai-grok-shell" }
xai-grok-shell-base = { path = "crates/codegen/xai-grok-shell-base" }
xai-grok-shell-session-support = { path = "crates/codegen/xai-grok-shell-session-support" }
xai-grok-telemetry = { path = "crates/codegen/xai-grok-telemetry" }
xai-grok-test-support = { path = "crates/codegen/xai-grok-test-support" }
xai-grok-tools = { path = "crates/codegen/xai-grok-tools" }
xai-grok-tools-api = { path = "crates/codegen/xai-grok-tools-api" }
xai-grok-version = { path = "crates/codegen/xai-grok-version" }
xai-grok-workspace = { path = "crates/codegen/xai-grok-workspace" }
xai-grok-workspace-types = { path = "crates/codegen/xai-grok-workspace-types" }
xai-hooks-plugins-types = { path = "crates/codegen/xai-hooks-plugins-types" }
xai-interjection-core = { path = "crates/common/xai-interjection-core" }
xai-mixpanel = { path = "crates/codegen/xai-mixpanel" }
xai-prompt-queue = { path = "crates/codegen/xai-prompt-queue" }
xai-proto-build = { path = "crates/build/xai-proto-build" }
xai-ratatui-inline = { path = "crates/codegen/xai-ratatui-inline" }
xai-ratatui-textarea = { path = "crates/codegen/xai-ratatui-textarea" }
xai-sqlite-journal = { path = "crates/codegen/xai-sqlite-journal" }
xai-system-power = { path = "crates/codegen/xai-system-power" }
xai-test-utils = { path = "crates/common/xai-test-utils" }
xai-token-estimation = { path = "crates/codegen/xai-token-estimation" }
xai-tool-protocol = { path = "crates/common/xai-tool-protocol" }
xai-tool-runtime = { path = "crates/common/xai-tool-runtime" }
xai-tool-types = { path = "crates/common/xai-tool-types" }
xai-tracing = { path = "crates/common/xai-tracing" }
xai-tty-utils = { path = "crates/codegen/xai-tty-utils" }
zbus = { version = "5" }
zstd = "0.13"
[profile.release]
incremental = true
panic = "abort"
# Hardened release profile for shipping to end users (alpha + stable).
# Use `cargo build --profile release-dist` for distribution builds.
# Not used by default `--release` to avoid slowing down local dev builds (~2.2x).
#
# Hardening: thin LTO for cross-crate optimization with reasonable link times,
# codegen-units=1 maximizes optimization (whole-program analysis, no CGU boundaries).
# debug=1 emits line-tables DWARF; strip=false keeps symbols so CI can extract
# .debug sidecars (Linux) or .dSYM bundles (macOS) before stripping post-build.
# Linker flags (RELRO, NX stack) are set per-target in .cargo/config.toml.
[profile.release-dist]
inherits = "release"
lto = "thin"
codegen-units = 1
strip = false
debug = 1
split-debuginfo = "off"
# Production profile for latency-sensitive x-product services (VF, home-mixer).
# Thin LTO gives ~90% of full LTO benefit at significantly faster link time.
# Keeps symbols + line tables for prod debuggability (perf, flamegraph, stack traces).
[profile.x-prod]
inherits = "release"
lto = "thin"
strip = false
codegen-units = 1
debug = "line-tables-only"
panic = "unwind"
# Desktop release profile. Functionally identical to release-dist — kept as a
# named alias so the desktop workflow can reference it without coupling to the
# CLI pipeline's profile name. Alpha and stable share a single release-dist
# profile so that stable promotion can pointer-swap the alpha binary without
# rebuilding.
[profile.release-dist-jemalloc]
inherits = "release-dist"
# All settings now match the parent — this is an intentional alias.
[profile.dev]
panic = "abort"
split-debuginfo = "unpacked"
codegen-units = 128
debug = "line-tables-only"
opt-level = 0
lto = false
incremental = true
[profile.bench]
debug = true
[workspace.lints.clippy]
# prost 0.14 renders proto doc-comment bullet lists in a way that trips this
# lint on generated code. Kept in sync with bazel/lint/linters.bzl.
doc_lazy_continuation = "allow"
doc_overindented_list_items = "allow"
needless_lifetimes = "allow"
single_range_in_vec_init = "allow"
too_many_arguments = "allow"
# Allow uninlined_format_args lint to prevent main from breaking after merges
# When older branches (created before this lint was added to CI) get merged,
# they pass their own CI because their CI config doesn't include this lint check.
# However, once merged to main, the code violates main's lint rules, causing:
# 1. Main's CI to fail
# 2. All new branches based off main to fail CI
# 3. Developers having to fix lint violations from other people's merged code
# Without a merge-queue that runs main's CI checks on the PR branch,
# these violations slip through and break the build for everyone.
# TODO: -> "deny" once/if merge queue enabled
uninlined_format_args = "allow"
# The `fastrace::trace(properties = { … })` proc-macro expands `"{param}"`
# into `format!("{}", param)`, which clippy flags as useless_format.
# Suppressed until the upstream crate fixes its codegen (fixed in 0.7.16+).
useless_format = "allow"