···11// Token type validator
22// Tokens are unit types used for discrimination in unions
3344-import honk/errors as errors
54import gleam/json.{type Json}
65import gleam/string
66+import honk/errors
77import honk/internal/constraints
88import honk/internal/json_helpers
99import honk/validation/context.{type ValidationContext}
+1-1
src/honk/validation/meta/unknown.gleam
···11// Unknown type validator
22// Unknown allows flexible data with AT Protocol data model rules
3344-import honk/errors as errors
54import gleam/json.{type Json}
65import gleam/option.{None, Some}
66+import honk/errors
77import honk/internal/constraints
88import honk/internal/json_helpers
99import honk/validation/context.{type ValidationContext}
···11// Procedure type validator
22// Procedures are XRPC Procedure (HTTP POST) endpoints for modifying data
3344-import honk/errors as errors
54import gleam/json.{type Json}
65import gleam/option.{None, Some}
76import gleam/result
77+import honk/errors
88import honk/internal/constraints
99import honk/internal/json_helpers
1010import honk/validation/context.{type ValidationContext}
+1-1
src/honk/validation/primary/query.gleam
···11// Query type validator
22// Queries are XRPC Query (HTTP GET) endpoints for retrieving data
3344-import honk/errors as errors
54import gleam/dynamic/decode
65import gleam/json.{type Json}
76import gleam/list
87import gleam/option.{None, Some}
98import gleam/result
99+import honk/errors
1010import honk/internal/constraints
1111import honk/internal/json_helpers
1212import honk/validation/context.{type ValidationContext}
+5-2
src/honk/validation/primary/record.gleam
···11// Record type validator
2233-import honk/errors as errors
43import gleam/json.{type Json}
54import gleam/option.{None, Some}
65import gleam/result
76import gleam/string
77+import honk/errors
88import honk/internal/constraints
99import honk/internal/json_helpers
1010import honk/validation/context.{type ValidationContext}
···101101/// - `any`: Record key can be any valid record key format
102102/// - `nsid`: Record key must be a valid NSID
103103/// - `literal:*`: Record key must match the literal value after the colon
104104-fn validate_key(def_name: String, key: String) -> Result(Nil, errors.ValidationError) {
104104+fn validate_key(
105105+ def_name: String,
106106+ key: String,
107107+) -> Result(Nil, errors.ValidationError) {
105108 case key {
106109 "tid" -> Ok(Nil)
107110 "any" -> Ok(Nil)
+1-1
src/honk/validation/primary/subscription.gleam
···11// Subscription type validator
22// Subscriptions are XRPC Subscription (WebSocket) endpoints for real-time data
3344-import honk/errors as errors
54import gleam/dynamic/decode
65import gleam/json.{type Json}
76import gleam/list
87import gleam/option.{None, Some}
98import gleam/result
99+import honk/errors
1010import honk/internal/constraints
1111import honk/internal/json_helpers
1212import honk/validation/context.{type ValidationContext}
+1-1
src/honk/validation/primitive/blob.gleam
···11// Blob type validator
22// Blobs are binary objects with MIME types and size constraints
3344-import honk/errors as errors
54import gleam/dynamic.{type Dynamic}
65import gleam/dynamic/decode
76import gleam/int
···109import gleam/option.{None, Some}
1110import gleam/result
1211import gleam/string
1212+import honk/errors
1313import honk/internal/constraints
1414import honk/internal/json_helpers
1515import honk/validation/context.{type ValidationContext}