swactor/apps/myelin/Cargo.toml
Zachery Aaron Shores-Chmielewski 966497ec07 feat: proper README, LICENSE, and our first quick example
Add project licensing and a full README, plus a minimal WebAssembly ping-pong example that exercises the actor runtime.

- `LICENSE`: add the full GNU AGPL-3.0 text and set `license = "AGPL-3.0-only"` on every package (`swactor`, each crate, `apps/myelin`, `tools/vastai`, `xtask`)
- `README.md`: rewrite from a stub into a full project overview, covering features (actor_id routing, WASM, iroh QUIC/SWIM, OTP-style std, process manager, zero-copy objects, datastream metrics, dashboard), architecture, examples, developing, status, and license
- `examples/ping-pong`: new standalone workspace (`pingpong` cdylib) where two actors volley on a single-threaded `wasm` runtime driven by a Node host via `tick()`, demonstrating spawning, message passing, and death monitoring (`watching`)
- `examples/ping-pong`: add a host/run harness -- `run.sh` (wasm-pack build + `run.mjs`), `serve.sh` (dashboard + static demo), `index.html`, and a pinned `Cargo.lock`
- `.gitignore`: stop ignoring `.loop/`, `.deployment-notes/`, and `.omp/`

Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
2026-08-06 00:53:16 +04:00

48 lines
1.1 KiB
TOML

[package]
name = "myelin"
version = "0.1.0"
edition = "2024"
license = "AGPL-3.0-only"
publish = false
autobins = false
[features]
default = []
dashboard = []
[dependencies]
datastream = { path = "../../crates/datastream" }
data-plane = { path = "../../crates/data-plane" }
provisioning = { path = "../../crates/provisioning" }
dashboard = { path = "../../crates/dashboard" }
serde_json = "1"
serde = { version = "1", features = ["derive"] }
swactor = { path = "../..", features = ["serde", "transport"] }
swactor-transport = { path = "../../crates/transport" }
swactor-process = { path = "../../crates/process" }
distribution = { path = "../../crates/distribution" }
iroh-driver = { path = "../../crates/iroh-driver" }
iroh = "0.98"
tokio.workspace = true
swactor-vastai = { path = "../../tools/vastai" }
parking_lot = "0.12"
blake3 = "1"
toml = "0.8"
ureq = "2"
[target.'cfg(target_os = "linux")'.dependencies]
libc = "0.2"
signal-hook = "0.3"
[[bin]]
name = "myelin-worker"
path = "src/bin/worker_node.rs"
[[bin]]
name = "myelin-orchestrator"
path = "src/bin/orchestrator.rs"
[[bin]]
name = "myelin-chat"
path = "src/bin/chat.rs"