Expand description
slickit — Semantic, LLM-Interpretable Component Kit.
Two layers, both in-memory:
| Layer | Feature | Types | Consumer |
|---|---|---|---|
| Runtime | default | TypedConfig, TypedRegistry, RegistryError | geist-edge |
| Authoring | manifest | [Kind], [Manifest] | Composer |
Bridge: Manifest.type_url = TypedConfig.type_url.
Cross-surface: Rust is canonical. Crusts (PyO3, wasm-bindgen) expose identical types to Python and TypeScript.
§Example (runtime layer)
use slick::{TypedConfig, 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 config = serde_json::json!("hello");
let instance = registry.create("example.v1", &config).unwrap();
assert_eq!(instance, "hello");Structs§
- Typed
Config - A typed config entry from pipeline configuration.
- Typed
Registry - Immutable typed registry. Maps type URL → factory.
- Typed
Registry Builder - Mutable builder for
TypedRegistry. Immutable afterbuild().
Enums§
- Registry
Error - Error returned by
TypedRegistry::createandTypedRegistry::create_pipeline.