@fre4x/gemini 1.0.60 → 1.0.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1318 -2
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -65754,10 +65754,1312 @@ function isTerminal(status) {
|
|
|
65754
65754
|
return status === "completed" || status === "failed" || status === "cancelled";
|
|
65755
65755
|
}
|
|
65756
65756
|
|
|
65757
|
+
// ../node_modules/zod-to-json-schema/dist/esm/Options.js
|
|
65758
|
+
var ignoreOverride = /* @__PURE__ */ Symbol("Let zodToJsonSchema decide on which parser to use");
|
|
65759
|
+
var defaultOptions = {
|
|
65760
|
+
name: void 0,
|
|
65761
|
+
$refStrategy: "root",
|
|
65762
|
+
basePath: ["#"],
|
|
65763
|
+
effectStrategy: "input",
|
|
65764
|
+
pipeStrategy: "all",
|
|
65765
|
+
dateStrategy: "format:date-time",
|
|
65766
|
+
mapStrategy: "entries",
|
|
65767
|
+
removeAdditionalStrategy: "passthrough",
|
|
65768
|
+
allowedAdditionalProperties: true,
|
|
65769
|
+
rejectedAdditionalProperties: false,
|
|
65770
|
+
definitionPath: "definitions",
|
|
65771
|
+
target: "jsonSchema7",
|
|
65772
|
+
strictUnions: false,
|
|
65773
|
+
definitions: {},
|
|
65774
|
+
errorMessages: false,
|
|
65775
|
+
markdownDescription: false,
|
|
65776
|
+
patternStrategy: "escape",
|
|
65777
|
+
applyRegexFlags: false,
|
|
65778
|
+
emailStrategy: "format:email",
|
|
65779
|
+
base64Strategy: "contentEncoding:base64",
|
|
65780
|
+
nameStrategy: "ref",
|
|
65781
|
+
openAiAnyTypeName: "OpenAiAnyType"
|
|
65782
|
+
};
|
|
65783
|
+
var getDefaultOptions = (options) => typeof options === "string" ? {
|
|
65784
|
+
...defaultOptions,
|
|
65785
|
+
name: options
|
|
65786
|
+
} : {
|
|
65787
|
+
...defaultOptions,
|
|
65788
|
+
...options
|
|
65789
|
+
};
|
|
65790
|
+
|
|
65791
|
+
// ../node_modules/zod-to-json-schema/dist/esm/Refs.js
|
|
65792
|
+
var getRefs = (options) => {
|
|
65793
|
+
const _options = getDefaultOptions(options);
|
|
65794
|
+
const currentPath = _options.name !== void 0 ? [..._options.basePath, _options.definitionPath, _options.name] : _options.basePath;
|
|
65795
|
+
return {
|
|
65796
|
+
..._options,
|
|
65797
|
+
flags: { hasReferencedOpenAiAnyType: false },
|
|
65798
|
+
currentPath,
|
|
65799
|
+
propertyPath: void 0,
|
|
65800
|
+
seen: new Map(Object.entries(_options.definitions).map(([name, def]) => [
|
|
65801
|
+
def._def,
|
|
65802
|
+
{
|
|
65803
|
+
def: def._def,
|
|
65804
|
+
path: [..._options.basePath, _options.definitionPath, name],
|
|
65805
|
+
// Resolution of references will be forced even though seen, so it's ok that the schema is undefined here for now.
|
|
65806
|
+
jsonSchema: void 0
|
|
65807
|
+
}
|
|
65808
|
+
]))
|
|
65809
|
+
};
|
|
65810
|
+
};
|
|
65811
|
+
|
|
65812
|
+
// ../node_modules/zod-to-json-schema/dist/esm/errorMessages.js
|
|
65813
|
+
function addErrorMessage(res, key, errorMessage, refs) {
|
|
65814
|
+
if (!refs?.errorMessages)
|
|
65815
|
+
return;
|
|
65816
|
+
if (errorMessage) {
|
|
65817
|
+
res.errorMessage = {
|
|
65818
|
+
...res.errorMessage,
|
|
65819
|
+
[key]: errorMessage
|
|
65820
|
+
};
|
|
65821
|
+
}
|
|
65822
|
+
}
|
|
65823
|
+
function setResponseValueAndErrors(res, key, value, errorMessage, refs) {
|
|
65824
|
+
res[key] = value;
|
|
65825
|
+
addErrorMessage(res, key, errorMessage, refs);
|
|
65826
|
+
}
|
|
65827
|
+
|
|
65828
|
+
// ../node_modules/zod-to-json-schema/dist/esm/getRelativePath.js
|
|
65829
|
+
var getRelativePath = (pathA, pathB) => {
|
|
65830
|
+
let i2 = 0;
|
|
65831
|
+
for (; i2 < pathA.length && i2 < pathB.length; i2++) {
|
|
65832
|
+
if (pathA[i2] !== pathB[i2])
|
|
65833
|
+
break;
|
|
65834
|
+
}
|
|
65835
|
+
return [(pathA.length - i2).toString(), ...pathB.slice(i2)].join("/");
|
|
65836
|
+
};
|
|
65837
|
+
|
|
65838
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/any.js
|
|
65839
|
+
function parseAnyDef(refs) {
|
|
65840
|
+
if (refs.target !== "openAi") {
|
|
65841
|
+
return {};
|
|
65842
|
+
}
|
|
65843
|
+
const anyDefinitionPath = [
|
|
65844
|
+
...refs.basePath,
|
|
65845
|
+
refs.definitionPath,
|
|
65846
|
+
refs.openAiAnyTypeName
|
|
65847
|
+
];
|
|
65848
|
+
refs.flags.hasReferencedOpenAiAnyType = true;
|
|
65849
|
+
return {
|
|
65850
|
+
$ref: refs.$refStrategy === "relative" ? getRelativePath(anyDefinitionPath, refs.currentPath) : anyDefinitionPath.join("/")
|
|
65851
|
+
};
|
|
65852
|
+
}
|
|
65853
|
+
|
|
65854
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/array.js
|
|
65855
|
+
function parseArrayDef(def, refs) {
|
|
65856
|
+
const res = {
|
|
65857
|
+
type: "array"
|
|
65858
|
+
};
|
|
65859
|
+
if (def.type?._def && def.type?._def?.typeName !== ZodFirstPartyTypeKind2.ZodAny) {
|
|
65860
|
+
res.items = parseDef(def.type._def, {
|
|
65861
|
+
...refs,
|
|
65862
|
+
currentPath: [...refs.currentPath, "items"]
|
|
65863
|
+
});
|
|
65864
|
+
}
|
|
65865
|
+
if (def.minLength) {
|
|
65866
|
+
setResponseValueAndErrors(res, "minItems", def.minLength.value, def.minLength.message, refs);
|
|
65867
|
+
}
|
|
65868
|
+
if (def.maxLength) {
|
|
65869
|
+
setResponseValueAndErrors(res, "maxItems", def.maxLength.value, def.maxLength.message, refs);
|
|
65870
|
+
}
|
|
65871
|
+
if (def.exactLength) {
|
|
65872
|
+
setResponseValueAndErrors(res, "minItems", def.exactLength.value, def.exactLength.message, refs);
|
|
65873
|
+
setResponseValueAndErrors(res, "maxItems", def.exactLength.value, def.exactLength.message, refs);
|
|
65874
|
+
}
|
|
65875
|
+
return res;
|
|
65876
|
+
}
|
|
65877
|
+
|
|
65878
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js
|
|
65879
|
+
function parseBigintDef(def, refs) {
|
|
65880
|
+
const res = {
|
|
65881
|
+
type: "integer",
|
|
65882
|
+
format: "int64"
|
|
65883
|
+
};
|
|
65884
|
+
if (!def.checks)
|
|
65885
|
+
return res;
|
|
65886
|
+
for (const check2 of def.checks) {
|
|
65887
|
+
switch (check2.kind) {
|
|
65888
|
+
case "min":
|
|
65889
|
+
if (refs.target === "jsonSchema7") {
|
|
65890
|
+
if (check2.inclusive) {
|
|
65891
|
+
setResponseValueAndErrors(res, "minimum", check2.value, check2.message, refs);
|
|
65892
|
+
} else {
|
|
65893
|
+
setResponseValueAndErrors(res, "exclusiveMinimum", check2.value, check2.message, refs);
|
|
65894
|
+
}
|
|
65895
|
+
} else {
|
|
65896
|
+
if (!check2.inclusive) {
|
|
65897
|
+
res.exclusiveMinimum = true;
|
|
65898
|
+
}
|
|
65899
|
+
setResponseValueAndErrors(res, "minimum", check2.value, check2.message, refs);
|
|
65900
|
+
}
|
|
65901
|
+
break;
|
|
65902
|
+
case "max":
|
|
65903
|
+
if (refs.target === "jsonSchema7") {
|
|
65904
|
+
if (check2.inclusive) {
|
|
65905
|
+
setResponseValueAndErrors(res, "maximum", check2.value, check2.message, refs);
|
|
65906
|
+
} else {
|
|
65907
|
+
setResponseValueAndErrors(res, "exclusiveMaximum", check2.value, check2.message, refs);
|
|
65908
|
+
}
|
|
65909
|
+
} else {
|
|
65910
|
+
if (!check2.inclusive) {
|
|
65911
|
+
res.exclusiveMaximum = true;
|
|
65912
|
+
}
|
|
65913
|
+
setResponseValueAndErrors(res, "maximum", check2.value, check2.message, refs);
|
|
65914
|
+
}
|
|
65915
|
+
break;
|
|
65916
|
+
case "multipleOf":
|
|
65917
|
+
setResponseValueAndErrors(res, "multipleOf", check2.value, check2.message, refs);
|
|
65918
|
+
break;
|
|
65919
|
+
}
|
|
65920
|
+
}
|
|
65921
|
+
return res;
|
|
65922
|
+
}
|
|
65923
|
+
|
|
65924
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js
|
|
65925
|
+
function parseBooleanDef() {
|
|
65926
|
+
return {
|
|
65927
|
+
type: "boolean"
|
|
65928
|
+
};
|
|
65929
|
+
}
|
|
65930
|
+
|
|
65931
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/branded.js
|
|
65932
|
+
function parseBrandedDef(_def, refs) {
|
|
65933
|
+
return parseDef(_def.type._def, refs);
|
|
65934
|
+
}
|
|
65935
|
+
|
|
65936
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/catch.js
|
|
65937
|
+
var parseCatchDef = (def, refs) => {
|
|
65938
|
+
return parseDef(def.innerType._def, refs);
|
|
65939
|
+
};
|
|
65940
|
+
|
|
65941
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/date.js
|
|
65942
|
+
function parseDateDef(def, refs, overrideDateStrategy) {
|
|
65943
|
+
const strategy = overrideDateStrategy ?? refs.dateStrategy;
|
|
65944
|
+
if (Array.isArray(strategy)) {
|
|
65945
|
+
return {
|
|
65946
|
+
anyOf: strategy.map((item, i2) => parseDateDef(def, refs, item))
|
|
65947
|
+
};
|
|
65948
|
+
}
|
|
65949
|
+
switch (strategy) {
|
|
65950
|
+
case "string":
|
|
65951
|
+
case "format:date-time":
|
|
65952
|
+
return {
|
|
65953
|
+
type: "string",
|
|
65954
|
+
format: "date-time"
|
|
65955
|
+
};
|
|
65956
|
+
case "format:date":
|
|
65957
|
+
return {
|
|
65958
|
+
type: "string",
|
|
65959
|
+
format: "date"
|
|
65960
|
+
};
|
|
65961
|
+
case "integer":
|
|
65962
|
+
return integerDateParser(def, refs);
|
|
65963
|
+
}
|
|
65964
|
+
}
|
|
65965
|
+
var integerDateParser = (def, refs) => {
|
|
65966
|
+
const res = {
|
|
65967
|
+
type: "integer",
|
|
65968
|
+
format: "unix-time"
|
|
65969
|
+
};
|
|
65970
|
+
if (refs.target === "openApi3") {
|
|
65971
|
+
return res;
|
|
65972
|
+
}
|
|
65973
|
+
for (const check2 of def.checks) {
|
|
65974
|
+
switch (check2.kind) {
|
|
65975
|
+
case "min":
|
|
65976
|
+
setResponseValueAndErrors(
|
|
65977
|
+
res,
|
|
65978
|
+
"minimum",
|
|
65979
|
+
check2.value,
|
|
65980
|
+
// This is in milliseconds
|
|
65981
|
+
check2.message,
|
|
65982
|
+
refs
|
|
65983
|
+
);
|
|
65984
|
+
break;
|
|
65985
|
+
case "max":
|
|
65986
|
+
setResponseValueAndErrors(
|
|
65987
|
+
res,
|
|
65988
|
+
"maximum",
|
|
65989
|
+
check2.value,
|
|
65990
|
+
// This is in milliseconds
|
|
65991
|
+
check2.message,
|
|
65992
|
+
refs
|
|
65993
|
+
);
|
|
65994
|
+
break;
|
|
65995
|
+
}
|
|
65996
|
+
}
|
|
65997
|
+
return res;
|
|
65998
|
+
};
|
|
65999
|
+
|
|
66000
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/default.js
|
|
66001
|
+
function parseDefaultDef(_def, refs) {
|
|
66002
|
+
return {
|
|
66003
|
+
...parseDef(_def.innerType._def, refs),
|
|
66004
|
+
default: _def.defaultValue()
|
|
66005
|
+
};
|
|
66006
|
+
}
|
|
66007
|
+
|
|
66008
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/effects.js
|
|
66009
|
+
function parseEffectsDef(_def, refs) {
|
|
66010
|
+
return refs.effectStrategy === "input" ? parseDef(_def.schema._def, refs) : parseAnyDef(refs);
|
|
66011
|
+
}
|
|
66012
|
+
|
|
66013
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/enum.js
|
|
66014
|
+
function parseEnumDef(def) {
|
|
66015
|
+
return {
|
|
66016
|
+
type: "string",
|
|
66017
|
+
enum: Array.from(def.values)
|
|
66018
|
+
};
|
|
66019
|
+
}
|
|
66020
|
+
|
|
66021
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js
|
|
66022
|
+
var isJsonSchema7AllOfType = (type) => {
|
|
66023
|
+
if ("type" in type && type.type === "string")
|
|
66024
|
+
return false;
|
|
66025
|
+
return "allOf" in type;
|
|
66026
|
+
};
|
|
66027
|
+
function parseIntersectionDef(def, refs) {
|
|
66028
|
+
const allOf = [
|
|
66029
|
+
parseDef(def.left._def, {
|
|
66030
|
+
...refs,
|
|
66031
|
+
currentPath: [...refs.currentPath, "allOf", "0"]
|
|
66032
|
+
}),
|
|
66033
|
+
parseDef(def.right._def, {
|
|
66034
|
+
...refs,
|
|
66035
|
+
currentPath: [...refs.currentPath, "allOf", "1"]
|
|
66036
|
+
})
|
|
66037
|
+
].filter((x2) => !!x2);
|
|
66038
|
+
let unevaluatedProperties = refs.target === "jsonSchema2019-09" ? { unevaluatedProperties: false } : void 0;
|
|
66039
|
+
const mergedAllOf = [];
|
|
66040
|
+
allOf.forEach((schema) => {
|
|
66041
|
+
if (isJsonSchema7AllOfType(schema)) {
|
|
66042
|
+
mergedAllOf.push(...schema.allOf);
|
|
66043
|
+
if (schema.unevaluatedProperties === void 0) {
|
|
66044
|
+
unevaluatedProperties = void 0;
|
|
66045
|
+
}
|
|
66046
|
+
} else {
|
|
66047
|
+
let nestedSchema = schema;
|
|
66048
|
+
if ("additionalProperties" in schema && schema.additionalProperties === false) {
|
|
66049
|
+
const { additionalProperties, ...rest } = schema;
|
|
66050
|
+
nestedSchema = rest;
|
|
66051
|
+
} else {
|
|
66052
|
+
unevaluatedProperties = void 0;
|
|
66053
|
+
}
|
|
66054
|
+
mergedAllOf.push(nestedSchema);
|
|
66055
|
+
}
|
|
66056
|
+
});
|
|
66057
|
+
return mergedAllOf.length ? {
|
|
66058
|
+
allOf: mergedAllOf,
|
|
66059
|
+
...unevaluatedProperties
|
|
66060
|
+
} : void 0;
|
|
66061
|
+
}
|
|
66062
|
+
|
|
66063
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/literal.js
|
|
66064
|
+
function parseLiteralDef(def, refs) {
|
|
66065
|
+
const parsedType2 = typeof def.value;
|
|
66066
|
+
if (parsedType2 !== "bigint" && parsedType2 !== "number" && parsedType2 !== "boolean" && parsedType2 !== "string") {
|
|
66067
|
+
return {
|
|
66068
|
+
type: Array.isArray(def.value) ? "array" : "object"
|
|
66069
|
+
};
|
|
66070
|
+
}
|
|
66071
|
+
if (refs.target === "openApi3") {
|
|
66072
|
+
return {
|
|
66073
|
+
type: parsedType2 === "bigint" ? "integer" : parsedType2,
|
|
66074
|
+
enum: [def.value]
|
|
66075
|
+
};
|
|
66076
|
+
}
|
|
66077
|
+
return {
|
|
66078
|
+
type: parsedType2 === "bigint" ? "integer" : parsedType2,
|
|
66079
|
+
const: def.value
|
|
66080
|
+
};
|
|
66081
|
+
}
|
|
66082
|
+
|
|
65757
66083
|
// ../node_modules/zod-to-json-schema/dist/esm/parsers/string.js
|
|
66084
|
+
var emojiRegex2 = void 0;
|
|
66085
|
+
var zodPatterns = {
|
|
66086
|
+
/**
|
|
66087
|
+
* `c` was changed to `[cC]` to replicate /i flag
|
|
66088
|
+
*/
|
|
66089
|
+
cuid: /^[cC][^\s-]{8,}$/,
|
|
66090
|
+
cuid2: /^[0-9a-z]+$/,
|
|
66091
|
+
ulid: /^[0-9A-HJKMNP-TV-Z]{26}$/,
|
|
66092
|
+
/**
|
|
66093
|
+
* `a-z` was added to replicate /i flag
|
|
66094
|
+
*/
|
|
66095
|
+
email: /^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,
|
|
66096
|
+
/**
|
|
66097
|
+
* Constructed a valid Unicode RegExp
|
|
66098
|
+
*
|
|
66099
|
+
* Lazily instantiate since this type of regex isn't supported
|
|
66100
|
+
* in all envs (e.g. React Native).
|
|
66101
|
+
*
|
|
66102
|
+
* See:
|
|
66103
|
+
* https://github.com/colinhacks/zod/issues/2433
|
|
66104
|
+
* Fix in Zod:
|
|
66105
|
+
* https://github.com/colinhacks/zod/commit/9340fd51e48576a75adc919bff65dbc4a5d4c99b
|
|
66106
|
+
*/
|
|
66107
|
+
emoji: () => {
|
|
66108
|
+
if (emojiRegex2 === void 0) {
|
|
66109
|
+
emojiRegex2 = RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$", "u");
|
|
66110
|
+
}
|
|
66111
|
+
return emojiRegex2;
|
|
66112
|
+
},
|
|
66113
|
+
/**
|
|
66114
|
+
* Unused
|
|
66115
|
+
*/
|
|
66116
|
+
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}$/,
|
|
66117
|
+
/**
|
|
66118
|
+
* Unused
|
|
66119
|
+
*/
|
|
66120
|
+
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])$/,
|
|
66121
|
+
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])$/,
|
|
66122
|
+
/**
|
|
66123
|
+
* Unused
|
|
66124
|
+
*/
|
|
66125
|
+
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})))$/,
|
|
66126
|
+
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])$/,
|
|
66127
|
+
base64: /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,
|
|
66128
|
+
base64url: /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,
|
|
66129
|
+
nanoid: /^[a-zA-Z0-9_-]{21}$/,
|
|
66130
|
+
jwt: /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/
|
|
66131
|
+
};
|
|
66132
|
+
function parseStringDef(def, refs) {
|
|
66133
|
+
const res = {
|
|
66134
|
+
type: "string"
|
|
66135
|
+
};
|
|
66136
|
+
if (def.checks) {
|
|
66137
|
+
for (const check2 of def.checks) {
|
|
66138
|
+
switch (check2.kind) {
|
|
66139
|
+
case "min":
|
|
66140
|
+
setResponseValueAndErrors(res, "minLength", typeof res.minLength === "number" ? Math.max(res.minLength, check2.value) : check2.value, check2.message, refs);
|
|
66141
|
+
break;
|
|
66142
|
+
case "max":
|
|
66143
|
+
setResponseValueAndErrors(res, "maxLength", typeof res.maxLength === "number" ? Math.min(res.maxLength, check2.value) : check2.value, check2.message, refs);
|
|
66144
|
+
break;
|
|
66145
|
+
case "email":
|
|
66146
|
+
switch (refs.emailStrategy) {
|
|
66147
|
+
case "format:email":
|
|
66148
|
+
addFormat(res, "email", check2.message, refs);
|
|
66149
|
+
break;
|
|
66150
|
+
case "format:idn-email":
|
|
66151
|
+
addFormat(res, "idn-email", check2.message, refs);
|
|
66152
|
+
break;
|
|
66153
|
+
case "pattern:zod":
|
|
66154
|
+
addPattern(res, zodPatterns.email, check2.message, refs);
|
|
66155
|
+
break;
|
|
66156
|
+
}
|
|
66157
|
+
break;
|
|
66158
|
+
case "url":
|
|
66159
|
+
addFormat(res, "uri", check2.message, refs);
|
|
66160
|
+
break;
|
|
66161
|
+
case "uuid":
|
|
66162
|
+
addFormat(res, "uuid", check2.message, refs);
|
|
66163
|
+
break;
|
|
66164
|
+
case "regex":
|
|
66165
|
+
addPattern(res, check2.regex, check2.message, refs);
|
|
66166
|
+
break;
|
|
66167
|
+
case "cuid":
|
|
66168
|
+
addPattern(res, zodPatterns.cuid, check2.message, refs);
|
|
66169
|
+
break;
|
|
66170
|
+
case "cuid2":
|
|
66171
|
+
addPattern(res, zodPatterns.cuid2, check2.message, refs);
|
|
66172
|
+
break;
|
|
66173
|
+
case "startsWith":
|
|
66174
|
+
addPattern(res, RegExp(`^${escapeLiteralCheckValue(check2.value, refs)}`), check2.message, refs);
|
|
66175
|
+
break;
|
|
66176
|
+
case "endsWith":
|
|
66177
|
+
addPattern(res, RegExp(`${escapeLiteralCheckValue(check2.value, refs)}$`), check2.message, refs);
|
|
66178
|
+
break;
|
|
66179
|
+
case "datetime":
|
|
66180
|
+
addFormat(res, "date-time", check2.message, refs);
|
|
66181
|
+
break;
|
|
66182
|
+
case "date":
|
|
66183
|
+
addFormat(res, "date", check2.message, refs);
|
|
66184
|
+
break;
|
|
66185
|
+
case "time":
|
|
66186
|
+
addFormat(res, "time", check2.message, refs);
|
|
66187
|
+
break;
|
|
66188
|
+
case "duration":
|
|
66189
|
+
addFormat(res, "duration", check2.message, refs);
|
|
66190
|
+
break;
|
|
66191
|
+
case "length":
|
|
66192
|
+
setResponseValueAndErrors(res, "minLength", typeof res.minLength === "number" ? Math.max(res.minLength, check2.value) : check2.value, check2.message, refs);
|
|
66193
|
+
setResponseValueAndErrors(res, "maxLength", typeof res.maxLength === "number" ? Math.min(res.maxLength, check2.value) : check2.value, check2.message, refs);
|
|
66194
|
+
break;
|
|
66195
|
+
case "includes": {
|
|
66196
|
+
addPattern(res, RegExp(escapeLiteralCheckValue(check2.value, refs)), check2.message, refs);
|
|
66197
|
+
break;
|
|
66198
|
+
}
|
|
66199
|
+
case "ip": {
|
|
66200
|
+
if (check2.version !== "v6") {
|
|
66201
|
+
addFormat(res, "ipv4", check2.message, refs);
|
|
66202
|
+
}
|
|
66203
|
+
if (check2.version !== "v4") {
|
|
66204
|
+
addFormat(res, "ipv6", check2.message, refs);
|
|
66205
|
+
}
|
|
66206
|
+
break;
|
|
66207
|
+
}
|
|
66208
|
+
case "base64url":
|
|
66209
|
+
addPattern(res, zodPatterns.base64url, check2.message, refs);
|
|
66210
|
+
break;
|
|
66211
|
+
case "jwt":
|
|
66212
|
+
addPattern(res, zodPatterns.jwt, check2.message, refs);
|
|
66213
|
+
break;
|
|
66214
|
+
case "cidr": {
|
|
66215
|
+
if (check2.version !== "v6") {
|
|
66216
|
+
addPattern(res, zodPatterns.ipv4Cidr, check2.message, refs);
|
|
66217
|
+
}
|
|
66218
|
+
if (check2.version !== "v4") {
|
|
66219
|
+
addPattern(res, zodPatterns.ipv6Cidr, check2.message, refs);
|
|
66220
|
+
}
|
|
66221
|
+
break;
|
|
66222
|
+
}
|
|
66223
|
+
case "emoji":
|
|
66224
|
+
addPattern(res, zodPatterns.emoji(), check2.message, refs);
|
|
66225
|
+
break;
|
|
66226
|
+
case "ulid": {
|
|
66227
|
+
addPattern(res, zodPatterns.ulid, check2.message, refs);
|
|
66228
|
+
break;
|
|
66229
|
+
}
|
|
66230
|
+
case "base64": {
|
|
66231
|
+
switch (refs.base64Strategy) {
|
|
66232
|
+
case "format:binary": {
|
|
66233
|
+
addFormat(res, "binary", check2.message, refs);
|
|
66234
|
+
break;
|
|
66235
|
+
}
|
|
66236
|
+
case "contentEncoding:base64": {
|
|
66237
|
+
setResponseValueAndErrors(res, "contentEncoding", "base64", check2.message, refs);
|
|
66238
|
+
break;
|
|
66239
|
+
}
|
|
66240
|
+
case "pattern:zod": {
|
|
66241
|
+
addPattern(res, zodPatterns.base64, check2.message, refs);
|
|
66242
|
+
break;
|
|
66243
|
+
}
|
|
66244
|
+
}
|
|
66245
|
+
break;
|
|
66246
|
+
}
|
|
66247
|
+
case "nanoid": {
|
|
66248
|
+
addPattern(res, zodPatterns.nanoid, check2.message, refs);
|
|
66249
|
+
}
|
|
66250
|
+
case "toLowerCase":
|
|
66251
|
+
case "toUpperCase":
|
|
66252
|
+
case "trim":
|
|
66253
|
+
break;
|
|
66254
|
+
default:
|
|
66255
|
+
/* @__PURE__ */ ((_) => {
|
|
66256
|
+
})(check2);
|
|
66257
|
+
}
|
|
66258
|
+
}
|
|
66259
|
+
}
|
|
66260
|
+
return res;
|
|
66261
|
+
}
|
|
66262
|
+
function escapeLiteralCheckValue(literal2, refs) {
|
|
66263
|
+
return refs.patternStrategy === "escape" ? escapeNonAlphaNumeric(literal2) : literal2;
|
|
66264
|
+
}
|
|
65758
66265
|
var ALPHA_NUMERIC = new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");
|
|
66266
|
+
function escapeNonAlphaNumeric(source) {
|
|
66267
|
+
let result = "";
|
|
66268
|
+
for (let i2 = 0; i2 < source.length; i2++) {
|
|
66269
|
+
if (!ALPHA_NUMERIC.has(source[i2])) {
|
|
66270
|
+
result += "\\";
|
|
66271
|
+
}
|
|
66272
|
+
result += source[i2];
|
|
66273
|
+
}
|
|
66274
|
+
return result;
|
|
66275
|
+
}
|
|
66276
|
+
function addFormat(schema, value, message, refs) {
|
|
66277
|
+
if (schema.format || schema.anyOf?.some((x2) => x2.format)) {
|
|
66278
|
+
if (!schema.anyOf) {
|
|
66279
|
+
schema.anyOf = [];
|
|
66280
|
+
}
|
|
66281
|
+
if (schema.format) {
|
|
66282
|
+
schema.anyOf.push({
|
|
66283
|
+
format: schema.format,
|
|
66284
|
+
...schema.errorMessage && refs.errorMessages && {
|
|
66285
|
+
errorMessage: { format: schema.errorMessage.format }
|
|
66286
|
+
}
|
|
66287
|
+
});
|
|
66288
|
+
delete schema.format;
|
|
66289
|
+
if (schema.errorMessage) {
|
|
66290
|
+
delete schema.errorMessage.format;
|
|
66291
|
+
if (Object.keys(schema.errorMessage).length === 0) {
|
|
66292
|
+
delete schema.errorMessage;
|
|
66293
|
+
}
|
|
66294
|
+
}
|
|
66295
|
+
}
|
|
66296
|
+
schema.anyOf.push({
|
|
66297
|
+
format: value,
|
|
66298
|
+
...message && refs.errorMessages && { errorMessage: { format: message } }
|
|
66299
|
+
});
|
|
66300
|
+
} else {
|
|
66301
|
+
setResponseValueAndErrors(schema, "format", value, message, refs);
|
|
66302
|
+
}
|
|
66303
|
+
}
|
|
66304
|
+
function addPattern(schema, regex, message, refs) {
|
|
66305
|
+
if (schema.pattern || schema.allOf?.some((x2) => x2.pattern)) {
|
|
66306
|
+
if (!schema.allOf) {
|
|
66307
|
+
schema.allOf = [];
|
|
66308
|
+
}
|
|
66309
|
+
if (schema.pattern) {
|
|
66310
|
+
schema.allOf.push({
|
|
66311
|
+
pattern: schema.pattern,
|
|
66312
|
+
...schema.errorMessage && refs.errorMessages && {
|
|
66313
|
+
errorMessage: { pattern: schema.errorMessage.pattern }
|
|
66314
|
+
}
|
|
66315
|
+
});
|
|
66316
|
+
delete schema.pattern;
|
|
66317
|
+
if (schema.errorMessage) {
|
|
66318
|
+
delete schema.errorMessage.pattern;
|
|
66319
|
+
if (Object.keys(schema.errorMessage).length === 0) {
|
|
66320
|
+
delete schema.errorMessage;
|
|
66321
|
+
}
|
|
66322
|
+
}
|
|
66323
|
+
}
|
|
66324
|
+
schema.allOf.push({
|
|
66325
|
+
pattern: stringifyRegExpWithFlags(regex, refs),
|
|
66326
|
+
...message && refs.errorMessages && { errorMessage: { pattern: message } }
|
|
66327
|
+
});
|
|
66328
|
+
} else {
|
|
66329
|
+
setResponseValueAndErrors(schema, "pattern", stringifyRegExpWithFlags(regex, refs), message, refs);
|
|
66330
|
+
}
|
|
66331
|
+
}
|
|
66332
|
+
function stringifyRegExpWithFlags(regex, refs) {
|
|
66333
|
+
if (!refs.applyRegexFlags || !regex.flags) {
|
|
66334
|
+
return regex.source;
|
|
66335
|
+
}
|
|
66336
|
+
const flags = {
|
|
66337
|
+
i: regex.flags.includes("i"),
|
|
66338
|
+
m: regex.flags.includes("m"),
|
|
66339
|
+
s: regex.flags.includes("s")
|
|
66340
|
+
// `.` matches newlines
|
|
66341
|
+
};
|
|
66342
|
+
const source = flags.i ? regex.source.toLowerCase() : regex.source;
|
|
66343
|
+
let pattern = "";
|
|
66344
|
+
let isEscaped = false;
|
|
66345
|
+
let inCharGroup = false;
|
|
66346
|
+
let inCharRange = false;
|
|
66347
|
+
for (let i2 = 0; i2 < source.length; i2++) {
|
|
66348
|
+
if (isEscaped) {
|
|
66349
|
+
pattern += source[i2];
|
|
66350
|
+
isEscaped = false;
|
|
66351
|
+
continue;
|
|
66352
|
+
}
|
|
66353
|
+
if (flags.i) {
|
|
66354
|
+
if (inCharGroup) {
|
|
66355
|
+
if (source[i2].match(/[a-z]/)) {
|
|
66356
|
+
if (inCharRange) {
|
|
66357
|
+
pattern += source[i2];
|
|
66358
|
+
pattern += `${source[i2 - 2]}-${source[i2]}`.toUpperCase();
|
|
66359
|
+
inCharRange = false;
|
|
66360
|
+
} else if (source[i2 + 1] === "-" && source[i2 + 2]?.match(/[a-z]/)) {
|
|
66361
|
+
pattern += source[i2];
|
|
66362
|
+
inCharRange = true;
|
|
66363
|
+
} else {
|
|
66364
|
+
pattern += `${source[i2]}${source[i2].toUpperCase()}`;
|
|
66365
|
+
}
|
|
66366
|
+
continue;
|
|
66367
|
+
}
|
|
66368
|
+
} else if (source[i2].match(/[a-z]/)) {
|
|
66369
|
+
pattern += `[${source[i2]}${source[i2].toUpperCase()}]`;
|
|
66370
|
+
continue;
|
|
66371
|
+
}
|
|
66372
|
+
}
|
|
66373
|
+
if (flags.m) {
|
|
66374
|
+
if (source[i2] === "^") {
|
|
66375
|
+
pattern += `(^|(?<=[\r
|
|
66376
|
+
]))`;
|
|
66377
|
+
continue;
|
|
66378
|
+
} else if (source[i2] === "$") {
|
|
66379
|
+
pattern += `($|(?=[\r
|
|
66380
|
+
]))`;
|
|
66381
|
+
continue;
|
|
66382
|
+
}
|
|
66383
|
+
}
|
|
66384
|
+
if (flags.s && source[i2] === ".") {
|
|
66385
|
+
pattern += inCharGroup ? `${source[i2]}\r
|
|
66386
|
+
` : `[${source[i2]}\r
|
|
66387
|
+
]`;
|
|
66388
|
+
continue;
|
|
66389
|
+
}
|
|
66390
|
+
pattern += source[i2];
|
|
66391
|
+
if (source[i2] === "\\") {
|
|
66392
|
+
isEscaped = true;
|
|
66393
|
+
} else if (inCharGroup && source[i2] === "]") {
|
|
66394
|
+
inCharGroup = false;
|
|
66395
|
+
} else if (!inCharGroup && source[i2] === "[") {
|
|
66396
|
+
inCharGroup = true;
|
|
66397
|
+
}
|
|
66398
|
+
}
|
|
66399
|
+
try {
|
|
66400
|
+
new RegExp(pattern);
|
|
66401
|
+
} catch {
|
|
66402
|
+
console.warn(`Could not convert regex pattern at ${refs.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`);
|
|
66403
|
+
return regex.source;
|
|
66404
|
+
}
|
|
66405
|
+
return pattern;
|
|
66406
|
+
}
|
|
66407
|
+
|
|
66408
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/record.js
|
|
66409
|
+
function parseRecordDef(def, refs) {
|
|
66410
|
+
if (refs.target === "openAi") {
|
|
66411
|
+
console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");
|
|
66412
|
+
}
|
|
66413
|
+
if (refs.target === "openApi3" && def.keyType?._def.typeName === ZodFirstPartyTypeKind2.ZodEnum) {
|
|
66414
|
+
return {
|
|
66415
|
+
type: "object",
|
|
66416
|
+
required: def.keyType._def.values,
|
|
66417
|
+
properties: def.keyType._def.values.reduce((acc, key) => ({
|
|
66418
|
+
...acc,
|
|
66419
|
+
[key]: parseDef(def.valueType._def, {
|
|
66420
|
+
...refs,
|
|
66421
|
+
currentPath: [...refs.currentPath, "properties", key]
|
|
66422
|
+
}) ?? parseAnyDef(refs)
|
|
66423
|
+
}), {}),
|
|
66424
|
+
additionalProperties: refs.rejectedAdditionalProperties
|
|
66425
|
+
};
|
|
66426
|
+
}
|
|
66427
|
+
const schema = {
|
|
66428
|
+
type: "object",
|
|
66429
|
+
additionalProperties: parseDef(def.valueType._def, {
|
|
66430
|
+
...refs,
|
|
66431
|
+
currentPath: [...refs.currentPath, "additionalProperties"]
|
|
66432
|
+
}) ?? refs.allowedAdditionalProperties
|
|
66433
|
+
};
|
|
66434
|
+
if (refs.target === "openApi3") {
|
|
66435
|
+
return schema;
|
|
66436
|
+
}
|
|
66437
|
+
if (def.keyType?._def.typeName === ZodFirstPartyTypeKind2.ZodString && def.keyType._def.checks?.length) {
|
|
66438
|
+
const { type, ...keyType } = parseStringDef(def.keyType._def, refs);
|
|
66439
|
+
return {
|
|
66440
|
+
...schema,
|
|
66441
|
+
propertyNames: keyType
|
|
66442
|
+
};
|
|
66443
|
+
} else if (def.keyType?._def.typeName === ZodFirstPartyTypeKind2.ZodEnum) {
|
|
66444
|
+
return {
|
|
66445
|
+
...schema,
|
|
66446
|
+
propertyNames: {
|
|
66447
|
+
enum: def.keyType._def.values
|
|
66448
|
+
}
|
|
66449
|
+
};
|
|
66450
|
+
} else if (def.keyType?._def.typeName === ZodFirstPartyTypeKind2.ZodBranded && def.keyType._def.type._def.typeName === ZodFirstPartyTypeKind2.ZodString && def.keyType._def.type._def.checks?.length) {
|
|
66451
|
+
const { type, ...keyType } = parseBrandedDef(def.keyType._def, refs);
|
|
66452
|
+
return {
|
|
66453
|
+
...schema,
|
|
66454
|
+
propertyNames: keyType
|
|
66455
|
+
};
|
|
66456
|
+
}
|
|
66457
|
+
return schema;
|
|
66458
|
+
}
|
|
66459
|
+
|
|
66460
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/map.js
|
|
66461
|
+
function parseMapDef(def, refs) {
|
|
66462
|
+
if (refs.mapStrategy === "record") {
|
|
66463
|
+
return parseRecordDef(def, refs);
|
|
66464
|
+
}
|
|
66465
|
+
const keys = parseDef(def.keyType._def, {
|
|
66466
|
+
...refs,
|
|
66467
|
+
currentPath: [...refs.currentPath, "items", "items", "0"]
|
|
66468
|
+
}) || parseAnyDef(refs);
|
|
66469
|
+
const values = parseDef(def.valueType._def, {
|
|
66470
|
+
...refs,
|
|
66471
|
+
currentPath: [...refs.currentPath, "items", "items", "1"]
|
|
66472
|
+
}) || parseAnyDef(refs);
|
|
66473
|
+
return {
|
|
66474
|
+
type: "array",
|
|
66475
|
+
maxItems: 125,
|
|
66476
|
+
items: {
|
|
66477
|
+
type: "array",
|
|
66478
|
+
items: [keys, values],
|
|
66479
|
+
minItems: 2,
|
|
66480
|
+
maxItems: 2
|
|
66481
|
+
}
|
|
66482
|
+
};
|
|
66483
|
+
}
|
|
66484
|
+
|
|
66485
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js
|
|
66486
|
+
function parseNativeEnumDef(def) {
|
|
66487
|
+
const object3 = def.values;
|
|
66488
|
+
const actualKeys = Object.keys(def.values).filter((key) => {
|
|
66489
|
+
return typeof object3[object3[key]] !== "number";
|
|
66490
|
+
});
|
|
66491
|
+
const actualValues = actualKeys.map((key) => object3[key]);
|
|
66492
|
+
const parsedTypes = Array.from(new Set(actualValues.map((values) => typeof values)));
|
|
66493
|
+
return {
|
|
66494
|
+
type: parsedTypes.length === 1 ? parsedTypes[0] === "string" ? "string" : "number" : ["string", "number"],
|
|
66495
|
+
enum: actualValues
|
|
66496
|
+
};
|
|
66497
|
+
}
|
|
66498
|
+
|
|
66499
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/never.js
|
|
66500
|
+
function parseNeverDef(refs) {
|
|
66501
|
+
return refs.target === "openAi" ? void 0 : {
|
|
66502
|
+
not: parseAnyDef({
|
|
66503
|
+
...refs,
|
|
66504
|
+
currentPath: [...refs.currentPath, "not"]
|
|
66505
|
+
})
|
|
66506
|
+
};
|
|
66507
|
+
}
|
|
66508
|
+
|
|
66509
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/null.js
|
|
66510
|
+
function parseNullDef(refs) {
|
|
66511
|
+
return refs.target === "openApi3" ? {
|
|
66512
|
+
enum: ["null"],
|
|
66513
|
+
nullable: true
|
|
66514
|
+
} : {
|
|
66515
|
+
type: "null"
|
|
66516
|
+
};
|
|
66517
|
+
}
|
|
66518
|
+
|
|
66519
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/union.js
|
|
66520
|
+
var primitiveMappings = {
|
|
66521
|
+
ZodString: "string",
|
|
66522
|
+
ZodNumber: "number",
|
|
66523
|
+
ZodBigInt: "integer",
|
|
66524
|
+
ZodBoolean: "boolean",
|
|
66525
|
+
ZodNull: "null"
|
|
66526
|
+
};
|
|
66527
|
+
function parseUnionDef(def, refs) {
|
|
66528
|
+
if (refs.target === "openApi3")
|
|
66529
|
+
return asAnyOf(def, refs);
|
|
66530
|
+
const options = def.options instanceof Map ? Array.from(def.options.values()) : def.options;
|
|
66531
|
+
if (options.every((x2) => x2._def.typeName in primitiveMappings && (!x2._def.checks || !x2._def.checks.length))) {
|
|
66532
|
+
const types3 = options.reduce((types4, x2) => {
|
|
66533
|
+
const type = primitiveMappings[x2._def.typeName];
|
|
66534
|
+
return type && !types4.includes(type) ? [...types4, type] : types4;
|
|
66535
|
+
}, []);
|
|
66536
|
+
return {
|
|
66537
|
+
type: types3.length > 1 ? types3 : types3[0]
|
|
66538
|
+
};
|
|
66539
|
+
} else if (options.every((x2) => x2._def.typeName === "ZodLiteral" && !x2.description)) {
|
|
66540
|
+
const types3 = options.reduce((acc, x2) => {
|
|
66541
|
+
const type = typeof x2._def.value;
|
|
66542
|
+
switch (type) {
|
|
66543
|
+
case "string":
|
|
66544
|
+
case "number":
|
|
66545
|
+
case "boolean":
|
|
66546
|
+
return [...acc, type];
|
|
66547
|
+
case "bigint":
|
|
66548
|
+
return [...acc, "integer"];
|
|
66549
|
+
case "object":
|
|
66550
|
+
if (x2._def.value === null)
|
|
66551
|
+
return [...acc, "null"];
|
|
66552
|
+
case "symbol":
|
|
66553
|
+
case "undefined":
|
|
66554
|
+
case "function":
|
|
66555
|
+
default:
|
|
66556
|
+
return acc;
|
|
66557
|
+
}
|
|
66558
|
+
}, []);
|
|
66559
|
+
if (types3.length === options.length) {
|
|
66560
|
+
const uniqueTypes = types3.filter((x2, i2, a) => a.indexOf(x2) === i2);
|
|
66561
|
+
return {
|
|
66562
|
+
type: uniqueTypes.length > 1 ? uniqueTypes : uniqueTypes[0],
|
|
66563
|
+
enum: options.reduce((acc, x2) => {
|
|
66564
|
+
return acc.includes(x2._def.value) ? acc : [...acc, x2._def.value];
|
|
66565
|
+
}, [])
|
|
66566
|
+
};
|
|
66567
|
+
}
|
|
66568
|
+
} else if (options.every((x2) => x2._def.typeName === "ZodEnum")) {
|
|
66569
|
+
return {
|
|
66570
|
+
type: "string",
|
|
66571
|
+
enum: options.reduce((acc, x2) => [
|
|
66572
|
+
...acc,
|
|
66573
|
+
...x2._def.values.filter((x3) => !acc.includes(x3))
|
|
66574
|
+
], [])
|
|
66575
|
+
};
|
|
66576
|
+
}
|
|
66577
|
+
return asAnyOf(def, refs);
|
|
66578
|
+
}
|
|
66579
|
+
var asAnyOf = (def, refs) => {
|
|
66580
|
+
const anyOf = (def.options instanceof Map ? Array.from(def.options.values()) : def.options).map((x2, i2) => parseDef(x2._def, {
|
|
66581
|
+
...refs,
|
|
66582
|
+
currentPath: [...refs.currentPath, "anyOf", `${i2}`]
|
|
66583
|
+
})).filter((x2) => !!x2 && (!refs.strictUnions || typeof x2 === "object" && Object.keys(x2).length > 0));
|
|
66584
|
+
return anyOf.length ? { anyOf } : void 0;
|
|
66585
|
+
};
|
|
66586
|
+
|
|
66587
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js
|
|
66588
|
+
function parseNullableDef(def, refs) {
|
|
66589
|
+
if (["ZodString", "ZodNumber", "ZodBigInt", "ZodBoolean", "ZodNull"].includes(def.innerType._def.typeName) && (!def.innerType._def.checks || !def.innerType._def.checks.length)) {
|
|
66590
|
+
if (refs.target === "openApi3") {
|
|
66591
|
+
return {
|
|
66592
|
+
type: primitiveMappings[def.innerType._def.typeName],
|
|
66593
|
+
nullable: true
|
|
66594
|
+
};
|
|
66595
|
+
}
|
|
66596
|
+
return {
|
|
66597
|
+
type: [
|
|
66598
|
+
primitiveMappings[def.innerType._def.typeName],
|
|
66599
|
+
"null"
|
|
66600
|
+
]
|
|
66601
|
+
};
|
|
66602
|
+
}
|
|
66603
|
+
if (refs.target === "openApi3") {
|
|
66604
|
+
const base2 = parseDef(def.innerType._def, {
|
|
66605
|
+
...refs,
|
|
66606
|
+
currentPath: [...refs.currentPath]
|
|
66607
|
+
});
|
|
66608
|
+
if (base2 && "$ref" in base2)
|
|
66609
|
+
return { allOf: [base2], nullable: true };
|
|
66610
|
+
return base2 && { ...base2, nullable: true };
|
|
66611
|
+
}
|
|
66612
|
+
const base = parseDef(def.innerType._def, {
|
|
66613
|
+
...refs,
|
|
66614
|
+
currentPath: [...refs.currentPath, "anyOf", "0"]
|
|
66615
|
+
});
|
|
66616
|
+
return base && { anyOf: [base, { type: "null" }] };
|
|
66617
|
+
}
|
|
66618
|
+
|
|
66619
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/number.js
|
|
66620
|
+
function parseNumberDef(def, refs) {
|
|
66621
|
+
const res = {
|
|
66622
|
+
type: "number"
|
|
66623
|
+
};
|
|
66624
|
+
if (!def.checks)
|
|
66625
|
+
return res;
|
|
66626
|
+
for (const check2 of def.checks) {
|
|
66627
|
+
switch (check2.kind) {
|
|
66628
|
+
case "int":
|
|
66629
|
+
res.type = "integer";
|
|
66630
|
+
addErrorMessage(res, "type", check2.message, refs);
|
|
66631
|
+
break;
|
|
66632
|
+
case "min":
|
|
66633
|
+
if (refs.target === "jsonSchema7") {
|
|
66634
|
+
if (check2.inclusive) {
|
|
66635
|
+
setResponseValueAndErrors(res, "minimum", check2.value, check2.message, refs);
|
|
66636
|
+
} else {
|
|
66637
|
+
setResponseValueAndErrors(res, "exclusiveMinimum", check2.value, check2.message, refs);
|
|
66638
|
+
}
|
|
66639
|
+
} else {
|
|
66640
|
+
if (!check2.inclusive) {
|
|
66641
|
+
res.exclusiveMinimum = true;
|
|
66642
|
+
}
|
|
66643
|
+
setResponseValueAndErrors(res, "minimum", check2.value, check2.message, refs);
|
|
66644
|
+
}
|
|
66645
|
+
break;
|
|
66646
|
+
case "max":
|
|
66647
|
+
if (refs.target === "jsonSchema7") {
|
|
66648
|
+
if (check2.inclusive) {
|
|
66649
|
+
setResponseValueAndErrors(res, "maximum", check2.value, check2.message, refs);
|
|
66650
|
+
} else {
|
|
66651
|
+
setResponseValueAndErrors(res, "exclusiveMaximum", check2.value, check2.message, refs);
|
|
66652
|
+
}
|
|
66653
|
+
} else {
|
|
66654
|
+
if (!check2.inclusive) {
|
|
66655
|
+
res.exclusiveMaximum = true;
|
|
66656
|
+
}
|
|
66657
|
+
setResponseValueAndErrors(res, "maximum", check2.value, check2.message, refs);
|
|
66658
|
+
}
|
|
66659
|
+
break;
|
|
66660
|
+
case "multipleOf":
|
|
66661
|
+
setResponseValueAndErrors(res, "multipleOf", check2.value, check2.message, refs);
|
|
66662
|
+
break;
|
|
66663
|
+
}
|
|
66664
|
+
}
|
|
66665
|
+
return res;
|
|
66666
|
+
}
|
|
66667
|
+
|
|
66668
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/object.js
|
|
66669
|
+
function parseObjectDef(def, refs) {
|
|
66670
|
+
const forceOptionalIntoNullable = refs.target === "openAi";
|
|
66671
|
+
const result = {
|
|
66672
|
+
type: "object",
|
|
66673
|
+
properties: {}
|
|
66674
|
+
};
|
|
66675
|
+
const required2 = [];
|
|
66676
|
+
const shape = def.shape();
|
|
66677
|
+
for (const propName in shape) {
|
|
66678
|
+
let propDef = shape[propName];
|
|
66679
|
+
if (propDef === void 0 || propDef._def === void 0) {
|
|
66680
|
+
continue;
|
|
66681
|
+
}
|
|
66682
|
+
let propOptional = safeIsOptional(propDef);
|
|
66683
|
+
if (propOptional && forceOptionalIntoNullable) {
|
|
66684
|
+
if (propDef._def.typeName === "ZodOptional") {
|
|
66685
|
+
propDef = propDef._def.innerType;
|
|
66686
|
+
}
|
|
66687
|
+
if (!propDef.isNullable()) {
|
|
66688
|
+
propDef = propDef.nullable();
|
|
66689
|
+
}
|
|
66690
|
+
propOptional = false;
|
|
66691
|
+
}
|
|
66692
|
+
const parsedDef = parseDef(propDef._def, {
|
|
66693
|
+
...refs,
|
|
66694
|
+
currentPath: [...refs.currentPath, "properties", propName],
|
|
66695
|
+
propertyPath: [...refs.currentPath, "properties", propName]
|
|
66696
|
+
});
|
|
66697
|
+
if (parsedDef === void 0) {
|
|
66698
|
+
continue;
|
|
66699
|
+
}
|
|
66700
|
+
result.properties[propName] = parsedDef;
|
|
66701
|
+
if (!propOptional) {
|
|
66702
|
+
required2.push(propName);
|
|
66703
|
+
}
|
|
66704
|
+
}
|
|
66705
|
+
if (required2.length) {
|
|
66706
|
+
result.required = required2;
|
|
66707
|
+
}
|
|
66708
|
+
const additionalProperties = decideAdditionalProperties(def, refs);
|
|
66709
|
+
if (additionalProperties !== void 0) {
|
|
66710
|
+
result.additionalProperties = additionalProperties;
|
|
66711
|
+
}
|
|
66712
|
+
return result;
|
|
66713
|
+
}
|
|
66714
|
+
function decideAdditionalProperties(def, refs) {
|
|
66715
|
+
if (def.catchall._def.typeName !== "ZodNever") {
|
|
66716
|
+
return parseDef(def.catchall._def, {
|
|
66717
|
+
...refs,
|
|
66718
|
+
currentPath: [...refs.currentPath, "additionalProperties"]
|
|
66719
|
+
});
|
|
66720
|
+
}
|
|
66721
|
+
switch (def.unknownKeys) {
|
|
66722
|
+
case "passthrough":
|
|
66723
|
+
return refs.allowedAdditionalProperties;
|
|
66724
|
+
case "strict":
|
|
66725
|
+
return refs.rejectedAdditionalProperties;
|
|
66726
|
+
case "strip":
|
|
66727
|
+
return refs.removeAdditionalStrategy === "strict" ? refs.allowedAdditionalProperties : refs.rejectedAdditionalProperties;
|
|
66728
|
+
}
|
|
66729
|
+
}
|
|
66730
|
+
function safeIsOptional(schema) {
|
|
66731
|
+
try {
|
|
66732
|
+
return schema.isOptional();
|
|
66733
|
+
} catch {
|
|
66734
|
+
return true;
|
|
66735
|
+
}
|
|
66736
|
+
}
|
|
66737
|
+
|
|
66738
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/optional.js
|
|
66739
|
+
var parseOptionalDef = (def, refs) => {
|
|
66740
|
+
if (refs.currentPath.toString() === refs.propertyPath?.toString()) {
|
|
66741
|
+
return parseDef(def.innerType._def, refs);
|
|
66742
|
+
}
|
|
66743
|
+
const innerSchema = parseDef(def.innerType._def, {
|
|
66744
|
+
...refs,
|
|
66745
|
+
currentPath: [...refs.currentPath, "anyOf", "1"]
|
|
66746
|
+
});
|
|
66747
|
+
return innerSchema ? {
|
|
66748
|
+
anyOf: [
|
|
66749
|
+
{
|
|
66750
|
+
not: parseAnyDef(refs)
|
|
66751
|
+
},
|
|
66752
|
+
innerSchema
|
|
66753
|
+
]
|
|
66754
|
+
} : parseAnyDef(refs);
|
|
66755
|
+
};
|
|
66756
|
+
|
|
66757
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js
|
|
66758
|
+
var parsePipelineDef = (def, refs) => {
|
|
66759
|
+
if (refs.pipeStrategy === "input") {
|
|
66760
|
+
return parseDef(def.in._def, refs);
|
|
66761
|
+
} else if (refs.pipeStrategy === "output") {
|
|
66762
|
+
return parseDef(def.out._def, refs);
|
|
66763
|
+
}
|
|
66764
|
+
const a = parseDef(def.in._def, {
|
|
66765
|
+
...refs,
|
|
66766
|
+
currentPath: [...refs.currentPath, "allOf", "0"]
|
|
66767
|
+
});
|
|
66768
|
+
const b = parseDef(def.out._def, {
|
|
66769
|
+
...refs,
|
|
66770
|
+
currentPath: [...refs.currentPath, "allOf", a ? "1" : "0"]
|
|
66771
|
+
});
|
|
66772
|
+
return {
|
|
66773
|
+
allOf: [a, b].filter((x2) => x2 !== void 0)
|
|
66774
|
+
};
|
|
66775
|
+
};
|
|
66776
|
+
|
|
66777
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/promise.js
|
|
66778
|
+
function parsePromiseDef(def, refs) {
|
|
66779
|
+
return parseDef(def.type._def, refs);
|
|
66780
|
+
}
|
|
66781
|
+
|
|
66782
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/set.js
|
|
66783
|
+
function parseSetDef(def, refs) {
|
|
66784
|
+
const items = parseDef(def.valueType._def, {
|
|
66785
|
+
...refs,
|
|
66786
|
+
currentPath: [...refs.currentPath, "items"]
|
|
66787
|
+
});
|
|
66788
|
+
const schema = {
|
|
66789
|
+
type: "array",
|
|
66790
|
+
uniqueItems: true,
|
|
66791
|
+
items
|
|
66792
|
+
};
|
|
66793
|
+
if (def.minSize) {
|
|
66794
|
+
setResponseValueAndErrors(schema, "minItems", def.minSize.value, def.minSize.message, refs);
|
|
66795
|
+
}
|
|
66796
|
+
if (def.maxSize) {
|
|
66797
|
+
setResponseValueAndErrors(schema, "maxItems", def.maxSize.value, def.maxSize.message, refs);
|
|
66798
|
+
}
|
|
66799
|
+
return schema;
|
|
66800
|
+
}
|
|
66801
|
+
|
|
66802
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js
|
|
66803
|
+
function parseTupleDef(def, refs) {
|
|
66804
|
+
if (def.rest) {
|
|
66805
|
+
return {
|
|
66806
|
+
type: "array",
|
|
66807
|
+
minItems: def.items.length,
|
|
66808
|
+
items: def.items.map((x2, i2) => parseDef(x2._def, {
|
|
66809
|
+
...refs,
|
|
66810
|
+
currentPath: [...refs.currentPath, "items", `${i2}`]
|
|
66811
|
+
})).reduce((acc, x2) => x2 === void 0 ? acc : [...acc, x2], []),
|
|
66812
|
+
additionalItems: parseDef(def.rest._def, {
|
|
66813
|
+
...refs,
|
|
66814
|
+
currentPath: [...refs.currentPath, "additionalItems"]
|
|
66815
|
+
})
|
|
66816
|
+
};
|
|
66817
|
+
} else {
|
|
66818
|
+
return {
|
|
66819
|
+
type: "array",
|
|
66820
|
+
minItems: def.items.length,
|
|
66821
|
+
maxItems: def.items.length,
|
|
66822
|
+
items: def.items.map((x2, i2) => parseDef(x2._def, {
|
|
66823
|
+
...refs,
|
|
66824
|
+
currentPath: [...refs.currentPath, "items", `${i2}`]
|
|
66825
|
+
})).reduce((acc, x2) => x2 === void 0 ? acc : [...acc, x2], [])
|
|
66826
|
+
};
|
|
66827
|
+
}
|
|
66828
|
+
}
|
|
66829
|
+
|
|
66830
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js
|
|
66831
|
+
function parseUndefinedDef(refs) {
|
|
66832
|
+
return {
|
|
66833
|
+
not: parseAnyDef(refs)
|
|
66834
|
+
};
|
|
66835
|
+
}
|
|
66836
|
+
|
|
66837
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js
|
|
66838
|
+
function parseUnknownDef(refs) {
|
|
66839
|
+
return parseAnyDef(refs);
|
|
66840
|
+
}
|
|
66841
|
+
|
|
66842
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js
|
|
66843
|
+
var parseReadonlyDef = (def, refs) => {
|
|
66844
|
+
return parseDef(def.innerType._def, refs);
|
|
66845
|
+
};
|
|
66846
|
+
|
|
66847
|
+
// ../node_modules/zod-to-json-schema/dist/esm/selectParser.js
|
|
66848
|
+
var selectParser = (def, typeName, refs) => {
|
|
66849
|
+
switch (typeName) {
|
|
66850
|
+
case ZodFirstPartyTypeKind2.ZodString:
|
|
66851
|
+
return parseStringDef(def, refs);
|
|
66852
|
+
case ZodFirstPartyTypeKind2.ZodNumber:
|
|
66853
|
+
return parseNumberDef(def, refs);
|
|
66854
|
+
case ZodFirstPartyTypeKind2.ZodObject:
|
|
66855
|
+
return parseObjectDef(def, refs);
|
|
66856
|
+
case ZodFirstPartyTypeKind2.ZodBigInt:
|
|
66857
|
+
return parseBigintDef(def, refs);
|
|
66858
|
+
case ZodFirstPartyTypeKind2.ZodBoolean:
|
|
66859
|
+
return parseBooleanDef();
|
|
66860
|
+
case ZodFirstPartyTypeKind2.ZodDate:
|
|
66861
|
+
return parseDateDef(def, refs);
|
|
66862
|
+
case ZodFirstPartyTypeKind2.ZodUndefined:
|
|
66863
|
+
return parseUndefinedDef(refs);
|
|
66864
|
+
case ZodFirstPartyTypeKind2.ZodNull:
|
|
66865
|
+
return parseNullDef(refs);
|
|
66866
|
+
case ZodFirstPartyTypeKind2.ZodArray:
|
|
66867
|
+
return parseArrayDef(def, refs);
|
|
66868
|
+
case ZodFirstPartyTypeKind2.ZodUnion:
|
|
66869
|
+
case ZodFirstPartyTypeKind2.ZodDiscriminatedUnion:
|
|
66870
|
+
return parseUnionDef(def, refs);
|
|
66871
|
+
case ZodFirstPartyTypeKind2.ZodIntersection:
|
|
66872
|
+
return parseIntersectionDef(def, refs);
|
|
66873
|
+
case ZodFirstPartyTypeKind2.ZodTuple:
|
|
66874
|
+
return parseTupleDef(def, refs);
|
|
66875
|
+
case ZodFirstPartyTypeKind2.ZodRecord:
|
|
66876
|
+
return parseRecordDef(def, refs);
|
|
66877
|
+
case ZodFirstPartyTypeKind2.ZodLiteral:
|
|
66878
|
+
return parseLiteralDef(def, refs);
|
|
66879
|
+
case ZodFirstPartyTypeKind2.ZodEnum:
|
|
66880
|
+
return parseEnumDef(def);
|
|
66881
|
+
case ZodFirstPartyTypeKind2.ZodNativeEnum:
|
|
66882
|
+
return parseNativeEnumDef(def);
|
|
66883
|
+
case ZodFirstPartyTypeKind2.ZodNullable:
|
|
66884
|
+
return parseNullableDef(def, refs);
|
|
66885
|
+
case ZodFirstPartyTypeKind2.ZodOptional:
|
|
66886
|
+
return parseOptionalDef(def, refs);
|
|
66887
|
+
case ZodFirstPartyTypeKind2.ZodMap:
|
|
66888
|
+
return parseMapDef(def, refs);
|
|
66889
|
+
case ZodFirstPartyTypeKind2.ZodSet:
|
|
66890
|
+
return parseSetDef(def, refs);
|
|
66891
|
+
case ZodFirstPartyTypeKind2.ZodLazy:
|
|
66892
|
+
return () => def.getter()._def;
|
|
66893
|
+
case ZodFirstPartyTypeKind2.ZodPromise:
|
|
66894
|
+
return parsePromiseDef(def, refs);
|
|
66895
|
+
case ZodFirstPartyTypeKind2.ZodNaN:
|
|
66896
|
+
case ZodFirstPartyTypeKind2.ZodNever:
|
|
66897
|
+
return parseNeverDef(refs);
|
|
66898
|
+
case ZodFirstPartyTypeKind2.ZodEffects:
|
|
66899
|
+
return parseEffectsDef(def, refs);
|
|
66900
|
+
case ZodFirstPartyTypeKind2.ZodAny:
|
|
66901
|
+
return parseAnyDef(refs);
|
|
66902
|
+
case ZodFirstPartyTypeKind2.ZodUnknown:
|
|
66903
|
+
return parseUnknownDef(refs);
|
|
66904
|
+
case ZodFirstPartyTypeKind2.ZodDefault:
|
|
66905
|
+
return parseDefaultDef(def, refs);
|
|
66906
|
+
case ZodFirstPartyTypeKind2.ZodBranded:
|
|
66907
|
+
return parseBrandedDef(def, refs);
|
|
66908
|
+
case ZodFirstPartyTypeKind2.ZodReadonly:
|
|
66909
|
+
return parseReadonlyDef(def, refs);
|
|
66910
|
+
case ZodFirstPartyTypeKind2.ZodCatch:
|
|
66911
|
+
return parseCatchDef(def, refs);
|
|
66912
|
+
case ZodFirstPartyTypeKind2.ZodPipeline:
|
|
66913
|
+
return parsePipelineDef(def, refs);
|
|
66914
|
+
case ZodFirstPartyTypeKind2.ZodFunction:
|
|
66915
|
+
case ZodFirstPartyTypeKind2.ZodVoid:
|
|
66916
|
+
case ZodFirstPartyTypeKind2.ZodSymbol:
|
|
66917
|
+
return void 0;
|
|
66918
|
+
default:
|
|
66919
|
+
return /* @__PURE__ */ ((_) => void 0)(typeName);
|
|
66920
|
+
}
|
|
66921
|
+
};
|
|
66922
|
+
|
|
66923
|
+
// ../node_modules/zod-to-json-schema/dist/esm/parseDef.js
|
|
66924
|
+
function parseDef(def, refs, forceResolution = false) {
|
|
66925
|
+
const seenItem = refs.seen.get(def);
|
|
66926
|
+
if (refs.override) {
|
|
66927
|
+
const overrideResult = refs.override?.(def, refs, seenItem, forceResolution);
|
|
66928
|
+
if (overrideResult !== ignoreOverride) {
|
|
66929
|
+
return overrideResult;
|
|
66930
|
+
}
|
|
66931
|
+
}
|
|
66932
|
+
if (seenItem && !forceResolution) {
|
|
66933
|
+
const seenSchema = get$ref(seenItem, refs);
|
|
66934
|
+
if (seenSchema !== void 0) {
|
|
66935
|
+
return seenSchema;
|
|
66936
|
+
}
|
|
66937
|
+
}
|
|
66938
|
+
const newItem = { def, path: refs.currentPath, jsonSchema: void 0 };
|
|
66939
|
+
refs.seen.set(def, newItem);
|
|
66940
|
+
const jsonSchemaOrGetter = selectParser(def, def.typeName, refs);
|
|
66941
|
+
const jsonSchema = typeof jsonSchemaOrGetter === "function" ? parseDef(jsonSchemaOrGetter(), refs) : jsonSchemaOrGetter;
|
|
66942
|
+
if (jsonSchema) {
|
|
66943
|
+
addMeta(def, refs, jsonSchema);
|
|
66944
|
+
}
|
|
66945
|
+
if (refs.postProcess) {
|
|
66946
|
+
const postProcessResult = refs.postProcess(jsonSchema, def, refs);
|
|
66947
|
+
newItem.jsonSchema = jsonSchema;
|
|
66948
|
+
return postProcessResult;
|
|
66949
|
+
}
|
|
66950
|
+
newItem.jsonSchema = jsonSchema;
|
|
66951
|
+
return jsonSchema;
|
|
66952
|
+
}
|
|
66953
|
+
var get$ref = (item, refs) => {
|
|
66954
|
+
switch (refs.$refStrategy) {
|
|
66955
|
+
case "root":
|
|
66956
|
+
return { $ref: item.path.join("/") };
|
|
66957
|
+
case "relative":
|
|
66958
|
+
return { $ref: getRelativePath(refs.currentPath, item.path) };
|
|
66959
|
+
case "none":
|
|
66960
|
+
case "seen": {
|
|
66961
|
+
if (item.path.length < refs.currentPath.length && item.path.every((value, index) => refs.currentPath[index] === value)) {
|
|
66962
|
+
console.warn(`Recursive reference detected at ${refs.currentPath.join("/")}! Defaulting to any`);
|
|
66963
|
+
return parseAnyDef(refs);
|
|
66964
|
+
}
|
|
66965
|
+
return refs.$refStrategy === "seen" ? parseAnyDef(refs) : void 0;
|
|
66966
|
+
}
|
|
66967
|
+
}
|
|
66968
|
+
};
|
|
66969
|
+
var addMeta = (def, refs, jsonSchema) => {
|
|
66970
|
+
if (def.description) {
|
|
66971
|
+
jsonSchema.description = def.description;
|
|
66972
|
+
if (refs.markdownDescription) {
|
|
66973
|
+
jsonSchema.markdownDescription = def.description;
|
|
66974
|
+
}
|
|
66975
|
+
}
|
|
66976
|
+
return jsonSchema;
|
|
66977
|
+
};
|
|
66978
|
+
|
|
66979
|
+
// ../node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js
|
|
66980
|
+
var zodToJsonSchema = (schema, options) => {
|
|
66981
|
+
const refs = getRefs(options);
|
|
66982
|
+
let definitions = typeof options === "object" && options.definitions ? Object.entries(options.definitions).reduce((acc, [name2, schema2]) => ({
|
|
66983
|
+
...acc,
|
|
66984
|
+
[name2]: parseDef(schema2._def, {
|
|
66985
|
+
...refs,
|
|
66986
|
+
currentPath: [...refs.basePath, refs.definitionPath, name2]
|
|
66987
|
+
}, true) ?? parseAnyDef(refs)
|
|
66988
|
+
}), {}) : void 0;
|
|
66989
|
+
const name = typeof options === "string" ? options : options?.nameStrategy === "title" ? void 0 : options?.name;
|
|
66990
|
+
const main = parseDef(schema._def, name === void 0 ? refs : {
|
|
66991
|
+
...refs,
|
|
66992
|
+
currentPath: [...refs.basePath, refs.definitionPath, name]
|
|
66993
|
+
}, false) ?? parseAnyDef(refs);
|
|
66994
|
+
const title = typeof options === "object" && options.name !== void 0 && options.nameStrategy === "title" ? options.name : void 0;
|
|
66995
|
+
if (title !== void 0) {
|
|
66996
|
+
main.title = title;
|
|
66997
|
+
}
|
|
66998
|
+
if (refs.flags.hasReferencedOpenAiAnyType) {
|
|
66999
|
+
if (!definitions) {
|
|
67000
|
+
definitions = {};
|
|
67001
|
+
}
|
|
67002
|
+
if (!definitions[refs.openAiAnyTypeName]) {
|
|
67003
|
+
definitions[refs.openAiAnyTypeName] = {
|
|
67004
|
+
// Skipping "object" as no properties can be defined and additionalProperties must be "false"
|
|
67005
|
+
type: ["string", "number", "integer", "boolean", "array", "null"],
|
|
67006
|
+
items: {
|
|
67007
|
+
$ref: refs.$refStrategy === "relative" ? "1" : [
|
|
67008
|
+
...refs.basePath,
|
|
67009
|
+
refs.definitionPath,
|
|
67010
|
+
refs.openAiAnyTypeName
|
|
67011
|
+
].join("/")
|
|
67012
|
+
}
|
|
67013
|
+
};
|
|
67014
|
+
}
|
|
67015
|
+
}
|
|
67016
|
+
const combined = name === void 0 ? definitions ? {
|
|
67017
|
+
...main,
|
|
67018
|
+
[refs.definitionPath]: definitions
|
|
67019
|
+
} : main : {
|
|
67020
|
+
$ref: [
|
|
67021
|
+
...refs.$refStrategy === "relative" ? [] : refs.basePath,
|
|
67022
|
+
refs.definitionPath,
|
|
67023
|
+
name
|
|
67024
|
+
].join("/"),
|
|
67025
|
+
[refs.definitionPath]: {
|
|
67026
|
+
...definitions,
|
|
67027
|
+
[name]: main
|
|
67028
|
+
}
|
|
67029
|
+
};
|
|
67030
|
+
if (refs.target === "jsonSchema7") {
|
|
67031
|
+
combined.$schema = "http://json-schema.org/draft-07/schema#";
|
|
67032
|
+
} else if (refs.target === "jsonSchema2019-09" || refs.target === "openAi") {
|
|
67033
|
+
combined.$schema = "https://json-schema.org/draft/2019-09/schema#";
|
|
67034
|
+
}
|
|
67035
|
+
if (refs.target === "openAi" && ("anyOf" in combined || "oneOf" in combined || "allOf" in combined || "type" in combined && Array.isArray(combined.type))) {
|
|
67036
|
+
console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");
|
|
67037
|
+
}
|
|
67038
|
+
return combined;
|
|
67039
|
+
};
|
|
65759
67040
|
|
|
65760
67041
|
// ../node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js
|
|
67042
|
+
function mapMiniTarget(t2) {
|
|
67043
|
+
if (!t2)
|
|
67044
|
+
return "draft-7";
|
|
67045
|
+
if (t2 === "jsonSchema7" || t2 === "draft-7")
|
|
67046
|
+
return "draft-7";
|
|
67047
|
+
if (t2 === "jsonSchema2019-09" || t2 === "draft-2020-12")
|
|
67048
|
+
return "draft-2020-12";
|
|
67049
|
+
return "draft-7";
|
|
67050
|
+
}
|
|
67051
|
+
function toJsonSchemaCompat(schema, opts) {
|
|
67052
|
+
if (isZ4Schema(schema)) {
|
|
67053
|
+
return toJSONSchema(schema, {
|
|
67054
|
+
target: mapMiniTarget(opts?.target),
|
|
67055
|
+
io: opts?.pipeStrategy ?? "input"
|
|
67056
|
+
});
|
|
67057
|
+
}
|
|
67058
|
+
return zodToJsonSchema(schema, {
|
|
67059
|
+
strictUnions: opts?.strictUnions ?? true,
|
|
67060
|
+
pipeStrategy: opts?.pipeStrategy ?? "input"
|
|
67061
|
+
});
|
|
67062
|
+
}
|
|
65761
67063
|
function getMethodLiteral(schema) {
|
|
65762
67064
|
const shape = getObjectShape(schema);
|
|
65763
67065
|
const methodSchema = shape?.method;
|
|
@@ -67907,6 +69209,20 @@ async function getToolDefinitions() {
|
|
|
67907
69209
|
GET_VIDEO_STATUS_TOOL
|
|
67908
69210
|
];
|
|
67909
69211
|
}
|
|
69212
|
+
function toToolJsonSchema(schema, pipeStrategy) {
|
|
69213
|
+
return toJsonSchemaCompat(schema, { strictUnions: true, pipeStrategy });
|
|
69214
|
+
}
|
|
69215
|
+
function toListedToolDefinition(tool) {
|
|
69216
|
+
return {
|
|
69217
|
+
name: tool.name,
|
|
69218
|
+
description: tool.description,
|
|
69219
|
+
inputSchema: toToolJsonSchema(tool.inputSchema, "input"),
|
|
69220
|
+
outputSchema: toToolJsonSchema(tool.outputSchema, "output")
|
|
69221
|
+
};
|
|
69222
|
+
}
|
|
69223
|
+
async function getListedToolDefinitions() {
|
|
69224
|
+
return (await getToolDefinitions()).map(toListedToolDefinition);
|
|
69225
|
+
}
|
|
67910
69226
|
function createModelValidationError(toolName, model, supportedModels) {
|
|
67911
69227
|
return createValidationError(
|
|
67912
69228
|
"model",
|
|
@@ -68381,8 +69697,7 @@ async function handleToolCall(name, args) {
|
|
|
68381
69697
|
}
|
|
68382
69698
|
}
|
|
68383
69699
|
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
68384
|
-
|
|
68385
|
-
return { tools: [...tools] };
|
|
69700
|
+
return { tools: await getListedToolDefinitions() };
|
|
68386
69701
|
});
|
|
68387
69702
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
68388
69703
|
const { name, arguments: args } = request.params;
|
|
@@ -68412,6 +69727,7 @@ if (isMainModule(import.meta.url)) {
|
|
|
68412
69727
|
}
|
|
68413
69728
|
export {
|
|
68414
69729
|
TOOL_DEFINITIONS,
|
|
69730
|
+
getListedToolDefinitions,
|
|
68415
69731
|
getToolDefinitions,
|
|
68416
69732
|
handleToolCall,
|
|
68417
69733
|
runServer
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fre4x/gemini",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.64",
|
|
4
4
|
"description": "A Gemini MCP server providing multimodal analysis and image/video generation.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"start": "node dist/index.js",
|
|
17
17
|
"dev": "tsx src/index.ts",
|
|
18
18
|
"watch": "tsc -w",
|
|
19
|
-
"inspector": "node ../scripts/run-official-inspector.mjs node dist/index.js",
|
|
19
|
+
"inspector": "npm run build && node ../scripts/run-official-inspector.mjs node dist/index.js",
|
|
20
20
|
"inspector:published": "cross-env GEMINI_MOCK=true node ../scripts/run-official-inspector.mjs npx @fre4x/gemini",
|
|
21
21
|
"test": "vitest run --exclude dist"
|
|
22
22
|
},
|