Documentation
¶
Index ¶
Constants ¶
View Source
const ( OperationSelect = "select" WarningOperationPIISelected = "OPERATION_SPEC_PII_SELECTED" WarningOperationRequiredFilter = "OPERATION_SPEC_REQUIRED_FILTER_MISSING" WarningOperationMissingLimit = query.WarningLimitMissing WarningOperationStaleManifest = manifest.WarningStale )
Variables ¶
View Source
var ( ErrManifestRequired = errors.New("goquent operation: manifest is required") ErrUnsupportedOperation = errors.New("goquent operation: unsupported operation") ErrModelRequired = errors.New("goquent operation: model is required") ErrUnknownModel = errors.New("goquent operation: unknown model") ErrSelectRequired = errors.New("goquent operation: explicit select fields are required") ErrUnknownField = errors.New("goquent operation: unknown field") ErrForbiddenField = errors.New("goquent operation: forbidden field") ErrInvalidFilter = errors.New("goquent operation: invalid filter") ErrInvalidOrder = errors.New("goquent operation: invalid order") ErrRequiredFilterMissing = errors.New("goquent operation: required filter missing") ErrPIIAccessReasonRequired = errors.New("goquent operation: PII access reason required") ErrStaleManifest = errors.New("goquent operation: stale manifest") )
Functions ¶
func JSONSchema ¶
JSONSchema returns the OperationSpec MVP JSON Schema.
Types ¶
type FilterSpec ¶
type FilterSpec struct {
Field string `json:"field"`
Op string `json:"op"`
Value any `json:"value,omitempty"`
ValueRef string `json:"value_ref,omitempty"`
}
FilterSpec describes a single field predicate.
type OperationSpec ¶
type OperationSpec struct {
Operation string `json:"operation"`
Model string `json:"model"`
Select []string `json:"select,omitempty"`
Filters []FilterSpec `json:"filters,omitempty"`
OrderBy []OrderSpec `json:"order_by,omitempty"`
Limit *int64 `json:"limit,omitempty"`
AccessReason string `json:"access_reason,omitempty"`
}
OperationSpec is the read-only structured interface for AI-generated DB intent.
func (*OperationSpec) UnmarshalJSON ¶
func (s *OperationSpec) UnmarshalJSON(b []byte) error
UnmarshalJSON rejects non-MVP fields such as join, aggregate, mutation, or raw SQL hints.
Click to show internal directories.
Click to hide internal directories.