-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
74 lines (62 loc) · 2.94 KB
/
Copy pathCargo.toml
File metadata and controls
74 lines (62 loc) · 2.94 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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
[workspace]
resolver = "2"
members = ["crates/agent-memory-core", "crates/agent-memory"]
[workspace.package]
edition = "2021"
license = "MIT"
authors = ["Jiří Hermann"]
repository = "https://github.com/UnityInFlow/agent-memory"
[workspace.dependencies]
# MCP server SDK (binary)
rmcp = { version = "1.8", features = ["server", "transport-io", "macros"] }
# Embedded SQLite (FTS5 included in the bundled build).
# Pinned to 0.39 (not the research-suggested 0.40) so it shares the same
# `libsqlite3-sys` (0.37) as `r2d2_sqlite 0.34`, which depends on `rusqlite ^0.39`.
# 0.40 pulls libsqlite3-sys 0.38, producing a `links = "sqlite3"` conflict.
# `functions` enables create_scalar_function — the bundled SQLite is not built
# with SQLITE_ENABLE_MATH_FUNCTIONS, so we register `exp` for the decay blend.
rusqlite = { version = "0.39", features = ["bundled", "functions"] }
# rusqlite_migration 2.5 tracks rusqlite ^0.39 (2.6 jumps to ^0.40); pinning 2.5
# keeps the whole graph on one `libsqlite3-sys` (0.37) — see rusqlite note above.
rusqlite_migration = "2.5"
r2d2 = "0.8"
r2d2_sqlite = "0.34"
# Async runtime
tokio = { version = "1", features = ["full"] }
# Serialisation
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# Errors: thiserror in the library, anyhow at the binary edges
thiserror = "2"
anyhow = "1"
# CLI
clap = { version = "4", features = ["derive", "env"] }
# Time + paths.
# chrono is trimmed to `now` (Utc::now only — the codebase is UTC-everywhere,
# Phase 1 rule): the default `clock` feature pulls iana-time-zone →
# core-foundation-sys, whose `-framework CoreFoundation` cannot be linked by
# zig when cross-compiling to apple-darwin (no macOS SDK on the Linux runner —
# the 02-04 spike failure). `Local` time must never be reintroduced.
chrono = { version = "0.4", default-features = false, features = ["now"] }
dirs = "6"
# sqlite-vec 0.1.9: vec0 virtual table for KNN semantic search (SEARCH-02). Its
# only build-dep is `cc` (rusqlite appears only as a dev-dep upstream), so it
# cannot conflict with the rusqlite 0.39 / libsqlite3-sys 0.37 pin above.
# 0.1.10 is alpha-only.
sqlite-vec = "0.1.9"
# Ollama embedding client. Localhost-only HTTP → default-features = false means
# NO TLS backend at all (no rustls/ring/openssl C code), which directly reduces
# the darwin cross-compile surface (RESEARCH Pitfall 1).
reqwest = { version = "0.12", default-features = false, features = ["json"] }
# Safe zero-copy Vec<f32> → &[u8] cast for vec0 embedding blobs: zero unsafe in
# our code, and avoids the zerocopy 0.7→0.8 AsBytes/IntoBytes rename trap.
bytemuck = "1"
# REST mirror for non-MCP clients (API-01). Ecosystem pin — mcp-hub uses axum
# 0.8; note 0.8 switched path parameters to the `{id}` syntax (the 0.7 colon
# form no longer matches).
axum = "0.8"
# Logging (stderr only — stdout is the JSON-RPC channel)
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Dev / test
tempfile = "3"