@betterportal/framework 10.1.61 → 10.1.63

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 (99) hide show
  1. package/lib/adapters/h3.d.ts.map +1 -1
  2. package/lib/adapters/h3.js +48 -28
  3. package/lib/adapters/h3.js.map +1 -1
  4. package/lib/cli/client.d.ts +1 -1
  5. package/lib/cli/client.d.ts.map +1 -1
  6. package/lib/cli/client.js +48 -16
  7. package/lib/cli/client.js.map +1 -1
  8. package/lib/codegen/emitter.d.ts.map +1 -1
  9. package/lib/codegen/emitter.js +22 -48
  10. package/lib/codegen/emitter.js.map +1 -1
  11. package/lib/codegen/scanner.d.ts +7 -2
  12. package/lib/codegen/scanner.d.ts.map +1 -1
  13. package/lib/codegen/scanner.js +40 -29
  14. package/lib/codegen/scanner.js.map +1 -1
  15. package/lib/codegen/schemaPolicy.d.ts +11 -0
  16. package/lib/codegen/schemaPolicy.d.ts.map +1 -0
  17. package/lib/codegen/schemaPolicy.js +105 -0
  18. package/lib/codegen/schemaPolicy.js.map +1 -0
  19. package/lib/codegen/validate.d.ts.map +1 -1
  20. package/lib/codegen/validate.js +109 -4
  21. package/lib/codegen/validate.js.map +1 -1
  22. package/lib/contracts/auth.d.ts +34 -4
  23. package/lib/contracts/auth.d.ts.map +1 -1
  24. package/lib/contracts/auth.js +28 -19
  25. package/lib/contracts/auth.js.map +1 -1
  26. package/lib/contracts/binding.d.ts.map +1 -1
  27. package/lib/contracts/binding.js +8 -8
  28. package/lib/contracts/binding.js.map +1 -1
  29. package/lib/contracts/chrome.d.ts +12 -0
  30. package/lib/contracts/chrome.d.ts.map +1 -0
  31. package/lib/contracts/chrome.js +12 -0
  32. package/lib/contracts/chrome.js.map +1 -0
  33. package/lib/contracts/config.d.ts.map +1 -1
  34. package/lib/contracts/config.js +5 -5
  35. package/lib/contracts/config.js.map +1 -1
  36. package/lib/contracts/json.d.ts +6 -0
  37. package/lib/contracts/json.d.ts.map +1 -1
  38. package/lib/contracts/json.js +114 -4
  39. package/lib/contracts/json.js.map +1 -1
  40. package/lib/contracts/m2m.d.ts.map +1 -1
  41. package/lib/contracts/m2m.js +3 -3
  42. package/lib/contracts/m2m.js.map +1 -1
  43. package/lib/contracts/manifest.d.ts +166 -150
  44. package/lib/contracts/manifest.d.ts.map +1 -1
  45. package/lib/contracts/manifest.js +13 -10
  46. package/lib/contracts/manifest.js.map +1 -1
  47. package/lib/contracts/observability.d.ts.map +1 -1
  48. package/lib/contracts/observability.js +2 -2
  49. package/lib/contracts/observability.js.map +1 -1
  50. package/lib/contracts/platformConfig.d.ts +418 -103
  51. package/lib/contracts/platformConfig.d.ts.map +1 -1
  52. package/lib/contracts/platformConfig.js +118 -90
  53. package/lib/contracts/platformConfig.js.map +1 -1
  54. package/lib/contracts/registry.d.ts +12 -17
  55. package/lib/contracts/registry.d.ts.map +1 -1
  56. package/lib/contracts/route.d.ts +13 -11
  57. package/lib/contracts/route.d.ts.map +1 -1
  58. package/lib/contracts/route.js +44 -8
  59. package/lib/contracts/route.js.map +1 -1
  60. package/lib/contracts/serviceConfig.d.ts.map +1 -1
  61. package/lib/contracts/serviceConfig.js +5 -5
  62. package/lib/contracts/serviceConfig.js.map +1 -1
  63. package/lib/contracts/streaming.d.ts.map +1 -1
  64. package/lib/contracts/streaming.js +3 -3
  65. package/lib/contracts/streaming.js.map +1 -1
  66. package/lib/contracts/view.d.ts +106 -15
  67. package/lib/contracts/view.d.ts.map +1 -1
  68. package/lib/contracts/view.js +25 -19
  69. package/lib/contracts/view.js.map +1 -1
  70. package/lib/index.d.ts +1 -0
  71. package/lib/index.d.ts.map +1 -1
  72. package/lib/index.js +1 -0
  73. package/lib/index.js.map +1 -1
  74. package/lib/runtime/auth/issuer.d.ts +3 -2
  75. package/lib/runtime/auth/issuer.d.ts.map +1 -1
  76. package/lib/runtime/auth/issuer.js.map +1 -1
  77. package/lib/runtime/auth/keypair.d.ts +2 -9
  78. package/lib/runtime/auth/keypair.d.ts.map +1 -1
  79. package/lib/runtime/auth/keypair.js.map +1 -1
  80. package/lib/runtime/auth/verifier.d.ts +2 -4
  81. package/lib/runtime/auth/verifier.d.ts.map +1 -1
  82. package/lib/runtime/configStore.d.ts.map +1 -1
  83. package/lib/runtime/configStore.js +2 -2
  84. package/lib/runtime/configStore.js.map +1 -1
  85. package/lib/runtime/jsonSchema.d.ts +5 -0
  86. package/lib/runtime/jsonSchema.d.ts.map +1 -1
  87. package/lib/runtime/jsonSchema.js +90 -2
  88. package/lib/runtime/jsonSchema.js.map +1 -1
  89. package/lib/runtime/manifest.js +1 -1
  90. package/lib/runtime/registry.d.ts.map +1 -1
  91. package/lib/runtime/registry.js +112 -66
  92. package/lib/runtime/registry.js.map +1 -1
  93. package/lib/runtime/streamHandler.js +1 -1
  94. package/lib/runtime/streamHandler.js.map +1 -1
  95. package/lib/runtime/view.d.ts +2 -1
  96. package/lib/runtime/view.d.ts.map +1 -1
  97. package/lib/runtime/view.js +20 -15
  98. package/lib/runtime/view.js.map +1 -1
  99. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/contracts/binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/contracts/binding.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import * as av from "anyvali";
