pub struct ToolManifest {
pub server_id: String,
pub server_key: PublicKey,
pub tools: Vec<ToolDefinition>,
pub required_capabilities: Vec<String>,
pub signature: Signature,
}Expand description
A Chio tool server manifest. Signed by the server’s Ed25519 key.
Fields§
§server_id: StringUnique identifier for this tool server.
server_key: PublicKeyThe server’s Ed25519 public key.
tools: Vec<ToolDefinition>Tools offered by this server.
required_capabilities: Vec<String>Host capabilities the server requires (e.g. “fs_read”, “network”).
signature: SignatureEd25519 signature over canonical JSON of all fields above.
Implementations§
Source§impl ToolManifest
impl ToolManifest
Sourcepub fn sign(
body: ToolManifestBody,
keypair: &Keypair,
) -> Result<ToolManifest, Error>
pub fn sign( body: ToolManifestBody, keypair: &Keypair, ) -> Result<ToolManifest, Error>
Sign a manifest body with the server’s keypair.
Sourcepub fn body(&self) -> ToolManifestBody
pub fn body(&self) -> ToolManifestBody
Extract the body for re-verification.
Sourcepub fn verify_signature(&self) -> Result<bool, Error>
pub fn verify_signature(&self) -> Result<bool, Error>
Verify the manifest signature against the server’s public key.
Trait Implementations§
Source§impl Clone for ToolManifest
impl Clone for ToolManifest
Source§fn clone(&self) -> ToolManifest
fn clone(&self) -> ToolManifest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ToolManifest
impl Debug for ToolManifest
Source§impl<'de> Deserialize<'de> for ToolManifest
impl<'de> Deserialize<'de> for ToolManifest
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ToolManifest, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ToolManifest, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for ToolManifest
impl Serialize for ToolManifest
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for ToolManifest
impl RefUnwindSafe for ToolManifest
impl Send for ToolManifest
impl Sync for ToolManifest
impl Unpin for ToolManifest
impl UnsafeUnpin for ToolManifest
impl UnwindSafe for ToolManifest
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