pub struct ModuleManifest {
pub id: String,
pub name: String,
pub version: String,
pub kind: ModuleKind,
pub description: Option<String>,
pub spec_kind: Option<String>,
pub binary: Option<String>,
pub skill: Option<String>,
pub mcp: Option<String>,
pub base_url: Option<String>,
pub operations: Vec<String>,
pub capabilities: Vec<String>,
}Expand description
The on-disk shape of a module.json file emitted by oxide-gen.
Fields§
§id: StringStable module id (snake_case).
name: StringHuman-readable display name.
version: StringSemantic version.
kind: ModuleKindModule kind / execution layer.
description: Option<String>Free-form description.
spec_kind: Option<String>Source spec format (openapi, graphql, grpc).
binary: Option<String>CLI binary name (relative to the crate root or on $PATH).
skill: Option<String>Path (relative) to the Claude Code skill descriptor.
mcp: Option<String>Path (relative) to the MCP server configuration.
base_url: Option<String>Default base URL baked into the generated client.
operations: Vec<String>List of operation ids exposed by the module.
capabilities: Vec<String>Capability tokens this module is granted on the bus. Populated by
the kernel when registering the module; used with
crate::bus::MessageBus::publish_with_capability.
Implementations§
Source§impl ModuleManifest
impl ModuleManifest
Sourcepub fn load(path: &Path) -> Result<Self>
pub fn load(path: &Path) -> Result<Self>
Load a manifest from disk. Accepts either the manifest file directly
or a directory containing module.json.
Sourcepub fn metadata(&self) -> ModuleMetadata
pub fn metadata(&self) -> ModuleMetadata
Derive the ModuleMetadata the kernel uses for registry storage.
Trait Implementations§
Source§impl Clone for ModuleManifest
impl Clone for ModuleManifest
Source§fn clone(&self) -> ModuleManifest
fn clone(&self) -> ModuleManifest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ModuleManifest
impl Debug for ModuleManifest
Source§impl<'de> Deserialize<'de> for ModuleManifest
impl<'de> Deserialize<'de> for ModuleManifest
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>,
Auto Trait Implementations§
impl Freeze for ModuleManifest
impl RefUnwindSafe for ModuleManifest
impl Send for ModuleManifest
impl Sync for ModuleManifest
impl Unpin for ModuleManifest
impl UnsafeUnpin for ModuleManifest
impl UnwindSafe for ModuleManifest
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more