Rebrand to Galaxy, major improvements to Bedrock support, still needs some TLC though

This commit is contained in:
Ryan Ward
2026-05-07 11:29:34 -05:00
parent f4e2475c60
commit a41cbd8cc7
2433 changed files with 14208 additions and 9409 deletions
+35 -35
View File
@@ -3,14 +3,14 @@ use std::collections::HashSet;
use comfy_table::Cell;
use inquire::{error::InquireError, Confirm, Select};
use serde::Serialize;
use warp_cli::{
use galaxy_cli::{
agent::OutputFormat,
environment::{EnvironmentCommand, ImageCommand},
scope::ObjectScope,
GlobalOptions,
};
use warpui::r#async::FutureExt;
use warpui::{AppContext, ModelContext, SingletonEntity};
use galaxyui::r#async::FutureExt;
use galaxyui::{AppContext, ModelContext, SingletonEntity};
use crate::ai::agent_sdk::output::{self, TableFormat};
@@ -32,11 +32,11 @@ use crate::util::time_format::format_approx_duration_from_now_utc;
use crate::workspaces::user_profiles::UserProfiles;
use crate::CloudObjectTypeAndId;
use cynic::QueryBuilder;
use warp_graphql::queries::get_oauth_connect_tx_status::OauthConnectTxStatus;
use warp_graphql::queries::list_warp_dev_images::{
use galaxy_graphql::queries::get_oauth_connect_tx_status::OauthConnectTxStatus;
use galaxy_graphql::queries::list_warp_dev_images::{
ListWarpDevImages, ListWarpDevImagesResult, ListWarpDevImagesVariables,
};
use warp_graphql::queries::user_repo_auth_status::UserRepoAuthStatusEnum;
use galaxy_graphql::queries::user_repo_auth_status::UserRepoAuthStatusEnum;
const WARP_DEV_ENVIRONMENTS_REPO: &str = "https://github.com/warpdotdev/warp-dev-environments";
@@ -174,7 +174,7 @@ impl EnvironmentCommandRunner {
);
}
output::print_list(image_infos, global_options.output_format);
ctx.terminate_app(warpui::platform::TerminationMode::ForceTerminate, None);
ctx.terminate_app(galaxyui::platform::TerminationMode::ForceTerminate, None);
}
ListWarpDevImagesResult::UserFacingError(_) | ListWarpDevImagesResult::Unknown => {
super::report_fatal_error(anyhow::anyhow!("Failed to fetch images"), ctx);
@@ -253,7 +253,7 @@ impl EnvironmentCommandRunner {
output::print_list(environment_infos, global_options.output_format);
ctx.terminate_app(warpui::platform::TerminationMode::ForceTerminate, None);
ctx.terminate_app(galaxyui::platform::TerminationMode::ForceTerminate, None);
});
}
@@ -276,7 +276,7 @@ impl EnvironmentCommandRunner {
Ok(sid) => sid,
Err(_) => {
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(anyhow::anyhow!("Environment {} not found", id))),
);
return;
@@ -287,10 +287,10 @@ impl EnvironmentCommandRunner {
if let Some(environment) = environment {
Self::print_environment_details(&environment.model().string_model);
ctx.terminate_app(warpui::platform::TerminationMode::ForceTerminate, None);
ctx.terminate_app(galaxyui::platform::TerminationMode::ForceTerminate, None);
} else {
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(anyhow::anyhow!("Environment {} not found", id))),
);
}
@@ -330,7 +330,7 @@ impl EnvironmentCommandRunner {
match err {
InquireError::OperationCanceled | InquireError::OperationInterrupted => {
eprintln!("Environment creation canceled.");
ctx.terminate_app(warpui::platform::TerminationMode::ForceTerminate, None);
ctx.terminate_app(galaxyui::platform::TerminationMode::ForceTerminate, None);
true
}
_ => false,
@@ -426,7 +426,7 @@ impl EnvironmentCommandRunner {
docker_image: Option<String>,
github_repos: Vec<GithubRepo>,
setup_commands: Vec<String>,
scope: warp_cli::scope::ObjectScope,
scope: galaxy_cli::scope::ObjectScope,
ctx: &mut ModelContext<Self>,
) {
if let Some(image) = docker_image {
@@ -464,7 +464,7 @@ impl EnvironmentCommandRunner {
docker_image: String,
github_repos: Vec<GithubRepo>,
setup_commands: Vec<String>,
scope: warp_cli::scope::ObjectScope,
scope: galaxy_cli::scope::ObjectScope,
ctx: &mut ModelContext<Self>,
) {
let initial_sync = UpdateManager::as_ref(ctx)
@@ -521,7 +521,7 @@ impl EnvironmentCommandRunner {
if attempt > MAX_AUTH_ATTEMPTS {
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(anyhow::anyhow!(
"Exceeded maximum number of authorization attempts ({}). Please try again later.",
MAX_AUTH_ATTEMPTS
@@ -582,7 +582,7 @@ impl EnvironmentCommandRunner {
if private_repo_owners.len() > 1 {
let owners_str = private_repo_owners.into_iter().collect::<Vec<_>>().join(", ");
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(anyhow::anyhow!(
"All private repositories in an environment must belong to the same owner. Found multiple owners: {}.\nIf you need support for private repos from multiple owners, please submit a GitHub issue.",
owners_str
@@ -644,7 +644,7 @@ impl EnvironmentCommandRunner {
}
Ok(OauthConnectTxStatus::Failed) => {
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(anyhow::anyhow!(
"GitHub authorization failed. Please try again."
))),
@@ -652,7 +652,7 @@ impl EnvironmentCommandRunner {
}
Ok(OauthConnectTxStatus::Expired) => {
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(anyhow::anyhow!(
"GitHub authorization expired. Please try again."
))),
@@ -662,7 +662,7 @@ impl EnvironmentCommandRunner {
| Ok(OauthConnectTxStatus::InProgress) => {
// Should not be returned by poll_oauth_until_terminal.
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(anyhow::anyhow!(
"Unexpected non-terminal OAuth status returned"
))),
@@ -670,7 +670,7 @@ impl EnvironmentCommandRunner {
}
Err(err) => {
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(anyhow::anyhow!(
"Error polling OAuth status: {err}"
))),
@@ -685,14 +685,14 @@ impl EnvironmentCommandRunner {
println!("\nAuthorize access here: {auth_url}\n");
println!("After authorizing, please re-run this command.");
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
None,
);
}
(None, Some(_)) => {
// Server returned txId without authUrl - unexpected.
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(anyhow::anyhow!(
"Server error: did not receive auth URL for OAuth flow"
))),
@@ -701,7 +701,7 @@ impl EnvironmentCommandRunner {
(None, None) => {
// No auth URL or txId provided, but we have auth issues.
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(anyhow::anyhow!(
"Cannot {} environment: authorization required but no auth flow provided by server",
operation_name
@@ -712,7 +712,7 @@ impl EnvironmentCommandRunner {
}
Err(e) => {
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(e.context("Failed to check GitHub auth status"))),
);
}
@@ -764,7 +764,7 @@ impl EnvironmentCommandRunner {
{
let server_id = result.server_id.unwrap();
println!("Environment created successfully with ID: {server_id}");
ctx.terminate_app(warpui::platform::TerminationMode::ForceTerminate, None);
ctx.terminate_app(galaxyui::platform::TerminationMode::ForceTerminate, None);
}
}
});
@@ -807,13 +807,13 @@ impl EnvironmentCommandRunner {
Ok(false) | Err(InquireError::OperationCanceled | InquireError::OperationInterrupted) => {
println!("Environment {action} canceled.");
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
None,
);
}
Err(err) => {
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(anyhow::anyhow!("Error prompting for confirmation: {err}"))),
);
}
@@ -824,7 +824,7 @@ impl EnvironmentCommandRunner {
}
Err(_) => {
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(anyhow::anyhow!(
"Aborting environment {action} because integration usage could not be determined. Re-run with --force to override."
))),
@@ -868,7 +868,7 @@ impl EnvironmentCommandRunner {
Err(_) => {
let error = anyhow::anyhow!("Environment {} not found", id);
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(error)),
);
return;
@@ -879,7 +879,7 @@ impl EnvironmentCommandRunner {
let Some(environment) = environment else {
let error = anyhow::anyhow!("Environment {} not found", id);
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(error)),
);
return;
@@ -1011,7 +1011,7 @@ impl EnvironmentCommandRunner {
println!("Environment updated successfully!\n");
Self::print_environment_details(&updated_env);
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
None,
);
}
@@ -1047,7 +1047,7 @@ impl EnvironmentCommandRunner {
Err(_) => {
let error = anyhow::anyhow!("Environment {} not found", id);
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(error)),
);
return;
@@ -1058,7 +1058,7 @@ impl EnvironmentCommandRunner {
let Some(environment) = environment else {
let error = anyhow::anyhow!("Environment {} not found", id);
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
Some(Err(error)),
);
return;
@@ -1094,7 +1094,7 @@ impl EnvironmentCommandRunner {
OperationSuccessType::Success => {
println!("Environment deleted successfully");
ctx.terminate_app(
warpui::platform::TerminationMode::ForceTerminate,
galaxyui::platform::TerminationMode::ForceTerminate,
None,
);
}
@@ -1111,7 +1111,7 @@ impl EnvironmentCommandRunner {
}
}
impl warpui::Entity for EnvironmentCommandRunner {
impl galaxyui::Entity for EnvironmentCommandRunner {
type Event = ();
}
impl SingletonEntity for EnvironmentCommandRunner {}