mirror of
https://github.com/storytold/placeholder-artcraft.git
synced 2026-10-09 00:09:55 +00:00
0daf83dba9
Need to remove secrets before entire repo can be made public.
258 lines
9.5 KiB
TOML
258 lines
9.5 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
|
|
# This block defines the workspace members.
|
|
# When we add a library or binary crate, it needs an entry here.
|
|
members = [
|
|
# API clients for external services
|
|
# These might be custom implementations or wrappers over other client libraries.
|
|
"crates/api_clients/artcraft_api_defs", # TODO: api_clients/{artcraft}/{api_defs,client}
|
|
"crates/api_clients/cloud_storage",
|
|
"crates/api_clients/fal_client",
|
|
"crates/api_clients/google_drive_common",
|
|
"crates/api_clients/google_sign_in",
|
|
"crates/api_clients/midjourney_client",
|
|
"crates/api_clients/openai_sora_client",
|
|
"crates/api_clients/openart_client",
|
|
"crates/api_clients/runwayml_client",
|
|
"crates/api_clients/storyteller_client",
|
|
"crates/api_clients/thumbnail_generator",
|
|
|
|
# CLI tools for operations, etc.
|
|
"crates/cli/devenv/dev-database-seed",
|
|
"crates/cli/devenv/dev-upload-media-file",
|
|
"crates/cli/devenv/scrape-test",
|
|
"crates/cli/production/db-backfill",
|
|
"crates/cli/production/db-backup",
|
|
"crates/cli/production/db-cleanup",
|
|
"crates/cli/production/elasticsearch-cli",
|
|
"crates/cli/production/kubectl-pod-cleanup",
|
|
"crates/cli/production/lru-delete-models",
|
|
"crates/cli/production/migration-tool",
|
|
|
|
# Desktop apps
|
|
"crates/desktop/artcraft",
|
|
|
|
# Shared libraries
|
|
"crates/lib/actix_cors_configs",
|
|
"crates/lib/actix_helpers",
|
|
"crates/lib/bootstrap",
|
|
"crates/lib/bucket_paths",
|
|
"crates/lib/build_metadata",
|
|
"crates/lib/caching/memory_caching",
|
|
"crates/lib/caching/memory_store",
|
|
"crates/lib/caching/redis_caching",
|
|
"crates/lib/cloudflare_errors",
|
|
"crates/lib/concurrency",
|
|
"crates/lib/cookie_store",
|
|
"crates/lib/cookies",
|
|
"crates/lib/data/collections",
|
|
"crates/lib/data/crockford",
|
|
"crates/lib/data/datetimes",
|
|
"crates/lib/data/primitives",
|
|
"crates/lib/data/web_base64",
|
|
"crates/lib/deprecated/config", # TODO(bt, 2023-02-13): Deprecate or repurpose
|
|
"crates/lib/deprecated/http_server_common", # TODO(bt, 2023-03-20): Move useful pieces to actix_helpers
|
|
"crates/lib/dimensions",
|
|
"crates/lib/easyenv", # NB: Vendored version of https://github.com/echelon/easyenv.rs that we'll improve.
|
|
"crates/lib/email_sender",
|
|
"crates/lib/errors",
|
|
"crates/lib/files/archives",
|
|
"crates/lib/files/file_to_base64_url",
|
|
"crates/lib/files/filesys",
|
|
"crates/lib/files/hashing",
|
|
"crates/lib/files/images",
|
|
"crates/lib/files/media",
|
|
"crates/lib/files/mimetypes",
|
|
"crates/lib/files/videos",
|
|
"crates/lib/idempotency",
|
|
"crates/lib/image_algorithms",
|
|
"crates/lib/jobs_common",
|
|
"crates/lib/jwt_light",
|
|
"crates/lib/logging",
|
|
"crates/lib/machine_learning/ml_weights_registry",
|
|
"crates/lib/machine_learning/prompt_engineering",
|
|
"crates/lib/markdown",
|
|
"crates/lib/migration",
|
|
"crates/lib/password",
|
|
"crates/lib/server_environment",
|
|
"crates/lib/shared_service_components",
|
|
"crates/lib/sqlx_mysql_helpers",
|
|
"crates/lib/storyteller_root",
|
|
"crates/lib/subprocess_common",
|
|
"crates/lib/test_data",
|
|
"crates/lib/testing",
|
|
"crates/lib/tts_common",
|
|
"crates/lib/url_config",
|
|
"crates/lib/user_input_common",
|
|
"crates/lib/web_scrapers",
|
|
#"crates/lib/api_clients/fakeyou_client",
|
|
#"crates/lib/machine_learning/ml_models",
|
|
|
|
# Schema (database): queries, database layouts, Redis keys, etc.
|
|
"crates/schema/database/elasticsearch_schema",
|
|
"crates/schema/database/mysql_queries",
|
|
"crates/schema/database/redis_common",
|
|
"crates/schema/database/redis_schema",
|
|
"crates/schema/database/sqlite_tasks",
|
|
#"crates/schema/database/sqlite_queries",
|
|
|
|
# Schema (public): common strongly-typed tokens, ids, payloads, etc.
|
|
"crates/schema/public/composite_identifiers",
|
|
"crates/schema/public/enums",
|
|
"crates/schema/public/enums_public",
|
|
"crates/schema/public/reusable_types", # TODO(bt, 2022-12-21): Deprecate
|
|
"crates/schema/public/tokens",
|
|
|
|
# Services: API servers, jobs, workers, etc.
|
|
"crates/service/job/analytics_job",
|
|
"crates/service/job/download_job",
|
|
"crates/service/job/email_sender_job",
|
|
"crates/service/job/es-update-job",
|
|
"crates/service/job/inference_job",
|
|
"crates/service/job/tts_download_job",
|
|
"crates/service/job/tts_inference_job",
|
|
"crates/service/job/w2l_download_job",
|
|
"crates/service/job/w2l_inference_job",
|
|
"crates/service/web/dummy_service",
|
|
"crates/service/web/storyteller_web",
|
|
|
|
# Service Plugins: complete subsystems that can be plugged into services (users, billing, etc.)
|
|
"crates/service/plugins/billing",
|
|
"crates/service/plugins/billing_artcraft",
|
|
"crates/service/plugins/component_traits",
|
|
"crates/service/plugins/inference_workloads",
|
|
"crates/service/plugins/user_traits_component",
|
|
|
|
# Vendored code
|
|
"crates/vendor/fal-rs",
|
|
"crates/vendor/fal-rs/fal-derive",
|
|
"crates/vendor/fal-rs/generate",
|
|
"crates/vendor/limitation",
|
|
"crates/vendor/tauri-plugin-http",
|
|
# NB(bt,2025-05-25): Too many failures on Mac. Disable for now.
|
|
#"crates/vendor/candle/candle-core",
|
|
#"crates/vendor/candle/candle-datasets",
|
|
#"crates/vendor/candle/candle-examples",
|
|
#"crates/vendor/candle/candle-flash-attn",
|
|
#"crates/vendor/candle/candle-kernels",
|
|
#"crates/vendor/candle/candle-metal-kernels",
|
|
#"crates/vendor/candle/candle-nn",
|
|
#"crates/vendor/candle/candle-onnx",
|
|
#"crates/vendor/candle/candle-pyo3",
|
|
#"crates/vendor/candle/candle-transformers",
|
|
#"crates/vendor/candle/tensor-tools",
|
|
# NB(bt,2023-12-12): Newrelic keeps breaking with upgrades. Kill for now.
|
|
#"crates/vendor/newrelic-telemetry-sdk-rust",
|
|
|
|
# cargo-hakari workspace hack (compilation speedup hack)
|
|
# see usage: https://crates.io/crates/cargo-hakari
|
|
"crates/workspace-build-acceleration",
|
|
]
|
|
|
|
[workspace.package]
|
|
# Common inheritable settings for monorepo packages
|
|
publish = false
|
|
|
|
[workspace.dependencies]
|
|
# Hakari workspace hack (faster compile times)
|
|
#
|
|
# If an unrelated leaf package starts causing general build problems,
|
|
# for packages including hakari, look up what depends on the bad package:
|
|
#
|
|
# `cargo tree --target all -p {BAD_PACKAGE_NAME} -i`
|
|
#
|
|
# Packages to remove from hakari to ensure we can build in Netlify,
|
|
# Github Actions (without package installs), etc.:
|
|
#
|
|
# - cudarc
|
|
# - esaxx-rs
|
|
# - ort
|
|
# - tauri
|
|
# - tauri-runtime-wry
|
|
# - tauri-utils
|
|
#
|
|
# Broken on Windows:
|
|
# - core-foundation
|
|
# - core-foundation-sys
|
|
#
|
|
workspace-build-acceleration = { path = "crates/workspace-build-acceleration" }
|
|
|
|
# Internal libs
|
|
# Setting paths here ensures we don't need to do so in every crate's Cargo.toml
|
|
# It makes refactoring much easier.
|
|
artcraft_api_defs = { path = "crates/api_clients/artcraft_api_defs" }
|
|
build_metadata = { path = "crates/lib/build_metadata" }
|
|
cloud_storage = { path = "crates/api_clients/cloud_storage" }
|
|
cloudflare_errors = { path = "crates/lib/cloudflare_errors" }
|
|
component_traits = { path = "crates/service/plugins/component_traits" }
|
|
cookie_store = { path = "crates/lib/cookie_store" }
|
|
crockford = { path = "crates/lib/data/crockford" }
|
|
enums = { path = "crates/schema/public/enums" }
|
|
enums_public = { path = "crates/schema/public/enums_public" }
|
|
errors = { path = "crates/lib/errors" }
|
|
fal_client = { path = "crates/api_clients/fal_client" }
|
|
file_to_base64_url = { path = "crates/lib/files/file_to_base64_url" }
|
|
filesys = { path = "crates/lib/files/filesys" }
|
|
idempotency = { path = "crates/lib/idempotency" }
|
|
images = { path = "crates/lib/files/images" }
|
|
jwt_light = { path = "crates/lib/jwt_light" }
|
|
memory_caching = { path = "crates/lib/caching/memory_caching" }
|
|
memory_store = { path = "crates/lib/caching/memory_store" }
|
|
midjourney_client = { path = "crates/api_clients/midjourney_client" }
|
|
mimetypes = { path = "crates/lib/files/mimetypes" }
|
|
openai_sora_client = { path = "crates/api_clients/openai_sora_client" }
|
|
primitives = { path = "crates/lib/data/primitives" }
|
|
shared_service_components = { path = "crates/lib/shared_service_components" }
|
|
sqlite_tasks = { path = "crates/schema/database/sqlite_tasks" }
|
|
storyteller_client = { path = "crates/api_clients/storyteller_client" }
|
|
subprocess_common = { path = "crates/lib/subprocess_common" }
|
|
test_data = { path = "crates/lib/test_data" }
|
|
testing = { path = "crates/lib/testing" }
|
|
tokens = { path = "crates/schema/public/tokens" }
|
|
web_base64 = { path = "crates/lib/data/web_base64" }
|
|
|
|
# External libs
|
|
# Centrally pinned versions so that we can uniformly upgrade/downgrade versions across the workspace
|
|
# If a crate needs to use an older/newer version, the dependency should be managed in that crate's own Cargo.toml
|
|
actix = "0.13.5"
|
|
actix-cors = "0.6.4" # TODO(bt): Carefully upgrade this. CORS broke last time.
|
|
actix-http = "3.7.0"
|
|
actix-multipart = "0.6.2"
|
|
actix-rt = "2.10.0"
|
|
actix-service = "2.0.3"
|
|
actix-utils = "3.0.1"
|
|
actix-web = "4.7.0" # TODO(bt): We're behind and need to bump versions.
|
|
actix-web-actors = "4.3.1+deprecated"
|
|
actix-web-lab = "0.20.2"
|
|
anyhow = "1.0.98"
|
|
base64 = "0.22.1"
|
|
bytes = "1.10.1"
|
|
chrono = { version = "0.4.41", features = ["serde"] }
|
|
cookie = "0.18.1"
|
|
futures = { version = "0.3.31" }
|
|
hex-literal = "1.0.0"
|
|
indexmap = "2.9.0"
|
|
log = "0.4.27"
|
|
once_cell = "1.21.3"
|
|
rand = "0.9.1"
|
|
regex = "1.11.1"
|
|
reqwest = { version = "0.12.22", features = ["json", "cookies"] }
|
|
reqwest-websocket = { version = "0.5.0" }
|
|
serde = { version = "1.0.219", features = ["derive"] }
|
|
serde_derive = "1.0.219"
|
|
serde_json = "1.0.140"
|
|
serde_yaml = "0.9.34+deprecated"
|
|
sha3 = "0.10.8"
|
|
tauri = { version = "2.8.3", features = ["unstable", "devtools"] } # NB: "devtools" prevents App Store distribution; "ubstable" is needed for window access
|
|
tauri-plugin-dialog = "2.3.3"
|
|
tauri-plugin-fs = "2.4.2"
|
|
tauri-plugin-log = "2.6.0"
|
|
tauri-plugin-upload = "2.3.1"
|
|
tempdir = "0.3.7"
|
|
tempfile = "3.20.0"
|
|
thiserror = "2.0.12"
|
|
tokio = { version = "1.45.1", features = ["macros"] }
|
|
toml = "0.8.22"
|
|
url = { version = "2.5.4", features = ["serde"] }
|