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:
parent
a5727c5960
commit
69f0ba880a
286 changed files with 22939 additions and 9624 deletions
|
|
@ -7,7 +7,8 @@ use crate::diagnostics::probes::{
|
|||
use crate::diagnostics::{
|
||||
ClipboardFacts, ColorFacts, DataControlFact, DiagnosticFacts, DiagnosticFinding, DiagnosticId,
|
||||
DiagnosticReport, FindingDisposition, KeyboardFact, ManualRemediation, NewlineFact, ProbeNote,
|
||||
ProbeStatus, RuntimeFact, TerminalWarning, WarningCategory,
|
||||
ProbeStatus, RuntimeFact, TerminalWarning, TmuxFacts, TmuxOptionFact, TmuxSupportFact,
|
||||
WarningCategory,
|
||||
};
|
||||
use crate::terminal::TerminalName;
|
||||
|
||||
|
|
@ -227,6 +228,14 @@ fn facts(
|
|||
multiplexer: ctx.multiplexer,
|
||||
byobu: ctx.byobu,
|
||||
ssh: ctx.is_ssh,
|
||||
tmux: TmuxFacts {
|
||||
extended_keys: tmux_option_fact(&snapshot.common.tmux.extended_keys),
|
||||
set_clipboard: tmux_option_fact(&snapshot.common.tmux.set_clipboard),
|
||||
allow_passthrough_support: tmux_support_fact(
|
||||
&snapshot.common.tmux.allow_passthrough_support,
|
||||
),
|
||||
allow_passthrough: tmux_option_fact(&snapshot.common.tmux.allow_passthrough),
|
||||
},
|
||||
color: ColorFacts {
|
||||
level: match snapshot.color_level {
|
||||
RuntimeEvidence::Available(level) => RuntimeFact::Available(level),
|
||||
|
|
@ -508,8 +517,7 @@ fn finding(warning: TerminalWarning, disposition: FindingDisposition) -> Option<
|
|||
fix,
|
||||
config_path: warning.config_path,
|
||||
}),
|
||||
automatic_remediation: (id == crate::diagnostics::SSH_WRAP_ID)
|
||||
.then(crate::diagnostics::ssh_wrap_automatic_remediation),
|
||||
automatic_remediation: crate::diagnostics::automatic_remediation_for(id),
|
||||
note: warning.note,
|
||||
})
|
||||
}
|
||||
|
|
@ -596,6 +604,24 @@ fn probe_notes(snapshot: &DiagnosticSnapshot<'_>) -> Vec<ProbeNote> {
|
|||
notes
|
||||
}
|
||||
|
||||
fn tmux_option_fact(result: &TmuxProbeResult<String>) -> TmuxOptionFact {
|
||||
match result {
|
||||
TmuxProbeResult::Available(value) => TmuxOptionFact::Available(value.to_owned()),
|
||||
TmuxProbeResult::Unsupported => TmuxOptionFact::Unsupported,
|
||||
TmuxProbeResult::Unavailable => TmuxOptionFact::Unavailable,
|
||||
TmuxProbeResult::Error(_) => TmuxOptionFact::Error,
|
||||
}
|
||||
}
|
||||
|
||||
fn tmux_support_fact(result: &TmuxProbeResult<()>) -> TmuxSupportFact {
|
||||
match result {
|
||||
TmuxProbeResult::Available(()) => TmuxSupportFact::Supported,
|
||||
TmuxProbeResult::Unsupported => TmuxSupportFact::Unsupported,
|
||||
TmuxProbeResult::Unavailable => TmuxSupportFact::Unavailable,
|
||||
TmuxProbeResult::Error(_) => TmuxSupportFact::Error,
|
||||
}
|
||||
}
|
||||
|
||||
fn probe_note<T>(notes: &mut Vec<ProbeNote>, probe: &'static str, result: &TmuxProbeResult<T>) {
|
||||
let (status, message) = match result {
|
||||
TmuxProbeResult::Available(_) => return,
|
||||
|
|
|
|||
Loading…
Reference in a new issue