@nocobase/plugin-mcp-server 2.2.0-beta.8 → 2.2.0-beta.9

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 (134) hide show
  1. package/dist/externalVersion.js +6 -6
  2. package/dist/node_modules/light-my-request/package.json +1 -1
  3. package/dist/node_modules/openapi-types/package.json +1 -1
  4. package/package.json +2 -2
  5. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/.github/CR_logotype-full-color.png +0 -0
  6. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/.github/FUNDING.yml +0 -1
  7. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/.prettierrc.json +0 -1
  8. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/LICENSE +0 -15
  9. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/README.md +0 -390
  10. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/changelog.md +0 -83
  11. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/contributing.md +0 -9
  12. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/createIndex.ts +0 -32
  13. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/Options.js +0 -51
  14. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/Refs.js +0 -26
  15. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/errorMessages.js +0 -19
  16. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/getRelativePath.js +0 -12
  17. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/index.js +0 -56
  18. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/package.json +0 -1
  19. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parseDef.js +0 -66
  20. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parseTypes.js +0 -2
  21. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/any.js +0 -21
  22. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/array.js +0 -30
  23. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/bigint.js +0 -53
  24. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/boolean.js +0 -9
  25. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/branded.js +0 -8
  26. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/catch.js +0 -8
  27. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/date.js +0 -50
  28. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/default.js +0 -11
  29. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/effects.js +0 -11
  30. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/enum.js +0 -10
  31. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/intersection.js +0 -56
  32. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/literal.js +0 -25
  33. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/map.js +0 -30
  34. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/nativeEnum.js +0 -20
  35. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/never.js +0 -15
  36. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/null.js +0 -14
  37. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/nullable.js +0 -37
  38. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/number.js +0 -56
  39. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/object.js +0 -76
  40. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/optional.js +0 -25
  41. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/pipeline.js +0 -24
  42. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/promise.js +0 -8
  43. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/readonly.js +0 -8
  44. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/record.js +0 -65
  45. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/set.js +0 -24
  46. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/string.js +0 -356
  47. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/tuple.js +0 -36
  48. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/undefined.js +0 -10
  49. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/union.js +0 -84
  50. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/parsers/unknown.js +0 -8
  51. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/selectParser.js +0 -109
  52. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/cjs/zodToJsonSchema.js +0 -90
  53. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/Options.js +0 -46
  54. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/Refs.js +0 -22
  55. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +0 -14
  56. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +0 -8
  57. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/index.js +0 -40
  58. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/package.json +0 -1
  59. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parseDef.js +0 -62
  60. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parseTypes.js +0 -1
  61. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +0 -17
  62. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +0 -26
  63. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +0 -49
  64. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +0 -5
  65. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +0 -4
  66. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +0 -4
  67. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +0 -46
  68. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +0 -7
  69. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +0 -7
  70. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +0 -6
  71. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +0 -52
  72. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +0 -21
  73. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +0 -26
  74. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +0 -16
  75. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +0 -11
  76. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +0 -10
  77. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +0 -33
  78. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +0 -52
  79. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +0 -72
  80. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +0 -21
  81. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +0 -20
  82. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +0 -4
  83. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +0 -4
  84. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +0 -61
  85. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +0 -20
  86. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +0 -352
  87. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +0 -32
  88. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +0 -6
  89. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +0 -80
  90. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +0 -4
  91. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/selectParser.js +0 -105
  92. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +0 -87
  93. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/Options.d.ts +0 -37
  94. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/Refs.d.ts +0 -17
  95. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/errorMessages.d.ts +0 -15
  96. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/getRelativePath.d.ts +0 -1
  97. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/index.d.ts +0 -40
  98. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parseDef.d.ts +0 -4
  99. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parseTypes.d.ts +0 -34
  100. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/any.d.ts +0 -5
  101. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/array.d.ts +0 -12
  102. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/bigint.d.ts +0 -14
  103. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/boolean.d.ts +0 -4
  104. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/branded.d.ts +0 -3
  105. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/catch.d.ts +0 -3
  106. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/date.d.ts +0 -15
  107. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/default.d.ts +0 -6
  108. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/effects.d.ts +0 -4
  109. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/enum.d.ts +0 -6
  110. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/intersection.d.ts +0 -8
  111. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/literal.d.ts +0 -9
  112. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/map.d.ts +0 -15
  113. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/nativeEnum.d.ts +0 -6
  114. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/never.d.ts +0 -6
  115. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/null.d.ts +0 -5
  116. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/nullable.d.ts +0 -10
  117. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/number.d.ts +0 -13
  118. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/object.d.ts +0 -10
  119. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/optional.d.ts +0 -4
  120. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/pipeline.d.ts +0 -5
  121. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/promise.d.ts +0 -4
  122. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/readonly.d.ts +0 -3
  123. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/record.d.ts +0 -13
  124. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/set.d.ts +0 -13
  125. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/string.d.ts +0 -73
  126. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/tuple.d.ts +0 -13
  127. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/undefined.d.ts +0 -6
  128. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/union.d.ts +0 -23
  129. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/parsers/unknown.d.ts +0 -4
  130. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/selectParser.d.ts +0 -5
  131. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/dist/types/zodToJsonSchema.d.ts +0 -10
  132. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/package.json +0 -85
  133. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/postcjs.ts +0 -3
  134. package/dist/node_modules/@modelcontextprotocol/sdk/node_modules/zod-to-json-schema/postesm.ts +0 -3
