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
This commit is contained in:
grokkybara[bot] 2026-07-23 17:12:33 +00:00
commit 69f0ba880a
286 changed files with 22939 additions and 9624 deletions

View file

@ -1,6 +1,6 @@
[package]
name = "xai-grok-pager-bin"
version = "0.2.110"
version = "0.2.111"
edition.workspace = true
license = "Apache-2.0"
authors = ["xAI"]

View file

@ -44,7 +44,7 @@ use xai_grok_shell::leader::{
use xai_grok_shell::leader::{
ControlPayload, LeaderClient, LeaderEnvUrls, connect_or_spawn, socket_path_for_ws_url,
};
use xai_grok_update::{UpdateConfig, auto_update, enforce_minimum_version_or_exit};
use xai_grok_update::{UpdateConfig, auto_update, enforce_version_policy_or_exit};
/// Apply headless args to an existing config, only overriding values that are
/// explicitly set. This allows environment defaults to be preserved when
/// specific args are not provided.
@ -1771,6 +1771,7 @@ async fn async_main(args: PagerArgs) -> Result<()> {
if let Some(Command::Wrap(ref wrap_args)) = args.command {
return xai_grok_pager::wrap_cmd::run(wrap_args);
}
args.pin_local_resume_target()?;
let saved_profile = args.saved_resume_profile();
let sandbox_profile_arg = match args.startup_sandbox_profile(saved_profile.as_deref()) {
xai_grok_pager::app::cli::SandboxStartup::Apply(profile) => profile,
@ -1828,7 +1829,7 @@ async fn async_main(args: PagerArgs) -> Result<()> {
Use `grok-pager agent {flag}` instead."
);
}
enforce_minimum_version_or_exit(&update_config).await;
enforce_version_policy_or_exit();
return run_agent_command(
agent_args,
args.permission_mode_flag.clone(),
@ -1992,7 +1993,7 @@ async fn async_main(args: PagerArgs) -> Result<()> {
if let Some(prompt) = headless_prompt {
init_tracing_simple(HEADLESS_ENTRYPOINT);
let _otel_guard = xai_grok_telemetry::otel_layer::otel_guard();
enforce_minimum_version_or_exit(&update_config).await;
enforce_version_policy_or_exit();
let launch_yolo = xai_grok_shell::util::config::effective_yolo_for_launch(
args.yolo,
args.permission_mode_flag.as_deref(),
@ -2017,6 +2018,7 @@ async fn async_main(args: PagerArgs) -> Result<()> {
xai_grok_pager::headless::HeadlessOptions {
session_id: args.session_id.clone(),
resume: args.resume_session.or(args.load_session),
resume_title_pinned: args.resume_target_pinned,
cwd: args.cwd,
yolo: launch_yolo.yolo,
trust: args.trust,
@ -2047,7 +2049,7 @@ async fn async_main(args: PagerArgs) -> Result<()> {
)
.await;
}
enforce_minimum_version_or_exit(&update_config).await;
enforce_version_policy_or_exit();
let _otel_guard = xai_grok_telemetry::otel_layer::otel_guard();
type UpdateWaitHandle = tokio::task::JoinHandle<std::io::Result<std::process::ExitStatus>>;
let bg_update_wait: std::sync::Arc<tokio::sync::Mutex<Option<UpdateWaitHandle>>> =