JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9
  • Score
    100M100P100Q92901F
  • License UNLICENSED

Republic of Autonomous Machines. Cross-framework agent orchestration — protected by EYDII.

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@veritera.ai/roam) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    ROAM

    Republic of Autonomous Machines

    The coordination protocol for AI agents that don't trust each other — and shouldn't have to.

    curl -fsSL roam.veritera.ai | sh

    Your agents can't talk to each other.

    You have Claude in one window, GPT in another, Cursor in a third. Each one is capable. None of them know the others exist.

    So you become the router. You copy context between tabs. You repeat instructions. You track who's doing what in your head. You are the integration layer — and that defeats the entire point of having agents.

    It gets worse. You have no way to know if an agent is drifting off-task, burning through your budget silently, or behaving differently than it did yesterday. By the time you notice, the damage is done.

    ROAM fixes both problems. Coordination and trust. One protocol. Every framework.


    Table of Contents


    What is ROAM

    ROAM is a coordination protocol for autonomous agents. It connects agents across any framework — Claude Code, GPT, Gemini, Cursor, n8n, CrewAI, LangChain, Ollama, and more — into a single governed team with shared tasks, structured handoffs, cost tracking, drift detection, and behavioral verification.

    All coordination happens through the file system. Zero tokens burned on coordination. Zero cloud dependency. Zero vendor lock-in.

    You choose a leadership topology. You assign roles. Your agents work together for hours or days — while you govern from your terminal, a browser dashboard, or Telegram from your phone.

    ROAM ships with EYDII — the trust layer for autonomous systems — embedded and non-optional. It watches every agent's behavior without ever seeing your content, your prompts, or your data. Trustless verification. Mathematical, not cooperative.


    Without ROAM vs. With ROAM

    Without ROAM With ROAM
    Coordination You copy-paste context between agent windows Agents share tasks, hand off work, and message each other through the filesystem
    Visibility You check each agent manually, hope nothing broke Real-time dashboard, Telegram alerts, drift detection across every agent
    Cost Surprise bills. No per-agent breakdown. No caps Per-agent, per-task cost tracking. Three-tier budget alerts. Hard stops before overrun
    Trust You trust each agent blindly — no behavioral baseline EYDII monitors behavioral patterns, detects drift, quarantines unhealthy agents
    Framework lock-in Pick one framework and lose the strengths of others Mix Claude, GPT, Gemini, Cursor, CrewAI, local models — best agent for each task
    Recovery Agent crashes silently. You find out hours later Heartbeat monitoring catches failures in seconds. Quarantine preserves state for recovery
    Scale Managing 3+ agents becomes a full-time job Manage 20 agents from your phone. The republic runs itself

    Quick Start

    Requires Node.js 18+.

    Install:

    curl -fsSL roam.veritera.ai | sh

    Create your first session:

    roam init my-project

    Interactive onboarding walks you through four decisions:

    1. Leadership topology — chief of staff, hands-on captain, peer mesh, or "not sure" (defaults to chief of staff)
    2. Frameworks — pick up to 5 from 12+ options, or type your own
    3. Project template — investor deliverable, software build, research, marketing, or custom
    4. Runtime mode — always-on (24/7) or work-hours (pauses when you close your laptop)

    ROAM provisions your agent team, starts the coordination daemon, and drops you into a live session:

    Session created.
      Location: /Users/you/my-project
    
    Starting your coordination engine...
    Daemon running (PID 48291)
    Team provisioned: coordinator (Claude), researcher (OpenAI), writer (Claude), critic (Google)

    The entire setup takes under two minutes. To return later:

    cd my-project && roam

    How It Works

                             You
                              |
                        ┌─────┴─────┐
                        │  Terminal  │  Telegram  │  GUI
                        └─────┬─────┘
                              |
                  ┌───────────┴───────────┐
                  │     ROAM Daemon       │
                  │  routing · tasks ·    │
                  │  cost · handoffs      │
                  └───────────┬───────────┘
                              |
               ┌──────────────┼──────────────┐
               |              |              |
         ┌─────┴─────┐ ┌─────┴─────┐ ┌─────┴─────┐
         │  Claude   │ │   GPT     │ │  Gemini   │    ...any framework
         │  Agent    │ │   Agent   │ │   Agent   │
         └─────┬─────┘ └─────┬─────┘ └─────┬─────┘
               |              |              |
               └──────────────┼──────────────┘
                              |
                  ┌───────────┴───────────┐
                  │    EYDII Observer     │
                  │  behavioral analysis  │
                  │  drift · health ·     │
                  │  trust verification   │
                  │  ─── content-blind ── │
                  └───────────────────────┘

    Three layers:

    1. You — govern from terminal, browser, or phone. Set rules, review drift alerts, approve escalations.
    2. ROAM Daemon — coordinates agents through the filesystem. Routes tasks, tracks cost, manages lifecycles. Framework-agnostic.
    3. EYDII Observer — watches behavioral patterns across every agent. Detects drift. Verifies trust. Never sees content. Mathematical verification, not inspection.

    All coordination is file-based. Agents read and write plain files. Zero tokens burned. Zero API calls between agents.


    CLI Reference

    Running roam with no arguments shows your session status.

    Setup

    Command What it does
    roam init <name> Create a new session with interactive onboarding
    roam init <name> --from-template <t> Create from a saved template
    roam daemon start|stop|status Manage the coordination daemon
    roam config View session configuration
    roam config set <key> <value> Update a config value

    Agents

    Command What it does
    roam agent add <name> --framework <fw> --role <role> Register a new agent
    roam agent remove <id> Remove an agent
    roam agent list List all agents with state and framework
    roam agent debug <id> Full dump: registration, heartbeat, peer reports, artifacts, cost

    Tasks

    Command What it does
    roam task add "<desc>" --capability <cap> Create a task (auto-routes to best agent)
    roam task assign <id> Trigger assignment for an unassigned task
    roam task list [--state <s>] List tasks, optionally filtered
    roam task done <id> Mark a task complete
    roam task cancel <id> Cancel — agent receives the signal
    roam task redirect <id> "new direction" Redirect a task mid-flight
    roam task deprioritize <id> Agent finishes current step, then yields

    Monitoring

    Command What it does
    roam status Session overview with interactive menu
    roam dashboard Terminal dashboard: agents, tasks, cost
    roam dashboard --watch Live-updating (refreshes every 3s)
    roam gui Open Command Center in browser
    roam log [agent|daemon] View logs
    roam cost Cost summary with per-agent breakdown

    Governance

    Command What it does
    roam drift sweep Drift assessment across all active agents
    roam drift <id> Single agent drift score
    roam report <id> File a drift report against an agent
    roam handoff <from> <to> Transfer responsibilities between agents
    roam human [state] Set your availability: available, busy, away
    roam mode [strategy] Routing strategy: balanced, cost, speed

    Advanced

    Command What it does
    roam export [json|snap|archive] Export session data
    roam import <archive> Import from archive
    roam template save|list|delete Manage session templates
    roam telegram setup|start|stop|test Telegram bot for mobile governance
    roam upgrade status|unlock Manage license

    Supported Frameworks

    ROAM coordinates agents across any framework. It does not call your framework's API — it coordinates through the filesystem. Anything that can read and write files can participate.

    Framework Credential Notes
    Claude Code ANTHROPIC_API_KEY
    Claude Cowork ANTHROPIC_API_KEY Shared key with Claude Code
    OpenAI / ChatGPT OPENAI_API_KEY
    Cursor OPENAI_API_KEY Uses OpenAI keys
    Google ADK GOOGLE_API_KEY Google AI Studio key
    Google Gemini GOOGLE_API_KEY Shared key with ADK
    LangChain OPENAI_API_KEY
    LangGraph OPENAI_API_KEY
    CrewAI OPENAI_API_KEY
    n8n N8N_API_KEY
    Agno OPENAI_API_KEY
    Mastra OPENAI_API_KEY
    Ollama OLLAMA_HOST Local. No API key needed
    LM Studio LM_STUDIO_HOST Local. No API key needed
    Open WebUI OPEN_WEBUI_HOST Local. No API key needed
    Custom You define it Type 0 during roam init

    During roam init, you pick frameworks from a visual selector. ROAM tells you exactly where to get each API key. Community includes 5 frameworks free — need more? One command unlocks unlimited.

    Community Enterprise
    Frameworks 5 Unlimited
    Price Free Talk to us

    Protected by EYDII

    EYDII is the trust layer for autonomous systems. It ships embedded in every ROAM installation — non-optional, always on. There is no version of ROAM without EYDII.

    Content-blind by architecture. EYDII never reads your agents' instructions, prompts, outputs, or artifacts. On startup, the observer verifies it has zero read access to content directories. If that boundary is broken, it refuses to run.

    What EYDII watches: behavior. Actions taken. Lifecycle transitions. Heartbeat patterns. Peer drift reports. Cost events. Structural signals — metadata about what agents do, never the substance of what they produce.

    Trustless verification. This is fundamentally different from tools that inspect, filter, or scan agent content. Content inspection requires trust — you must trust the inspector with everything your agents see. EYDII requires no such trust. It operates on behavioral pattern analysis without accessing the content those behaviors produce. Trustless by architecture, not by policy.

    Where this matters most. Healthcare systems bound by HIPAA. Defense programs under classification. Multi-tenant platforms where one customer's data must never be visible to another's infrastructure. Financial systems under audit. Industrial autonomous systems where content inspection creates liability. In these environments, content-aware tools are disqualified on arrival. EYDII is not.


    Agent Health

    Every agent moves through a defined lifecycle:

    IDLE → ACTIVE → DRIFTING → QUARANTINED → ARCHIVED
                        ↑            |
                        └── recovery ┘

    States: IDLE, ACTIVE, DRIFTING, TRANSITIONING, QUARANTINED, REPLACED, ARCHIVED. No illegal state jumps.

    Heartbeat monitoring. Active agents emit heartbeats at regular intervals. Missed heartbeats beyond a configurable threshold flag the agent as silent. Catches crashes, hangs, and lost connectivity — before you notice.

    Drift detection. Agents report on each other. Peer reports carry severity scores, weighted by recency — a report from five minutes ago matters more than one from fifty. When enough evidence accumulates, ROAM transitions the agent to DRIFTING.

    Quarantine and recovery. Quarantined agents are isolated, not destroyed. ROAM records the reason — authentication failure, rate limiting, billing issues, cost cap, provider outage, or behavioral drift — and provides specific recovery guidance. One command brings them back.

    The design: agents are healthy or unhealthy. They drift. They recover. ROAM is a monitoring center that watches vital signs and calls you when something needs attention.


    Cost Protection

    Running multiple agents across multiple providers accumulates cost fast. A single misconfigured agent can exhaust a budget in minutes.

    Per-agent, per-task breakdown. Every API call is recorded with the agent that made it and the task it belongs to. No more surprise provider bills.

    Three-tier budget alerts:

    Threshold Action
    75% Soft alert logged
    90% Warning fires
    100% Hard pause. Agents quarantined. Requires explicit cap raise to resume

    Cross-provider normalization. Anthropic, OpenAI, Google, local models — all in a single USD view. Cost records are persisted as files. They survive crashes, can be audited after the fact, and never reset on restart.


    Error Intelligence

    AI providers return errors in their own formats. A rate_limit_error from Anthropic, an insufficient_quota from OpenAI, and a RESOURCE_EXHAUSTED from Google all mean the same thing.

    ROAM maintains a cross-provider error catalog that translates provider-specific codes into plain-language explanations and recovery steps. When an agent hits an error, ROAM tells you what happened, why, and exactly what to do — including which settings page to visit and which environment variable to check.

    For quarantined agents, the guidance is specific: authentication failure maps to key rotation. Rate limiting maps to automatic backoff. Provider outage maps to monitoring and auto-recovery.

    You should never have to search Stack Overflow to understand why an agent stopped working.


    Govern from Anywhere

    Close the laptop. Your republic keeps running.

    ROAM ships with a Telegram bot that connects to your session daemon. Not a notification feed — a command interface.

    /status    Session overview: agents, tasks, cost, blockers
    /agents    Every agent — state, framework, role
    /tasks     In flight, queued, blocked
    /drift     Who's drifting and by how much
    /cost      Where the money is going, per agent

    Drift alerts arrive the moment they happen. Quarantine notifications tell you when an agent has been isolated. When an agent is blocked and waiting on you, that message finds you wherever you are.

    roam telegram setup

    Your agents keep working for hours. For days.


    GUI — Command Center

    For those who prefer a visual interface, ROAM includes a browser-based Command Center.

    roam gui

    Opens a Stripe-style dashboard in your browser — real-time agent status, task management, cost tracking, drift monitoring, and configuration. Connected to your daemon via WebSocket for live updates.

    Everything you can do from the CLI, you can do from the GUI. Designed for the person who starts in the terminal and wants to stay in a browser.


    SDK

    Build custom agents that participate in ROAM sessions programmatically.

    npm install @roam/sdk
    import { RoamAgent } from "@roam/sdk";
    
    const agent = new RoamAgent({
      sessionDir: "/path/to/my-project",
      agentId: "researcher",
      name: "Researcher",
      framework: "langchain",
      role: "researcher",
      capabilities: { research: 0.9 },
    });
    
    agent.register();
    agent.startHeartbeatLoop(5000);
    
    // Claim and work a task
    agent.claimTask("task-abc123");
    agent.startTask("task-abc123");
    // ... do work ...
    agent.completeTask("task-abc123");
    
    // Report drift on a peer (agents cannot self-report)
    agent.reportPeer("writer", {
      signal_type: "output_quality_drop",
      severity: 0.6,
      evidence: "Last 3 outputs missed the brief",
    });
    
    // Send a message to another agent
    agent.sendMessage("coordinator", "Research complete. 14 sources synthesized.");
    
    agent.stopHeartbeatLoop();

    All SDK operations are file writes. No network calls, no daemon dependency for basic operations. Anything that can write files can be a ROAM agent — Python, Go, shell scripts, local models.


    File-Based Protocol

    ROAM coordinates through the filesystem. Every heartbeat, task transition, message, and drift report is a file.

    Zero tokens burned on coordination. Agents read and write plain files instead of calling each other through LLM APIs.

    Framework-agnostic. Anything that can read and write files can participate.

    Inspectable. cat any file to see exactly what is happening. No black-box state.

    Atomic. All writes use rename-into-place to prevent corruption.

    Session Structure

    my-project/
      roam.yaml                  # Session config: topology, routing, cost
      agents/
        coordinator/
          working-doctrine.md    # What this agent believes and follows
          decision-log.md        # Timestamped decisions with reasoning
          open-questions.md      # Unresolved questions for the founder
          state-of-work.md       # Current progress snapshot
      registry/                  # Agent registrations
      tasks/                     # Task state machine
      messages/                  # Async inter-agent messages
      state/                     # Current agent states
      heartbeats/                # Last heartbeat per agent
      peer-reports/              # Drift reports from peer agents
      doctrine/                  # Shared rules and constraints
      artifacts/                 # Deliverables
      cost/                      # Cost records per agent per task
      .roam/
        roam.sock                # Daemon IPC socket
        roam.pid                 # Daemon PID
        observer-queue/          # EYDII event queue
        interrupts/              # Founder-issued task signals

    Content-Blind Boundary

    The EYDII observer reads: state/, heartbeats/, tasks/, peer-reports/.

    The EYDII observer is forbidden from: agents/, messages/, artifacts/, doctrine/, agent-logs/.

    Behavioral patterns, never content.


    What ROAM is Not

    ROAM is not another agent framework. It does not compete with Claude Code, CrewAI, LangChain, or Cursor. It connects them. Use your frameworks — ROAM coordinates between them.

    ROAM is not a wrapper around LLM APIs. It never calls your provider's API. Agents call their own APIs. ROAM coordinates through the filesystem.

    ROAM is not a chatbot or assistant. It is infrastructure. A protocol. A daemon that runs in the background while your agents do their work.

    ROAM is not cloud-hosted. Everything runs on your machine. Your data stays on your machine. There is no ROAM server you send data to.

    ROAM is not optional security bolted on after the fact. EYDII ships embedded. The trust layer is part of the protocol, not an add-on. You cannot run ROAM without behavioral verification.

    ROAM is not content-aware. It never reads, scans, filters, or inspects what your agents produce. This is a design choice, not a limitation. Content-blind architecture is the only architecture that works where content inspection is prohibited.


    Licensing

    ROAM is open source under Veritera Corporation.

    Community Enterprise
    Frameworks 5 Unlimited
    Agents per session Unlimited Unlimited
    EYDII Included Dedicated
    Routing strategies All All + custom
    Cost analytics Standard Full audit
    Telegram governance Included Included
    Price Free roam.veritera.ai

    Need more than 5 frameworks? Run roam upgrade unlock — instant access, no sales call.


    Platform Support

    ROAM runs wherever Node.js runs.

    • macOS (Apple Silicon and Intel)
    • Linux (x86_64, ARM64)
    • Windows (WSL2 recommended, native supported)

    Requirements: Node.js 18+. No database. No container runtime. No cloud accounts. Just your agent framework credentials.


    Contributing

    The codebase is a TypeScript monorepo: protocol, core, sdk, cli, daemon, observer, telegram, gui. Each package has a single responsibility and a clear boundary.

    git clone https://github.com/veritera-ai/roam.git
    cd roam && npm install && npm run build

    Find a bug — open an issue. Want to add a framework connector, a routing strategy, or improve drift detection — open a PR. Read the existing code first. The architecture is deliberate.


    Your agents are not tools. They are participants in a system you govern.

    Every agent is registered, accountable, observable. It has a role, a mandate, a behavioral baseline. When it drifts, the republic knows. When it fails, the republic adapts. When it finishes, the republic records it.

    You set the doctrine. You define the roles. You choose when to lead from the front and when to check in from a beach.

    Every agent. Every framework. Every model. One republic. Governed by you.

    curl -fsSL roam.veritera.ai | sh

    EYDII — the trust layer for autonomous systems.

    ROAM — by Veritera Corporation