Expand description
slickit — Semantic, LLM-Interpretable Component Kit.
Two layers, both in-memory:
| Layer | Feature | Types | Consumer |
|---|---|---|---|
| Runtime | default | TypedStruct, TypedRegistry, RegistryError | geist-edge |
| Authoring | manifest | [Manifest] | Composer |
Bridge: Manifest.type_url = TypedStruct.type_url.
§Example (runtime layer)
use slick::{TypedStruct, TypedRegistryBuilder};
let registry = TypedRegistryBuilder::<String, String>::new()
.register("example.v1", |value| {
let name: String = serde_json::from_value(value.clone())
.map_err(|e| e.to_string())?;
Ok(name)
})
.build();
let val = serde_json::json!("hello");
let instance = registry.create("example.v1", &val).unwrap();
assert_eq!(instance, "hello");Structs§
- Typed
Registry - Immutable typed registry. Maps type URL → factory.
- Typed
Registry Builder - Mutable builder for
TypedRegistry. Immutable afterbuild(). - Typed
Struct - Typed structured data envelope — a type URL plus an opaque value.
Enums§
- Registry
Error - Error returned by
TypedRegistry::createandTypedRegistry::create_all.