Skip to main content

clawft_types/
lib.rs

1//! # clawft-types
2//!
3//! Core type definitions for the clawft AI assistant framework.
4//!
5//! This crate is the foundation of the dependency graph -- all other
6//! clawft crates depend on it. It contains:
7//!
8//! - **[`error`]** -- [`ClawftError`] and [`ChannelError`] error types
9//! - **[`config`]** -- Configuration schema (ported from Python `schema.py`)
10//! - **[`event`]** -- Inbound/outbound message events
11//! - **[`provider`]** -- LLM response types and the 15-provider registry
12//! - **[`session`]** -- Conversation session state
13//! - **[`cron`]** -- Scheduled job types
14//!
15//! ## Crate Ecosystem
16//!
17//! WeftOS is built from these crates:
18//!
19//! | Crate | Role |
20//! |-------|------|
21//! | [`weftos`](https://crates.io/crates/weftos) | Product facade -- re-exports kernel, core, types |
22//! | [`clawft-kernel`](https://crates.io/crates/clawft-kernel) | Kernel: processes, services, governance, mesh, ExoChain |
23//! | [`clawft-core`](https://crates.io/crates/clawft-core) | Agent framework: pipeline, context, tools, skills |
24//! | [`clawft-types`](https://crates.io/crates/clawft-types) | Shared type definitions |
25//! | [`clawft-platform`](https://crates.io/crates/clawft-platform) | Platform abstraction (native/WASM/browser) |
26//! | [`clawft-plugin`](https://crates.io/crates/clawft-plugin) | Plugin SDK for tools, channels, and extensions |
27//! | [`clawft-llm`](https://crates.io/crates/clawft-llm) | LLM provider abstraction (11 providers + local) |
28//! | [`exo-resource-tree`](https://crates.io/crates/exo-resource-tree) | Hierarchical resource namespace with Merkle integrity |
29//!
30//! Source: <https://github.com/weave-logic-ai/weftos>
31
32pub mod agent_bus;
33pub mod agent_routing;
34pub mod canvas;
35pub mod config;
36pub mod cron;
37pub mod delegation;
38pub mod error;
39pub mod event;
40pub mod provider;
41pub mod routing;
42pub mod secret;
43pub mod security;
44pub mod session;
45pub mod skill;
46pub mod registry;
47pub mod workspace;
48
49pub use error::{ChannelError, ClawftError, Result};
50pub use registry::Registry;