CALYPSO Accepts Language, Yielding Permitted Shell Operations — the session host and future intent-assistance layer of the mise stack.
The name is a harbor reference. In the Odyssey, Calypso keeps the island where the voyager finds haven; the name is the Greek word for "to conceal," which the project keeps but turns around. HARBOR is that haven for the ChRIS operator, and CALYPSO is the keeper at its edge — the layer between you and the open water: the Collection+JSON sprawl, the complexity of a federated backend. What CALYPSO conceals is the friction, never the outcome. A harbor shelters without holding: the work is left as materialized, verifiable state, yours to leave and return to — CALYPSO the harbor you pass through, never the ground you stand on.
CALYPSO hosts the brasa engine behind a session daemon and serves it to surfaces over a WebSocket: the ChELL CLI today, a web console next, each rendering the same session. Because the engine is separable from its display (see stage one), it can run where the data must stay — inside a spoke's trust boundary — while an operator drives it over a thin client.
The wire contract, daemon, session bus, identity-keyed discovery, and ChELL remote client are shipped. The natural-language intent-assistance layer remains separate forward work.
The contract is defined as zod schemas — the single source of truth, from which the message types are inferred and against which every message is validated at the boundary.
commandEnvelopeSchema validates cumin's CommandEnvelope on the wire; a compile-time guard keeps the schema in step with cumin's type so the published contract can never silently drift from what the code produces.CONTRACT_VERSION) is carried in the attach handshake and refused on mismatch; within a major, changes are additive only.import { clientMessage_parseJson, attach_parse, type ClientMessage } from '@fnndsc/calypso';
const parsed = clientMessage_parseJson(rawSocketText);
if (!parsed.ok) socket.send({ type: 'error', reason: parsed.error });
The session host is shipped. Version 0.4 adds identity-keyed local berths, so one OS account can run isolated daemons for several CUBE identities; ChELL resolves them explicitly or with a picker. Daemon mode warms and reports the shared startup caches before publishing its listening berth. The full architecture and the eventual natural-language layer—which may only propose commands for the deterministic shell to validate and run—are documented in docs/calypso.adoc, docs/session-supervisor.adoc, and docs/surfaces.adoc.
File
CALYPSO: public surface.
calypso is the session host that serves a brasa engine to surfaces over a WebSocket: the daemon and its launch path, boundary token handling, and identity-keyed local berth discovery. Natural-language intent assistance is future work built above this deterministic session boundary.
The wire contract itself is no longer here. It lives in
@fnndsc/menu, so that a surface author depends on the contract rather than on the daemon that happens to serve it. The contract's names are re-exported below because most of the stack has always reached them at this address; new code should import@fnndsc/menudirectly.See