@mastra/server 1.79.0-alpha.1 → 1.79.0-alpha.10
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/_types/@internal_core/dist/storage/index.d.ts +3 -1
- package/dist/_types/@internal_voice/dist/_types/zod/v4/core/schemas.d.ts +3 -1
- package/dist/_types/@internal_voice/dist/_types/zod/v4/core/util.d.ts +2 -0
- package/dist/_types/@mastra_schema-compat/dist/_types/@internal_ai-sdk-v5/dist/index.d.ts +206 -873
- package/dist/_types/@mastra_schema-compat/dist/_types/@internal_ai-v6/dist/index.d.ts +851 -1176
- package/dist/{a2a-D5CGFO8W.cjs → a2a-B465DD1u.cjs} +3 -3
- package/dist/a2a-B465DD1u.cjs.map +1 -0
- package/dist/{a2a-Dg3ylOKc.js → a2a-CHBSYHxu.js} +3 -3
- package/dist/{a2a-D5CGFO8W.cjs.map → a2a-CHBSYHxu.js.map} +1 -1
- package/dist/{agents-D9vpLghy.cjs → agents-DoNMSCMt.cjs} +4 -2
- package/dist/agents-DoNMSCMt.cjs.map +1 -0
- package/dist/{agents-DNWDET4U.js → agents-X1E7fW3p.js} +4 -2
- package/dist/agents-X1E7fW3p.js.map +1 -0
- package/dist/{api-schema-manifest-BiW4tqad.js → api-schema-manifest-CWRIJP-B.js} +9 -3
- package/dist/api-schema-manifest-CWRIJP-B.js.map +1 -0
- package/dist/{api-schema-manifest-DvcVwlpA.cjs → api-schema-manifest-DUseI2VG.cjs} +9 -3
- package/dist/api-schema-manifest-DUseI2VG.cjs.map +1 -0
- package/dist/{background-tasks-BbYzMhlD.cjs → background-tasks-CabImVak.cjs} +3 -3
- package/dist/{background-tasks-BbYzMhlD.cjs.map → background-tasks-CabImVak.cjs.map} +1 -1
- package/dist/{background-tasks-zvlIcbhg.js → background-tasks-oBaLtnCn.js} +3 -3
- package/dist/{background-tasks-zvlIcbhg.js.map → background-tasks-oBaLtnCn.js.map} +1 -1
- package/dist/{builder-registry-DagCZI4A.cjs → builder-registry-D0frV8lQ.cjs} +3 -3
- package/dist/{builder-registry-DagCZI4A.cjs.map → builder-registry-D0frV8lQ.cjs.map} +1 -1
- package/dist/{builder-registry-1GwmVVwr.js → builder-registry-DOkLe8ES.js} +3 -3
- package/dist/{builder-registry-1GwmVVwr.js.map → builder-registry-DOkLe8ES.js.map} +1 -1
- package/dist/{channels-B3aoI-f1.js → channels-BOxgHvzI.js} +2 -2
- package/dist/{channels-B3aoI-f1.js.map → channels-BOxgHvzI.js.map} +1 -1
- package/dist/{channels-5J7CTFyY.cjs → channels-CBIopVWd.cjs} +2 -2
- package/dist/{channels-5J7CTFyY.cjs.map → channels-CBIopVWd.cjs.map} +1 -1
- package/dist/{dist-D5O8s1u2.cjs → dist-3FPW9nVj.cjs} +3 -3
- package/dist/{dist-D5O8s1u2.cjs.map → dist-3FPW9nVj.cjs.map} +1 -1
- package/dist/{dist-CKHUMrWI.cjs → dist-9c3PXXpk.cjs} +36611 -30312
- package/dist/dist-9c3PXXpk.cjs.map +1 -0
- package/dist/{dist-Bw2XgCSY.cjs → dist-B5OwHWTo.cjs} +3 -3
- package/dist/{dist-Bw2XgCSY.cjs.map → dist-B5OwHWTo.cjs.map} +1 -1
- package/dist/{dist-C5TZXkhS.js → dist-B_bet8uz.js} +2 -2
- package/dist/{dist-C5TZXkhS.js.map → dist-B_bet8uz.js.map} +1 -1
- package/dist/{dist-8fx1_bLF.js → dist-BwYL7Ykb.js} +3 -3
- package/dist/{dist-8fx1_bLF.js.map → dist-BwYL7Ykb.js.map} +1 -1
- package/dist/{dist-_RnqhYfY.js → dist-BxMmGD3n.js} +3 -3
- package/dist/{dist-_RnqhYfY.js.map → dist-BxMmGD3n.js.map} +1 -1
- package/dist/{dist-D1oSHJhK.js → dist-CBRJax5e.js} +3 -3
- package/dist/{dist-D1oSHJhK.js.map → dist-CBRJax5e.js.map} +1 -1
- package/dist/{dist-D5mpJHHH.cjs → dist-CQ3FSKT-.cjs} +3 -3
- package/dist/{dist-D5mpJHHH.cjs.map → dist-CQ3FSKT-.cjs.map} +1 -1
- package/dist/{dist-CgemVduI.cjs → dist-DC1Pewf5.cjs} +4 -4
- package/dist/{dist-CgemVduI.cjs.map → dist-DC1Pewf5.cjs.map} +1 -1
- package/dist/{dist-hfFDNas-.js → dist-DGCnbhNe.js} +36546 -30247
- package/dist/dist-DGCnbhNe.js.map +1 -0
- package/dist/{dist-BCTqy9i3.js → dist-DOWsEmo6.js} +4 -4
- package/dist/{dist-BCTqy9i3.js.map → dist-DOWsEmo6.js.map} +1 -1
- package/dist/{dist-Bz4l8I_x.js → dist-DcoIg_tp.js} +3 -3
- package/dist/{dist-Bz4l8I_x.js.map → dist-DcoIg_tp.js.map} +1 -1
- package/dist/{dist-UACuV_1t.cjs → dist-UKEksCGq.cjs} +3 -3
- package/dist/{dist-UACuV_1t.cjs.map → dist-UKEksCGq.cjs.map} +1 -1
- package/dist/{dist-tYOY8gEs.cjs → dist-rDRetJVY.cjs} +2 -2
- package/dist/{dist-tYOY8gEs.cjs.map → dist-rDRetJVY.cjs.map} +1 -1
- package/dist/docs/SKILL.md +2 -2
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/docs/references/docs-guides-mcp-authentication-authorization.md +2 -2
- package/dist/docs/references/{reference-observability-tracing-trace-query.md → reference-observability-tracing-advanced-queries.md} +486 -158
- package/dist/{dynamic-workflows-BL3eD0zL.cjs → dynamic-workflows-DXlkr-jK.cjs} +2 -2
- package/dist/{dynamic-workflows-BL3eD0zL.cjs.map → dynamic-workflows-DXlkr-jK.cjs.map} +1 -1
- package/dist/{dynamic-workflows-BJfoQMo8.js → dynamic-workflows-Rr_6ac1y.js} +2 -2
- package/dist/{dynamic-workflows-BJfoQMo8.js.map → dynamic-workflows-Rr_6ac1y.js.map} +1 -1
- package/dist/{editor-builder-DqHKoEDx.cjs → editor-builder-BclcHxN6.cjs} +2 -2
- package/dist/{editor-builder-DqHKoEDx.cjs.map → editor-builder-BclcHxN6.cjs.map} +1 -1
- package/dist/{editor-builder-CeLVu_FT.js → editor-builder-D16kc1P6.js} +3 -3
- package/dist/{editor-builder-CeLVu_FT.js.map → editor-builder-D16kc1P6.js.map} +1 -1
- package/dist/{editor-builder-BOmAPurW.cjs → editor-builder-DXHiPX1A.cjs} +3 -3
- package/dist/{editor-builder-BOmAPurW.cjs.map → editor-builder-DXHiPX1A.cjs.map} +1 -1
- package/dist/{editor-builder-DHqCWGd2.js → editor-builder-s9WqPJgA.js} +2 -2
- package/dist/{editor-builder-DHqCWGd2.js.map → editor-builder-s9WqPJgA.js.map} +1 -1
- package/dist/{observability-new-endpoints-BKFVVMTS.cjs → observability-new-endpoints-AMp9bnMV.cjs} +78 -17
- package/dist/observability-new-endpoints-AMp9bnMV.cjs.map +1 -0
- package/dist/{observability-new-endpoints-C5VO7nLK.js → observability-new-endpoints-BU8JYPfh.js} +79 -18
- package/dist/observability-new-endpoints-BU8JYPfh.js.map +1 -0
- package/dist/{route-builder-2yrD15TL.cjs → route-builder-BNZs643f.cjs} +123 -17
- package/dist/{route-builder-2yrD15TL.cjs.map → route-builder-BNZs643f.cjs.map} +1 -1
- package/dist/{route-builder-lBil8Cvo.js → route-builder-BfQYtclb.js} +125 -19
- package/dist/route-builder-BfQYtclb.js.map +1 -0
- package/dist/{routes-D36OQQe5.cjs → routes-DPojsNf1.cjs} +12 -11
- package/dist/routes-DPojsNf1.cjs.map +1 -0
- package/dist/{routes-gjTcauG8.js → routes-rwufkyUe.js} +13 -12
- package/dist/routes-rwufkyUe.js.map +1 -0
- package/dist/{schedules-CrAmZ2gu.js → schedules-BQYgaz66.js} +3 -3
- package/dist/{schedules-CrAmZ2gu.js.map → schedules-BQYgaz66.js.map} +1 -1
- package/dist/{schedules-B0g72u5Y.cjs → schedules-Bj-giFbc.cjs} +3 -3
- package/dist/{schedules-B0g72u5Y.cjs.map → schedules-Bj-giFbc.cjs.map} +1 -1
- package/dist/schema-Drf2W04o.js +2 -0
- package/dist/schema-EQanefYq.cjs +1 -0
- package/dist/{schema-e0VHpMt0-BS9KHnuT.cjs → schema-e0VHpMt0-C0452jOk.cjs} +2 -2
- package/dist/{schema-e0VHpMt0-BS9KHnuT.cjs.map → schema-e0VHpMt0-C0452jOk.cjs.map} +1 -1
- package/dist/{schema-e0VHpMt0-CvPvLS06.js → schema-e0VHpMt0-CVP5Hnxy.js} +2 -2
- package/dist/{schema-e0VHpMt0-CvPvLS06.js.map → schema-e0VHpMt0-CVP5Hnxy.js.map} +1 -1
- package/dist/server/a2a/tasks.d.ts +2 -2
- package/dist/server/a2a/tasks.d.ts.map +1 -1
- package/dist/server/handlers/a2a.cjs +1 -1
- package/dist/server/handlers/a2a.d.ts +2 -2
- package/dist/server/handlers/a2a.d.ts.map +1 -1
- package/dist/server/handlers/a2a.js +1 -1
- package/dist/server/handlers/agent-builder.cjs +4 -4
- package/dist/server/handlers/agent-builder.js +4 -4
- package/dist/server/handlers/agent-controller.cjs +259 -156
- package/dist/server/handlers/agent-controller.cjs.map +1 -1
- package/dist/server/handlers/agent-controller.d.ts +201 -150
- package/dist/server/handlers/agent-controller.d.ts.map +1 -1
- package/dist/server/handlers/agent-controller.js +259 -157
- package/dist/server/handlers/agent-controller.js.map +1 -1
- package/dist/server/handlers/agent-versions.cjs +2 -2
- package/dist/server/handlers/agent-versions.js +2 -2
- package/dist/server/handlers/agents.cjs +47 -27
- package/dist/server/handlers/agents.cjs.map +1 -1
- package/dist/server/handlers/agents.d.ts +14 -0
- package/dist/server/handlers/agents.d.ts.map +1 -1
- package/dist/server/handlers/agents.js +47 -27
- package/dist/server/handlers/agents.js.map +1 -1
- package/dist/server/handlers/auth.cjs +1 -1
- package/dist/server/handlers/auth.js +1 -1
- package/dist/server/handlers/background-tasks.cjs +1 -1
- package/dist/server/handlers/background-tasks.js +1 -1
- package/dist/server/handlers/builder-registry.cjs +1 -1
- package/dist/server/handlers/builder-registry.js +1 -1
- package/dist/server/handlers/channels.cjs +1 -1
- package/dist/server/handlers/channels.js +1 -1
- package/dist/server/handlers/conversations.cjs +2 -2
- package/dist/server/handlers/conversations.js +2 -2
- package/dist/server/handlers/datasets.cjs +1 -1
- package/dist/server/handlers/datasets.js +1 -1
- package/dist/server/handlers/dynamic-workflows.cjs +1 -1
- package/dist/server/handlers/dynamic-workflows.js +1 -1
- package/dist/server/handlers/editor-builder.cjs +1 -1
- package/dist/server/handlers/editor-builder.js +1 -1
- package/dist/server/handlers/error.cjs +14 -5
- package/dist/server/handlers/error.cjs.map +1 -1
- package/dist/server/handlers/error.d.ts.map +1 -1
- package/dist/server/handlers/error.js +14 -5
- package/dist/server/handlers/error.js.map +1 -1
- package/dist/server/handlers/favorites-enrichment.cjs +1 -1
- package/dist/server/handlers/favorites-enrichment.js +1 -1
- package/dist/server/handlers/logs.cjs +2 -2
- package/dist/server/handlers/logs.js +2 -2
- package/dist/server/handlers/mcp-client-versions.cjs +2 -2
- package/dist/server/handlers/mcp-client-versions.js +2 -2
- package/dist/server/handlers/mcp.cjs +1 -1
- package/dist/server/handlers/mcp.js +1 -1
- package/dist/server/handlers/memory.cjs +2 -2
- package/dist/server/handlers/memory.js +2 -2
- package/dist/server/handlers/observability-new-endpoints.cjs +1 -1
- package/dist/server/handlers/observability-new-endpoints.d.ts +355 -35
- package/dist/server/handlers/observability-new-endpoints.d.ts.map +1 -1
- package/dist/server/handlers/observability-new-endpoints.js +1 -1
- package/dist/server/handlers/observability-shared.cjs +96 -9
- package/dist/server/handlers/observability-shared.cjs.map +1 -1
- package/dist/server/handlers/observability-shared.d.ts +36 -1
- package/dist/server/handlers/observability-shared.d.ts.map +1 -1
- package/dist/server/handlers/observability-shared.js +90 -10
- package/dist/server/handlers/observability-shared.js.map +1 -1
- package/dist/server/handlers/observability.cjs +2 -2
- package/dist/server/handlers/observability.js +2 -2
- package/dist/server/handlers/plans.cjs +3 -3
- package/dist/server/handlers/plans.js +3 -3
- package/dist/server/handlers/processor-providers.cjs +1 -1
- package/dist/server/handlers/processor-providers.js +1 -1
- package/dist/server/handlers/processors.cjs +1 -1
- package/dist/server/handlers/processors.js +1 -1
- package/dist/server/handlers/prompt-block-versions.cjs +2 -2
- package/dist/server/handlers/prompt-block-versions.js +2 -2
- package/dist/server/handlers/responses.cjs +2 -2
- package/dist/server/handlers/responses.js +2 -2
- package/dist/server/handlers/responses.storage.cjs +1 -1
- package/dist/server/handlers/responses.storage.js +1 -1
- package/dist/server/handlers/schedules.cjs +1 -1
- package/dist/server/handlers/schedules.js +1 -1
- package/dist/server/handlers/scorer-versions.cjs +2 -2
- package/dist/server/handlers/scorer-versions.js +2 -2
- package/dist/server/handlers/scores.cjs +1 -1
- package/dist/server/handlers/scores.js +1 -1
- package/dist/server/handlers/stored-agent-favorites.cjs +3 -3
- package/dist/server/handlers/stored-agent-favorites.js +3 -3
- package/dist/server/handlers/stored-agents.cjs +3 -3
- package/dist/server/handlers/stored-agents.js +3 -3
- package/dist/server/handlers/stored-mcp-clients.cjs +2 -2
- package/dist/server/handlers/stored-mcp-clients.js +2 -2
- package/dist/server/handlers/stored-prompt-blocks.cjs +2 -2
- package/dist/server/handlers/stored-prompt-blocks.js +2 -2
- package/dist/server/handlers/stored-scorers.cjs +2 -2
- package/dist/server/handlers/stored-scorers.js +2 -2
- package/dist/server/handlers/stored-skill-favorites.cjs +3 -3
- package/dist/server/handlers/stored-skill-favorites.js +3 -3
- package/dist/server/handlers/stored-skills.cjs +3 -3
- package/dist/server/handlers/stored-skills.js +3 -3
- package/dist/server/handlers/stored-workspaces.cjs +2 -2
- package/dist/server/handlers/stored-workspaces.js +2 -2
- package/dist/server/handlers/system.cjs +3 -3
- package/dist/server/handlers/system.d.ts +12 -0
- package/dist/server/handlers/system.d.ts.map +1 -1
- package/dist/server/handlers/system.js +3 -3
- package/dist/server/handlers/tool-providers.cjs +1 -1
- package/dist/server/handlers/tool-providers.js +1 -1
- package/dist/server/handlers/tools.cjs +6 -6
- package/dist/server/handlers/tools.js +6 -6
- package/dist/server/handlers/utils.cjs +2 -1
- package/dist/server/handlers/utils.d.ts +9 -0
- package/dist/server/handlers/utils.d.ts.map +1 -1
- package/dist/server/handlers/utils.js +2 -2
- package/dist/server/handlers/validate-agent-instructions.cjs +1 -1
- package/dist/server/handlers/validate-agent-instructions.js +1 -1
- package/dist/server/handlers/vector.cjs +1 -1
- package/dist/server/handlers/vector.js +1 -1
- package/dist/server/handlers/workflow-builder.cjs +1 -1
- package/dist/server/handlers/workflow-builder.d.ts.map +1 -1
- package/dist/server/handlers/workflow-builder.js +1 -1
- package/dist/server/handlers/workflows.cjs +4 -4
- package/dist/server/handlers/workflows.js +4 -4
- package/dist/server/handlers/workspace.cjs +1 -1
- package/dist/server/handlers/workspace.js +1 -1
- package/dist/server/handlers.cjs +2 -2
- package/dist/server/handlers.js +2 -2
- package/dist/server/schemas/agents.d.ts +5 -0
- package/dist/server/schemas/agents.d.ts.map +1 -1
- package/dist/server/schemas/index.cjs +3 -3
- package/dist/server/schemas/index.js +3 -3
- package/dist/server/schemas/system.d.ts +12 -0
- package/dist/server/schemas/system.d.ts.map +1 -1
- package/dist/server/server-adapter/api-schema-manifest.d.ts +2 -0
- package/dist/server/server-adapter/api-schema-manifest.d.ts.map +1 -1
- package/dist/server/server-adapter/index.cjs +9 -4
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.d.ts.map +1 -1
- package/dist/server/server-adapter/index.js +9 -4
- package/dist/server/server-adapter/index.js.map +1 -1
- package/dist/server/server-adapter/openapi-utils.d.ts +19 -1
- package/dist/server/server-adapter/openapi-utils.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/agent-controller.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/observability.d.ts +177 -17
- package/dist/server/server-adapter/routes/observability.d.ts.map +1 -1
- package/dist/server/server-adapter/routes/system.d.ts +12 -0
- package/dist/server/server-adapter/routes/system.d.ts.map +1 -1
- package/dist/{system-DY6UweSl.cjs → system-BvpFMIJB.cjs} +7 -1
- package/dist/system-BvpFMIJB.cjs.map +1 -0
- package/dist/{system-MGpkVA20.js → system-CpzPxRRq.js} +7 -1
- package/dist/system-CpzPxRRq.js.map +1 -0
- package/dist/{utils-D5DHrO3K.js → utils-BBJlS81s.js} +19 -2
- package/dist/{utils-D5DHrO3K.js.map → utils-BBJlS81s.js.map} +1 -1
- package/dist/{utils-tmrFs-gf.js → utils-DCAUeb6M.js} +3 -3
- package/dist/{utils-tmrFs-gf.js.map → utils-DCAUeb6M.js.map} +1 -1
- package/dist/{utils-BZdnPmsW.cjs → utils-DCgeTrq2.cjs} +3 -3
- package/dist/{utils-BZdnPmsW.cjs.map → utils-DCgeTrq2.cjs.map} +1 -1
- package/dist/{utils-CczRcgHQ.cjs → utils-Du-EpvDs.cjs} +24 -1
- package/dist/{utils-CczRcgHQ.cjs.map → utils-Du-EpvDs.cjs.map} +1 -1
- package/dist/{workflow-builder-DdSutoga.cjs → workflow-builder-Brj3IArM.cjs} +6 -6
- package/dist/workflow-builder-Brj3IArM.cjs.map +1 -0
- package/dist/{workflow-builder-DJ0eeJuG.js → workflow-builder-DOa1Vx6w.js} +6 -6
- package/dist/workflow-builder-DOa1Vx6w.js.map +1 -0
- package/package.json +9 -10
- package/dist/a2a-Dg3ylOKc.js.map +0 -1
- package/dist/agents-D9vpLghy.cjs.map +0 -1
- package/dist/agents-DNWDET4U.js.map +0 -1
- package/dist/api-schema-manifest-BiW4tqad.js.map +0 -1
- package/dist/api-schema-manifest-DvcVwlpA.cjs.map +0 -1
- package/dist/dist-CKHUMrWI.cjs.map +0 -1
- package/dist/dist-hfFDNas-.js.map +0 -1
- package/dist/observability-new-endpoints-BKFVVMTS.cjs.map +0 -1
- package/dist/observability-new-endpoints-C5VO7nLK.js.map +0 -1
- package/dist/route-builder-lBil8Cvo.js.map +0 -1
- package/dist/routes-D36OQQe5.cjs.map +0 -1
- package/dist/routes-gjTcauG8.js.map +0 -1
- package/dist/schema-BVcoNfni.cjs +0 -1
- package/dist/schema-Xxr5X5Je.js +0 -2
- package/dist/system-DY6UweSl.cjs.map +0 -1
- package/dist/system-MGpkVA20.js.map +0 -1
- package/dist/workflow-builder-DJ0eeJuG.js.map +0 -1
- package/dist/workflow-builder-DdSutoga.cjs.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { a as require_json_schema_traverse, n as standardSchemaToJSONSchema } from "./schema-e0VHpMt0-
|
|
1
|
+
import { a as require_json_schema_traverse, n as standardSchemaToJSONSchema } from "./schema-e0VHpMt0-CVP5Hnxy.js";
|
|
2
2
|
import { ZodArray, ZodNullable, ZodObject, ZodOptional, ZodRecord, z } from "zod/v4";
|
|
3
3
|
import { toStandardSchema } from "@mastra/core/schema";
|
|
4
4
|
import { zodToJsonSchema } from "@mastra/core/utils/zod-to-json";
|
|
5
5
|
import { ZodFirstPartyTypeKind } from "zod/v3";
|
|
6
6
|
import { z as z$2 } from "zod";
|
|
7
|
-
//#region ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/zod-from-json-schema/0.5.2/
|
|
7
|
+
//#region ../../../../../setup-pnpm/node_modules/.bin/store/v11/links/@/zod-from-json-schema/0.5.2/938b1a90632b5c19aade6e212477c764befeb6d6e1cdb7cfde7de2557cd03f99/node_modules/zod-from-json-schema/dist/index.mjs
|
|
8
8
|
var TypeHandler = class {
|
|
9
9
|
apply(types, schema) {
|
|
10
10
|
if (!schema.type) return;
|
|
@@ -3440,7 +3440,7 @@ createIdGenerator({
|
|
|
3440
3440
|
size: 24
|
|
3441
3441
|
});
|
|
3442
3442
|
__export({}, {
|
|
3443
|
-
object: () => object,
|
|
3443
|
+
object: () => object$1,
|
|
3444
3444
|
text: () => text
|
|
3445
3445
|
});
|
|
3446
3446
|
var text = () => ({
|
|
@@ -3456,7 +3456,7 @@ var text = () => ({
|
|
|
3456
3456
|
return text2;
|
|
3457
3457
|
}
|
|
3458
3458
|
});
|
|
3459
|
-
var object = ({ schema: inputSchema }) => {
|
|
3459
|
+
var object$1 = ({ schema: inputSchema }) => {
|
|
3460
3460
|
const schema = asSchema(inputSchema);
|
|
3461
3461
|
return {
|
|
3462
3462
|
type: "object",
|
|
@@ -3835,10 +3835,107 @@ function generateRouteOpenAPI({ method, path, summary, description, tags = [], p
|
|
|
3835
3835
|
function schemaToJsonSchema(schema) {
|
|
3836
3836
|
return standardSchemaToJSONSchema(toStandardSchema(schema));
|
|
3837
3837
|
}
|
|
3838
|
+
const DEFINITION_KEYWORDS = ["$defs", "definitions"];
|
|
3839
|
+
const GENERATED_DEFINITION_NAME = /^__schema\d+$/;
|
|
3840
|
+
function createComponentSchemas() {
|
|
3841
|
+
return Object.create(null);
|
|
3842
|
+
}
|
|
3843
|
+
function escapeJsonPointer(segment) {
|
|
3844
|
+
return segment.replace(/~/g, "~0").replace(/\//g, "~1");
|
|
3845
|
+
}
|
|
3846
|
+
function componentRef(name) {
|
|
3847
|
+
return `#/components/schemas/${escapeJsonPointer(name)}`;
|
|
3848
|
+
}
|
|
3849
|
+
function toComponentName(name) {
|
|
3850
|
+
return GENERATED_DEFINITION_NAME.test(name) ? "Schema" : name.replace(/[^a-zA-Z0-9.\-_]/g, "_") || "Schema";
|
|
3851
|
+
}
|
|
3852
|
+
function containsRootRef(node) {
|
|
3853
|
+
if (Array.isArray(node)) return node.some(containsRootRef);
|
|
3854
|
+
if (!node || typeof node !== "object") return false;
|
|
3855
|
+
return Object.entries(node).some(([key, value]) => key === "$ref" ? value === "#" : containsRootRef(value));
|
|
3856
|
+
}
|
|
3857
|
+
function rewriteRefs(node, rewrite) {
|
|
3858
|
+
if (Array.isArray(node)) return node.map((child) => rewriteRefs(child, rewrite));
|
|
3859
|
+
if (!node || typeof node !== "object") return node;
|
|
3860
|
+
const result = {};
|
|
3861
|
+
for (const [key, value] of Object.entries(node)) result[key] = key === "$ref" && typeof value === "string" ? rewrite(value) : rewriteRefs(value, rewrite);
|
|
3862
|
+
return result;
|
|
3863
|
+
}
|
|
3864
|
+
/**
|
|
3865
|
+
* Moves the local `$defs`/`definitions` of a standalone JSON Schema into the shared
|
|
3866
|
+
* `components.schemas` map and rewrites its local refs to `#/components/schemas/<name>`.
|
|
3867
|
+
*
|
|
3868
|
+
* A converted schema references its own definitions as `#/definitions/__schema0` (or
|
|
3869
|
+
* `#/$defs/Invoice`, or `#` for a recursive root), which only resolves while the schema is
|
|
3870
|
+
* the document. Once embedded in the OpenAPI document `#` is the document root, so the refs
|
|
3871
|
+
* would dangle. Identical definitions are shared; different ones get a unique name.
|
|
3872
|
+
*/
|
|
3873
|
+
function hoistSchemaDefinitions(schema, components) {
|
|
3874
|
+
if (!schema || typeof schema !== "object" || Array.isArray(schema)) return schema;
|
|
3875
|
+
const root = { ...schema };
|
|
3876
|
+
const members = [];
|
|
3877
|
+
for (const keyword of DEFINITION_KEYWORDS) {
|
|
3878
|
+
const definitions = root[keyword];
|
|
3879
|
+
if (!definitions || typeof definitions !== "object") continue;
|
|
3880
|
+
delete root[keyword];
|
|
3881
|
+
for (const [name, body] of Object.entries(definitions)) members.push({
|
|
3882
|
+
pointer: `#/${keyword}/${escapeJsonPointer(name)}`,
|
|
3883
|
+
base: toComponentName(name),
|
|
3884
|
+
body
|
|
3885
|
+
});
|
|
3886
|
+
}
|
|
3887
|
+
const rootIsReferenced = containsRootRef(root) || members.some((member) => containsRootRef(member.body));
|
|
3888
|
+
if (rootIsReferenced) members.push({
|
|
3889
|
+
pointer: "#",
|
|
3890
|
+
base: "Schema",
|
|
3891
|
+
body: root
|
|
3892
|
+
});
|
|
3893
|
+
if (members.length === 0) return schema;
|
|
3894
|
+
const names = members.map((member) => member.base);
|
|
3895
|
+
const suffixes = members.map(() => 1);
|
|
3896
|
+
const rewrite = (ref) => {
|
|
3897
|
+
for (let i = 0; i < members.length; i++) {
|
|
3898
|
+
const { pointer } = members[i];
|
|
3899
|
+
if (ref === pointer) return componentRef(names[i]);
|
|
3900
|
+
if (pointer !== "#" && ref.startsWith(`${pointer}/`)) return componentRef(names[i]) + ref.slice(pointer.length);
|
|
3901
|
+
}
|
|
3902
|
+
return ref;
|
|
3903
|
+
};
|
|
3904
|
+
let bodies;
|
|
3905
|
+
for (;;) {
|
|
3906
|
+
bodies = members.map((member) => JSON.stringify(rewriteRefs(member.body, rewrite)));
|
|
3907
|
+
const taken = /* @__PURE__ */ new Set();
|
|
3908
|
+
let conflict = false;
|
|
3909
|
+
members.forEach((_, i) => {
|
|
3910
|
+
const name = names[i];
|
|
3911
|
+
const existing = components[name];
|
|
3912
|
+
if (taken.has(name) || existing !== void 0 && JSON.stringify(existing) !== bodies[i]) {
|
|
3913
|
+
suffixes[i] += 1;
|
|
3914
|
+
names[i] = `${members[i].base}_${suffixes[i]}`;
|
|
3915
|
+
conflict = true;
|
|
3916
|
+
}
|
|
3917
|
+
taken.add(name);
|
|
3918
|
+
});
|
|
3919
|
+
if (!conflict) break;
|
|
3920
|
+
}
|
|
3921
|
+
members.forEach((_, i) => {
|
|
3922
|
+
components[names[i]] ??= JSON.parse(bodies[i]);
|
|
3923
|
+
});
|
|
3924
|
+
return rootIsReferenced ? { $ref: componentRef(names[names.length - 1]) } : rewriteRefs(root, rewrite);
|
|
3925
|
+
}
|
|
3926
|
+
function toComponentSchema(schema, components) {
|
|
3927
|
+
const jsonSchema = schemaToJsonSchema(schema);
|
|
3928
|
+
return components ? hoistSchemaDefinitions(jsonSchema, components) : jsonSchema;
|
|
3929
|
+
}
|
|
3930
|
+
function resolveComponentRef(schema, components) {
|
|
3931
|
+
if (!components) return schema;
|
|
3932
|
+
if (typeof schema?.$ref !== "string" || !schema.$ref.startsWith("#/components/schemas/")) return schema;
|
|
3933
|
+
return components[schema.$ref.slice(21).replace(/~1/g, "/").replace(/~0/g, "~")] ?? schema;
|
|
3934
|
+
}
|
|
3838
3935
|
/**
|
|
3839
3936
|
* Converts an OpenAPI route spec with PublicSchema to one with JSON Schema
|
|
3840
3937
|
*/
|
|
3841
|
-
function convertToJsonSchema(spec) {
|
|
3938
|
+
function convertToJsonSchema(spec, components) {
|
|
3842
3939
|
const converted = {
|
|
3843
3940
|
summary: spec.summary,
|
|
3844
3941
|
description: spec.description,
|
|
@@ -3848,7 +3945,7 @@ function convertToJsonSchema(spec) {
|
|
|
3848
3945
|
};
|
|
3849
3946
|
const parameters = [];
|
|
3850
3947
|
if (spec.requestParams?.path) {
|
|
3851
|
-
const properties =
|
|
3948
|
+
const properties = resolveComponentRef(toComponentSchema(spec.requestParams.path, components), components).properties || {};
|
|
3852
3949
|
Object.entries(properties).forEach(([name, schema]) => {
|
|
3853
3950
|
parameters.push({
|
|
3854
3951
|
name,
|
|
@@ -3860,7 +3957,7 @@ function convertToJsonSchema(spec) {
|
|
|
3860
3957
|
});
|
|
3861
3958
|
}
|
|
3862
3959
|
if (spec.requestParams?.query) {
|
|
3863
|
-
const querySchema =
|
|
3960
|
+
const querySchema = resolveComponentRef(toComponentSchema(spec.requestParams.query, components), components);
|
|
3864
3961
|
const properties = querySchema.properties || {};
|
|
3865
3962
|
const required = querySchema.required || [];
|
|
3866
3963
|
Object.entries(properties).forEach(([name, schema]) => {
|
|
@@ -3876,11 +3973,11 @@ function convertToJsonSchema(spec) {
|
|
|
3876
3973
|
if (parameters.length > 0) converted.parameters = parameters;
|
|
3877
3974
|
if (spec.requestBody?.content?.["application/json"]?.schema) converted.requestBody = {
|
|
3878
3975
|
required: true,
|
|
3879
|
-
content: { "application/json": { schema:
|
|
3976
|
+
content: { "application/json": { schema: toComponentSchema(spec.requestBody.content["application/json"].schema, components) } }
|
|
3880
3977
|
};
|
|
3881
3978
|
Object.entries(spec.responses).forEach(([statusCode, response]) => {
|
|
3882
3979
|
converted.responses[statusCode] = { description: response.description };
|
|
3883
|
-
if (response.content?.["application/json"]?.schema) converted.responses[statusCode].content = { "application/json": { schema:
|
|
3980
|
+
if (response.content?.["application/json"]?.schema) converted.responses[statusCode].content = { "application/json": { schema: toComponentSchema(response.content["application/json"].schema, components) } };
|
|
3884
3981
|
});
|
|
3885
3982
|
return converted;
|
|
3886
3983
|
}
|
|
@@ -3892,11 +3989,12 @@ function convertToJsonSchema(spec) {
|
|
|
3892
3989
|
*/
|
|
3893
3990
|
function generateOpenAPIDocument(routes, info) {
|
|
3894
3991
|
const paths = Object.create(null);
|
|
3992
|
+
const componentSchemas = createComponentSchemas();
|
|
3895
3993
|
routes.forEach((route) => {
|
|
3896
3994
|
if (!route.openapi) return;
|
|
3897
3995
|
const openapiPath = route.path.replace(/:(\w+)/g, "{$1}");
|
|
3898
3996
|
if (!paths[openapiPath]) paths[openapiPath] = Object.create(null);
|
|
3899
|
-
paths[openapiPath][route.method.toLowerCase()] = convertToJsonSchema(route.openapi);
|
|
3997
|
+
paths[openapiPath][route.method.toLowerCase()] = convertToJsonSchema(route.openapi, componentSchemas);
|
|
3900
3998
|
});
|
|
3901
3999
|
return {
|
|
3902
4000
|
openapi: "3.1.0",
|
|
@@ -3905,7 +4003,8 @@ function generateOpenAPIDocument(routes, info) {
|
|
|
3905
4003
|
version: info.version,
|
|
3906
4004
|
description: info.description
|
|
3907
4005
|
},
|
|
3908
|
-
paths
|
|
4006
|
+
paths,
|
|
4007
|
+
...Object.keys(componentSchemas).length > 0 && { components: { schemas: componentSchemas } }
|
|
3909
4008
|
};
|
|
3910
4009
|
}
|
|
3911
4010
|
/**
|
|
@@ -3914,18 +4013,25 @@ function generateOpenAPIDocument(routes, info) {
|
|
|
3914
4013
|
* so it already has the standard OpenAPI structure (parameters, requestBody, responses, etc.).
|
|
3915
4014
|
*
|
|
3916
4015
|
* @param routes - Array of ApiRoute objects with optional openapi specifications
|
|
4016
|
+
* @param componentSchemas - The document's `components.schemas` map. Nested schema definitions are
|
|
4017
|
+
* hoisted into it and referenced as `#/components/schemas/<name>`, so the caller must serve it.
|
|
4018
|
+
* When omitted, schemas are left as converted (definitions stay nested), so no ref can point at a
|
|
4019
|
+
* component the caller never serves. Callers that serve the returned paths in an OpenAPI document
|
|
4020
|
+
* should pass a map and emit it as `components.schemas`; otherwise refs stay schema-relative
|
|
4021
|
+
* (for example `#/$defs/Invoice`) and do not resolve from the document root.
|
|
3917
4022
|
* @returns OpenAPI paths object to be merged into the main spec
|
|
3918
4023
|
*/
|
|
3919
|
-
function convertCustomRoutesToOpenAPIPaths(routes) {
|
|
3920
|
-
const paths =
|
|
4024
|
+
function convertCustomRoutesToOpenAPIPaths(routes, componentSchemas) {
|
|
4025
|
+
const paths = Object.create(null);
|
|
4026
|
+
const hoist = (schema) => componentSchemas ? hoistSchemaDefinitions(schema, componentSchemas) : schema;
|
|
3921
4027
|
for (const route of routes) {
|
|
3922
4028
|
if (!route.openapi || route.openapi.hide) continue;
|
|
3923
4029
|
if (route.method === "ALL") continue;
|
|
3924
4030
|
const openapiPath = route.path.replace(/:(\w+)/g, "{$1}");
|
|
3925
|
-
if (!paths[openapiPath]) paths[openapiPath] =
|
|
4031
|
+
if (!paths[openapiPath]) paths[openapiPath] = Object.create(null);
|
|
3926
4032
|
const method = route.method.toLowerCase();
|
|
3927
4033
|
if (isSchemaApiRoute(route)) {
|
|
3928
|
-
paths[openapiPath][method] = convertToJsonSchema(route.openapi);
|
|
4034
|
+
paths[openapiPath][method] = convertToJsonSchema(route.openapi, componentSchemas);
|
|
3929
4035
|
continue;
|
|
3930
4036
|
}
|
|
3931
4037
|
const openapi = route.openapi;
|
|
@@ -3941,7 +4047,7 @@ function convertCustomRoutesToOpenAPIPaths(routes) {
|
|
|
3941
4047
|
if (openapi.parameters && Array.isArray(openapi.parameters)) operation.parameters = openapi.parameters.map((param) => {
|
|
3942
4048
|
if (param.schema && typeof param.schema === "object" && "_def" in param.schema) return {
|
|
3943
4049
|
...param,
|
|
3944
|
-
schema: zodToJsonSchema(param.schema, "openApi3", "none")
|
|
4050
|
+
schema: hoist(zodToJsonSchema(param.schema, "openApi3", "none"))
|
|
3945
4051
|
};
|
|
3946
4052
|
return param;
|
|
3947
4053
|
});
|
|
@@ -3952,7 +4058,7 @@ function convertCustomRoutesToOpenAPIPaths(routes) {
|
|
|
3952
4058
|
operation.requestBody.content = {};
|
|
3953
4059
|
for (const [mediaType, mediaContent] of Object.entries(requestBody.content)) if (mediaContent?.schema && typeof mediaContent.schema === "object" && "_def" in mediaContent.schema) operation.requestBody.content[mediaType] = {
|
|
3954
4060
|
...mediaContent,
|
|
3955
|
-
schema: zodToJsonSchema(mediaContent.schema, "openApi3", "none")
|
|
4061
|
+
schema: hoist(zodToJsonSchema(mediaContent.schema, "openApi3", "none"))
|
|
3956
4062
|
};
|
|
3957
4063
|
else operation.requestBody.content[mediaType] = mediaContent;
|
|
3958
4064
|
}
|
|
@@ -3970,7 +4076,7 @@ function convertCustomRoutesToOpenAPIPaths(routes) {
|
|
|
3970
4076
|
operation.responses[statusCode].content = {};
|
|
3971
4077
|
for (const [mediaType, mediaContent] of Object.entries(response.content)) if (mediaContent?.schema && typeof mediaContent.schema === "object" && "_def" in mediaContent.schema) operation.responses[statusCode].content[mediaType] = {
|
|
3972
4078
|
...mediaContent,
|
|
3973
|
-
schema: zodToJsonSchema(mediaContent.schema, "openApi3", "none")
|
|
4079
|
+
schema: hoist(zodToJsonSchema(mediaContent.schema, "openApi3", "none"))
|
|
3974
4080
|
};
|
|
3975
4081
|
else operation.responses[statusCode].content[mediaType] = mediaContent;
|
|
3976
4082
|
}
|
|
@@ -4214,4 +4320,4 @@ function createPublicRoute(config) {
|
|
|
4214
4320
|
//#endregion
|
|
4215
4321
|
export { wrapSchemaForQueryParams as a, schemaToJsonSchema as c, pickParams as i, createRoute as n, convertCustomRoutesToOpenAPIPaths as o, jsonQueryParam as r, generateOpenAPIDocument as s, createPublicRoute as t };
|
|
4216
4322
|
|
|
4217
|
-
//# sourceMappingURL=route-builder-
|
|
4323
|
+
//# sourceMappingURL=route-builder-BfQYtclb.js.map
|