Skip to main content

Tool Contract and Boundaries

Keep Data Agent tools semantic and connect UI authoring through one trusted commit path.

Model-facing tools

inspect_current_context  -> server-bound current data context
inspect_catalog          -> semantic catalog slice for one question
describe_data            -> bounded detail for inspected entities
probe_data               -> fixed, bounded discovery probe
run_analysis             -> read-only analysis from a semantic draft
present_ui               -> declarative composition from the frozen UI slice

Data tools accept only semantic identifiers returned by the current catalog. They do not accept SQL, connection strings, credentials, physical relation names, compiler output IDs, or arbitrary limits. present_ui receives only the Component, Action, Resource, Evidence, and State identities offered for that turn. It cannot carry raw query rows or executable code.

Trust boundaries

BoundaryAllowedNever allowed
ModelSemantic slices, opaque offered IDs, bounded descriptors, present_uiSQL, credentials, rows, arbitrary component or tool names
CompilerUntrusted proposal plus one frozen CatalogSetSliceAuthority expansion or direct renderer output
HostServerValidated revisions, authority, transactions, trusted Surface eventsPublishing raw model chunks as committed state
Browser controllerTrusted events, node-scoped projections, revision-bound commandsConnector access, policy decisions, or effect execution
RendererResolved props, declared slots, placement, declared event portsFetching data, choosing actions, mutating canonical state directly
Resource GatewayGrant-bound schema, version, projection, window, evidenceUnbounded row dumps or model-selected credentials
Capability brokerTyped HostIntent, approval, idempotency, receiptImplicit effects from display events

Implementation map

ConcernImplementation
Data catalog, planning, compiler, and executionpackages/data-agent and database connector packages
Canonical Generative UI protocolpackages/protocol, packages/catalog, packages/runtime
Proposal compilationpackages/compiler
Resource and capability boundariespackages/resources, packages/capabilities
Trusted server publicationpackages/server
Browser control and renderingpackages/client, packages/react, packages/ui
Current Component Contracts and recipespackages/components

Framework adapters are transport glue only. AI SDK and Mastra integrations are not considered available until their real adapters pass the same end-to-end Tessera data-agent fixtures.