v1.4.0: Auto-compact streaming, Bedrock summarization support, subagent orchestration, and Galaxy rebrand continuation
Major features: - Auto-compact: triggers conversation summarization when context window >= 85%, compacts Bedrock message history to a summary pair, and tracks live context tokens - Bedrock summarization: plumbs `is_summarization` flag through translator/client/response pipeline, handles SummarizeConversation input type, and marks `summarized` in metadata - Session restore: rebuilds bedrock_message_history from persisted task messages via newly-public `convert_proto_message`, preventing empty history on reconnect - Subagent orchestration: adds SubagentQuestion/Answer/CompletionSummary event types, parent-child question routing with depth limits, retry counting, and drain methods - Summarization UI: inline SummarizationView in AI blocks with progress/finished states Refactors: - Rename WarpTheme → GalaxyTheme across ~100 files (rebrand continuation) - Rename warp_home_config_dir → galaxy_home_config_dir and related path functions - Predefined rules: replace "System Defined Rule #N" with descriptive names (e.g. "Correctness Over Speed", "Never Guess") and add lookup helpers - Usage view: replace cumulative input/output token display with live context tokens, cache hit rate calculation, and separate cache read/write stats - Telemetry: remove verbose doc comments, simplify trait definitions - Facts view: simplify delete permission check (always allow local deletion) - Remove warp_managed_paths_watcher.rs (dead code) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
eaa2ddc75e
commit
6f54e2cb30
@@ -70,7 +70,7 @@ pub struct AccessibilityContent {
|
||||
/// for example, when the “Command Input” is focused, it announces with a `TextareaRole`.
|
||||
/// This is another helper field that lets the user understand what they can potentially do,
|
||||
/// or what object is in focus.
|
||||
pub role: WarpA11yRole,
|
||||
pub role: GalaxyA11yRole,
|
||||
}
|
||||
|
||||
/// Verbosity level of a11y announcements. By default, all announcements include both the value
|
||||
@@ -148,14 +148,14 @@ fn string_announcement(s: String) -> String {
|
||||
|
||||
impl AccessibilityContent {
|
||||
// TODO add frame support
|
||||
pub fn new_without_help<T>(value: T, role: WarpA11yRole) -> Self
|
||||
pub fn new_without_help<T>(value: T, role: GalaxyA11yRole) -> Self
|
||||
where
|
||||
T: Into<String>,
|
||||
{
|
||||
Self::new_internal::<T, String>(value, None, role)
|
||||
}
|
||||
|
||||
pub fn new<V, H>(value: V, help: H, role: WarpA11yRole) -> Self
|
||||
pub fn new<V, H>(value: V, help: H, role: GalaxyA11yRole) -> Self
|
||||
where
|
||||
V: Into<String>,
|
||||
H: Into<String>,
|
||||
@@ -163,7 +163,7 @@ impl AccessibilityContent {
|
||||
Self::new_internal(value, Some(help), role)
|
||||
}
|
||||
|
||||
fn new_internal<V, H>(value: V, help: Option<H>, role: WarpA11yRole) -> Self
|
||||
fn new_internal<V, H>(value: V, help: Option<H>, role: GalaxyA11yRole) -> Self
|
||||
where
|
||||
V: Into<String>,
|
||||
H: Into<String>,
|
||||
@@ -203,7 +203,7 @@ impl AccessibilityContent {
|
||||
}
|
||||
|
||||
#[derive(Default, Debug, Clone, Copy)]
|
||||
pub enum WarpA11yRole {
|
||||
pub enum GalaxyA11yRole {
|
||||
ButtonRole,
|
||||
CheckboxRole,
|
||||
HelpRole,
|
||||
@@ -222,9 +222,9 @@ pub enum WarpA11yRole {
|
||||
UserAction,
|
||||
}
|
||||
|
||||
impl std::fmt::Display for WarpA11yRole {
|
||||
impl std::fmt::Display for GalaxyA11yRole {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
|
||||
use WarpA11yRole::*;
|
||||
use GalaxyA11yRole::*;
|
||||
let word = match self {
|
||||
ButtonRole => "Button",
|
||||
CheckboxRole => "Checkbox",
|
||||
@@ -257,7 +257,7 @@ pub enum ActionAccessibilityContent {
|
||||
impl ActionAccessibilityContent {
|
||||
pub fn from_debug() -> Self {
|
||||
Self::CustomFn(|action| {
|
||||
AccessibilityContent::new_without_help(format!("{action:?}."), WarpA11yRole::UserAction)
|
||||
AccessibilityContent::new_without_help(format!("{action:?}."), GalaxyA11yRole::UserAction)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,8 +112,8 @@ pub enum NotificationSendError {
|
||||
impl NotificationSendError {
|
||||
pub fn notifications_error_banner_title(&self) -> &str {
|
||||
match self {
|
||||
NotificationSendError::PermissionsDenied | NotificationSendError::PermissionsNotYetGranted => "Warp tried to send you a notification for the last block but does not have permission.",
|
||||
NotificationSendError::Other { .. } => "Warp tried to send you a notification for the last block, but something went wrong.",
|
||||
NotificationSendError::PermissionsDenied | NotificationSendError::PermissionsNotYetGranted => "Galaxy tried to send you a notification for the last block but does not have permission.",
|
||||
NotificationSendError::Other { .. } => "Galaxy tried to send you a notification for the last block, but something went wrong.",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user