2
+ import type { Infer } from "anyvali";
3
+ export declare const BetterPortalRouteChromeValueSchema: av.UnionSchema<[av.StringSchema, av.NumberSchema, av.BoolSchema]>;
4
+ export type BetterPortalRouteChromeValue = Infer<typeof BetterPortalRouteChromeValueSchema>;
5
+ export declare const BetterPortalRouteChromeSchema: av.IntersectionSchema<[av.ObjectSchema<{
6
+ hideMenu: av.OptionalSchema<av.BoolSchema>;
7
+ hideHeader: av.OptionalSchema<av.BoolSchema>;
8
+ hideFooter: av.OptionalSchema<av.BoolSchema>;
9
+ fullScreen: av.OptionalSchema<av.BoolSchema>;
10
+ }>, av.RecordSchema<av.UnionSchema<[av.StringSchema, av.NumberSchema, av.BoolSchema]>>]>;
11
+ export type BetterPortalRouteChrome = Infer<typeof BetterPortalRouteChromeSchema>;
12
+ //# sourceMappingURL=chrome.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/contracts/chrome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,eAAO,MAAM,kCAAkC,mEAAkD,CAAC;AAClG,MAAM,MAAM,4BAA4B,GAAG,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE5F,eAAO,MAAM,6BAA6B;;;;;wFAQxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import * as av from "anyvali";
2
+ export const BetterPortalRouteChromeValueSchema = av.union([av.string(), av.number(), av.bool()]);
3
+ export const BetterPortalRouteChromeSchema = av.intersection([
4
+ av.object({
5
+ hideMenu: av.optional(av.bool()),
6
+ hideHeader: av.optional(av.bool()),
7
+ hideFooter: av.optional(av.bool()),
8
+ fullScreen: av.optional(av.bool())
9
+ }),
10
+ av.record(BetterPortalRouteChromeValueSchema)
11
+ ]);
12
+ //# sourceMappingURL=chrome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/contracts/chrome.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAG9B,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAGlG,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC,YAAY,CAAC;IAC3D,EAAE,CAAC,MAAM,CAAC;QACR,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAChC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAClC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAClC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;KACnC,CAAC;IACF,EAAE,CAAC,MAAM,CAAC,kCAAkC,CAAC;CAC9C,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAMrC,eAAO,MAAM,gCAAgC;;;;;;EAMjB,CAAC;AAC7B,MAAM,MAAM,0BAA0B,GAAG,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAExF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;EA0Bd,CAAC;AAC7B,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAElF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;EAaZ,CAAC;AAC7B,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE9E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQb,CAAC;AAC7B,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAMrC,eAAO,MAAM,gCAAgC;;;;;;EAM3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAExF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;EA0BxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAElF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;EAatC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE9E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
@@ -8,7 +8,7 @@ export const ConfigFieldGroupDescriptorSchema = av.object({
8
8
  description: av.optional(av.string()),
9
9
  order: av.optional(av.int()),
10
10
  optional: av.optional(av.bool())
11
- }, { unknownKeys: "strip" });
11
+ });
12
12
  export const ConfigFieldUiDescriptorSchema = av.object({
13
13
  control: av.optional(av.enum_([
14
14
  "text",
@@ -29,13 +29,13 @@ export const ConfigFieldUiDescriptorSchema = av.object({
29
29
  options: av.optional(av.array(av.object({
30
30
  value: NonEmptyStringSchema,
31
31
  label: NonEmptyStringSchema
32
- }, { unknownKeys: "strip" }))),
32
+ }))),
33
33
  optionsSource: av.optional(av.enum_(["app.routes"])),
34
34
  min: av.optional(av.union([av.number(), av.string()])),
35
35
  max: av.optional(av.union([av.number(), av.string()])),
36
36
  step: av.optional(av.number()),
37
37
  rows: av.optional(av.int().min(1))
38
- }, { unknownKeys: "strip" });
38
+ });
39
39
  export const ConfigFieldDescriptorSchema = av.object({
40
40
  key: NonEmptyStringSchema,
41
41
  title: NonEmptyStringSchema,
@@ -49,7 +49,7 @@ export const ConfigFieldDescriptorSchema = av.object({
49
49
  defaultValue: av.optional(JsonValueSchema),
50
50
  ui: av.optional(ConfigFieldUiDescriptorSchema),
51
51
  required: av.bool().default(false)
52
- }, { unknownKeys: "strip" });
52
+ });
53
53
  export const ConfigSchemaDescriptorSchema = av.object({
54
54
  id: NonEmptyStringSchema,
55
55
  title: NonEmptyStringSchema,
@@ -58,5 +58,5 @@ export const ConfigSchemaDescriptorSchema = av.object({
58
58
  jsonSchema: JsonObjectSchema,
59
59
  groups: av.optional(av.array(ConfigFieldGroupDescriptorSchema)),
60
60
  fields: av.array(ConfigFieldDescriptorSchema).default([])
61
- }, { unknownKeys: "strip" });
61
+ });
62
62
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
1
  import * as av from "anyvali";
