The base is LF; the wip commits rewrote whole files as CRLF, hiding the real diff. Content unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
77 lines
3.1 KiB
TOML
77 lines
3.1 KiB
TOML
[package]
|
|
name = "mind-body"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
publish.workspace = true
|
|
|
|
# One crate for her organs (rationale "One crate for her organs"). It holds the
|
|
# operator's brakes: a root-owned per-instance CultCache
|
|
# store (`control`), the operator's CLI over it (`cli`, the `mind-control`
|
|
# binary) and the one fail-closed reader every acting organ calls
|
|
# (`control::read_effective`). It also holds the launch primitive (`launch`,
|
|
# `queue`): the one way her organs open a run and start its unit. The heartbeat
|
|
# (`heartbeat`, the `mind-heartbeat` binary) runs the shared heartbeat over them. The actuator
|
|
# (`self_run`, the `mind-self-run` binary) carries her one open Self run.
|
|
#
|
|
# The Persona organ (`persona`, the `mind-persona` binary) drains her pending chat
|
|
# through ports. The connector transport is ModelConnector's kit client, pinned to
|
|
# the kit's revision (`connector`); the chat transport is cultnet-rs's RUDP client
|
|
# to Bifrost's mouth (`chat_rudp`). `rmp-serde` is the chat documents' positional
|
|
# MessagePack codec (`chat_client`); `sha2` derives the mouth's connection id from
|
|
# the chat credential. The kit pins its own CultLib revision, so the graph holds
|
|
# two until the workspace pin and the kit's meet.
|
|
# `rmp-serde` is also the lease wire (`lease_client`): the connector's MessagePack frames.
|
|
#
|
|
# `serde_json` reads Claude Code's stream-json, a foreign owner's wire (`self_run`);
|
|
# `uuid`'s v5 makes a Self run's session id derivable from the run's id.
|
|
[dependencies]
|
|
anyhow = "1"
|
|
chrono = { version = "0.4.44", features = ["serde"] }
|
|
cultcache-rs.workspace = true
|
|
cultnet-rs.workspace = true
|
|
eureka-pipeline = { path = "../eureka-pipeline" }
|
|
eureka-state = { path = "../eureka-state", default-features = false }
|
|
huginn-mind = { path = "../huginn-mind" }
|
|
model-connector = { git = "https://eureka.gamecult.org/forge/GameCult/ModelConnector.git", rev = "c1802d85bee3ae04b0c5737563c8343c1fef515d", package = "model-connector" }
|
|
rmp-serde = "1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
sha2 = "0.10"
|
|
uuid = { version = "1", default-features = false, features = ["v5"] }
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = "0.2"
|
|
# The lease socket: SCM_RIGHTS receive with MSG_CMSG_CLOEXEC and the descriptor
|
|
# duplicates, as safe calls (the library forbids unsafe code). Already in the
|
|
# graph through tempfile; this adds its `net` feature only.
|
|
rustix = { version = "1", default-features = false, features = ["std", "net"] }
|
|
|
|
# `syn`, `quote` and `proc-macro2` read the library's own source for
|
|
# tests/public_surface.rs, which pins its public surface. All three are already
|
|
# in the workspace's graph (serde's derive uses them); they are test-only.
|
|
[dev-dependencies]
|
|
proc-macro2 = "1"
|
|
quote = "1"
|
|
syn = { version = "2", features = ["full"] }
|
|
tempfile = "3"
|
|
|
|
[lib]
|
|
name = "mind_body"
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "mind-control"
|
|
path = "src/main.rs"
|
|
|
|
[[bin]]
|
|
name = "mind-self-run"
|
|
path = "src/bin/mind-self-run.rs"
|
|
|
|
[[bin]]
|
|
name = "mind-persona"
|
|
path = "src/bin/mind-persona.rs"
|
|
|
|
[[bin]]
|
|
name = "mind-heartbeat"
|
|
path = "src/bin/mind-heartbeat.rs"
|