@atproto/lex-document 0.0.12 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @atproto/lex-document
2
2
 
3
+ ## 0.0.14
4
+
5
+ ### Patch Changes
6
+
7
+ - [#4660](https://github.com/bluesky-social/atproto/pull/4660) [`ea5df64`](https://github.com/bluesky-social/atproto/commit/ea5df64db9e408d2b320f5f75eb2878aef6bc6df) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Improve validation of `encoding` payload fields in lexicon documents
8
+
9
+ - Updated dependencies [[`39dea03`](https://github.com/bluesky-social/atproto/commit/39dea03c417a1da069962560505427a7aa25ad7a), [`ea5df64`](https://github.com/bluesky-social/atproto/commit/ea5df64db9e408d2b320f5f75eb2878aef6bc6df), [`ea5df64`](https://github.com/bluesky-social/atproto/commit/ea5df64db9e408d2b320f5f75eb2878aef6bc6df), [`39dea03`](https://github.com/bluesky-social/atproto/commit/39dea03c417a1da069962560505427a7aa25ad7a), [`39dea03`](https://github.com/bluesky-social/atproto/commit/39dea03c417a1da069962560505427a7aa25ad7a), [`ea5df64`](https://github.com/bluesky-social/atproto/commit/ea5df64db9e408d2b320f5f75eb2878aef6bc6df), [`39dea03`](https://github.com/bluesky-social/atproto/commit/39dea03c417a1da069962560505427a7aa25ad7a), [`ea5df64`](https://github.com/bluesky-social/atproto/commit/ea5df64db9e408d2b320f5f75eb2878aef6bc6df), [`ea5df64`](https://github.com/bluesky-social/atproto/commit/ea5df64db9e408d2b320f5f75eb2878aef6bc6df), [`ea5df64`](https://github.com/bluesky-social/atproto/commit/ea5df64db9e408d2b320f5f75eb2878aef6bc6df), [`ea5df64`](https://github.com/bluesky-social/atproto/commit/ea5df64db9e408d2b320f5f75eb2878aef6bc6df), [`ea5df64`](https://github.com/bluesky-social/atproto/commit/ea5df64db9e408d2b320f5f75eb2878aef6bc6df), [`ea5df64`](https://github.com/bluesky-social/atproto/commit/ea5df64db9e408d2b320f5f75eb2878aef6bc6df), [`ea5df64`](https://github.com/bluesky-social/atproto/commit/ea5df64db9e408d2b320f5f75eb2878aef6bc6df)]:
10
+ - @atproto/lex-schema@0.0.13
11
+
12
+ ## 0.0.13
13
+
14
+ ### Patch Changes
15
+
16
+ - [#4603](https://github.com/bluesky-social/atproto/pull/4603) [`7b9a98a`](https://github.com/bluesky-social/atproto/commit/7b9a98a763636c5f66a06da11fe6013f29dd9157) Thanks [@matthieusieben](https://github.com/matthieusieben)! - `LexiconSchemaBuilder` returns and more accurately typed `Schema`
17
+
18
+ - [#4603](https://github.com/bluesky-social/atproto/pull/4603) [`7b9a98a`](https://github.com/bluesky-social/atproto/commit/7b9a98a763636c5f66a06da11fe6013f29dd9157) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Fix validation of `unknown` schema defs (used to allow any value, now requires `LexMap`)
19
+
20
+ - [#4601](https://github.com/bluesky-social/atproto/pull/4601) [`ed61c62`](https://github.com/bluesky-social/atproto/commit/ed61c62f3161fcde85ee9a93f8ed339c7e06c015) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Fix `exports` field in package.json
21
+
22
+ - [#4601](https://github.com/bluesky-social/atproto/pull/4601) [`ed61c62`](https://github.com/bluesky-social/atproto/commit/ed61c62f3161fcde85ee9a93f8ed339c7e06c015) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Add JSDoc
23
+
24
+ - Updated dependencies [[`7b9a98a`](https://github.com/bluesky-social/atproto/commit/7b9a98a763636c5f66a06da11fe6013f29dd9157), [`7b9a98a`](https://github.com/bluesky-social/atproto/commit/7b9a98a763636c5f66a06da11fe6013f29dd9157), [`ed61c62`](https://github.com/bluesky-social/atproto/commit/ed61c62f3161fcde85ee9a93f8ed339c7e06c015), [`7b9a98a`](https://github.com/bluesky-social/atproto/commit/7b9a98a763636c5f66a06da11fe6013f29dd9157), [`7b9a98a`](https://github.com/bluesky-social/atproto/commit/7b9a98a763636c5f66a06da11fe6013f29dd9157), [`ed61c62`](https://github.com/bluesky-social/atproto/commit/ed61c62f3161fcde85ee9a93f8ed339c7e06c015)]:
25
+ - @atproto/lex-schema@0.0.12
26
+
3
27
  ## 0.0.12
4
28
 
5
29
  ### Patch Changes
@@ -1,11 +1,31 @@
1
1
  import { l } from '@atproto/lex-schema';
2
+ /**
3
+ * Schema for validating Lexicon boolean type definitions.
4
+ *
5
+ * Validates boolean field definitions that may include a default value,
6
+ * a constant value, and an optional description.
7
+ */
2
8
  export declare const lexiconBooleanSchema: l.ObjectSchema<{
3
9
  readonly type: l.LiteralSchema<"boolean">;
4
10
  readonly default: l.OptionalSchema<l.BooleanSchema>;
5
11
  readonly const: l.OptionalSchema<l.BooleanSchema>;
6
12
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
7
13
  }>;
14
+ /**
15
+ * TypeScript type for a Lexicon boolean definition.
16
+ *
17
+ * Represents the structure of a boolean field in a Lexicon document,
18
+ * including optional default, const, and description properties.
19
+ *
20
+ * @see {@link lexiconBooleanSchema} for the schema definition
21
+ */
8
22
  export type LexiconBoolean = l.Infer<typeof lexiconBooleanSchema>;
23
+ /**
24
+ * Schema for validating Lexicon integer type definitions.
25
+ *
26
+ * Validates integer field definitions with support for default values,
27
+ * minimum/maximum constraints, enumerated values, and constant values.
28
+ */
9
29
  export declare const lexiconIntegerSchema: l.ObjectSchema<{
10
30
  readonly type: l.LiteralSchema<"integer">;
11
31
  readonly default: l.OptionalSchema<l.IntegerSchema>;
@@ -15,7 +35,22 @@ export declare const lexiconIntegerSchema: l.ObjectSchema<{
15
35
  readonly const: l.OptionalSchema<l.IntegerSchema>;
16
36
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
17
37
  }>;
38
+ /**
39
+ * TypeScript type for a Lexicon integer definition.
40
+ *
41
+ * Represents the structure of an integer field in a Lexicon document,
42
+ * including optional constraints like minimum, maximum, enum, and const.
43
+ *
44
+ * @see {@link lexiconIntegerSchema} for the schema definition
45
+ */
18
46
  export type LexiconInteger = l.Infer<typeof lexiconIntegerSchema>;
47
+ /**
48
+ * Schema for validating Lexicon string type definitions.
49
+ *
50
+ * Validates string field definitions with support for format validation,
51
+ * length constraints (both character and grapheme-based), enumerated values,
52
+ * known values, and constant values.
53
+ */
19
54
  export declare const lexiconStringSchema: l.ObjectSchema<{
20
55
  readonly type: l.LiteralSchema<"string">;
21
56
  readonly format: l.OptionalSchema<l.EnumSchema<l.StringFormat>>;
@@ -29,48 +64,154 @@ export declare const lexiconStringSchema: l.ObjectSchema<{
29
64
  readonly knownValues: l.OptionalSchema<l.ArraySchema<l.StringSchema<{}>>>;
30
65
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
31
66
  }>;
67
+ /**
68
+ * TypeScript type for a Lexicon string definition.
69
+ *
70
+ * Represents the structure of a string field in a Lexicon document,
71
+ * including optional format, length constraints, enum, const, and knownValues.
72
+ *
73
+ * @see {@link lexiconStringSchema} for the schema definition
74
+ */
32
75
  export type LexiconString = l.Infer<typeof lexiconStringSchema>;
76
+ /**
77
+ * Schema for validating Lexicon bytes type definitions.
78
+ *
79
+ * Validates binary data field definitions with optional length constraints.
80
+ * Used for raw byte arrays in DAG-CBOR encoding.
81
+ */
33
82
  export declare const lexiconBytesSchema: l.ObjectSchema<{
34
83
  readonly type: l.LiteralSchema<"bytes">;
35
84
  readonly maxLength: l.OptionalSchema<l.IntegerSchema>;
36
85
  readonly minLength: l.OptionalSchema<l.IntegerSchema>;
37
86
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
38
87
  }>;
88
+ /**
89
+ * TypeScript type for a Lexicon bytes definition.
90
+ *
91
+ * Represents the structure of a binary data field in a Lexicon document,
92
+ * including optional minLength and maxLength constraints.
93
+ *
94
+ * @see {@link lexiconBytesSchema} for the schema definition
95
+ */
39
96
  export type LexiconBytes = l.Infer<typeof lexiconBytesSchema>;
97
+ /**
98
+ * Schema for validating Lexicon CID link type definitions.
99
+ *
100
+ * Validates Content Identifier (CID) link field definitions.
101
+ * CIDs are used to reference content-addressed data in IPFS/IPLD.
102
+ */
40
103
  export declare const lexiconCidLinkSchema: l.ObjectSchema<{
41
104
  readonly type: l.LiteralSchema<"cid-link">;
42
105
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
43
106
  }>;
107
+ /**
108
+ * TypeScript type for a Lexicon CID link definition.
109
+ *
110
+ * Represents the structure of a CID link field in a Lexicon document.
111
+ *
112
+ * @see {@link lexiconCidLinkSchema} for the schema definition
113
+ */
44
114
  export type LexiconCid = l.Infer<typeof lexiconCidLinkSchema>;
115
+ /**
116
+ * Schema for validating Lexicon blob type definitions.
117
+ *
118
+ * Validates blob field definitions with optional MIME type acceptance list
119
+ * and maximum size constraints. Blobs represent uploaded file references.
120
+ */
45
121
  export declare const lexiconBlobSchema: l.ObjectSchema<{
46
122
  readonly type: l.LiteralSchema<"blob">;
47
123
  readonly accept: l.OptionalSchema<l.ArraySchema<l.StringSchema<{}>>>;
48
124
  readonly maxSize: l.OptionalSchema<l.IntegerSchema>;
49
125
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
50
126
  }>;
127
+ /**
128
+ * TypeScript type for a Lexicon blob definition.
129
+ *
130
+ * Represents the structure of a blob field in a Lexicon document,
131
+ * including optional accept list and maxSize constraints.
132
+ *
133
+ * @see {@link lexiconBlobSchema} for the schema definition
134
+ */
51
135
  export type LexiconBlob = l.Infer<typeof lexiconBlobSchema>;
136
+ /**
137
+ * Schema for validating Lexicon unknown type definitions.
138
+ *
139
+ * Validates unknown field definitions which accept any valid data.
140
+ * Used when the schema cannot determine the type ahead of time.
141
+ */
52
142
  export declare const lexiconUnknownSchema: l.ObjectSchema<{
53
143
  readonly type: l.LiteralSchema<"unknown">;
54
144
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
55
145
  }>;
146
+ /**
147
+ * TypeScript type for a Lexicon unknown definition.
148
+ *
149
+ * Represents the structure of an unknown field in a Lexicon document.
150
+ *
151
+ * @see {@link lexiconUnknownSchema} for the schema definition
152
+ */
56
153
  export type LexiconUnknown = l.Infer<typeof lexiconUnknownSchema>;
154
+ /**
155
+ * Schema for validating Lexicon token type definitions.
156
+ *
157
+ * Validates token definitions which represent symbolic constants.
158
+ * Tokens are used to define enumeration-like values that can be
159
+ * referenced across different lexicons.
160
+ */
57
161
  export declare const lexiconTokenSchema: l.ObjectSchema<{
58
162
  readonly type: l.LiteralSchema<"token">;
59
163
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
60
164
  }>;
165
+ /**
166
+ * TypeScript type for a Lexicon token definition.
167
+ *
168
+ * Represents the structure of a token in a Lexicon document.
169
+ *
170
+ * @see {@link lexiconTokenSchema} for the schema definition
171
+ */
61
172
  export type LexiconToken = l.Infer<typeof lexiconTokenSchema>;
173
+ /**
174
+ * Schema for validating Lexicon reference type definitions.
175
+ *
176
+ * Validates reference definitions which point to other type definitions
177
+ * within the same or different Lexicon documents. References use the
178
+ * format "nsid#defName" for cross-document refs or "#defName" for local refs.
179
+ */
62
180
  export declare const lexiconRefSchema: l.ObjectSchema<{
63
181
  readonly type: l.LiteralSchema<"ref">;
64
182
  readonly ref: l.StringSchema<{}>;
65
183
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
66
184
  }>;
185
+ /**
186
+ * TypeScript type for a Lexicon reference definition.
187
+ *
188
+ * Represents the structure of a reference field in a Lexicon document,
189
+ * including the ref string pointing to another definition.
190
+ *
191
+ * @see {@link lexiconRefSchema} for the schema definition
192
+ */
67
193
  export type LexiconRef = l.Infer<typeof lexiconRefSchema>;
194
+ /**
195
+ * Schema for validating Lexicon union reference type definitions.
196
+ *
197
+ * Validates union definitions which can reference multiple possible types.
198
+ * The union can be closed (only listed types allowed) or open (allows
199
+ * additional unlisted types).
200
+ */
68
201
  export declare const lexiconRefUnionSchema: l.ObjectSchema<{
69
202
  readonly type: l.LiteralSchema<"union">;
70
203
  readonly refs: l.ArraySchema<l.StringSchema<{}>>;
71
204
  readonly closed: l.OptionalSchema<l.BooleanSchema>;
72
205
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
73
206
  }>;
207
+ /**
208
+ * TypeScript type for a Lexicon union reference definition.
209
+ *
210
+ * Represents the structure of a union field in a Lexicon document,
211
+ * including an array of reference strings and optional closed flag.
212
+ *
213
+ * @see {@link lexiconRefUnionSchema} for the schema definition
214
+ */
74
215
  export type LexiconRefUnion = l.Infer<typeof lexiconRefUnionSchema>;
75
216
  declare const ARRAY_ITEMS_SCHEMAS: readonly [l.ObjectSchema<{
76
217
  readonly type: l.LiteralSchema<"boolean">;
@@ -123,7 +264,18 @@ declare const ARRAY_ITEMS_SCHEMAS: readonly [l.ObjectSchema<{
123
264
  readonly closed: l.OptionalSchema<l.BooleanSchema>;
124
265
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
125
266
  }>];
267
+ /**
268
+ * TypeScript type representing valid item types for Lexicon arrays.
269
+ *
270
+ * Union of all types that can appear as items within a Lexicon array definition.
271
+ */
126
272
  export type LexiconArrayItems = l.Infer<(typeof ARRAY_ITEMS_SCHEMAS)[number]>;
273
+ /**
274
+ * Schema for validating Lexicon array type definitions.
275
+ *
276
+ * Validates array field definitions with specified item type and
277
+ * optional length constraints.
278
+ */
127
279
  export declare const lexiconArraySchema: l.ObjectSchema<{
128
280
  readonly type: l.LiteralSchema<"array">;
129
281
  readonly items: l.DiscriminatedUnionSchema<"type", readonly [l.ObjectSchema<{
@@ -181,7 +333,22 @@ export declare const lexiconArraySchema: l.ObjectSchema<{
181
333
  readonly maxLength: l.OptionalSchema<l.IntegerSchema>;
182
334
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
183
335
  }>;
336
+ /**
337
+ * TypeScript type for a Lexicon array definition.
338
+ *
339
+ * Represents the structure of an array field in a Lexicon document,
340
+ * including the items schema and optional length constraints.
341
+ *
342
+ * @see {@link lexiconArraySchema} for the schema definition
343
+ */
184
344
  export type LexiconArray = l.Infer<typeof lexiconArraySchema>;
345
+ /**
346
+ * Schema for validating Lexicon object type definitions.
347
+ *
348
+ * Validates object definitions with named properties, required field lists,
349
+ * and nullable field lists. Includes refinement to ensure all required
350
+ * properties are defined in the properties map.
351
+ */
185
352
  export declare const lexiconObjectSchema: l.ObjectSchema<{
186
353
  readonly type: l.LiteralSchema<"object">;
187
354
  readonly properties: l.DictSchema<l.StringSchema<{}>, l.DiscriminatedUnionSchema<"type", readonly [l.ObjectSchema<{
@@ -295,9 +462,40 @@ export declare const lexiconObjectSchema: l.ObjectSchema<{
295
462
  readonly nullable: l.OptionalSchema<l.ArraySchema<l.StringSchema<{}>>>;
296
463
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
297
464
  }>;
465
+ /**
466
+ * TypeScript type for a Lexicon object definition.
467
+ *
468
+ * Represents the structure of an object type in a Lexicon document,
469
+ * including properties map, required array, and nullable array.
470
+ *
471
+ * @see {@link lexiconObjectSchema} for the schema definition
472
+ */
298
473
  export type LexiconObject = l.Infer<typeof lexiconObjectSchema>;
474
+ /**
475
+ * Schema for validating Lexicon record key definitions.
476
+ *
477
+ * Validates record key type specifications. Valid values are:
478
+ * - "any": Any valid record key
479
+ * - "nsid": Namespaced identifier
480
+ * - "tid": Timestamp identifier
481
+ * - "literal:<string>": A specific literal string value
482
+ */
299
483
  export declare const lexiconRecordKeySchema: l.CustomSchema<l.LexiconRecordKey>;
484
+ /**
485
+ * TypeScript type for valid Lexicon record key values.
486
+ *
487
+ * Can be "any", "nsid", "tid", or "literal:<string>".
488
+ *
489
+ * @see {@link lexiconRecordKeySchema} for the schema definition
490
+ */
300
491
  export type LexiconRecordKey = l.LexiconRecordKey;
492
+ /**
493
+ * Schema for validating Lexicon record type definitions.
494
+ *
495
+ * Validates record definitions which define the structure of data
496
+ * stored in AT Protocol repositories. Records have a key type
497
+ * and an object schema defining the record's data structure.
498
+ */
301
499
  export declare const lexiconRecordSchema: l.ObjectSchema<{
302
500
  readonly type: l.LiteralSchema<"record">;
303
501
  readonly record: l.ObjectSchema<{
@@ -416,7 +614,22 @@ export declare const lexiconRecordSchema: l.ObjectSchema<{
416
614
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
417
615
  readonly key: l.CustomSchema<l.LexiconRecordKey>;
418
616
  }>;
617
+ /**
618
+ * TypeScript type for a Lexicon record definition.
619
+ *
620
+ * Represents the structure of a record type in a Lexicon document,
621
+ * including the key type and the object schema for the record data.
622
+ *
623
+ * @see {@link lexiconRecordSchema} for the schema definition
624
+ */
419
625
  export type LexiconRecord = l.Infer<typeof lexiconRecordSchema>;
626
+ /**
627
+ * Schema for validating Lexicon XRPC method parameters.
628
+ *
629
+ * Validates the parameters definition for query and procedure methods.
630
+ * Parameters can only be primitive types (boolean, integer, string)
631
+ * or arrays of primitives.
632
+ */
420
633
  export declare const lexiconParameters: l.ObjectSchema<{
421
634
  readonly type: l.LiteralSchema<"params">;
422
635
  readonly properties: l.DictSchema<l.StringSchema<{}>, l.DiscriminatedUnionSchema<"type", readonly [l.ObjectSchema<{
@@ -479,7 +692,21 @@ export declare const lexiconParameters: l.ObjectSchema<{
479
692
  readonly required: l.OptionalSchema<l.ArraySchema<l.StringSchema<{}>>>;
480
693
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
481
694
  }>;
695
+ /**
696
+ * TypeScript type for Lexicon XRPC method parameters.
697
+ *
698
+ * Represents the structure of parameters for query and procedure methods.
699
+ *
700
+ * @see {@link lexiconParameters} for the schema definition
701
+ */
482
702
  export type LexiconParameters = l.Infer<typeof lexiconParameters>;
703
+ /**
704
+ * Schema for validating Lexicon XRPC method payloads.
705
+ *
706
+ * Validates input/output payload definitions for procedures and queries.
707
+ * Payloads specify the encoding (MIME type) and optional schema for
708
+ * the request or response body.
709
+ */
483
710
  export declare const lexiconPayload: l.ObjectSchema<{
484
711
  readonly encoding: l.StringSchema<{}>;
485
712
  readonly schema: l.OptionalSchema<l.DiscriminatedUnionSchema<"type", readonly [l.ObjectSchema<{
@@ -606,14 +833,42 @@ export declare const lexiconPayload: l.ObjectSchema<{
606
833
  }>]>>;
607
834
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
608
835
  }>;
836
+ /**
837
+ * TypeScript type for a Lexicon XRPC payload definition.
838
+ *
839
+ * Represents the structure of an input or output payload,
840
+ * including encoding type and optional schema.
841
+ *
842
+ * @see {@link lexiconPayload} for the schema definition
843
+ */
609
844
  export type LexiconPayload = l.Infer<typeof lexiconPayload>;
845
+ /**
846
+ * Schema for validating Lexicon XRPC error definitions.
847
+ *
848
+ * Validates error definitions that can be returned by XRPC methods.
849
+ * Each error has a name and optional description.
850
+ */
610
851
  export declare const lexiconError: l.ObjectSchema<{
611
852
  readonly name: l.StringSchema<{
612
853
  readonly minLength: 1;
613
854
  }>;
614
855
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
615
856
  }>;
857
+ /**
858
+ * TypeScript type for a Lexicon XRPC error definition.
859
+ *
860
+ * Represents an error that can be returned by an XRPC method.
861
+ *
862
+ * @see {@link lexiconError} for the schema definition
863
+ */
616
864
  export type LexiconError = l.Infer<typeof lexiconError>;
865
+ /**
866
+ * Schema for validating Lexicon query (GET) method definitions.
867
+ *
868
+ * Validates query method definitions which represent read-only HTTP GET
869
+ * operations. Queries can have parameters, an output payload, and
870
+ * defined error types.
871
+ */
617
872
  export declare const lexiconQuerySchema: l.ObjectSchema<{
618
873
  readonly type: l.LiteralSchema<"query">;
619
874
  readonly parameters: l.OptionalSchema<l.ObjectSchema<{
@@ -812,7 +1067,21 @@ export declare const lexiconQuerySchema: l.ObjectSchema<{
812
1067
  }>>>;
813
1068
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
814
1069
  }>;
1070
+ /**
1071
+ * TypeScript type for a Lexicon query method definition.
1072
+ *
1073
+ * Represents the structure of an XRPC query (GET) method.
1074
+ *
1075
+ * @see {@link lexiconQuerySchema} for the schema definition
1076
+ */
815
1077
  export type LexiconQuery = l.Infer<typeof lexiconQuerySchema>;
1078
+ /**
1079
+ * Schema for validating Lexicon procedure (POST) method definitions.
1080
+ *
1081
+ * Validates procedure method definitions which represent HTTP POST
1082
+ * operations that may modify state. Procedures can have parameters,
1083
+ * input payload, output payload, and defined error types.
1084
+ */
816
1085
  export declare const lexiconProcedureSchema: l.ObjectSchema<{
817
1086
  readonly type: l.LiteralSchema<"procedure">;
818
1087
  readonly parameters: l.OptionalSchema<l.ObjectSchema<{
@@ -1137,7 +1406,21 @@ export declare const lexiconProcedureSchema: l.ObjectSchema<{
1137
1406
  }>>>;
1138
1407
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
1139
1408
  }>;
1409
+ /**
1410
+ * TypeScript type for a Lexicon procedure method definition.
1411
+ *
1412
+ * Represents the structure of an XRPC procedure (POST) method.
1413
+ *
1414
+ * @see {@link lexiconProcedureSchema} for the schema definition
1415
+ */
1140
1416
  export type LexiconProcedure = l.Infer<typeof lexiconProcedureSchema>;
1417
+ /**
1418
+ * Schema for validating Lexicon subscription (WebSocket) method definitions.
1419
+ *
1420
+ * Validates subscription method definitions which represent real-time
1421
+ * streaming connections over WebSocket. Subscriptions have parameters,
1422
+ * a message schema defining the streamed data format, and error types.
1423
+ */
1141
1424
  export declare const lexiconSubscriptionSchema: l.ObjectSchema<{
1142
1425
  readonly type: l.LiteralSchema<"subscription">;
1143
1426
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
@@ -1219,30 +1502,68 @@ export declare const lexiconSubscriptionSchema: l.ObjectSchema<{
1219
1502
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
1220
1503
  }>>>;
1221
1504
  }>;
1505
+ /**
1506
+ * TypeScript type for a Lexicon subscription method definition.
1507
+ *
1508
+ * Represents the structure of an XRPC subscription (WebSocket) method.
1509
+ *
1510
+ * @see {@link lexiconSubscriptionSchema} for the schema definition
1511
+ */
1222
1512
  export type LexiconSubscription = l.Infer<typeof lexiconSubscriptionSchema>;
1223
- declare const lexiconLanguageSchema: l.StringSchema<{
1513
+ /**
1514
+ * Schema for validating language codes in Lexicon permission definitions.
1515
+ */
1516
+ export declare const lexiconLanguageSchema: l.StringSchema<{
1224
1517
  readonly format: "language";
1225
1518
  }>;
1519
+ /**
1520
+ * TypeScript type for a BCP 47 language code string.
1521
+ *
1522
+ * @see {@link lexiconLanguageSchema} for the schema definition
1523
+ */
1226
1524
  export type LexiconLanguage = l.Infer<typeof lexiconLanguageSchema>;
1227
- declare const lexiconLanguageDict: l.DictSchema<l.StringSchema<{
1525
+ /**
1526
+ * Schema for validating language-keyed string dictionaries.
1527
+ * Used for localized text in permission definitions.
1528
+ */
1529
+ export declare const lexiconLanguageDict: l.DictSchema<l.StringSchema<{
1228
1530
  readonly format: "language";
1229
1531
  }>, l.StringSchema<{}>>;
1532
+ /**
1533
+ * TypeScript type for a language-keyed dictionary of localized strings.
1534
+ *
1535
+ * @see {@link lexiconLanguageDict} for the schema definition
1536
+ */
1230
1537
  export type LexiconLanguageDict = l.Infer<typeof lexiconLanguageDict>;
1231
- declare const lexiconPermissionSchema: l.IntersectionSchema<l.ObjectSchema<{
1538
+ /**
1539
+ * Schema for validating individual Lexicon permission definitions.
1540
+ */
1541
+ export declare const lexiconPermissionSchema: l.IntersectionSchema<l.ObjectSchema<{
1232
1542
  readonly type: l.LiteralSchema<"permission">;
1233
1543
  readonly resource: l.StringSchema<{
1234
1544
  readonly minLength: 1;
1235
1545
  }>;
1236
- }>, l.DictSchema<l.StringSchema<{}>, l.UnionSchema<readonly [l.UnionSchema<readonly [l.BooleanSchema, l.IntegerSchema, l.StringSchema<{}>]>, l.ArraySchema<l.UnionSchema<readonly [l.BooleanSchema, l.IntegerSchema, l.StringSchema<{}>]>>]>>>;
1546
+ }>, l.DictSchema<l.StringSchema<{}>, l.UnionSchema<readonly [l.UnionSchema<readonly [l.BooleanSchema, l.IntegerSchema, l.StringSchema<{}>]>, l.ArraySchema<l.BooleanSchema>, l.ArraySchema<l.IntegerSchema>, l.ArraySchema<l.StringSchema<{}>>]>>>;
1547
+ /**
1548
+ * TypeScript type for a Lexicon permission definition.
1549
+ *
1550
+ * Represents a single permission with a resource identifier
1551
+ * and optional additional parameters.
1552
+ *
1553
+ * @see {@link lexiconPermissionSchema} for the schema definition
1554
+ */
1237
1555
  export type LexiconPermission = l.Infer<typeof lexiconPermissionSchema>;
1238
- declare const lexiconPermissionSetSchema: l.ObjectSchema<{
1556
+ /**
1557
+ * Schema for validating Lexicon permission set definitions.
1558
+ */
1559
+ export declare const lexiconPermissionSetSchema: l.ObjectSchema<{
1239
1560
  readonly type: l.LiteralSchema<"permission-set">;
1240
1561
  readonly permissions: l.ArraySchema<l.IntersectionSchema<l.ObjectSchema<{
1241
1562
  readonly type: l.LiteralSchema<"permission">;
1242
1563
  readonly resource: l.StringSchema<{
1243
1564
  readonly minLength: 1;
1244
1565
  }>;
1245
- }>, l.DictSchema<l.StringSchema<{}>, l.UnionSchema<readonly [l.UnionSchema<readonly [l.BooleanSchema, l.IntegerSchema, l.StringSchema<{}>]>, l.ArraySchema<l.UnionSchema<readonly [l.BooleanSchema, l.IntegerSchema, l.StringSchema<{}>]>>]>>>>;
1566
+ }>, l.DictSchema<l.StringSchema<{}>, l.UnionSchema<readonly [l.UnionSchema<readonly [l.BooleanSchema, l.IntegerSchema, l.StringSchema<{}>]>, l.ArraySchema<l.BooleanSchema>, l.ArraySchema<l.IntegerSchema>, l.ArraySchema<l.StringSchema<{}>>]>>>>;
1246
1567
  readonly title: l.OptionalSchema<l.StringSchema<{}>>;
1247
1568
  readonly 'title:lang': l.OptionalSchema<l.DictSchema<l.StringSchema<{
1248
1569
  readonly format: "language";
@@ -1253,6 +1574,14 @@ declare const lexiconPermissionSetSchema: l.ObjectSchema<{
1253
1574
  }>, l.StringSchema<{}>>>;
1254
1575
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
1255
1576
  }>;
1577
+ /**
1578
+ * TypeScript type for a Lexicon permission set definition.
1579
+ *
1580
+ * Represents a collection of permissions with optional
1581
+ * localized title and detail text.
1582
+ *
1583
+ * @see {@link lexiconPermissionSetSchema} for the schema definition
1584
+ */
1256
1585
  export type LexiconPermissionSet = l.Infer<typeof lexiconPermissionSetSchema>;
1257
1586
  declare const NAMED_LEXICON_SCHEMAS: readonly [l.ObjectSchema<{
1258
1587
  readonly type: l.LiteralSchema<"boolean">;
@@ -1464,6 +1793,12 @@ declare const NAMED_LEXICON_SCHEMAS: readonly [l.ObjectSchema<{
1464
1793
  readonly type: l.LiteralSchema<"token">;
1465
1794
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
1466
1795
  }>];
1796
+ /**
1797
+ * TypeScript type for any named Lexicon definition.
1798
+ *
1799
+ * Union of all definition types that can appear in the defs section
1800
+ * of a Lexicon document (excluding main-only types).
1801
+ */
1467
1802
  export type NamedLexiconDefinition = l.Infer<(typeof NAMED_LEXICON_SCHEMAS)[number]>;
1468
1803
  declare const MAIN_LEXICON_SCHEMAS: readonly [l.ObjectSchema<{
1469
1804
  readonly type: l.LiteralSchema<"permission-set">;
@@ -1472,7 +1807,7 @@ declare const MAIN_LEXICON_SCHEMAS: readonly [l.ObjectSchema<{
1472
1807
  readonly resource: l.StringSchema<{
1473
1808
  readonly minLength: 1;
1474
1809
  }>;
1475
- }>, l.DictSchema<l.StringSchema<{}>, l.UnionSchema<readonly [l.UnionSchema<readonly [l.BooleanSchema, l.IntegerSchema, l.StringSchema<{}>]>, l.ArraySchema<l.UnionSchema<readonly [l.BooleanSchema, l.IntegerSchema, l.StringSchema<{}>]>>]>>>>;
1810
+ }>, l.DictSchema<l.StringSchema<{}>, l.UnionSchema<readonly [l.UnionSchema<readonly [l.BooleanSchema, l.IntegerSchema, l.StringSchema<{}>]>, l.ArraySchema<l.BooleanSchema>, l.ArraySchema<l.IntegerSchema>, l.ArraySchema<l.StringSchema<{}>>]>>>>;
1476
1811
  readonly title: l.OptionalSchema<l.StringSchema<{}>>;
1477
1812
  readonly 'title:lang': l.OptionalSchema<l.DictSchema<l.StringSchema<{
1478
1813
  readonly format: "language";
@@ -2409,11 +2744,66 @@ declare const MAIN_LEXICON_SCHEMAS: readonly [l.ObjectSchema<{
2409
2744
  readonly type: l.LiteralSchema<"token">;
2410
2745
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
2411
2746
  }>];
2747
+ /**
2748
+ * TypeScript type for main Lexicon definitions.
2749
+ *
2750
+ * Union of all definition types that can appear as the "main" entry
2751
+ * in a Lexicon document's defs section.
2752
+ */
2412
2753
  export type MainLexiconDefinition = l.Infer<(typeof MAIN_LEXICON_SCHEMAS)[number]>;
2754
+ /**
2755
+ * Schema for validating Lexicon document identifiers (NSIDs).
2756
+ *
2757
+ * Validates that the identifier follows the Namespaced Identifier format
2758
+ * (e.g., "com.atproto.repo.createRecord").
2759
+ */
2413
2760
  export declare const lexiconIdentifierSchema: l.StringSchema<{
2414
2761
  readonly format: "nsid";
2415
2762
  }>;
2763
+ /**
2764
+ * TypeScript type for a Lexicon document identifier.
2765
+ *
2766
+ * A Namespaced Identifier (NSID) string in reverse-domain format.
2767
+ *
2768
+ * @see {@link lexiconIdentifierSchema} for the schema definition
2769
+ */
2416
2770
  export type LexiconIdentifier = l.Infer<typeof lexiconIdentifierSchema>;
2771
+ /**
2772
+ * Schema for validating complete Lexicon document structures.
2773
+ *
2774
+ * Validates the top-level structure of a Lexicon document, including:
2775
+ * - `lexicon`: Must be 1 (the current Lexicon version)
2776
+ * - `id`: The document's NSID
2777
+ * - `revision`: Optional version number
2778
+ * - `description`: Optional document description
2779
+ * - `defs`: Map of definition names to their schemas
2780
+ *
2781
+ * The "main" definition (if present) can be any main-only type,
2782
+ * while other definitions are limited to named types.
2783
+ *
2784
+ * @example
2785
+ * ```ts
2786
+ * const result = lexiconDocumentSchema.parse({
2787
+ * lexicon: 1,
2788
+ * id: 'com.example.getProfile',
2789
+ * defs: {
2790
+ * main: {
2791
+ * type: 'query',
2792
+ * output: {
2793
+ * encoding: 'application/json',
2794
+ * schema: { type: 'ref', ref: '#profile' }
2795
+ * }
2796
+ * },
2797
+ * profile: {
2798
+ * type: 'object',
2799
+ * properties: {
2800
+ * name: { type: 'string' }
2801
+ * }
2802
+ * }
2803
+ * }
2804
+ * })
2805
+ * ```
2806
+ */
2417
2807
  export declare const lexiconDocumentSchema: l.ObjectSchema<{
2418
2808
  readonly lexicon: l.LiteralSchema<1>;
2419
2809
  readonly id: l.StringSchema<{
@@ -2429,7 +2819,7 @@ export declare const lexiconDocumentSchema: l.ObjectSchema<{
2429
2819
  readonly resource: l.StringSchema<{
2430
2820
  readonly minLength: 1;
2431
2821
  }>;
2432
- }>, l.DictSchema<l.StringSchema<{}>, l.UnionSchema<readonly [l.UnionSchema<readonly [l.BooleanSchema, l.IntegerSchema, l.StringSchema<{}>]>, l.ArraySchema<l.UnionSchema<readonly [l.BooleanSchema, l.IntegerSchema, l.StringSchema<{}>]>>]>>>>;
2822
+ }>, l.DictSchema<l.StringSchema<{}>, l.UnionSchema<readonly [l.UnionSchema<readonly [l.BooleanSchema, l.IntegerSchema, l.StringSchema<{}>]>, l.ArraySchema<l.BooleanSchema>, l.ArraySchema<l.IntegerSchema>, l.ArraySchema<l.StringSchema<{}>>]>>>>;
2433
2823
  readonly title: l.OptionalSchema<l.StringSchema<{}>>;
2434
2824
  readonly 'title:lang': l.OptionalSchema<l.DictSchema<l.StringSchema<{
2435
2825
  readonly format: "language";
@@ -3579,6 +3969,14 @@ export declare const lexiconDocumentSchema: l.ObjectSchema<{
3579
3969
  readonly description: l.OptionalSchema<l.StringSchema<{}>>;
3580
3970
  }>]>>>;
3581
3971
  }>;
3972
+ /**
3973
+ * TypeScript type for a complete Lexicon document.
3974
+ *
3975
+ * Represents the full structure of a Lexicon JSON document,
3976
+ * including the version, identifier, and all type definitions.
3977
+ *
3978
+ * @see {@link lexiconDocumentSchema} for the schema definition
3979
+ */
3582
3980
  export type LexiconDocument = l.Infer<typeof lexiconDocumentSchema>;
3583
3981
  export {};
3584
3982
  //# sourceMappingURL=lexicon-document.d.ts.map