@@ -1,52 +0,0 @@
1
- import { addErrorMessage, setResponseValueAndErrors, } from "../errorMessages.js";
2
- export function parseNumberDef(def, refs) {
3
- const res = {
4
- type: "number",
5
- };
6
- if (!def.checks)
7
- return res;
8
- for (const check of def.checks) {
9
- switch (check.kind) {
10
- case "int":
11
- res.type = "integer";
12
- addErrorMessage(res, "type", check.message, refs);
13
- break;
14
- case "min":
15
- if (refs.target === "jsonSchema7") {
16
- if (check.inclusive) {
17
- setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
18
- }
19
- else {
20
- setResponseValueAndErrors(res, "exclusiveMinimum", check.value, check.message, refs);
21
- }
22
- }
23
- else {
24
- if (!check.inclusive) {
25
- res.exclusiveMinimum = true;
26
- }
27
- setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
28
- }
29
- break;
30
- case "max":
31
- if (refs.target === "jsonSchema7") {
32
- if (check.inclusive) {
33
- setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
34
- }
35
- else {
36
- setResponseValueAndErrors(res, "exclusiveMaximum", check.value, check.message, refs);
37
- }
38
- }
39
- else {
40
- if (!check.inclusive) {
41
- res.exclusiveMaximum = true;
42
- }
43
- setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
44
- }
45
- break;
46
- case "multipleOf":
47
- setResponseValueAndErrors(res, "multipleOf", check.value, check.message, refs);
48
- break;
49
- }
50
- }
51
- return res;
52
- }
@@ -1,72 +0,0 @@
1
- import { parseDef } from "../parseDef.js";
2
- export function parseObjectDef(def, refs) {
3
- const forceOptionalIntoNullable = refs.target === "openAi";
4
- const result = {
5
- type: "object",
6
- properties: {},
7
- };
8
- const required = [];
9
- const shape = def.shape();
10
- for (const propName in shape) {
11
- let propDef = shape[propName];
12
- if (propDef === undefined || propDef._def === undefined) {
13
- continue;
14
- }
15
- let propOptional = safeIsOptional(propDef);
16
- if (propOptional && forceOptionalIntoNullable) {
17
- if (propDef._def.typeName === "ZodOptional") {
18
- propDef = propDef._def.innerType;
19
- }
20
- if (!propDef.isNullable()) {
21
- propDef = propDef.nullable();
22
- }
23
- propOptional = false;
24
- }
25
- const parsedDef = parseDef(propDef._def, {
26
- ...refs,
27
- currentPath: [...refs.currentPath, "properties", propName],
28
- propertyPath: [...refs.currentPath, "properties", propName],
29
- });
30
- if (parsedDef === undefined) {
31
- continue;
32
- }
33
- result.properties[propName] = parsedDef;
34
- if (!propOptional) {
35
- required.push(propName);
36
- }
37
- }
38
- if (required.length) {
39
- result.required = required;
40
- }
41
- const additionalProperties = decideAdditionalProperties(def, refs);
42
- if (additionalProperties !== undefined) {
43
- result.additionalProperties = additionalProperties;
44
- }
45
- return result;
46
- }
47
- function decideAdditionalProperties(def, refs) {
48
- if (def.catchall._def.typeName !== "ZodNever") {
49
- return parseDef(def.catchall._def, {
50
- ...refs,
51
- currentPath: [...refs.currentPath, "additionalProperties"],
52
- });
53
- }
54
- switch (def.unknownKeys) {
55
- case "passthrough":
56
- return refs.allowedAdditionalProperties;
57
- case "strict":
58
- return refs.rejectedAdditionalProperties;
59
- case "strip":
60
- return refs.removeAdditionalStrategy === "strict"
61
- ? refs.allowedAdditionalProperties
62
- : refs.rejectedAdditionalProperties;
63
- }
64
- }
65
- function safeIsOptional(schema) {
66
- try {
67
- return schema.isOptional();
68
- }
69
- catch {
70
- return true;
71
- }
72
- }
@@ -1,21 +0,0 @@
1
- import { parseDef } from "../parseDef.js";
2
- import { parseAnyDef } from "./any.js";
3
- export const parseOptionalDef = (def, refs) => {
4
- if (refs.currentPath.toString() === refs.propertyPath?.toString()) {
5
- return parseDef(def.innerType._def, refs);
6
- }
7
- const innerSchema = parseDef(def.innerType._def, {
8
- ...refs,
9
- currentPath: [...refs.currentPath, "anyOf", "1"],
10
- });
11
- return innerSchema
12
- ? {
13
- anyOf: [
14
- {
15
- not: parseAnyDef(refs),
16
- },
17
- innerSchema,
18
- ],
19
- }
20
- : parseAnyDef(refs);
21
- };
@@ -1,20 +0,0 @@
1
- import { parseDef } from "../parseDef.js";
2
- export const parsePipelineDef = (def, refs) => {
3
- if (refs.pipeStrategy === "input") {
4
- return parseDef(def.in._def, refs);
5
- }
6
- else if (refs.pipeStrategy === "output") {
7
- return parseDef(def.out._def, refs);
8
- }
9
- const a = parseDef(def.in._def, {
10
- ...refs,
11
- currentPath: [...refs.currentPath, "allOf", "0"],
12
- });
13
- const b = parseDef(def.out._def, {
14
- ...refs,
15
- currentPath: [...refs.currentPath, "allOf", a ? "1" : "0"],
16
- });
17
- return {
18
- allOf: [a, b].filter((x) => x !== undefined),
19
- };
20
- };
@@ -1,4 +0,0 @@
1
- import { parseDef } from "../parseDef.js";
2
- export function parsePromiseDef(def, refs) {
3
- return parseDef(def.type._def, refs);
4
- }
@@ -1,4 +0,0 @@
1
- import { parseDef } from "../parseDef.js";
2
- export const parseReadonlyDef = (def, refs) => {
3
- return parseDef(def.innerType._def, refs);
4
- };
@@ -1,61 +0,0 @@
1
- import { ZodFirstPartyTypeKind, } from "zod/v3";
2
- import { parseDef } from "../parseDef.js";
3
- import { parseStringDef } from "./string.js";
4
- import { parseBrandedDef } from "./branded.js";
5
- import { parseAnyDef } from "./any.js";
6
- export function parseRecordDef(def, refs) {
7
- if (refs.target === "openAi") {
8
- console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");
9
- }
10
- if (refs.target === "openApi3" &&
11
- def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodEnum) {
12
- return {
13
- type: "object",
14
- required: def.keyType._def.values,
15
- properties: def.keyType._def.values.reduce((acc, key) => ({
16
- ...acc,
17
- [key]: parseDef(def.valueType._def, {
18
- ...refs,
19
- currentPath: [...refs.currentPath, "properties", key],
20
- }) ?? parseAnyDef(refs),
21
- }), {}),
22
- additionalProperties: refs.rejectedAdditionalProperties,
23
- };
24
- }
25
- const schema = {
26
- type: "object",
27
- additionalProperties: parseDef(def.valueType._def, {
28
- ...refs,
29
- currentPath: [...refs.currentPath, "additionalProperties"],
30
- }) ?? refs.allowedAdditionalProperties,
31
- };
32
- if (refs.target === "openApi3") {
33
- return schema;
34
- }
35
- if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodString &&
36
- def.keyType._def.checks?.length) {
37
- const { type, ...keyType } = parseStringDef(def.keyType._def, refs);
38
- return {
39
- ...schema,
40
- propertyNames: keyType,
41
- };
42
- }
43
- else if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodEnum) {
44
- return {
45
- ...schema,
46
- propertyNames: {
47
- enum: def.keyType._def.values,
48
- },
49
- };
50
- }
51
- else if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodBranded &&
52
- def.keyType._def.type._def.typeName === ZodFirstPartyTypeKind.ZodString &&
53
- def.keyType._def.type._def.checks?.length) {
54
- const { type, ...keyType } = parseBrandedDef(def.keyType._def, refs);
55
- return {
56
- ...schema,
57
- propertyNames: keyType,
58
- };
59
- }
60
- return schema;
61
- }
@@ -1,20 +0,0 @@
1
- import { setResponseValueAndErrors } from "../errorMessages.js";
2
- import { parseDef } from "../parseDef.js";
3
- export function parseSetDef(def, refs) {
4
- const items = parseDef(def.valueType._def, {
5
- ...refs,
6
- currentPath: [...refs.currentPath, "items"],
7
- });
8
- const schema = {
9
- type: "array",
10
- uniqueItems: true,
11
- items,
12
- };
13
- if (def.minSize) {
14
- setResponseValueAndErrors(schema, "minItems", def.minSize.value, def.minSize.message, refs);
15
- }
16
- if (def.maxSize) {
17
- setResponseValueAndErrors(schema, "maxItems", def.maxSize.value, def.maxSize.message, refs);
18
- }
19
- return schema;
20
- }
@@ -1,352 +0,0 @@
1
- import { setResponseValueAndErrors } from "../errorMessages.js";
2
- let emojiRegex = undefined;
3
- /**
4
- * Generated from the regular expressions found here as of 2024-05-22:
5
- * https://github.com/colinhacks/zod/blob/master/src/types.ts.
6
- *
7
- * Expressions with /i flag have been changed accordingly.
8
- */
9
- export const zodPatterns = {
10
- /**
11
- * `c` was changed to `[cC]` to replicate /i flag
12
- */
13
- cuid: /^[cC][^\s-]{8,}$/,
14
- cuid2: /^[0-9a-z]+$/,
15
- ulid: /^[0-9A-HJKMNP-TV-Z]{26}$/,
16
- /**
17
- * `a-z` was added to replicate /i flag
18
- */
19
- email: /^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,
20
- /**
21
- * Constructed a valid Unicode RegExp
22
- *
23
- * Lazily instantiate since this type of regex isn't supported
24
- * in all envs (e.g. React Native).
25
- *
26
- * See:
27
- * https://github.com/colinhacks/zod/issues/2433
28
- * Fix in Zod:
29
- * https://github.com/colinhacks/zod/commit/9340fd51e48576a75adc919bff65dbc4a5d4c99b
30
- */
31
- emoji: () => {
32
- if (emojiRegex === undefined) {
33
- emojiRegex = RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$", "u");
34
- }
35
- return emojiRegex;
36
- },
37
- /**
38
- * Unused
39
- */
40
- uuid: /^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,
41
- /**
42
- * Unused
43
- */
44
- ipv4: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,
45
- ipv4Cidr: /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,
46
- /**
47
- * Unused
48
- */
49
- ipv6: /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,
50
- ipv6Cidr: /^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,
51
- base64: /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,
52
- base64url: /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,
53
- nanoid: /^[a-zA-Z0-9_-]{21}$/,
54
- jwt: /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,
55
- };
56
- export function parseStringDef(def, refs) {
57
- const res = {
58
- type: "string",
59
- };
60
- if (def.checks) {
61
- for (const check of def.checks) {
62
- switch (check.kind) {
63
- case "min":
64
- setResponseValueAndErrors(res, "minLength", typeof res.minLength === "number"
65
- ? Math.max(res.minLength, check.value)
66
- : check.value, check.message, refs);
67
- break;
68
- case "max":
69
- setResponseValueAndErrors(res, "maxLength", typeof res.maxLength === "number"
70
- ? Math.min(res.maxLength, check.value)
71
- : check.value, check.message, refs);
72
- break;
73
- case "email":
74
- switch (refs.emailStrategy) {
75
- case "format:email":
76
- addFormat(res, "email", check.message, refs);
77
- break;
78
- case "format:idn-email":
79
- addFormat(res, "idn-email", check.message, refs);
80
- break;
81
- case "pattern:zod":
82
- addPattern(res, zodPatterns.email, check.message, refs);
83
- break;
84
- }
85
- break;
86
- case "url":
87
- addFormat(res, "uri", check.message, refs);
88
- break;
89
- case "uuid":
90
- addFormat(res, "uuid", check.message, refs);
91
- break;
92
- case "regex":
93
- addPattern(res, check.regex, check.message, refs);
94
- break;
95
- case "cuid":
96
- addPattern(res, zodPatterns.cuid, check.message, refs);
97
- break;
98
- case "cuid2":
99
- addPattern(res, zodPatterns.cuid2, check.message, refs);
100
- break;
101
- case "startsWith":
102
- addPattern(res, RegExp(`^${escapeLiteralCheckValue(check.value, refs)}`), check.message, refs);
103
- break;
104
- case "endsWith":
105
- addPattern(res, RegExp(`${escapeLiteralCheckValue(check.value, refs)}$`), check.message, refs);
106
- break;
107
- case "datetime":
108
- addFormat(res, "date-time", check.message, refs);
109
- break;
110
- case "date":
111
- addFormat(res, "date", check.message, refs);
112
- break;
113
- case "time":
114
- addFormat(res, "time", check.message, refs);
115
- break;
116
- case "duration":
117
- addFormat(res, "duration", check.message, refs);
118
- break;
119
- case "length":
120
- setResponseValueAndErrors(res, "minLength", typeof res.minLength === "number"
121
- ? Math.max(res.minLength, check.value)
122
- : check.value, check.message, refs);
123
- setResponseValueAndErrors(res, "maxLength", typeof res.maxLength === "number"
124
- ? Math.min(res.maxLength, check.value)
125
- : check.value, check.message, refs);
126
- break;
127
- case "includes": {
128
- addPattern(res, RegExp(escapeLiteralCheckValue(check.value, refs)), check.message, refs);
129
- break;
130
- }
131
- case "ip": {
132
- if (check.version !== "v6") {
133
- addFormat(res, "ipv4", check.message, refs);
134
- }
135
- if (check.version !== "v4") {
136
- addFormat(res, "ipv6", check.message, refs);
137
- }
138
- break;
139
- }
140
- case "base64url":
141
- addPattern(res, zodPatterns.base64url, check.message, refs);
142
- break;
143
- case "jwt":
144
- addPattern(res, zodPatterns.jwt, check.message, refs);
145
- break;
146
- case "cidr": {
147
- if (check.version !== "v6") {
148
- addPattern(res, zodPatterns.ipv4Cidr, check.message, refs);
149
- }
150
- if (check.version !== "v4") {
151
- addPattern(res, zodPatterns.ipv6Cidr, check.message, refs);
152
- }
153
- break;
154
- }
155
- case "emoji":
156
- addPattern(res, zodPatterns.emoji(), check.message, refs);
157
- break;
158
- case "ulid": {
159
- addPattern(res, zodPatterns.ulid, check.message, refs);
160
- break;
161
- }
162
- case "base64": {
163
- switch (refs.base64Strategy) {
164
- case "format:binary": {
165
- addFormat(res, "binary", check.message, refs);
166
- break;
167
- }
168
- case "contentEncoding:base64": {
169
- setResponseValueAndErrors(res, "contentEncoding", "base64", check.message, refs);
170
- break;
171
- }
172
- case "pattern:zod": {
173
- addPattern(res, zodPatterns.base64, check.message, refs);
174
- break;
175
- }
176
- }
177
- break;
178
- }
179
- case "nanoid": {
180
- addPattern(res, zodPatterns.nanoid, check.message, refs);
181
- }
182
- case "toLowerCase":
183
- case "toUpperCase":
184
- case "trim":
185
- break;
186
- default:
187
- ((_) => { })(check);
188
- }
189
- }
190
- }
191
- return res;
192
- }
193
- function escapeLiteralCheckValue(literal, refs) {
194
- return refs.patternStrategy === "escape"
195
- ? escapeNonAlphaNumeric(literal)
196
- : literal;
197
- }
198
- const ALPHA_NUMERIC = new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");
199
- function escapeNonAlphaNumeric(source) {
200
- let result = "";
201
- for (let i = 0; i < source.length; i++) {
202
- if (!ALPHA_NUMERIC.has(source[i])) {
203
- result += "\\";
204
- }
205
- result += source[i];
206
- }
207
- return result;
208
- }
209
- // Adds a "format" keyword to the schema. If a format exists, both formats will be joined in an allOf-node, along with subsequent ones.
210
- function addFormat(schema, value, message, refs) {
211
- if (schema.format || schema.anyOf?.some((x) => x.format)) {
212
- if (!schema.anyOf) {
213
- schema.anyOf = [];
214
- }
215
- if (schema.format) {
216
- schema.anyOf.push({
217
- format: schema.format,
218
- ...(schema.errorMessage &&
219
- refs.errorMessages && {
220
- errorMessage: { format: schema.errorMessage.format },
221
- }),
222
- });
223
- delete schema.format;
224
- if (schema.errorMessage) {
225
- delete schema.errorMessage.format;
226
- if (Object.keys(schema.errorMessage).length === 0) {
227
- delete schema.errorMessage;
228
- }
229
- }
230
- }
231
- schema.anyOf.push({
232
- format: value,
233
- ...(message &&
234
- refs.errorMessages && { errorMessage: { format: message } }),
235
- });
236
- }
237
- else {
238
- setResponseValueAndErrors(schema, "format", value, message, refs);
239
- }
240
- }
241
- // Adds a "pattern" keyword to the schema. If a pattern exists, both patterns will be joined in an allOf-node, along with subsequent ones.
242
- function addPattern(schema, regex, message, refs) {
243
- if (schema.pattern || schema.allOf?.some((x) => x.pattern)) {
244
- if (!schema.allOf) {
245
- schema.allOf = [];
246
- }
247
- if (schema.pattern) {
248
- schema.allOf.push({
249
- pattern: schema.pattern,
250
- ...(schema.errorMessage &&
251
- refs.errorMessages && {
252
- errorMessage: { pattern: schema.errorMessage.pattern },
253
- }),
254
- });
255
- delete schema.pattern;
256
- if (schema.errorMessage) {
257
- delete schema.errorMessage.pattern;
258
- if (Object.keys(schema.errorMessage).length === 0) {
259
- delete schema.errorMessage;
260
- }
261
- }
262
- }
263
- schema.allOf.push({
264
- pattern: stringifyRegExpWithFlags(regex, refs),
265
- ...(message &&
266
- refs.errorMessages && { errorMessage: { pattern: message } }),
267
- });
268
- }
269
- else {
270
- setResponseValueAndErrors(schema, "pattern", stringifyRegExpWithFlags(regex, refs), message, refs);
271
- }
272
- }
273
- // Mutate z.string.regex() in a best attempt to accommodate for regex flags when applyRegexFlags is true
274
- function stringifyRegExpWithFlags(regex, refs) {
275
- if (!refs.applyRegexFlags || !regex.flags) {
276
- return regex.source;
277
- }
278
- // Currently handled flags
279
- const flags = {
280
- i: regex.flags.includes("i"),
281
- m: regex.flags.includes("m"),
282
- s: regex.flags.includes("s"), // `.` matches newlines
283
- };
284
- // The general principle here is to step through each character, one at a time, applying mutations as flags require. We keep track when the current character is escaped, and when it's inside a group /like [this]/ or (also) a range like /[a-z]/. The following is fairly brittle imperative code; edit at your peril!
285
- const source = flags.i ? regex.source.toLowerCase() : regex.source;
286
- let pattern = "";
287
- let isEscaped = false;
288
- let inCharGroup = false;
289
- let inCharRange = false;
290
- for (let i = 0; i < source.length; i++) {
291
- if (isEscaped) {
292
- pattern += source[i];
293
- isEscaped = false;
294
- continue;
295
- }
296
- if (flags.i) {
297
- if (inCharGroup) {
298
- if (source[i].match(/[a-z]/)) {
299
- if (inCharRange) {
300
- pattern += source[i];
301
- pattern += `${source[i - 2]}-${source[i]}`.toUpperCase();
302
- inCharRange = false;
303
- }
304
- else if (source[i + 1] === "-" && source[i + 2]?.match(/[a-z]/)) {
305
- pattern += source[i];
306
- inCharRange = true;
307
- }
308
- else {
309
- pattern += `${source[i]}${source[i].toUpperCase()}`;
310
- }
311
- continue;
312
- }
313
- }
314
- else if (source[i].match(/[a-z]/)) {
315
- pattern += `[${source[i]}${source[i].toUpperCase()}]`;
316
- continue;
317
- }
318
- }
319
- if (flags.m) {
320
- if (source[i] === "^") {
321
- pattern += `(^|(?<=[\r\n]))`;
322
- continue;
323
- }
324
- else if (source[i] === "$") {
325
- pattern += `($|(?=[\r\n]))`;
326
- continue;
327
- }
328
- }
329
- if (flags.s && source[i] === ".") {
330
- pattern += inCharGroup ? `${source[i]}\r\n` : `[${source[i]}\r\n]`;
331
- continue;
332
- }
333
- pattern += source[i];
334
- if (source[i] === "\\") {
335
- isEscaped = true;
336
- }
337
- else if (inCharGroup && source[i] === "]") {
338
- inCharGroup = false;
339
- }
340
- else if (!inCharGroup && source[i] === "[") {
341
- inCharGroup = true;
342
- }
343
- }
344
- try {
345
- new RegExp(pattern);
346
- }
347
- catch {
348
- console.warn(`Could not convert regex pattern at ${refs.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`);
349
- return regex.source;
350
- }
351
- return pattern;
352
- }
@@ -1,32 +0,0 @@
1
- import { parseDef } from "../parseDef.js";
2
- export function parseTupleDef(def, refs) {
3
- if (def.rest) {
4
- return {
5
- type: "array",
6
- minItems: def.items.length,
7
- items: def.items
8
- .map((x, i) => parseDef(x._def, {
9
- ...refs,
10
- currentPath: [...refs.currentPath, "items", `${i}`],
11
- }))
12
- .reduce((acc, x) => (x === undefined ? acc : [...acc, x]), []),
13
- additionalItems: parseDef(def.rest._def, {
14
- ...refs,
15
- currentPath: [...refs.currentPath, "additionalItems"],
16
- }),
17
- };
18
- }
19
- else {
20
- return {
21
- type: "array",
22
- minItems: def.items.length,
23
- maxItems: def.items.length,
24
- items: def.items
25
- .map((x, i) => parseDef(x._def, {
26
- ...refs,
27
- currentPath: [...refs.currentPath, "items", `${i}`],
28
- }))
29
- .reduce((acc, x) => (x === undefined ? acc : [...acc, x]), []),
30
- };
31
- }
32
- }
@@ -1,6 +0,0 @@
1
- import { parseAnyDef } from "./any.js";
2
- export function parseUndefinedDef(refs) {
3
- return {
4
- not: parseAnyDef(refs),
5
- };
6
- }