| Crates.io | kowalski-federation |
| lib.rs | kowalski-federation |
| version | 0.5.0 |
| created_at | 2025-06-28 21:30:16.299293+00 |
| updated_at | 2025-06-28 21:30:16.299293+00 |
| description | Kowalski Federation: A Rust-based agent for interacting with Ollama models |
| homepage | https://github.com/yarenty/kowalski |
| repository | https://github.com/yarenty/kowalski |
| max_upload_size | |
| id | 1730142 |
| size | 92,997 |
π§ UNDER CONSTRUCTION / Work in Progress π§
Note: This module is in active development. Major design decisionsβespecially regarding multi-agent cooperation protocols (A2A, ACP, MCP, or custom)βare still to be made. Expect breaking changes and evolving APIs.
kowalski-federation aims to provide the foundation for multi-agent collaboration, orchestration, and communication in the Kowalski AI ecosystem. It is designed to enable distributed, federated, and cooperative agent systems, supporting a variety of agent roles (coordinator, worker, observer) and message-based protocols.
kowalski-federation/
βββ src/
β βββ agent.rs # FederatedAgent trait and federation roles
β βββ error.rs # FederationError types
β βββ message.rs # FederationMessage and message types
β βββ orchestrator.rs # Orchestrator for task delegation and coordination
β βββ registry.rs # AgentRegistry for membership and lookup
β βββ lib.rs # Library entry point
β βββ tests/ # Tests and protocol experiments
use kowalski_federation::{FederatedAgent, FederationRole, AgentRegistry};
use std::sync::Arc;
use tokio::sync::RwLock;
let registry = Arc::new(AgentRegistry::new());
// let agent = ... // your FederatedAgent implementation
// registry.register_agent(Arc::new(RwLock::new(agent))).await?;
use kowalski_federation::{FederationMessage, MessageType};
let message = FederationMessage::new(
MessageType::TaskDelegation,
"coordinator".to_string(),
Some("worker1".to_string()),
"Task content here".to_string(),
None,
);
// agent.send_message("worker1", message).await?;
This module is a work in progress. Contributions, suggestions, and protocol discussions are welcome!