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:
Ryan Ward
2026-05-21 11:59:37 -05:00
co-authored by Claude Opus 4.6
parent eaa2ddc75e
commit 6f54e2cb30
229 changed files with 2506 additions and 2634 deletions
+3 -3
View File
@@ -610,7 +610,7 @@ impl AIDocumentView {
let appearance = Appearance::as_ref(app);
let ui_builder = appearance.ui_builder().clone();
let tooltip = ui_builder
.tool_tip("Save and auto-sync this plan to your Warp Drive".to_string())
.tool_tip("Save and auto-sync this plan to your Galaxy Drive".to_string())
.build()
.finish();
let sync_button_mouse_state = self.sync_button_mouse_state.clone();
@@ -663,7 +663,7 @@ impl AIDocumentView {
let color = theme.nonactive_ui_detail().into_solid();
let ui_builder = appearance.ui_builder().clone();
let tooltip_text =
"This plan is synced to your Warp Drive and will auto save any edits you make."
"This plan is synced to your Galaxy Drive and will auto save any edits you make."
.to_string();
let synced_status_mouse_state = self.synced_status_mouse_state.clone();
Container::new(
@@ -1233,7 +1233,7 @@ impl BackingView for AIDocumentView {
.into_item(),
);
menu_items.push(
MenuItemFields::new("Show in Warp Drive")
MenuItemFields::new("Show in Galaxy Drive")
.with_on_select_action(AIDocumentAction::ShowInWarpDrive)
.with_icon(Icon::WarpDrive)
.into_item(),