Skip to main content

Module operation

Module operation 

Source
Expand description

Operation identity: what a request is asking for, and in whose dialect.

An operation is declared once here and nowhere else. Everything downstream — transform pairs, channel support tables, routing rules — keys on OperationKey, so adding a variant produces a compile-error checklist rather than a runtime fallthrough.

Paths are deliberately absent. Which URL serves an operation is an HTTP convention owned by the ingress layer; an SDK caller names the operation directly and never sees a path.

Persistence strings live on the variants rather than in a hand-written match. snake_case conversion is exact for every operation; the OpenAI dialects need an explicit spelling because the derive would otherwise split them into open_ai. A pinning test guards the whole set, so renaming a variant cannot silently change what is already in a database.

Structs§

DialectIter
An iterator over the variants of Dialect
OperationIter
An iterator over the variants of Operation
OperationKey
What transform pairs, channel support tables and routing rules key on.
WireFamilyIter
An iterator over the variants of WireFamily

Enums§

Dialect
The wire shape an operation is expressed in.
Operation
What the caller wants done.
WireFamily
Vendor grouping of dialects. Derived from a Dialect, never stored alongside one.