@event4u/agent-config 17.2.1 → 17.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.augment-plugin/marketplace.json +3 -3
- package/.augment-plugin/plugin.json +1 -1
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/skills/install-agent-config/SKILL.md +9 -9
- package/CHANGELOG.md +167 -193
- package/CREDITS.md +2 -2
- package/README.md +1 -1
- package/dist/agent-src/skills/code-intelligence/SKILL.md +16 -12
- package/dist/agent-src/templates/agents/agent-project-settings.example.yml +1 -1
- package/dist/agent-src/templates/scripts/check_memory.ts +1 -1
- package/dist/cli/commands/recordTriggerEval.js +1 -1
- package/dist/cli/registry.js +2 -2
- package/dist/cli-delegate/{chunk-KR5ZIFPO.js → chunk-5AYJGUA3.js} +1 -3
- package/dist/cli-delegate/chunk-DIFZBP4G.js +1336 -0
- package/dist/cli-delegate/chunk-E7ACTJTJ.js +6792 -0
- package/dist/cli-delegate/{chunk-VYZGJLCA.js → chunk-RKNT4LIK.js} +22 -1286
- package/dist/cli-delegate/{chunk-BZJ4Y3CI.js → chunk-WY5ZZPGL.js} +2 -2
- package/dist/cli-delegate/{chunk-CMZEKSNN.js → chunk-X6LZ7W5A.js} +73 -10
- package/dist/cli-delegate/cmd_conformance.js +190 -192
- package/dist/cli-delegate/cmd_doctor.js +5 -5
- package/dist/cli-delegate/cmd_doctor_neighbours.js +3 -3
- package/dist/cli-delegate/cmd_explain.js +1 -1
- package/dist/cli-delegate/cmd_export.js +2 -2
- package/dist/cli-delegate/cmd_handoff.js +2 -2
- package/dist/cli-delegate/cmd_memory_get.js +1 -1
- package/dist/cli-delegate/cmd_prune.js +2 -2
- package/dist/cli-delegate/cmd_route_audit.js +1 -1
- package/dist/cli-delegate/cmd_session_recycle.js +2 -2
- package/dist/cli-delegate/cmd_settings_migrate.js +2 -2
- package/dist/cli-delegate/cmd_settings_set.js +8 -4
- package/dist/cli-delegate/cmd_sync.js +2 -2
- package/dist/cli-delegate/cmd_uninstall.js +2 -2
- package/dist/cli-delegate/cmd_update.js +24 -13
- package/dist/cli-delegate/cmd_upgrade.js +2 -2
- package/dist/cli-delegate/cmd_validate.js +2 -2
- package/dist/cli-delegate/dist-25AZAHOP.js +3240 -0
- package/dist/cli-delegate/dist-P7MFPMF3.js +411 -0
- package/dist/cli-delegate/dist-XAS5ZLQB.js +6 -0
- package/dist/cli-delegate/{upgrade_unattended-VVL6JLSX.js → upgrade_unattended-QCWOKTUN.js} +178 -163
- package/dist/discovery/deprecation-report.md +1 -1
- package/dist/discovery/discovery-manifest.json +3 -3
- package/dist/discovery/discovery-manifest.json.sha256 +1 -1
- package/dist/discovery/discovery-manifest.summary.md +1 -1
- package/dist/discovery/dormancy-report.md +1 -1
- package/dist/discovery/orphan-report.md +1 -1
- package/dist/discovery/packs.json +2 -2
- package/dist/discovery/trust-report.md +1 -1
- package/dist/discovery/workspaces.json +2 -2
- package/dist/hooks/code_graph_refresh.chunk.cjs +443 -0
- package/dist/hooks/code_graph_refresh.chunk.cjs.sha256 +1 -0
- package/dist/hooks/dispatch.js +1001 -938
- package/dist/hooks/dispatch.sha256 +1 -1
- package/dist/hooks/egress_engine.chunk.cjs +57 -7
- package/dist/hooks/egress_engine.chunk.cjs.sha256 +1 -1
- package/dist/hooks/update_notice.chunk.cjs +914 -0
- package/dist/hooks/update_notice.chunk.cjs.sha256 +1 -0
- package/dist/install/install.mjs +6974 -6037
- package/dist/mcp/mcp-cloudflare-catalogue.json +1 -0
- package/dist/mcp/registry-manifest.json +3 -2
- package/dist/mcp/server.json +13 -4
- package/dist/mcp/server.mjs +71202 -63282
- package/dist/scripts/_lib/egress_rules.js +8 -2
- package/dist/scripts/condense.js +18 -15
- package/dist/server/routes/discovery.js +1 -1
- package/dist/server/routes/install.js +1 -1
- package/dist/server/routes/ping.js +1 -1
- package/dist/server/routes/schema.js +4 -4
- package/dist/server/routes/settings.js +2 -6
- package/dist/server/routes/wizard.js +6 -6
- package/dist/server/schemas/settings.js +42 -42
- package/dist/shared/settingsSurface.js +1 -1
- package/dist/shared/userMd/schema.js +1 -1
- package/dist/shared/zodJsonSchema.js +47 -0
- package/dist/ui/assets/index-B0bcIgi0.js +77 -0
- package/dist/ui/index.html +1 -1
- package/package.json +6 -3
- package/src/agent-src/templates/scripts/check_memory.ts +1 -1
- package/src/config/ci-local-parity.yml +11 -0
- package/src/config/continuity-surface.json +9 -2
- package/src/config/evaluator-budgets.json +9 -8
- package/src/config/gate-violation-baselines.json +3 -3
- package/src/config/gitignore-block.txt +6 -5
- package/src/config/hook-bundle-budget.json +46 -6
- package/src/config/pack-size-budget.json +12 -1
- package/src/config/packed-binary-manifest.json +18 -0
- package/src/config/sigstore/npm_keys.json +50 -0
- package/src/config/sigstore/trust-material.json +9 -0
- package/src/config/sigstore/trusted_root.json +126 -0
- package/src/config/skill-body-budget.json +7 -1
- package/src/scripts/_cli/cmd_settings_set.ts +3 -2
- package/src/scripts/_cli/cmd_update.ts +48 -20
- package/src/scripts/_cli/cmd_upgrade.ts +7 -1
- package/src/scripts/_cli/upgrade_unattended.ts +90 -76
- package/src/scripts/_dispatch.bash +4 -3
- package/src/scripts/_lib/confusables.ts +0 -19
- package/src/scripts/_lib/egress_normalize.ts +53 -23
- package/src/scripts/_lib/egress_rules.ts +8 -2
- package/src/scripts/_lib/egress_text.ts +5 -3
- package/src/scripts/_lib/egress_token.ts +7 -5
- package/src/scripts/_lib/gate_collector_experimental.ts +633 -0
- package/src/scripts/_lib/git_common_dir.ts +10 -0
- package/src/scripts/_lib/graph_feeder_record.ts +3 -2
- package/src/scripts/_lib/install_reach_checks.ts +32 -2
- package/src/scripts/_lib/lineage_backfill.ts +136 -0
- package/src/scripts/_lib/lineage_ledger.ts +211 -0
- package/src/scripts/_lib/lineage_map.ts +55 -0
- package/src/scripts/_lib/lineage_query.ts +140 -0
- package/src/scripts/_lib/lineage_seed.ts +116 -0
- package/src/scripts/_lib/lineage_watch.ts +249 -0
- package/src/scripts/_lib/link_crypto.ts +8 -4
- package/src/scripts/_lib/listing_manifests.ts +85 -0
- package/src/scripts/_lib/neighbour_census.ts +1 -0
- package/src/scripts/_lib/production_reach.ts +3 -3
- package/src/scripts/_lib/project_registry.ts +227 -0
- package/src/scripts/_lib/provenance_verify.ts +14 -242
- package/src/scripts/_lib/release_settings_surface.ts +2 -6
- package/src/scripts/_lib/sigstore_provenance.ts +177 -0
- package/src/scripts/_lib/source_id.ts +48 -0
- package/src/scripts/_lib/source_shape.ts +4 -0
- package/src/scripts/_lib/unattended_gates.ts +6 -1
- package/src/scripts/adoption_status.ts +231 -27
- package/src/scripts/advisories.ts +26 -10
- package/src/scripts/ai_council/council_egress.ts +5 -6
- package/src/scripts/bench_graph_feeder_latency.ts +10 -3
- package/src/scripts/build_mcp_registry_manifest.ts +23 -12
- package/src/scripts/check_dependency_floors.ts +14 -0
- package/src/scripts/check_egress_mutations.ts +1 -0
- package/src/scripts/check_release_manifest_content.ts +17 -2
- package/src/scripts/check_release_pr_shape.ts +5 -0
- package/src/scripts/code_graph/build.ts +145 -45
- package/src/scripts/code_graph/cli.ts +382 -35
- package/src/scripts/code_graph/conventions_default.ts +247 -0
- package/src/scripts/code_graph/detect.ts +5 -5
- package/src/scripts/code_graph/estate_cli.ts +135 -0
- package/src/scripts/code_graph/estate_index.ts +394 -0
- package/src/scripts/code_graph/estate_manifests.ts +223 -0
- package/src/scripts/code_graph/estate_map.ts +141 -0
- package/src/scripts/code_graph/extract.ts +8 -2
- package/src/scripts/code_graph/extract_more.ts +241 -2
- package/src/scripts/code_graph/graph_budget.ts +158 -0
- package/src/scripts/code_graph/graph_home.ts +80 -0
- package/src/scripts/code_graph/lineage_cli.ts +315 -0
- package/src/scripts/code_graph/loader.ts +10 -2
- package/src/scripts/code_graph/map.ts +195 -53
- package/src/scripts/code_graph/map_model.ts +113 -20
- package/src/scripts/code_graph/map_verify.ts +80 -5
- package/src/scripts/code_graph/map_viewer/viewer.css +18 -0
- package/src/scripts/code_graph/map_viewer/viewer.js +146 -15
- package/src/scripts/code_graph/passes.ts +173 -0
- package/src/scripts/code_graph/project_ref.ts +25 -0
- package/src/scripts/code_graph/projects_cli.ts +254 -0
- package/src/scripts/code_graph/providers/angular.ts +55 -0
- package/src/scripts/code_graph/providers/aspnetcore.ts +182 -0
- package/src/scripts/code_graph/providers/catalog.ts +299 -0
- package/src/scripts/code_graph/providers/django.ts +206 -0
- package/src/scripts/code_graph/providers/express.ts +25 -0
- package/src/scripts/code_graph/providers/fastapi.ts +49 -0
- package/src/scripts/code_graph/providers/flask.ts +99 -0
- package/src/scripts/code_graph/providers/go_http.ts +121 -0
- package/src/scripts/code_graph/providers/index.ts +103 -0
- package/src/scripts/code_graph/{laravel_overlay.ts → providers/laravel.ts} +113 -7
- package/src/scripts/code_graph/providers/nestjs.ts +34 -0
- package/src/scripts/code_graph/providers/nextjs.ts +91 -0
- package/src/scripts/code_graph/providers/nuxt.ts +55 -0
- package/src/scripts/code_graph/providers/rails.ts +204 -0
- package/src/scripts/code_graph/providers/react-router.ts +58 -0
- package/src/scripts/code_graph/providers/shared/detect.ts +78 -0
- package/src/scripts/code_graph/providers/shared/extractors.ts +249 -0
- package/src/scripts/code_graph/providers/shared/js.ts +252 -0
- package/src/scripts/code_graph/providers/shared/kit.ts +210 -0
- package/src/scripts/code_graph/providers/shared/php.ts +64 -0
- package/src/scripts/code_graph/providers/shared/python.ts +223 -0
- package/src/scripts/code_graph/providers/spring.ts +175 -0
- package/src/scripts/code_graph/providers/sqlalchemy.ts +62 -0
- package/src/scripts/code_graph/providers/sveltekit.ts +59 -0
- package/src/scripts/code_graph/providers/symfony.ts +142 -0
- package/src/scripts/code_graph/providers/typeorm.ts +58 -0
- package/src/scripts/code_graph/providers/types.ts +56 -0
- package/src/scripts/code_graph/providers/vue-router.ts +21 -0
- package/src/scripts/code_graph/providers/wordpress.ts +128 -0
- package/src/scripts/code_graph/query.ts +9 -9
- package/src/scripts/code_graph/refresh_cli.ts +81 -0
- package/src/scripts/code_graph/refresh_lock.ts +197 -0
- package/src/scripts/code_graph/repo_identity.ts +169 -0
- package/src/scripts/code_graph/resolution_tiers.ts +19 -7
- package/src/scripts/code_graph/scip_reader.ts +2 -2
- package/src/scripts/code_graph/sqlite_store.ts +31 -28
- package/src/scripts/code_graph/types.ts +79 -41
- package/src/scripts/code_graph/validate.ts +6 -8
- package/src/scripts/condense.ts +15 -15
- package/src/scripts/generate_settings_reference.ts +2 -6
- package/src/scripts/hook_chunks.mjs +11 -0
- package/src/scripts/hook_manifest.json +1 -1
- package/src/scripts/hook_manifest.yaml +43 -23
- package/src/scripts/hooks/code_graph_refresh_hook.ts +163 -0
- package/src/scripts/hooks/dispatch_hook.ts +6 -7
- package/src/scripts/hooks/host_semantics.ts +72 -0
- package/src/scripts/hooks/lazy_concern.ts +8 -0
- package/src/scripts/hooks/user_notice.ts +105 -0
- package/src/scripts/install-hooks.sh +54 -33
- package/src/scripts/install.ts +2 -6
- package/src/scripts/lint_harvest_provenance.ts +137 -11
- package/src/scripts/lint_hook_manifest.ts +2 -0
- package/src/scripts/lint_marketplace.ts +33 -0
- package/src/scripts/lint_mcp_registry_manifest.ts +36 -0
- package/src/scripts/mcp_server/consumer_tool_catalog.json +70 -15
- package/src/scripts/mcp_server/graph_tools.ts +165 -41
- package/src/scripts/network_sources.ts +24 -6
- package/src/scripts/release.ts +2 -5
- package/src/scripts/release_drill.ts +4 -1
- package/src/scripts/release_env.ts +17 -0
- package/src/scripts/release_mix_taxonomy.json +3 -0
- package/src/scripts/schemas/provenance-mechanism.schema.json +46 -0
- package/src/scripts/update_notice_hook.ts +75 -7
- package/src/server/schemas/settings.ts +42 -42
- package/src/shared/settingsSurface.ts +1 -1
- package/src/shared/userMd/schema.ts +1 -1
- package/src/shared/zodJsonSchema.ts +41 -0
- package/src/vendor/grammars/README.md +8 -6
- package/src/vendor/grammars/tree-sitter-c_sharp.wasm +0 -0
- package/src/vendor/grammars/tree-sitter-ruby.wasm +0 -0
- package/dist/cli-delegate/chunk-XIAPY44N.js +0 -4587
- package/dist/ui/assets/index-w70Ado09.js +0 -23
- /package/dist/cli-delegate/{chunk-FKYZOWVD.js → chunk-QBAFP67O.js} +0 -0
- /package/dist/cli-delegate/{chunk-BMGUGSY6.js → chunk-TQG6UMPC.js} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createRequire as __acCreateRequire } from 'node:module'; const require = globalThis.require ?? __acCreateRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
} from "./chunk-
|
|
3
|
+
settingsSchema,
|
|
4
|
+
toJSONSchema
|
|
5
|
+
} from "./chunk-E7ACTJTJ.js";
|
|
6
6
|
import {
|
|
7
7
|
GLOBAL_DEPLOY_SOURCES,
|
|
8
8
|
RULE_SOURCE_REL,
|
|
@@ -3120,1290 +3120,30 @@ function computeSurfaceDelta(oldS, newS) {
|
|
|
3120
3120
|
return { oldVersion: oldS.version, newVersion: newS.version, changes };
|
|
3121
3121
|
}
|
|
3122
3122
|
|
|
3123
|
-
//
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
-
$refStrategy: "root",
|
|
3128
|
-
basePath: ["#"],
|
|
3129
|
-
effectStrategy: "input",
|
|
3130
|
-
pipeStrategy: "all",
|
|
3131
|
-
dateStrategy: "format:date-time",
|
|
3132
|
-
mapStrategy: "entries",
|
|
3133
|
-
removeAdditionalStrategy: "passthrough",
|
|
3134
|
-
allowedAdditionalProperties: true,
|
|
3135
|
-
rejectedAdditionalProperties: false,
|
|
3136
|
-
definitionPath: "definitions",
|
|
3137
|
-
target: "jsonSchema7",
|
|
3138
|
-
strictUnions: false,
|
|
3139
|
-
definitions: {},
|
|
3140
|
-
errorMessages: false,
|
|
3141
|
-
markdownDescription: false,
|
|
3142
|
-
patternStrategy: "escape",
|
|
3143
|
-
applyRegexFlags: false,
|
|
3144
|
-
emailStrategy: "format:email",
|
|
3145
|
-
base64Strategy: "contentEncoding:base64",
|
|
3146
|
-
nameStrategy: "ref",
|
|
3147
|
-
openAiAnyTypeName: "OpenAiAnyType"
|
|
3148
|
-
};
|
|
3149
|
-
var getDefaultOptions = (options) => typeof options === "string" ? {
|
|
3150
|
-
...defaultOptions,
|
|
3151
|
-
name: options
|
|
3152
|
-
} : {
|
|
3153
|
-
...defaultOptions,
|
|
3154
|
-
...options
|
|
3155
|
-
};
|
|
3156
|
-
|
|
3157
|
-
// node_modules/zod-to-json-schema/dist/esm/Refs.js
|
|
3158
|
-
var getRefs = (options) => {
|
|
3159
|
-
const _options = getDefaultOptions(options);
|
|
3160
|
-
const currentPath = _options.name !== void 0 ? [..._options.basePath, _options.definitionPath, _options.name] : _options.basePath;
|
|
3161
|
-
return {
|
|
3162
|
-
..._options,
|
|
3163
|
-
flags: { hasReferencedOpenAiAnyType: false },
|
|
3164
|
-
currentPath,
|
|
3165
|
-
propertyPath: void 0,
|
|
3166
|
-
seen: new Map(Object.entries(_options.definitions).map(([name, def]) => [
|
|
3167
|
-
def._def,
|
|
3168
|
-
{
|
|
3169
|
-
def: def._def,
|
|
3170
|
-
path: [..._options.basePath, _options.definitionPath, name],
|
|
3171
|
-
// Resolution of references will be forced even though seen, so it's ok that the schema is undefined here for now.
|
|
3172
|
-
jsonSchema: void 0
|
|
3173
|
-
}
|
|
3174
|
-
]))
|
|
3175
|
-
};
|
|
3176
|
-
};
|
|
3177
|
-
|
|
3178
|
-
// node_modules/zod-to-json-schema/dist/esm/errorMessages.js
|
|
3179
|
-
function addErrorMessage(res, key, errorMessage, refs) {
|
|
3180
|
-
if (!refs?.errorMessages)
|
|
3123
|
+
// src/shared/zodJsonSchema.ts
|
|
3124
|
+
function normalise(node) {
|
|
3125
|
+
if (Array.isArray(node)) {
|
|
3126
|
+
for (const n of node) normalise(n);
|
|
3181
3127
|
return;
|
|
3182
|
-
if (errorMessage) {
|
|
3183
|
-
res.errorMessage = {
|
|
3184
|
-
...res.errorMessage,
|
|
3185
|
-
[key]: errorMessage
|
|
3186
|
-
};
|
|
3187
3128
|
}
|
|
3188
|
-
|
|
3189
|
-
|
|
3190
|
-
|
|
3191
|
-
|
|
3192
|
-
|
|
3193
|
-
|
|
3194
|
-
// node_modules/zod-to-json-schema/dist/esm/getRelativePath.js
|
|
3195
|
-
var getRelativePath = (pathA, pathB) => {
|
|
3196
|
-
let i = 0;
|
|
3197
|
-
for (; i < pathA.length && i < pathB.length; i++) {
|
|
3198
|
-
if (pathA[i] !== pathB[i])
|
|
3199
|
-
break;
|
|
3200
|
-
}
|
|
3201
|
-
return [(pathA.length - i).toString(), ...pathB.slice(i)].join("/");
|
|
3202
|
-
};
|
|
3203
|
-
|
|
3204
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/any.js
|
|
3205
|
-
function parseAnyDef(refs) {
|
|
3206
|
-
if (refs.target !== "openAi") {
|
|
3207
|
-
return {};
|
|
3129
|
+
if (typeof node !== "object" || node === null) return;
|
|
3130
|
+
const o = node;
|
|
3131
|
+
if (o["properties"] !== void 0 && o["additionalProperties"] === void 0) o["additionalProperties"] = false;
|
|
3132
|
+
if (Array.isArray(o["enum"]) && o["type"] === void 0) {
|
|
3133
|
+
const kinds = new Set(o["enum"].map((v) => typeof v));
|
|
3134
|
+
if (kinds.size === 1 && (kinds.has("string") || kinds.has("number") || kinds.has("boolean"))) o["type"] = [...kinds][0];
|
|
3208
3135
|
}
|
|
3209
|
-
|
|
3210
|
-
|
|
3211
|
-
|
|
3212
|
-
refs.openAiAnyTypeName
|
|
3213
|
-
];
|
|
3214
|
-
refs.flags.hasReferencedOpenAiAnyType = true;
|
|
3215
|
-
return {
|
|
3216
|
-
$ref: refs.$refStrategy === "relative" ? getRelativePath(anyDefinitionPath, refs.currentPath) : anyDefinitionPath.join("/")
|
|
3217
|
-
};
|
|
3218
|
-
}
|
|
3219
|
-
|
|
3220
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/array.js
|
|
3221
|
-
function parseArrayDef(def, refs) {
|
|
3222
|
-
const res = {
|
|
3223
|
-
type: "array"
|
|
3224
|
-
};
|
|
3225
|
-
if (def.type?._def && def.type?._def?.typeName !== ZodFirstPartyTypeKind.ZodAny) {
|
|
3226
|
-
res.items = parseDef(def.type._def, {
|
|
3227
|
-
...refs,
|
|
3228
|
-
currentPath: [...refs.currentPath, "items"]
|
|
3229
|
-
});
|
|
3230
|
-
}
|
|
3231
|
-
if (def.minLength) {
|
|
3232
|
-
setResponseValueAndErrors(res, "minItems", def.minLength.value, def.minLength.message, refs);
|
|
3233
|
-
}
|
|
3234
|
-
if (def.maxLength) {
|
|
3235
|
-
setResponseValueAndErrors(res, "maxItems", def.maxLength.value, def.maxLength.message, refs);
|
|
3236
|
-
}
|
|
3237
|
-
if (def.exactLength) {
|
|
3238
|
-
setResponseValueAndErrors(res, "minItems", def.exactLength.value, def.exactLength.message, refs);
|
|
3239
|
-
setResponseValueAndErrors(res, "maxItems", def.exactLength.value, def.exactLength.message, refs);
|
|
3240
|
-
}
|
|
3241
|
-
return res;
|
|
3242
|
-
}
|
|
3243
|
-
|
|
3244
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js
|
|
3245
|
-
function parseBigintDef(def, refs) {
|
|
3246
|
-
const res = {
|
|
3247
|
-
type: "integer",
|
|
3248
|
-
format: "int64"
|
|
3249
|
-
};
|
|
3250
|
-
if (!def.checks)
|
|
3251
|
-
return res;
|
|
3252
|
-
for (const check of def.checks) {
|
|
3253
|
-
switch (check.kind) {
|
|
3254
|
-
case "min":
|
|
3255
|
-
if (refs.target === "jsonSchema7") {
|
|
3256
|
-
if (check.inclusive) {
|
|
3257
|
-
setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
|
|
3258
|
-
} else {
|
|
3259
|
-
setResponseValueAndErrors(res, "exclusiveMinimum", check.value, check.message, refs);
|
|
3260
|
-
}
|
|
3261
|
-
} else {
|
|
3262
|
-
if (!check.inclusive) {
|
|
3263
|
-
res.exclusiveMinimum = true;
|
|
3264
|
-
}
|
|
3265
|
-
setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
|
|
3266
|
-
}
|
|
3267
|
-
break;
|
|
3268
|
-
case "max":
|
|
3269
|
-
if (refs.target === "jsonSchema7") {
|
|
3270
|
-
if (check.inclusive) {
|
|
3271
|
-
setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
|
|
3272
|
-
} else {
|
|
3273
|
-
setResponseValueAndErrors(res, "exclusiveMaximum", check.value, check.message, refs);
|
|
3274
|
-
}
|
|
3275
|
-
} else {
|
|
3276
|
-
if (!check.inclusive) {
|
|
3277
|
-
res.exclusiveMaximum = true;
|
|
3278
|
-
}
|
|
3279
|
-
setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
|
|
3280
|
-
}
|
|
3281
|
-
break;
|
|
3282
|
-
case "multipleOf":
|
|
3283
|
-
setResponseValueAndErrors(res, "multipleOf", check.value, check.message, refs);
|
|
3284
|
-
break;
|
|
3285
|
-
}
|
|
3286
|
-
}
|
|
3287
|
-
return res;
|
|
3288
|
-
}
|
|
3289
|
-
|
|
3290
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js
|
|
3291
|
-
function parseBooleanDef() {
|
|
3292
|
-
return {
|
|
3293
|
-
type: "boolean"
|
|
3294
|
-
};
|
|
3295
|
-
}
|
|
3296
|
-
|
|
3297
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/branded.js
|
|
3298
|
-
function parseBrandedDef(_def, refs) {
|
|
3299
|
-
return parseDef(_def.type._def, refs);
|
|
3300
|
-
}
|
|
3301
|
-
|
|
3302
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/catch.js
|
|
3303
|
-
var parseCatchDef = (def, refs) => {
|
|
3304
|
-
return parseDef(def.innerType._def, refs);
|
|
3305
|
-
};
|
|
3306
|
-
|
|
3307
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/date.js
|
|
3308
|
-
function parseDateDef(def, refs, overrideDateStrategy) {
|
|
3309
|
-
const strategy = overrideDateStrategy ?? refs.dateStrategy;
|
|
3310
|
-
if (Array.isArray(strategy)) {
|
|
3311
|
-
return {
|
|
3312
|
-
anyOf: strategy.map((item, i) => parseDateDef(def, refs, item))
|
|
3313
|
-
};
|
|
3314
|
-
}
|
|
3315
|
-
switch (strategy) {
|
|
3316
|
-
case "string":
|
|
3317
|
-
case "format:date-time":
|
|
3318
|
-
return {
|
|
3319
|
-
type: "string",
|
|
3320
|
-
format: "date-time"
|
|
3321
|
-
};
|
|
3322
|
-
case "format:date":
|
|
3323
|
-
return {
|
|
3324
|
-
type: "string",
|
|
3325
|
-
format: "date"
|
|
3326
|
-
};
|
|
3327
|
-
case "integer":
|
|
3328
|
-
return integerDateParser(def, refs);
|
|
3329
|
-
}
|
|
3330
|
-
}
|
|
3331
|
-
var integerDateParser = (def, refs) => {
|
|
3332
|
-
const res = {
|
|
3333
|
-
type: "integer",
|
|
3334
|
-
format: "unix-time"
|
|
3335
|
-
};
|
|
3336
|
-
if (refs.target === "openApi3") {
|
|
3337
|
-
return res;
|
|
3338
|
-
}
|
|
3339
|
-
for (const check of def.checks) {
|
|
3340
|
-
switch (check.kind) {
|
|
3341
|
-
case "min":
|
|
3342
|
-
setResponseValueAndErrors(
|
|
3343
|
-
res,
|
|
3344
|
-
"minimum",
|
|
3345
|
-
check.value,
|
|
3346
|
-
// This is in milliseconds
|
|
3347
|
-
check.message,
|
|
3348
|
-
refs
|
|
3349
|
-
);
|
|
3350
|
-
break;
|
|
3351
|
-
case "max":
|
|
3352
|
-
setResponseValueAndErrors(
|
|
3353
|
-
res,
|
|
3354
|
-
"maximum",
|
|
3355
|
-
check.value,
|
|
3356
|
-
// This is in milliseconds
|
|
3357
|
-
check.message,
|
|
3358
|
-
refs
|
|
3359
|
-
);
|
|
3360
|
-
break;
|
|
3361
|
-
}
|
|
3362
|
-
}
|
|
3363
|
-
return res;
|
|
3364
|
-
};
|
|
3365
|
-
|
|
3366
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/default.js
|
|
3367
|
-
function parseDefaultDef(_def, refs) {
|
|
3368
|
-
return {
|
|
3369
|
-
...parseDef(_def.innerType._def, refs),
|
|
3370
|
-
default: _def.defaultValue()
|
|
3371
|
-
};
|
|
3372
|
-
}
|
|
3373
|
-
|
|
3374
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/effects.js
|
|
3375
|
-
function parseEffectsDef(_def, refs) {
|
|
3376
|
-
return refs.effectStrategy === "input" ? parseDef(_def.schema._def, refs) : parseAnyDef(refs);
|
|
3377
|
-
}
|
|
3378
|
-
|
|
3379
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/enum.js
|
|
3380
|
-
function parseEnumDef(def) {
|
|
3381
|
-
return {
|
|
3382
|
-
type: "string",
|
|
3383
|
-
enum: Array.from(def.values)
|
|
3384
|
-
};
|
|
3136
|
+
if (o["maximum"] === Number.MAX_SAFE_INTEGER) delete o["maximum"];
|
|
3137
|
+
if (o["minimum"] === Number.MIN_SAFE_INTEGER) delete o["minimum"];
|
|
3138
|
+
for (const v of Object.values(o)) normalise(v);
|
|
3385
3139
|
}
|
|
3386
|
-
|
|
3387
|
-
|
|
3388
|
-
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
return "allOf" in type;
|
|
3392
|
-
};
|
|
3393
|
-
function parseIntersectionDef(def, refs) {
|
|
3394
|
-
const allOf = [
|
|
3395
|
-
parseDef(def.left._def, {
|
|
3396
|
-
...refs,
|
|
3397
|
-
currentPath: [...refs.currentPath, "allOf", "0"]
|
|
3398
|
-
}),
|
|
3399
|
-
parseDef(def.right._def, {
|
|
3400
|
-
...refs,
|
|
3401
|
-
currentPath: [...refs.currentPath, "allOf", "1"]
|
|
3402
|
-
})
|
|
3403
|
-
].filter((x) => !!x);
|
|
3404
|
-
let unevaluatedProperties = refs.target === "jsonSchema2019-09" ? { unevaluatedProperties: false } : void 0;
|
|
3405
|
-
const mergedAllOf = [];
|
|
3406
|
-
allOf.forEach((schema) => {
|
|
3407
|
-
if (isJsonSchema7AllOfType(schema)) {
|
|
3408
|
-
mergedAllOf.push(...schema.allOf);
|
|
3409
|
-
if (schema.unevaluatedProperties === void 0) {
|
|
3410
|
-
unevaluatedProperties = void 0;
|
|
3411
|
-
}
|
|
3412
|
-
} else {
|
|
3413
|
-
let nestedSchema = schema;
|
|
3414
|
-
if ("additionalProperties" in schema && schema.additionalProperties === false) {
|
|
3415
|
-
const { additionalProperties, ...rest } = schema;
|
|
3416
|
-
nestedSchema = rest;
|
|
3417
|
-
} else {
|
|
3418
|
-
unevaluatedProperties = void 0;
|
|
3419
|
-
}
|
|
3420
|
-
mergedAllOf.push(nestedSchema);
|
|
3421
|
-
}
|
|
3422
|
-
});
|
|
3423
|
-
return mergedAllOf.length ? {
|
|
3424
|
-
allOf: mergedAllOf,
|
|
3425
|
-
...unevaluatedProperties
|
|
3426
|
-
} : void 0;
|
|
3140
|
+
function toJsonSchema7(schema, name) {
|
|
3141
|
+
const body = toJSONSchema(schema, { target: "draft-7", io: "input", unrepresentable: "any" });
|
|
3142
|
+
normalise(body);
|
|
3143
|
+
const { $schema: _drop, ...definition } = body;
|
|
3144
|
+
return { $ref: `#/definitions/${name}`, definitions: { [name]: definition }, $schema: "http://json-schema.org/draft-07/schema#" };
|
|
3427
3145
|
}
|
|
3428
3146
|
|
|
3429
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/literal.js
|
|
3430
|
-
function parseLiteralDef(def, refs) {
|
|
3431
|
-
const parsedType = typeof def.value;
|
|
3432
|
-
if (parsedType !== "bigint" && parsedType !== "number" && parsedType !== "boolean" && parsedType !== "string") {
|
|
3433
|
-
return {
|
|
3434
|
-
type: Array.isArray(def.value) ? "array" : "object"
|
|
3435
|
-
};
|
|
3436
|
-
}
|
|
3437
|
-
if (refs.target === "openApi3") {
|
|
3438
|
-
return {
|
|
3439
|
-
type: parsedType === "bigint" ? "integer" : parsedType,
|
|
3440
|
-
enum: [def.value]
|
|
3441
|
-
};
|
|
3442
|
-
}
|
|
3443
|
-
return {
|
|
3444
|
-
type: parsedType === "bigint" ? "integer" : parsedType,
|
|
3445
|
-
const: def.value
|
|
3446
|
-
};
|
|
3447
|
-
}
|
|
3448
|
-
|
|
3449
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/string.js
|
|
3450
|
-
var emojiRegex = void 0;
|
|
3451
|
-
var zodPatterns = {
|
|
3452
|
-
/**
|
|
3453
|
-
* `c` was changed to `[cC]` to replicate /i flag
|
|
3454
|
-
*/
|
|
3455
|
-
cuid: /^[cC][^\s-]{8,}$/,
|
|
3456
|
-
cuid2: /^[0-9a-z]+$/,
|
|
3457
|
-
ulid: /^[0-9A-HJKMNP-TV-Z]{26}$/,
|
|
3458
|
-
/**
|
|
3459
|
-
* `a-z` was added to replicate /i flag
|
|
3460
|
-
*/
|
|
3461
|
-
email: /^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,
|
|
3462
|
-
/**
|
|
3463
|
-
* Constructed a valid Unicode RegExp
|
|
3464
|
-
*
|
|
3465
|
-
* Lazily instantiate since this type of regex isn't supported
|
|
3466
|
-
* in all envs (e.g. React Native).
|
|
3467
|
-
*
|
|
3468
|
-
* See:
|
|
3469
|
-
* https://github.com/colinhacks/zod/issues/2433
|
|
3470
|
-
* Fix in Zod:
|
|
3471
|
-
* https://github.com/colinhacks/zod/commit/9340fd51e48576a75adc919bff65dbc4a5d4c99b
|
|
3472
|
-
*/
|
|
3473
|
-
emoji: () => {
|
|
3474
|
-
if (emojiRegex === void 0) {
|
|
3475
|
-
emojiRegex = RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$", "u");
|
|
3476
|
-
}
|
|
3477
|
-
return emojiRegex;
|
|
3478
|
-
},
|
|
3479
|
-
/**
|
|
3480
|
-
* Unused
|
|
3481
|
-
*/
|
|
3482
|
-
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}$/,
|
|
3483
|
-
/**
|
|
3484
|
-
* Unused
|
|
3485
|
-
*/
|
|
3486
|
-
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])$/,
|
|
3487
|
-
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])$/,
|
|
3488
|
-
/**
|
|
3489
|
-
* Unused
|
|
3490
|
-
*/
|
|
3491
|
-
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})))$/,
|
|
3492
|
-
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])$/,
|
|
3493
|
-
base64: /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,
|
|
3494
|
-
base64url: /^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,
|
|
3495
|
-
nanoid: /^[a-zA-Z0-9_-]{21}$/,
|
|
3496
|
-
jwt: /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/
|
|
3497
|
-
};
|
|
3498
|
-
function parseStringDef(def, refs) {
|
|
3499
|
-
const res = {
|
|
3500
|
-
type: "string"
|
|
3501
|
-
};
|
|
3502
|
-
if (def.checks) {
|
|
3503
|
-
for (const check of def.checks) {
|
|
3504
|
-
switch (check.kind) {
|
|
3505
|
-
case "min":
|
|
3506
|
-
setResponseValueAndErrors(res, "minLength", typeof res.minLength === "number" ? Math.max(res.minLength, check.value) : check.value, check.message, refs);
|
|
3507
|
-
break;
|
|
3508
|
-
case "max":
|
|
3509
|
-
setResponseValueAndErrors(res, "maxLength", typeof res.maxLength === "number" ? Math.min(res.maxLength, check.value) : check.value, check.message, refs);
|
|
3510
|
-
break;
|
|
3511
|
-
case "email":
|
|
3512
|
-
switch (refs.emailStrategy) {
|
|
3513
|
-
case "format:email":
|
|
3514
|
-
addFormat(res, "email", check.message, refs);
|
|
3515
|
-
break;
|
|
3516
|
-
case "format:idn-email":
|
|
3517
|
-
addFormat(res, "idn-email", check.message, refs);
|
|
3518
|
-
break;
|
|
3519
|
-
case "pattern:zod":
|
|
3520
|
-
addPattern(res, zodPatterns.email, check.message, refs);
|
|
3521
|
-
break;
|
|
3522
|
-
}
|
|
3523
|
-
break;
|
|
3524
|
-
case "url":
|
|
3525
|
-
addFormat(res, "uri", check.message, refs);
|
|
3526
|
-
break;
|
|
3527
|
-
case "uuid":
|
|
3528
|
-
addFormat(res, "uuid", check.message, refs);
|
|
3529
|
-
break;
|
|
3530
|
-
case "regex":
|
|
3531
|
-
addPattern(res, check.regex, check.message, refs);
|
|
3532
|
-
break;
|
|
3533
|
-
case "cuid":
|
|
3534
|
-
addPattern(res, zodPatterns.cuid, check.message, refs);
|
|
3535
|
-
break;
|
|
3536
|
-
case "cuid2":
|
|
3537
|
-
addPattern(res, zodPatterns.cuid2, check.message, refs);
|
|
3538
|
-
break;
|
|
3539
|
-
case "startsWith":
|
|
3540
|
-
addPattern(res, RegExp(`^${escapeLiteralCheckValue(check.value, refs)}`), check.message, refs);
|
|
3541
|
-
break;
|
|
3542
|
-
case "endsWith":
|
|
3543
|
-
addPattern(res, RegExp(`${escapeLiteralCheckValue(check.value, refs)}$`), check.message, refs);
|
|
3544
|
-
break;
|
|
3545
|
-
case "datetime":
|
|
3546
|
-
addFormat(res, "date-time", check.message, refs);
|
|
3547
|
-
break;
|
|
3548
|
-
case "date":
|
|
3549
|
-
addFormat(res, "date", check.message, refs);
|
|
3550
|
-
break;
|
|
3551
|
-
case "time":
|
|
3552
|
-
addFormat(res, "time", check.message, refs);
|
|
3553
|
-
break;
|
|
3554
|
-
case "duration":
|
|
3555
|
-
addFormat(res, "duration", check.message, refs);
|
|
3556
|
-
break;
|
|
3557
|
-
case "length":
|
|
3558
|
-
setResponseValueAndErrors(res, "minLength", typeof res.minLength === "number" ? Math.max(res.minLength, check.value) : check.value, check.message, refs);
|
|
3559
|
-
setResponseValueAndErrors(res, "maxLength", typeof res.maxLength === "number" ? Math.min(res.maxLength, check.value) : check.value, check.message, refs);
|
|
3560
|
-
break;
|
|
3561
|
-
case "includes": {
|
|
3562
|
-
addPattern(res, RegExp(escapeLiteralCheckValue(check.value, refs)), check.message, refs);
|
|
3563
|
-
break;
|
|
3564
|
-
}
|
|
3565
|
-
case "ip": {
|
|
3566
|
-
if (check.version !== "v6") {
|
|
3567
|
-
addFormat(res, "ipv4", check.message, refs);
|
|
3568
|
-
}
|
|
3569
|
-
if (check.version !== "v4") {
|
|
3570
|
-
addFormat(res, "ipv6", check.message, refs);
|
|
3571
|
-
}
|
|
3572
|
-
break;
|
|
3573
|
-
}
|
|
3574
|
-
case "base64url":
|
|
3575
|
-
addPattern(res, zodPatterns.base64url, check.message, refs);
|
|
3576
|
-
break;
|
|
3577
|
-
case "jwt":
|
|
3578
|
-
addPattern(res, zodPatterns.jwt, check.message, refs);
|
|
3579
|
-
break;
|
|
3580
|
-
case "cidr": {
|
|
3581
|
-
if (check.version !== "v6") {
|
|
3582
|
-
addPattern(res, zodPatterns.ipv4Cidr, check.message, refs);
|
|
3583
|
-
}
|
|
3584
|
-
if (check.version !== "v4") {
|
|
3585
|
-
addPattern(res, zodPatterns.ipv6Cidr, check.message, refs);
|
|
3586
|
-
}
|
|
3587
|
-
break;
|
|
3588
|
-
}
|
|
3589
|
-
case "emoji":
|
|
3590
|
-
addPattern(res, zodPatterns.emoji(), check.message, refs);
|
|
3591
|
-
break;
|
|
3592
|
-
case "ulid": {
|
|
3593
|
-
addPattern(res, zodPatterns.ulid, check.message, refs);
|
|
3594
|
-
break;
|
|
3595
|
-
}
|
|
3596
|
-
case "base64": {
|
|
3597
|
-
switch (refs.base64Strategy) {
|
|
3598
|
-
case "format:binary": {
|
|
3599
|
-
addFormat(res, "binary", check.message, refs);
|
|
3600
|
-
break;
|
|
3601
|
-
}
|
|
3602
|
-
case "contentEncoding:base64": {
|
|
3603
|
-
setResponseValueAndErrors(res, "contentEncoding", "base64", check.message, refs);
|
|
3604
|
-
break;
|
|
3605
|
-
}
|
|
3606
|
-
case "pattern:zod": {
|
|
3607
|
-
addPattern(res, zodPatterns.base64, check.message, refs);
|
|
3608
|
-
break;
|
|
3609
|
-
}
|
|
3610
|
-
}
|
|
3611
|
-
break;
|
|
3612
|
-
}
|
|
3613
|
-
case "nanoid": {
|
|
3614
|
-
addPattern(res, zodPatterns.nanoid, check.message, refs);
|
|
3615
|
-
}
|
|
3616
|
-
case "toLowerCase":
|
|
3617
|
-
case "toUpperCase":
|
|
3618
|
-
case "trim":
|
|
3619
|
-
break;
|
|
3620
|
-
default:
|
|
3621
|
-
/* @__PURE__ */ ((_) => {
|
|
3622
|
-
})(check);
|
|
3623
|
-
}
|
|
3624
|
-
}
|
|
3625
|
-
}
|
|
3626
|
-
return res;
|
|
3627
|
-
}
|
|
3628
|
-
function escapeLiteralCheckValue(literal, refs) {
|
|
3629
|
-
return refs.patternStrategy === "escape" ? escapeNonAlphaNumeric(literal) : literal;
|
|
3630
|
-
}
|
|
3631
|
-
var ALPHA_NUMERIC = new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");
|
|
3632
|
-
function escapeNonAlphaNumeric(source) {
|
|
3633
|
-
let result = "";
|
|
3634
|
-
for (let i = 0; i < source.length; i++) {
|
|
3635
|
-
if (!ALPHA_NUMERIC.has(source[i])) {
|
|
3636
|
-
result += "\\";
|
|
3637
|
-
}
|
|
3638
|
-
result += source[i];
|
|
3639
|
-
}
|
|
3640
|
-
return result;
|
|
3641
|
-
}
|
|
3642
|
-
function addFormat(schema, value, message, refs) {
|
|
3643
|
-
if (schema.format || schema.anyOf?.some((x) => x.format)) {
|
|
3644
|
-
if (!schema.anyOf) {
|
|
3645
|
-
schema.anyOf = [];
|
|
3646
|
-
}
|
|
3647
|
-
if (schema.format) {
|
|
3648
|
-
schema.anyOf.push({
|
|
3649
|
-
format: schema.format,
|
|
3650
|
-
...schema.errorMessage && refs.errorMessages && {
|
|
3651
|
-
errorMessage: { format: schema.errorMessage.format }
|
|
3652
|
-
}
|
|
3653
|
-
});
|
|
3654
|
-
delete schema.format;
|
|
3655
|
-
if (schema.errorMessage) {
|
|
3656
|
-
delete schema.errorMessage.format;
|
|
3657
|
-
if (Object.keys(schema.errorMessage).length === 0) {
|
|
3658
|
-
delete schema.errorMessage;
|
|
3659
|
-
}
|
|
3660
|
-
}
|
|
3661
|
-
}
|
|
3662
|
-
schema.anyOf.push({
|
|
3663
|
-
format: value,
|
|
3664
|
-
...message && refs.errorMessages && { errorMessage: { format: message } }
|
|
3665
|
-
});
|
|
3666
|
-
} else {
|
|
3667
|
-
setResponseValueAndErrors(schema, "format", value, message, refs);
|
|
3668
|
-
}
|
|
3669
|
-
}
|
|
3670
|
-
function addPattern(schema, regex, message, refs) {
|
|
3671
|
-
if (schema.pattern || schema.allOf?.some((x) => x.pattern)) {
|
|
3672
|
-
if (!schema.allOf) {
|
|
3673
|
-
schema.allOf = [];
|
|
3674
|
-
}
|
|
3675
|
-
if (schema.pattern) {
|
|
3676
|
-
schema.allOf.push({
|
|
3677
|
-
pattern: schema.pattern,
|
|
3678
|
-
...schema.errorMessage && refs.errorMessages && {
|
|
3679
|
-
errorMessage: { pattern: schema.errorMessage.pattern }
|
|
3680
|
-
}
|
|
3681
|
-
});
|
|
3682
|
-
delete schema.pattern;
|
|
3683
|
-
if (schema.errorMessage) {
|
|
3684
|
-
delete schema.errorMessage.pattern;
|
|
3685
|
-
if (Object.keys(schema.errorMessage).length === 0) {
|
|
3686
|
-
delete schema.errorMessage;
|
|
3687
|
-
}
|
|
3688
|
-
}
|
|
3689
|
-
}
|
|
3690
|
-
schema.allOf.push({
|
|
3691
|
-
pattern: stringifyRegExpWithFlags(regex, refs),
|
|
3692
|
-
...message && refs.errorMessages && { errorMessage: { pattern: message } }
|
|
3693
|
-
});
|
|
3694
|
-
} else {
|
|
3695
|
-
setResponseValueAndErrors(schema, "pattern", stringifyRegExpWithFlags(regex, refs), message, refs);
|
|
3696
|
-
}
|
|
3697
|
-
}
|
|
3698
|
-
function stringifyRegExpWithFlags(regex, refs) {
|
|
3699
|
-
if (!refs.applyRegexFlags || !regex.flags) {
|
|
3700
|
-
return regex.source;
|
|
3701
|
-
}
|
|
3702
|
-
const flags = {
|
|
3703
|
-
i: regex.flags.includes("i"),
|
|
3704
|
-
m: regex.flags.includes("m"),
|
|
3705
|
-
s: regex.flags.includes("s")
|
|
3706
|
-
// `.` matches newlines
|
|
3707
|
-
};
|
|
3708
|
-
const source = flags.i ? regex.source.toLowerCase() : regex.source;
|
|
3709
|
-
let pattern = "";
|
|
3710
|
-
let isEscaped = false;
|
|
3711
|
-
let inCharGroup = false;
|
|
3712
|
-
let inCharRange = false;
|
|
3713
|
-
for (let i = 0; i < source.length; i++) {
|
|
3714
|
-
if (isEscaped) {
|
|
3715
|
-
pattern += source[i];
|
|
3716
|
-
isEscaped = false;
|
|
3717
|
-
continue;
|
|
3718
|
-
}
|
|
3719
|
-
if (flags.i) {
|
|
3720
|
-
if (inCharGroup) {
|
|
3721
|
-
if (source[i].match(/[a-z]/)) {
|
|
3722
|
-
if (inCharRange) {
|
|
3723
|
-
pattern += source[i];
|
|
3724
|
-
pattern += `${source[i - 2]}-${source[i]}`.toUpperCase();
|
|
3725
|
-
inCharRange = false;
|
|
3726
|
-
} else if (source[i + 1] === "-" && source[i + 2]?.match(/[a-z]/)) {
|
|
3727
|
-
pattern += source[i];
|
|
3728
|
-
inCharRange = true;
|
|
3729
|
-
} else {
|
|
3730
|
-
pattern += `${source[i]}${source[i].toUpperCase()}`;
|
|
3731
|
-
}
|
|
3732
|
-
continue;
|
|
3733
|
-
}
|
|
3734
|
-
} else if (source[i].match(/[a-z]/)) {
|
|
3735
|
-
pattern += `[${source[i]}${source[i].toUpperCase()}]`;
|
|
3736
|
-
continue;
|
|
3737
|
-
}
|
|
3738
|
-
}
|
|
3739
|
-
if (flags.m) {
|
|
3740
|
-
if (source[i] === "^") {
|
|
3741
|
-
pattern += `(^|(?<=[\r
|
|
3742
|
-
]))`;
|
|
3743
|
-
continue;
|
|
3744
|
-
} else if (source[i] === "$") {
|
|
3745
|
-
pattern += `($|(?=[\r
|
|
3746
|
-
]))`;
|
|
3747
|
-
continue;
|
|
3748
|
-
}
|
|
3749
|
-
}
|
|
3750
|
-
if (flags.s && source[i] === ".") {
|
|
3751
|
-
pattern += inCharGroup ? `${source[i]}\r
|
|
3752
|
-
` : `[${source[i]}\r
|
|
3753
|
-
]`;
|
|
3754
|
-
continue;
|
|
3755
|
-
}
|
|
3756
|
-
pattern += source[i];
|
|
3757
|
-
if (source[i] === "\\") {
|
|
3758
|
-
isEscaped = true;
|
|
3759
|
-
} else if (inCharGroup && source[i] === "]") {
|
|
3760
|
-
inCharGroup = false;
|
|
3761
|
-
} else if (!inCharGroup && source[i] === "[") {
|
|
3762
|
-
inCharGroup = true;
|
|
3763
|
-
}
|
|
3764
|
-
}
|
|
3765
|
-
try {
|
|
3766
|
-
new RegExp(pattern);
|
|
3767
|
-
} catch {
|
|
3768
|
-
console.warn(`Could not convert regex pattern at ${refs.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`);
|
|
3769
|
-
return regex.source;
|
|
3770
|
-
}
|
|
3771
|
-
return pattern;
|
|
3772
|
-
}
|
|
3773
|
-
|
|
3774
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/record.js
|
|
3775
|
-
function parseRecordDef(def, refs) {
|
|
3776
|
-
if (refs.target === "openAi") {
|
|
3777
|
-
console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");
|
|
3778
|
-
}
|
|
3779
|
-
if (refs.target === "openApi3" && def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodEnum) {
|
|
3780
|
-
return {
|
|
3781
|
-
type: "object",
|
|
3782
|
-
required: def.keyType._def.values,
|
|
3783
|
-
properties: def.keyType._def.values.reduce((acc, key) => ({
|
|
3784
|
-
...acc,
|
|
3785
|
-
[key]: parseDef(def.valueType._def, {
|
|
3786
|
-
...refs,
|
|
3787
|
-
currentPath: [...refs.currentPath, "properties", key]
|
|
3788
|
-
}) ?? parseAnyDef(refs)
|
|
3789
|
-
}), {}),
|
|
3790
|
-
additionalProperties: refs.rejectedAdditionalProperties
|
|
3791
|
-
};
|
|
3792
|
-
}
|
|
3793
|
-
const schema = {
|
|
3794
|
-
type: "object",
|
|
3795
|
-
additionalProperties: parseDef(def.valueType._def, {
|
|
3796
|
-
...refs,
|
|
3797
|
-
currentPath: [...refs.currentPath, "additionalProperties"]
|
|
3798
|
-
}) ?? refs.allowedAdditionalProperties
|
|
3799
|
-
};
|
|
3800
|
-
if (refs.target === "openApi3") {
|
|
3801
|
-
return schema;
|
|
3802
|
-
}
|
|
3803
|
-
if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodString && def.keyType._def.checks?.length) {
|
|
3804
|
-
const { type, ...keyType } = parseStringDef(def.keyType._def, refs);
|
|
3805
|
-
return {
|
|
3806
|
-
...schema,
|
|
3807
|
-
propertyNames: keyType
|
|
3808
|
-
};
|
|
3809
|
-
} else if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodEnum) {
|
|
3810
|
-
return {
|
|
3811
|
-
...schema,
|
|
3812
|
-
propertyNames: {
|
|
3813
|
-
enum: def.keyType._def.values
|
|
3814
|
-
}
|
|
3815
|
-
};
|
|
3816
|
-
} else if (def.keyType?._def.typeName === ZodFirstPartyTypeKind.ZodBranded && def.keyType._def.type._def.typeName === ZodFirstPartyTypeKind.ZodString && def.keyType._def.type._def.checks?.length) {
|
|
3817
|
-
const { type, ...keyType } = parseBrandedDef(def.keyType._def, refs);
|
|
3818
|
-
return {
|
|
3819
|
-
...schema,
|
|
3820
|
-
propertyNames: keyType
|
|
3821
|
-
};
|
|
3822
|
-
}
|
|
3823
|
-
return schema;
|
|
3824
|
-
}
|
|
3825
|
-
|
|
3826
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/map.js
|
|
3827
|
-
function parseMapDef(def, refs) {
|
|
3828
|
-
if (refs.mapStrategy === "record") {
|
|
3829
|
-
return parseRecordDef(def, refs);
|
|
3830
|
-
}
|
|
3831
|
-
const keys = parseDef(def.keyType._def, {
|
|
3832
|
-
...refs,
|
|
3833
|
-
currentPath: [...refs.currentPath, "items", "items", "0"]
|
|
3834
|
-
}) || parseAnyDef(refs);
|
|
3835
|
-
const values = parseDef(def.valueType._def, {
|
|
3836
|
-
...refs,
|
|
3837
|
-
currentPath: [...refs.currentPath, "items", "items", "1"]
|
|
3838
|
-
}) || parseAnyDef(refs);
|
|
3839
|
-
return {
|
|
3840
|
-
type: "array",
|
|
3841
|
-
maxItems: 125,
|
|
3842
|
-
items: {
|
|
3843
|
-
type: "array",
|
|
3844
|
-
items: [keys, values],
|
|
3845
|
-
minItems: 2,
|
|
3846
|
-
maxItems: 2
|
|
3847
|
-
}
|
|
3848
|
-
};
|
|
3849
|
-
}
|
|
3850
|
-
|
|
3851
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js
|
|
3852
|
-
function parseNativeEnumDef(def) {
|
|
3853
|
-
const object = def.values;
|
|
3854
|
-
const actualKeys = Object.keys(def.values).filter((key) => {
|
|
3855
|
-
return typeof object[object[key]] !== "number";
|
|
3856
|
-
});
|
|
3857
|
-
const actualValues = actualKeys.map((key) => object[key]);
|
|
3858
|
-
const parsedTypes = Array.from(new Set(actualValues.map((values) => typeof values)));
|
|
3859
|
-
return {
|
|
3860
|
-
type: parsedTypes.length === 1 ? parsedTypes[0] === "string" ? "string" : "number" : ["string", "number"],
|
|
3861
|
-
enum: actualValues
|
|
3862
|
-
};
|
|
3863
|
-
}
|
|
3864
|
-
|
|
3865
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/never.js
|
|
3866
|
-
function parseNeverDef(refs) {
|
|
3867
|
-
return refs.target === "openAi" ? void 0 : {
|
|
3868
|
-
not: parseAnyDef({
|
|
3869
|
-
...refs,
|
|
3870
|
-
currentPath: [...refs.currentPath, "not"]
|
|
3871
|
-
})
|
|
3872
|
-
};
|
|
3873
|
-
}
|
|
3874
|
-
|
|
3875
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/null.js
|
|
3876
|
-
function parseNullDef(refs) {
|
|
3877
|
-
return refs.target === "openApi3" ? {
|
|
3878
|
-
enum: ["null"],
|
|
3879
|
-
nullable: true
|
|
3880
|
-
} : {
|
|
3881
|
-
type: "null"
|
|
3882
|
-
};
|
|
3883
|
-
}
|
|
3884
|
-
|
|
3885
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/union.js
|
|
3886
|
-
var primitiveMappings = {
|
|
3887
|
-
ZodString: "string",
|
|
3888
|
-
ZodNumber: "number",
|
|
3889
|
-
ZodBigInt: "integer",
|
|
3890
|
-
ZodBoolean: "boolean",
|
|
3891
|
-
ZodNull: "null"
|
|
3892
|
-
};
|
|
3893
|
-
function parseUnionDef(def, refs) {
|
|
3894
|
-
if (refs.target === "openApi3")
|
|
3895
|
-
return asAnyOf(def, refs);
|
|
3896
|
-
const options = def.options instanceof Map ? Array.from(def.options.values()) : def.options;
|
|
3897
|
-
if (options.every((x) => x._def.typeName in primitiveMappings && (!x._def.checks || !x._def.checks.length))) {
|
|
3898
|
-
const types = options.reduce((types2, x) => {
|
|
3899
|
-
const type = primitiveMappings[x._def.typeName];
|
|
3900
|
-
return type && !types2.includes(type) ? [...types2, type] : types2;
|
|
3901
|
-
}, []);
|
|
3902
|
-
return {
|
|
3903
|
-
type: types.length > 1 ? types : types[0]
|
|
3904
|
-
};
|
|
3905
|
-
} else if (options.every((x) => x._def.typeName === "ZodLiteral" && !x.description)) {
|
|
3906
|
-
const types = options.reduce((acc, x) => {
|
|
3907
|
-
const type = typeof x._def.value;
|
|
3908
|
-
switch (type) {
|
|
3909
|
-
case "string":
|
|
3910
|
-
case "number":
|
|
3911
|
-
case "boolean":
|
|
3912
|
-
return [...acc, type];
|
|
3913
|
-
case "bigint":
|
|
3914
|
-
return [...acc, "integer"];
|
|
3915
|
-
case "object":
|
|
3916
|
-
if (x._def.value === null)
|
|
3917
|
-
return [...acc, "null"];
|
|
3918
|
-
case "symbol":
|
|
3919
|
-
case "undefined":
|
|
3920
|
-
case "function":
|
|
3921
|
-
default:
|
|
3922
|
-
return acc;
|
|
3923
|
-
}
|
|
3924
|
-
}, []);
|
|
3925
|
-
if (types.length === options.length) {
|
|
3926
|
-
const uniqueTypes = types.filter((x, i, a) => a.indexOf(x) === i);
|
|
3927
|
-
return {
|
|
3928
|
-
type: uniqueTypes.length > 1 ? uniqueTypes : uniqueTypes[0],
|
|
3929
|
-
enum: options.reduce((acc, x) => {
|
|
3930
|
-
return acc.includes(x._def.value) ? acc : [...acc, x._def.value];
|
|
3931
|
-
}, [])
|
|
3932
|
-
};
|
|
3933
|
-
}
|
|
3934
|
-
} else if (options.every((x) => x._def.typeName === "ZodEnum")) {
|
|
3935
|
-
return {
|
|
3936
|
-
type: "string",
|
|
3937
|
-
enum: options.reduce((acc, x) => [
|
|
3938
|
-
...acc,
|
|
3939
|
-
...x._def.values.filter((x2) => !acc.includes(x2))
|
|
3940
|
-
], [])
|
|
3941
|
-
};
|
|
3942
|
-
}
|
|
3943
|
-
return asAnyOf(def, refs);
|
|
3944
|
-
}
|
|
3945
|
-
var asAnyOf = (def, refs) => {
|
|
3946
|
-
const anyOf = (def.options instanceof Map ? Array.from(def.options.values()) : def.options).map((x, i) => parseDef(x._def, {
|
|
3947
|
-
...refs,
|
|
3948
|
-
currentPath: [...refs.currentPath, "anyOf", `${i}`]
|
|
3949
|
-
})).filter((x) => !!x && (!refs.strictUnions || typeof x === "object" && Object.keys(x).length > 0));
|
|
3950
|
-
return anyOf.length ? { anyOf } : void 0;
|
|
3951
|
-
};
|
|
3952
|
-
|
|
3953
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js
|
|
3954
|
-
function parseNullableDef(def, refs) {
|
|
3955
|
-
if (["ZodString", "ZodNumber", "ZodBigInt", "ZodBoolean", "ZodNull"].includes(def.innerType._def.typeName) && (!def.innerType._def.checks || !def.innerType._def.checks.length)) {
|
|
3956
|
-
if (refs.target === "openApi3") {
|
|
3957
|
-
return {
|
|
3958
|
-
type: primitiveMappings[def.innerType._def.typeName],
|
|
3959
|
-
nullable: true
|
|
3960
|
-
};
|
|
3961
|
-
}
|
|
3962
|
-
return {
|
|
3963
|
-
type: [
|
|
3964
|
-
primitiveMappings[def.innerType._def.typeName],
|
|
3965
|
-
"null"
|
|
3966
|
-
]
|
|
3967
|
-
};
|
|
3968
|
-
}
|
|
3969
|
-
if (refs.target === "openApi3") {
|
|
3970
|
-
const base2 = parseDef(def.innerType._def, {
|
|
3971
|
-
...refs,
|
|
3972
|
-
currentPath: [...refs.currentPath]
|
|
3973
|
-
});
|
|
3974
|
-
if (base2 && "$ref" in base2)
|
|
3975
|
-
return { allOf: [base2], nullable: true };
|
|
3976
|
-
return base2 && { ...base2, nullable: true };
|
|
3977
|
-
}
|
|
3978
|
-
const base = parseDef(def.innerType._def, {
|
|
3979
|
-
...refs,
|
|
3980
|
-
currentPath: [...refs.currentPath, "anyOf", "0"]
|
|
3981
|
-
});
|
|
3982
|
-
return base && { anyOf: [base, { type: "null" }] };
|
|
3983
|
-
}
|
|
3984
|
-
|
|
3985
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/number.js
|
|
3986
|
-
function parseNumberDef(def, refs) {
|
|
3987
|
-
const res = {
|
|
3988
|
-
type: "number"
|
|
3989
|
-
};
|
|
3990
|
-
if (!def.checks)
|
|
3991
|
-
return res;
|
|
3992
|
-
for (const check of def.checks) {
|
|
3993
|
-
switch (check.kind) {
|
|
3994
|
-
case "int":
|
|
3995
|
-
res.type = "integer";
|
|
3996
|
-
addErrorMessage(res, "type", check.message, refs);
|
|
3997
|
-
break;
|
|
3998
|
-
case "min":
|
|
3999
|
-
if (refs.target === "jsonSchema7") {
|
|
4000
|
-
if (check.inclusive) {
|
|
4001
|
-
setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
|
|
4002
|
-
} else {
|
|
4003
|
-
setResponseValueAndErrors(res, "exclusiveMinimum", check.value, check.message, refs);
|
|
4004
|
-
}
|
|
4005
|
-
} else {
|
|
4006
|
-
if (!check.inclusive) {
|
|
4007
|
-
res.exclusiveMinimum = true;
|
|
4008
|
-
}
|
|
4009
|
-
setResponseValueAndErrors(res, "minimum", check.value, check.message, refs);
|
|
4010
|
-
}
|
|
4011
|
-
break;
|
|
4012
|
-
case "max":
|
|
4013
|
-
if (refs.target === "jsonSchema7") {
|
|
4014
|
-
if (check.inclusive) {
|
|
4015
|
-
setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
|
|
4016
|
-
} else {
|
|
4017
|
-
setResponseValueAndErrors(res, "exclusiveMaximum", check.value, check.message, refs);
|
|
4018
|
-
}
|
|
4019
|
-
} else {
|
|
4020
|
-
if (!check.inclusive) {
|
|
4021
|
-
res.exclusiveMaximum = true;
|
|
4022
|
-
}
|
|
4023
|
-
setResponseValueAndErrors(res, "maximum", check.value, check.message, refs);
|
|
4024
|
-
}
|
|
4025
|
-
break;
|
|
4026
|
-
case "multipleOf":
|
|
4027
|
-
setResponseValueAndErrors(res, "multipleOf", check.value, check.message, refs);
|
|
4028
|
-
break;
|
|
4029
|
-
}
|
|
4030
|
-
}
|
|
4031
|
-
return res;
|
|
4032
|
-
}
|
|
4033
|
-
|
|
4034
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/object.js
|
|
4035
|
-
function parseObjectDef(def, refs) {
|
|
4036
|
-
const forceOptionalIntoNullable = refs.target === "openAi";
|
|
4037
|
-
const result = {
|
|
4038
|
-
type: "object",
|
|
4039
|
-
properties: {}
|
|
4040
|
-
};
|
|
4041
|
-
const required = [];
|
|
4042
|
-
const shape = def.shape();
|
|
4043
|
-
for (const propName in shape) {
|
|
4044
|
-
let propDef = shape[propName];
|
|
4045
|
-
if (propDef === void 0 || propDef._def === void 0) {
|
|
4046
|
-
continue;
|
|
4047
|
-
}
|
|
4048
|
-
let propOptional = safeIsOptional(propDef);
|
|
4049
|
-
if (propOptional && forceOptionalIntoNullable) {
|
|
4050
|
-
if (propDef._def.typeName === "ZodOptional") {
|
|
4051
|
-
propDef = propDef._def.innerType;
|
|
4052
|
-
}
|
|
4053
|
-
if (!propDef.isNullable()) {
|
|
4054
|
-
propDef = propDef.nullable();
|
|
4055
|
-
}
|
|
4056
|
-
propOptional = false;
|
|
4057
|
-
}
|
|
4058
|
-
const parsedDef = parseDef(propDef._def, {
|
|
4059
|
-
...refs,
|
|
4060
|
-
currentPath: [...refs.currentPath, "properties", propName],
|
|
4061
|
-
propertyPath: [...refs.currentPath, "properties", propName]
|
|
4062
|
-
});
|
|
4063
|
-
if (parsedDef === void 0) {
|
|
4064
|
-
continue;
|
|
4065
|
-
}
|
|
4066
|
-
result.properties[propName] = parsedDef;
|
|
4067
|
-
if (!propOptional) {
|
|
4068
|
-
required.push(propName);
|
|
4069
|
-
}
|
|
4070
|
-
}
|
|
4071
|
-
if (required.length) {
|
|
4072
|
-
result.required = required;
|
|
4073
|
-
}
|
|
4074
|
-
const additionalProperties = decideAdditionalProperties(def, refs);
|
|
4075
|
-
if (additionalProperties !== void 0) {
|
|
4076
|
-
result.additionalProperties = additionalProperties;
|
|
4077
|
-
}
|
|
4078
|
-
return result;
|
|
4079
|
-
}
|
|
4080
|
-
function decideAdditionalProperties(def, refs) {
|
|
4081
|
-
if (def.catchall._def.typeName !== "ZodNever") {
|
|
4082
|
-
return parseDef(def.catchall._def, {
|
|
4083
|
-
...refs,
|
|
4084
|
-
currentPath: [...refs.currentPath, "additionalProperties"]
|
|
4085
|
-
});
|
|
4086
|
-
}
|
|
4087
|
-
switch (def.unknownKeys) {
|
|
4088
|
-
case "passthrough":
|
|
4089
|
-
return refs.allowedAdditionalProperties;
|
|
4090
|
-
case "strict":
|
|
4091
|
-
return refs.rejectedAdditionalProperties;
|
|
4092
|
-
case "strip":
|
|
4093
|
-
return refs.removeAdditionalStrategy === "strict" ? refs.allowedAdditionalProperties : refs.rejectedAdditionalProperties;
|
|
4094
|
-
}
|
|
4095
|
-
}
|
|
4096
|
-
function safeIsOptional(schema) {
|
|
4097
|
-
try {
|
|
4098
|
-
return schema.isOptional();
|
|
4099
|
-
} catch {
|
|
4100
|
-
return true;
|
|
4101
|
-
}
|
|
4102
|
-
}
|
|
4103
|
-
|
|
4104
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/optional.js
|
|
4105
|
-
var parseOptionalDef = (def, refs) => {
|
|
4106
|
-
if (refs.currentPath.toString() === refs.propertyPath?.toString()) {
|
|
4107
|
-
return parseDef(def.innerType._def, refs);
|
|
4108
|
-
}
|
|
4109
|
-
const innerSchema = parseDef(def.innerType._def, {
|
|
4110
|
-
...refs,
|
|
4111
|
-
currentPath: [...refs.currentPath, "anyOf", "1"]
|
|
4112
|
-
});
|
|
4113
|
-
return innerSchema ? {
|
|
4114
|
-
anyOf: [
|
|
4115
|
-
{
|
|
4116
|
-
not: parseAnyDef(refs)
|
|
4117
|
-
},
|
|
4118
|
-
innerSchema
|
|
4119
|
-
]
|
|
4120
|
-
} : parseAnyDef(refs);
|
|
4121
|
-
};
|
|
4122
|
-
|
|
4123
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js
|
|
4124
|
-
var parsePipelineDef = (def, refs) => {
|
|
4125
|
-
if (refs.pipeStrategy === "input") {
|
|
4126
|
-
return parseDef(def.in._def, refs);
|
|
4127
|
-
} else if (refs.pipeStrategy === "output") {
|
|
4128
|
-
return parseDef(def.out._def, refs);
|
|
4129
|
-
}
|
|
4130
|
-
const a = parseDef(def.in._def, {
|
|
4131
|
-
...refs,
|
|
4132
|
-
currentPath: [...refs.currentPath, "allOf", "0"]
|
|
4133
|
-
});
|
|
4134
|
-
const b = parseDef(def.out._def, {
|
|
4135
|
-
...refs,
|
|
4136
|
-
currentPath: [...refs.currentPath, "allOf", a ? "1" : "0"]
|
|
4137
|
-
});
|
|
4138
|
-
return {
|
|
4139
|
-
allOf: [a, b].filter((x) => x !== void 0)
|
|
4140
|
-
};
|
|
4141
|
-
};
|
|
4142
|
-
|
|
4143
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/promise.js
|
|
4144
|
-
function parsePromiseDef(def, refs) {
|
|
4145
|
-
return parseDef(def.type._def, refs);
|
|
4146
|
-
}
|
|
4147
|
-
|
|
4148
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/set.js
|
|
4149
|
-
function parseSetDef(def, refs) {
|
|
4150
|
-
const items = parseDef(def.valueType._def, {
|
|
4151
|
-
...refs,
|
|
4152
|
-
currentPath: [...refs.currentPath, "items"]
|
|
4153
|
-
});
|
|
4154
|
-
const schema = {
|
|
4155
|
-
type: "array",
|
|
4156
|
-
uniqueItems: true,
|
|
4157
|
-
items
|
|
4158
|
-
};
|
|
4159
|
-
if (def.minSize) {
|
|
4160
|
-
setResponseValueAndErrors(schema, "minItems", def.minSize.value, def.minSize.message, refs);
|
|
4161
|
-
}
|
|
4162
|
-
if (def.maxSize) {
|
|
4163
|
-
setResponseValueAndErrors(schema, "maxItems", def.maxSize.value, def.maxSize.message, refs);
|
|
4164
|
-
}
|
|
4165
|
-
return schema;
|
|
4166
|
-
}
|
|
4167
|
-
|
|
4168
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js
|
|
4169
|
-
function parseTupleDef(def, refs) {
|
|
4170
|
-
if (def.rest) {
|
|
4171
|
-
return {
|
|
4172
|
-
type: "array",
|
|
4173
|
-
minItems: def.items.length,
|
|
4174
|
-
items: def.items.map((x, i) => parseDef(x._def, {
|
|
4175
|
-
...refs,
|
|
4176
|
-
currentPath: [...refs.currentPath, "items", `${i}`]
|
|
4177
|
-
})).reduce((acc, x) => x === void 0 ? acc : [...acc, x], []),
|
|
4178
|
-
additionalItems: parseDef(def.rest._def, {
|
|
4179
|
-
...refs,
|
|
4180
|
-
currentPath: [...refs.currentPath, "additionalItems"]
|
|
4181
|
-
})
|
|
4182
|
-
};
|
|
4183
|
-
} else {
|
|
4184
|
-
return {
|
|
4185
|
-
type: "array",
|
|
4186
|
-
minItems: def.items.length,
|
|
4187
|
-
maxItems: def.items.length,
|
|
4188
|
-
items: def.items.map((x, i) => parseDef(x._def, {
|
|
4189
|
-
...refs,
|
|
4190
|
-
currentPath: [...refs.currentPath, "items", `${i}`]
|
|
4191
|
-
})).reduce((acc, x) => x === void 0 ? acc : [...acc, x], [])
|
|
4192
|
-
};
|
|
4193
|
-
}
|
|
4194
|
-
}
|
|
4195
|
-
|
|
4196
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js
|
|
4197
|
-
function parseUndefinedDef(refs) {
|
|
4198
|
-
return {
|
|
4199
|
-
not: parseAnyDef(refs)
|
|
4200
|
-
};
|
|
4201
|
-
}
|
|
4202
|
-
|
|
4203
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js
|
|
4204
|
-
function parseUnknownDef(refs) {
|
|
4205
|
-
return parseAnyDef(refs);
|
|
4206
|
-
}
|
|
4207
|
-
|
|
4208
|
-
// node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js
|
|
4209
|
-
var parseReadonlyDef = (def, refs) => {
|
|
4210
|
-
return parseDef(def.innerType._def, refs);
|
|
4211
|
-
};
|
|
4212
|
-
|
|
4213
|
-
// node_modules/zod-to-json-schema/dist/esm/selectParser.js
|
|
4214
|
-
var selectParser = (def, typeName, refs) => {
|
|
4215
|
-
switch (typeName) {
|
|
4216
|
-
case ZodFirstPartyTypeKind.ZodString:
|
|
4217
|
-
return parseStringDef(def, refs);
|
|
4218
|
-
case ZodFirstPartyTypeKind.ZodNumber:
|
|
4219
|
-
return parseNumberDef(def, refs);
|
|
4220
|
-
case ZodFirstPartyTypeKind.ZodObject:
|
|
4221
|
-
return parseObjectDef(def, refs);
|
|
4222
|
-
case ZodFirstPartyTypeKind.ZodBigInt:
|
|
4223
|
-
return parseBigintDef(def, refs);
|
|
4224
|
-
case ZodFirstPartyTypeKind.ZodBoolean:
|
|
4225
|
-
return parseBooleanDef();
|
|
4226
|
-
case ZodFirstPartyTypeKind.ZodDate:
|
|
4227
|
-
return parseDateDef(def, refs);
|
|
4228
|
-
case ZodFirstPartyTypeKind.ZodUndefined:
|
|
4229
|
-
return parseUndefinedDef(refs);
|
|
4230
|
-
case ZodFirstPartyTypeKind.ZodNull:
|
|
4231
|
-
return parseNullDef(refs);
|
|
4232
|
-
case ZodFirstPartyTypeKind.ZodArray:
|
|
4233
|
-
return parseArrayDef(def, refs);
|
|
4234
|
-
case ZodFirstPartyTypeKind.ZodUnion:
|
|
4235
|
-
case ZodFirstPartyTypeKind.ZodDiscriminatedUnion:
|
|
4236
|
-
return parseUnionDef(def, refs);
|
|
4237
|
-
case ZodFirstPartyTypeKind.ZodIntersection:
|
|
4238
|
-
return parseIntersectionDef(def, refs);
|
|
4239
|
-
case ZodFirstPartyTypeKind.ZodTuple:
|
|
4240
|
-
return parseTupleDef(def, refs);
|
|
4241
|
-
case ZodFirstPartyTypeKind.ZodRecord:
|
|
4242
|
-
return parseRecordDef(def, refs);
|
|
4243
|
-
case ZodFirstPartyTypeKind.ZodLiteral:
|
|
4244
|
-
return parseLiteralDef(def, refs);
|
|
4245
|
-
case ZodFirstPartyTypeKind.ZodEnum:
|
|
4246
|
-
return parseEnumDef(def);
|
|
4247
|
-
case ZodFirstPartyTypeKind.ZodNativeEnum:
|
|
4248
|
-
return parseNativeEnumDef(def);
|
|
4249
|
-
case ZodFirstPartyTypeKind.ZodNullable:
|
|
4250
|
-
return parseNullableDef(def, refs);
|
|
4251
|
-
case ZodFirstPartyTypeKind.ZodOptional:
|
|
4252
|
-
return parseOptionalDef(def, refs);
|
|
4253
|
-
case ZodFirstPartyTypeKind.ZodMap:
|
|
4254
|
-
return parseMapDef(def, refs);
|
|
4255
|
-
case ZodFirstPartyTypeKind.ZodSet:
|
|
4256
|
-
return parseSetDef(def, refs);
|
|
4257
|
-
case ZodFirstPartyTypeKind.ZodLazy:
|
|
4258
|
-
return () => def.getter()._def;
|
|
4259
|
-
case ZodFirstPartyTypeKind.ZodPromise:
|
|
4260
|
-
return parsePromiseDef(def, refs);
|
|
4261
|
-
case ZodFirstPartyTypeKind.ZodNaN:
|
|
4262
|
-
case ZodFirstPartyTypeKind.ZodNever:
|
|
4263
|
-
return parseNeverDef(refs);
|
|
4264
|
-
case ZodFirstPartyTypeKind.ZodEffects:
|
|
4265
|
-
return parseEffectsDef(def, refs);
|
|
4266
|
-
case ZodFirstPartyTypeKind.ZodAny:
|
|
4267
|
-
return parseAnyDef(refs);
|
|
4268
|
-
case ZodFirstPartyTypeKind.ZodUnknown:
|
|
4269
|
-
return parseUnknownDef(refs);
|
|
4270
|
-
case ZodFirstPartyTypeKind.ZodDefault:
|
|
4271
|
-
return parseDefaultDef(def, refs);
|
|
4272
|
-
case ZodFirstPartyTypeKind.ZodBranded:
|
|
4273
|
-
return parseBrandedDef(def, refs);
|
|
4274
|
-
case ZodFirstPartyTypeKind.ZodReadonly:
|
|
4275
|
-
return parseReadonlyDef(def, refs);
|
|
4276
|
-
case ZodFirstPartyTypeKind.ZodCatch:
|
|
4277
|
-
return parseCatchDef(def, refs);
|
|
4278
|
-
case ZodFirstPartyTypeKind.ZodPipeline:
|
|
4279
|
-
return parsePipelineDef(def, refs);
|
|
4280
|
-
case ZodFirstPartyTypeKind.ZodFunction:
|
|
4281
|
-
case ZodFirstPartyTypeKind.ZodVoid:
|
|
4282
|
-
case ZodFirstPartyTypeKind.ZodSymbol:
|
|
4283
|
-
return void 0;
|
|
4284
|
-
default:
|
|
4285
|
-
return /* @__PURE__ */ ((_) => void 0)(typeName);
|
|
4286
|
-
}
|
|
4287
|
-
};
|
|
4288
|
-
|
|
4289
|
-
// node_modules/zod-to-json-schema/dist/esm/parseDef.js
|
|
4290
|
-
function parseDef(def, refs, forceResolution = false) {
|
|
4291
|
-
const seenItem = refs.seen.get(def);
|
|
4292
|
-
if (refs.override) {
|
|
4293
|
-
const overrideResult = refs.override?.(def, refs, seenItem, forceResolution);
|
|
4294
|
-
if (overrideResult !== ignoreOverride) {
|
|
4295
|
-
return overrideResult;
|
|
4296
|
-
}
|
|
4297
|
-
}
|
|
4298
|
-
if (seenItem && !forceResolution) {
|
|
4299
|
-
const seenSchema = get$ref(seenItem, refs);
|
|
4300
|
-
if (seenSchema !== void 0) {
|
|
4301
|
-
return seenSchema;
|
|
4302
|
-
}
|
|
4303
|
-
}
|
|
4304
|
-
const newItem = { def, path: refs.currentPath, jsonSchema: void 0 };
|
|
4305
|
-
refs.seen.set(def, newItem);
|
|
4306
|
-
const jsonSchemaOrGetter = selectParser(def, def.typeName, refs);
|
|
4307
|
-
const jsonSchema = typeof jsonSchemaOrGetter === "function" ? parseDef(jsonSchemaOrGetter(), refs) : jsonSchemaOrGetter;
|
|
4308
|
-
if (jsonSchema) {
|
|
4309
|
-
addMeta(def, refs, jsonSchema);
|
|
4310
|
-
}
|
|
4311
|
-
if (refs.postProcess) {
|
|
4312
|
-
const postProcessResult = refs.postProcess(jsonSchema, def, refs);
|
|
4313
|
-
newItem.jsonSchema = jsonSchema;
|
|
4314
|
-
return postProcessResult;
|
|
4315
|
-
}
|
|
4316
|
-
newItem.jsonSchema = jsonSchema;
|
|
4317
|
-
return jsonSchema;
|
|
4318
|
-
}
|
|
4319
|
-
var get$ref = (item, refs) => {
|
|
4320
|
-
switch (refs.$refStrategy) {
|
|
4321
|
-
case "root":
|
|
4322
|
-
return { $ref: item.path.join("/") };
|
|
4323
|
-
case "relative":
|
|
4324
|
-
return { $ref: getRelativePath(refs.currentPath, item.path) };
|
|
4325
|
-
case "none":
|
|
4326
|
-
case "seen": {
|
|
4327
|
-
if (item.path.length < refs.currentPath.length && item.path.every((value, index) => refs.currentPath[index] === value)) {
|
|
4328
|
-
console.warn(`Recursive reference detected at ${refs.currentPath.join("/")}! Defaulting to any`);
|
|
4329
|
-
return parseAnyDef(refs);
|
|
4330
|
-
}
|
|
4331
|
-
return refs.$refStrategy === "seen" ? parseAnyDef(refs) : void 0;
|
|
4332
|
-
}
|
|
4333
|
-
}
|
|
4334
|
-
};
|
|
4335
|
-
var addMeta = (def, refs, jsonSchema) => {
|
|
4336
|
-
if (def.description) {
|
|
4337
|
-
jsonSchema.description = def.description;
|
|
4338
|
-
if (refs.markdownDescription) {
|
|
4339
|
-
jsonSchema.markdownDescription = def.description;
|
|
4340
|
-
}
|
|
4341
|
-
}
|
|
4342
|
-
return jsonSchema;
|
|
4343
|
-
};
|
|
4344
|
-
|
|
4345
|
-
// node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js
|
|
4346
|
-
var zodToJsonSchema = (schema, options) => {
|
|
4347
|
-
const refs = getRefs(options);
|
|
4348
|
-
let definitions = typeof options === "object" && options.definitions ? Object.entries(options.definitions).reduce((acc, [name2, schema2]) => ({
|
|
4349
|
-
...acc,
|
|
4350
|
-
[name2]: parseDef(schema2._def, {
|
|
4351
|
-
...refs,
|
|
4352
|
-
currentPath: [...refs.basePath, refs.definitionPath, name2]
|
|
4353
|
-
}, true) ?? parseAnyDef(refs)
|
|
4354
|
-
}), {}) : void 0;
|
|
4355
|
-
const name = typeof options === "string" ? options : options?.nameStrategy === "title" ? void 0 : options?.name;
|
|
4356
|
-
const main3 = parseDef(schema._def, name === void 0 ? refs : {
|
|
4357
|
-
...refs,
|
|
4358
|
-
currentPath: [...refs.basePath, refs.definitionPath, name]
|
|
4359
|
-
}, false) ?? parseAnyDef(refs);
|
|
4360
|
-
const title = typeof options === "object" && options.name !== void 0 && options.nameStrategy === "title" ? options.name : void 0;
|
|
4361
|
-
if (title !== void 0) {
|
|
4362
|
-
main3.title = title;
|
|
4363
|
-
}
|
|
4364
|
-
if (refs.flags.hasReferencedOpenAiAnyType) {
|
|
4365
|
-
if (!definitions) {
|
|
4366
|
-
definitions = {};
|
|
4367
|
-
}
|
|
4368
|
-
if (!definitions[refs.openAiAnyTypeName]) {
|
|
4369
|
-
definitions[refs.openAiAnyTypeName] = {
|
|
4370
|
-
// Skipping "object" as no properties can be defined and additionalProperties must be "false"
|
|
4371
|
-
type: ["string", "number", "integer", "boolean", "array", "null"],
|
|
4372
|
-
items: {
|
|
4373
|
-
$ref: refs.$refStrategy === "relative" ? "1" : [
|
|
4374
|
-
...refs.basePath,
|
|
4375
|
-
refs.definitionPath,
|
|
4376
|
-
refs.openAiAnyTypeName
|
|
4377
|
-
].join("/")
|
|
4378
|
-
}
|
|
4379
|
-
};
|
|
4380
|
-
}
|
|
4381
|
-
}
|
|
4382
|
-
const combined = name === void 0 ? definitions ? {
|
|
4383
|
-
...main3,
|
|
4384
|
-
[refs.definitionPath]: definitions
|
|
4385
|
-
} : main3 : {
|
|
4386
|
-
$ref: [
|
|
4387
|
-
...refs.$refStrategy === "relative" ? [] : refs.basePath,
|
|
4388
|
-
refs.definitionPath,
|
|
4389
|
-
name
|
|
4390
|
-
].join("/"),
|
|
4391
|
-
[refs.definitionPath]: {
|
|
4392
|
-
...definitions,
|
|
4393
|
-
[name]: main3
|
|
4394
|
-
}
|
|
4395
|
-
};
|
|
4396
|
-
if (refs.target === "jsonSchema7") {
|
|
4397
|
-
combined.$schema = "http://json-schema.org/draft-07/schema#";
|
|
4398
|
-
} else if (refs.target === "jsonSchema2019-09" || refs.target === "openAi") {
|
|
4399
|
-
combined.$schema = "https://json-schema.org/draft/2019-09/schema#";
|
|
4400
|
-
}
|
|
4401
|
-
if (refs.target === "openAi" && ("anyOf" in combined || "oneOf" in combined || "allOf" in combined || "type" in combined && Array.isArray(combined.type))) {
|
|
4402
|
-
console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");
|
|
4403
|
-
}
|
|
4404
|
-
return combined;
|
|
4405
|
-
};
|
|
4406
|
-
|
|
4407
3147
|
// src/scripts/_lib/module_detection.ts
|
|
4408
3148
|
import * as fs17 from "node:fs";
|
|
4409
3149
|
import * as path17 from "node:path";
|
|
@@ -7029,11 +5769,7 @@ function _scoped_migration_notice(deploy_results, project_root, package_root, pr
|
|
|
7029
5769
|
var SETTINGS_SURFACE_REL = path18.join("state", "settings-surface.json");
|
|
7030
5770
|
var SETTINGS_DELTA_REL = path18.join("state", "settings-delta.json");
|
|
7031
5771
|
function _current_settings_surface(version) {
|
|
7032
|
-
const jsonSchema =
|
|
7033
|
-
name: "AgentSettings",
|
|
7034
|
-
$refStrategy: "none",
|
|
7035
|
-
target: "jsonSchema7"
|
|
7036
|
-
});
|
|
5772
|
+
const jsonSchema = toJsonSchema7(settingsSchema, "AgentSettings");
|
|
7037
5773
|
return flattenSurface(jsonSchema, version);
|
|
7038
5774
|
}
|
|
7039
5775
|
function _write_settings_surface_snapshot(installed_version) {
|