Synced from monorepo

Synced from monorepo

Changes:
- Cache growing transcripts on the messages backend
- Tell the model when a wait was clamped instead of re-inviting it
- Stop the stationarity nudge from claiming results are identical
- Deliver the stationarity nudge after the tool result
- Run auth provider commands through the platform shell (fixes Windows)
- Keep monitor tool stdout short and prescriptive
- Use UUIDs for analytics event insert IDs
- Stop crashing at startup when the host runs out of threads
- Delete the current session from within the session
- Add project forking-settings toggle (backend and deploy-time control)
- Reap a session’s bash and background commands when it closes
- Reap a session’s hook child processes when it closes
- Track coding-data consent decisions
- Fail open the access gate to stop false CLI paywalls
- Ship Agent Dashboard user guide
- Enable doom-loop recovery by default
- Kill agent children and the idle inhibitor when the parent process dies
- Fix multi-process credential wipe and orphaned session log writers

Source-Revision: 6372e41d828b8a6ee82c29e01a69e27ec895cca9
This commit is contained in:
grokkybara[bot] 2026-07-29 17:17:54 +00:00
commit 500129c714
89 changed files with 3841 additions and 771 deletions

View file

@ -205,11 +205,7 @@ pub fn stream_messages<'a>(
};
}
}
ContentBlock::ToolUse {
id,
name,
input: _,
} => {
ContentBlock::ToolUse { id, name, .. } => {
let tool_index = next_tool_index;
next_tool_index += 1;
block_to_tool_index.insert(index, tool_index);

View file

@ -216,6 +216,8 @@ async fn tool_use_block_assembles_into_tool_call() {
id: "call_xyz".into(),
name: "do_thing".into(),
input: serde_json::json!({}),
// Set: a parser matching only the absent case must fail here.
cache_control: Some(xai_grok_sampling_types::messages::CacheControl::ephemeral()),
},
};
let arg_delta_1 = MessageStreamEvent::ContentBlockDelta {
@ -416,6 +418,7 @@ async fn refusal_after_tool_use_blocks_keeps_tool_calls_stop_reason() {
id: "call_refused".into(),
name: "do_thing".into(),
input: serde_json::json!({}),
cache_control: None,
},
};
let arg_delta = MessageStreamEvent::ContentBlockDelta {