Developer manual
Muxiva serves two extension paths. Application teams often already own an Agent and need to connect it to real-time audio, interruption, multimodal data, and observability. Infrastructure teams build ASR, TTS, RTC, and media Nodes.
Both enter the same typed Graph as project Node Packages, but their ownership boundaries differ:
| Goal | Start here |
|---|---|
| Deploy an existing Agent into Muxiva | Agent integration |
| Try the file-capable reference Agent | Pi coding Agent |
| Build a Python algorithm or application Node | Python |
| Build a TypeScript Agent or application Node | TypeScript |
| Build a high-performance Rust Node | Rust |
| Wrap an RTC, media, or vendor C++ SDK | C++ |
Project layout
my-agent/
├── graph.json # Nodes, Ports, Edges, configuration
├── package.json # Agent dependencies and lock file
├── .env # local credentials, Git ignored
└── .muxiva/
├── nodes/my_agent/
│ ├── muxiva.node.json # Node contract
│ └── node.ts # thin Agent → Muxiva adapter
├── agents/my-agent/ # pinned application-owned Agent repo
└── workspaces/my-agent/ # file authority granted to the Agent
graph.json never contains executable source. A muxiva.node/v1 Manifest
declares discovery and validation metadata. The Agent remains independently
versioned, tested, reviewed, and released by its application team.
Node Manifest
| Field | Purpose |
|---|---|
package_id |
filesystem-safe project identity |
display_name |
Studio Palette label |
node_type |
stable Factory type |
language |
rust, cpp, python, or typescript |
factory_version |
exact Factory or adapter version |
kind |
source, transform, or sink |
category |
transport, algorithm, media, control, or utility |
capability |
stable searchable capability |
entrypoint |
language implementation entrypoint |
ports |
names, direction, Frame types, and semantic schemas |
config_schema |
JSON Schema for Node configuration |
Studio-first workflow
Ordinary Nodes can be authored directly in Studio:
- open Studio for the project Graph;
- choose Create Node;
- define the language, role, typed Ports, and configuration schema;
- edit code and choose Save & Register;
- drag the Node from the Palette and connect compatible Ports;
- Validate, Run, and inspect calls, queues, messages, and media in Observe.
Do not paste an entire existing Agent into Studio. Keep the Agent in its own
repository and store only a stable adapter under .muxiva/nodes/. Follow the
complete Agent integration SOP.