@alpic-ai/api 1.179.1 → 1.180.0

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/dist/index.d.mts CHANGED
@@ -2359,8 +2359,8 @@ export declare const contract: {
2359
2359
  environmentId: z.ZodString;
2360
2360
  content: z.ZodString;
2361
2361
  source: z.ZodEnum<{
2362
- user: "user";
2363
2362
  model: "model";
2363
+ user: "user";
2364
2364
  }>;
2365
2365
  clientName: z.ZodNullable<z.ZodString>;
2366
2366
  clientId: z.ZodNullable<z.ZodString>;
@@ -4530,8 +4530,8 @@ export declare const contractForDocs: {
4530
4530
  environmentId: z.ZodString;
4531
4531
  content: z.ZodString;
4532
4532
  source: z.ZodEnum<{
4533
- user: "user";
4534
4533
  model: "model";
4534
+ user: "user";
4535
4535
  }>;
4536
4536
  clientName: z.ZodNullable<z.ZodString>;
4537
4537
  clientId: z.ZodNullable<z.ZodString>;
@@ -6282,11 +6282,11 @@ await logger(() => Promise.resolve('bar'));
6282
6282
  */
6283
6283
  type Promisable<T> = T | PromiseLike<T>;
6284
6284
  //#endregion
6285
- //#region ../../node_modules/.pnpm/@orpc+shared@1.15.4_@opentelemetry+api@1.9.1/node_modules/@orpc/shared/dist/index.d.mts
6285
+ //#region ../../node_modules/.pnpm/@orpc+shared@1.15.5_@opentelemetry+api@1.9.1/node_modules/@orpc/shared/dist/index.d.mts
6286
6286
  type MaybeOptionalOptions<TOptions> = Record<never, never> extends TOptions ? [options?: TOptions] : [options: TOptions];
6287
6287
  type Value<T, TArgs extends any[] = []> = T | ((...args: TArgs) => T);
6288
6288
  //#endregion
6289
- //#region ../../node_modules/.pnpm/@orpc+client@1.15.4_@opentelemetry+api@1.9.1/node_modules/@orpc/client/dist/index.d.mts
6289
+ //#region ../../node_modules/.pnpm/@orpc+client@1.15.5_@opentelemetry+api@1.9.1/node_modules/@orpc/client/dist/index.d.mts
6290
6290
  declare const COMMON_ORPC_ERROR_DEFS: {
6291
6291
  readonly BAD_REQUEST: {
6292
6292
  readonly status: 400;
@@ -6399,7 +6399,7 @@ declare class ORPCError<TCode extends ORPCErrorCode, TData> extends Error {
6399
6399
  }
6400
6400
  type ORPCErrorJSON<TCode extends string, TData> = Pick<ORPCError<TCode, TData>, 'defined' | 'code' | 'status' | 'message' | 'data'>;
6401
6401
  //#endregion
6402
- //#region ../../node_modules/.pnpm/@orpc+server@1.15.4_@opentelemetry+api@1.9.1_ws@8.22.0/node_modules/@orpc/server/dist/shared/server.qKsRrdxW.d.mts
6402
+ //#region ../../node_modules/.pnpm/@orpc+server@1.15.5_@opentelemetry+api@1.9.1_ws@8.22.0/node_modules/@orpc/server/dist/shared/server.qKsRrdxW.d.mts
6403
6403
  type Context = Record<PropertyKey, any>;
6404
6404
  type ORPCErrorConstructorMapItemOptions<TData> = Omit<ORPCErrorOptions<TData>, 'defined' | 'status'>;
6405
6405
  type ORPCErrorConstructorMapItem<TCode extends ORPCErrorCode, TInData> = (...rest: MaybeOptionalOptions<ORPCErrorConstructorMapItemOptions<TInData>>) => ORPCError<TCode, TInData>;
@@ -6470,7 +6470,7 @@ interface Middleware<TInContext extends Context, TOutContext extends Context, TI
6470
6470
  }
6471
6471
  type AnyMiddleware = Middleware<any, any, any, any, any, any>;
6472
6472
  //#endregion
6473
- //#region ../../node_modules/.pnpm/@orpc+server@1.15.4_@opentelemetry+api@1.9.1_ws@8.22.0/node_modules/@orpc/server/dist/shared/server.C8_sRzQB.d.mts
6473
+ //#region ../../node_modules/.pnpm/@orpc+server@1.15.5_@opentelemetry+api@1.9.1_ws@8.22.0/node_modules/@orpc/server/dist/shared/server.C8_sRzQB.d.mts
6474
6474
  interface TraverseContractProcedureCallbackOptions {
6475
6475
  contract: AnyContractProcedure | AnyProcedure;
6476
6476
  path: readonly string[];
@@ -6479,976 +6479,976 @@ interface TraverseContractProcedureCallbackOptions {
6479
6479
  //#region ../../node_modules/.pnpm/json-schema-typed@8.0.2/node_modules/json-schema-typed/draft_2020_12.d.ts
6480
6480
  type MaybeReadonlyArray<T> = Array<T> | ReadonlyArray<T>;
6481
6481
  type ValueOf<T> = T[keyof T];
6482
- /**
6483
- * JSON Schema [Draft 2020-12](https://json-schema.org/draft/2020-12/json-schema-validation.html)
6482
+ /**
6483
+ * JSON Schema [Draft 2020-12](https://json-schema.org/draft/2020-12/json-schema-validation.html)
6484
6484
  */
6485
6485
  type JSONSchema<Value = any, SchemaType = Value extends boolean ? "boolean" : Value extends null ? "null" : Value extends number ? "number" | "integer" : Value extends string ? "string" : Value extends unknown[] ? "array" : Value extends Record<string | number, unknown> ? "object" : JSONSchema.TypeValue> = boolean | {
6486
- /**
6487
- * Using JSON Pointer fragments requires knowledge of the structure of the
6488
- * schema. When writing schema documents with the intention to provide
6489
- * re-usable schemas, it may be preferable to use a plain name fragment
6490
- * that is not tied to any particular structural location. This allows a
6491
- * subschema to be relocated without requiring JSON Pointer references to
6492
- * be updated.
6493
- *
6494
- * The `$anchor` keyword is used to specify such a fragment. It is an
6495
- * identifier keyword that can only be used to create plain name fragments.
6496
- *
6497
- * If present, the value of this keyword MUST be a string, which MUST start
6498
- * with a letter `[A-Za-z]`, followed by any number of letters, digits
6499
- * `[0-9]`, hyphens `-`, underscores `_`, colons `:`,
6500
- * or periods `.`.
6501
- *
6502
- * Note that the anchor string does not include the `#` character,
6503
- * as it is not a URI-reference. An `{"$anchor": "foo"}` becomes the
6504
- * fragment `#foo` when used in a URI.
6505
- *
6506
- * The base URI to which the resulting fragment is appended is determined
6507
- * by the `$id` keyword as explained in the previous section.
6508
- * Two `$anchor` keywords in the same schema document MAY have the same
6509
- * value if they apply to different base URIs, as the resulting full URIs
6510
- * will be distinct. However, the effect of two `$anchor` keywords
6511
- * with the same value and the same base URI is undefined. Implementations
6512
- * MAY raise an error if such usage is detected.
6486
+ /**
6487
+ * Using JSON Pointer fragments requires knowledge of the structure of the
6488
+ * schema. When writing schema documents with the intention to provide
6489
+ * re-usable schemas, it may be preferable to use a plain name fragment
6490
+ * that is not tied to any particular structural location. This allows a
6491
+ * subschema to be relocated without requiring JSON Pointer references to
6492
+ * be updated.
6493
+ *
6494
+ * The `$anchor` keyword is used to specify such a fragment. It is an
6495
+ * identifier keyword that can only be used to create plain name fragments.
6496
+ *
6497
+ * If present, the value of this keyword MUST be a string, which MUST start
6498
+ * with a letter `[A-Za-z]`, followed by any number of letters, digits
6499
+ * `[0-9]`, hyphens `-`, underscores `_`, colons `:`,
6500
+ * or periods `.`.
6501
+ *
6502
+ * Note that the anchor string does not include the `#` character,
6503
+ * as it is not a URI-reference. An `{"$anchor": "foo"}` becomes the
6504
+ * fragment `#foo` when used in a URI.
6505
+ *
6506
+ * The base URI to which the resulting fragment is appended is determined
6507
+ * by the `$id` keyword as explained in the previous section.
6508
+ * Two `$anchor` keywords in the same schema document MAY have the same
6509
+ * value if they apply to different base URIs, as the resulting full URIs
6510
+ * will be distinct. However, the effect of two `$anchor` keywords
6511
+ * with the same value and the same base URI is undefined. Implementations
6512
+ * MAY raise an error if such usage is detected.
6513
6513
  */
6514
6514
  $anchor?: string;
6515
- /**
6516
- * This keyword reserves a location for comments from schema authors to
6517
- * readers or maintainers of the schema.
6518
- *
6519
- * The value of this keyword MUST be a string. Implementations MUST NOT
6520
- * present this string to end users. Tools for editing schemas SHOULD
6521
- * support displaying and editing this keyword. The value of this keyword
6522
- * MAY be used in debug or error output which is intended for developers
6523
- * making use of schemas.
6524
- *
6525
- * Schema vocabularies SHOULD allow `$comment` within any object
6526
- * containing vocabulary keywords. Implementations MAY assume `$comment`
6527
- * is allowed unless the vocabulary specifically forbids it. Vocabularies
6528
- * MUST NOT specify any effect of `$comment` beyond what is described in
6529
- * this specification.
6530
- *
6531
- * Tools that translate other media types or programming languages
6532
- * to and from `application/schema+json` MAY choose to convert that media
6533
- * type or programming language's native comments to or from `$comment`
6534
- * values. The behavior of such translation when both native comments and
6535
- * `$comment` properties are present is implementation-dependent.
6536
- *
6537
- * Implementations MAY strip `$comment` values at any point during
6538
- * processing. In particular, this allows for shortening schemas when the
6539
- * size of deployed schemas is a concern.
6540
- *
6541
- * Implementations MUST NOT take any other action based on the presence,
6542
- * absence, or contents of `$comment` properties. In particular, the
6543
- * value of `$comment` MUST NOT be collected as an annotation result.
6515
+ /**
6516
+ * This keyword reserves a location for comments from schema authors to
6517
+ * readers or maintainers of the schema.
6518
+ *
6519
+ * The value of this keyword MUST be a string. Implementations MUST NOT
6520
+ * present this string to end users. Tools for editing schemas SHOULD
6521
+ * support displaying and editing this keyword. The value of this keyword
6522
+ * MAY be used in debug or error output which is intended for developers
6523
+ * making use of schemas.
6524
+ *
6525
+ * Schema vocabularies SHOULD allow `$comment` within any object
6526
+ * containing vocabulary keywords. Implementations MAY assume `$comment`
6527
+ * is allowed unless the vocabulary specifically forbids it. Vocabularies
6528
+ * MUST NOT specify any effect of `$comment` beyond what is described in
6529
+ * this specification.
6530
+ *
6531
+ * Tools that translate other media types or programming languages
6532
+ * to and from `application/schema+json` MAY choose to convert that media
6533
+ * type or programming language's native comments to or from `$comment`
6534
+ * values. The behavior of such translation when both native comments and
6535
+ * `$comment` properties are present is implementation-dependent.
6536
+ *
6537
+ * Implementations MAY strip `$comment` values at any point during
6538
+ * processing. In particular, this allows for shortening schemas when the
6539
+ * size of deployed schemas is a concern.
6540
+ *
6541
+ * Implementations MUST NOT take any other action based on the presence,
6542
+ * absence, or contents of `$comment` properties. In particular, the
6543
+ * value of `$comment` MUST NOT be collected as an annotation result.
6544
6544
  */
6545
6545
  $comment?: string;
6546
- /**
6547
- * The `$defs` keyword reserves a location for schema authors to inline
6548
- * re-usable JSON Schemas into a more general schema. The keyword does not
6549
- * directly affect the validation result.
6550
- *
6551
- * This keyword's value MUST be an object. Each member value of this object
6552
- * MUST be a valid JSON Schema.
6546
+ /**
6547
+ * The `$defs` keyword reserves a location for schema authors to inline
6548
+ * re-usable JSON Schemas into a more general schema. The keyword does not
6549
+ * directly affect the validation result.
6550
+ *
6551
+ * This keyword's value MUST be an object. Each member value of this object
6552
+ * MUST be a valid JSON Schema.
6553
6553
  */
6554
6554
  $defs?: Record<string, JSONSchema>;
6555
- /**
6556
- * "The `$dynamicAnchor` indicates that the fragment is an extension
6557
- * point when used with the `$dynamicRef` keyword. This low-level,
6558
- * advanced feature makes it easier to extend recursive schemas such as the
6559
- * meta-schemas, without imposing any particular semantics on that
6560
- * extension. See `$dynamicRef` for more details.
6555
+ /**
6556
+ * "The `$dynamicAnchor` indicates that the fragment is an extension
6557
+ * point when used with the `$dynamicRef` keyword. This low-level,
6558
+ * advanced feature makes it easier to extend recursive schemas such as the
6559
+ * meta-schemas, without imposing any particular semantics on that
6560
+ * extension. See `$dynamicRef` for more details.
6561
6561
  */
6562
6562
  $dynamicAnchor?: string;
6563
- /**
6564
- * The `$dynamicRef` keyword is an applicator that allows for deferring
6565
- * the full resolution until runtime, at which point it is resolved each
6566
- * time it is encountered while evaluating an instance.
6567
- *
6568
- * Together with `$dynamicAnchor`, `$dynamicRef` implements a
6569
- * cooperative extension mechanism that is primarily useful with recursive
6570
- * schemas (schemas that reference themselves). Both the extension point
6571
- * and the runtime-determined extension target are defined with
6572
- * `$dynamicAnchor`, and only exhibit runtime dynamic behavior when
6573
- * referenced with `$dynamicRef`.
6574
- *
6575
- * The value of the `$dynamicRef` property MUST be a string which is
6576
- * a URI-Reference. Resolved against the current URI base, it produces
6577
- * the URI used as the starting point for runtime resolution. This initial
6578
- * resolution is safe to perform on schema load.
6579
- *
6580
- * If the initially resolved starting point URI includes a fragment that
6581
- * was created by the `$dynamicAnchor` keyword, the initial URI MUST be
6582
- * replaced by the URI (including the fragment) for the outermost schema
6583
- * resource in the [dynamic scope][scopes] that defines
6584
- * an identically named fragment with `$dynamicAnchor`.
6585
- *
6586
- * Otherwise, its behavior is identical to `$ref`, and no runtime
6587
- * resolution is needed.
6588
- *
6589
- * [scopes]: https://json-schema.org/draft/2020-12/json-schema-core.html#scopes
6590
- *
6591
- * @format "uri-reference"
6563
+ /**
6564
+ * The `$dynamicRef` keyword is an applicator that allows for deferring
6565
+ * the full resolution until runtime, at which point it is resolved each
6566
+ * time it is encountered while evaluating an instance.
6567
+ *
6568
+ * Together with `$dynamicAnchor`, `$dynamicRef` implements a
6569
+ * cooperative extension mechanism that is primarily useful with recursive
6570
+ * schemas (schemas that reference themselves). Both the extension point
6571
+ * and the runtime-determined extension target are defined with
6572
+ * `$dynamicAnchor`, and only exhibit runtime dynamic behavior when
6573
+ * referenced with `$dynamicRef`.
6574
+ *
6575
+ * The value of the `$dynamicRef` property MUST be a string which is
6576
+ * a URI-Reference. Resolved against the current URI base, it produces
6577
+ * the URI used as the starting point for runtime resolution. This initial
6578
+ * resolution is safe to perform on schema load.
6579
+ *
6580
+ * If the initially resolved starting point URI includes a fragment that
6581
+ * was created by the `$dynamicAnchor` keyword, the initial URI MUST be
6582
+ * replaced by the URI (including the fragment) for the outermost schema
6583
+ * resource in the [dynamic scope][scopes] that defines
6584
+ * an identically named fragment with `$dynamicAnchor`.
6585
+ *
6586
+ * Otherwise, its behavior is identical to `$ref`, and no runtime
6587
+ * resolution is needed.
6588
+ *
6589
+ * [scopes]: https://json-schema.org/draft/2020-12/json-schema-core.html#scopes
6590
+ *
6591
+ * @format "uri-reference"
6592
6592
  */
6593
6593
  $dynamicRef?: string;
6594
- /**
6595
- * The `$id` keyword identifies a schema resource with its
6596
- * [canonical][[RFC6596]] URI.
6597
- *
6598
- * Note that this URI is an identifier and not necessarily a network
6599
- * locator. In the case of a network-addressable URL, a schema need not be
6600
- * downloadable from its canonical URI.
6601
- *
6602
- * If present, the value for this keyword MUST be a string, and MUST
6603
- * represent a valid [URI-reference][RFC3986]. This URI-reference SHOULD
6604
- * be normalized, and MUST resolve to an [absolute-URI][RFC3986] (without a
6605
- * fragment). Therefore, `$id` MUST NOT contain a non-empty fragment,
6606
- * and SHOULD NOT contain an empty fragment.
6607
- *
6608
- * Since an empty fragment in the context of the
6609
- * `application/schema+json` media type refers to the same resource as
6610
- * the base URI without a fragment, an implementation MAY normalize a URI
6611
- * ending with an empty fragment by removing the fragment. However, schema
6612
- * authors SHOULD NOT rely on this behavior across implementations.
6613
- *
6614
- * This URI also serves as the base URI for relative URI-references in
6615
- * keywords within the schema resource, in accordance with
6616
- * [RFC 3986][RFC3986] section 5.1.1 regarding base URIs embedded in
6617
- * content.
6618
- *
6619
- * The presence of `$id` in a subschema indicates that the subschema
6620
- * constitutes a distinct schema resource within a single schema document.
6621
- * Furthermore, in accordance with [RFC 3986][RFC3986] section 5.1.2
6622
- * regarding encapsulating entities, if an `$id` in a subschema is a
6623
- * relative URI-reference, the base URI for resolving that reference is the
6624
- * URI of the parent schema resource.
6625
- *
6626
- * If no parent schema object explicitly identifies itself as a resource
6627
- * with `$id`, the base URI is that of the entire document.
6628
- *
6629
- * The root schema of a JSON Schema document SHOULD contain an `$id`
6630
- * keyword with an [absolute-URI][RFC3986] (containing a scheme, but no
6631
- * fragment).
6632
- *
6633
- * [RFC6596]: https://datatracker.ietf.org/doc/html/rfc6596
6634
- * [RFC3986]: https://datatracker.ietf.org/doc/html/rfc3986
6635
- *
6636
- * @format "uri-reference"
6594
+ /**
6595
+ * The `$id` keyword identifies a schema resource with its
6596
+ * [canonical][[RFC6596]] URI.
6597
+ *
6598
+ * Note that this URI is an identifier and not necessarily a network
6599
+ * locator. In the case of a network-addressable URL, a schema need not be
6600
+ * downloadable from its canonical URI.
6601
+ *
6602
+ * If present, the value for this keyword MUST be a string, and MUST
6603
+ * represent a valid [URI-reference][RFC3986]. This URI-reference SHOULD
6604
+ * be normalized, and MUST resolve to an [absolute-URI][RFC3986] (without a
6605
+ * fragment). Therefore, `$id` MUST NOT contain a non-empty fragment,
6606
+ * and SHOULD NOT contain an empty fragment.
6607
+ *
6608
+ * Since an empty fragment in the context of the
6609
+ * `application/schema+json` media type refers to the same resource as
6610
+ * the base URI without a fragment, an implementation MAY normalize a URI
6611
+ * ending with an empty fragment by removing the fragment. However, schema
6612
+ * authors SHOULD NOT rely on this behavior across implementations.
6613
+ *
6614
+ * This URI also serves as the base URI for relative URI-references in
6615
+ * keywords within the schema resource, in accordance with
6616
+ * [RFC 3986][RFC3986] section 5.1.1 regarding base URIs embedded in
6617
+ * content.
6618
+ *
6619
+ * The presence of `$id` in a subschema indicates that the subschema
6620
+ * constitutes a distinct schema resource within a single schema document.
6621
+ * Furthermore, in accordance with [RFC 3986][RFC3986] section 5.1.2
6622
+ * regarding encapsulating entities, if an `$id` in a subschema is a
6623
+ * relative URI-reference, the base URI for resolving that reference is the
6624
+ * URI of the parent schema resource.
6625
+ *
6626
+ * If no parent schema object explicitly identifies itself as a resource
6627
+ * with `$id`, the base URI is that of the entire document.
6628
+ *
6629
+ * The root schema of a JSON Schema document SHOULD contain an `$id`
6630
+ * keyword with an [absolute-URI][RFC3986] (containing a scheme, but no
6631
+ * fragment).
6632
+ *
6633
+ * [RFC6596]: https://datatracker.ietf.org/doc/html/rfc6596
6634
+ * [RFC3986]: https://datatracker.ietf.org/doc/html/rfc3986
6635
+ *
6636
+ * @format "uri-reference"
6637
6637
  */
6638
6638
  $id?: string;
6639
- /**
6640
- * The `$ref` keyword is an applicator that is used to reference a
6641
- * statically identified schema. Its results are the results of the
6642
- * referenced schema. Other keywords can appear alongside of `$ref` in
6643
- * the same schema object.
6644
- *
6645
- * The value of the `$ref` property MUST be a string which is a
6646
- * URI-Reference. Resolved against the current URI base, it produces the
6647
- * URI of the schema to apply.
6648
- *
6649
- * @format "uri-reference"
6639
+ /**
6640
+ * The `$ref` keyword is an applicator that is used to reference a
6641
+ * statically identified schema. Its results are the results of the
6642
+ * referenced schema. Other keywords can appear alongside of `$ref` in
6643
+ * the same schema object.
6644
+ *
6645
+ * The value of the `$ref` property MUST be a string which is a
6646
+ * URI-Reference. Resolved against the current URI base, it produces the
6647
+ * URI of the schema to apply.
6648
+ *
6649
+ * @format "uri-reference"
6650
6650
  */
6651
6651
  $ref?: string;
6652
- /**
6653
- * The `$schema` keyword is both used as a JSON Schema dialect identifier
6654
- * and as the identifier of a resource which is itself a JSON Schema, which
6655
- * describes the set of valid schemas written for this particular dialect.
6656
- *
6657
- * The value of this keyword MUST be a [URI][RFC3986] (containing a scheme)
6658
- * and this URI MUST be normalized. The current schema MUST be valid
6659
- * against the meta-schema identified by this URI.
6660
- *
6661
- * If this URI identifies a retrievable resource, that resource SHOULD be
6662
- * of media type `application/schema+json`.
6663
- *
6664
- * The `$schema` keyword SHOULD be used in the document root schema
6665
- * object, and MAY be used in the root schema objects of embedded schema
6666
- * resources. It MUST NOT appear in non-resource root schema objects. If
6667
- * absent from the document root schema, the resulting behavior is
6668
- * implementation-defined.
6669
- *
6670
- * Values for this property are defined elsewhere in this and other
6671
- * documents, and by other parties.
6672
- *
6673
- * [RFC3986]: https://datatracker.ietf.org/doc/html/rfc3986
6674
- *
6675
- * @format "uri"
6652
+ /**
6653
+ * The `$schema` keyword is both used as a JSON Schema dialect identifier
6654
+ * and as the identifier of a resource which is itself a JSON Schema, which
6655
+ * describes the set of valid schemas written for this particular dialect.
6656
+ *
6657
+ * The value of this keyword MUST be a [URI][RFC3986] (containing a scheme)
6658
+ * and this URI MUST be normalized. The current schema MUST be valid
6659
+ * against the meta-schema identified by this URI.
6660
+ *
6661
+ * If this URI identifies a retrievable resource, that resource SHOULD be
6662
+ * of media type `application/schema+json`.
6663
+ *
6664
+ * The `$schema` keyword SHOULD be used in the document root schema
6665
+ * object, and MAY be used in the root schema objects of embedded schema
6666
+ * resources. It MUST NOT appear in non-resource root schema objects. If
6667
+ * absent from the document root schema, the resulting behavior is
6668
+ * implementation-defined.
6669
+ *
6670
+ * Values for this property are defined elsewhere in this and other
6671
+ * documents, and by other parties.
6672
+ *
6673
+ * [RFC3986]: https://datatracker.ietf.org/doc/html/rfc3986
6674
+ *
6675
+ * @format "uri"
6676
6676
  */
6677
6677
  $schema?: string;
6678
- /**
6679
- * The `$vocabulary` keyword is used in meta-schemas to identify the
6680
- * vocabularies available for use in schemas described by that meta-schema.
6681
- * It is also used to indicate whether each vocabulary is required or
6682
- * optional, in the sense that an implementation MUST understand the
6683
- * required vocabularies in order to successfully process the schema.
6684
- * Together, this information forms a dialect. Any vocabulary that is
6685
- * understood by the implementation MUST be processed in a manner
6686
- * consistent with the semantic definitions contained within the
6687
- * vocabulary.
6688
- *
6689
- * The value of this keyword MUST be an object. The property names in the
6690
- * object MUST be URIs (containing a scheme) and this URI MUST be
6691
- * normalized. Each URI that appears as a property name identifies a
6692
- * specific set of keywords and their semantics.
6693
- *
6694
- * The URI MAY be a URL, but the nature of the retrievable resource is
6695
- * currently undefined, and reserved for future use. Vocabulary authors
6696
- * MAY use the URL of the vocabulary specification, in a human-readable
6697
- * media type such as `text/html` or `text/plain`, as the vocabulary
6698
- * URI.
6699
- *
6700
- * The values of the object properties MUST be booleans. If the value is
6701
- * `true`, then implementations that do not recognize the vocabulary MUST
6702
- * refuse to process any schemas that declare this meta-schema with
6703
- * `$schema`. If the value is `false`, implementations that do not
6704
- * recognize the vocabulary SHOULD proceed with processing such schemas.
6705
- * The value has no impact if the implementation understands the
6706
- * vocabulary.
6707
- *
6708
- * Unrecognized keywords SHOULD be ignored. This remains the case for
6709
- * keywords defined by unrecognized vocabularies. It is not currently
6710
- * possible to distinguish between unrecognized keywords that are defined
6711
- * in vocabularies from those that are not part of any vocabulary.
6712
- *
6713
- * The `$vocabulary` keyword SHOULD be used in the root schema of any
6714
- * schema document intended for use as a meta-schema. It MUST NOT appear
6715
- * in subschemas.
6716
- *
6717
- * The `$vocabulary` keyword MUST be ignored in schema documents that are
6718
- * not being processed as a meta-schema.
6678
+ /**
6679
+ * The `$vocabulary` keyword is used in meta-schemas to identify the
6680
+ * vocabularies available for use in schemas described by that meta-schema.
6681
+ * It is also used to indicate whether each vocabulary is required or
6682
+ * optional, in the sense that an implementation MUST understand the
6683
+ * required vocabularies in order to successfully process the schema.
6684
+ * Together, this information forms a dialect. Any vocabulary that is
6685
+ * understood by the implementation MUST be processed in a manner
6686
+ * consistent with the semantic definitions contained within the
6687
+ * vocabulary.
6688
+ *
6689
+ * The value of this keyword MUST be an object. The property names in the
6690
+ * object MUST be URIs (containing a scheme) and this URI MUST be
6691
+ * normalized. Each URI that appears as a property name identifies a
6692
+ * specific set of keywords and their semantics.
6693
+ *
6694
+ * The URI MAY be a URL, but the nature of the retrievable resource is
6695
+ * currently undefined, and reserved for future use. Vocabulary authors
6696
+ * MAY use the URL of the vocabulary specification, in a human-readable
6697
+ * media type such as `text/html` or `text/plain`, as the vocabulary
6698
+ * URI.
6699
+ *
6700
+ * The values of the object properties MUST be booleans. If the value is
6701
+ * `true`, then implementations that do not recognize the vocabulary MUST
6702
+ * refuse to process any schemas that declare this meta-schema with
6703
+ * `$schema`. If the value is `false`, implementations that do not
6704
+ * recognize the vocabulary SHOULD proceed with processing such schemas.
6705
+ * The value has no impact if the implementation understands the
6706
+ * vocabulary.
6707
+ *
6708
+ * Unrecognized keywords SHOULD be ignored. This remains the case for
6709
+ * keywords defined by unrecognized vocabularies. It is not currently
6710
+ * possible to distinguish between unrecognized keywords that are defined
6711
+ * in vocabularies from those that are not part of any vocabulary.
6712
+ *
6713
+ * The `$vocabulary` keyword SHOULD be used in the root schema of any
6714
+ * schema document intended for use as a meta-schema. It MUST NOT appear
6715
+ * in subschemas.
6716
+ *
6717
+ * The `$vocabulary` keyword MUST be ignored in schema documents that are
6718
+ * not being processed as a meta-schema.
6719
6719
  */
6720
6720
  $vocabulary?: Record<string, string>;
6721
- /**
6722
- * @deprecated `additionalItems` has been deprecated in favor of `prefixItems`
6723
- * paired with `items`.
6721
+ /**
6722
+ * @deprecated `additionalItems` has been deprecated in favor of `prefixItems`
6723
+ * paired with `items`.
6724
6724
  */
6725
6725
  additionalItems?: JSONSchema;
6726
- /**
6727
- * The value of `additionalProperties` MUST be a valid JSON Schema.
6728
- *
6729
- * The behavior of this keyword depends on the presence and annotation
6730
- * results of `properties` and `patternProperties` within the same
6731
- * schema object. Validation with `additionalProperties` applies only to
6732
- * the child values of instance names that do not appear in the annotation
6733
- * results of either `properties` or `patternProperties`.
6734
- *
6735
- * For all such properties, validation succeeds if the child instance
6736
- * validates against the `additionalProperties` schema.
6737
- *
6738
- * The annotation result of this keyword is the set of instance property
6739
- * names validated by this keyword's subschema. Annotation results for
6740
- * `additionalProperties` keywords from multiple schemas applied to the
6741
- * same instance location are combined by taking the union of the sets.
6742
- *
6743
- * Omitting this keyword has the same assertion behavior as an empty
6744
- * schema.
6745
- *
6746
- * Implementations MAY choose to implement or optimize this keyword in
6747
- * another way that produces the same effect, such as by directly checking
6748
- * the names in `properties` and the patterns in `patternProperties`
6749
- * against the instance property set.
6726
+ /**
6727
+ * The value of `additionalProperties` MUST be a valid JSON Schema.
6728
+ *
6729
+ * The behavior of this keyword depends on the presence and annotation
6730
+ * results of `properties` and `patternProperties` within the same
6731
+ * schema object. Validation with `additionalProperties` applies only to
6732
+ * the child values of instance names that do not appear in the annotation
6733
+ * results of either `properties` or `patternProperties`.
6734
+ *
6735
+ * For all such properties, validation succeeds if the child instance
6736
+ * validates against the `additionalProperties` schema.
6737
+ *
6738
+ * The annotation result of this keyword is the set of instance property
6739
+ * names validated by this keyword's subschema. Annotation results for
6740
+ * `additionalProperties` keywords from multiple schemas applied to the
6741
+ * same instance location are combined by taking the union of the sets.
6742
+ *
6743
+ * Omitting this keyword has the same assertion behavior as an empty
6744
+ * schema.
6745
+ *
6746
+ * Implementations MAY choose to implement or optimize this keyword in
6747
+ * another way that produces the same effect, such as by directly checking
6748
+ * the names in `properties` and the patterns in `patternProperties`
6749
+ * against the instance property set.
6750
6750
  */
6751
6751
  additionalProperties?: JSONSchema;
6752
- /**
6753
- * This keyword's value MUST be a non-empty array. Each item of the array
6754
- * MUST be a valid JSON Schema.
6755
- *
6756
- * An instance validates successfully against this keyword if it validates
6757
- * successfully against all schemas defined by this keyword's value.
6752
+ /**
6753
+ * This keyword's value MUST be a non-empty array. Each item of the array
6754
+ * MUST be a valid JSON Schema.
6755
+ *
6756
+ * An instance validates successfully against this keyword if it validates
6757
+ * successfully against all schemas defined by this keyword's value.
6758
6758
  */
6759
6759
  allOf?: MaybeReadonlyArray<JSONSchema<Value, SchemaType>>;
6760
- /**
6761
- * This keyword's value MUST be a non-empty array. Each item of the array
6762
- * MUST be a valid JSON Schema.
6763
- *
6764
- * An instance validates successfully against this keyword if it validates
6765
- * successfully against at least one schema defined by this keyword's
6766
- * value.
6760
+ /**
6761
+ * This keyword's value MUST be a non-empty array. Each item of the array
6762
+ * MUST be a valid JSON Schema.
6763
+ *
6764
+ * An instance validates successfully against this keyword if it validates
6765
+ * successfully against at least one schema defined by this keyword's
6766
+ * value.
6767
6767
  */
6768
6768
  anyOf?: MaybeReadonlyArray<JSONSchema<Value, SchemaType>>;
6769
- /**
6770
- * An instance validates successfully against this keyword if its value is
6771
- * equal to the value of the keyword.
6772
- *
6773
- * Use of this keyword is functionally equivalent to the `enum` keyword
6774
- * with a single value.
6769
+ /**
6770
+ * An instance validates successfully against this keyword if its value is
6771
+ * equal to the value of the keyword.
6772
+ *
6773
+ * Use of this keyword is functionally equivalent to the `enum` keyword
6774
+ * with a single value.
6775
6775
  */
6776
6776
  const?: Value;
6777
- /**
6778
- * The value of this keyword MUST be a valid JSON Schema.
6779
- *
6780
- * An array instance is valid against `contains` if at least one of its
6781
- * elements is valid against the given schema. The subschema MUST be
6782
- * applied to every array element even after the first match has been
6783
- * found, in order to collect annotations for use by other keywords.
6784
- * This is to ensure that all possible annotations are collected.
6785
- *
6786
- * Logically, the validation result of applying the value subschema to each
6787
- * item in the array MUST be OR'ed with `false`, resulting in an overall
6788
- * validation result.
6789
- *
6790
- * This keyword produces an annotation value which is an array of the
6791
- * indexes to which this keyword validates successfully when applying its
6792
- * subschema, in ascending order. The value MAY be a boolean `true` if
6793
- * the subschema validates successfully when applied to every index of the
6794
- * instance. The annotation MUST be present if the instance array to which
6795
- * this keyword's schema applies is empty.
6777
+ /**
6778
+ * The value of this keyword MUST be a valid JSON Schema.
6779
+ *
6780
+ * An array instance is valid against `contains` if at least one of its
6781
+ * elements is valid against the given schema. The subschema MUST be
6782
+ * applied to every array element even after the first match has been
6783
+ * found, in order to collect annotations for use by other keywords.
6784
+ * This is to ensure that all possible annotations are collected.
6785
+ *
6786
+ * Logically, the validation result of applying the value subschema to each
6787
+ * item in the array MUST be OR'ed with `false`, resulting in an overall
6788
+ * validation result.
6789
+ *
6790
+ * This keyword produces an annotation value which is an array of the
6791
+ * indexes to which this keyword validates successfully when applying its
6792
+ * subschema, in ascending order. The value MAY be a boolean `true` if
6793
+ * the subschema validates successfully when applied to every index of the
6794
+ * instance. The annotation MUST be present if the instance array to which
6795
+ * this keyword's schema applies is empty.
6796
6796
  */
6797
6797
  contains?: JSONSchema<Value, SchemaType>;
6798
- /**
6799
- * If the instance value is a string, this property defines that the
6800
- * string SHOULD be interpreted as binary data and decoded using the
6801
- * encoding named by this property. [RFC 2045, Sec 6.1][RFC2045] lists the
6802
- * possible values for this property.
6803
- *
6804
- * The value of this property SHOULD be ignored if the instance described
6805
- * is not a string.
6806
- *
6807
- * If this keyword is absent, but `contentMediaType` is present, this
6808
- * indicates that the media type could be encoded into `UTF-8` like any
6809
- * other JSON string value, and does not require additional decoding.
6810
- *
6811
- * The value of this property MUST be a string.
6812
- *
6813
- * [RFC2045]: https://datatracker.ietf.org/doc/html/rfc2045#section-6.1
6798
+ /**
6799
+ * If the instance value is a string, this property defines that the
6800
+ * string SHOULD be interpreted as binary data and decoded using the
6801
+ * encoding named by this property. [RFC 2045, Sec 6.1][RFC2045] lists the
6802
+ * possible values for this property.
6803
+ *
6804
+ * The value of this property SHOULD be ignored if the instance described
6805
+ * is not a string.
6806
+ *
6807
+ * If this keyword is absent, but `contentMediaType` is present, this
6808
+ * indicates that the media type could be encoded into `UTF-8` like any
6809
+ * other JSON string value, and does not require additional decoding.
6810
+ *
6811
+ * The value of this property MUST be a string.
6812
+ *
6813
+ * [RFC2045]: https://datatracker.ietf.org/doc/html/rfc2045#section-6.1
6814
6814
  */
6815
6815
  contentEncoding?: "7bit" | "8bit" | "base64" | "binary" | "ietf-token" | "quoted-printable" | "x-token";
6816
- /**
6817
- * If the instance is a string, this property indicates the media type
6818
- * of the contents of the string. If `contentEncoding` is present,
6819
- * this property describes the decoded string.
6820
- *
6821
- * The value of this property must be a media type, as defined by
6822
- * [RFC 2046][RFC2046]. This property defines the media type of instances
6823
- * which this schema defines.
6824
- *
6825
- * The value of this property SHOULD be ignored if the instance described
6826
- * is not a string.
6827
- *
6828
- * If the `contentEncoding` property is not present, but the instance
6829
- * value is a string, then the value of this property SHOULD specify a text
6830
- * document type, and the character set SHOULD be the character set into
6831
- * which the JSON string value was decoded (for which the default is
6832
- * Unicode).
6833
- *
6834
- * [RFC2046]: https://datatracker.ietf.org/doc/html/rfc2046
6816
+ /**
6817
+ * If the instance is a string, this property indicates the media type
6818
+ * of the contents of the string. If `contentEncoding` is present,
6819
+ * this property describes the decoded string.
6820
+ *
6821
+ * The value of this property must be a media type, as defined by
6822
+ * [RFC 2046][RFC2046]. This property defines the media type of instances
6823
+ * which this schema defines.
6824
+ *
6825
+ * The value of this property SHOULD be ignored if the instance described
6826
+ * is not a string.
6827
+ *
6828
+ * If the `contentEncoding` property is not present, but the instance
6829
+ * value is a string, then the value of this property SHOULD specify a text
6830
+ * document type, and the character set SHOULD be the character set into
6831
+ * which the JSON string value was decoded (for which the default is
6832
+ * Unicode).
6833
+ *
6834
+ * [RFC2046]: https://datatracker.ietf.org/doc/html/rfc2046
6835
6835
  */
6836
6836
  contentMediaType?: string;
6837
- /**
6838
- * If the instance is a string, and if `contentMediaType` is present,
6839
- * this property contains a schema which describes the structure of the
6840
- * string.
6841
- *
6842
- * This keyword MAY be used with any media type that can be mapped into
6843
- * JSON Schema's data model.
6844
- *
6845
- * The value of this property MUST be a valid JSON schema. It SHOULD be
6846
- * ignored if `contentMediaType` is not present.
6837
+ /**
6838
+ * If the instance is a string, and if `contentMediaType` is present,
6839
+ * this property contains a schema which describes the structure of the
6840
+ * string.
6841
+ *
6842
+ * This keyword MAY be used with any media type that can be mapped into
6843
+ * JSON Schema's data model.
6844
+ *
6845
+ * The value of this property MUST be a valid JSON schema. It SHOULD be
6846
+ * ignored if `contentMediaType` is not present.
6847
6847
  */
6848
6848
  contentSchema?: JSONSchema<Value, SchemaType>;
6849
- /**
6850
- * This keyword can be used to supply a default JSON value associated with
6851
- * a particular schema. It is RECOMMENDED that a `default` value be valid
6852
- * against the associated schema.
6849
+ /**
6850
+ * This keyword can be used to supply a default JSON value associated with
6851
+ * a particular schema. It is RECOMMENDED that a `default` value be valid
6852
+ * against the associated schema.
6853
6853
  */
6854
6854
  default?: Value;
6855
- /**
6856
- * @deprecated `definitions` has been renamed to `$defs`.
6855
+ /**
6856
+ * @deprecated `definitions` has been renamed to `$defs`.
6857
6857
  */
6858
6858
  definitions?: Record<string, JSONSchema>;
6859
- /**
6860
- * @deprecated `dependencies` has been split into two keywords:
6861
- * `dependentSchemas` and `dependentRequired`.
6859
+ /**
6860
+ * @deprecated `dependencies` has been split into two keywords:
6861
+ * `dependentSchemas` and `dependentRequired`.
6862
6862
  */
6863
6863
  dependencies?: Record<string, MaybeReadonlyArray<string> | JSONSchema>;
6864
- /**
6865
- * The value of this keyword MUST be an object. Properties in
6866
- * this object, if any, MUST be arrays. Elements in each array,
6867
- * if any, MUST be strings, and MUST be unique.
6868
- *
6869
- * This keyword specifies properties that are required if a specific
6870
- * other property is present. Their requirement is dependent on the
6871
- * presence of the other property.
6872
- *
6873
- * Validation succeeds if, for each name that appears in both
6874
- * the instance and as a name within this keyword's value, every
6875
- * item in the corresponding array is also the name of a property
6876
- * in the instance.
6877
- *
6878
- * Omitting this keyword has the same behavior as an empty object.
6864
+ /**
6865
+ * The value of this keyword MUST be an object. Properties in
6866
+ * this object, if any, MUST be arrays. Elements in each array,
6867
+ * if any, MUST be strings, and MUST be unique.
6868
+ *
6869
+ * This keyword specifies properties that are required if a specific
6870
+ * other property is present. Their requirement is dependent on the
6871
+ * presence of the other property.
6872
+ *
6873
+ * Validation succeeds if, for each name that appears in both
6874
+ * the instance and as a name within this keyword's value, every
6875
+ * item in the corresponding array is also the name of a property
6876
+ * in the instance.
6877
+ *
6878
+ * Omitting this keyword has the same behavior as an empty object.
6879
6879
  */
6880
6880
  dependentRequired?: Record<string, MaybeReadonlyArray<string>>;
6881
- /**
6882
- * This keyword specifies subschemas that are evaluated if the instance is
6883
- * an object and contains a certain property.
6884
- *
6885
- * This keyword's value MUST be an object. Each value in the object MUST be
6886
- * a valid JSON Schema.
6887
- *
6888
- * If the object key is a property in the instance, the entire instance
6889
- * must validate against the subschema. Its use is dependent on the
6890
- * presence of the property.
6891
- *
6892
- * Omitting this keyword has the same behavior as an empty object.
6881
+ /**
6882
+ * This keyword specifies subschemas that are evaluated if the instance is
6883
+ * an object and contains a certain property.
6884
+ *
6885
+ * This keyword's value MUST be an object. Each value in the object MUST be
6886
+ * a valid JSON Schema.
6887
+ *
6888
+ * If the object key is a property in the instance, the entire instance
6889
+ * must validate against the subschema. Its use is dependent on the
6890
+ * presence of the property.
6891
+ *
6892
+ * Omitting this keyword has the same behavior as an empty object.
6893
6893
  */
6894
6894
  dependentSchemas?: Record<string, JSONSchema>;
6895
- /**
6896
- * The value of this keyword MUST be a boolean. When multiple occurrences
6897
- * of this keyword are applicable to a single sub-instance, applications
6898
- * SHOULD consider the instance location to be deprecated if any occurrence
6899
- * specifies a `true` value.
6900
- *
6901
- * If `deprecated` has a value of boolean `true`, it indicates that
6902
- * applications SHOULD refrain from usage of the declared property. It MAY
6903
- * mean the property is going to be removed in the future.
6904
- *
6905
- * A root schema containing `deprecated` with a value of `true`
6906
- * indicates that the entire resource being described MAY be removed in the
6907
- * future.
6908
- *
6909
- * The `deprecated` keyword applies to each instance location to which
6910
- * the schema object containing the keyword successfully applies. This can
6911
- * result in scenarios where every array item or object property is
6912
- * deprecated even though the containing array or object is not.
6913
- *
6914
- * Omitting this keyword has the same behavior as a value of `false`.
6895
+ /**
6896
+ * The value of this keyword MUST be a boolean. When multiple occurrences
6897
+ * of this keyword are applicable to a single sub-instance, applications
6898
+ * SHOULD consider the instance location to be deprecated if any occurrence
6899
+ * specifies a `true` value.
6900
+ *
6901
+ * If `deprecated` has a value of boolean `true`, it indicates that
6902
+ * applications SHOULD refrain from usage of the declared property. It MAY
6903
+ * mean the property is going to be removed in the future.
6904
+ *
6905
+ * A root schema containing `deprecated` with a value of `true`
6906
+ * indicates that the entire resource being described MAY be removed in the
6907
+ * future.
6908
+ *
6909
+ * The `deprecated` keyword applies to each instance location to which
6910
+ * the schema object containing the keyword successfully applies. This can
6911
+ * result in scenarios where every array item or object property is
6912
+ * deprecated even though the containing array or object is not.
6913
+ *
6914
+ * Omitting this keyword has the same behavior as a value of `false`.
6915
6915
  */
6916
6916
  deprecated?: boolean;
6917
- /**
6918
- * Can be used to decorate a user interface with explanation or information
6919
- * about the data produced.
6917
+ /**
6918
+ * Can be used to decorate a user interface with explanation or information
6919
+ * about the data produced.
6920
6920
  */
6921
6921
  description?: string;
6922
- /**
6923
- * This keyword's value MUST be a valid JSON Schema.
6924
- *
6925
- * When `if` is present, and the instance fails to validate against its
6926
- * subschema, then validation succeeds against this keyword if the instance
6927
- * successfully validates against this keyword's subschema.
6928
- *
6929
- * This keyword has no effect when `if` is absent, or when the instance
6930
- * successfully validates against its subschema. Implementations MUST NOT
6931
- * evaluate the instance against this keyword, for either validation or
6932
- * annotation collection purposes, in such cases.
6922
+ /**
6923
+ * This keyword's value MUST be a valid JSON Schema.
6924
+ *
6925
+ * When `if` is present, and the instance fails to validate against its
6926
+ * subschema, then validation succeeds against this keyword if the instance
6927
+ * successfully validates against this keyword's subschema.
6928
+ *
6929
+ * This keyword has no effect when `if` is absent, or when the instance
6930
+ * successfully validates against its subschema. Implementations MUST NOT
6931
+ * evaluate the instance against this keyword, for either validation or
6932
+ * annotation collection purposes, in such cases.
6933
6933
  */
6934
6934
  else?: JSONSchema<Value, SchemaType>;
6935
- /**
6936
- * The value of this keyword MUST be an array. This array SHOULD have at
6937
- * least one element. Elements in the array SHOULD be unique.
6938
- *
6939
- * An instance validates successfully against this keyword if its value is
6940
- * equal to one of the elements in this keyword's array value.
6941
- *
6942
- * Elements in the array might be of any type, including `null`.
6935
+ /**
6936
+ * The value of this keyword MUST be an array. This array SHOULD have at
6937
+ * least one element. Elements in the array SHOULD be unique.
6938
+ *
6939
+ * An instance validates successfully against this keyword if its value is
6940
+ * equal to one of the elements in this keyword's array value.
6941
+ *
6942
+ * Elements in the array might be of any type, including `null`.
6943
6943
  */
6944
6944
  enum?: MaybeReadonlyArray<Value>;
6945
- /**
6946
- * The value of this keyword MUST be an array. When multiple occurrences of
6947
- * this keyword are applicable to a single sub-instance, implementations
6948
- * MUST provide a flat array of all values rather than an array of arrays.
6949
- *
6950
- * This keyword can be used to provide sample JSON values associated with a
6951
- * particular schema, for the purpose of illustrating usage. It is
6952
- * RECOMMENDED that these values be valid against the associated schema.
6953
- *
6954
- * Implementations MAY use the value(s) of `default`, if present, as an
6955
- * additional example. If `examples` is absent, `default` MAY still be
6956
- * used in this manner.
6945
+ /**
6946
+ * The value of this keyword MUST be an array. When multiple occurrences of
6947
+ * this keyword are applicable to a single sub-instance, implementations
6948
+ * MUST provide a flat array of all values rather than an array of arrays.
6949
+ *
6950
+ * This keyword can be used to provide sample JSON values associated with a
6951
+ * particular schema, for the purpose of illustrating usage. It is
6952
+ * RECOMMENDED that these values be valid against the associated schema.
6953
+ *
6954
+ * Implementations MAY use the value(s) of `default`, if present, as an
6955
+ * additional example. If `examples` is absent, `default` MAY still be
6956
+ * used in this manner.
6957
6957
  */
6958
6958
  examples?: MaybeReadonlyArray<Value>;
6959
- /**
6960
- * The value of `exclusiveMaximum` MUST be a number, representing an
6961
- * exclusive upper limit for a numeric instance.
6962
- *
6963
- * If the instance is a number, then the instance is valid only if it has a
6964
- * value strictly less than (not equal to) `exclusiveMaximum`.
6959
+ /**
6960
+ * The value of `exclusiveMaximum` MUST be a number, representing an
6961
+ * exclusive upper limit for a numeric instance.
6962
+ *
6963
+ * If the instance is a number, then the instance is valid only if it has a
6964
+ * value strictly less than (not equal to) `exclusiveMaximum`.
6965
6965
  */
6966
6966
  exclusiveMaximum?: number;
6967
- /**
6968
- * The value of `exclusiveMinimum` MUST be a number, representing an
6969
- * exclusive lower limit for a numeric instance.
6970
- *
6971
- * If the instance is a number, then the instance is valid only if it has a
6972
- * value strictly greater than (not equal to) `exclusiveMinimum`.
6967
+ /**
6968
+ * The value of `exclusiveMinimum` MUST be a number, representing an
6969
+ * exclusive lower limit for a numeric instance.
6970
+ *
6971
+ * If the instance is a number, then the instance is valid only if it has a
6972
+ * value strictly greater than (not equal to) `exclusiveMinimum`.
6973
6973
  */
6974
6974
  exclusiveMinimum?: number;
6975
- /**
6976
- * Implementations MAY treat `format` as an assertion in addition to an
6977
- * annotation, and attempt to validate the value's conformance to the
6978
- * specified semantics.
6979
- *
6980
- * The value of this keyword is called a format attribute. It MUST be a
6981
- * string. A format attribute can generally only validate a given set
6982
- * of instance types. If the type of the instance to validate is not in
6983
- * this set, validation for this format attribute and instance SHOULD
6984
- * succeed. Format attributes are most often applied to strings, but can
6985
- * be specified to apply to any type.
6986
- *
6987
- * Implementations MAY support custom format attributes. Save for agreement
6988
- * between parties, schema authors SHALL NOT expect a peer implementation
6989
- * to support such custom format attributes. An implementation MUST NOT
6990
- * fail validation or cease processing due to an unknown format attribute.
6991
- * When treating `format` as an annotation, implementations SHOULD
6992
- * collect both known and unknown format attribute values.
6975
+ /**
6976
+ * Implementations MAY treat `format` as an assertion in addition to an
6977
+ * annotation, and attempt to validate the value's conformance to the
6978
+ * specified semantics.
6979
+ *
6980
+ * The value of this keyword is called a format attribute. It MUST be a
6981
+ * string. A format attribute can generally only validate a given set
6982
+ * of instance types. If the type of the instance to validate is not in
6983
+ * this set, validation for this format attribute and instance SHOULD
6984
+ * succeed. Format attributes are most often applied to strings, but can
6985
+ * be specified to apply to any type.
6986
+ *
6987
+ * Implementations MAY support custom format attributes. Save for agreement
6988
+ * between parties, schema authors SHALL NOT expect a peer implementation
6989
+ * to support such custom format attributes. An implementation MUST NOT
6990
+ * fail validation or cease processing due to an unknown format attribute.
6991
+ * When treating `format` as an annotation, implementations SHOULD
6992
+ * collect both known and unknown format attribute values.
6993
6993
  */
6994
6994
  format?: string;
6995
- /**
6996
- * This keyword's value MUST be a valid JSON Schema.
6997
- *
6998
- * This validation outcome of this keyword's subschema has no direct effect
6999
- * on the overall validation result. Rather, it controls which of the
7000
- * `then` or `else` keywords are evaluated.
7001
- *
7002
- * Instances that successfully validate against this keyword's subschema
7003
- * MUST also be valid against the subschema value of the `then` keyword,
7004
- * if present.
7005
- *
7006
- * Instances that fail to validate against this keyword's subschema MUST
7007
- * also be valid against the subschema value of the `else` keyword, if
7008
- * present.
7009
- *
7010
- * If annotations are being collected, they are collected
7011
- * from this keyword's subschema in the usual way, including when the
7012
- * keyword is present without either `then` or `else`.
6995
+ /**
6996
+ * This keyword's value MUST be a valid JSON Schema.
6997
+ *
6998
+ * This validation outcome of this keyword's subschema has no direct effect
6999
+ * on the overall validation result. Rather, it controls which of the
7000
+ * `then` or `else` keywords are evaluated.
7001
+ *
7002
+ * Instances that successfully validate against this keyword's subschema
7003
+ * MUST also be valid against the subschema value of the `then` keyword,
7004
+ * if present.
7005
+ *
7006
+ * Instances that fail to validate against this keyword's subschema MUST
7007
+ * also be valid against the subschema value of the `else` keyword, if
7008
+ * present.
7009
+ *
7010
+ * If annotations are being collected, they are collected
7011
+ * from this keyword's subschema in the usual way, including when the
7012
+ * keyword is present without either `then` or `else`.
7013
7013
  */
7014
7014
  if?: JSONSchema<Value, SchemaType>;
7015
- /**
7016
- * The value of `items` MUST be a valid JSON Schema.
7017
- *
7018
- * This keyword applies its subschema to all instance elements at indexes
7019
- * greater than the length of the `prefixItems` array in the same schema
7020
- * object, as reported by the annotation result of that `prefixItems`
7021
- * keyword. If no such annotation result exists, `items` applies its
7022
- * subschema to all instance array elements.
7023
- *
7024
- * Note that the behavior of `items` without `prefixItems` is identical
7025
- * to that of the schema form of `items` in prior drafts.
7026
- *
7027
- * When `prefixItems` is present, the behavior of `items` is identical
7028
- * to the former `additionalItems` keyword.
7029
- *
7030
- * If the `items` subschema is applied to any positions within the
7031
- * instance array, it produces an annotation result of boolean `true`,
7032
- * indicating that all remaining array elements have been evaluated against
7033
- * this keyword's subschema.
7034
- *
7035
- * Omitting this keyword has the same assertion behavior as an empty
7036
- * schema.
7037
- *
7038
- * Implementations MAY choose to implement or optimize this keyword
7039
- * in another way that produces the same effect, such as by directly
7040
- * checking for the presence and size of a `prefixItems` array.
7015
+ /**
7016
+ * The value of `items` MUST be a valid JSON Schema.
7017
+ *
7018
+ * This keyword applies its subschema to all instance elements at indexes
7019
+ * greater than the length of the `prefixItems` array in the same schema
7020
+ * object, as reported by the annotation result of that `prefixItems`
7021
+ * keyword. If no such annotation result exists, `items` applies its
7022
+ * subschema to all instance array elements.
7023
+ *
7024
+ * Note that the behavior of `items` without `prefixItems` is identical
7025
+ * to that of the schema form of `items` in prior drafts.
7026
+ *
7027
+ * When `prefixItems` is present, the behavior of `items` is identical
7028
+ * to the former `additionalItems` keyword.
7029
+ *
7030
+ * If the `items` subschema is applied to any positions within the
7031
+ * instance array, it produces an annotation result of boolean `true`,
7032
+ * indicating that all remaining array elements have been evaluated against
7033
+ * this keyword's subschema.
7034
+ *
7035
+ * Omitting this keyword has the same assertion behavior as an empty
7036
+ * schema.
7037
+ *
7038
+ * Implementations MAY choose to implement or optimize this keyword
7039
+ * in another way that produces the same effect, such as by directly
7040
+ * checking for the presence and size of a `prefixItems` array.
7041
7041
  */
7042
7042
  items?: JSONSchema;
7043
- /**
7044
- * The value of this keyword MUST be a non-negative integer.
7045
- *
7046
- * If `contains` is not present within the same schema object, then this
7047
- * keyword has no effect.
7048
- *
7049
- * An instance array is valid against `maxContains` in two ways,
7050
- * depending on the form of the annotation result of an adjacent
7051
- * `contains` keyword. The first way is if the annotation result is an
7052
- * array and the length of that array is less than or equal to the
7053
- * `maxContains` value. The second way is if the annotation result is a
7054
- * boolean `true` and the instance array length is less than or equal to
7055
- * the `maxContains` value.
7043
+ /**
7044
+ * The value of this keyword MUST be a non-negative integer.
7045
+ *
7046
+ * If `contains` is not present within the same schema object, then this
7047
+ * keyword has no effect.
7048
+ *
7049
+ * An instance array is valid against `maxContains` in two ways,
7050
+ * depending on the form of the annotation result of an adjacent
7051
+ * `contains` keyword. The first way is if the annotation result is an
7052
+ * array and the length of that array is less than or equal to the
7053
+ * `maxContains` value. The second way is if the annotation result is a
7054
+ * boolean `true` and the instance array length is less than or equal to
7055
+ * the `maxContains` value.
7056
7056
  */
7057
7057
  maxContains?: number;
7058
- /**
7059
- * The value of `maximum` MUST be a number, representing an inclusive
7060
- * upper limit for a numeric instance.
7061
- *
7062
- * If the instance is a number, then this keyword validates only if the
7063
- * instance is less than or exactly equal to `maximum`.
7058
+ /**
7059
+ * The value of `maximum` MUST be a number, representing an inclusive
7060
+ * upper limit for a numeric instance.
7061
+ *
7062
+ * If the instance is a number, then this keyword validates only if the
7063
+ * instance is less than or exactly equal to `maximum`.
7064
7064
  */
7065
7065
  maximum?: number;
7066
- /**
7067
- * The value of this keyword MUST be a non-negative integer.
7068
- *
7069
- * An array instance is valid against `maxItems` if its size is less
7070
- * than, or equal to, the value of this keyword.
7071
- *
7072
- * @minimum 0
7066
+ /**
7067
+ * The value of this keyword MUST be a non-negative integer.
7068
+ *
7069
+ * An array instance is valid against `maxItems` if its size is less
7070
+ * than, or equal to, the value of this keyword.
7071
+ *
7072
+ * @minimum 0
7073
7073
  */
7074
7074
  maxItems?: number;
7075
- /**
7076
- * The value of this keyword MUST be a non-negative integer.
7077
- *
7078
- * A string instance is valid against this keyword if its length is less
7079
- * than, or equal to, the value of this keyword.
7080
- *
7081
- * The length of a string instance is defined as the number of its
7082
- * characters as defined by [RFC 8259][RFC8259].
7083
- *
7084
- * [RFC8259]: https://datatracker.ietf.org/doc/html/rfc8259
7085
- *
7086
- * @minimum 0
7075
+ /**
7076
+ * The value of this keyword MUST be a non-negative integer.
7077
+ *
7078
+ * A string instance is valid against this keyword if its length is less
7079
+ * than, or equal to, the value of this keyword.
7080
+ *
7081
+ * The length of a string instance is defined as the number of its
7082
+ * characters as defined by [RFC 8259][RFC8259].
7083
+ *
7084
+ * [RFC8259]: https://datatracker.ietf.org/doc/html/rfc8259
7085
+ *
7086
+ * @minimum 0
7087
7087
  */
7088
7088
  maxLength?: number;
7089
- /**
7090
- * The value of this keyword MUST be a non-negative integer.
7091
- *
7092
- * An object instance is valid against `maxProperties` if its number of
7093
- * `properties` is less than, or equal to, the value of this keyword.
7094
- *
7095
- * @minimum 0
7089
+ /**
7090
+ * The value of this keyword MUST be a non-negative integer.
7091
+ *
7092
+ * An object instance is valid against `maxProperties` if its number of
7093
+ * `properties` is less than, or equal to, the value of this keyword.
7094
+ *
7095
+ * @minimum 0
7096
7096
  */
7097
7097
  maxProperties?: number;
7098
- /**
7099
- * The value of this keyword MUST be a non-negative integer.
7100
- *
7101
- * If `contains` is not present within the same schema object, then this
7102
- * keyword has no effect.
7103
- *
7104
- * An instance array is valid against `minContains` in two ways,
7105
- * depending on the form of the annotation result of an adjacent
7106
- * `contains` keyword. The first way is if the annotation result is an
7107
- * array and the length of that array is greater than or equal to the
7108
- * `minContains` value. The second way is if the annotation result is a
7109
- * boolean `true` and the instance array length is greater than or equal
7110
- * to the `minContains` value.
7111
- *
7112
- * A value of `0` is allowed, but is only useful for setting a range
7113
- * of occurrences from `0` to the value of `maxContains`. A value of
7114
- * `0` with no `maxContains` causes `contains` to always pass
7115
- * validation.
7116
- *
7117
- * Omitting this keyword has the same behavior as a value of `1`.
7118
- *
7119
- * @default 1
7098
+ /**
7099
+ * The value of this keyword MUST be a non-negative integer.
7100
+ *
7101
+ * If `contains` is not present within the same schema object, then this
7102
+ * keyword has no effect.
7103
+ *
7104
+ * An instance array is valid against `minContains` in two ways,
7105
+ * depending on the form of the annotation result of an adjacent
7106
+ * `contains` keyword. The first way is if the annotation result is an
7107
+ * array and the length of that array is greater than or equal to the
7108
+ * `minContains` value. The second way is if the annotation result is a
7109
+ * boolean `true` and the instance array length is greater than or equal
7110
+ * to the `minContains` value.
7111
+ *
7112
+ * A value of `0` is allowed, but is only useful for setting a range
7113
+ * of occurrences from `0` to the value of `maxContains`. A value of
7114
+ * `0` with no `maxContains` causes `contains` to always pass
7115
+ * validation.
7116
+ *
7117
+ * Omitting this keyword has the same behavior as a value of `1`.
7118
+ *
7119
+ * @default 1
7120
7120
  */
7121
7121
  minContains?: number;
7122
- /**
7123
- * The value of `minimum` MUST be a number, representing an inclusive
7124
- * lower limit for a numeric instance.
7125
- *
7126
- * If the instance is a number, then this keyword validates only if the
7127
- * instance is greater than or exactly equal to `minimum`.
7122
+ /**
7123
+ * The value of `minimum` MUST be a number, representing an inclusive
7124
+ * lower limit for a numeric instance.
7125
+ *
7126
+ * If the instance is a number, then this keyword validates only if the
7127
+ * instance is greater than or exactly equal to `minimum`.
7128
7128
  */
7129
7129
  minimum?: number;
7130
- /**
7131
- * The value of this keyword MUST be a non-negative integer.
7132
- *
7133
- * An array instance is valid against `minItems` if its size is greater
7134
- * than, or equal to, the value of this keyword.
7135
- *
7136
- * Omitting this keyword has the same behavior as a value of `0`.
7137
- *
7138
- * @default 0
7139
- * @minimum 0
7130
+ /**
7131
+ * The value of this keyword MUST be a non-negative integer.
7132
+ *
7133
+ * An array instance is valid against `minItems` if its size is greater
7134
+ * than, or equal to, the value of this keyword.
7135
+ *
7136
+ * Omitting this keyword has the same behavior as a value of `0`.
7137
+ *
7138
+ * @default 0
7139
+ * @minimum 0
7140
7140
  */
7141
7141
  minItems?: number;
7142
- /**
7143
- * The value of this keyword MUST be a non-negative integer.
7144
- *
7145
- * A string instance is valid against this keyword if its length is greater
7146
- * than, or equal to, the value of this keyword.
7147
- *
7148
- * The length of a string instance is defined as the number of its
7149
- * characters as defined by [RFC 8259][RFC8259].
7150
- *
7151
- * Omitting this keyword has the same behavior as a value of `0`.
7152
- *
7153
- * [RFC8259]: https://datatracker.ietf.org/doc/html/rfc8259
7154
- *
7155
- * @default 0
7156
- * @minimum 0
7142
+ /**
7143
+ * The value of this keyword MUST be a non-negative integer.
7144
+ *
7145
+ * A string instance is valid against this keyword if its length is greater
7146
+ * than, or equal to, the value of this keyword.
7147
+ *
7148
+ * The length of a string instance is defined as the number of its
7149
+ * characters as defined by [RFC 8259][RFC8259].
7150
+ *
7151
+ * Omitting this keyword has the same behavior as a value of `0`.
7152
+ *
7153
+ * [RFC8259]: https://datatracker.ietf.org/doc/html/rfc8259
7154
+ *
7155
+ * @default 0
7156
+ * @minimum 0
7157
7157
  */
7158
7158
  minLength?: number;
7159
- /**
7160
- * The value of this keyword MUST be a non-negative integer.
7161
- *
7162
- * An object instance is valid against `minProperties` if its number of
7163
- * `properties` is greater than, or equal to, the value of this keyword.
7164
- *
7165
- * Omitting this keyword has the same behavior as a value of `0`.
7166
- *
7167
- * @default 0
7168
- * @minimum 0
7159
+ /**
7160
+ * The value of this keyword MUST be a non-negative integer.
7161
+ *
7162
+ * An object instance is valid against `minProperties` if its number of
7163
+ * `properties` is greater than, or equal to, the value of this keyword.
7164
+ *
7165
+ * Omitting this keyword has the same behavior as a value of `0`.
7166
+ *
7167
+ * @default 0
7168
+ * @minimum 0
7169
7169
  */
7170
7170
  minProperties?: number;
7171
- /**
7172
- * The value of `multipleOf` MUST be a number, strictly greater than
7173
- * `0`.
7174
- *
7175
- * A numeric instance is valid only if division by this keyword's value
7176
- * results in an integer.
7177
- *
7178
- * @exclusiveMinimum 0
7171
+ /**
7172
+ * The value of `multipleOf` MUST be a number, strictly greater than
7173
+ * `0`.
7174
+ *
7175
+ * A numeric instance is valid only if division by this keyword's value
7176
+ * results in an integer.
7177
+ *
7178
+ * @exclusiveMinimum 0
7179
7179
  */
7180
7180
  multipleOf?: number;
7181
- /**
7182
- * This keyword's value MUST be a valid JSON Schema.
7183
- *
7184
- * An instance is valid against this keyword if it fails to validate
7185
- * successfully against the schema defined by this keyword.
7181
+ /**
7182
+ * This keyword's value MUST be a valid JSON Schema.
7183
+ *
7184
+ * An instance is valid against this keyword if it fails to validate
7185
+ * successfully against the schema defined by this keyword.
7186
7186
  */
7187
7187
  not?: JSONSchema<Value, SchemaType>;
7188
- /**
7189
- * This keyword's value MUST be a non-empty array. Each item of the array
7190
- * MUST be a valid JSON Schema.
7191
- *
7192
- * An instance validates successfully against this keyword if it validates
7193
- * successfully against exactly one schema defined by this keyword's value.
7188
+ /**
7189
+ * This keyword's value MUST be a non-empty array. Each item of the array
7190
+ * MUST be a valid JSON Schema.
7191
+ *
7192
+ * An instance validates successfully against this keyword if it validates
7193
+ * successfully against exactly one schema defined by this keyword's value.
7194
7194
  */
7195
7195
  oneOf?: MaybeReadonlyArray<JSONSchema<Value, SchemaType>>;
7196
- /**
7197
- * The value of this keyword MUST be a string. This string SHOULD be a
7198
- * valid regular expression, according to the [ECMA-262][ecma262] regular
7199
- * expression dialect.
7200
- *
7201
- * A string instance is considered valid if the regular expression matches
7202
- * the instance successfully. Recall: regular expressions are not
7203
- * implicitly anchored.
7204
- *
7205
- * [ecma262]: https://www.ecma-international.org/publications-and-standards/standards/ecma-262/
7206
- *
7207
- * @format "regex"
7196
+ /**
7197
+ * The value of this keyword MUST be a string. This string SHOULD be a
7198
+ * valid regular expression, according to the [ECMA-262][ecma262] regular
7199
+ * expression dialect.
7200
+ *
7201
+ * A string instance is considered valid if the regular expression matches
7202
+ * the instance successfully. Recall: regular expressions are not
7203
+ * implicitly anchored.
7204
+ *
7205
+ * [ecma262]: https://www.ecma-international.org/publications-and-standards/standards/ecma-262/
7206
+ *
7207
+ * @format "regex"
7208
7208
  */
7209
7209
  pattern?: string;
7210
- /**
7211
- * The value of `patternProperties` MUST be an object. Each property name
7212
- * of this object SHOULD be a valid regular expression, according to the
7213
- * [ECMA-262][ecma262] regular expression dialect. Each property value of
7214
- * this object MUST be a valid JSON Schema.
7215
- *
7216
- * Validation succeeds if, for each instance name that matches any regular
7217
- * expressions that appear as a property name in this keyword's value,
7218
- * the child instance for that name successfully validates against each
7219
- * schema that corresponds to a matching regular expression.
7220
- *
7221
- * The annotation result of this keyword is the set of instance property
7222
- * names matched by this keyword. Omitting this keyword has the same
7223
- * assertion behavior as an empty object.
7224
- *
7225
- * [ecma262]: https://www.ecma-international.org/publications-and-standards/standards/ecma-262/
7210
+ /**
7211
+ * The value of `patternProperties` MUST be an object. Each property name
7212
+ * of this object SHOULD be a valid regular expression, according to the
7213
+ * [ECMA-262][ecma262] regular expression dialect. Each property value of
7214
+ * this object MUST be a valid JSON Schema.
7215
+ *
7216
+ * Validation succeeds if, for each instance name that matches any regular
7217
+ * expressions that appear as a property name in this keyword's value,
7218
+ * the child instance for that name successfully validates against each
7219
+ * schema that corresponds to a matching regular expression.
7220
+ *
7221
+ * The annotation result of this keyword is the set of instance property
7222
+ * names matched by this keyword. Omitting this keyword has the same
7223
+ * assertion behavior as an empty object.
7224
+ *
7225
+ * [ecma262]: https://www.ecma-international.org/publications-and-standards/standards/ecma-262/
7226
7226
  */
7227
7227
  patternProperties?: Record<string, JSONSchema>;
7228
- /**
7229
- * The value of `prefixItems` MUST be a non-empty array of valid JSON
7230
- * Schemas.
7231
- *
7232
- * Validation succeeds if each element of the instance validates against
7233
- * the schema at the same position, if any. This keyword does not
7234
- * constrain the length of the array. If the array is longer than this
7235
- * keyword's value, this keyword validates only the prefix of matching
7236
- * length.
7237
- *
7238
- * This keyword produces an annotation value which is the largest index to
7239
- * which this keyword applied a subschema. The value MAY be a boolean
7240
- * `true` if a subschema was applied to every index of the instance, such
7241
- * as is produced by the `items` keyword.
7242
- * This annotation affects the behavior of `items` and
7243
- * `unevaluatedItems`.
7244
- *
7245
- * Omitting this keyword has the same assertion behavior as an empty array.
7228
+ /**
7229
+ * The value of `prefixItems` MUST be a non-empty array of valid JSON
7230
+ * Schemas.
7231
+ *
7232
+ * Validation succeeds if each element of the instance validates against
7233
+ * the schema at the same position, if any. This keyword does not
7234
+ * constrain the length of the array. If the array is longer than this
7235
+ * keyword's value, this keyword validates only the prefix of matching
7236
+ * length.
7237
+ *
7238
+ * This keyword produces an annotation value which is the largest index to
7239
+ * which this keyword applied a subschema. The value MAY be a boolean
7240
+ * `true` if a subschema was applied to every index of the instance, such
7241
+ * as is produced by the `items` keyword.
7242
+ * This annotation affects the behavior of `items` and
7243
+ * `unevaluatedItems`.
7244
+ *
7245
+ * Omitting this keyword has the same assertion behavior as an empty array.
7246
7246
  */
7247
7247
  prefixItems?: MaybeReadonlyArray<JSONSchema> | JSONSchema;
7248
- /**
7249
- * The value of `properties` MUST be an object. Each value of this object
7250
- * MUST be a valid JSON Schema.
7251
- *
7252
- * Validation succeeds if, for each name that appears in both the instance
7253
- * and as a name within this keyword's value, the child instance for that
7254
- * name successfully validates against the corresponding schema.
7255
- *
7256
- * The annotation result of this keyword is the set of instance property
7257
- * names matched by this keyword.
7258
- *
7259
- * Omitting this keyword has the same assertion behavior as an empty
7260
- * object.
7248
+ /**
7249
+ * The value of `properties` MUST be an object. Each value of this object
7250
+ * MUST be a valid JSON Schema.
7251
+ *
7252
+ * Validation succeeds if, for each name that appears in both the instance
7253
+ * and as a name within this keyword's value, the child instance for that
7254
+ * name successfully validates against the corresponding schema.
7255
+ *
7256
+ * The annotation result of this keyword is the set of instance property
7257
+ * names matched by this keyword.
7258
+ *
7259
+ * Omitting this keyword has the same assertion behavior as an empty
7260
+ * object.
7261
7261
  */
7262
7262
  properties?: Record<string, JSONSchema>;
7263
- /**
7264
- * The value of `propertyNames` MUST be a valid JSON Schema.
7265
- *
7266
- * If the instance is an object, this keyword validates if every property
7267
- * name in the instance validates against the provided schema.
7268
- * Note the property name that the schema is testing will always be a
7269
- * string.
7270
- *
7271
- * Omitting this keyword has the same behavior as an empty schema.
7263
+ /**
7264
+ * The value of `propertyNames` MUST be a valid JSON Schema.
7265
+ *
7266
+ * If the instance is an object, this keyword validates if every property
7267
+ * name in the instance validates against the provided schema.
7268
+ * Note the property name that the schema is testing will always be a
7269
+ * string.
7270
+ *
7271
+ * Omitting this keyword has the same behavior as an empty schema.
7272
7272
  */
7273
7273
  propertyNames?: JSONSchema;
7274
- /**
7275
- * The value of this keyword MUST be a boolean. When multiple occurrences
7276
- * of this keyword are applicable to a single sub-instance, the resulting
7277
- * value MUST be `true` if any occurrence specifies a `true` value, and
7278
- * MUST be `false` otherwise.
7279
- *
7280
- * If `readOnly` has a value of boolean `true`, it indicates that the
7281
- * value of the instance is managed exclusively by the owning authority,
7282
- * and attempts by an application to modify the value of this property are
7283
- * expected to be ignored or rejected by that owning authority.
7284
- *
7285
- * An instance document that is marked as `readOnly` for the entire
7286
- * document MAY be ignored if sent to the owning authority, or MAY result
7287
- * in an error, at the authority's discretion.
7288
- *
7289
- * For example, `readOnly` would be used to mark a database-generated
7290
- * serial number as read-only.
7291
- *
7292
- * This keyword can be used to assist in user interface instance
7293
- * generation.
7294
- *
7295
- * @default false
7274
+ /**
7275
+ * The value of this keyword MUST be a boolean. When multiple occurrences
7276
+ * of this keyword are applicable to a single sub-instance, the resulting
7277
+ * value MUST be `true` if any occurrence specifies a `true` value, and
7278
+ * MUST be `false` otherwise.
7279
+ *
7280
+ * If `readOnly` has a value of boolean `true`, it indicates that the
7281
+ * value of the instance is managed exclusively by the owning authority,
7282
+ * and attempts by an application to modify the value of this property are
7283
+ * expected to be ignored or rejected by that owning authority.
7284
+ *
7285
+ * An instance document that is marked as `readOnly` for the entire
7286
+ * document MAY be ignored if sent to the owning authority, or MAY result
7287
+ * in an error, at the authority's discretion.
7288
+ *
7289
+ * For example, `readOnly` would be used to mark a database-generated
7290
+ * serial number as read-only.
7291
+ *
7292
+ * This keyword can be used to assist in user interface instance
7293
+ * generation.
7294
+ *
7295
+ * @default false
7296
7296
  */
7297
7297
  readOnly?: boolean;
7298
- /**
7299
- * The value of this keyword MUST be an array. Elements of this array, if
7300
- * any, MUST be strings, and MUST be unique.
7301
- *
7302
- * An object instance is valid against this keyword if every item in the
7303
- * array is the name of a property in the instance.
7304
- *
7305
- * Omitting this keyword has the same behavior as an empty array.
7298
+ /**
7299
+ * The value of this keyword MUST be an array. Elements of this array, if
7300
+ * any, MUST be strings, and MUST be unique.
7301
+ *
7302
+ * An object instance is valid against this keyword if every item in the
7303
+ * array is the name of a property in the instance.
7304
+ *
7305
+ * Omitting this keyword has the same behavior as an empty array.
7306
7306
  */
7307
7307
  required?: MaybeReadonlyArray<string>;
7308
- /**
7309
- * This keyword's value MUST be a valid JSON Schema.
7310
- *
7311
- * When `if` is present, and the instance successfully validates against
7312
- * its subschema, then validation succeeds against this keyword if the
7313
- * instance also successfully validates against this keyword's subschema.
7314
- *
7315
- * This keyword has no effect when `if` is absent, or when the instance
7316
- * fails to validate against its subschema. Implementations MUST NOT
7317
- * evaluate the instance against this keyword, for either validation or
7318
- * annotation collection purposes, in such cases.
7308
+ /**
7309
+ * This keyword's value MUST be a valid JSON Schema.
7310
+ *
7311
+ * When `if` is present, and the instance successfully validates against
7312
+ * its subschema, then validation succeeds against this keyword if the
7313
+ * instance also successfully validates against this keyword's subschema.
7314
+ *
7315
+ * This keyword has no effect when `if` is absent, or when the instance
7316
+ * fails to validate against its subschema. Implementations MUST NOT
7317
+ * evaluate the instance against this keyword, for either validation or
7318
+ * annotation collection purposes, in such cases.
7319
7319
  */
7320
7320
  then?: JSONSchema<Value, SchemaType>;
7321
- /**
7322
- * Can be used to decorate a user interface with a short label about the
7323
- * data produced.
7321
+ /**
7322
+ * Can be used to decorate a user interface with a short label about the
7323
+ * data produced.
7324
7324
  */
7325
7325
  title?: string;
7326
- /**
7327
- * The value of this keyword MUST be either a string or an array. If it is
7328
- * an array, elements of the array MUST be strings and MUST be unique.
7329
- *
7330
- * String values MUST be one of the six primitive types (`"null"`,
7331
- * `"boolean"`, `"object"`, `"array"`, `"number"`, or
7332
- * `"string"`), or `"integer"` which matches any number with a zero
7333
- * fractional part.
7334
- *
7335
- * An instance validates if and only if the instance is in any of the sets
7336
- * listed for this keyword.
7326
+ /**
7327
+ * The value of this keyword MUST be either a string or an array. If it is
7328
+ * an array, elements of the array MUST be strings and MUST be unique.
7329
+ *
7330
+ * String values MUST be one of the six primitive types (`"null"`,
7331
+ * `"boolean"`, `"object"`, `"array"`, `"number"`, or
7332
+ * `"string"`), or `"integer"` which matches any number with a zero
7333
+ * fractional part.
7334
+ *
7335
+ * An instance validates if and only if the instance is in any of the sets
7336
+ * listed for this keyword.
7337
7337
  */
7338
7338
  type?: SchemaType;
7339
- /**
7340
- * The value of `unevaluatedItems` MUST be a valid JSON Schema.
7341
- *
7342
- * The behavior of this keyword depends on the annotation results of
7343
- * adjacent keywords that apply to the instance location being validated.
7344
- * Specifically, the annotations from `prefixItems`, `items`, and
7345
- * `contains`, which can come from those keywords when they are adjacent
7346
- * to the `unevaluatedItems` keyword. Those three annotations, as well as
7347
- * `unevaluatedItems`, can also result from any and all adjacent
7348
- * [in-place applicator][in-place-applicator] keywords.
7349
- *
7350
- * If no relevant annotations are present, the `unevaluatedItems`
7351
- * subschema MUST be applied to all locations in the array.
7352
- * If a boolean `true` value is present from any of the relevant
7353
- * annotations, `unevaluatedItems` MUST be ignored. Otherwise, the
7354
- * subschema MUST be applied to any index greater than the largest
7355
- * annotation value for `prefixItems`, which does not appear in any
7356
- * annotation value for `contains`.
7357
- *
7358
- * This means that `prefixItems`, `items`, `contains`, and all
7359
- * in-place applicators MUST be evaluated before this keyword can be
7360
- * evaluated. Authors of extension keywords MUST NOT define an in-place
7361
- * applicator that would need to be evaluated after this keyword.
7362
- *
7363
- * If the `unevaluatedItems` subschema is applied to any positions within
7364
- * the instance array, it produces an annotation result of boolean
7365
- * `true`, analogous to the behavior of `items`.
7366
- *
7367
- * Omitting this keyword has the same assertion behavior as an empty
7368
- * schema.
7369
- *
7370
- * [in-place-applicator]: https://json-schema.org/draft/2020-12/json-schema-core.html#in-place
7339
+ /**
7340
+ * The value of `unevaluatedItems` MUST be a valid JSON Schema.
7341
+ *
7342
+ * The behavior of this keyword depends on the annotation results of
7343
+ * adjacent keywords that apply to the instance location being validated.
7344
+ * Specifically, the annotations from `prefixItems`, `items`, and
7345
+ * `contains`, which can come from those keywords when they are adjacent
7346
+ * to the `unevaluatedItems` keyword. Those three annotations, as well as
7347
+ * `unevaluatedItems`, can also result from any and all adjacent
7348
+ * [in-place applicator][in-place-applicator] keywords.
7349
+ *
7350
+ * If no relevant annotations are present, the `unevaluatedItems`
7351
+ * subschema MUST be applied to all locations in the array.
7352
+ * If a boolean `true` value is present from any of the relevant
7353
+ * annotations, `unevaluatedItems` MUST be ignored. Otherwise, the
7354
+ * subschema MUST be applied to any index greater than the largest
7355
+ * annotation value for `prefixItems`, which does not appear in any
7356
+ * annotation value for `contains`.
7357
+ *
7358
+ * This means that `prefixItems`, `items`, `contains`, and all
7359
+ * in-place applicators MUST be evaluated before this keyword can be
7360
+ * evaluated. Authors of extension keywords MUST NOT define an in-place
7361
+ * applicator that would need to be evaluated after this keyword.
7362
+ *
7363
+ * If the `unevaluatedItems` subschema is applied to any positions within
7364
+ * the instance array, it produces an annotation result of boolean
7365
+ * `true`, analogous to the behavior of `items`.
7366
+ *
7367
+ * Omitting this keyword has the same assertion behavior as an empty
7368
+ * schema.
7369
+ *
7370
+ * [in-place-applicator]: https://json-schema.org/draft/2020-12/json-schema-core.html#in-place
7371
7371
  */
7372
7372
  unevaluatedItems?: JSONSchema;
7373
- /**
7374
- * The value of `unevaluatedProperties` MUST be a valid JSON Schema.
7375
- *
7376
- * The behavior of this keyword depends on the annotation results of
7377
- * adjacent keywords that apply to the instance location being validated.
7378
- * Specifically, the annotations from `properties`,
7379
- * `patternProperties`, and `additionalProperties`, which can come from
7380
- * those keywords when they are adjacent to the `unevaluatedProperties`
7381
- * keyword. Those three annotations, as well as `unevaluatedProperties`,
7382
- * can also result from any and all adjacent
7383
- * [in-place applicator][in-place-applicator] keywords.
7384
- *
7385
- * Validation with `unevaluatedProperties` applies only to the child
7386
- * values of instance names that do not appear in the `properties`,
7387
- * `patternProperties`, `additionalProperties`, or
7388
- * `unevaluatedProperties` annotation results that apply to the
7389
- * instance location being validated.
7390
- *
7391
- * For all such properties, validation succeeds if the child instance
7392
- * validates against the "unevaluatedProperties" schema.
7393
- *
7394
- * This means that `properties`, `patternProperties`,
7395
- * `additionalProperties`, and all in-place applicators MUST be evaluated
7396
- * before this keyword can be evaluated. Authors of extension keywords
7397
- * MUST NOT define an in-place applicator that would need to be evaluated
7398
- * after this keyword.
7399
- *
7400
- * The annotation result of this keyword is the set of instance property
7401
- * names validated by this keyword's subschema.
7402
- *
7403
- * Omitting this keyword has the same assertion behavior as an empty
7404
- * schema.
7405
- *
7406
- * [in-place-applicator]: https://json-schema.org/draft/2020-12/json-schema-core.html#in-place
7373
+ /**
7374
+ * The value of `unevaluatedProperties` MUST be a valid JSON Schema.
7375
+ *
7376
+ * The behavior of this keyword depends on the annotation results of
7377
+ * adjacent keywords that apply to the instance location being validated.
7378
+ * Specifically, the annotations from `properties`,
7379
+ * `patternProperties`, and `additionalProperties`, which can come from
7380
+ * those keywords when they are adjacent to the `unevaluatedProperties`
7381
+ * keyword. Those three annotations, as well as `unevaluatedProperties`,
7382
+ * can also result from any and all adjacent
7383
+ * [in-place applicator][in-place-applicator] keywords.
7384
+ *
7385
+ * Validation with `unevaluatedProperties` applies only to the child
7386
+ * values of instance names that do not appear in the `properties`,
7387
+ * `patternProperties`, `additionalProperties`, or
7388
+ * `unevaluatedProperties` annotation results that apply to the
7389
+ * instance location being validated.
7390
+ *
7391
+ * For all such properties, validation succeeds if the child instance
7392
+ * validates against the "unevaluatedProperties" schema.
7393
+ *
7394
+ * This means that `properties`, `patternProperties`,
7395
+ * `additionalProperties`, and all in-place applicators MUST be evaluated
7396
+ * before this keyword can be evaluated. Authors of extension keywords
7397
+ * MUST NOT define an in-place applicator that would need to be evaluated
7398
+ * after this keyword.
7399
+ *
7400
+ * The annotation result of this keyword is the set of instance property
7401
+ * names validated by this keyword's subschema.
7402
+ *
7403
+ * Omitting this keyword has the same assertion behavior as an empty
7404
+ * schema.
7405
+ *
7406
+ * [in-place-applicator]: https://json-schema.org/draft/2020-12/json-schema-core.html#in-place
7407
7407
  */
7408
7408
  unevaluatedProperties?: JSONSchema;
7409
- /**
7410
- * The value of this keyword MUST be a boolean.
7411
- *
7412
- * If this keyword has boolean value `false`, the instance validates
7413
- * successfully. If it has boolean value `true`, the instance validates
7414
- * successfully if all of its elements are unique.
7415
- *
7416
- * Omitting this keyword has the same behavior as a value of `false`.
7417
- *
7418
- * @default false
7409
+ /**
7410
+ * The value of this keyword MUST be a boolean.
7411
+ *
7412
+ * If this keyword has boolean value `false`, the instance validates
7413
+ * successfully. If it has boolean value `true`, the instance validates
7414
+ * successfully if all of its elements are unique.
7415
+ *
7416
+ * Omitting this keyword has the same behavior as a value of `false`.
7417
+ *
7418
+ * @default false
7419
7419
  */
7420
7420
  uniqueItems?: boolean;
7421
- /**
7422
- * The value of this keyword MUST be a boolean. When multiple occurrences
7423
- * of this keyword is applicable to a single sub-instance, the resulting
7424
- * value MUST be `true` if any occurrence specifies a `true` value, and
7425
- * MUST be `false` otherwise.
7426
- *
7427
- * If `writeOnly` has a value of boolean `true`, it indicates that the
7428
- * value is never present when the instance is retrieved from the owning
7429
- * authority. It can be present when sent to the owning authority to update
7430
- * or create the document (or the resource it represents), but it will not
7431
- * be included in any updated or newly created version of the instance.
7432
- *
7433
- * An instance document that is marked as `writeOnly` for the entire
7434
- * document MAY be returned as a blank document of some sort, or MAY
7435
- * produce an error upon retrieval, or have the retrieval request ignored,
7436
- * at the authority's discretion.
7437
- *
7438
- * For example, `writeOnly` would be used to mark a password input field.
7439
- *
7440
- * These keywords can be used to assist in user interface instance
7441
- * generation. In particular, an application MAY choose to use a widget
7442
- * that hides input values as they are typed for write-only fields.
7443
- *
7444
- * @default false
7421
+ /**
7422
+ * The value of this keyword MUST be a boolean. When multiple occurrences
7423
+ * of this keyword is applicable to a single sub-instance, the resulting
7424
+ * value MUST be `true` if any occurrence specifies a `true` value, and
7425
+ * MUST be `false` otherwise.
7426
+ *
7427
+ * If `writeOnly` has a value of boolean `true`, it indicates that the
7428
+ * value is never present when the instance is retrieved from the owning
7429
+ * authority. It can be present when sent to the owning authority to update
7430
+ * or create the document (or the resource it represents), but it will not
7431
+ * be included in any updated or newly created version of the instance.
7432
+ *
7433
+ * An instance document that is marked as `writeOnly` for the entire
7434
+ * document MAY be returned as a blank document of some sort, or MAY
7435
+ * produce an error upon retrieval, or have the retrieval request ignored,
7436
+ * at the authority's discretion.
7437
+ *
7438
+ * For example, `writeOnly` would be used to mark a password input field.
7439
+ *
7440
+ * These keywords can be used to assist in user interface instance
7441
+ * generation. In particular, an application MAY choose to use a widget
7442
+ * that hides input values as they are typed for write-only fields.
7443
+ *
7444
+ * @default false
7445
7445
  */
7446
7446
  writeOnly?: boolean;
7447
7447
  };
7448
7448
  declare namespace JSONSchema {
7449
7449
  type TypeValue = ValueOf<TypeName> | TypeName | Array<ValueOf<TypeName> | TypeName> | ReadonlyArray<ValueOf<TypeName> | TypeName>;
7450
- /**
7451
- * JSON Schema interface
7450
+ /**
7451
+ * JSON Schema interface
7452
7452
  */
7453
7453
  type Interface<Value = any, SchemaType extends TypeValue = TypeValue> = Exclude<JSONSchema<Value, SchemaType>, boolean>;
7454
7454
  type Array<T = any> = Pick<Interface<T, "array">, KeywordByType.Any | KeywordByType.Array>;
@@ -7466,45 +7466,45 @@ declare namespace KeywordByType {
7466
7466
  type Object = "additionalProperties" | "dependencies" | "dependentRequired" | "dependentSchemas" | "maxProperties" | "minProperties" | "patternProperties" | "properties" | "propertyNames" | "required" | "unevaluatedProperties";
7467
7467
  type String = "contentEncoding" | "contentMediaType" | "contentSchema" | "maxLength" | "minLength" | "pattern";
7468
7468
  }
7469
- /**
7470
- * Enum consisting of simple type names for the `type` keyword
7469
+ /**
7470
+ * Enum consisting of simple type names for the `type` keyword
7471
7471
  */
7472
7472
  declare enum TypeName {
7473
- /**
7474
- * Value MUST be an array.
7473
+ /**
7474
+ * Value MUST be an array.
7475
7475
  */
7476
7476
  Array = "array",
7477
- /**
7478
- * Value MUST be a boolean.
7477
+ /**
7478
+ * Value MUST be a boolean.
7479
7479
  */
7480
7480
  Boolean = "boolean",
7481
- /**
7482
- * Value MUST be an integer, no floating point numbers are allowed. This is a
7483
- * subset of the number type.
7481
+ /**
7482
+ * Value MUST be an integer, no floating point numbers are allowed. This is a
7483
+ * subset of the number type.
7484
7484
  */
7485
7485
  Integer = "integer",
7486
- /**
7487
- * Value MUST be null. Note this is mainly for purpose of being able use union
7488
- * types to define nullability. If this type is not included in a union, null
7489
- * values are not allowed (the primitives listed above do not allow nulls on
7490
- * their own).
7486
+ /**
7487
+ * Value MUST be null. Note this is mainly for purpose of being able use union
7488
+ * types to define nullability. If this type is not included in a union, null
7489
+ * values are not allowed (the primitives listed above do not allow nulls on
7490
+ * their own).
7491
7491
  */
7492
7492
  Null = "null",
7493
- /**
7494
- * Value MUST be a number, floating point numbers are allowed.
7493
+ /**
7494
+ * Value MUST be a number, floating point numbers are allowed.
7495
7495
  */
7496
7496
  Number = "number",
7497
- /**
7498
- * Value MUST be an object.
7497
+ /**
7498
+ * Value MUST be an object.
7499
7499
  */
7500
7500
  Object = "object",
7501
- /**
7502
- * Value MUST be a string.
7501
+ /**
7502
+ * Value MUST be a string.
7503
7503
  */
7504
7504
  String = "string"
7505
7505
  }
7506
7506
  //#endregion
7507
- //#region ../../node_modules/.pnpm/@orpc+openapi@1.15.4_@opentelemetry+api@1.9.1_ws@8.22.0/node_modules/@orpc/openapi/dist/shared/openapi.BGy4N6eR.d.mts
7507
+ //#region ../../node_modules/.pnpm/@orpc+openapi@1.15.5_@opentelemetry+api@1.9.1_ws@8.22.0/node_modules/@orpc/openapi/dist/shared/openapi.BGy4N6eR.d.mts
7508
7508
  interface SchemaConverterComponent {
7509
7509
  allowedStrategies: readonly SchemaConvertOptions['strategy'][];
7510
7510
  schema: AnySchema;