Skip to main content

Module control

Module control 

Source

Structs§

ControlEnvelope
Versioned wrapper around a ControlCommand, CBOR-named on the wire.
EdgeExtract
One edge-extraction rule: the edge type, the pointers to its endpoint values, and optional pointers to the bitemporal valid-time window.
EntitySchema
The declared plan for extracting nodes and edges from a payload. Pointer-based (RFC 6901) and deterministic, so no model call is needed. Recorded on a graph projection for discovery and as the extraction contract. Graph data is written via the graph upsert op. Applying this plan to a bound source is managed-side.
IndexField
One indexed scalar: the index key name and the RFC-6901 JSON pointer into the payload it is extracted from.
IndexSchema
The indexed fields (and optional vector field) a projection extracts.
IndexSchemaBuilder
Fluent builder for an IndexSchema.
NodeExtract
One node-extraction rule: the node’s label and the pointer to its canonical value (which content-addresses its id, so the same entity converges).
Projection
Global reusable projection definition. Names the extraction rules that turn a payload into a queryable row. Not attached to a topic on its own: bindings (ProjectionBinding) declare where projections may apply.
ProjectionBinding
Declares where a Projection is allowed to materialize. Bindings, not projections, tell the worker what to consume. A binding pairs a source selector (stream and topic) with a set of allowed projection refs, an optional default, and the materialization target (which DB table to write rows into).
ProjectionBindingBuilder
Fluent builder for a ProjectionBinding.
ProjectionBuilder
Fluent builder for a Projection.
ProjectionId
Opaque projection identifier. Stable string the producer stamps on the wire via the agdx.ref header and the worker keys its catalog by. Recommended shape: "<name>.v<version>", e.g. "order.v1". Distinct from schema_id, which selects a codec’s writer schema rather than a materialization rule.
SchemaDef
A registered writer schema, keyed by the id a producer stamps on agdx.sid. Avro and Protobuf schemas decode their schema-first bodies. A JSON Schema validates the decoded payload of a self-describing codec (JSON, MessagePack, CBOR, BSON), which otherwise needs no entry here. Ids are permanent: registering an occupied id with a different definition is rejected managed-side, and dropping tombstones the definition.
SourceSelector
Selects a single source (stream, topic) for v1. Both are required, since a topic only exists within a stream. Future versions can extend this to prefix, glob, or multi-stream selectors. Today the model is one-topic-per-binding to keep routing simple.
Target
One materialization sink for a binding: a named backend and table, the role it plays, and its delivery guarantee. backend is a logical id LaserData Cloud resolves against its configured backend set (the embedded engine is embedded).

Enums§

ControlCommand
One control command on the control topic. The customer SDK (or any tool driving LaserData Cloud) publishes these to register projections, bindings, and schemas.
Delivery
A target’s delivery guarantee. The read_write target is never at_most_once.
FieldType
Storage-type hint for an indexed field. A hint, not a constraint: the projector stores whatever scalar the payload carries either way. Columnar backends use the hint for real column DDL.
ProjectionKind
What a projection materializes: queryable rows, or a knowledge graph of nodes and edges. Rides the wire as a u8 code (the growable-dictionary pattern) so a future kind flows through an old reader as Unrecognized rather than failing the listing.
RetentionPolicy
How long a binding’s materialized rows live, decoupled from the source topic’s Iggy message_expiry. Lets a projection outlive (or undershoot) the log it was built from.
SchemaSource
The schema payload for a schema-first codec. Internally tagged on kind ({"kind":"avro","schema":...}) so an older client tolerates a newer server’s unknown source kind: an unrecognized kind decodes to SchemaSource::Unknown instead of failing the whole reply.
TargetRole
A target’s role. Exactly one read_write target per binding serves queries. The rest are write-only mirrors.