@alpic-ai/api 0.0.0-dev.gdffdc44 → 0.0.0-dev.ge038a40

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.
Files changed (3) hide show
  1. package/dist/index.d.mts +1300 -873
  2. package/dist/index.mjs +209 -30
  3. package/package.json +6 -6
package/dist/index.d.mts CHANGED
@@ -23,10 +23,14 @@ declare const platformSchema: z.ZodEnum<{
23
23
  type Platform = z.infer<typeof platformSchema>;
24
24
  export declare const PLATFORM_LABELS: Record<Platform, string>;
25
25
  //#endregion
26
+ //#region ../domains/src/projects/python-runtime.d.ts
27
+ export declare function detectPythonRuntimeFromRequirement(requiresPython: string): "python3.13" | "python3.14" | "python3.15" | "node22" | "node24" | null | undefined;
28
+ //#endregion
26
29
  //#region ../domains/src/projects/schemas.d.ts
27
30
  export declare const runtimeSchema: z.ZodEnum<{
28
31
  "python3.13": "python3.13";
29
32
  "python3.14": "python3.14";
33
+ "python3.15": "python3.15";
30
34
  node22: "node22";
31
35
  node24: "node24";
32
36
  }>;
@@ -1383,6 +1387,19 @@ type ClaudeSubmission = z.infer<typeof claudeSubmissionSchemaInternal>;
1383
1387
  type ChatgptSubmission = z.infer<typeof chatgptSubmissionSchemaInternal>;
1384
1388
  type Submission = ClaudeSubmission | ChatgptSubmission;
1385
1389
  //#endregion
1390
+ //#region ../domains/src/telemetry/schemas.d.ts
1391
+ export declare const TELEMETRY_SIGNALS: readonly ["logs", "metrics", "traces"];
1392
+ export declare const telemetrySignalSchema: z.ZodEnum<{
1393
+ logs: "logs";
1394
+ metrics: "metrics";
1395
+ traces: "traces";
1396
+ }>;
1397
+ export declare const OTLP_PROTOCOLS: readonly ["http/protobuf", "http/json"];
1398
+ export declare const otlpProtocolSchema: z.ZodEnum<{
1399
+ "http/protobuf": "http/protobuf";
1400
+ "http/json": "http/json";
1401
+ }>;
1402
+ //#endregion
1386
1403
  //#region src/api.contract.d.ts
1387
1404
  export type ApiContext = {
1388
1405
  request: Request & {
@@ -2346,8 +2363,8 @@ export declare const contract: {
2346
2363
  environmentId: z.ZodString;
2347
2364
  content: z.ZodString;
2348
2365
  source: z.ZodEnum<{
2349
- model: "model";
2350
2366
  user: "user";
2367
+ model: "model";
2351
2368
  }>;
2352
2369
  clientName: z.ZodNullable<z.ZodString>;
2353
2370
  clientId: z.ZodNullable<z.ZodString>;
@@ -2675,6 +2692,206 @@ export declare const contract: {
2675
2692
  }>, Record<never, never>>;
2676
2693
  };
2677
2694
  };
2695
+ telemetryDestinations: {
2696
+ list: {
2697
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
2698
+ environmentId: z.ZodString;
2699
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
2700
+ id: z.ZodString;
2701
+ signal: z.ZodEnum<{
2702
+ logs: "logs";
2703
+ metrics: "metrics";
2704
+ traces: "traces";
2705
+ }>;
2706
+ endpoint: z.ZodString;
2707
+ protocol: z.ZodEnum<{
2708
+ "http/protobuf": "http/protobuf";
2709
+ "http/json": "http/json";
2710
+ }>;
2711
+ headers: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2712
+ id: z.ZodString;
2713
+ name: z.ZodString;
2714
+ value: z.ZodNull;
2715
+ isSecret: z.ZodLiteral<true>;
2716
+ }, z.core.$strip>, z.ZodObject<{
2717
+ id: z.ZodString;
2718
+ name: z.ZodString;
2719
+ value: z.ZodString;
2720
+ isSecret: z.ZodLiteral<false>;
2721
+ }, z.core.$strip>], "isSecret">>;
2722
+ status: z.ZodEnum<{
2723
+ active: "active";
2724
+ suspended: "suspended";
2725
+ }>;
2726
+ lastFailureReason: z.ZodNullable<z.ZodEnum<{
2727
+ credentials: "credentials";
2728
+ "wrong-path": "wrong-path";
2729
+ "wrong-protocol": "wrong-protocol";
2730
+ "invalid-payload": "invalid-payload";
2731
+ "partial-rejection": "partial-rejection";
2732
+ "blocked-target": "blocked-target";
2733
+ timeout: "timeout";
2734
+ unreachable: "unreachable";
2735
+ "receiver-error": "receiver-error";
2736
+ "unexpected-status": "unexpected-status";
2737
+ }>>;
2738
+ isScopedToIntentionalRequestsOnly: z.ZodBoolean;
2739
+ }, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
2740
+ BAD_REQUEST: {};
2741
+ }>, {
2742
+ NOT_FOUND: {};
2743
+ }>, Record<never, never>>;
2744
+ };
2745
+ create: {
2746
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
2747
+ environmentId: z.ZodString;
2748
+ signal: z.ZodEnum<{
2749
+ logs: "logs";
2750
+ metrics: "metrics";
2751
+ traces: "traces";
2752
+ }>;
2753
+ endpoint: z.ZodString;
2754
+ protocol: z.ZodDefault<z.ZodEnum<{
2755
+ "http/protobuf": "http/protobuf";
2756
+ "http/json": "http/json";
2757
+ }>>;
2758
+ isScopedToIntentionalRequestsOnly: z.ZodDefault<z.ZodBoolean>;
2759
+ headers: z.ZodDefault<z.ZodArray<z.ZodObject<{
2760
+ name: z.ZodString;
2761
+ value: z.ZodString;
2762
+ isSecret: z.ZodBoolean;
2763
+ }, z.core.$strip>>>;
2764
+ }, z.core.$strip>, z.ZodObject<{
2765
+ id: z.ZodString;
2766
+ signal: z.ZodEnum<{
2767
+ logs: "logs";
2768
+ metrics: "metrics";
2769
+ traces: "traces";
2770
+ }>;
2771
+ endpoint: z.ZodString;
2772
+ protocol: z.ZodEnum<{
2773
+ "http/protobuf": "http/protobuf";
2774
+ "http/json": "http/json";
2775
+ }>;
2776
+ headers: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2777
+ id: z.ZodString;
2778
+ name: z.ZodString;
2779
+ value: z.ZodNull;
2780
+ isSecret: z.ZodLiteral<true>;
2781
+ }, z.core.$strip>, z.ZodObject<{
2782
+ id: z.ZodString;
2783
+ name: z.ZodString;
2784
+ value: z.ZodString;
2785
+ isSecret: z.ZodLiteral<false>;
2786
+ }, z.core.$strip>], "isSecret">>;
2787
+ status: z.ZodEnum<{
2788
+ active: "active";
2789
+ suspended: "suspended";
2790
+ }>;
2791
+ lastFailureReason: z.ZodNullable<z.ZodEnum<{
2792
+ credentials: "credentials";
2793
+ "wrong-path": "wrong-path";
2794
+ "wrong-protocol": "wrong-protocol";
2795
+ "invalid-payload": "invalid-payload";
2796
+ "partial-rejection": "partial-rejection";
2797
+ "blocked-target": "blocked-target";
2798
+ timeout: "timeout";
2799
+ unreachable: "unreachable";
2800
+ "receiver-error": "receiver-error";
2801
+ "unexpected-status": "unexpected-status";
2802
+ }>>;
2803
+ isScopedToIntentionalRequestsOnly: z.ZodBoolean;
2804
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
2805
+ BAD_REQUEST: {};
2806
+ }>, {
2807
+ NOT_FOUND: {};
2808
+ FORBIDDEN: {};
2809
+ OTLP_DESTINATION_UNVERIFIED: {
2810
+ status: number;
2811
+ };
2812
+ INTERNAL_SERVER_ERROR: {};
2813
+ }>, Record<never, never>>;
2814
+ };
2815
+ update: {
2816
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
2817
+ environmentId: z.ZodString;
2818
+ destinationId: z.ZodString;
2819
+ endpoint: z.ZodOptional<z.ZodString>;
2820
+ protocol: z.ZodOptional<z.ZodEnum<{
2821
+ "http/protobuf": "http/protobuf";
2822
+ "http/json": "http/json";
2823
+ }>>;
2824
+ isScopedToIntentionalRequestsOnly: z.ZodOptional<z.ZodBoolean>;
2825
+ headers: z.ZodOptional<z.ZodArray<z.ZodObject<{
2826
+ id: z.ZodOptional<z.ZodString>;
2827
+ name: z.ZodString;
2828
+ value: z.ZodOptional<z.ZodString>;
2829
+ isSecret: z.ZodBoolean;
2830
+ }, z.core.$strip>>>;
2831
+ }, z.core.$strip>, z.ZodObject<{
2832
+ id: z.ZodString;
2833
+ signal: z.ZodEnum<{
2834
+ logs: "logs";
2835
+ metrics: "metrics";
2836
+ traces: "traces";
2837
+ }>;
2838
+ endpoint: z.ZodString;
2839
+ protocol: z.ZodEnum<{
2840
+ "http/protobuf": "http/protobuf";
2841
+ "http/json": "http/json";
2842
+ }>;
2843
+ headers: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2844
+ id: z.ZodString;
2845
+ name: z.ZodString;
2846
+ value: z.ZodNull;
2847
+ isSecret: z.ZodLiteral<true>;
2848
+ }, z.core.$strip>, z.ZodObject<{
2849
+ id: z.ZodString;
2850
+ name: z.ZodString;
2851
+ value: z.ZodString;
2852
+ isSecret: z.ZodLiteral<false>;
2853
+ }, z.core.$strip>], "isSecret">>;
2854
+ status: z.ZodEnum<{
2855
+ active: "active";
2856
+ suspended: "suspended";
2857
+ }>;
2858
+ lastFailureReason: z.ZodNullable<z.ZodEnum<{
2859
+ credentials: "credentials";
2860
+ "wrong-path": "wrong-path";
2861
+ "wrong-protocol": "wrong-protocol";
2862
+ "invalid-payload": "invalid-payload";
2863
+ "partial-rejection": "partial-rejection";
2864
+ "blocked-target": "blocked-target";
2865
+ timeout: "timeout";
2866
+ unreachable: "unreachable";
2867
+ "receiver-error": "receiver-error";
2868
+ "unexpected-status": "unexpected-status";
2869
+ }>>;
2870
+ isScopedToIntentionalRequestsOnly: z.ZodBoolean;
2871
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
2872
+ BAD_REQUEST: {};
2873
+ }>, {
2874
+ NOT_FOUND: {};
2875
+ FORBIDDEN: {};
2876
+ OTLP_DESTINATION_UNVERIFIED: {
2877
+ status: number;
2878
+ };
2879
+ }>, Record<never, never>>;
2880
+ };
2881
+ delete: {
2882
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
2883
+ environmentId: z.ZodString;
2884
+ destinationId: z.ZodString;
2885
+ }, z.core.$strip>, z.ZodObject<{
2886
+ success: z.ZodLiteral<true>;
2887
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
2888
+ BAD_REQUEST: {};
2889
+ }>, {
2890
+ NOT_FOUND: {};
2891
+ INTERNAL_SERVER_ERROR: {};
2892
+ }>, Record<never, never>>;
2893
+ };
2894
+ };
2678
2895
  projects: {
2679
2896
  update: {
2680
2897
  v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
@@ -2689,6 +2906,7 @@ export declare const contract: {
2689
2906
  runtime: z.ZodEnum<{
2690
2907
  "python3.13": "python3.13";
2691
2908
  "python3.14": "python3.14";
2909
+ "python3.15": "python3.15";
2692
2910
  node22: "node22";
2693
2911
  node24: "node24";
2694
2912
  }>;
@@ -2767,6 +2985,7 @@ export declare const contract: {
2767
2985
  runtime: z.ZodEnum<{
2768
2986
  "python3.13": "python3.13";
2769
2987
  "python3.14": "python3.14";
2988
+ "python3.15": "python3.15";
2770
2989
  node22: "node22";
2771
2990
  node24: "node24";
2772
2991
  }>;
@@ -2844,6 +3063,7 @@ export declare const contract: {
2844
3063
  runtime: z.ZodEnum<{
2845
3064
  "python3.13": "python3.13";
2846
3065
  "python3.14": "python3.14";
3066
+ "python3.15": "python3.15";
2847
3067
  node22: "node22";
2848
3068
  node24: "node24";
2849
3069
  }>;
@@ -2919,6 +3139,7 @@ export declare const contract: {
2919
3139
  runtime: z.ZodEnum<{
2920
3140
  "python3.13": "python3.13";
2921
3141
  "python3.14": "python3.14";
3142
+ "python3.15": "python3.15";
2922
3143
  node22: "node22";
2923
3144
  node24: "node24";
2924
3145
  }>;
@@ -2955,6 +3176,7 @@ export declare const contract: {
2955
3176
  runtime: z.ZodEnum<{
2956
3177
  "python3.13": "python3.13";
2957
3178
  "python3.14": "python3.14";
3179
+ "python3.15": "python3.15";
2958
3180
  node22: "node22";
2959
3181
  node24: "node24";
2960
3182
  }>;
@@ -4317,8 +4539,8 @@ export declare const contractForDocs: {
4317
4539
  environmentId: z.ZodString;
4318
4540
  content: z.ZodString;
4319
4541
  source: z.ZodEnum<{
4320
- model: "model";
4321
4542
  user: "user";
4543
+ model: "model";
4322
4544
  }>;
4323
4545
  clientName: z.ZodNullable<z.ZodString>;
4324
4546
  clientId: z.ZodNullable<z.ZodString>;
@@ -4553,6 +4775,206 @@ export declare const contractForDocs: {
4553
4775
  }>, Record<never, never>>;
4554
4776
  };
4555
4777
  };
4778
+ telemetryDestinations: {
4779
+ list: {
4780
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4781
+ environmentId: z.ZodString;
4782
+ }, z.core.$strip>, z.ZodArray<z.ZodObject<{
4783
+ id: z.ZodString;
4784
+ signal: z.ZodEnum<{
4785
+ logs: "logs";
4786
+ metrics: "metrics";
4787
+ traces: "traces";
4788
+ }>;
4789
+ endpoint: z.ZodString;
4790
+ protocol: z.ZodEnum<{
4791
+ "http/protobuf": "http/protobuf";
4792
+ "http/json": "http/json";
4793
+ }>;
4794
+ headers: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
4795
+ id: z.ZodString;
4796
+ name: z.ZodString;
4797
+ value: z.ZodNull;
4798
+ isSecret: z.ZodLiteral<true>;
4799
+ }, z.core.$strip>, z.ZodObject<{
4800
+ id: z.ZodString;
4801
+ name: z.ZodString;
4802
+ value: z.ZodString;
4803
+ isSecret: z.ZodLiteral<false>;
4804
+ }, z.core.$strip>], "isSecret">>;
4805
+ status: z.ZodEnum<{
4806
+ active: "active";
4807
+ suspended: "suspended";
4808
+ }>;
4809
+ lastFailureReason: z.ZodNullable<z.ZodEnum<{
4810
+ credentials: "credentials";
4811
+ "wrong-path": "wrong-path";
4812
+ "wrong-protocol": "wrong-protocol";
4813
+ "invalid-payload": "invalid-payload";
4814
+ "partial-rejection": "partial-rejection";
4815
+ "blocked-target": "blocked-target";
4816
+ timeout: "timeout";
4817
+ unreachable: "unreachable";
4818
+ "receiver-error": "receiver-error";
4819
+ "unexpected-status": "unexpected-status";
4820
+ }>>;
4821
+ isScopedToIntentionalRequestsOnly: z.ZodBoolean;
4822
+ }, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4823
+ BAD_REQUEST: {};
4824
+ }>, {
4825
+ NOT_FOUND: {};
4826
+ }>, Record<never, never>>;
4827
+ };
4828
+ create: {
4829
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4830
+ environmentId: z.ZodString;
4831
+ signal: z.ZodEnum<{
4832
+ logs: "logs";
4833
+ metrics: "metrics";
4834
+ traces: "traces";
4835
+ }>;
4836
+ endpoint: z.ZodString;
4837
+ protocol: z.ZodDefault<z.ZodEnum<{
4838
+ "http/protobuf": "http/protobuf";
4839
+ "http/json": "http/json";
4840
+ }>>;
4841
+ isScopedToIntentionalRequestsOnly: z.ZodDefault<z.ZodBoolean>;
4842
+ headers: z.ZodDefault<z.ZodArray<z.ZodObject<{
4843
+ name: z.ZodString;
4844
+ value: z.ZodString;
4845
+ isSecret: z.ZodBoolean;
4846
+ }, z.core.$strip>>>;
4847
+ }, z.core.$strip>, z.ZodObject<{
4848
+ id: z.ZodString;
4849
+ signal: z.ZodEnum<{
4850
+ logs: "logs";
4851
+ metrics: "metrics";
4852
+ traces: "traces";
4853
+ }>;
4854
+ endpoint: z.ZodString;
4855
+ protocol: z.ZodEnum<{
4856
+ "http/protobuf": "http/protobuf";
4857
+ "http/json": "http/json";
4858
+ }>;
4859
+ headers: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
4860
+ id: z.ZodString;
4861
+ name: z.ZodString;
4862
+ value: z.ZodNull;
4863
+ isSecret: z.ZodLiteral<true>;
4864
+ }, z.core.$strip>, z.ZodObject<{
4865
+ id: z.ZodString;
4866
+ name: z.ZodString;
4867
+ value: z.ZodString;
4868
+ isSecret: z.ZodLiteral<false>;
4869
+ }, z.core.$strip>], "isSecret">>;
4870
+ status: z.ZodEnum<{
4871
+ active: "active";
4872
+ suspended: "suspended";
4873
+ }>;
4874
+ lastFailureReason: z.ZodNullable<z.ZodEnum<{
4875
+ credentials: "credentials";
4876
+ "wrong-path": "wrong-path";
4877
+ "wrong-protocol": "wrong-protocol";
4878
+ "invalid-payload": "invalid-payload";
4879
+ "partial-rejection": "partial-rejection";
4880
+ "blocked-target": "blocked-target";
4881
+ timeout: "timeout";
4882
+ unreachable: "unreachable";
4883
+ "receiver-error": "receiver-error";
4884
+ "unexpected-status": "unexpected-status";
4885
+ }>>;
4886
+ isScopedToIntentionalRequestsOnly: z.ZodBoolean;
4887
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4888
+ BAD_REQUEST: {};
4889
+ }>, {
4890
+ NOT_FOUND: {};
4891
+ FORBIDDEN: {};
4892
+ OTLP_DESTINATION_UNVERIFIED: {
4893
+ status: number;
4894
+ };
4895
+ INTERNAL_SERVER_ERROR: {};
4896
+ }>, Record<never, never>>;
4897
+ };
4898
+ update: {
4899
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4900
+ environmentId: z.ZodString;
4901
+ destinationId: z.ZodString;
4902
+ endpoint: z.ZodOptional<z.ZodString>;
4903
+ protocol: z.ZodOptional<z.ZodEnum<{
4904
+ "http/protobuf": "http/protobuf";
4905
+ "http/json": "http/json";
4906
+ }>>;
4907
+ isScopedToIntentionalRequestsOnly: z.ZodOptional<z.ZodBoolean>;
4908
+ headers: z.ZodOptional<z.ZodArray<z.ZodObject<{
4909
+ id: z.ZodOptional<z.ZodString>;
4910
+ name: z.ZodString;
4911
+ value: z.ZodOptional<z.ZodString>;
4912
+ isSecret: z.ZodBoolean;
4913
+ }, z.core.$strip>>>;
4914
+ }, z.core.$strip>, z.ZodObject<{
4915
+ id: z.ZodString;
4916
+ signal: z.ZodEnum<{
4917
+ logs: "logs";
4918
+ metrics: "metrics";
4919
+ traces: "traces";
4920
+ }>;
4921
+ endpoint: z.ZodString;
4922
+ protocol: z.ZodEnum<{
4923
+ "http/protobuf": "http/protobuf";
4924
+ "http/json": "http/json";
4925
+ }>;
4926
+ headers: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
4927
+ id: z.ZodString;
4928
+ name: z.ZodString;
4929
+ value: z.ZodNull;
4930
+ isSecret: z.ZodLiteral<true>;
4931
+ }, z.core.$strip>, z.ZodObject<{
4932
+ id: z.ZodString;
4933
+ name: z.ZodString;
4934
+ value: z.ZodString;
4935
+ isSecret: z.ZodLiteral<false>;
4936
+ }, z.core.$strip>], "isSecret">>;
4937
+ status: z.ZodEnum<{
4938
+ active: "active";
4939
+ suspended: "suspended";
4940
+ }>;
4941
+ lastFailureReason: z.ZodNullable<z.ZodEnum<{
4942
+ credentials: "credentials";
4943
+ "wrong-path": "wrong-path";
4944
+ "wrong-protocol": "wrong-protocol";
4945
+ "invalid-payload": "invalid-payload";
4946
+ "partial-rejection": "partial-rejection";
4947
+ "blocked-target": "blocked-target";
4948
+ timeout: "timeout";
4949
+ unreachable: "unreachable";
4950
+ "receiver-error": "receiver-error";
4951
+ "unexpected-status": "unexpected-status";
4952
+ }>>;
4953
+ isScopedToIntentionalRequestsOnly: z.ZodBoolean;
4954
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4955
+ BAD_REQUEST: {};
4956
+ }>, {
4957
+ NOT_FOUND: {};
4958
+ FORBIDDEN: {};
4959
+ OTLP_DESTINATION_UNVERIFIED: {
4960
+ status: number;
4961
+ };
4962
+ }>, Record<never, never>>;
4963
+ };
4964
+ delete: {
4965
+ v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4966
+ environmentId: z.ZodString;
4967
+ destinationId: z.ZodString;
4968
+ }, z.core.$strip>, z.ZodObject<{
4969
+ success: z.ZodLiteral<true>;
4970
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4971
+ BAD_REQUEST: {};
4972
+ }>, {
4973
+ NOT_FOUND: {};
4974
+ INTERNAL_SERVER_ERROR: {};
4975
+ }>, Record<never, never>>;
4976
+ };
4977
+ };
4556
4978
  projects: {
4557
4979
  update: {
4558
4980
  v1: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
@@ -4567,6 +4989,7 @@ export declare const contractForDocs: {
4567
4989
  runtime: z.ZodEnum<{
4568
4990
  "python3.13": "python3.13";
4569
4991
  "python3.14": "python3.14";
4992
+ "python3.15": "python3.15";
4570
4993
  node22: "node22";
4571
4994
  node24: "node24";
4572
4995
  }>;
@@ -4645,6 +5068,7 @@ export declare const contractForDocs: {
4645
5068
  runtime: z.ZodEnum<{
4646
5069
  "python3.13": "python3.13";
4647
5070
  "python3.14": "python3.14";
5071
+ "python3.15": "python3.15";
4648
5072
  node22: "node22";
4649
5073
  node24: "node24";
4650
5074
  }>;
@@ -4722,6 +5146,7 @@ export declare const contractForDocs: {
4722
5146
  runtime: z.ZodEnum<{
4723
5147
  "python3.13": "python3.13";
4724
5148
  "python3.14": "python3.14";
5149
+ "python3.15": "python3.15";
4725
5150
  node22: "node22";
4726
5151
  node24: "node24";
4727
5152
  }>;
@@ -4797,6 +5222,7 @@ export declare const contractForDocs: {
4797
5222
  runtime: z.ZodEnum<{
4798
5223
  "python3.13": "python3.13";
4799
5224
  "python3.14": "python3.14";
5225
+ "python3.15": "python3.15";
4800
5226
  node22: "node22";
4801
5227
  node24: "node24";
4802
5228
  }>;
@@ -4833,6 +5259,7 @@ export declare const contractForDocs: {
4833
5259
  runtime: z.ZodEnum<{
4834
5260
  "python3.13": "python3.13";
4835
5261
  "python3.14": "python3.14";
5262
+ "python3.15": "python3.15";
4836
5263
  node22: "node22";
4837
5264
  node24: "node24";
4838
5265
  }>;
@@ -5842,7 +6269,7 @@ export type RouteAuthMeta = {
5842
6269
  authScope?: AuthScope;
5843
6270
  };
5844
6271
  //#endregion
5845
- //#region ../../node_modules/.pnpm/type-fest@5.6.0/node_modules/type-fest/source/promisable.d.ts
6272
+ //#region ../../node_modules/.pnpm/type-fest@5.10.0/node_modules/type-fest/source/promisable.d.ts
5846
6273
  /**
5847
6274
  Create a type that represents either the value or the value wrapped in `PromiseLike`.
5848
6275
 
@@ -5869,11 +6296,11 @@ await logger(() => Promise.resolve('bar'));
5869
6296
  */
5870
6297
  type Promisable<T> = T | PromiseLike<T>;
5871
6298
  //#endregion
5872
- //#region ../../node_modules/.pnpm/@orpc+shared@1.15.2_@opentelemetry+api@1.9.1/node_modules/@orpc/shared/dist/index.d.mts
6299
+ //#region ../../node_modules/.pnpm/@orpc+shared@1.15.7_@opentelemetry+api@1.9.1/node_modules/@orpc/shared/dist/index.d.mts
5873
6300
  type MaybeOptionalOptions<TOptions> = Record<never, never> extends TOptions ? [options?: TOptions] : [options: TOptions];
5874
6301
  type Value<T, TArgs extends any[] = []> = T | ((...args: TArgs) => T);
5875
6302
  //#endregion
5876
- //#region ../../node_modules/.pnpm/@orpc+client@1.15.2_@opentelemetry+api@1.9.1/node_modules/@orpc/client/dist/index.d.mts
6303
+ //#region ../../node_modules/.pnpm/@orpc+client@1.15.7_@opentelemetry+api@1.9.1/node_modules/@orpc/client/dist/index.d.mts
5877
6304
  declare const COMMON_ORPC_ERROR_DEFS: {
5878
6305
  readonly BAD_REQUEST: {
5879
6306
  readonly status: 400;
@@ -5986,7 +6413,7 @@ declare class ORPCError<TCode extends ORPCErrorCode, TData> extends Error {
5986
6413
  }
5987
6414
  type ORPCErrorJSON<TCode extends string, TData> = Pick<ORPCError<TCode, TData>, 'defined' | 'code' | 'status' | 'message' | 'data'>;
5988
6415
  //#endregion
5989
- //#region ../../node_modules/.pnpm/@orpc+server@1.15.2_@opentelemetry+api@1.9.1_ws@8.21.3/node_modules/@orpc/server/dist/shared/server.qKsRrdxW.d.mts
6416
+ //#region ../../node_modules/.pnpm/@orpc+server@1.15.7_@opentelemetry+api@1.9.1_ws@8.22.0/node_modules/@orpc/server/dist/shared/server.qKsRrdxW.d.mts
5990
6417
  type Context = Record<PropertyKey, any>;
5991
6418
  type ORPCErrorConstructorMapItemOptions<TData> = Omit<ORPCErrorOptions<TData>, 'defined' | 'status'>;
5992
6419
  type ORPCErrorConstructorMapItem<TCode extends ORPCErrorCode, TInData> = (...rest: MaybeOptionalOptions<ORPCErrorConstructorMapItemOptions<TInData>>) => ORPCError<TCode, TInData>;
@@ -6057,7 +6484,7 @@ interface Middleware<TInContext extends Context, TOutContext extends Context, TI
6057
6484
  }
6058
6485
  type AnyMiddleware = Middleware<any, any, any, any, any, any>;
6059
6486
  //#endregion
6060
- //#region ../../node_modules/.pnpm/@orpc+server@1.15.2_@opentelemetry+api@1.9.1_ws@8.21.3/node_modules/@orpc/server/dist/shared/server.C8_sRzQB.d.mts
6487
+ //#region ../../node_modules/.pnpm/@orpc+server@1.15.7_@opentelemetry+api@1.9.1_ws@8.22.0/node_modules/@orpc/server/dist/shared/server.C8_sRzQB.d.mts
6061
6488
  interface TraverseContractProcedureCallbackOptions {
6062
6489
  contract: AnyContractProcedure | AnyProcedure;
6063
6490
  path: readonly string[];
@@ -6066,976 +6493,976 @@ interface TraverseContractProcedureCallbackOptions {
6066
6493
  //#region ../../node_modules/.pnpm/json-schema-typed@8.0.2/node_modules/json-schema-typed/draft_2020_12.d.ts
6067
6494
  type MaybeReadonlyArray<T> = Array<T> | ReadonlyArray<T>;
6068
6495
  type ValueOf<T> = T[keyof T];
6069
- /**
6070
- * JSON Schema [Draft 2020-12](https://json-schema.org/draft/2020-12/json-schema-validation.html)
6496
+ /**
6497
+ * JSON Schema [Draft 2020-12](https://json-schema.org/draft/2020-12/json-schema-validation.html)
6071
6498
  */
6072
6499
  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 | {
6073
- /**
6074
- * Using JSON Pointer fragments requires knowledge of the structure of the
6075
- * schema. When writing schema documents with the intention to provide
6076
- * re-usable schemas, it may be preferable to use a plain name fragment
6077
- * that is not tied to any particular structural location. This allows a
6078
- * subschema to be relocated without requiring JSON Pointer references to
6079
- * be updated.
6080
- *
6081
- * The `$anchor` keyword is used to specify such a fragment. It is an
6082
- * identifier keyword that can only be used to create plain name fragments.
6083
- *
6084
- * If present, the value of this keyword MUST be a string, which MUST start
6085
- * with a letter `[A-Za-z]`, followed by any number of letters, digits
6086
- * `[0-9]`, hyphens `-`, underscores `_`, colons `:`,
6087
- * or periods `.`.
6088
- *
6089
- * Note that the anchor string does not include the `#` character,
6090
- * as it is not a URI-reference. An `{"$anchor": "foo"}` becomes the
6091
- * fragment `#foo` when used in a URI.
6092
- *
6093
- * The base URI to which the resulting fragment is appended is determined
6094
- * by the `$id` keyword as explained in the previous section.
6095
- * Two `$anchor` keywords in the same schema document MAY have the same
6096
- * value if they apply to different base URIs, as the resulting full URIs
6097
- * will be distinct. However, the effect of two `$anchor` keywords
6098
- * with the same value and the same base URI is undefined. Implementations
6099
- * MAY raise an error if such usage is detected.
6500
+ /**
6501
+ * Using JSON Pointer fragments requires knowledge of the structure of the
6502
+ * schema. When writing schema documents with the intention to provide
6503
+ * re-usable schemas, it may be preferable to use a plain name fragment
6504
+ * that is not tied to any particular structural location. This allows a
6505
+ * subschema to be relocated without requiring JSON Pointer references to
6506
+ * be updated.
6507
+ *
6508
+ * The `$anchor` keyword is used to specify such a fragment. It is an
6509
+ * identifier keyword that can only be used to create plain name fragments.
6510
+ *
6511
+ * If present, the value of this keyword MUST be a string, which MUST start
6512
+ * with a letter `[A-Za-z]`, followed by any number of letters, digits
6513
+ * `[0-9]`, hyphens `-`, underscores `_`, colons `:`,
6514
+ * or periods `.`.
6515
+ *
6516
+ * Note that the anchor string does not include the `#` character,
6517
+ * as it is not a URI-reference. An `{"$anchor": "foo"}` becomes the
6518
+ * fragment `#foo` when used in a URI.
6519
+ *
6520
+ * The base URI to which the resulting fragment is appended is determined
6521
+ * by the `$id` keyword as explained in the previous section.
6522
+ * Two `$anchor` keywords in the same schema document MAY have the same
6523
+ * value if they apply to different base URIs, as the resulting full URIs
6524
+ * will be distinct. However, the effect of two `$anchor` keywords
6525
+ * with the same value and the same base URI is undefined. Implementations
6526
+ * MAY raise an error if such usage is detected.
6100
6527
  */
6101
6528
  $anchor?: string;
6102
- /**
6103
- * This keyword reserves a location for comments from schema authors to
6104
- * readers or maintainers of the schema.
6105
- *
6106
- * The value of this keyword MUST be a string. Implementations MUST NOT
6107
- * present this string to end users. Tools for editing schemas SHOULD
6108
- * support displaying and editing this keyword. The value of this keyword
6109
- * MAY be used in debug or error output which is intended for developers
6110
- * making use of schemas.
6111
- *
6112
- * Schema vocabularies SHOULD allow `$comment` within any object
6113
- * containing vocabulary keywords. Implementations MAY assume `$comment`
6114
- * is allowed unless the vocabulary specifically forbids it. Vocabularies
6115
- * MUST NOT specify any effect of `$comment` beyond what is described in
6116
- * this specification.
6117
- *
6118
- * Tools that translate other media types or programming languages
6119
- * to and from `application/schema+json` MAY choose to convert that media
6120
- * type or programming language's native comments to or from `$comment`
6121
- * values. The behavior of such translation when both native comments and
6122
- * `$comment` properties are present is implementation-dependent.
6123
- *
6124
- * Implementations MAY strip `$comment` values at any point during
6125
- * processing. In particular, this allows for shortening schemas when the
6126
- * size of deployed schemas is a concern.
6127
- *
6128
- * Implementations MUST NOT take any other action based on the presence,
6129
- * absence, or contents of `$comment` properties. In particular, the
6130
- * value of `$comment` MUST NOT be collected as an annotation result.
6529
+ /**
6530
+ * This keyword reserves a location for comments from schema authors to
6531
+ * readers or maintainers of the schema.
6532
+ *
6533
+ * The value of this keyword MUST be a string. Implementations MUST NOT
6534
+ * present this string to end users. Tools for editing schemas SHOULD
6535
+ * support displaying and editing this keyword. The value of this keyword
6536
+ * MAY be used in debug or error output which is intended for developers
6537
+ * making use of schemas.
6538
+ *
6539
+ * Schema vocabularies SHOULD allow `$comment` within any object
6540
+ * containing vocabulary keywords. Implementations MAY assume `$comment`
6541
+ * is allowed unless the vocabulary specifically forbids it. Vocabularies
6542
+ * MUST NOT specify any effect of `$comment` beyond what is described in
6543
+ * this specification.
6544
+ *
6545
+ * Tools that translate other media types or programming languages
6546
+ * to and from `application/schema+json` MAY choose to convert that media
6547
+ * type or programming language's native comments to or from `$comment`
6548
+ * values. The behavior of such translation when both native comments and
6549
+ * `$comment` properties are present is implementation-dependent.
6550
+ *
6551
+ * Implementations MAY strip `$comment` values at any point during
6552
+ * processing. In particular, this allows for shortening schemas when the
6553
+ * size of deployed schemas is a concern.
6554
+ *
6555
+ * Implementations MUST NOT take any other action based on the presence,
6556
+ * absence, or contents of `$comment` properties. In particular, the
6557
+ * value of `$comment` MUST NOT be collected as an annotation result.
6131
6558
  */
6132
6559
  $comment?: string;
6133
- /**
6134
- * The `$defs` keyword reserves a location for schema authors to inline
6135
- * re-usable JSON Schemas into a more general schema. The keyword does not
6136
- * directly affect the validation result.
6137
- *
6138
- * This keyword's value MUST be an object. Each member value of this object
6139
- * MUST be a valid JSON Schema.
6560
+ /**
6561
+ * The `$defs` keyword reserves a location for schema authors to inline
6562
+ * re-usable JSON Schemas into a more general schema. The keyword does not
6563
+ * directly affect the validation result.
6564
+ *
6565
+ * This keyword's value MUST be an object. Each member value of this object
6566
+ * MUST be a valid JSON Schema.
6140
6567
  */
6141
6568
  $defs?: Record<string, JSONSchema>;
6142
- /**
6143
- * "The `$dynamicAnchor` indicates that the fragment is an extension
6144
- * point when used with the `$dynamicRef` keyword. This low-level,
6145
- * advanced feature makes it easier to extend recursive schemas such as the
6146
- * meta-schemas, without imposing any particular semantics on that
6147
- * extension. See `$dynamicRef` for more details.
6569
+ /**
6570
+ * "The `$dynamicAnchor` indicates that the fragment is an extension
6571
+ * point when used with the `$dynamicRef` keyword. This low-level,
6572
+ * advanced feature makes it easier to extend recursive schemas such as the
6573
+ * meta-schemas, without imposing any particular semantics on that
6574
+ * extension. See `$dynamicRef` for more details.
6148
6575
  */
6149
6576
  $dynamicAnchor?: string;
6150
- /**
6151
- * The `$dynamicRef` keyword is an applicator that allows for deferring
6152
- * the full resolution until runtime, at which point it is resolved each
6153
- * time it is encountered while evaluating an instance.
6154
- *
6155
- * Together with `$dynamicAnchor`, `$dynamicRef` implements a
6156
- * cooperative extension mechanism that is primarily useful with recursive
6157
- * schemas (schemas that reference themselves). Both the extension point
6158
- * and the runtime-determined extension target are defined with
6159
- * `$dynamicAnchor`, and only exhibit runtime dynamic behavior when
6160
- * referenced with `$dynamicRef`.
6161
- *
6162
- * The value of the `$dynamicRef` property MUST be a string which is
6163
- * a URI-Reference. Resolved against the current URI base, it produces
6164
- * the URI used as the starting point for runtime resolution. This initial
6165
- * resolution is safe to perform on schema load.
6166
- *
6167
- * If the initially resolved starting point URI includes a fragment that
6168
- * was created by the `$dynamicAnchor` keyword, the initial URI MUST be
6169
- * replaced by the URI (including the fragment) for the outermost schema
6170
- * resource in the [dynamic scope][scopes] that defines
6171
- * an identically named fragment with `$dynamicAnchor`.
6172
- *
6173
- * Otherwise, its behavior is identical to `$ref`, and no runtime
6174
- * resolution is needed.
6175
- *
6176
- * [scopes]: https://json-schema.org/draft/2020-12/json-schema-core.html#scopes
6177
- *
6178
- * @format "uri-reference"
6577
+ /**
6578
+ * The `$dynamicRef` keyword is an applicator that allows for deferring
6579
+ * the full resolution until runtime, at which point it is resolved each
6580
+ * time it is encountered while evaluating an instance.
6581
+ *
6582
+ * Together with `$dynamicAnchor`, `$dynamicRef` implements a
6583
+ * cooperative extension mechanism that is primarily useful with recursive
6584
+ * schemas (schemas that reference themselves). Both the extension point
6585
+ * and the runtime-determined extension target are defined with
6586
+ * `$dynamicAnchor`, and only exhibit runtime dynamic behavior when
6587
+ * referenced with `$dynamicRef`.
6588
+ *
6589
+ * The value of the `$dynamicRef` property MUST be a string which is
6590
+ * a URI-Reference. Resolved against the current URI base, it produces
6591
+ * the URI used as the starting point for runtime resolution. This initial
6592
+ * resolution is safe to perform on schema load.
6593
+ *
6594
+ * If the initially resolved starting point URI includes a fragment that
6595
+ * was created by the `$dynamicAnchor` keyword, the initial URI MUST be
6596
+ * replaced by the URI (including the fragment) for the outermost schema
6597
+ * resource in the [dynamic scope][scopes] that defines
6598
+ * an identically named fragment with `$dynamicAnchor`.
6599
+ *
6600
+ * Otherwise, its behavior is identical to `$ref`, and no runtime
6601
+ * resolution is needed.
6602
+ *
6603
+ * [scopes]: https://json-schema.org/draft/2020-12/json-schema-core.html#scopes
6604
+ *
6605
+ * @format "uri-reference"
6179
6606
  */
6180
6607
  $dynamicRef?: string;
6181
- /**
6182
- * The `$id` keyword identifies a schema resource with its
6183
- * [canonical][[RFC6596]] URI.
6184
- *
6185
- * Note that this URI is an identifier and not necessarily a network
6186
- * locator. In the case of a network-addressable URL, a schema need not be
6187
- * downloadable from its canonical URI.
6188
- *
6189
- * If present, the value for this keyword MUST be a string, and MUST
6190
- * represent a valid [URI-reference][RFC3986]. This URI-reference SHOULD
6191
- * be normalized, and MUST resolve to an [absolute-URI][RFC3986] (without a
6192
- * fragment). Therefore, `$id` MUST NOT contain a non-empty fragment,
6193
- * and SHOULD NOT contain an empty fragment.
6194
- *
6195
- * Since an empty fragment in the context of the
6196
- * `application/schema+json` media type refers to the same resource as
6197
- * the base URI without a fragment, an implementation MAY normalize a URI
6198
- * ending with an empty fragment by removing the fragment. However, schema
6199
- * authors SHOULD NOT rely on this behavior across implementations.
6200
- *
6201
- * This URI also serves as the base URI for relative URI-references in
6202
- * keywords within the schema resource, in accordance with
6203
- * [RFC 3986][RFC3986] section 5.1.1 regarding base URIs embedded in
6204
- * content.
6205
- *
6206
- * The presence of `$id` in a subschema indicates that the subschema
6207
- * constitutes a distinct schema resource within a single schema document.
6208
- * Furthermore, in accordance with [RFC 3986][RFC3986] section 5.1.2
6209
- * regarding encapsulating entities, if an `$id` in a subschema is a
6210
- * relative URI-reference, the base URI for resolving that reference is the
6211
- * URI of the parent schema resource.
6212
- *
6213
- * If no parent schema object explicitly identifies itself as a resource
6214
- * with `$id`, the base URI is that of the entire document.
6215
- *
6216
- * The root schema of a JSON Schema document SHOULD contain an `$id`
6217
- * keyword with an [absolute-URI][RFC3986] (containing a scheme, but no
6218
- * fragment).
6219
- *
6220
- * [RFC6596]: https://datatracker.ietf.org/doc/html/rfc6596
6221
- * [RFC3986]: https://datatracker.ietf.org/doc/html/rfc3986
6222
- *
6223
- * @format "uri-reference"
6608
+ /**
6609
+ * The `$id` keyword identifies a schema resource with its
6610
+ * [canonical][[RFC6596]] URI.
6611
+ *
6612
+ * Note that this URI is an identifier and not necessarily a network
6613
+ * locator. In the case of a network-addressable URL, a schema need not be
6614
+ * downloadable from its canonical URI.
6615
+ *
6616
+ * If present, the value for this keyword MUST be a string, and MUST
6617
+ * represent a valid [URI-reference][RFC3986]. This URI-reference SHOULD
6618
+ * be normalized, and MUST resolve to an [absolute-URI][RFC3986] (without a
6619
+ * fragment). Therefore, `$id` MUST NOT contain a non-empty fragment,
6620
+ * and SHOULD NOT contain an empty fragment.
6621
+ *
6622
+ * Since an empty fragment in the context of the
6623
+ * `application/schema+json` media type refers to the same resource as
6624
+ * the base URI without a fragment, an implementation MAY normalize a URI
6625
+ * ending with an empty fragment by removing the fragment. However, schema
6626
+ * authors SHOULD NOT rely on this behavior across implementations.
6627
+ *
6628
+ * This URI also serves as the base URI for relative URI-references in
6629
+ * keywords within the schema resource, in accordance with
6630
+ * [RFC 3986][RFC3986] section 5.1.1 regarding base URIs embedded in
6631
+ * content.
6632
+ *
6633
+ * The presence of `$id` in a subschema indicates that the subschema
6634
+ * constitutes a distinct schema resource within a single schema document.
6635
+ * Furthermore, in accordance with [RFC 3986][RFC3986] section 5.1.2
6636
+ * regarding encapsulating entities, if an `$id` in a subschema is a
6637
+ * relative URI-reference, the base URI for resolving that reference is the
6638
+ * URI of the parent schema resource.
6639
+ *
6640
+ * If no parent schema object explicitly identifies itself as a resource
6641
+ * with `$id`, the base URI is that of the entire document.
6642
+ *
6643
+ * The root schema of a JSON Schema document SHOULD contain an `$id`
6644
+ * keyword with an [absolute-URI][RFC3986] (containing a scheme, but no
6645
+ * fragment).
6646
+ *
6647
+ * [RFC6596]: https://datatracker.ietf.org/doc/html/rfc6596
6648
+ * [RFC3986]: https://datatracker.ietf.org/doc/html/rfc3986
6649
+ *
6650
+ * @format "uri-reference"
6224
6651
  */
6225
6652
  $id?: string;
6226
- /**
6227
- * The `$ref` keyword is an applicator that is used to reference a
6228
- * statically identified schema. Its results are the results of the
6229
- * referenced schema. Other keywords can appear alongside of `$ref` in
6230
- * the same schema object.
6231
- *
6232
- * The value of the `$ref` property MUST be a string which is a
6233
- * URI-Reference. Resolved against the current URI base, it produces the
6234
- * URI of the schema to apply.
6235
- *
6236
- * @format "uri-reference"
6653
+ /**
6654
+ * The `$ref` keyword is an applicator that is used to reference a
6655
+ * statically identified schema. Its results are the results of the
6656
+ * referenced schema. Other keywords can appear alongside of `$ref` in
6657
+ * the same schema object.
6658
+ *
6659
+ * The value of the `$ref` property MUST be a string which is a
6660
+ * URI-Reference. Resolved against the current URI base, it produces the
6661
+ * URI of the schema to apply.
6662
+ *
6663
+ * @format "uri-reference"
6237
6664
  */
6238
6665
  $ref?: string;
6239
- /**
6240
- * The `$schema` keyword is both used as a JSON Schema dialect identifier
6241
- * and as the identifier of a resource which is itself a JSON Schema, which
6242
- * describes the set of valid schemas written for this particular dialect.
6243
- *
6244
- * The value of this keyword MUST be a [URI][RFC3986] (containing a scheme)
6245
- * and this URI MUST be normalized. The current schema MUST be valid
6246
- * against the meta-schema identified by this URI.
6247
- *
6248
- * If this URI identifies a retrievable resource, that resource SHOULD be
6249
- * of media type `application/schema+json`.
6250
- *
6251
- * The `$schema` keyword SHOULD be used in the document root schema
6252
- * object, and MAY be used in the root schema objects of embedded schema
6253
- * resources. It MUST NOT appear in non-resource root schema objects. If
6254
- * absent from the document root schema, the resulting behavior is
6255
- * implementation-defined.
6256
- *
6257
- * Values for this property are defined elsewhere in this and other
6258
- * documents, and by other parties.
6259
- *
6260
- * [RFC3986]: https://datatracker.ietf.org/doc/html/rfc3986
6261
- *
6262
- * @format "uri"
6666
+ /**
6667
+ * The `$schema` keyword is both used as a JSON Schema dialect identifier
6668
+ * and as the identifier of a resource which is itself a JSON Schema, which
6669
+ * describes the set of valid schemas written for this particular dialect.
6670
+ *
6671
+ * The value of this keyword MUST be a [URI][RFC3986] (containing a scheme)
6672
+ * and this URI MUST be normalized. The current schema MUST be valid
6673
+ * against the meta-schema identified by this URI.
6674
+ *
6675
+ * If this URI identifies a retrievable resource, that resource SHOULD be
6676
+ * of media type `application/schema+json`.
6677
+ *
6678
+ * The `$schema` keyword SHOULD be used in the document root schema
6679
+ * object, and MAY be used in the root schema objects of embedded schema
6680
+ * resources. It MUST NOT appear in non-resource root schema objects. If
6681
+ * absent from the document root schema, the resulting behavior is
6682
+ * implementation-defined.
6683
+ *
6684
+ * Values for this property are defined elsewhere in this and other
6685
+ * documents, and by other parties.
6686
+ *
6687
+ * [RFC3986]: https://datatracker.ietf.org/doc/html/rfc3986
6688
+ *
6689
+ * @format "uri"
6263
6690
  */
6264
6691
  $schema?: string;
6265
- /**
6266
- * The `$vocabulary` keyword is used in meta-schemas to identify the
6267
- * vocabularies available for use in schemas described by that meta-schema.
6268
- * It is also used to indicate whether each vocabulary is required or
6269
- * optional, in the sense that an implementation MUST understand the
6270
- * required vocabularies in order to successfully process the schema.
6271
- * Together, this information forms a dialect. Any vocabulary that is
6272
- * understood by the implementation MUST be processed in a manner
6273
- * consistent with the semantic definitions contained within the
6274
- * vocabulary.
6275
- *
6276
- * The value of this keyword MUST be an object. The property names in the
6277
- * object MUST be URIs (containing a scheme) and this URI MUST be
6278
- * normalized. Each URI that appears as a property name identifies a
6279
- * specific set of keywords and their semantics.
6280
- *
6281
- * The URI MAY be a URL, but the nature of the retrievable resource is
6282
- * currently undefined, and reserved for future use. Vocabulary authors
6283
- * MAY use the URL of the vocabulary specification, in a human-readable
6284
- * media type such as `text/html` or `text/plain`, as the vocabulary
6285
- * URI.
6286
- *
6287
- * The values of the object properties MUST be booleans. If the value is
6288
- * `true`, then implementations that do not recognize the vocabulary MUST
6289
- * refuse to process any schemas that declare this meta-schema with
6290
- * `$schema`. If the value is `false`, implementations that do not
6291
- * recognize the vocabulary SHOULD proceed with processing such schemas.
6292
- * The value has no impact if the implementation understands the
6293
- * vocabulary.
6294
- *
6295
- * Unrecognized keywords SHOULD be ignored. This remains the case for
6296
- * keywords defined by unrecognized vocabularies. It is not currently
6297
- * possible to distinguish between unrecognized keywords that are defined
6298
- * in vocabularies from those that are not part of any vocabulary.
6299
- *
6300
- * The `$vocabulary` keyword SHOULD be used in the root schema of any
6301
- * schema document intended for use as a meta-schema. It MUST NOT appear
6302
- * in subschemas.
6303
- *
6304
- * The `$vocabulary` keyword MUST be ignored in schema documents that are
6305
- * not being processed as a meta-schema.
6692
+ /**
6693
+ * The `$vocabulary` keyword is used in meta-schemas to identify the
6694
+ * vocabularies available for use in schemas described by that meta-schema.
6695
+ * It is also used to indicate whether each vocabulary is required or
6696
+ * optional, in the sense that an implementation MUST understand the
6697
+ * required vocabularies in order to successfully process the schema.
6698
+ * Together, this information forms a dialect. Any vocabulary that is
6699
+ * understood by the implementation MUST be processed in a manner
6700
+ * consistent with the semantic definitions contained within the
6701
+ * vocabulary.
6702
+ *
6703
+ * The value of this keyword MUST be an object. The property names in the
6704
+ * object MUST be URIs (containing a scheme) and this URI MUST be
6705
+ * normalized. Each URI that appears as a property name identifies a
6706
+ * specific set of keywords and their semantics.
6707
+ *
6708
+ * The URI MAY be a URL, but the nature of the retrievable resource is
6709
+ * currently undefined, and reserved for future use. Vocabulary authors
6710
+ * MAY use the URL of the vocabulary specification, in a human-readable
6711
+ * media type such as `text/html` or `text/plain`, as the vocabulary
6712
+ * URI.
6713
+ *
6714
+ * The values of the object properties MUST be booleans. If the value is
6715
+ * `true`, then implementations that do not recognize the vocabulary MUST
6716
+ * refuse to process any schemas that declare this meta-schema with
6717
+ * `$schema`. If the value is `false`, implementations that do not
6718
+ * recognize the vocabulary SHOULD proceed with processing such schemas.
6719
+ * The value has no impact if the implementation understands the
6720
+ * vocabulary.
6721
+ *
6722
+ * Unrecognized keywords SHOULD be ignored. This remains the case for
6723
+ * keywords defined by unrecognized vocabularies. It is not currently
6724
+ * possible to distinguish between unrecognized keywords that are defined
6725
+ * in vocabularies from those that are not part of any vocabulary.
6726
+ *
6727
+ * The `$vocabulary` keyword SHOULD be used in the root schema of any
6728
+ * schema document intended for use as a meta-schema. It MUST NOT appear
6729
+ * in subschemas.
6730
+ *
6731
+ * The `$vocabulary` keyword MUST be ignored in schema documents that are
6732
+ * not being processed as a meta-schema.
6306
6733
  */
6307
6734
  $vocabulary?: Record<string, string>;
6308
- /**
6309
- * @deprecated `additionalItems` has been deprecated in favor of `prefixItems`
6310
- * paired with `items`.
6735
+ /**
6736
+ * @deprecated `additionalItems` has been deprecated in favor of `prefixItems`
6737
+ * paired with `items`.
6311
6738
  */
6312
6739
  additionalItems?: JSONSchema;
6313
- /**
6314
- * The value of `additionalProperties` MUST be a valid JSON Schema.
6315
- *
6316
- * The behavior of this keyword depends on the presence and annotation
6317
- * results of `properties` and `patternProperties` within the same
6318
- * schema object. Validation with `additionalProperties` applies only to
6319
- * the child values of instance names that do not appear in the annotation
6320
- * results of either `properties` or `patternProperties`.
6321
- *
6322
- * For all such properties, validation succeeds if the child instance
6323
- * validates against the `additionalProperties` schema.
6324
- *
6325
- * The annotation result of this keyword is the set of instance property
6326
- * names validated by this keyword's subschema. Annotation results for
6327
- * `additionalProperties` keywords from multiple schemas applied to the
6328
- * same instance location are combined by taking the union of the sets.
6329
- *
6330
- * Omitting this keyword has the same assertion behavior as an empty
6331
- * schema.
6332
- *
6333
- * Implementations MAY choose to implement or optimize this keyword in
6334
- * another way that produces the same effect, such as by directly checking
6335
- * the names in `properties` and the patterns in `patternProperties`
6336
- * against the instance property set.
6740
+ /**
6741
+ * The value of `additionalProperties` MUST be a valid JSON Schema.
6742
+ *
6743
+ * The behavior of this keyword depends on the presence and annotation
6744
+ * results of `properties` and `patternProperties` within the same
6745
+ * schema object. Validation with `additionalProperties` applies only to
6746
+ * the child values of instance names that do not appear in the annotation
6747
+ * results of either `properties` or `patternProperties`.
6748
+ *
6749
+ * For all such properties, validation succeeds if the child instance
6750
+ * validates against the `additionalProperties` schema.
6751
+ *
6752
+ * The annotation result of this keyword is the set of instance property
6753
+ * names validated by this keyword's subschema. Annotation results for
6754
+ * `additionalProperties` keywords from multiple schemas applied to the
6755
+ * same instance location are combined by taking the union of the sets.
6756
+ *
6757
+ * Omitting this keyword has the same assertion behavior as an empty
6758
+ * schema.
6759
+ *
6760
+ * Implementations MAY choose to implement or optimize this keyword in
6761
+ * another way that produces the same effect, such as by directly checking
6762
+ * the names in `properties` and the patterns in `patternProperties`
6763
+ * against the instance property set.
6337
6764
  */
6338
6765
  additionalProperties?: JSONSchema;
6339
- /**
6340
- * This keyword's value MUST be a non-empty array. Each item of the array
6341
- * MUST be a valid JSON Schema.
6342
- *
6343
- * An instance validates successfully against this keyword if it validates
6344
- * successfully against all schemas defined by this keyword's value.
6766
+ /**
6767
+ * This keyword's value MUST be a non-empty array. Each item of the array
6768
+ * MUST be a valid JSON Schema.
6769
+ *
6770
+ * An instance validates successfully against this keyword if it validates
6771
+ * successfully against all schemas defined by this keyword's value.
6345
6772
  */
6346
6773
  allOf?: MaybeReadonlyArray<JSONSchema<Value, SchemaType>>;
6347
- /**
6348
- * This keyword's value MUST be a non-empty array. Each item of the array
6349
- * MUST be a valid JSON Schema.
6350
- *
6351
- * An instance validates successfully against this keyword if it validates
6352
- * successfully against at least one schema defined by this keyword's
6353
- * value.
6774
+ /**
6775
+ * This keyword's value MUST be a non-empty array. Each item of the array
6776
+ * MUST be a valid JSON Schema.
6777
+ *
6778
+ * An instance validates successfully against this keyword if it validates
6779
+ * successfully against at least one schema defined by this keyword's
6780
+ * value.
6354
6781
  */
6355
6782
  anyOf?: MaybeReadonlyArray<JSONSchema<Value, SchemaType>>;
6356
- /**
6357
- * An instance validates successfully against this keyword if its value is
6358
- * equal to the value of the keyword.
6359
- *
6360
- * Use of this keyword is functionally equivalent to the `enum` keyword
6361
- * with a single value.
6783
+ /**
6784
+ * An instance validates successfully against this keyword if its value is
6785
+ * equal to the value of the keyword.
6786
+ *
6787
+ * Use of this keyword is functionally equivalent to the `enum` keyword
6788
+ * with a single value.
6362
6789
  */
6363
6790
  const?: Value;
6364
- /**
6365
- * The value of this keyword MUST be a valid JSON Schema.
6366
- *
6367
- * An array instance is valid against `contains` if at least one of its
6368
- * elements is valid against the given schema. The subschema MUST be
6369
- * applied to every array element even after the first match has been
6370
- * found, in order to collect annotations for use by other keywords.
6371
- * This is to ensure that all possible annotations are collected.
6372
- *
6373
- * Logically, the validation result of applying the value subschema to each
6374
- * item in the array MUST be OR'ed with `false`, resulting in an overall
6375
- * validation result.
6376
- *
6377
- * This keyword produces an annotation value which is an array of the
6378
- * indexes to which this keyword validates successfully when applying its
6379
- * subschema, in ascending order. The value MAY be a boolean `true` if
6380
- * the subschema validates successfully when applied to every index of the
6381
- * instance. The annotation MUST be present if the instance array to which
6382
- * this keyword's schema applies is empty.
6791
+ /**
6792
+ * The value of this keyword MUST be a valid JSON Schema.
6793
+ *
6794
+ * An array instance is valid against `contains` if at least one of its
6795
+ * elements is valid against the given schema. The subschema MUST be
6796
+ * applied to every array element even after the first match has been
6797
+ * found, in order to collect annotations for use by other keywords.
6798
+ * This is to ensure that all possible annotations are collected.
6799
+ *
6800
+ * Logically, the validation result of applying the value subschema to each
6801
+ * item in the array MUST be OR'ed with `false`, resulting in an overall
6802
+ * validation result.
6803
+ *
6804
+ * This keyword produces an annotation value which is an array of the
6805
+ * indexes to which this keyword validates successfully when applying its
6806
+ * subschema, in ascending order. The value MAY be a boolean `true` if
6807
+ * the subschema validates successfully when applied to every index of the
6808
+ * instance. The annotation MUST be present if the instance array to which
6809
+ * this keyword's schema applies is empty.
6383
6810
  */
6384
6811
  contains?: JSONSchema<Value, SchemaType>;
6385
- /**
6386
- * If the instance value is a string, this property defines that the
6387
- * string SHOULD be interpreted as binary data and decoded using the
6388
- * encoding named by this property. [RFC 2045, Sec 6.1][RFC2045] lists the
6389
- * possible values for this property.
6390
- *
6391
- * The value of this property SHOULD be ignored if the instance described
6392
- * is not a string.
6393
- *
6394
- * If this keyword is absent, but `contentMediaType` is present, this
6395
- * indicates that the media type could be encoded into `UTF-8` like any
6396
- * other JSON string value, and does not require additional decoding.
6397
- *
6398
- * The value of this property MUST be a string.
6399
- *
6400
- * [RFC2045]: https://datatracker.ietf.org/doc/html/rfc2045#section-6.1
6812
+ /**
6813
+ * If the instance value is a string, this property defines that the
6814
+ * string SHOULD be interpreted as binary data and decoded using the
6815
+ * encoding named by this property. [RFC 2045, Sec 6.1][RFC2045] lists the
6816
+ * possible values for this property.
6817
+ *
6818
+ * The value of this property SHOULD be ignored if the instance described
6819
+ * is not a string.
6820
+ *
6821
+ * If this keyword is absent, but `contentMediaType` is present, this
6822
+ * indicates that the media type could be encoded into `UTF-8` like any
6823
+ * other JSON string value, and does not require additional decoding.
6824
+ *
6825
+ * The value of this property MUST be a string.
6826
+ *
6827
+ * [RFC2045]: https://datatracker.ietf.org/doc/html/rfc2045#section-6.1
6401
6828
  */
6402
6829
  contentEncoding?: "7bit" | "8bit" | "base64" | "binary" | "ietf-token" | "quoted-printable" | "x-token";
6403
- /**
6404
- * If the instance is a string, this property indicates the media type
6405
- * of the contents of the string. If `contentEncoding` is present,
6406
- * this property describes the decoded string.
6407
- *
6408
- * The value of this property must be a media type, as defined by
6409
- * [RFC 2046][RFC2046]. This property defines the media type of instances
6410
- * which this schema defines.
6411
- *
6412
- * The value of this property SHOULD be ignored if the instance described
6413
- * is not a string.
6414
- *
6415
- * If the `contentEncoding` property is not present, but the instance
6416
- * value is a string, then the value of this property SHOULD specify a text
6417
- * document type, and the character set SHOULD be the character set into
6418
- * which the JSON string value was decoded (for which the default is
6419
- * Unicode).
6420
- *
6421
- * [RFC2046]: https://datatracker.ietf.org/doc/html/rfc2046
6830
+ /**
6831
+ * If the instance is a string, this property indicates the media type
6832
+ * of the contents of the string. If `contentEncoding` is present,
6833
+ * this property describes the decoded string.
6834
+ *
6835
+ * The value of this property must be a media type, as defined by
6836
+ * [RFC 2046][RFC2046]. This property defines the media type of instances
6837
+ * which this schema defines.
6838
+ *
6839
+ * The value of this property SHOULD be ignored if the instance described
6840
+ * is not a string.
6841
+ *
6842
+ * If the `contentEncoding` property is not present, but the instance
6843
+ * value is a string, then the value of this property SHOULD specify a text
6844
+ * document type, and the character set SHOULD be the character set into
6845
+ * which the JSON string value was decoded (for which the default is
6846
+ * Unicode).
6847
+ *
6848
+ * [RFC2046]: https://datatracker.ietf.org/doc/html/rfc2046
6422
6849
  */
6423
6850
  contentMediaType?: string;
6424
- /**
6425
- * If the instance is a string, and if `contentMediaType` is present,
6426
- * this property contains a schema which describes the structure of the
6427
- * string.
6428
- *
6429
- * This keyword MAY be used with any media type that can be mapped into
6430
- * JSON Schema's data model.
6431
- *
6432
- * The value of this property MUST be a valid JSON schema. It SHOULD be
6433
- * ignored if `contentMediaType` is not present.
6851
+ /**
6852
+ * If the instance is a string, and if `contentMediaType` is present,
6853
+ * this property contains a schema which describes the structure of the
6854
+ * string.
6855
+ *
6856
+ * This keyword MAY be used with any media type that can be mapped into
6857
+ * JSON Schema's data model.
6858
+ *
6859
+ * The value of this property MUST be a valid JSON schema. It SHOULD be
6860
+ * ignored if `contentMediaType` is not present.
6434
6861
  */
6435
6862
  contentSchema?: JSONSchema<Value, SchemaType>;
6436
- /**
6437
- * This keyword can be used to supply a default JSON value associated with
6438
- * a particular schema. It is RECOMMENDED that a `default` value be valid
6439
- * against the associated schema.
6863
+ /**
6864
+ * This keyword can be used to supply a default JSON value associated with
6865
+ * a particular schema. It is RECOMMENDED that a `default` value be valid
6866
+ * against the associated schema.
6440
6867
  */
6441
6868
  default?: Value;
6442
- /**
6443
- * @deprecated `definitions` has been renamed to `$defs`.
6869
+ /**
6870
+ * @deprecated `definitions` has been renamed to `$defs`.
6444
6871
  */
6445
6872
  definitions?: Record<string, JSONSchema>;
6446
- /**
6447
- * @deprecated `dependencies` has been split into two keywords:
6448
- * `dependentSchemas` and `dependentRequired`.
6873
+ /**
6874
+ * @deprecated `dependencies` has been split into two keywords:
6875
+ * `dependentSchemas` and `dependentRequired`.
6449
6876
  */
6450
6877
  dependencies?: Record<string, MaybeReadonlyArray<string> | JSONSchema>;
6451
- /**
6452
- * The value of this keyword MUST be an object. Properties in
6453
- * this object, if any, MUST be arrays. Elements in each array,
6454
- * if any, MUST be strings, and MUST be unique.
6455
- *
6456
- * This keyword specifies properties that are required if a specific
6457
- * other property is present. Their requirement is dependent on the
6458
- * presence of the other property.
6459
- *
6460
- * Validation succeeds if, for each name that appears in both
6461
- * the instance and as a name within this keyword's value, every
6462
- * item in the corresponding array is also the name of a property
6463
- * in the instance.
6464
- *
6465
- * Omitting this keyword has the same behavior as an empty object.
6878
+ /**
6879
+ * The value of this keyword MUST be an object. Properties in
6880
+ * this object, if any, MUST be arrays. Elements in each array,
6881
+ * if any, MUST be strings, and MUST be unique.
6882
+ *
6883
+ * This keyword specifies properties that are required if a specific
6884
+ * other property is present. Their requirement is dependent on the
6885
+ * presence of the other property.
6886
+ *
6887
+ * Validation succeeds if, for each name that appears in both
6888
+ * the instance and as a name within this keyword's value, every
6889
+ * item in the corresponding array is also the name of a property
6890
+ * in the instance.
6891
+ *
6892
+ * Omitting this keyword has the same behavior as an empty object.
6466
6893
  */
6467
6894
  dependentRequired?: Record<string, MaybeReadonlyArray<string>>;
6468
- /**
6469
- * This keyword specifies subschemas that are evaluated if the instance is
6470
- * an object and contains a certain property.
6471
- *
6472
- * This keyword's value MUST be an object. Each value in the object MUST be
6473
- * a valid JSON Schema.
6474
- *
6475
- * If the object key is a property in the instance, the entire instance
6476
- * must validate against the subschema. Its use is dependent on the
6477
- * presence of the property.
6478
- *
6479
- * Omitting this keyword has the same behavior as an empty object.
6895
+ /**
6896
+ * This keyword specifies subschemas that are evaluated if the instance is
6897
+ * an object and contains a certain property.
6898
+ *
6899
+ * This keyword's value MUST be an object. Each value in the object MUST be
6900
+ * a valid JSON Schema.
6901
+ *
6902
+ * If the object key is a property in the instance, the entire instance
6903
+ * must validate against the subschema. Its use is dependent on the
6904
+ * presence of the property.
6905
+ *
6906
+ * Omitting this keyword has the same behavior as an empty object.
6480
6907
  */
6481
6908
  dependentSchemas?: Record<string, JSONSchema>;
6482
- /**
6483
- * The value of this keyword MUST be a boolean. When multiple occurrences
6484
- * of this keyword are applicable to a single sub-instance, applications
6485
- * SHOULD consider the instance location to be deprecated if any occurrence
6486
- * specifies a `true` value.
6487
- *
6488
- * If `deprecated` has a value of boolean `true`, it indicates that
6489
- * applications SHOULD refrain from usage of the declared property. It MAY
6490
- * mean the property is going to be removed in the future.
6491
- *
6492
- * A root schema containing `deprecated` with a value of `true`
6493
- * indicates that the entire resource being described MAY be removed in the
6494
- * future.
6495
- *
6496
- * The `deprecated` keyword applies to each instance location to which
6497
- * the schema object containing the keyword successfully applies. This can
6498
- * result in scenarios where every array item or object property is
6499
- * deprecated even though the containing array or object is not.
6500
- *
6501
- * Omitting this keyword has the same behavior as a value of `false`.
6909
+ /**
6910
+ * The value of this keyword MUST be a boolean. When multiple occurrences
6911
+ * of this keyword are applicable to a single sub-instance, applications
6912
+ * SHOULD consider the instance location to be deprecated if any occurrence
6913
+ * specifies a `true` value.
6914
+ *
6915
+ * If `deprecated` has a value of boolean `true`, it indicates that
6916
+ * applications SHOULD refrain from usage of the declared property. It MAY
6917
+ * mean the property is going to be removed in the future.
6918
+ *
6919
+ * A root schema containing `deprecated` with a value of `true`
6920
+ * indicates that the entire resource being described MAY be removed in the
6921
+ * future.
6922
+ *
6923
+ * The `deprecated` keyword applies to each instance location to which
6924
+ * the schema object containing the keyword successfully applies. This can
6925
+ * result in scenarios where every array item or object property is
6926
+ * deprecated even though the containing array or object is not.
6927
+ *
6928
+ * Omitting this keyword has the same behavior as a value of `false`.
6502
6929
  */
6503
6930
  deprecated?: boolean;
6504
- /**
6505
- * Can be used to decorate a user interface with explanation or information
6506
- * about the data produced.
6931
+ /**
6932
+ * Can be used to decorate a user interface with explanation or information
6933
+ * about the data produced.
6507
6934
  */
6508
6935
  description?: string;
6509
- /**
6510
- * This keyword's value MUST be a valid JSON Schema.
6511
- *
6512
- * When `if` is present, and the instance fails to validate against its
6513
- * subschema, then validation succeeds against this keyword if the instance
6514
- * successfully validates against this keyword's subschema.
6515
- *
6516
- * This keyword has no effect when `if` is absent, or when the instance
6517
- * successfully validates against its subschema. Implementations MUST NOT
6518
- * evaluate the instance against this keyword, for either validation or
6519
- * annotation collection purposes, in such cases.
6936
+ /**
6937
+ * This keyword's value MUST be a valid JSON Schema.
6938
+ *
6939
+ * When `if` is present, and the instance fails to validate against its
6940
+ * subschema, then validation succeeds against this keyword if the instance
6941
+ * successfully validates against this keyword's subschema.
6942
+ *
6943
+ * This keyword has no effect when `if` is absent, or when the instance
6944
+ * successfully validates against its subschema. Implementations MUST NOT
6945
+ * evaluate the instance against this keyword, for either validation or
6946
+ * annotation collection purposes, in such cases.
6520
6947
  */
6521
6948
  else?: JSONSchema<Value, SchemaType>;
6522
- /**
6523
- * The value of this keyword MUST be an array. This array SHOULD have at
6524
- * least one element. Elements in the array SHOULD be unique.
6525
- *
6526
- * An instance validates successfully against this keyword if its value is
6527
- * equal to one of the elements in this keyword's array value.
6528
- *
6529
- * Elements in the array might be of any type, including `null`.
6949
+ /**
6950
+ * The value of this keyword MUST be an array. This array SHOULD have at
6951
+ * least one element. Elements in the array SHOULD be unique.
6952
+ *
6953
+ * An instance validates successfully against this keyword if its value is
6954
+ * equal to one of the elements in this keyword's array value.
6955
+ *
6956
+ * Elements in the array might be of any type, including `null`.
6530
6957
  */
6531
6958
  enum?: MaybeReadonlyArray<Value>;
6532
- /**
6533
- * The value of this keyword MUST be an array. When multiple occurrences of
6534
- * this keyword are applicable to a single sub-instance, implementations
6535
- * MUST provide a flat array of all values rather than an array of arrays.
6536
- *
6537
- * This keyword can be used to provide sample JSON values associated with a
6538
- * particular schema, for the purpose of illustrating usage. It is
6539
- * RECOMMENDED that these values be valid against the associated schema.
6540
- *
6541
- * Implementations MAY use the value(s) of `default`, if present, as an
6542
- * additional example. If `examples` is absent, `default` MAY still be
6543
- * used in this manner.
6959
+ /**
6960
+ * The value of this keyword MUST be an array. When multiple occurrences of
6961
+ * this keyword are applicable to a single sub-instance, implementations
6962
+ * MUST provide a flat array of all values rather than an array of arrays.
6963
+ *
6964
+ * This keyword can be used to provide sample JSON values associated with a
6965
+ * particular schema, for the purpose of illustrating usage. It is
6966
+ * RECOMMENDED that these values be valid against the associated schema.
6967
+ *
6968
+ * Implementations MAY use the value(s) of `default`, if present, as an
6969
+ * additional example. If `examples` is absent, `default` MAY still be
6970
+ * used in this manner.
6544
6971
  */
6545
6972
  examples?: MaybeReadonlyArray<Value>;
6546
- /**
6547
- * The value of `exclusiveMaximum` MUST be a number, representing an
6548
- * exclusive upper limit for a numeric instance.
6549
- *
6550
- * If the instance is a number, then the instance is valid only if it has a
6551
- * value strictly less than (not equal to) `exclusiveMaximum`.
6973
+ /**
6974
+ * The value of `exclusiveMaximum` MUST be a number, representing an
6975
+ * exclusive upper limit for a numeric instance.
6976
+ *
6977
+ * If the instance is a number, then the instance is valid only if it has a
6978
+ * value strictly less than (not equal to) `exclusiveMaximum`.
6552
6979
  */
6553
6980
  exclusiveMaximum?: number;
6554
- /**
6555
- * The value of `exclusiveMinimum` MUST be a number, representing an
6556
- * exclusive lower limit for a numeric instance.
6557
- *
6558
- * If the instance is a number, then the instance is valid only if it has a
6559
- * value strictly greater than (not equal to) `exclusiveMinimum`.
6981
+ /**
6982
+ * The value of `exclusiveMinimum` MUST be a number, representing an
6983
+ * exclusive lower limit for a numeric instance.
6984
+ *
6985
+ * If the instance is a number, then the instance is valid only if it has a
6986
+ * value strictly greater than (not equal to) `exclusiveMinimum`.
6560
6987
  */
6561
6988
  exclusiveMinimum?: number;
6562
- /**
6563
- * Implementations MAY treat `format` as an assertion in addition to an
6564
- * annotation, and attempt to validate the value's conformance to the
6565
- * specified semantics.
6566
- *
6567
- * The value of this keyword is called a format attribute. It MUST be a
6568
- * string. A format attribute can generally only validate a given set
6569
- * of instance types. If the type of the instance to validate is not in
6570
- * this set, validation for this format attribute and instance SHOULD
6571
- * succeed. Format attributes are most often applied to strings, but can
6572
- * be specified to apply to any type.
6573
- *
6574
- * Implementations MAY support custom format attributes. Save for agreement
6575
- * between parties, schema authors SHALL NOT expect a peer implementation
6576
- * to support such custom format attributes. An implementation MUST NOT
6577
- * fail validation or cease processing due to an unknown format attribute.
6578
- * When treating `format` as an annotation, implementations SHOULD
6579
- * collect both known and unknown format attribute values.
6989
+ /**
6990
+ * Implementations MAY treat `format` as an assertion in addition to an
6991
+ * annotation, and attempt to validate the value's conformance to the
6992
+ * specified semantics.
6993
+ *
6994
+ * The value of this keyword is called a format attribute. It MUST be a
6995
+ * string. A format attribute can generally only validate a given set
6996
+ * of instance types. If the type of the instance to validate is not in
6997
+ * this set, validation for this format attribute and instance SHOULD
6998
+ * succeed. Format attributes are most often applied to strings, but can
6999
+ * be specified to apply to any type.
7000
+ *
7001
+ * Implementations MAY support custom format attributes. Save for agreement
7002
+ * between parties, schema authors SHALL NOT expect a peer implementation
7003
+ * to support such custom format attributes. An implementation MUST NOT
7004
+ * fail validation or cease processing due to an unknown format attribute.
7005
+ * When treating `format` as an annotation, implementations SHOULD
7006
+ * collect both known and unknown format attribute values.
6580
7007
  */
6581
7008
  format?: string;
6582
- /**
6583
- * This keyword's value MUST be a valid JSON Schema.
6584
- *
6585
- * This validation outcome of this keyword's subschema has no direct effect
6586
- * on the overall validation result. Rather, it controls which of the
6587
- * `then` or `else` keywords are evaluated.
6588
- *
6589
- * Instances that successfully validate against this keyword's subschema
6590
- * MUST also be valid against the subschema value of the `then` keyword,
6591
- * if present.
6592
- *
6593
- * Instances that fail to validate against this keyword's subschema MUST
6594
- * also be valid against the subschema value of the `else` keyword, if
6595
- * present.
6596
- *
6597
- * If annotations are being collected, they are collected
6598
- * from this keyword's subschema in the usual way, including when the
6599
- * keyword is present without either `then` or `else`.
7009
+ /**
7010
+ * This keyword's value MUST be a valid JSON Schema.
7011
+ *
7012
+ * This validation outcome of this keyword's subschema has no direct effect
7013
+ * on the overall validation result. Rather, it controls which of the
7014
+ * `then` or `else` keywords are evaluated.
7015
+ *
7016
+ * Instances that successfully validate against this keyword's subschema
7017
+ * MUST also be valid against the subschema value of the `then` keyword,
7018
+ * if present.
7019
+ *
7020
+ * Instances that fail to validate against this keyword's subschema MUST
7021
+ * also be valid against the subschema value of the `else` keyword, if
7022
+ * present.
7023
+ *
7024
+ * If annotations are being collected, they are collected
7025
+ * from this keyword's subschema in the usual way, including when the
7026
+ * keyword is present without either `then` or `else`.
6600
7027
  */
6601
7028
  if?: JSONSchema<Value, SchemaType>;
6602
- /**
6603
- * The value of `items` MUST be a valid JSON Schema.
6604
- *
6605
- * This keyword applies its subschema to all instance elements at indexes
6606
- * greater than the length of the `prefixItems` array in the same schema
6607
- * object, as reported by the annotation result of that `prefixItems`
6608
- * keyword. If no such annotation result exists, `items` applies its
6609
- * subschema to all instance array elements.
6610
- *
6611
- * Note that the behavior of `items` without `prefixItems` is identical
6612
- * to that of the schema form of `items` in prior drafts.
6613
- *
6614
- * When `prefixItems` is present, the behavior of `items` is identical
6615
- * to the former `additionalItems` keyword.
6616
- *
6617
- * If the `items` subschema is applied to any positions within the
6618
- * instance array, it produces an annotation result of boolean `true`,
6619
- * indicating that all remaining array elements have been evaluated against
6620
- * this keyword's subschema.
6621
- *
6622
- * Omitting this keyword has the same assertion behavior as an empty
6623
- * schema.
6624
- *
6625
- * Implementations MAY choose to implement or optimize this keyword
6626
- * in another way that produces the same effect, such as by directly
6627
- * checking for the presence and size of a `prefixItems` array.
7029
+ /**
7030
+ * The value of `items` MUST be a valid JSON Schema.
7031
+ *
7032
+ * This keyword applies its subschema to all instance elements at indexes
7033
+ * greater than the length of the `prefixItems` array in the same schema
7034
+ * object, as reported by the annotation result of that `prefixItems`
7035
+ * keyword. If no such annotation result exists, `items` applies its
7036
+ * subschema to all instance array elements.
7037
+ *
7038
+ * Note that the behavior of `items` without `prefixItems` is identical
7039
+ * to that of the schema form of `items` in prior drafts.
7040
+ *
7041
+ * When `prefixItems` is present, the behavior of `items` is identical
7042
+ * to the former `additionalItems` keyword.
7043
+ *
7044
+ * If the `items` subschema is applied to any positions within the
7045
+ * instance array, it produces an annotation result of boolean `true`,
7046
+ * indicating that all remaining array elements have been evaluated against
7047
+ * this keyword's subschema.
7048
+ *
7049
+ * Omitting this keyword has the same assertion behavior as an empty
7050
+ * schema.
7051
+ *
7052
+ * Implementations MAY choose to implement or optimize this keyword
7053
+ * in another way that produces the same effect, such as by directly
7054
+ * checking for the presence and size of a `prefixItems` array.
6628
7055
  */
6629
7056
  items?: JSONSchema;
6630
- /**
6631
- * The value of this keyword MUST be a non-negative integer.
6632
- *
6633
- * If `contains` is not present within the same schema object, then this
6634
- * keyword has no effect.
6635
- *
6636
- * An instance array is valid against `maxContains` in two ways,
6637
- * depending on the form of the annotation result of an adjacent
6638
- * `contains` keyword. The first way is if the annotation result is an
6639
- * array and the length of that array is less than or equal to the
6640
- * `maxContains` value. The second way is if the annotation result is a
6641
- * boolean `true` and the instance array length is less than or equal to
6642
- * the `maxContains` value.
7057
+ /**
7058
+ * The value of this keyword MUST be a non-negative integer.
7059
+ *
7060
+ * If `contains` is not present within the same schema object, then this
7061
+ * keyword has no effect.
7062
+ *
7063
+ * An instance array is valid against `maxContains` in two ways,
7064
+ * depending on the form of the annotation result of an adjacent
7065
+ * `contains` keyword. The first way is if the annotation result is an
7066
+ * array and the length of that array is less than or equal to the
7067
+ * `maxContains` value. The second way is if the annotation result is a
7068
+ * boolean `true` and the instance array length is less than or equal to
7069
+ * the `maxContains` value.
6643
7070
  */
6644
7071
  maxContains?: number;
6645
- /**
6646
- * The value of `maximum` MUST be a number, representing an inclusive
6647
- * upper limit for a numeric instance.
6648
- *
6649
- * If the instance is a number, then this keyword validates only if the
6650
- * instance is less than or exactly equal to `maximum`.
7072
+ /**
7073
+ * The value of `maximum` MUST be a number, representing an inclusive
7074
+ * upper limit for a numeric instance.
7075
+ *
7076
+ * If the instance is a number, then this keyword validates only if the
7077
+ * instance is less than or exactly equal to `maximum`.
6651
7078
  */
6652
7079
  maximum?: number;
6653
- /**
6654
- * The value of this keyword MUST be a non-negative integer.
6655
- *
6656
- * An array instance is valid against `maxItems` if its size is less
6657
- * than, or equal to, the value of this keyword.
6658
- *
6659
- * @minimum 0
7080
+ /**
7081
+ * The value of this keyword MUST be a non-negative integer.
7082
+ *
7083
+ * An array instance is valid against `maxItems` if its size is less
7084
+ * than, or equal to, the value of this keyword.
7085
+ *
7086
+ * @minimum 0
6660
7087
  */
6661
7088
  maxItems?: number;
6662
- /**
6663
- * The value of this keyword MUST be a non-negative integer.
6664
- *
6665
- * A string instance is valid against this keyword if its length is less
6666
- * than, or equal to, the value of this keyword.
6667
- *
6668
- * The length of a string instance is defined as the number of its
6669
- * characters as defined by [RFC 8259][RFC8259].
6670
- *
6671
- * [RFC8259]: https://datatracker.ietf.org/doc/html/rfc8259
6672
- *
6673
- * @minimum 0
7089
+ /**
7090
+ * The value of this keyword MUST be a non-negative integer.
7091
+ *
7092
+ * A string instance is valid against this keyword if its length is less
7093
+ * than, or equal to, the value of this keyword.
7094
+ *
7095
+ * The length of a string instance is defined as the number of its
7096
+ * characters as defined by [RFC 8259][RFC8259].
7097
+ *
7098
+ * [RFC8259]: https://datatracker.ietf.org/doc/html/rfc8259
7099
+ *
7100
+ * @minimum 0
6674
7101
  */
6675
7102
  maxLength?: number;
6676
- /**
6677
- * The value of this keyword MUST be a non-negative integer.
6678
- *
6679
- * An object instance is valid against `maxProperties` if its number of
6680
- * `properties` is less than, or equal to, the value of this keyword.
6681
- *
6682
- * @minimum 0
7103
+ /**
7104
+ * The value of this keyword MUST be a non-negative integer.
7105
+ *
7106
+ * An object instance is valid against `maxProperties` if its number of
7107
+ * `properties` is less than, or equal to, the value of this keyword.
7108
+ *
7109
+ * @minimum 0
6683
7110
  */
6684
7111
  maxProperties?: number;
6685
- /**
6686
- * The value of this keyword MUST be a non-negative integer.
6687
- *
6688
- * If `contains` is not present within the same schema object, then this
6689
- * keyword has no effect.
6690
- *
6691
- * An instance array is valid against `minContains` in two ways,
6692
- * depending on the form of the annotation result of an adjacent
6693
- * `contains` keyword. The first way is if the annotation result is an
6694
- * array and the length of that array is greater than or equal to the
6695
- * `minContains` value. The second way is if the annotation result is a
6696
- * boolean `true` and the instance array length is greater than or equal
6697
- * to the `minContains` value.
6698
- *
6699
- * A value of `0` is allowed, but is only useful for setting a range
6700
- * of occurrences from `0` to the value of `maxContains`. A value of
6701
- * `0` with no `maxContains` causes `contains` to always pass
6702
- * validation.
6703
- *
6704
- * Omitting this keyword has the same behavior as a value of `1`.
6705
- *
6706
- * @default 1
7112
+ /**
7113
+ * The value of this keyword MUST be a non-negative integer.
7114
+ *
7115
+ * If `contains` is not present within the same schema object, then this
7116
+ * keyword has no effect.
7117
+ *
7118
+ * An instance array is valid against `minContains` in two ways,
7119
+ * depending on the form of the annotation result of an adjacent
7120
+ * `contains` keyword. The first way is if the annotation result is an
7121
+ * array and the length of that array is greater than or equal to the
7122
+ * `minContains` value. The second way is if the annotation result is a
7123
+ * boolean `true` and the instance array length is greater than or equal
7124
+ * to the `minContains` value.
7125
+ *
7126
+ * A value of `0` is allowed, but is only useful for setting a range
7127
+ * of occurrences from `0` to the value of `maxContains`. A value of
7128
+ * `0` with no `maxContains` causes `contains` to always pass
7129
+ * validation.
7130
+ *
7131
+ * Omitting this keyword has the same behavior as a value of `1`.
7132
+ *
7133
+ * @default 1
6707
7134
  */
6708
7135
  minContains?: number;
6709
- /**
6710
- * The value of `minimum` MUST be a number, representing an inclusive
6711
- * lower limit for a numeric instance.
6712
- *
6713
- * If the instance is a number, then this keyword validates only if the
6714
- * instance is greater than or exactly equal to `minimum`.
7136
+ /**
7137
+ * The value of `minimum` MUST be a number, representing an inclusive
7138
+ * lower limit for a numeric instance.
7139
+ *
7140
+ * If the instance is a number, then this keyword validates only if the
7141
+ * instance is greater than or exactly equal to `minimum`.
6715
7142
  */
6716
7143
  minimum?: number;
6717
- /**
6718
- * The value of this keyword MUST be a non-negative integer.
6719
- *
6720
- * An array instance is valid against `minItems` if its size is greater
6721
- * than, or equal to, the value of this keyword.
6722
- *
6723
- * Omitting this keyword has the same behavior as a value of `0`.
6724
- *
6725
- * @default 0
6726
- * @minimum 0
7144
+ /**
7145
+ * The value of this keyword MUST be a non-negative integer.
7146
+ *
7147
+ * An array instance is valid against `minItems` if its size is greater
7148
+ * than, or equal to, the value of this keyword.
7149
+ *
7150
+ * Omitting this keyword has the same behavior as a value of `0`.
7151
+ *
7152
+ * @default 0
7153
+ * @minimum 0
6727
7154
  */
6728
7155
  minItems?: number;
6729
- /**
6730
- * The value of this keyword MUST be a non-negative integer.
6731
- *
6732
- * A string instance is valid against this keyword if its length is greater
6733
- * than, or equal to, the value of this keyword.
6734
- *
6735
- * The length of a string instance is defined as the number of its
6736
- * characters as defined by [RFC 8259][RFC8259].
6737
- *
6738
- * Omitting this keyword has the same behavior as a value of `0`.
6739
- *
6740
- * [RFC8259]: https://datatracker.ietf.org/doc/html/rfc8259
6741
- *
6742
- * @default 0
6743
- * @minimum 0
7156
+ /**
7157
+ * The value of this keyword MUST be a non-negative integer.
7158
+ *
7159
+ * A string instance is valid against this keyword if its length is greater
7160
+ * than, or equal to, the value of this keyword.
7161
+ *
7162
+ * The length of a string instance is defined as the number of its
7163
+ * characters as defined by [RFC 8259][RFC8259].
7164
+ *
7165
+ * Omitting this keyword has the same behavior as a value of `0`.
7166
+ *
7167
+ * [RFC8259]: https://datatracker.ietf.org/doc/html/rfc8259
7168
+ *
7169
+ * @default 0
7170
+ * @minimum 0
6744
7171
  */
6745
7172
  minLength?: number;
6746
- /**
6747
- * The value of this keyword MUST be a non-negative integer.
6748
- *
6749
- * An object instance is valid against `minProperties` if its number of
6750
- * `properties` is greater than, or equal to, the value of this keyword.
6751
- *
6752
- * Omitting this keyword has the same behavior as a value of `0`.
6753
- *
6754
- * @default 0
6755
- * @minimum 0
7173
+ /**
7174
+ * The value of this keyword MUST be a non-negative integer.
7175
+ *
7176
+ * An object instance is valid against `minProperties` if its number of
7177
+ * `properties` is greater than, or equal to, the value of this keyword.
7178
+ *
7179
+ * Omitting this keyword has the same behavior as a value of `0`.
7180
+ *
7181
+ * @default 0
7182
+ * @minimum 0
6756
7183
  */
6757
7184
  minProperties?: number;
6758
- /**
6759
- * The value of `multipleOf` MUST be a number, strictly greater than
6760
- * `0`.
6761
- *
6762
- * A numeric instance is valid only if division by this keyword's value
6763
- * results in an integer.
6764
- *
6765
- * @exclusiveMinimum 0
7185
+ /**
7186
+ * The value of `multipleOf` MUST be a number, strictly greater than
7187
+ * `0`.
7188
+ *
7189
+ * A numeric instance is valid only if division by this keyword's value
7190
+ * results in an integer.
7191
+ *
7192
+ * @exclusiveMinimum 0
6766
7193
  */
6767
7194
  multipleOf?: number;
6768
- /**
6769
- * This keyword's value MUST be a valid JSON Schema.
6770
- *
6771
- * An instance is valid against this keyword if it fails to validate
6772
- * successfully against the schema defined by this keyword.
7195
+ /**
7196
+ * This keyword's value MUST be a valid JSON Schema.
7197
+ *
7198
+ * An instance is valid against this keyword if it fails to validate
7199
+ * successfully against the schema defined by this keyword.
6773
7200
  */
6774
7201
  not?: JSONSchema<Value, SchemaType>;
6775
- /**
6776
- * This keyword's value MUST be a non-empty array. Each item of the array
6777
- * MUST be a valid JSON Schema.
6778
- *
6779
- * An instance validates successfully against this keyword if it validates
6780
- * successfully against exactly one schema defined by this keyword's value.
7202
+ /**
7203
+ * This keyword's value MUST be a non-empty array. Each item of the array
7204
+ * MUST be a valid JSON Schema.
7205
+ *
7206
+ * An instance validates successfully against this keyword if it validates
7207
+ * successfully against exactly one schema defined by this keyword's value.
6781
7208
  */
6782
7209
  oneOf?: MaybeReadonlyArray<JSONSchema<Value, SchemaType>>;
6783
- /**
6784
- * The value of this keyword MUST be a string. This string SHOULD be a
6785
- * valid regular expression, according to the [ECMA-262][ecma262] regular
6786
- * expression dialect.
6787
- *
6788
- * A string instance is considered valid if the regular expression matches
6789
- * the instance successfully. Recall: regular expressions are not
6790
- * implicitly anchored.
6791
- *
6792
- * [ecma262]: https://www.ecma-international.org/publications-and-standards/standards/ecma-262/
6793
- *
6794
- * @format "regex"
7210
+ /**
7211
+ * The value of this keyword MUST be a string. This string SHOULD be a
7212
+ * valid regular expression, according to the [ECMA-262][ecma262] regular
7213
+ * expression dialect.
7214
+ *
7215
+ * A string instance is considered valid if the regular expression matches
7216
+ * the instance successfully. Recall: regular expressions are not
7217
+ * implicitly anchored.
7218
+ *
7219
+ * [ecma262]: https://www.ecma-international.org/publications-and-standards/standards/ecma-262/
7220
+ *
7221
+ * @format "regex"
6795
7222
  */
6796
7223
  pattern?: string;
6797
- /**
6798
- * The value of `patternProperties` MUST be an object. Each property name
6799
- * of this object SHOULD be a valid regular expression, according to the
6800
- * [ECMA-262][ecma262] regular expression dialect. Each property value of
6801
- * this object MUST be a valid JSON Schema.
6802
- *
6803
- * Validation succeeds if, for each instance name that matches any regular
6804
- * expressions that appear as a property name in this keyword's value,
6805
- * the child instance for that name successfully validates against each
6806
- * schema that corresponds to a matching regular expression.
6807
- *
6808
- * The annotation result of this keyword is the set of instance property
6809
- * names matched by this keyword. Omitting this keyword has the same
6810
- * assertion behavior as an empty object.
6811
- *
6812
- * [ecma262]: https://www.ecma-international.org/publications-and-standards/standards/ecma-262/
7224
+ /**
7225
+ * The value of `patternProperties` MUST be an object. Each property name
7226
+ * of this object SHOULD be a valid regular expression, according to the
7227
+ * [ECMA-262][ecma262] regular expression dialect. Each property value of
7228
+ * this object MUST be a valid JSON Schema.
7229
+ *
7230
+ * Validation succeeds if, for each instance name that matches any regular
7231
+ * expressions that appear as a property name in this keyword's value,
7232
+ * the child instance for that name successfully validates against each
7233
+ * schema that corresponds to a matching regular expression.
7234
+ *
7235
+ * The annotation result of this keyword is the set of instance property
7236
+ * names matched by this keyword. Omitting this keyword has the same
7237
+ * assertion behavior as an empty object.
7238
+ *
7239
+ * [ecma262]: https://www.ecma-international.org/publications-and-standards/standards/ecma-262/
6813
7240
  */
6814
7241
  patternProperties?: Record<string, JSONSchema>;
6815
- /**
6816
- * The value of `prefixItems` MUST be a non-empty array of valid JSON
6817
- * Schemas.
6818
- *
6819
- * Validation succeeds if each element of the instance validates against
6820
- * the schema at the same position, if any. This keyword does not
6821
- * constrain the length of the array. If the array is longer than this
6822
- * keyword's value, this keyword validates only the prefix of matching
6823
- * length.
6824
- *
6825
- * This keyword produces an annotation value which is the largest index to
6826
- * which this keyword applied a subschema. The value MAY be a boolean
6827
- * `true` if a subschema was applied to every index of the instance, such
6828
- * as is produced by the `items` keyword.
6829
- * This annotation affects the behavior of `items` and
6830
- * `unevaluatedItems`.
6831
- *
6832
- * Omitting this keyword has the same assertion behavior as an empty array.
7242
+ /**
7243
+ * The value of `prefixItems` MUST be a non-empty array of valid JSON
7244
+ * Schemas.
7245
+ *
7246
+ * Validation succeeds if each element of the instance validates against
7247
+ * the schema at the same position, if any. This keyword does not
7248
+ * constrain the length of the array. If the array is longer than this
7249
+ * keyword's value, this keyword validates only the prefix of matching
7250
+ * length.
7251
+ *
7252
+ * This keyword produces an annotation value which is the largest index to
7253
+ * which this keyword applied a subschema. The value MAY be a boolean
7254
+ * `true` if a subschema was applied to every index of the instance, such
7255
+ * as is produced by the `items` keyword.
7256
+ * This annotation affects the behavior of `items` and
7257
+ * `unevaluatedItems`.
7258
+ *
7259
+ * Omitting this keyword has the same assertion behavior as an empty array.
6833
7260
  */
6834
7261
  prefixItems?: MaybeReadonlyArray<JSONSchema> | JSONSchema;
6835
- /**
6836
- * The value of `properties` MUST be an object. Each value of this object
6837
- * MUST be a valid JSON Schema.
6838
- *
6839
- * Validation succeeds if, for each name that appears in both the instance
6840
- * and as a name within this keyword's value, the child instance for that
6841
- * name successfully validates against the corresponding schema.
6842
- *
6843
- * The annotation result of this keyword is the set of instance property
6844
- * names matched by this keyword.
6845
- *
6846
- * Omitting this keyword has the same assertion behavior as an empty
6847
- * object.
7262
+ /**
7263
+ * The value of `properties` MUST be an object. Each value of this object
7264
+ * MUST be a valid JSON Schema.
7265
+ *
7266
+ * Validation succeeds if, for each name that appears in both the instance
7267
+ * and as a name within this keyword's value, the child instance for that
7268
+ * name successfully validates against the corresponding schema.
7269
+ *
7270
+ * The annotation result of this keyword is the set of instance property
7271
+ * names matched by this keyword.
7272
+ *
7273
+ * Omitting this keyword has the same assertion behavior as an empty
7274
+ * object.
6848
7275
  */
6849
7276
  properties?: Record<string, JSONSchema>;
6850
- /**
6851
- * The value of `propertyNames` MUST be a valid JSON Schema.
6852
- *
6853
- * If the instance is an object, this keyword validates if every property
6854
- * name in the instance validates against the provided schema.
6855
- * Note the property name that the schema is testing will always be a
6856
- * string.
6857
- *
6858
- * Omitting this keyword has the same behavior as an empty schema.
7277
+ /**
7278
+ * The value of `propertyNames` MUST be a valid JSON Schema.
7279
+ *
7280
+ * If the instance is an object, this keyword validates if every property
7281
+ * name in the instance validates against the provided schema.
7282
+ * Note the property name that the schema is testing will always be a
7283
+ * string.
7284
+ *
7285
+ * Omitting this keyword has the same behavior as an empty schema.
6859
7286
  */
6860
7287
  propertyNames?: JSONSchema;
6861
- /**
6862
- * The value of this keyword MUST be a boolean. When multiple occurrences
6863
- * of this keyword are applicable to a single sub-instance, the resulting
6864
- * value MUST be `true` if any occurrence specifies a `true` value, and
6865
- * MUST be `false` otherwise.
6866
- *
6867
- * If `readOnly` has a value of boolean `true`, it indicates that the
6868
- * value of the instance is managed exclusively by the owning authority,
6869
- * and attempts by an application to modify the value of this property are
6870
- * expected to be ignored or rejected by that owning authority.
6871
- *
6872
- * An instance document that is marked as `readOnly` for the entire
6873
- * document MAY be ignored if sent to the owning authority, or MAY result
6874
- * in an error, at the authority's discretion.
6875
- *
6876
- * For example, `readOnly` would be used to mark a database-generated
6877
- * serial number as read-only.
6878
- *
6879
- * This keyword can be used to assist in user interface instance
6880
- * generation.
6881
- *
6882
- * @default false
7288
+ /**
7289
+ * The value of this keyword MUST be a boolean. When multiple occurrences
7290
+ * of this keyword are applicable to a single sub-instance, the resulting
7291
+ * value MUST be `true` if any occurrence specifies a `true` value, and
7292
+ * MUST be `false` otherwise.
7293
+ *
7294
+ * If `readOnly` has a value of boolean `true`, it indicates that the
7295
+ * value of the instance is managed exclusively by the owning authority,
7296
+ * and attempts by an application to modify the value of this property are
7297
+ * expected to be ignored or rejected by that owning authority.
7298
+ *
7299
+ * An instance document that is marked as `readOnly` for the entire
7300
+ * document MAY be ignored if sent to the owning authority, or MAY result
7301
+ * in an error, at the authority's discretion.
7302
+ *
7303
+ * For example, `readOnly` would be used to mark a database-generated
7304
+ * serial number as read-only.
7305
+ *
7306
+ * This keyword can be used to assist in user interface instance
7307
+ * generation.
7308
+ *
7309
+ * @default false
6883
7310
  */
6884
7311
  readOnly?: boolean;
6885
- /**
6886
- * The value of this keyword MUST be an array. Elements of this array, if
6887
- * any, MUST be strings, and MUST be unique.
6888
- *
6889
- * An object instance is valid against this keyword if every item in the
6890
- * array is the name of a property in the instance.
6891
- *
6892
- * Omitting this keyword has the same behavior as an empty array.
7312
+ /**
7313
+ * The value of this keyword MUST be an array. Elements of this array, if
7314
+ * any, MUST be strings, and MUST be unique.
7315
+ *
7316
+ * An object instance is valid against this keyword if every item in the
7317
+ * array is the name of a property in the instance.
7318
+ *
7319
+ * Omitting this keyword has the same behavior as an empty array.
6893
7320
  */
6894
7321
  required?: MaybeReadonlyArray<string>;
6895
- /**
6896
- * This keyword's value MUST be a valid JSON Schema.
6897
- *
6898
- * When `if` is present, and the instance successfully validates against
6899
- * its subschema, then validation succeeds against this keyword if the
6900
- * instance also successfully validates against this keyword's subschema.
6901
- *
6902
- * This keyword has no effect when `if` is absent, or when the instance
6903
- * fails to validate against its subschema. Implementations MUST NOT
6904
- * evaluate the instance against this keyword, for either validation or
6905
- * annotation collection purposes, in such cases.
7322
+ /**
7323
+ * This keyword's value MUST be a valid JSON Schema.
7324
+ *
7325
+ * When `if` is present, and the instance successfully validates against
7326
+ * its subschema, then validation succeeds against this keyword if the
7327
+ * instance also successfully validates against this keyword's subschema.
7328
+ *
7329
+ * This keyword has no effect when `if` is absent, or when the instance
7330
+ * fails to validate against its subschema. Implementations MUST NOT
7331
+ * evaluate the instance against this keyword, for either validation or
7332
+ * annotation collection purposes, in such cases.
6906
7333
  */
6907
7334
  then?: JSONSchema<Value, SchemaType>;
6908
- /**
6909
- * Can be used to decorate a user interface with a short label about the
6910
- * data produced.
7335
+ /**
7336
+ * Can be used to decorate a user interface with a short label about the
7337
+ * data produced.
6911
7338
  */
6912
7339
  title?: string;
6913
- /**
6914
- * The value of this keyword MUST be either a string or an array. If it is
6915
- * an array, elements of the array MUST be strings and MUST be unique.
6916
- *
6917
- * String values MUST be one of the six primitive types (`"null"`,
6918
- * `"boolean"`, `"object"`, `"array"`, `"number"`, or
6919
- * `"string"`), or `"integer"` which matches any number with a zero
6920
- * fractional part.
6921
- *
6922
- * An instance validates if and only if the instance is in any of the sets
6923
- * listed for this keyword.
7340
+ /**
7341
+ * The value of this keyword MUST be either a string or an array. If it is
7342
+ * an array, elements of the array MUST be strings and MUST be unique.
7343
+ *
7344
+ * String values MUST be one of the six primitive types (`"null"`,
7345
+ * `"boolean"`, `"object"`, `"array"`, `"number"`, or
7346
+ * `"string"`), or `"integer"` which matches any number with a zero
7347
+ * fractional part.
7348
+ *
7349
+ * An instance validates if and only if the instance is in any of the sets
7350
+ * listed for this keyword.
6924
7351
  */
6925
7352
  type?: SchemaType;
6926
- /**
6927
- * The value of `unevaluatedItems` MUST be a valid JSON Schema.
6928
- *
6929
- * The behavior of this keyword depends on the annotation results of
6930
- * adjacent keywords that apply to the instance location being validated.
6931
- * Specifically, the annotations from `prefixItems`, `items`, and
6932
- * `contains`, which can come from those keywords when they are adjacent
6933
- * to the `unevaluatedItems` keyword. Those three annotations, as well as
6934
- * `unevaluatedItems`, can also result from any and all adjacent
6935
- * [in-place applicator][in-place-applicator] keywords.
6936
- *
6937
- * If no relevant annotations are present, the `unevaluatedItems`
6938
- * subschema MUST be applied to all locations in the array.
6939
- * If a boolean `true` value is present from any of the relevant
6940
- * annotations, `unevaluatedItems` MUST be ignored. Otherwise, the
6941
- * subschema MUST be applied to any index greater than the largest
6942
- * annotation value for `prefixItems`, which does not appear in any
6943
- * annotation value for `contains`.
6944
- *
6945
- * This means that `prefixItems`, `items`, `contains`, and all
6946
- * in-place applicators MUST be evaluated before this keyword can be
6947
- * evaluated. Authors of extension keywords MUST NOT define an in-place
6948
- * applicator that would need to be evaluated after this keyword.
6949
- *
6950
- * If the `unevaluatedItems` subschema is applied to any positions within
6951
- * the instance array, it produces an annotation result of boolean
6952
- * `true`, analogous to the behavior of `items`.
6953
- *
6954
- * Omitting this keyword has the same assertion behavior as an empty
6955
- * schema.
6956
- *
6957
- * [in-place-applicator]: https://json-schema.org/draft/2020-12/json-schema-core.html#in-place
7353
+ /**
7354
+ * The value of `unevaluatedItems` MUST be a valid JSON Schema.
7355
+ *
7356
+ * The behavior of this keyword depends on the annotation results of
7357
+ * adjacent keywords that apply to the instance location being validated.
7358
+ * Specifically, the annotations from `prefixItems`, `items`, and
7359
+ * `contains`, which can come from those keywords when they are adjacent
7360
+ * to the `unevaluatedItems` keyword. Those three annotations, as well as
7361
+ * `unevaluatedItems`, can also result from any and all adjacent
7362
+ * [in-place applicator][in-place-applicator] keywords.
7363
+ *
7364
+ * If no relevant annotations are present, the `unevaluatedItems`
7365
+ * subschema MUST be applied to all locations in the array.
7366
+ * If a boolean `true` value is present from any of the relevant
7367
+ * annotations, `unevaluatedItems` MUST be ignored. Otherwise, the
7368
+ * subschema MUST be applied to any index greater than the largest
7369
+ * annotation value for `prefixItems`, which does not appear in any
7370
+ * annotation value for `contains`.
7371
+ *
7372
+ * This means that `prefixItems`, `items`, `contains`, and all
7373
+ * in-place applicators MUST be evaluated before this keyword can be
7374
+ * evaluated. Authors of extension keywords MUST NOT define an in-place
7375
+ * applicator that would need to be evaluated after this keyword.
7376
+ *
7377
+ * If the `unevaluatedItems` subschema is applied to any positions within
7378
+ * the instance array, it produces an annotation result of boolean
7379
+ * `true`, analogous to the behavior of `items`.
7380
+ *
7381
+ * Omitting this keyword has the same assertion behavior as an empty
7382
+ * schema.
7383
+ *
7384
+ * [in-place-applicator]: https://json-schema.org/draft/2020-12/json-schema-core.html#in-place
6958
7385
  */
6959
7386
  unevaluatedItems?: JSONSchema;
6960
- /**
6961
- * The value of `unevaluatedProperties` MUST be a valid JSON Schema.
6962
- *
6963
- * The behavior of this keyword depends on the annotation results of
6964
- * adjacent keywords that apply to the instance location being validated.
6965
- * Specifically, the annotations from `properties`,
6966
- * `patternProperties`, and `additionalProperties`, which can come from
6967
- * those keywords when they are adjacent to the `unevaluatedProperties`
6968
- * keyword. Those three annotations, as well as `unevaluatedProperties`,
6969
- * can also result from any and all adjacent
6970
- * [in-place applicator][in-place-applicator] keywords.
6971
- *
6972
- * Validation with `unevaluatedProperties` applies only to the child
6973
- * values of instance names that do not appear in the `properties`,
6974
- * `patternProperties`, `additionalProperties`, or
6975
- * `unevaluatedProperties` annotation results that apply to the
6976
- * instance location being validated.
6977
- *
6978
- * For all such properties, validation succeeds if the child instance
6979
- * validates against the "unevaluatedProperties" schema.
6980
- *
6981
- * This means that `properties`, `patternProperties`,
6982
- * `additionalProperties`, and all in-place applicators MUST be evaluated
6983
- * before this keyword can be evaluated. Authors of extension keywords
6984
- * MUST NOT define an in-place applicator that would need to be evaluated
6985
- * after this keyword.
6986
- *
6987
- * The annotation result of this keyword is the set of instance property
6988
- * names validated by this keyword's subschema.
6989
- *
6990
- * Omitting this keyword has the same assertion behavior as an empty
6991
- * schema.
6992
- *
6993
- * [in-place-applicator]: https://json-schema.org/draft/2020-12/json-schema-core.html#in-place
7387
+ /**
7388
+ * The value of `unevaluatedProperties` MUST be a valid JSON Schema.
7389
+ *
7390
+ * The behavior of this keyword depends on the annotation results of
7391
+ * adjacent keywords that apply to the instance location being validated.
7392
+ * Specifically, the annotations from `properties`,
7393
+ * `patternProperties`, and `additionalProperties`, which can come from
7394
+ * those keywords when they are adjacent to the `unevaluatedProperties`
7395
+ * keyword. Those three annotations, as well as `unevaluatedProperties`,
7396
+ * can also result from any and all adjacent
7397
+ * [in-place applicator][in-place-applicator] keywords.
7398
+ *
7399
+ * Validation with `unevaluatedProperties` applies only to the child
7400
+ * values of instance names that do not appear in the `properties`,
7401
+ * `patternProperties`, `additionalProperties`, or
7402
+ * `unevaluatedProperties` annotation results that apply to the
7403
+ * instance location being validated.
7404
+ *
7405
+ * For all such properties, validation succeeds if the child instance
7406
+ * validates against the "unevaluatedProperties" schema.
7407
+ *
7408
+ * This means that `properties`, `patternProperties`,
7409
+ * `additionalProperties`, and all in-place applicators MUST be evaluated
7410
+ * before this keyword can be evaluated. Authors of extension keywords
7411
+ * MUST NOT define an in-place applicator that would need to be evaluated
7412
+ * after this keyword.
7413
+ *
7414
+ * The annotation result of this keyword is the set of instance property
7415
+ * names validated by this keyword's subschema.
7416
+ *
7417
+ * Omitting this keyword has the same assertion behavior as an empty
7418
+ * schema.
7419
+ *
7420
+ * [in-place-applicator]: https://json-schema.org/draft/2020-12/json-schema-core.html#in-place
6994
7421
  */
6995
7422
  unevaluatedProperties?: JSONSchema;
6996
- /**
6997
- * The value of this keyword MUST be a boolean.
6998
- *
6999
- * If this keyword has boolean value `false`, the instance validates
7000
- * successfully. If it has boolean value `true`, the instance validates
7001
- * successfully if all of its elements are unique.
7002
- *
7003
- * Omitting this keyword has the same behavior as a value of `false`.
7004
- *
7005
- * @default false
7423
+ /**
7424
+ * The value of this keyword MUST be a boolean.
7425
+ *
7426
+ * If this keyword has boolean value `false`, the instance validates
7427
+ * successfully. If it has boolean value `true`, the instance validates
7428
+ * successfully if all of its elements are unique.
7429
+ *
7430
+ * Omitting this keyword has the same behavior as a value of `false`.
7431
+ *
7432
+ * @default false
7006
7433
  */
7007
7434
  uniqueItems?: boolean;
7008
- /**
7009
- * The value of this keyword MUST be a boolean. When multiple occurrences
7010
- * of this keyword is applicable to a single sub-instance, the resulting
7011
- * value MUST be `true` if any occurrence specifies a `true` value, and
7012
- * MUST be `false` otherwise.
7013
- *
7014
- * If `writeOnly` has a value of boolean `true`, it indicates that the
7015
- * value is never present when the instance is retrieved from the owning
7016
- * authority. It can be present when sent to the owning authority to update
7017
- * or create the document (or the resource it represents), but it will not
7018
- * be included in any updated or newly created version of the instance.
7019
- *
7020
- * An instance document that is marked as `writeOnly` for the entire
7021
- * document MAY be returned as a blank document of some sort, or MAY
7022
- * produce an error upon retrieval, or have the retrieval request ignored,
7023
- * at the authority's discretion.
7024
- *
7025
- * For example, `writeOnly` would be used to mark a password input field.
7026
- *
7027
- * These keywords can be used to assist in user interface instance
7028
- * generation. In particular, an application MAY choose to use a widget
7029
- * that hides input values as they are typed for write-only fields.
7030
- *
7031
- * @default false
7435
+ /**
7436
+ * The value of this keyword MUST be a boolean. When multiple occurrences
7437
+ * of this keyword is applicable to a single sub-instance, the resulting
7438
+ * value MUST be `true` if any occurrence specifies a `true` value, and
7439
+ * MUST be `false` otherwise.
7440
+ *
7441
+ * If `writeOnly` has a value of boolean `true`, it indicates that the
7442
+ * value is never present when the instance is retrieved from the owning
7443
+ * authority. It can be present when sent to the owning authority to update
7444
+ * or create the document (or the resource it represents), but it will not
7445
+ * be included in any updated or newly created version of the instance.
7446
+ *
7447
+ * An instance document that is marked as `writeOnly` for the entire
7448
+ * document MAY be returned as a blank document of some sort, or MAY
7449
+ * produce an error upon retrieval, or have the retrieval request ignored,
7450
+ * at the authority's discretion.
7451
+ *
7452
+ * For example, `writeOnly` would be used to mark a password input field.
7453
+ *
7454
+ * These keywords can be used to assist in user interface instance
7455
+ * generation. In particular, an application MAY choose to use a widget
7456
+ * that hides input values as they are typed for write-only fields.
7457
+ *
7458
+ * @default false
7032
7459
  */
7033
7460
  writeOnly?: boolean;
7034
7461
  };
7035
7462
  declare namespace JSONSchema {
7036
7463
  type TypeValue = ValueOf<TypeName> | TypeName | Array<ValueOf<TypeName> | TypeName> | ReadonlyArray<ValueOf<TypeName> | TypeName>;
7037
- /**
7038
- * JSON Schema interface
7464
+ /**
7465
+ * JSON Schema interface
7039
7466
  */
7040
7467
  type Interface<Value = any, SchemaType extends TypeValue = TypeValue> = Exclude<JSONSchema<Value, SchemaType>, boolean>;
7041
7468
  type Array<T = any> = Pick<Interface<T, "array">, KeywordByType.Any | KeywordByType.Array>;
@@ -7053,45 +7480,45 @@ declare namespace KeywordByType {
7053
7480
  type Object = "additionalProperties" | "dependencies" | "dependentRequired" | "dependentSchemas" | "maxProperties" | "minProperties" | "patternProperties" | "properties" | "propertyNames" | "required" | "unevaluatedProperties";
7054
7481
  type String = "contentEncoding" | "contentMediaType" | "contentSchema" | "maxLength" | "minLength" | "pattern";
7055
7482
  }
7056
- /**
7057
- * Enum consisting of simple type names for the `type` keyword
7483
+ /**
7484
+ * Enum consisting of simple type names for the `type` keyword
7058
7485
  */
7059
7486
  declare enum TypeName {
7060
- /**
7061
- * Value MUST be an array.
7487
+ /**
7488
+ * Value MUST be an array.
7062
7489
  */
7063
7490
  Array = "array",
7064
- /**
7065
- * Value MUST be a boolean.
7491
+ /**
7492
+ * Value MUST be a boolean.
7066
7493
  */
7067
7494
  Boolean = "boolean",
7068
- /**
7069
- * Value MUST be an integer, no floating point numbers are allowed. This is a
7070
- * subset of the number type.
7495
+ /**
7496
+ * Value MUST be an integer, no floating point numbers are allowed. This is a
7497
+ * subset of the number type.
7071
7498
  */
7072
7499
  Integer = "integer",
7073
- /**
7074
- * Value MUST be null. Note this is mainly for purpose of being able use union
7075
- * types to define nullability. If this type is not included in a union, null
7076
- * values are not allowed (the primitives listed above do not allow nulls on
7077
- * their own).
7500
+ /**
7501
+ * Value MUST be null. Note this is mainly for purpose of being able use union
7502
+ * types to define nullability. If this type is not included in a union, null
7503
+ * values are not allowed (the primitives listed above do not allow nulls on
7504
+ * their own).
7078
7505
  */
7079
7506
  Null = "null",
7080
- /**
7081
- * Value MUST be a number, floating point numbers are allowed.
7507
+ /**
7508
+ * Value MUST be a number, floating point numbers are allowed.
7082
7509
  */
7083
7510
  Number = "number",
7084
- /**
7085
- * Value MUST be an object.
7511
+ /**
7512
+ * Value MUST be an object.
7086
7513
  */
7087
7514
  Object = "object",
7088
- /**
7089
- * Value MUST be a string.
7515
+ /**
7516
+ * Value MUST be a string.
7090
7517
  */
7091
7518
  String = "string"
7092
7519
  }
7093
7520
  //#endregion
7094
- //#region ../../node_modules/.pnpm/@orpc+openapi@1.15.2_@opentelemetry+api@1.9.1_ws@8.21.3/node_modules/@orpc/openapi/dist/shared/openapi.BGy4N6eR.d.mts
7521
+ //#region ../../node_modules/.pnpm/@orpc+openapi@1.15.7_@opentelemetry+api@1.9.1_ws@8.22.0/node_modules/@orpc/openapi/dist/shared/openapi.BGy4N6eR.d.mts
7095
7522
  interface SchemaConverterComponent {
7096
7523
  allowedStrategies: readonly SchemaConvertOptions['strategy'][];
7097
7524
  schema: AnySchema;