2
+ import type { SchemaNode } from "anyvali";
2
3
  export type JsonPrimitive = string | number | boolean | null;
3
4
  export type JsonValue = JsonPrimitive | JsonObject | JsonValue[];
4
5
  export interface JsonObject {
5
6
  [key: string]: JsonValue;
6
7
  }
8
+ export declare const JSON_VALUE_DEFINITION = "BetterPortalJsonValue";
9
+ export declare const JSON_VALUE_REF = "#/definitions/BetterPortalJsonValue";
10
+ export declare const JsonValueSchemaNode: SchemaNode;
11
+ /** A recursively validated JSON value. Use this instead of `av.any()` in published contracts. */
7
12
  export declare const JsonValueSchema: av.BaseSchema<unknown, JsonValue>;
13
+ /** A recursively validated JSON object. Use this instead of `av.record(av.any())`. */
8
14
  export declare const JsonObjectSchema: av.BaseSchema<unknown, JsonObject>;
9
15
  //# sourceMappingURL=json.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/contracts/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC;AACjE,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAID,eAAO,MAAM,eAAe,EAAe,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC7E,eAAO,MAAM,gBAAgB,EAA0B,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/contracts/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAA6C,UAAU,EAAE,MAAM,SAAS,CAAC;AAErF,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC7D,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC;AACjE,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAC7D,eAAO,MAAM,cAAc,wCAA2C,CAAC;AAEvE,eAAO,MAAM,mBAAmB,EAAE,UAUjC,CAAC;AAuGF,iGAAiG;AACjG,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAiD,CAAC;AAEhH,sFAAsF;AACtF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAiD,CAAC"}
