grok-build-upstream-mirror/crates/codegen/xai-grok-telemetry/Cargo.toml
grokkybara[bot] a422116582 Synced from monorepo
Synced from monorepo

Changes:
- Release a shell session's resources in one drop
- Make the tools blocking-wait cap client-configurable and self-describing
- Recognize API "exceeds budget" errors as context overflow
- Retry /btw on model overload
- Carry running background tasks and subagents across compaction
- Require round-trip time for SDK liveness checks
- Background-subagent completion reminders with a selectable delivery surface
- Make a PTY shell reap itself until it reaches the registry
- Recover the OS error code from a TLS-phase connection reset
- Consume the attached-client signal and report why idle is withheld
- Treat `.grok/sandbox.toml` edits as protected so auto mode prompts before writing
- Surface history/search in the Ctrl+. cheatsheet and keep it working in history view
- Delete sessions from the dashboard and welcome list
- Release a session's activity record when the session ends
- Stop charging auth-retry budget for fail-closed 401s; reset it across suspends
- Scope skills watches on project vendor roots
- Make [stop] cancel in-flight compaction
- Make the leader soak measure the leader, not its harness

Source-Revision: 8d69c91f02bcacf01e98d5aebbf2f92547c45738
2026-07-31 18:08:03 +00:00

99 lines
3.4 KiB
TOML

[package]
license = "Apache-2.0"
name = "xai-grok-telemetry"
version = "0.1.0"
edition.workspace = true
description = "Telemetry engine: product events + Mixpanel emission + Sentry error reporting for Grok Build sessions"
authors = ["xAI"]
[features]
default = []
default-bazel = []
memory-log = []
[dependencies]
anyhow = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
strum = { workspace = true }
tracing = { workspace = true }
tracing-appender = "0.2.4"
tracing-chrome = "0.7.2"
tracing-subscriber = { workspace = true, features = [
"env-filter",
"fmt",
"json",
"time",
] }
chrono = { workspace = true }
git2 = { version = "0.20", default-features = false, features = [
"vendored-libgit2",
] }
reqwest = { workspace = true }
url = { workspace = true }
xai-grok-env = { workspace = true }
xai-grok-secrets = { workspace = true }
xai-mixpanel = { workspace = true }
xai-grok-config = { workspace = true }
xai-grok-extra-ca = { workspace = true }
xai-grok-sampler = { workspace = true }
xai-token-estimation = { workspace = true }
dirs = { workspace = true }
sentry = { version = "0.42.0", default-features = false, features = [
"panic",
"anyhow",
"tracing",
"backtrace",
"contexts",
"reqwest",
"rustls",
"debug-images",
] }
# Single cross-edge: `events::ToolCallCompleted.outcome` reuses
# `xai_file_utils::events::types::ToolOutcome` so the local event log and
# the product telemetry event share the same enum surface. Semantically this enum
# lives with the events module in data-collector; not worth a third crate.
xai-file-utils = { path = "../xai-file-utils" }
# `session_metrics::TraceUploadReason::from_upload_method` matches on the shared
# `UploadMethod` enum (small, dependency-light types crate) so the reason->wire
# mapping lives next to the trace-upload lifecycle events it labels.
whoami = { workspace = true }
uuid = { workspace = true, features = ["v5", "v7"] }
obfstr = { workspace = true, optional = true }
mid = "4.0.0"
tokio = { workspace = true, features = ["macros", "sync", "rt"] }
parking_lot = { workspace = true }
xai-grok-auth = { workspace = true }
opentelemetry = { workspace = true }
opentelemetry_sdk = { workspace = true, features = [
"experimental_logs_batch_log_processor_with_async_runtime",
"experimental_metrics_periodicreader_with_async_runtime",
"rt-tokio-current-thread",
] }
opentelemetry-otlp = { workspace = true }
opentelemetry-http = { workspace = true }
http = { workspace = true }
bytes = { workspace = true }
async-trait = { workspace = true }
futures-executor = "0.3"
tokio-stream = { workspace = true }
tracing-opentelemetry = { workspace = true }
[dev-dependencies]
# Pre-main unified-log redirect for this crate's own test binary.
ctor = { workspace = true }
tonic = { workspace = true, features = ["transport"] }
# In-memory log/metric exporters for the external-stream wire-shape tests.
opentelemetry_sdk = { workspace = true, features = ["testing"] }
# In-process OTLP collector fixture (tests/external_otlp.rs).
axum = { workspace = true }
opentelemetry-proto = { workspace = true }
prost = { workspace = true }
tokio = { workspace = true, features = ["macros", "net", "rt-multi-thread", "time"] }
# Sets a symlink's own mtime (std's `set_modified` follows links) for prune tests.
filetime = { workspace = true }
futures-executor = "0.3"
tempfile = { workspace = true }
[lints]
workspace = true