eCore guides
Use it today
Section titled “Use it today”eCore has no release tag yet. Two ways in:
- Through eMCP.
emcpre-exports it asemcp::ecoreandemcp::{SessionId, Token, Failure, ErrorCode, DeliveryVerdict}; depend onemcpat its tag (eMCP guides). - From a checkout. A path or git dependency on
apps/desktop/crates/ecoreat a pinnedrev, until the first tag; then the rules of Install from a release tag apply.
use emcp::ecore::{SessionId, Token};
let run = SessionId::new("run-1")?; // the one id rulelet token = Token::from_header(header); // Option<Token>: 64 lowercase hexlet value = token.map(|t| t.header()); // back to "Bearer …"Change a type
Section titled “Change a type”The contract is the one source. Edit packages/ecore/contract.json, then regenerate all four languages:
bun run --filter @exp/ecore generatepackages/ecore/fixtures/ecore.json replays on Rust, TypeScript, Swift and Kotlin, and a drift test fails a stale output.
The contract and the crate in full: Reference.