Synced from monorepo

Synced from monorepo

Changes:
- Temporarily disable session share link creation in the TUI
- Do not approve plan on empty Enter from the revise prompt
- Expose chat product Skills via ACP available_commands_update
- Return immediately from a blocking wait on an already-completed ACP task
- Split headless pager module for clearer structure
- Stop git worktree prune from removing user registrations on resume
- Use compaction sampler tokenizer for item token counts
- Opt-in extra root CAs via GROK_EXTRA_CA_BUNDLE
- Cancel all session subagents when the user stops
- Let the session persistence actor exit when its session ends
- Make fullscreen terminal resize much cheaper on long sessions
- Report honestly from kill_task when an ACP task does not exist
- Hide /usage for external-auth deployments
- Forward the history-load trailer’s computer_reason to the client
- Remove ineffective no-op tool reminder
- Declare slash-command screen-mode support in one place
- Keep settings enum picker on the committed value until Enter
- Reap a PTY’s full process tree
- Stream tool calls from headless mode over ACP
- Bridge gateway task lifecycle to ACP for chat session background tasks
- Don’t warn about truncated history on a suppressed replay
- Fit full-replace summarizer input and recover on context-length errors
- Stop dropping agents over an unrecognized frontmatter color
- Add /undo as a slash alias for /rewind
- Harden sleep/wake token-refresh paths against forced re-login
- Add session/list ACP method
- Give each sampling backend its own conversion module
- Treat an unenrolled child process as a lint error
- Suppress the cancelled marker on send-now wake turns
- Stop tearing down Roslyn on every edit, and read C# diagnostics

Source-Revision: 2a28b4a86cfc4a4c133c35b7fc2a6a9964387c39
This commit is contained in:
grokkybara[bot] 2026-07-30 19:07:40 +00:00
commit dd04f397b1
367 changed files with 29489 additions and 10051 deletions

View file

@ -1008,6 +1008,7 @@ mod platform {
.stdout(Stdio::null())
.stderr(Stdio::null());
xai_grok_tools::util::detach_std_command(&mut cmd);
#[allow(clippy::disallowed_methods)] // short-lived clipboard helper, waited on below
let mut child = cmd
.spawn()
.map_err(|e| anyhow::anyhow!("failed to spawn pbcopy: {e}"))?;
@ -1682,6 +1683,7 @@ mod platform {
.stderr(Stdio::null());
xai_grok_tools::util::detach_std_command(&mut cmd);
// Availability = the tool ran and exited in time (any exit status).
#[allow(clippy::disallowed_methods)] // availability probe, waited on with a timeout
let Ok(mut child) = cmd.spawn() else {
return false;
};
@ -1802,6 +1804,7 @@ mod platform {
.stdout(Stdio::null())
.stderr(Stdio::null());
xai_grok_tools::util::detach_std_command(&mut cmd);
#[allow(clippy::disallowed_methods)] // short-lived clipboard helper, waited on below
let mut child = cmd
.spawn()
.map_err(|e| anyhow::anyhow!("failed to spawn {bin}: {e}"))?;
@ -1826,6 +1829,7 @@ mod platform {
.stdout(Stdio::piped())
.stderr(Stdio::null());
xai_grok_tools::util::detach_std_command(&mut cmd);
#[allow(clippy::disallowed_methods)] // short-lived clipboard helper, waited on below
let mut child = cmd
.spawn()
.map_err(|e| anyhow::anyhow!("failed to run {bin}: {e}"))?;
@ -2820,6 +2824,7 @@ mod tests {
// -----------------------------------------------------------------------
#[cfg(unix)]
#[allow(clippy::disallowed_methods)] // test fixture; the test kills it
fn spawn_sleep(seconds: &str) -> std::process::Child {
let mut cmd = std::process::Command::new("sleep");
cmd.arg(seconds)