unistore-core

Crates.iounistore-core
lib.rsunistore-core
version0.1.0
created_at2026-01-15 15:43:05.50453+00
updated_at2026-01-20 01:16:43.380887+00
descriptionCore traits and types for UniStore capabilities
homepagehttps://github.com/yangbo1317/unistore
repositoryhttps://github.com/yangbo1317/unistore
max_upload_size
id2045880
size43,726
(yangbo1317)

documentation

https://docs.rs/unistore-core

README

unistore-core

UniStore 能力层核心定义 crate,提供所有能力模块共享的 trait 和类型。

概述

unistore-core 是 UniStore 能力体系的基石,定义了:

  • Capability trait - 所有能力的核心契约
  • CapabilityInfo - 能力元数据
  • CapabilityError - 统一错误类型
  • CapabilityRegistry - 能力注册与管理

安装

[dependencies]
unistore-core = "0.1"

快速开始

use unistore_core::{Capability, CapabilityInfo, CapabilityError};
use async_trait::async_trait;

pub struct MyCapability {
    started: bool,
}

#[async_trait]
impl Capability for MyCapability {
    fn info(&self) -> CapabilityInfo {
        CapabilityInfo::new("my-capability", "0.1.0")
            .with_description("My custom capability")
    }

    async fn start(&mut self) -> Result<(), CapabilityError> {
        self.started = true;
        Ok(())
    }

    async fn stop(&mut self) -> Result<(), CapabilityError> {
        self.started = false;
        Ok(())
    }

    async fn health_check(&self) -> Result<(), CapabilityError> {
        if self.started {
            Ok(())
        } else {
            Err(CapabilityError::unhealthy("my-capability", "not started"))
        }
    }
}

许可证

MIT OR Apache-2.0

致谢

Commit count: 0

cargo fmt