@@ -1,6 +1,116 @@
1
1
  import * as av from "anyvali";
2
- // AnyVali does not currently expose a convenient recursive builder for JSON values.
3
- // Keep the runtime contract JSON-shaped while retaining the explicit TS types above.
4
- export const JsonValueSchema = av.any();
5
- export const JsonObjectSchema = av.record(av.any());
2
+ export const JSON_VALUE_DEFINITION = "BetterPortalJsonValue";
3
+ export const JSON_VALUE_REF = `#/definitions/${JSON_VALUE_DEFINITION}`;
4
+ export const JsonValueSchemaNode = {
5
+ kind: "union",
6
+ variants: [
7
+ { kind: "null" },
8
+ { kind: "bool" },
9
+ { kind: "string" },
10
+ { kind: "number" },
11
+ { kind: "array", items: { kind: "ref", ref: JSON_VALUE_REF } },
12
+ { kind: "record", valueSchema: { kind: "ref", ref: JSON_VALUE_REF } }
13
+ ]
14
+ };
15
+ const MAX_JSON_DEPTH = 100;
16
+ function receivedType(value) {
17
+ if (value === null)
18
+ return "null";
19
+ if (Array.isArray(value))
20
+ return "array";
21
+ return typeof value;
22
+ }
23
+ function invalidJson(ctx, value, message = "Expected a JSON value") {
24
+ ctx.issues.push({
25
+ code: av.ISSUE_CODES.INVALID_TYPE,
26
+ message,
27
+ path: [...ctx.path],
28
+ expected: "JSON value",
29
+ received: receivedType(value)
30
+ });
31
+ return undefined;
32
+ }
33
+ function validateJsonValue(input, ctx, depth) {
34
+ if (depth > MAX_JSON_DEPTH) {
35
+ ctx.issues.push({
36
+ code: av.ISSUE_CODES.TOO_DEEP,
37
+ message: `Maximum JSON validation depth of ${MAX_JSON_DEPTH} exceeded`,
38
+ path: [...ctx.path],
39
+ expected: `<= ${MAX_JSON_DEPTH} levels`,
40
+ received: "too deep"
41
+ });
42
+ return undefined;
43
+ }
44
+ if (input === null || typeof input === "string" || typeof input === "boolean")
45
+ return input;
46
+ if (typeof input === "number") {
47
+ return Number.isFinite(input) ? input : invalidJson(ctx, input, "JSON numbers must be finite");
48
+ }
49
+ if (typeof input !== "object")
50
+ return invalidJson(ctx, input);
51
+ if (!ctx.seen)
52
+ ctx.seen = new WeakSet();
53
+ if (ctx.seen.has(input))
54
+ return invalidJson(ctx, input, "Circular references are not valid JSON");
55
+ ctx.seen.add(input);
56
+ try {
57
+ if (Array.isArray(input)) {
58
+ return input.map((value, index) => {
59
+ ctx.path.push(index);
60
+ const parsed = validateJsonValue(value, ctx, depth + 1);
61
+ ctx.path.pop();
62
+ return parsed;
63
+ });
64
+ }
65
+ const prototype = Object.getPrototypeOf(input);
66
+ if (prototype !== Object.prototype && prototype !== null) {
67
+ return invalidJson(ctx, input, "JSON objects must be plain objects");
68
+ }
69
+ const output = Object.create(null);
70
+ for (const [key, value] of Object.entries(input)) {
71
+ ctx.path.push(key);
72
+ const parsed = validateJsonValue(value, ctx, depth + 1);
73
+ ctx.path.pop();
74
+ Object.defineProperty(output, key, {
75
+ value: parsed,
76
+ writable: true,
77
+ enumerable: true,
78
+ configurable: true
79
+ });
80
+ }
81
+ Object.setPrototypeOf(output, Object.prototype);
82
+ return output;
83
+ }
84
+ finally {
85
+ ctx.seen.delete(input);
86
+ }
87
+ }
88
+ class JsonValueContractSchema extends av.BaseSchema {
89
+ objectOnly;
90
+ constructor(objectOnly) {
91
+ super();
92
+ this.objectOnly = objectOnly;
93
+ }
94
+ _validate(input, ctx) {
95
+ if (this.objectOnly && (typeof input !== "object" || input === null || Array.isArray(input))) {
96
+ return invalidJson(ctx, input, "Expected a JSON object");
97
+ }
98
+ return validateJsonValue(input, ctx, 0);
99
+ }
100
+ _toNode() {
101
+ const node = this.objectOnly
102
+ ? { kind: "record", valueSchema: { kind: "ref", ref: JSON_VALUE_REF } }
103
+ : { kind: "ref", ref: JSON_VALUE_REF };
104
+ return this._addDefault(node);
105
+ }
106
+ export(mode) {
107
+ const document = super.export(mode);
108
+ document.definitions[JSON_VALUE_DEFINITION] = JsonValueSchemaNode;
109
+ return document;
110
+ }
111
+ }
112
+ /** A recursively validated JSON value. Use this instead of `av.any()` in published contracts. */
113
+ export const JsonValueSchema = new JsonValueContractSchema(false);
114
+ /** A recursively validated JSON object. Use this instead of `av.record(av.any())`. */
115
+ export const JsonObjectSchema = new JsonValueContractSchema(true);
6
116
  //# sourceMappingURL=json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/contracts/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAQ9B,oFAAoF;AACpF,qFAAqF;AACrF,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC,GAAG,EAAuC,CAAC;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAuC,CAAC"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/contracts/json.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"m2m.d.ts","sourceRoot":"","sources":["../../src/contracts/m2m.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGrC,eAAO,MAAM,eAAe,8EAA0E,CAAC;AACvG,eAAO,MAAM,mBAAmB,0DAAsD,CAAC;AACvF,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC9D,eAAO,MAAM,mBAAmB,kDAA8C,CAAC;AAC/E,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE9D,eAAO,MAAM,2BAA2B;;;;;;;;;;EAUZ,CAAC;AAC7B,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE9E,eAAO,MAAM,0BAA0B;;;;;;;;;;;EAWX,CAAC;AAC7B,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE5E,gFAAgF;AAChF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAYT,CAAC;AAC7B,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"m2m.d.ts","sourceRoot":"","sources":["../../src/contracts/m2m.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGrC,eAAO,MAAM,eAAe,8EAA0E,CAAC;AACvG,eAAO,MAAM,mBAAmB,0DAAsD,CAAC;AACvF,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC9D,eAAO,MAAM,mBAAmB,kDAA8C,CAAC;AAC/E,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAE9D,eAAO,MAAM,2BAA2B;;;;;;;;;;EAUtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAE9E,eAAO,MAAM,0BAA0B;;;;;;;;;;;EAWrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE5E,gFAAgF;AAChF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAYnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -13,7 +13,7 @@ export const ApiContractDescriptorSchema = av.object({
