Rebrand to Galaxy, major improvements to Bedrock support, still needs some TLC though
This commit is contained in:
@@ -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 {}
|
||||
|
||||
Reference in New Issue
Block a user