Skip to main content

project_gateway_action_catalog

Function project_gateway_action_catalog 

Source
pub fn project_gateway_action_catalog(
    provider_id: impl Into<String>,
    title: impl Into<String>,
    actions: &GatewayActionCatalog,
) -> Result<ProviderCatalog, ProviderIdError>
Expand description

Projects soma-gateway’s own admin action catalog into a soma_provider_core::ProviderCatalog, so a host can advertise gateway administration (list/add/remove/reload upstreams, OAuth lifecycle, …) through the same drop-in-provider-shaped surface as every other adapter in this crate.

This is a pure catalog projection, not a wired dispatcher: this crate has no call() implementation that dispatches through a live soma_gateway manager instance — crates/soma/runtime constructs the live GatewayProductState/GatewayManager and crates/soma/integrations wires it to SomaApplication’s gateway port, but neither routes back through this projection. Wiring this catalog to a live dispatcher is deferred to whichever product integration crate needs a drop-in-provider view of gateway administration (tracked as a PR10 follow-up) — see the module-level deviation notes.

Returns Err if provider_id is not a valid ProviderId (lowercase, [a-z0-9-_], no leading/trailing/doubled separators) rather than panicking — this is a pub fn in a shared library crate and provider_id may come from caller-supplied configuration, not only compile-time literals.