13
13
  capabilities: av.array(av.string().minLength(1)).default([]),
14
14
  permissions: av.array(av.string().minLength(1)).default([]),
15
15
  modes: av.array(M2MCallerModeSchema).minItems(1).default(["service"])
16
- }, { unknownKeys: "strip" });
16
+ });
17
17
  export const M2MRequestDescriptorSchema = av.object({
18
18
  id: av.string().minLength(1),
19
19
  title: av.string().minLength(1),
@@ -25,7 +25,7 @@ export const M2MRequestDescriptorSchema = av.object({
25
25
  permissions: av.array(av.string().minLength(1)).default([]),
26
26
  mode: M2MCallerModeSchema.default("service"),
27
27
  optional: av.bool().default(false)
28
- }, { unknownKeys: "strip" });
28
+ });
29
29
  /** Short-lived proof that one installed service instance is calling another. */
30
30
  export const ServiceTokenClaimsSchema = av.object({
31
31
  iss: UuidV7Schema,
@@ -39,5 +39,5 @@ export const ServiceTokenClaimsSchema = av.object({
39
39
  exp: av.int().min(1),
40
40
  jti: av.string().minLength(1),
41
41
  tokenType: av.literal("service")
42
- }, { unknownKeys: "strip" });
42
+ });
43
43
  //# sourceMappingURL=m2m.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"m2m.js","sourceRoot":"","sources":["../../src/contracts/m2m.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"m2m.js","sourceRoot":"","sources":["../../src/contracts/m2m.ts"],"names":[],"mappings":"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"}