Synced from monorepo

Synced from monorepo

Changes:
- Refresh tool search when the managed MCP catalog is re-fetched
- Prevent duplicate leader process spawn and startup hang from stale leaders
- Document marketplaces, plugins, and organization controls
- Stamp session ID on image generation direct-to-API requests
- Fix auto mode blocked documentation
- Auto mode considers recent user intent
- Expose deploy archive, taken-down, limit, and in-progress reasons on the chat API
- Fail-closed auth refresh contract for shell clients
- Emit a chat-supplied per-session turn index in turn hooks
- Show bash mode chrome in minimal mode
- Add metrics for true-noop and stationarity stops
- Include voice interim text on prompt submit
- Silently end turn on true-noop thrash
- Quiet copy toast when clipboard delivery is confirmed
- Fix session fork truncating at the wrong prompt in rewound sessions
- Make the idle "still running" watcher cue clickable to open the tasks pane
- Default web search model to grok-4.5
- Let plugin subagents inherit parent MCP servers
- Gate no-op end-turn reminder on system reminders
- Add gateway bridge lifecycle telemetry
- Allow editing finalized text while voice is open
- Relocate token carrier to turn-commit events and plumb per-turn origin context
- Raise workflow scratch quotas and make failed runs resumable
- Workflows overlay: auto-progress phases, live agent status, and drop budget meter

Source-Revision: 9b8d35b46d959c042ea9aa31cbbebbd1f0c5c527
This commit is contained in:
grokkybara[bot] 2026-07-24 16:59:42 +00:00
commit 6e38642082
103 changed files with 4964 additions and 1261 deletions

View file

@ -609,7 +609,6 @@ pub enum CancellationCategory {
PermissionRejected,
PermissionCancelled,
MidTurnAbort,
ActionStationarity,
}
// Note: `From<&permission::Decision> for PermissionDecision` crosses the
@ -628,7 +627,6 @@ mod tests {
CancellationCategory::PermissionRejected,
CancellationCategory::PermissionCancelled,
CancellationCategory::MidTurnAbort,
CancellationCategory::ActionStationarity,
] {
let value = serde_json::to_value(variant).unwrap();
let decoded: CancellationCategory = serde_json::from_value(value).unwrap();
@ -650,10 +648,6 @@ mod tests {
"\"permission_cancelled\"",
),
(CancellationCategory::MidTurnAbort, "\"mid_turn_abort\""),
(
CancellationCategory::ActionStationarity,
"\"action_stationarity\"",
),
] {
let json = serde_json::to_string(&variant).unwrap();
assert_eq!(json, expected, "{variant:?} must serialize to {expected}");