remove fal vendored crate

This commit is contained in:
Brandon Thomas committed 2026-03-19 19:20:55 -04:00
1 parent facf8a3df2
commit 4b6c681bfb
8 files changed
+41 -20

No files matched your search

Generated
-1
View File
@@ -4038,7 +4038,6 @@ version = "0.0.1"
dependencies = [
"anyhow",
"errors",
"fal",
"file_to_base64_url",
"futures 0.3.32",
"log",
+6 -7
View File
@@ -12,7 +12,7 @@ name = "fal_client"
path = "src/lib.rs"
[dependencies]
# Workspace hack (faster compile times)
# cargo-hakari workspace hack (faster compile times)
workspace-build-acceleration.workspace = true
# Internal
@@ -31,11 +31,10 @@ thiserror.workspace = true
tokio.workspace = true
url.workspace = true
# For now, we'll vendor in fal.
# We need to implement webhooks and the upstream doesn't support them yet.
#fal = { version = "0.3.6", features = ["endpoints"] }
fal = { path = "../../vendor/fal-rs", features = ["endpoints"] }
[dev-dependencies]
test_utils = { path = "../../testing/test_utils" }
# Internal Dev
test_utils.workspace = true
test_data.workspace = true
# External Dev
# (None yet)
+1 -6
View File
@@ -1,9 +1,4 @@
//! A wrapper for the "fal" crate that bakes in a few extra recipes and utilities.
// NB: The vendored `fal` crate is still a dependency for now.
// Files under `requests/queue/` and `utils/queue_status_checker.rs` still use
// `fal::endpoints::*` and `fal::prelude::*` directly. Those will be migrated later.
extern crate fal;
//! A fal wrapper
pub mod creds;
pub mod error;
@@ -1,8 +1,9 @@
use crate::creds::fal_api_key::FalApiKey;
use crate::model::fal_endpoint::FalEndpoint;
use crate::model::fal_request_id::FalRequestId;
use crate::requests::api::queue::Queue;
use crate::requests::api::queue_response::QueueResponse;
use errors::AnyhowResult;
use fal::queue::{Queue, QueueResponse};
use reqwest::Client;
use serde::de::DeserializeOwned;
@@ -1,6 +1,5 @@
use fal::queue::Queue;
use crate::requests::api::queue::Queue;
use serde::de::DeserializeOwned;
// TODO(bt,2025-05-26): A macro to define these + tests.
const FLUX_PRO_ULTRA_TEXT_TO_IMAGE: &str = "fal-ai/flux-pro/v1.1-ultra";
@@ -150,7 +150,7 @@ mod tests {
use crate::requests::webhook::image::edit::enqueue_nano_banana_2_edit_image_webhook::{enqueue_nano_banana_2_edit_image_webhook, EnqueueNanoBanana2EditImageArgs, EnqueueNanoBanana2EditImageAspectRatio, EnqueueNanoBanana2EditImageNumImages, EnqueueNanoBanana2EditImageResolution};
use errors::AnyhowResult;
use std::fs::read_to_string;
use test_data::web::image_urls::{ERNEST_SCARED_STUPID_IMAGE_URL, GHOST_IMAGE_URL, TREX_SKELETON_IMAGE_URL};
use test_data::web::image_urls::{ERNEST_SCARED_STUPID_IMAGE_URL, GHOST_IMAGE_URL, TREX_SKELETON_IMAGE_URL, WHITE_HOUSE_SUNSET_IMAGE_URL};
#[tokio::test]
#[ignore]
@@ -178,4 +178,31 @@ mod tests {
Ok(())
}
#[tokio::test]
#[ignore]
async fn test_2() -> AnyhowResult<()> {
// XXX: Don't commit secrets!
let secret = read_to_string("/Users/bt/Artcraft/credentials/fal_api_key.txt")?;
let api_key = FalApiKey::from_str(&secret);
let args = EnqueueNanoBanana2EditImageArgs {
image_urls: vec![
WHITE_HOUSE_SUNSET_IMAGE_URL.to_string(),
TREX_SKELETON_IMAGE_URL.to_string(),
ERNEST_SCARED_STUPID_IMAGE_URL.to_string(),
],
prompt: "Put the scared man and the t-rex in front of the white house scene. Make the man afraid of the t-rex.",
num_images: EnqueueNanoBanana2EditImageNumImages::Two,
aspect_ratio: Some(EnqueueNanoBanana2EditImageAspectRatio::SixteenByNine),
resolution: Some(EnqueueNanoBanana2EditImageResolution::TwoK),
api_key: &api_key,
webhook_url: "https://example.com/webhook",
};
let result = enqueue_nano_banana_2_edit_image_webhook(args).await?;
Ok(())
}
}
@@ -1,5 +1,6 @@
use crate::requests::api::queue::Queue;
use crate::requests::api::queue_response::QueueResponse;
use crate::utils::clone_queue_response::clone_queue_response;
use fal::queue::{Queue, QueueResponse};
use serde::de::DeserializeOwned;
pub fn clone_queue_payload<R: DeserializeOwned>(queue: &Queue<R>) -> QueueResponse {
@@ -1,4 +1,4 @@
use fal::queue::QueueResponse;
use crate::requests::api::queue_response::QueueResponse;
pub fn clone_queue_response(response: &QueueResponse) -> QueueResponse {
QueueResponse {