mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-05 01:38:44 +00:00
remove fal vendored crate
This commit is contained in:
1 parent
facf8a3df2
commit
4b6c681bfb
8 files changed
+41
-20
No files matched your search
Generated
-1
@@ -4038,7 +4038,6 @@ version = "0.0.1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"errors",
|
||||
"fal",
|
||||
"file_to_base64_url",
|
||||
"futures 0.3.32",
|
||||
"log",
|
||||
|
||||
@@ -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,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";
|
||||
|
||||
+28
-1
@@ -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 {
|
||||
|
||||
Reference in new issue
Block a user