release/1.3.1
toml 79 lines 3.27 KB
Raw
1 [workspace]
2 resolver = "2"
3 members = [
4 "crates/ed-agent",
5 "crates/ed-agent-ffi",
6 "crates/ed-agent-tauri",
7 "crates/ed-mcp",
8 "crates/ed-acp",
9 "crates/ed-acp-tauri",
10 "crates/ed-acp-tui",
11 "crates/ed-acp-testkit",
12 "crates/ed-onde-account",
13 "uniffi-bindgen",
14 ]
15
16 # Shared across every crate in the workspace so a release moves one number.
17 # `sync-version` tooling (see the Makefile) reads these.
18 [workspace.package]
19 version = "1.3.1"
20 edition = "2021"
21 rust-version = "1.94"
22 license = "MIT OR Apache-2.0"
23 authors = ["Onde Inference"]
24 repository = "https://github.com/ondeinference/ed"
25 homepage = "https://ondeinference.com"
26
27 [workspace.dependencies]
28 # The inference engine Ed wraps, resolved from crates.io like any dependency
29 # (there is no path override to a sibling checkout). 1.3.2 is the first release
30 # with ChatEngine::complete, which ed-acp's local provider calls.
31 onde = { version = "1.3.2" }
32 async-trait = "0.1"
33 serde = { version = "1", features = ["derive"] }
34 serde_json = "1"
35 log = "0.4"
36 thiserror = "2"
37 tokio = { version = "1", features = ["sync", "rt"] }
38 tauri = { version = "2", features = [] }
39 # Must match on the uniffi version `onde` is built with (=0.31.0). The
40 # bindgen extracts metadata that every crate in the staticlib embeds; mixed
41 # versions break extraction with "Invalid string data" errors.
42 uniffi = { version = "=0.31.0", features = ["tokio"] }
43 smbcloud-gresiq-sdk = "0.4.7"
44
45 # Onde Agent Platform v0.1 baseline (onde-web .agents/specs/onde-agent-platform, §5.4).
46 # The ACP crates (ed-mcp, ed-acp, ed-acp-tui, ed-acp-testkit) use these; ed-agent does not.
47 agent-client-protocol = "2.2"
48 rmcp = { version = "3.5", default-features = false }
49 reqwest = { version = "0.13", default-features = false, features = ["rustls", "json", "stream"] }
50 ratatui = { version = "0.30.2", default-features = false, features = ["crossterm", "layout-cache", "unstable-rendered-line-info"] }
51 crossterm = { version = "0.29", features = ["event-stream"] }
52 tokio-util = "0.7"
53 futures = "0.3"
54 anyhow = "1"
55 tracing = "0.1"
56 tracing-subscriber = { version = "0.3", features = ["env-filter"] }
57 uuid = { version = "1", features = ["v4"] }
58 directories = "6"
59 base64 = "0.23"
60
61 # Internal
62 ed-agent = { version = "1.3.1", path = "crates/ed-agent" }
63 ed-mcp = { version = "1.3.1", path = "crates/ed-mcp" }
64 ed-acp = { version = "1.3.1", path = "crates/ed-acp" }
65 ed-acp-tauri = { version = "1.3.1", path = "crates/ed-acp-tauri" }
66 ed-acp-tui = { version = "1.3.1", path = "crates/ed-acp-tui" }
67 ed-acp-testkit = { version = "1.3.1", path = "crates/ed-acp-testkit" }
68 ed-onde-account = { version = "1.3.1", path = "crates/ed-onde-account" }
69
70 # gemm-common (via candle, via onde) depends on sysctl for every
71 # `target_vendor = "apple"`, but sysctl 0.6.0 only has a `sys` module behind
72 # macOS/iOS/tvOS/visionOS/freeBSD — the watchOS build fails to resolve it. onde
73 # carries this same patch, but `[patch]` is only honoured from the manifest of
74 # the workspace being built, so depending on onde does not inherit it: Ed has to
75 # repeat it. The branch is cut from sysctl 0.6.0 rather than the fork's master
76 # (0.7.1) because a patch that is semver-incompatible with the requirement in
77 # the graph is silently ignored.
78 [patch.crates-io]
79 sysctl = { git = "https://github.com/setoelkahfi/sysctl-rs.git", branch = "feature/watchos-0.6" }