pub struct InterfaceEntry {
pub logical_name: String,
pub kind: InterfaceKind,
pub source: String,
pub rest_url: Option<String>,
pub graphql_field: Option<String>,
pub ws_url: Option<String>,
pub sse_url: Option<String>,
pub mqtt_topic: Option<String>,
pub mcp_tool: Option<String>,
pub grpc_method: Option<String>,
}Expand description
One reachable surface (table on a transport, or a custom function).
Materializes the cross product of (table, transport) plus one entry per custom function so agents can search by logical name without re-deriving URLs.
Fields§
§logical_name: StringStable lookup key. For tables: {app_id}.{Table}. For custom
functions: {app_id}.{function_name}.
kind: InterfaceKindWhether this surface comes from a @table or a custom function.
source: StringSource identifier — same shape as logical_name today; kept
separate so future tooling can decorate logical_name
(e.g. with operation suffixes) without losing the back-pointer.
rest_url: Option<String>REST endpoint when available (/{app}/{Table}).
graphql_field: Option<String>GraphQL field path (/{app}/graphql#Query.{Table}).
ws_url: Option<String>WebSocket URL (wss://host/{app}/{Table}); host portion is a
placeholder template {host} since the inventory builder
doesn’t know the listener address at build time.
sse_url: Option<String>SSE URL (/{app}/{Table}?stream=sse).
mqtt_topic: Option<String>MQTT topic ({app_id}/{Table}).
mcp_tool: Option<String>MCP tool name ({table_lower}_get); arbitrary one of the six
CRUD tools generated per table — the canonical “discovery
breadcrumb” entry. Agents should call tools/list for the full set.
grpc_method: Option<String>gRPC method path stub. Best-effort: /{app}.{Table}/Get style.
The actual gRPC bridge isn’t implemented yet — no dispatcher
ships and the server-wide grpc.enabled config flag is
ignored, with a startup tracing::warn! on the legacy key.
This field documents the planned shape so
inventory consumers can render a stable column.
Trait Implementations§
Source§impl Clone for InterfaceEntry
impl Clone for InterfaceEntry
Source§fn clone(&self) -> InterfaceEntry
fn clone(&self) -> InterfaceEntry
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more