hct_mcp_signals/lib.rs
1//! HCT-MCP Signals: Coordination Signals Extension for MCP
2//!
3//! This crate provides Rust types and utilities for HCT coordination signals,
4//! enabling urgency, timing, and approval semantics in MCP-based multi-agent systems.
5//!
6//! # Quick Start
7//!
8//! ```rust
9//! use hct_mcp_signals::{cue, SignalType, Tempo};
10//!
11//! let signal = cue("orchestrator", vec!["analyst"])
12//! .with_urgency(8)
13//! .with_tempo(Tempo::Allegro)
14//! .build();
15//!
16//! let json = signal.to_mcp_json().unwrap();
17//! ```
18//!
19//! # Signal Types
20//!
21//! - `Cue` - Trigger agent activation
22//! - `Fermata` - Hold for approval
23//! - `Attacca` - Immediate transition
24//! - `Vamp` - Repeat until condition
25//! - `Caesura` - Full stop
26//! - `Tacet` - Agent inactive
27//! - `Downbeat` - Global sync point
28
29#![forbid(unsafe_code)]
30#![warn(clippy::all, clippy::pedantic, clippy::nursery)]
31#![allow(clippy::module_name_repetitions)]
32
33mod factory;
34mod mcp;
35mod schema;
36mod signals;
37
38pub use factory::{attacca, caesura, cue, downbeat, fermata, tacet, vamp, SignalBuilder};
39pub use mcp::{embed_signal, extract_signal, McpTaskSend};
40pub use schema::{get_json_schema, get_json_schema_string, get_mcp_extension_schema};
41pub use signals::{Conditions, HCTSignal, HoldType, Performance, SignalType, Tempo};