pub struct ChannelId(pub Uuid);Expand description
Identifier for a Channel in the ORCS architecture.
A Channel represents a parallel execution context managed by the World. Channels form a tree structure where:
- Primary Channel: Root channel owned by Human
- Agent Channels: Spawned for LLM/Tool execution
- Background Channels: Isolated tasks (WASM plugins, etc.)
§Channel Tree
Primary (Human)
├── Agent Channel
│ ├── LLM Component
│ └── Tool Component
│ └── Subprocess
└── Background Channel
└── WASM Plugin§Permission Inheritance
Child channels inherit permissions from their parent. Children cannot have broader scope than their parent.
§Example
use orcs_types::ChannelId;
let primary = ChannelId::new();
let agent = ChannelId::new();
assert_ne!(primary, agent); // Each channel is unique
println!("Agent channel: {}", agent);Tuple Fields§
§0: UuidImplementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ChannelId
impl<'de> Deserialize<'de> for ChannelId
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for ChannelId
impl Eq for ChannelId
impl StructuralPartialEq for ChannelId
Auto Trait Implementations§
impl Freeze for ChannelId
impl RefUnwindSafe for ChannelId
impl Send for ChannelId
impl Sync for ChannelId
impl Unpin for ChannelId
impl UnsafeUnpin for ChannelId
impl UnwindSafe for ChannelId
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more