warhorn

Crates.iowarhorn
lib.rswarhorn
version0.1.0
created_at2025-12-14 20:26:07.570294+00
updated_at2025-12-14 20:26:07.570294+00
descriptionProtocol types for agent communication - signals between goblins
homepage
repositoryhttps://github.com/moltenlabs/molten
max_upload_size
id1985048
size109,103
Chris Mathew (chriscmathew-dorsia)

documentation

README

📯 Warhorn

Protocol types for AI agent communication - signals between goblins.

Crates.io Documentation License

Overview

Warhorn defines the message protocol for communication between AI agents and their orchestrators. Inspired by codex-kaioken's Op/Event pattern:

  • Operations (Op): Commands sent FROM UI TO agent orchestrator
  • Events: Notifications sent FROM orchestrator TO UI

Features

  • 🆔 Strongly-typed IDs (AgentId, TaskId, SessionId, etc.)
  • 📨 Serializable message types for agent communication
  • 🔄 Transport-agnostic (works over channels, sockets, stdio)
  • 📊 Rich models for sessions, agents, tasks, and tools

Installation

[dependencies]
warhorn = "0.1"

Usage

use warhorn::{Op, Event, AgentId, SubmissionId};

// Send a user input operation
let op = Op::user_input("Add authentication to my app");

// Handle events from the orchestrator
match event {
    Event::AgentSpawned { agent_id, role, .. } => {
        println!("Agent {} spawned as {:?}", agent_id, role);
    }
    Event::TaskComplete { task_id, result, .. } => {
        println!("Task {} completed: {}", task_id, result.summary);
    }
    _ => {}
}

Part of the Goblin Family

License

MIT OR Apache-2.0

Commit count: 0

cargo fmt