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

Changes:
- grok-shell: send an expired external-provider credential to the sign-in flow, not a 401 loop
- pager: clickable ▲ jumps to the top of the response being read
- grok-shell: keep a large task log from making the completion message too long
- Plan viewer scrollbar: widen grab zone to the border column; fix striped thumb in Terminal.app
- pager: poll the tmux probe teardown grace instead of sleeping it
- security: vendor-compat MCP kill switch is now actually enforced when reported as on
- grok-shell: restore session eviction when a leader client disconnects
- Bump rust-toolchain to 1.93.0
- workspace: lexical-normalize permission path patterns before glob matching
- pager: reject garbage Enter in the /resume picker
- pager: show Mermaid affordances in plan mode preview
- pager: drop manage-account link from /session-info
- workspace: auto-approve read-only git queries; defer write floor to auto classifier
- Add free-form pattern editor to the "Always allow" command prompt
- grok-shell: fix /btw caching
- pager: Tab walks answers in the ask_user_question card
- External-provider auth refresh: single 7s attempt instead of 3×5s
- pager: don't resurrect finished background tasks as Running when completion arrives first
- pager: report tmux truecolor clamping in Doctor
- Fix plan viewer scrollbar click+drag hijacked by comment gutter
- pager/shell: stop double Recap after the same last turn
- sampler: preserve x-should-retry through stream collection
- pager: clear plan-mode indicator immediately when the user approves a plan
- pager: tmux does not re-read its config on reattach

Source-Revision: 64c4de99cc822b25ce9c54ab5a4f372093d0885d
2026-08-03 08:17:57 +00:00

117 lines
4.5 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",
] }
# `tls-aws-lc` compiles opentelemetry-otlp's TLS support for the gRPC
# transport. The workspace default is only `tls-roots`, which since otlp 0.32
# no longer implies a TLS provider feature — without one, every `https://`
# gRPC collector endpoint is rejected at exporter build time (GB-4580).
# aws-lc matches the TLS backend the workspace `tonic` already uses.
opentelemetry-otlp = { workspace = true, features = ["tls-aws-lc"] }
opentelemetry-http = { workspace = true }
# Embedded Mozilla trust anchors for the gRPC TLS fallback: keeps `https://`
# collectors working on hosts with no readable system CA store (parity with
# the HTTP transport's embedded-roots reqwest client in `otlp_http.rs`).
webpki-roots = { workspace = true }
# Re-encodes the validated GROK_EXTRA_CA_BUNDLE DERs as PEM for tonic's
# `Certificate::from_pem` (the gRPC transport's extra-CA parity with HTTP).
base64 = { 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"] }
# Self-signed CA + server cert for the TLS collector fixture
# (tests/external_otlp_grpc_tls.rs). `rustls` pins the process-default crypto
# provider there: the test binary links both ring and aws-lc-rs, so rustls
# can't auto-select one for the server-side acceptor.
rcgen = { workspace = true }
rustls = { workspace = true }
# 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