[package] name = "jouleclaw-ui-oracle" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true authors.workspace = true description = "Per-rung Oracle backends for jouleclaw-ui-output. StaticUiOracle validates component_id against a ComponentRegistry; DeclarativeUiOracle validates the descriptor's `kind` against an allow-list; GenerativeUiOracle enforces the CapabilityPolicy + a byte budget + a deny-list of dangerous source patterns. Each implements the per-request jouleclaw-oracle::Oracle trait so a UI Candidate composes through CompositeOracle (and via PerTickAdapter into the streaming cascade)." [dependencies] jouleclaw-oracle = { path = "../jouleclaw-oracle" } jouleclaw-ui-output = { path = "../jouleclaw-ui-output" } async-trait = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["macros", "rt"] }