open-standards/eoc/eoc-rs/crates/eoc-multimodal/Cargo.toml
Transaction Science ab59bb39ba Repo-wide toolchain refresh + jouleclaw policy/sandbox updates
Pin to the repo rust-toolchain and refresh workspace/crate manifests across
openpay, eoc, arl, smart-byte, and joule-ui, and update the jouleclaw
omni/policy/sandbox crates accordingly. No wire-format or conformance-vector
changes.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-07 17:04:45 -04:00

48 lines
1.8 KiB
TOML

[package]
name = "eoc-multimodal"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "EOC multi-modal extensions — vision (CLIP/SigLIP/ColPali, GPT-4o/Claude/Gemini vision), audio (Whisper/MMS), TTS (OpenAI/Bark/MMS-TTS), video frame sampling, and a modality router."
[dependencies]
eoc-core.workspace = true
eoc-neural.workspace = true
eoc-embeddings = { path = "../eoc-embeddings" }
eoc-vendor-api = { path = "../eoc-vendor-api" }
async-trait.workspace = true
serde.workspace = true
serde_json = "1"
thiserror.workspace = true
tokio = { version = "1", default-features = false, features = ["macros", "sync", "rt", "time"] }
reqwest = { version = "0.13", default-features = false, features = ["rustls", "json", "stream", "multipart"] }
base64 = "0.22"
image = { version = "0.25", default-features = false, features = ["png", "jpeg"] }
bytes = "1"
mime = "0.3"
mime_guess = "2"
tracing = "0.1"
# Optional — local ONNX inference (CLIP / SigLIP / Whisper / ColPali / MMS / Bark).
# Heavy native dep; off by default. WASM-incompatible.
ort = { version = "2.0.0-rc.10", optional = true, default-features = false, features = ["std"] }
tokenizers = { version = "0.23", optional = true, default-features = false, features = ["onig"] }
# Optional — ffmpeg integration for video frame sampling. Pure-Rust
# keyframe extraction is also provided when this feature is off.
ffmpeg-next = { version = "8.1", optional = true, default-features = false }
[dev-dependencies]
tokio = { version = "1", default-features = false, features = ["macros", "rt-multi-thread", "test-util"] }
wiremock = "0.6"
insta = { version = "1", features = ["json"] }
[features]
default = []
local = ["dep:ort", "dep:tokenizers"]
ffmpeg = ["dep:ffmpeg-next"]