Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
60 lines (53 loc) · 2.3 KB
/
Copy pathCargo.toml
File metadata and controls
60 lines (53 loc) · 2.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
[package]
name = "splitfire-agent"
version = "1.2.2"
edition = "2024"
license = "Apache-2.0"
description = "Music-domain ACP agent: theory, production, industry, culture and live shows, backed by any OpenAI-compatible chat completions API"
repository = "https://github.com/splitfireai/splitfire-agent"
[features]
default = ["cli"]
# The `splitfire-agent` binary: its terminal UI, plus the MCP stub the integration tests run.
# A host embedding the library turns this off.
cli = ["dep:ed-acp-tui", "ed-mcp/test-server"]
# The `embed` module: the SplitFire-only pieces a Tauri host needs beside `ed-acp-tauri`
# (key fetch, the SplitFire MCP server, the iOS prompt/toolset trimming). Off by default so
# the plain library and the binary don't pull in `reqwest`.
embed = ["dep:reqwest"]
[[bin]]
name = "splitfire-agent"
path = "src/main.rs"
required-features = ["cli"]
[[bin]]
name = "mcp_stdio_stub"
path = "src/bin/mcp_stdio_stub.rs"
required-features = ["cli"]
[dependencies]
# Onde Agent Platform: the ACP server, terminal UI and MCP layer, from the onde-ed workspace.
ed-acp = { version = "1.3.3" }
ed-acp-tui = { version = "1.3.3", optional = true }
ed-mcp = { version = "1.3.3" }
agent-client-protocol = "2.2"
anyhow = "1.0.104"
async-trait = "0.1"
directories = "6.0.0"
ebur128 = "0.1.10"
realfft = "3.5.0"
serde = { version = "1.0.229", features = ["derive"] }
serde_json = "1.0.151"
symphonia = { version = "0.6.1", features = ["mp3", "flac", "ogg", "vorbis", "wav", "pcm", "aac", "isomp4", "aiff", "alac", "mkv"] }
tokio = { version = "1.53.1", features = ["full"] }
tracing = "0.1.44"
uuid = { version = "1.27.0", features = ["v4"] }
[dev-dependencies]
ed-acp-testkit = { version = "1.3.3" }
base64 = "0.23.1"
hound = "3.5.1"
# Only for `embed::fetch_key` and `embed::splitfire_mcp`, gated behind the `embed` feature.
# reqwest 0.13's `rustls` is the aws-lc provider, whose C code doesn't build for arm64_32
# (and `ring` asserts 64-bit pointers on aarch64), so watchOS uses `native-tls`, which is
# Security.framework.
[target.'cfg(not(target_os = "watchos"))'.dependencies]
reqwest = { version = "0.13", default-features = false, features = ["json", "rustls"], optional = true }
[target.'cfg(target_os = "watchos")'.dependencies]
reqwest = { version = "0.13", default-features = false, features = ["json", "native-tls"], optional = true }