Package-level declarations

Types

Link copied to clipboard
class ClasspathQuerySchemaSource(classLoader: ClassLoader = Thread.currentThread().contextClassLoader ?: ClasspathQuerySchemaSource::class.java.classLoader) : QuerySchemaSource
Link copied to clipboard
sealed interface DeclarationValue<out T>
Link copied to clipboard

A logical definition is shared unchanged with every native binding snapshot.

Link copied to clipboard
class MaskRule(val strategyType: KClass<out MaskStrategy<*>>, val annotation: Annotation, val compiled: CompiledMask)
Link copied to clipboard
class QueryFieldBinding(val physicalField: QueryField, storageTypes: Set<QueryStorageType>?)
Link copied to clipboard
class QueryFieldBindingTemplate(val physicalPath: QueryPathTemplate, storageTypes: Set<QueryStorageType>?)
Link copied to clipboard
data class QueryFieldDeclaration(val title: DeclarationValue<String?> = DeclarationValue.Unset, val description: DeclarationValue<String?> = DeclarationValue.Unset, val enumValues: DeclarationValue<List<JsonNode>?> = DeclarationValue.Unset, val valueTypes: DeclarationValue<Set<QueryValueType>> = DeclarationValue.Unset, val nullable: DeclarationValue<Boolean> = DeclarationValue.Unset, val required: DeclarationValue<Boolean> = DeclarationValue.Unset, val kind: DeclarationValue<QueryValueKind> = DeclarationValue.Unset, val properties: DeclarationValue<Map<String, QueryFieldDeclaration>> = DeclarationValue.Unset, val items: DeclarationValue<QueryFieldDeclaration?> = DeclarationValue.Unset, val additionalProperties: DeclarationValue<QueryFieldDeclaration?> = DeclarationValue.Unset, val alternatives: DeclarationValue<List<QueryFieldDeclaration>> = DeclarationValue.Unset, val semanticType: DeclarationValue<QuerySemanticType?> = DeclarationValue.Unset, val maskRule: DeclarationValue<MaskRule> = DeclarationValue.Unset)
Link copied to clipboard
class QueryFieldSchema(val logicalField: QueryField, val value: QueryValueSchema, elementAncestors: List<QueryField>?, bindings: Map<QueryCapability, QueryFieldBinding>, val projectionField: QueryField?, val responseField: QueryField?)
Link copied to clipboard
class QueryModelSchema(val model: QueryModel, capabilities: Set<QueryCapability>, val definition: LogicalQuerySchema, bindings: Map<QueryPathTemplate, QueryValueBindings>, val fullProjectionAvailable: Boolean = true)

Published facts only: model values and operation-specific native locations.

Link copied to clipboard
Link copied to clipboard
sealed interface QueryPathSegment

Schema path parts; keys are captured by logical lookup, items describe array traversal.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class QuerySchemaContext(val namedAggregate: NamedAggregate, val model: QueryModel)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class QuerySchemaRegistration(val context: QuerySchemaContext, val declaration: QuerySchemaDeclaration)
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class QueryStorageType(val value: String)
Link copied to clipboard
class QueryValueBindings(bindings: Map<QueryCapability, QueryFieldBindingTemplate> = emptyMap(), val projectionPath: QueryPathTemplate? = null, val responsePath: QueryPathTemplate? = null)
Link copied to clipboard
class QueryValueSchema(val kind: QueryValueKind, val title: String? = null, val description: String? = null, enumValues: List<JsonNode>? = null, valueTypes: Set<QueryValueType> = if (kind == QueryValueKind.OBJECT) setOf(QueryValueType.OBJECT) else emptySet(), properties: Map<String, QueryValueSchema> = emptyMap(), val items: QueryValueSchema? = null, val additionalProperties: QueryValueSchema? = null, alternatives: List<QueryValueSchema> = emptyList(), val nullable: Boolean = kind != QueryValueKind.UNION || alternatives.any { it.nullable }, val required: Boolean = false, val semanticType: QuerySemanticType? = null, val maskRule: MaskRule? = null)

One immutable logical value shape, shared by backend schema snapshots. Collection inputs are snapshotted; mutable enum JSON is detached on read.

Link copied to clipboard
class WorkingDirectoryQuerySchemaSource(basePath: Path = Path.of("config"), readText: (Path) -> String = Files::readString) : QuerySchemaSource

Functions

Link copied to clipboard
Link copied to clipboard

Operations on primitive arrays use one member layer, without flattening the definition.

Link copied to clipboard
fun QueryModelSchema.physicalField(field: QueryField, capability: QueryCapability, logicalParent: QueryField? = null): QueryField

A native compiler consumes a binding; it never guesses physical names from caller input.

Link copied to clipboard
Link copied to clipboard