@mastra/server 1.79.0-alpha.10 → 1.79.0-alpha.11
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/{a2a-CHBSYHxu.js → a2a-BqLB3McP.js} +17 -16
- package/dist/a2a-BqLB3McP.js.map +1 -0
- package/dist/{a2a-B465DD1u.cjs → a2a-Uood_0DN.cjs} +19 -18
- package/dist/a2a-Uood_0DN.cjs.map +1 -0
- package/dist/agent-builder-CuBD1tpv.cjs +728 -0
- package/dist/agent-builder-CuBD1tpv.cjs.map +1 -0
- package/dist/agent-builder-VhM8ADW-.js +627 -0
- package/dist/agent-builder-VhM8ADW-.js.map +1 -0
- package/dist/{agents-X1E7fW3p.js → agents-BHLTMBff.js} +2 -2
- package/dist/{agents-X1E7fW3p.js.map → agents-BHLTMBff.js.map} +1 -1
- package/dist/agents-BOWEUKyV.cjs +3127 -0
- package/dist/agents-BOWEUKyV.cjs.map +1 -0
- package/dist/agents-DRQ3ScbX.js +2828 -0
- package/dist/agents-DRQ3ScbX.js.map +1 -0
- package/dist/{agents-DoNMSCMt.cjs → agents-T-OIM9IK.cjs} +2 -2
- package/dist/{agents-DoNMSCMt.cjs.map → agents-T-OIM9IK.cjs.map} +1 -1
- package/dist/{api-schema-manifest-DUseI2VG.cjs → api-schema-manifest-A2qfi54Y.cjs} +4 -4
- package/dist/{api-schema-manifest-DUseI2VG.cjs.map → api-schema-manifest-A2qfi54Y.cjs.map} +1 -1
- package/dist/{api-schema-manifest-CWRIJP-B.js → api-schema-manifest-Dun5VMRT.js} +3 -3
- package/dist/{api-schema-manifest-CWRIJP-B.js.map → api-schema-manifest-Dun5VMRT.js.map} +1 -1
- package/dist/{background-tasks-CabImVak.cjs → background-tasks-B3VAKTJh.cjs} +3 -3
- package/dist/{background-tasks-CabImVak.cjs.map → background-tasks-B3VAKTJh.cjs.map} +1 -1
- package/dist/{background-tasks-oBaLtnCn.js → background-tasks-Du2zYOPl.js} +2 -2
- package/dist/{background-tasks-oBaLtnCn.js.map → background-tasks-Du2zYOPl.js.map} +1 -1
- package/dist/{builder-registry-DOkLe8ES.js → builder-registry-DLdu9bWH.js} +3 -3
- package/dist/{builder-registry-DOkLe8ES.js.map → builder-registry-DLdu9bWH.js.map} +1 -1
- package/dist/{builder-registry-D0frV8lQ.cjs → builder-registry-DaFAaMTf.cjs} +3 -3
- package/dist/{builder-registry-D0frV8lQ.cjs.map → builder-registry-DaFAaMTf.cjs.map} +1 -1
- package/dist/{channels-CBIopVWd.cjs → channels-BnVRmnzK.cjs} +6 -3
- package/dist/{channels-CBIopVWd.cjs.map → channels-BnVRmnzK.cjs.map} +1 -1
- package/dist/{channels-BOxgHvzI.js → channels-Db-4pXVZ.js} +6 -3
- package/dist/{channels-BOxgHvzI.js.map → channels-Db-4pXVZ.js.map} +1 -1
- package/dist/conversations-8BWryNlF.js +165 -0
- package/dist/conversations-8BWryNlF.js.map +1 -0
- package/dist/conversations-C5MkQBB8.cjs +194 -0
- package/dist/conversations-C5MkQBB8.cjs.map +1 -0
- package/dist/{conversations-Bj5TLNqF.cjs → conversations-DasqEDCF.cjs} +3 -3
- package/dist/{conversations-Bj5TLNqF.cjs.map → conversations-DasqEDCF.cjs.map} +1 -1
- package/dist/{dist-9c3PXXpk.cjs → dist-B-bEVWlJ.cjs} +4733 -1251
- package/dist/dist-B-bEVWlJ.cjs.map +1 -0
- package/dist/dist-B3kC8Yd0.cjs +3 -0
- package/dist/{dist-CQ3FSKT-.cjs → dist-B9ery9Zw.cjs} +38 -35
- package/dist/{dist-CQ3FSKT-.cjs.map → dist-B9ery9Zw.cjs.map} +1 -1
- package/dist/{dist-BxMmGD3n.js → dist-BBOnrL_A.js} +10 -12
- package/dist/{dist-BxMmGD3n.js.map → dist-BBOnrL_A.js.map} +1 -1
- package/dist/{dist-DOWsEmo6.js → dist-BIrQLUV9.js} +20 -20
- package/dist/{dist-DOWsEmo6.js.map → dist-BIrQLUV9.js.map} +1 -1
- package/dist/dist-BM9J-PTK.js +1 -0
- package/dist/{dist-DC1Pewf5.cjs → dist-Bo3GdQwf.cjs} +21 -21
- package/dist/{dist-DC1Pewf5.cjs.map → dist-Bo3GdQwf.cjs.map} +1 -1
- package/dist/{dist-BwYL7Ykb.js → dist-CREG82cy.js} +37 -34
- package/dist/{dist-BwYL7Ykb.js.map → dist-CREG82cy.js.map} +1 -1
- package/dist/{dist-rDRetJVY.cjs → dist-CeTLA-e5.cjs} +2 -3
- package/dist/{dist-rDRetJVY.cjs.map → dist-CeTLA-e5.cjs.map} +1 -1
- package/dist/{dist-CBRJax5e.js → dist-DLld1qjf.js} +25 -31
- package/dist/{dist-CBRJax5e.js.map → dist-DLld1qjf.js.map} +1 -1
- package/dist/{dist-B_bet8uz.js → dist-DjkPkAzV.js} +2 -3
- package/dist/{dist-B_bet8uz.js.map → dist-DjkPkAzV.js.map} +1 -1
- package/dist/{dist-UKEksCGq.cjs → dist-DsrJXwic.cjs} +11 -13
- package/dist/{dist-UKEksCGq.cjs.map → dist-DsrJXwic.cjs.map} +1 -1
- package/dist/{dist-DGCnbhNe.js → dist-k77XQGUn.js} +4493 -1043
- package/dist/dist-k77XQGUn.js.map +1 -0
- package/dist/{dist-3FPW9nVj.cjs → dist-lT2rqyY9.cjs} +26 -32
- package/dist/{dist-3FPW9nVj.cjs.map → dist-lT2rqyY9.cjs.map} +1 -1
- package/dist/docs/SKILL.md +1 -1
- package/dist/docs/assets/SOURCE_MAP.json +1 -1
- package/dist/{dynamic-workflows-Rr_6ac1y.js → dynamic-workflows-CTUO0SFu.js} +3 -3
- package/dist/{dynamic-workflows-Rr_6ac1y.js.map → dynamic-workflows-CTUO0SFu.js.map} +1 -1
- package/dist/{dynamic-workflows-DXlkr-jK.cjs → dynamic-workflows-HwPX3mcf.cjs} +3 -3
- package/dist/{dynamic-workflows-DXlkr-jK.cjs.map → dynamic-workflows-HwPX3mcf.cjs.map} +1 -1
- package/dist/{editor-builder-BclcHxN6.cjs → editor-builder-BDtiWw0f.cjs} +2 -2
- package/dist/{editor-builder-BclcHxN6.cjs.map → editor-builder-BDtiWw0f.cjs.map} +1 -1
- package/dist/{editor-builder-D16kc1P6.js → editor-builder-ClFlGXoX.js} +4 -4
- package/dist/{editor-builder-D16kc1P6.js.map → editor-builder-ClFlGXoX.js.map} +1 -1
- package/dist/{editor-builder-s9WqPJgA.js → editor-builder-DnLCfqnY.js} +2 -2
- package/dist/{editor-builder-s9WqPJgA.js.map → editor-builder-DnLCfqnY.js.map} +1 -1
- package/dist/{editor-builder-DXHiPX1A.cjs → editor-builder-DtpP1FtW.cjs} +5 -5
- package/dist/{editor-builder-DXHiPX1A.cjs.map → editor-builder-DtpP1FtW.cjs.map} +1 -1
- package/dist/{helpers-ElhPeCSK.cjs → helpers-CAcEhq38.cjs} +21 -17
- package/dist/{helpers-ElhPeCSK.cjs.map → helpers-CAcEhq38.cjs.map} +1 -1
- package/dist/{helpers-DLhX1fqc.js → helpers-vrqddDd5.js} +21 -17
- package/dist/{helpers-DLhX1fqc.js.map → helpers-vrqddDd5.js.map} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/logs-CiSw7r0s.cjs +119 -0
- package/dist/logs-CiSw7r0s.cjs.map +1 -0
- package/dist/logs-CxfPk-iL.js +96 -0
- package/dist/logs-CxfPk-iL.js.map +1 -0
- package/dist/mcp-BTdLh6E_.js +274 -0
- package/dist/mcp-BTdLh6E_.js.map +1 -0
- package/dist/mcp-BYqFR5q-.cjs +339 -0
- package/dist/mcp-BYqFR5q-.cjs.map +1 -0
- package/dist/memory-BHtTSzvJ.js +1739 -0
- package/dist/memory-BHtTSzvJ.js.map +1 -0
- package/dist/memory-CwwkVDh1.cjs +1906 -0
- package/dist/memory-CwwkVDh1.cjs.map +1 -0
- package/dist/observability-BBMCMeT-.cjs +502 -0
- package/dist/observability-BBMCMeT-.cjs.map +1 -0
- package/dist/observability-ZRgRcvoX.js +431 -0
- package/dist/observability-ZRgRcvoX.js.map +1 -0
- package/dist/{observability-new-endpoints-BU8JYPfh.js → observability-new-endpoints-fjoZzEtk.js} +10 -9
- package/dist/{observability-new-endpoints-BU8JYPfh.js.map → observability-new-endpoints-fjoZzEtk.js.map} +1 -1
- package/dist/{observability-new-endpoints-AMp9bnMV.cjs → observability-new-endpoints-tG3-odLa.cjs} +11 -10
- package/dist/observability-new-endpoints-tG3-odLa.cjs.map +1 -0
- package/dist/plans-CiPgWBhO.cjs +68 -0
- package/dist/plans-CiPgWBhO.cjs.map +1 -0
- package/dist/plans-DCepEY7n.js +57 -0
- package/dist/plans-DCepEY7n.js.map +1 -0
- package/dist/{probe-image-size-DBGjhUtJ.cjs → probe-image-size-Alv3gwKl.cjs} +194 -184
- package/dist/probe-image-size-Alv3gwKl.cjs.map +1 -0
- package/dist/{probe-image-size-Dmoxv93t.js → probe-image-size-BdfbUHxx.js} +158 -148
- package/dist/probe-image-size-BdfbUHxx.js.map +1 -0
- package/dist/responses-4FwMNxoJ.js +628 -0
- package/dist/responses-4FwMNxoJ.js.map +1 -0
- package/dist/responses-CCRijwDF.cjs +651 -0
- package/dist/responses-CCRijwDF.cjs.map +1 -0
- package/dist/{responses-CKNdSRkS.cjs → responses-CfcIc53b.cjs} +2 -2
- package/dist/{responses-CKNdSRkS.cjs.map → responses-CfcIc53b.cjs.map} +1 -1
- package/dist/{rolldown-runtime-Bd6kNlEP.cjs → rolldown-runtime-BwC_XMyb.cjs} +2 -2
- package/dist/{rolldown-runtime-maW3aOIk.js → rolldown-runtime-D3Hj5m0v.js} +2 -2
- package/dist/{route-builder-BNZs643f.cjs → route-builder-B2Qhhd7C.cjs} +52 -66
- package/dist/route-builder-B2Qhhd7C.cjs.map +1 -0
- package/dist/{route-builder-BfQYtclb.js → route-builder-CjkWxv4E.js} +51 -65
- package/dist/route-builder-CjkWxv4E.js.map +1 -0
- package/dist/{routes-Dl6_kWm7.js → routes-CKfXiwRc.js} +5 -3
- package/dist/routes-CKfXiwRc.js.map +1 -0
- package/dist/{routes-rwufkyUe.js → routes-D1cP2OeF.js} +26 -26
- package/dist/{routes-rwufkyUe.js.map → routes-D1cP2OeF.js.map} +1 -1
- package/dist/{routes-DPojsNf1.cjs → routes-bxG4x1MV.cjs} +199 -199
- package/dist/{routes-DPojsNf1.cjs.map → routes-bxG4x1MV.cjs.map} +1 -1
- package/dist/{routes-BULZI-PU.cjs → routes-jXksmX9G.cjs} +5 -3
- package/dist/routes-jXksmX9G.cjs.map +1 -0
- package/dist/{schedules-Bj-giFbc.cjs → schedules-CTTTCgbk.cjs} +3 -3
- package/dist/{schedules-Bj-giFbc.cjs.map → schedules-CTTTCgbk.cjs.map} +1 -1
- package/dist/{schedules-BQYgaz66.js → schedules-DXh37n6-.js} +2 -2
- package/dist/{schedules-BQYgaz66.js.map → schedules-DXh37n6-.js.map} +1 -1
- package/dist/{schema-e0VHpMt0-C0452jOk.cjs → schema-CzbEIyhE-20gGIWkz.cjs} +83 -88
- package/dist/schema-CzbEIyhE-20gGIWkz.cjs.map +1 -0
- package/dist/{schema-e0VHpMt0-CVP5Hnxy.js → schema-CzbEIyhE-BsMcj9Ws.js} +82 -87
- package/dist/schema-CzbEIyhE-BsMcj9Ws.js.map +1 -0
- package/dist/scores-D9UgETt_.js +288 -0
- package/dist/scores-D9UgETt_.js.map +1 -0
- package/dist/scores-DRdtS7NT.cjs +329 -0
- package/dist/scores-DRdtS7NT.cjs.map +1 -0
- package/dist/server/a2a/store.cjs +1 -1
- package/dist/server/auth/index.cjs +2 -2
- package/dist/server/auth/index.js +1 -1
- package/dist/server/browser-stream/index.cjs +9 -11
- package/dist/server/browser-stream/index.cjs.map +1 -1
- package/dist/server/browser-stream/index.js +8 -10
- package/dist/server/browser-stream/index.js.map +1 -1
- package/dist/server/handlers/a2a.cjs +2 -2
- package/dist/server/handlers/a2a.js +1 -2
- package/dist/server/handlers/agent-builder.cjs +18 -648
- package/dist/server/handlers/agent-builder.js +1 -627
- package/dist/server/handlers/agent-controller.cjs +5 -5
- package/dist/server/handlers/agent-controller.cjs.map +1 -1
- package/dist/server/handlers/agent-controller.js +11 -9
- package/dist/server/handlers/agent-controller.js.map +1 -1
- package/dist/server/handlers/agent-versions.cjs +15 -8
- package/dist/server/handlers/agent-versions.cjs.map +1 -1
- package/dist/server/handlers/agent-versions.js +14 -7
- package/dist/server/handlers/agent-versions.js.map +1 -1
- package/dist/server/handlers/agents.cjs +51 -2860
- package/dist/server/handlers/agents.js +1 -2806
- package/dist/server/handlers/auth.cjs +14 -12
- package/dist/server/handlers/auth.cjs.map +1 -1
- package/dist/server/handlers/auth.js +20 -16
- package/dist/server/handlers/auth.js.map +1 -1
- package/dist/server/handlers/author-enrichment.cjs +1 -1
- package/dist/server/handlers/authorship.cjs +1 -1
- package/dist/server/handlers/authorship.cjs.map +1 -1
- package/dist/server/handlers/background-tasks.cjs +2 -2
- package/dist/server/handlers/background-tasks.js +1 -2
- package/dist/server/handlers/builder-registry.cjs +2 -2
- package/dist/server/handlers/builder-registry.js +1 -2
- package/dist/server/handlers/channels.cjs +2 -2
- package/dist/server/handlers/channels.js +1 -2
- package/dist/server/handlers/conversations.cjs +6 -171
- package/dist/server/handlers/conversations.js +1 -162
- package/dist/server/handlers/datasets.cjs +2 -2
- package/dist/server/handlers/datasets.cjs.map +1 -1
- package/dist/server/handlers/datasets.js +1 -1
- package/dist/server/handlers/dynamic-workflows.cjs +2 -2
- package/dist/server/handlers/dynamic-workflows.js +1 -2
- package/dist/server/handlers/editor-builder.cjs +2 -2
- package/dist/server/handlers/editor-builder.js +1 -2
- package/dist/server/handlers/error.cjs +18 -13
- package/dist/server/handlers/error.cjs.map +1 -1
- package/dist/server/handlers/error.js +17 -12
- package/dist/server/handlers/error.js.map +1 -1
- package/dist/server/handlers/favorites-enrichment.cjs +2 -2
- package/dist/server/handlers/favorites-enrichment.js +1 -1
- package/dist/server/handlers/gateway-memory-client.cjs +1 -1
- package/dist/server/handlers/logs.cjs +5 -104
- package/dist/server/handlers/logs.js +1 -96
- package/dist/server/handlers/mcp-client-versions.cjs +15 -8
- package/dist/server/handlers/mcp-client-versions.cjs.map +1 -1
- package/dist/server/handlers/mcp-client-versions.js +14 -7
- package/dist/server/handlers/mcp-client-versions.js.map +1 -1
- package/dist/server/handlers/mcp.cjs +12 -289
- package/dist/server/handlers/mcp.js +1 -274
- package/dist/server/handlers/memory.cjs +29 -1763
- package/dist/server/handlers/memory.js +1 -1731
- package/dist/server/handlers/observability-list-query-schemas.cjs +1 -1
- package/dist/server/handlers/observability-new-endpoints.cjs +2 -2
- package/dist/server/handlers/observability-new-endpoints.js +1 -2
- package/dist/server/handlers/observability-shared.cjs +2 -2
- package/dist/server/handlers/observability-shared.js +1 -1
- package/dist/server/handlers/observability-storage-schemas.cjs +1 -1
- package/dist/server/handlers/observability.cjs +14 -445
- package/dist/server/handlers/observability.js +3 -429
- package/dist/server/handlers/plans.cjs +3 -63
- package/dist/server/handlers/plans.js +1 -57
- package/dist/server/handlers/processor-providers.cjs +2 -2
- package/dist/server/handlers/processor-providers.cjs.map +1 -1
- package/dist/server/handlers/processor-providers.js +1 -1
- package/dist/server/handlers/processors.cjs +13 -15
- package/dist/server/handlers/processors.cjs.map +1 -1
- package/dist/server/handlers/processors.js +12 -14
- package/dist/server/handlers/processors.js.map +1 -1
- package/dist/server/handlers/prompt-block-versions.cjs +15 -8
- package/dist/server/handlers/prompt-block-versions.cjs.map +1 -1
- package/dist/server/handlers/prompt-block-versions.js +14 -7
- package/dist/server/handlers/prompt-block-versions.js.map +1 -1
- package/dist/server/handlers/responses.adapter.cjs +1 -1
- package/dist/server/handlers/responses.adapter.cjs.map +1 -1
- package/dist/server/handlers/responses.cjs +5 -632
- package/dist/server/handlers/responses.js +1 -624
- package/dist/server/handlers/responses.storage.cjs +2 -2
- package/dist/server/handlers/schedules-workflows-shim.cjs +1 -1
- package/dist/server/handlers/schedules.cjs +2 -2
- package/dist/server/handlers/schedules.js +1 -2
- package/dist/server/handlers/scorer-versions.cjs +15 -8
- package/dist/server/handlers/scorer-versions.cjs.map +1 -1
- package/dist/server/handlers/scorer-versions.js +14 -7
- package/dist/server/handlers/scorer-versions.js.map +1 -1
- package/dist/server/handlers/scores.cjs +8 -299
- package/dist/server/handlers/scores.js +1 -288
- package/dist/server/handlers/skills-sh-shared.cjs +1 -1
- package/dist/server/handlers/stored-agent-favorites.cjs +4 -4
- package/dist/server/handlers/stored-agent-favorites.js +3 -3
- package/dist/server/handlers/stored-agents.cjs +19 -13
- package/dist/server/handlers/stored-agents.cjs.map +1 -1
- package/dist/server/handlers/stored-agents.js +18 -12
- package/dist/server/handlers/stored-agents.js.map +1 -1
- package/dist/server/handlers/stored-mcp-clients.cjs +8 -6
- package/dist/server/handlers/stored-mcp-clients.cjs.map +1 -1
- package/dist/server/handlers/stored-mcp-clients.js +7 -5
- package/dist/server/handlers/stored-mcp-clients.js.map +1 -1
- package/dist/server/handlers/stored-prompt-blocks.cjs +3 -3
- package/dist/server/handlers/stored-prompt-blocks.js +2 -2
- package/dist/server/handlers/stored-scorers.cjs +3 -3
- package/dist/server/handlers/stored-scorers.js +2 -2
- package/dist/server/handlers/stored-skill-favorites.cjs +4 -4
- package/dist/server/handlers/stored-skill-favorites.js +3 -3
- package/dist/server/handlers/stored-skills.cjs +6 -5
- package/dist/server/handlers/stored-skills.cjs.map +1 -1
- package/dist/server/handlers/stored-skills.js +5 -4
- package/dist/server/handlers/stored-skills.js.map +1 -1
- package/dist/server/handlers/stored-workspaces.cjs +3 -3
- package/dist/server/handlers/stored-workspaces.js +2 -2
- package/dist/server/handlers/system.cjs +3 -3
- package/dist/server/handlers/system.cjs.map +1 -1
- package/dist/server/handlers/system.js +2 -2
- package/dist/server/handlers/test-utils.cjs +1 -1
- package/dist/server/handlers/tool-providers.cjs +2 -2
- package/dist/server/handlers/tool-providers.js +1 -1
- package/dist/server/handlers/tool-schema-overrides.cjs +1 -1
- package/dist/server/handlers/tools.cjs +7 -267
- package/dist/server/handlers/tools.js +1 -257
- package/dist/server/handlers/utils.cjs +2 -2
- package/dist/server/handlers/utils.js +1 -2
- package/dist/server/handlers/validate-agent-instructions.cjs +2 -2
- package/dist/server/handlers/validate-agent-instructions.js +1 -1
- package/dist/server/handlers/validate-avatar.cjs +2 -2
- package/dist/server/handlers/validate-avatar.cjs.map +1 -1
- package/dist/server/handlers/validate-avatar.js +1 -1
- package/dist/server/handlers/validate-avatar.js.map +1 -1
- package/dist/server/handlers/vector.cjs +17 -334
- package/dist/server/handlers/vector.js +1 -314
- package/dist/server/handlers/version-helpers.cjs +1 -1
- package/dist/server/handlers/voice.cjs +9 -35
- package/dist/server/handlers/voice.js +1 -23
- package/dist/server/handlers/workflow-builder.cjs +2 -2
- package/dist/server/handlers/workflow-builder.js +1 -2
- package/dist/server/handlers/workflows.cjs +30 -1293
- package/dist/server/handlers/workflows.js +1 -1257
- package/dist/server/handlers/workspace.cjs +27 -1176
- package/dist/server/handlers/workspace.js +1 -1146
- package/dist/server/handlers.cjs +33 -33
- package/dist/server/handlers.js +17 -17
- package/dist/server/schemas/index.cjs +6 -6
- package/dist/server/schemas/index.js +3 -3
- package/dist/server/server-adapter/index.cjs +5 -5
- package/dist/server/server-adapter/index.cjs.map +1 -1
- package/dist/server/server-adapter/index.js +4 -4
- package/dist/server/server-adapter/index.js.map +1 -1
- package/dist/tools-CmFSfDMn.js +256 -0
- package/dist/tools-CmFSfDMn.js.map +1 -0
- package/dist/tools-SPJtxG9N.cjs +291 -0
- package/dist/tools-SPJtxG9N.cjs.map +1 -0
- package/dist/{utils-DCgeTrq2.cjs → utils-CF76qzZR.cjs} +12 -17
- package/dist/{utils-DCgeTrq2.cjs.map → utils-CF76qzZR.cjs.map} +1 -1
- package/dist/{utils-DCAUeb6M.js → utils-aoLN3Wfi.js} +11 -16
- package/dist/{utils-DCAUeb6M.js.map → utils-aoLN3Wfi.js.map} +1 -1
- package/dist/{utils-Du-EpvDs.cjs → utils-dDLIDg8O.cjs} +2 -2
- package/dist/{utils-Du-EpvDs.cjs.map → utils-dDLIDg8O.cjs.map} +1 -1
- package/dist/vector-BKDD1kwc.cjs +409 -0
- package/dist/vector-BKDD1kwc.cjs.map +1 -0
- package/dist/vector-TWv4t-4g.js +314 -0
- package/dist/vector-TWv4t-4g.js.map +1 -0
- package/dist/voice-BnGwlZ75.cjs +70 -0
- package/dist/voice-BnGwlZ75.cjs.map +1 -0
- package/dist/voice-DjG8tBAD.js +23 -0
- package/dist/voice-DjG8tBAD.js.map +1 -0
- package/dist/{workflow-builder-Brj3IArM.cjs → workflow-builder-C9-8ZOWF.cjs} +5 -5
- package/dist/{workflow-builder-Brj3IArM.cjs.map → workflow-builder-C9-8ZOWF.cjs.map} +1 -1
- package/dist/{workflow-builder-DOa1Vx6w.js → workflow-builder-CjlLoQvo.js} +10 -8
- package/dist/{workflow-builder-DOa1Vx6w.js.map → workflow-builder-CjlLoQvo.js.map} +1 -1
- package/dist/workflows-DjqeJcdJ.cjs +1446 -0
- package/dist/workflows-DjqeJcdJ.cjs.map +1 -0
- package/dist/workflows-bb-otd2o.js +1273 -0
- package/dist/workflows-bb-otd2o.js.map +1 -0
- package/dist/workspace-B6kzp-bo.js +1154 -0
- package/dist/workspace-B6kzp-bo.js.map +1 -0
- package/dist/workspace-COKR1SxH.cjs +1309 -0
- package/dist/workspace-COKR1SxH.cjs.map +1 -0
- package/package.json +4 -4
- package/dist/a2a-B465DD1u.cjs.map +0 -1
- package/dist/a2a-CHBSYHxu.js.map +0 -1
- package/dist/dist-9c3PXXpk.cjs.map +0 -1
- package/dist/dist-B5OwHWTo.cjs +0 -2294
- package/dist/dist-B5OwHWTo.cjs.map +0 -1
- package/dist/dist-DGCnbhNe.js.map +0 -1
- package/dist/dist-DcoIg_tp.js +0 -2293
- package/dist/dist-DcoIg_tp.js.map +0 -1
- package/dist/observability-new-endpoints-AMp9bnMV.cjs.map +0 -1
- package/dist/probe-image-size-DBGjhUtJ.cjs.map +0 -1
- package/dist/probe-image-size-Dmoxv93t.js.map +0 -1
- package/dist/route-builder-BNZs643f.cjs.map +0 -1
- package/dist/route-builder-BfQYtclb.js.map +0 -1
- package/dist/routes-BULZI-PU.cjs.map +0 -1
- package/dist/routes-Dl6_kWm7.js.map +0 -1
- package/dist/schema-Drf2W04o.js +0 -2
- package/dist/schema-EQanefYq.cjs +0 -1
- package/dist/schema-e0VHpMt0-C0452jOk.cjs.map +0 -1
- package/dist/schema-e0VHpMt0-CVP5Hnxy.js.map +0 -1
- package/dist/server/handlers/agent-builder.cjs.map +0 -1
- package/dist/server/handlers/agent-builder.js.map +0 -1
- package/dist/server/handlers/agents.cjs.map +0 -1
- package/dist/server/handlers/agents.js.map +0 -1
- package/dist/server/handlers/conversations.cjs.map +0 -1
- package/dist/server/handlers/conversations.js.map +0 -1
- package/dist/server/handlers/logs.cjs.map +0 -1
- package/dist/server/handlers/logs.js.map +0 -1
- package/dist/server/handlers/mcp.cjs.map +0 -1
- package/dist/server/handlers/mcp.js.map +0 -1
- package/dist/server/handlers/memory.cjs.map +0 -1
- package/dist/server/handlers/memory.js.map +0 -1
- package/dist/server/handlers/observability.cjs.map +0 -1
- package/dist/server/handlers/observability.js.map +0 -1
- package/dist/server/handlers/plans.cjs.map +0 -1
- package/dist/server/handlers/plans.js.map +0 -1
- package/dist/server/handlers/responses.cjs.map +0 -1
- package/dist/server/handlers/responses.js.map +0 -1
- package/dist/server/handlers/scores.cjs.map +0 -1
- package/dist/server/handlers/scores.js.map +0 -1
- package/dist/server/handlers/tools.cjs.map +0 -1
- package/dist/server/handlers/tools.js.map +0 -1
- package/dist/server/handlers/vector.cjs.map +0 -1
- package/dist/server/handlers/vector.js.map +0 -1
- package/dist/server/handlers/voice.cjs.map +0 -1
- package/dist/server/handlers/voice.js.map +0 -1
- package/dist/server/handlers/workflows.cjs.map +0 -1
- package/dist/server/handlers/workflows.js.map +0 -1
- package/dist/server/handlers/workspace.cjs.map +0 -1
- package/dist/server/handlers/workspace.js.map +0 -1
- package/dist/sync-Ai_ZDz7U.js +0 -1700
- package/dist/sync-Ai_ZDz7U.js.map +0 -1
- package/dist/sync-BrO5MtSe.cjs +0 -1729
- package/dist/sync-BrO5MtSe.cjs.map +0 -1
|
@@ -0,0 +1,628 @@
|
|
|
1
|
+
import { r as __exportAll } from "./rolldown-runtime-D3Hj5m0v.js";
|
|
2
|
+
import { t as HTTPException } from "./http-exception-CyfxZB6W.js";
|
|
3
|
+
import { n as createRoute } from "./route-builder-CjkWxv4E.js";
|
|
4
|
+
import { handleError } from "./server/handlers/error.js";
|
|
5
|
+
import { a as getEffectiveThreadId, g as MastraFGAPermissions, i as getEffectiveResourceId, n as enforceThreadAccess } from "./utils-BBJlS81s.js";
|
|
6
|
+
import { W as getAgentFromSystem } from "./agents-DRQ3ScbX.js";
|
|
7
|
+
import { a as deleteResponseSchema, i as createResponseBodySchema, o as responseIdPathParams, u as responseObjectSchema } from "./responses-DJNJgCTg.js";
|
|
8
|
+
import { buildCompletedResponse, buildInProgressResponse, createMessageId, createOutputTextPart, createResponseStreamEventTranslator, formatSseEvent, mapMastraToolsToResponseTools, mapResponseInputToExecutionMessages, mapResponseTurnRecordToResponse, toResponseStatus, toResponseUsage } from "./server/handlers/responses.adapter.js";
|
|
9
|
+
import { deleteResponseTurnRecord, findResponseTurnRecord, findResponseTurnRecordAcrossAgents, getAgentMemoryStore, persistResponseTurnRecord, resolveResponseTurnMessagesForStorage } from "./server/handlers/responses.storage.js";
|
|
10
|
+
//#region src/server/handlers/responses.ts
|
|
11
|
+
var responses_exports = /* @__PURE__ */ __exportAll({
|
|
12
|
+
CREATE_RESPONSE_ROUTE: () => CREATE_RESPONSE_ROUTE,
|
|
13
|
+
DELETE_RESPONSE_ROUTE: () => DELETE_RESPONSE_ROUTE,
|
|
14
|
+
GET_RESPONSE_ROUTE: () => GET_RESPONSE_ROUTE
|
|
15
|
+
});
|
|
16
|
+
const JSON_OBJECT_RESPONSE_SCHEMA = {
|
|
17
|
+
type: "object",
|
|
18
|
+
additionalProperties: true
|
|
19
|
+
};
|
|
20
|
+
function jsonResponse(data, status = 200) {
|
|
21
|
+
return new Response(JSON.stringify(data), {
|
|
22
|
+
status,
|
|
23
|
+
headers: { "Content-Type": "application/json" }
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
function createStructuredOutput(text) {
|
|
27
|
+
if (!text) return;
|
|
28
|
+
switch (text.format.type) {
|
|
29
|
+
case "json_object": return {
|
|
30
|
+
schema: JSON_OBJECT_RESPONSE_SCHEMA,
|
|
31
|
+
jsonPromptInjection: true
|
|
32
|
+
};
|
|
33
|
+
case "json_schema": return { schema: text.format.schema };
|
|
34
|
+
default: return;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function getStreamedMessageOutputItem(response, responseId) {
|
|
38
|
+
return response.output.find((item) => item.type === "message" && item.id === responseId) ?? null;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Resolves the memory thread that should back the current response request.
|
|
42
|
+
*
|
|
43
|
+
* If `previous_response_id` is present, the request continues on that stored thread.
|
|
44
|
+
* Otherwise, the route only creates or reuses a thread when the caller asked to store
|
|
45
|
+
* the response and the resolved agent actually has memory configured.
|
|
46
|
+
*/
|
|
47
|
+
async function resolveThreadExecutionContext({ agent, store, conversationId, previousResponseTurnRecord, requestContext }) {
|
|
48
|
+
if (conversationId && previousResponseTurnRecord && previousResponseTurnRecord.thread.id !== conversationId) throw new HTTPException(400, { message: "conversation_id and previous_response_id must reference the same conversation thread when both are provided" });
|
|
49
|
+
if (previousResponseTurnRecord) return {
|
|
50
|
+
threadId: previousResponseTurnRecord.thread.id,
|
|
51
|
+
resourceId: previousResponseTurnRecord.thread.resourceId
|
|
52
|
+
};
|
|
53
|
+
const effectiveThreadId = getEffectiveThreadId(requestContext, void 0);
|
|
54
|
+
const effectiveResourceId = getEffectiveResourceId(requestContext, void 0);
|
|
55
|
+
if (!store && !conversationId && !effectiveThreadId) return null;
|
|
56
|
+
const memory = await agent.getMemory({ requestContext });
|
|
57
|
+
if (!memory) {
|
|
58
|
+
if (conversationId) throw new HTTPException(400, { message: "conversation_id requires the target agent to have memory configured" });
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
if (conversationId) {
|
|
62
|
+
const existingThread = await memory.getThreadById({ threadId: conversationId });
|
|
63
|
+
if (!existingThread) throw new HTTPException(404, { message: `Conversation ${conversationId} was not found` });
|
|
64
|
+
await enforceThreadAccess({
|
|
65
|
+
mastra: agent.getMastraInstance(),
|
|
66
|
+
requestContext,
|
|
67
|
+
threadId: conversationId,
|
|
68
|
+
thread: existingThread,
|
|
69
|
+
effectiveResourceId
|
|
70
|
+
});
|
|
71
|
+
return {
|
|
72
|
+
threadId: existingThread.id,
|
|
73
|
+
resourceId: effectiveResourceId ?? existingThread.resourceId
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
if (!effectiveThreadId) {
|
|
77
|
+
if (!store) return null;
|
|
78
|
+
const threadId = globalThis.crypto.randomUUID();
|
|
79
|
+
const createdThread = await memory.createThread({
|
|
80
|
+
threadId,
|
|
81
|
+
resourceId: effectiveResourceId ?? threadId
|
|
82
|
+
});
|
|
83
|
+
return {
|
|
84
|
+
threadId: createdThread.id,
|
|
85
|
+
resourceId: createdThread.resourceId
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
const threadId = effectiveThreadId;
|
|
89
|
+
const existingThread = await memory.getThreadById({ threadId });
|
|
90
|
+
if (existingThread) {
|
|
91
|
+
await enforceThreadAccess({
|
|
92
|
+
mastra: agent.getMastraInstance(),
|
|
93
|
+
requestContext,
|
|
94
|
+
threadId,
|
|
95
|
+
thread: existingThread,
|
|
96
|
+
effectiveResourceId
|
|
97
|
+
});
|
|
98
|
+
return {
|
|
99
|
+
threadId: existingThread.id,
|
|
100
|
+
resourceId: effectiveResourceId ?? existingThread.resourceId
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
if (!store) return null;
|
|
104
|
+
const resourceId = effectiveResourceId ?? threadId;
|
|
105
|
+
const createdThread = await memory.createThread({
|
|
106
|
+
threadId,
|
|
107
|
+
resourceId
|
|
108
|
+
});
|
|
109
|
+
return {
|
|
110
|
+
threadId: createdThread.id,
|
|
111
|
+
resourceId: createdThread.resourceId
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
function createExecutionMemory(threadContext) {
|
|
115
|
+
if (!threadContext) return;
|
|
116
|
+
return { memory: {
|
|
117
|
+
thread: threadContext.threadId,
|
|
118
|
+
resource: threadContext.resourceId
|
|
119
|
+
} };
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Resolves the registered Mastra agent that owns the response request.
|
|
123
|
+
*/
|
|
124
|
+
async function resolveResponseAgent({ mastra, agentId }) {
|
|
125
|
+
if (!agentId) throw new HTTPException(400, { message: "Responses requests require an agent_id" });
|
|
126
|
+
if (!mastra) throw new HTTPException(500, { message: "Mastra instance is required for agent-backed responses" });
|
|
127
|
+
return getAgentFromSystem({
|
|
128
|
+
mastra,
|
|
129
|
+
agentId
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
async function resolveAgentMemoryStore({ agent, requestContext, errorMessage }) {
|
|
133
|
+
const agentMemoryStore = await getAgentMemoryStore({
|
|
134
|
+
agent,
|
|
135
|
+
requestContext
|
|
136
|
+
});
|
|
137
|
+
if (!agentMemoryStore) throw new HTTPException(400, { message: errorMessage });
|
|
138
|
+
return agentMemoryStore;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Executes a non-streaming Responses API request through the resolved Mastra agent.
|
|
142
|
+
*/
|
|
143
|
+
async function executeGenerate({ agent, resolvedModel, modelOverride, instructions, text, providerOptions, input, requestContext, abortSignal, threadContext }) {
|
|
144
|
+
const executionMemory = createExecutionMemory(threadContext);
|
|
145
|
+
const structuredOutput = createStructuredOutput(text);
|
|
146
|
+
const modelOption = modelOverride ? { model: modelOverride } : {};
|
|
147
|
+
const commonOptions = {
|
|
148
|
+
instructions,
|
|
149
|
+
requestContext,
|
|
150
|
+
abortSignal,
|
|
151
|
+
...modelOption,
|
|
152
|
+
structuredOutput,
|
|
153
|
+
providerOptions,
|
|
154
|
+
...executionMemory ?? {}
|
|
155
|
+
};
|
|
156
|
+
if (resolvedModel.specificationVersion === "v1") {
|
|
157
|
+
if (threadContext) return await agent.generateLegacy(input, {
|
|
158
|
+
instructions,
|
|
159
|
+
requestContext,
|
|
160
|
+
abortSignal,
|
|
161
|
+
...modelOption,
|
|
162
|
+
output: structuredOutput?.schema,
|
|
163
|
+
providerOptions,
|
|
164
|
+
resourceId: threadContext.resourceId,
|
|
165
|
+
threadId: threadContext.threadId
|
|
166
|
+
});
|
|
167
|
+
return await agent.generateLegacy(input, {
|
|
168
|
+
instructions,
|
|
169
|
+
requestContext,
|
|
170
|
+
abortSignal,
|
|
171
|
+
...modelOption,
|
|
172
|
+
output: structuredOutput?.schema,
|
|
173
|
+
providerOptions
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
return await agent.generate(input, commonOptions);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Executes a streaming Responses API request through the resolved Mastra agent.
|
|
180
|
+
*/
|
|
181
|
+
async function executeStream({ agent, resolvedModel, modelOverride, instructions, text, providerOptions, input, requestContext, abortSignal, threadContext }) {
|
|
182
|
+
const executionMemory = createExecutionMemory(threadContext);
|
|
183
|
+
const structuredOutput = createStructuredOutput(text);
|
|
184
|
+
const modelOption = modelOverride ? { model: modelOverride } : {};
|
|
185
|
+
const commonOptions = {
|
|
186
|
+
instructions,
|
|
187
|
+
requestContext,
|
|
188
|
+
abortSignal,
|
|
189
|
+
...modelOption,
|
|
190
|
+
structuredOutput,
|
|
191
|
+
providerOptions,
|
|
192
|
+
...executionMemory ?? {}
|
|
193
|
+
};
|
|
194
|
+
if (resolvedModel.specificationVersion === "v1") {
|
|
195
|
+
if (threadContext) return await agent.streamLegacy(input, {
|
|
196
|
+
instructions,
|
|
197
|
+
requestContext,
|
|
198
|
+
abortSignal,
|
|
199
|
+
...modelOption,
|
|
200
|
+
output: structuredOutput?.schema,
|
|
201
|
+
providerOptions,
|
|
202
|
+
resourceId: threadContext.resourceId,
|
|
203
|
+
threadId: threadContext.threadId
|
|
204
|
+
});
|
|
205
|
+
return await agent.streamLegacy(input, {
|
|
206
|
+
instructions,
|
|
207
|
+
requestContext,
|
|
208
|
+
abortSignal,
|
|
209
|
+
...modelOption,
|
|
210
|
+
output: structuredOutput?.schema,
|
|
211
|
+
providerOptions
|
|
212
|
+
});
|
|
213
|
+
}
|
|
214
|
+
return await agent.stream(input, commonOptions);
|
|
215
|
+
}
|
|
216
|
+
async function resolveUsage(result) {
|
|
217
|
+
return await (result.totalUsage ?? result.usage ?? null);
|
|
218
|
+
}
|
|
219
|
+
async function resolveProviderMetadata(result) {
|
|
220
|
+
return await (result.providerMetadata ?? void 0);
|
|
221
|
+
}
|
|
222
|
+
async function resolveFinishReason(result) {
|
|
223
|
+
return await result.finishReason ?? void 0;
|
|
224
|
+
}
|
|
225
|
+
async function resolveText(result) {
|
|
226
|
+
return await result.text ?? "";
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Resolves the final response state shared by streaming and non-streaming flows.
|
|
230
|
+
*/
|
|
231
|
+
async function resolveCompletedResponseState(result, fallbackText) {
|
|
232
|
+
const usage = await resolveUsage(result);
|
|
233
|
+
return {
|
|
234
|
+
completedAt: Math.floor(Date.now() / 1e3),
|
|
235
|
+
status: toResponseStatus(await resolveFinishReason(result)),
|
|
236
|
+
text: await resolveText(result) || fallbackText,
|
|
237
|
+
usage,
|
|
238
|
+
usageDetails: toResponseUsage(usage),
|
|
239
|
+
providerOptions: await resolveProviderMetadata(result)
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Stores the completed response when the request opted into memory-backed persistence.
|
|
244
|
+
*/
|
|
245
|
+
async function storeCompletedResponse({ agentMemoryStore, didStore, threadContext, responseId, metadata, completedState, messages, outputItems }) {
|
|
246
|
+
if (!didStore || !threadContext) return;
|
|
247
|
+
await persistResponseTurnRecord({
|
|
248
|
+
memoryStore: agentMemoryStore,
|
|
249
|
+
responseId,
|
|
250
|
+
metadata: {
|
|
251
|
+
...metadata,
|
|
252
|
+
completedAt: completedState.completedAt,
|
|
253
|
+
status: completedState.status,
|
|
254
|
+
usage: completedState.usageDetails,
|
|
255
|
+
providerOptions: completedState.providerOptions,
|
|
256
|
+
messageIds: [],
|
|
257
|
+
outputItems
|
|
258
|
+
},
|
|
259
|
+
threadContext,
|
|
260
|
+
messages
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Resolves the final response object and persists the stored response turn when needed.
|
|
265
|
+
*/
|
|
266
|
+
async function finalizeResponse({ agentMemoryStore, didStore, threadContext, result, responseId, createdAt, model, instructions, previousResponseId, conversationId, configuredTools, responseMetadata, fallbackText, fallbackOutputItems }) {
|
|
267
|
+
const completedState = await resolveCompletedResponseState(result, fallbackText);
|
|
268
|
+
const fallbackItems = fallbackOutputItems?.(completedState);
|
|
269
|
+
const responseMessages = await resolveResponseTurnMessagesForStorage({
|
|
270
|
+
result,
|
|
271
|
+
responseId,
|
|
272
|
+
text: completedState.text,
|
|
273
|
+
threadContext,
|
|
274
|
+
fallbackOutputItems: threadContext ? fallbackItems : void 0
|
|
275
|
+
});
|
|
276
|
+
const response = buildCompletedResponse({
|
|
277
|
+
responseId,
|
|
278
|
+
outputMessageId: responseId,
|
|
279
|
+
model,
|
|
280
|
+
createdAt,
|
|
281
|
+
completedAt: completedState.completedAt,
|
|
282
|
+
status: completedState.status,
|
|
283
|
+
text: completedState.text,
|
|
284
|
+
usage: completedState.usage,
|
|
285
|
+
instructions,
|
|
286
|
+
textConfig: responseMetadata.text,
|
|
287
|
+
previousResponseId,
|
|
288
|
+
conversationId,
|
|
289
|
+
providerOptions: completedState.providerOptions,
|
|
290
|
+
tools: configuredTools,
|
|
291
|
+
messages: responseMessages,
|
|
292
|
+
fallbackOutputItems: fallbackItems,
|
|
293
|
+
store: didStore
|
|
294
|
+
});
|
|
295
|
+
await storeCompletedResponse({
|
|
296
|
+
agentMemoryStore,
|
|
297
|
+
didStore,
|
|
298
|
+
threadContext,
|
|
299
|
+
responseId,
|
|
300
|
+
metadata: responseMetadata,
|
|
301
|
+
completedState,
|
|
302
|
+
messages: responseMessages,
|
|
303
|
+
outputItems: response.output
|
|
304
|
+
});
|
|
305
|
+
return {
|
|
306
|
+
completedState,
|
|
307
|
+
response,
|
|
308
|
+
responseMessages
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Resolves all request-scoped Mastra primitives needed to execute a Responses create
|
|
313
|
+
* call: the owning agent, the memory thread context, the normalized execution input,
|
|
314
|
+
* and the response-turn metadata that may be persisted later.
|
|
315
|
+
*/
|
|
316
|
+
async function prepareCreateResponseRequest({ body, mastra, requestContext }) {
|
|
317
|
+
const executionInput = mapResponseInputToExecutionMessages(body.input);
|
|
318
|
+
let previousResponseTurnRecord = null;
|
|
319
|
+
let resolvedAgent = null;
|
|
320
|
+
if (body.previous_response_id) {
|
|
321
|
+
if (body.agent_id) {
|
|
322
|
+
resolvedAgent = await resolveResponseAgent({
|
|
323
|
+
mastra,
|
|
324
|
+
agentId: body.agent_id
|
|
325
|
+
});
|
|
326
|
+
previousResponseTurnRecord = await findResponseTurnRecord({
|
|
327
|
+
agent: resolvedAgent,
|
|
328
|
+
responseId: body.previous_response_id,
|
|
329
|
+
requestContext
|
|
330
|
+
});
|
|
331
|
+
if (!previousResponseTurnRecord) {
|
|
332
|
+
const owningResponseTurnRecord = await findResponseTurnRecordAcrossAgents({
|
|
333
|
+
mastra,
|
|
334
|
+
responseId: body.previous_response_id,
|
|
335
|
+
requestContext
|
|
336
|
+
});
|
|
337
|
+
if (owningResponseTurnRecord) {
|
|
338
|
+
if (owningResponseTurnRecord.metadata.agentId === body.agent_id) previousResponseTurnRecord = owningResponseTurnRecord;
|
|
339
|
+
else throw new HTTPException(400, { message: `Stored response ${body.previous_response_id} belongs to agent ${owningResponseTurnRecord.metadata.agentId}, not ${body.agent_id}` });
|
|
340
|
+
}
|
|
341
|
+
if (!previousResponseTurnRecord) throw new HTTPException(404, { message: `Stored response ${body.previous_response_id} was not found` });
|
|
342
|
+
}
|
|
343
|
+
} else {
|
|
344
|
+
if (!mastra) throw new HTTPException(500, { message: "Mastra instance is required for agent-backed responses" });
|
|
345
|
+
previousResponseTurnRecord = await findResponseTurnRecordAcrossAgents({
|
|
346
|
+
mastra,
|
|
347
|
+
responseId: body.previous_response_id,
|
|
348
|
+
requestContext
|
|
349
|
+
});
|
|
350
|
+
if (!previousResponseTurnRecord) throw new HTTPException(404, { message: `Stored response ${body.previous_response_id} was not found` });
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
const agent = resolvedAgent ?? await resolveResponseAgent({
|
|
354
|
+
mastra,
|
|
355
|
+
agentId: body.agent_id ?? previousResponseTurnRecord?.metadata.agentId
|
|
356
|
+
});
|
|
357
|
+
const resolvedModel = await agent.getModel({
|
|
358
|
+
requestContext,
|
|
359
|
+
modelConfig: body.model
|
|
360
|
+
});
|
|
361
|
+
const responseModel = body.model ?? (() => {
|
|
362
|
+
if (resolvedModel.provider && resolvedModel.modelId) return `${resolvedModel.provider.includes(".") ? resolvedModel.provider.split(".")[0] : resolvedModel.provider}/${resolvedModel.modelId}`;
|
|
363
|
+
if (resolvedModel.modelId) return resolvedModel.modelId;
|
|
364
|
+
throw new HTTPException(500, { message: "Responses route could not determine the effective model for this request" });
|
|
365
|
+
})();
|
|
366
|
+
const shouldStore = body.store ?? false;
|
|
367
|
+
const agentMemoryStore = shouldStore || Boolean(body.conversation_id) || Boolean(body.previous_response_id) ? await resolveAgentMemoryStore({
|
|
368
|
+
agent,
|
|
369
|
+
requestContext,
|
|
370
|
+
errorMessage: body.previous_response_id ? "previous_response_id requires the target agent to have memory storage configured" : shouldStore ? "Stored responses require the target agent to have memory storage configured" : "conversation_id requires the target agent to have memory storage configured"
|
|
371
|
+
}) : null;
|
|
372
|
+
const configuredTools = mapMastraToolsToResponseTools(await Promise.resolve(agent.listTools({ requestContext })));
|
|
373
|
+
const responseId = createMessageId();
|
|
374
|
+
const createdAt = Math.floor(Date.now() / 1e3);
|
|
375
|
+
const threadContext = await resolveThreadExecutionContext({
|
|
376
|
+
agent,
|
|
377
|
+
store: shouldStore,
|
|
378
|
+
conversationId: body.conversation_id,
|
|
379
|
+
previousResponseTurnRecord,
|
|
380
|
+
requestContext
|
|
381
|
+
});
|
|
382
|
+
if (shouldStore && !threadContext) throw new HTTPException(400, { message: "Stored responses require the target agent to have memory configured" });
|
|
383
|
+
const didStore = shouldStore && Boolean(threadContext);
|
|
384
|
+
return {
|
|
385
|
+
agent,
|
|
386
|
+
agentMemoryStore,
|
|
387
|
+
configuredTools,
|
|
388
|
+
createdAt,
|
|
389
|
+
didStore,
|
|
390
|
+
executionInput,
|
|
391
|
+
previousResponseTurnRecord,
|
|
392
|
+
resolvedModel,
|
|
393
|
+
responseId,
|
|
394
|
+
responseModel,
|
|
395
|
+
responseMetadata: {
|
|
396
|
+
agentId: agent.id,
|
|
397
|
+
model: responseModel,
|
|
398
|
+
createdAt,
|
|
399
|
+
instructions: body.instructions,
|
|
400
|
+
text: body.text,
|
|
401
|
+
previousResponseId: previousResponseTurnRecord?.message.id ?? body.previous_response_id,
|
|
402
|
+
tools: configuredTools,
|
|
403
|
+
store: didStore
|
|
404
|
+
},
|
|
405
|
+
threadContext
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
/**
|
|
409
|
+
* Bridges a Mastra agent stream into OpenAI-style Responses SSE events and completes
|
|
410
|
+
* the stored response-turn record when the stream finishes.
|
|
411
|
+
*/
|
|
412
|
+
function createResponseEventStream({ agentMemoryStore, body, configuredTools, createdAt, didStore, previousResponseTurnRecord, responseId, responseModel, responseMetadata, streamResult, threadContext }) {
|
|
413
|
+
const createdResponse = buildInProgressResponse({
|
|
414
|
+
responseId,
|
|
415
|
+
model: responseModel,
|
|
416
|
+
createdAt,
|
|
417
|
+
instructions: body.instructions,
|
|
418
|
+
textConfig: body.text,
|
|
419
|
+
previousResponseId: body.previous_response_id,
|
|
420
|
+
conversationId: threadContext?.threadId ?? body.conversation_id,
|
|
421
|
+
tools: configuredTools,
|
|
422
|
+
store: didStore
|
|
423
|
+
});
|
|
424
|
+
return new ReadableStream({ async start(controller) {
|
|
425
|
+
let sequenceNumber = 1;
|
|
426
|
+
const enqueueEvent = (eventName, payload) => {
|
|
427
|
+
controller.enqueue(formatSseEvent(eventName, {
|
|
428
|
+
...payload,
|
|
429
|
+
sequence_number: sequenceNumber++
|
|
430
|
+
}));
|
|
431
|
+
};
|
|
432
|
+
enqueueEvent("response.created", {
|
|
433
|
+
type: "response.created",
|
|
434
|
+
response: createdResponse
|
|
435
|
+
});
|
|
436
|
+
enqueueEvent("response.in_progress", {
|
|
437
|
+
type: "response.in_progress",
|
|
438
|
+
response: createdResponse
|
|
439
|
+
});
|
|
440
|
+
const streamEvents = createResponseStreamEventTranslator(responseId);
|
|
441
|
+
const reader = (await streamResult.fullStream).getReader();
|
|
442
|
+
try {
|
|
443
|
+
while (true) {
|
|
444
|
+
const { done, value } = await reader.read();
|
|
445
|
+
if (done) break;
|
|
446
|
+
for (const event of streamEvents.consume(value)) enqueueEvent(event.event, event.payload);
|
|
447
|
+
}
|
|
448
|
+
for (const event of streamEvents.flushPendingToolResults()) enqueueEvent(event.event, event.payload);
|
|
449
|
+
const { completedState, response } = await finalizeResponse({
|
|
450
|
+
agentMemoryStore,
|
|
451
|
+
didStore,
|
|
452
|
+
threadContext,
|
|
453
|
+
result: streamResult,
|
|
454
|
+
responseId,
|
|
455
|
+
createdAt,
|
|
456
|
+
model: responseModel,
|
|
457
|
+
instructions: body.instructions,
|
|
458
|
+
previousResponseId: previousResponseTurnRecord?.message.id ?? body.previous_response_id,
|
|
459
|
+
conversationId: threadContext?.threadId ?? body.conversation_id,
|
|
460
|
+
configuredTools,
|
|
461
|
+
responseMetadata,
|
|
462
|
+
fallbackText: streamEvents.text,
|
|
463
|
+
fallbackOutputItems: (completedState) => streamEvents.getOutputItems({
|
|
464
|
+
text: completedState.text,
|
|
465
|
+
status: completedState.status
|
|
466
|
+
})
|
|
467
|
+
});
|
|
468
|
+
const completedItem = getStreamedMessageOutputItem(response, responseId);
|
|
469
|
+
if (completedItem || completedState.text) for (const event of streamEvents.completeText(completedState.text, completedItem ?? {
|
|
470
|
+
id: responseId,
|
|
471
|
+
type: "message",
|
|
472
|
+
role: "assistant",
|
|
473
|
+
status: "completed",
|
|
474
|
+
content: [createOutputTextPart(completedState.text)]
|
|
475
|
+
})) enqueueEvent(event.event, event.payload);
|
|
476
|
+
enqueueEvent("response.completed", {
|
|
477
|
+
type: "response.completed",
|
|
478
|
+
response
|
|
479
|
+
});
|
|
480
|
+
controller.close();
|
|
481
|
+
} catch (error) {
|
|
482
|
+
controller.error(error);
|
|
483
|
+
} finally {
|
|
484
|
+
reader.releaseLock();
|
|
485
|
+
}
|
|
486
|
+
} });
|
|
487
|
+
}
|
|
488
|
+
const CREATE_RESPONSE_ROUTE = createRoute({
|
|
489
|
+
method: "POST",
|
|
490
|
+
path: "/v1/responses",
|
|
491
|
+
responseType: "datastream-response",
|
|
492
|
+
bodySchema: createResponseBodySchema,
|
|
493
|
+
responseSchema: responseObjectSchema,
|
|
494
|
+
summary: "Create a response",
|
|
495
|
+
description: "Creates a response through a Mastra-hosted Responses API-compatible route",
|
|
496
|
+
tags: ["Responses"],
|
|
497
|
+
requiresAuth: true,
|
|
498
|
+
requiresPermission: MastraFGAPermissions.AGENTS_EXECUTE,
|
|
499
|
+
handler: async ({ mastra, requestContext, abortSignal, ...body }) => {
|
|
500
|
+
try {
|
|
501
|
+
const { agent, agentMemoryStore, configuredTools, createdAt, didStore, executionInput, previousResponseTurnRecord, resolvedModel, responseId, responseModel, responseMetadata, threadContext } = await prepareCreateResponseRequest({
|
|
502
|
+
body,
|
|
503
|
+
mastra,
|
|
504
|
+
requestContext
|
|
505
|
+
});
|
|
506
|
+
if (!body.stream) {
|
|
507
|
+
const { response } = await finalizeResponse({
|
|
508
|
+
agentMemoryStore,
|
|
509
|
+
didStore,
|
|
510
|
+
threadContext,
|
|
511
|
+
result: await executeGenerate({
|
|
512
|
+
agent,
|
|
513
|
+
resolvedModel,
|
|
514
|
+
modelOverride: body.model,
|
|
515
|
+
instructions: body.instructions,
|
|
516
|
+
text: body.text,
|
|
517
|
+
providerOptions: body.providerOptions,
|
|
518
|
+
input: executionInput,
|
|
519
|
+
requestContext,
|
|
520
|
+
abortSignal,
|
|
521
|
+
threadContext
|
|
522
|
+
}),
|
|
523
|
+
responseId,
|
|
524
|
+
createdAt,
|
|
525
|
+
model: responseModel,
|
|
526
|
+
instructions: body.instructions,
|
|
527
|
+
previousResponseId: previousResponseTurnRecord?.message.id ?? body.previous_response_id,
|
|
528
|
+
conversationId: threadContext?.threadId ?? body.conversation_id,
|
|
529
|
+
configuredTools,
|
|
530
|
+
responseMetadata,
|
|
531
|
+
fallbackText: ""
|
|
532
|
+
});
|
|
533
|
+
return jsonResponse(response);
|
|
534
|
+
}
|
|
535
|
+
const stream = createResponseEventStream({
|
|
536
|
+
agentMemoryStore,
|
|
537
|
+
body,
|
|
538
|
+
configuredTools,
|
|
539
|
+
createdAt,
|
|
540
|
+
didStore,
|
|
541
|
+
previousResponseTurnRecord,
|
|
542
|
+
responseId,
|
|
543
|
+
responseModel,
|
|
544
|
+
responseMetadata,
|
|
545
|
+
streamResult: await executeStream({
|
|
546
|
+
agent,
|
|
547
|
+
resolvedModel,
|
|
548
|
+
modelOverride: body.model,
|
|
549
|
+
instructions: body.instructions,
|
|
550
|
+
text: body.text,
|
|
551
|
+
providerOptions: body.providerOptions,
|
|
552
|
+
input: executionInput,
|
|
553
|
+
requestContext,
|
|
554
|
+
abortSignal,
|
|
555
|
+
threadContext
|
|
556
|
+
}),
|
|
557
|
+
threadContext
|
|
558
|
+
});
|
|
559
|
+
return new Response(stream, { headers: {
|
|
560
|
+
"Content-Type": "text/event-stream; charset=utf-8",
|
|
561
|
+
"Cache-Control": "no-cache",
|
|
562
|
+
Connection: "keep-alive",
|
|
563
|
+
"X-Accel-Buffering": "no"
|
|
564
|
+
} });
|
|
565
|
+
} catch (error) {
|
|
566
|
+
return handleError(error, "Error creating response");
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
});
|
|
570
|
+
const GET_RESPONSE_ROUTE = createRoute({
|
|
571
|
+
method: "GET",
|
|
572
|
+
path: "/v1/responses/:responseId",
|
|
573
|
+
responseType: "json",
|
|
574
|
+
pathParamSchema: responseIdPathParams,
|
|
575
|
+
responseSchema: responseObjectSchema,
|
|
576
|
+
summary: "Retrieve a stored response",
|
|
577
|
+
description: "Returns a previously stored response object",
|
|
578
|
+
tags: ["Responses"],
|
|
579
|
+
requiresAuth: true,
|
|
580
|
+
requiresPermission: MastraFGAPermissions.AGENTS_READ,
|
|
581
|
+
handler: async ({ mastra, requestContext, responseId }) => {
|
|
582
|
+
try {
|
|
583
|
+
const responseTurnRecord = await findResponseTurnRecordAcrossAgents({
|
|
584
|
+
mastra,
|
|
585
|
+
responseId,
|
|
586
|
+
requestContext
|
|
587
|
+
});
|
|
588
|
+
if (!responseTurnRecord) throw new HTTPException(404, { message: `Stored response ${responseId} was not found` });
|
|
589
|
+
return mapResponseTurnRecordToResponse(responseTurnRecord);
|
|
590
|
+
} catch (error) {
|
|
591
|
+
return handleError(error, "Error retrieving response");
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
});
|
|
595
|
+
const DELETE_RESPONSE_ROUTE = createRoute({
|
|
596
|
+
method: "DELETE",
|
|
597
|
+
path: "/v1/responses/:responseId",
|
|
598
|
+
responseType: "json",
|
|
599
|
+
pathParamSchema: responseIdPathParams,
|
|
600
|
+
responseSchema: deleteResponseSchema,
|
|
601
|
+
summary: "Delete a stored response",
|
|
602
|
+
description: "Deletes a stored response so it can no longer be retrieved or chained",
|
|
603
|
+
tags: ["Responses"],
|
|
604
|
+
requiresAuth: true,
|
|
605
|
+
requiresPermission: MastraFGAPermissions.AGENTS_DELETE,
|
|
606
|
+
handler: async ({ mastra, requestContext, responseId }) => {
|
|
607
|
+
try {
|
|
608
|
+
const responseTurnRecord = await findResponseTurnRecordAcrossAgents({
|
|
609
|
+
mastra,
|
|
610
|
+
responseId,
|
|
611
|
+
requestContext
|
|
612
|
+
});
|
|
613
|
+
if (!responseTurnRecord) throw new HTTPException(404, { message: `Stored response ${responseId} was not found` });
|
|
614
|
+
await deleteResponseTurnRecord({ responseTurnRecord });
|
|
615
|
+
return {
|
|
616
|
+
id: responseId,
|
|
617
|
+
object: "response",
|
|
618
|
+
deleted: true
|
|
619
|
+
};
|
|
620
|
+
} catch (error) {
|
|
621
|
+
return handleError(error, "Error deleting response");
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
});
|
|
625
|
+
//#endregion
|
|
626
|
+
export { responses_exports as i, DELETE_RESPONSE_ROUTE as n, GET_RESPONSE_ROUTE as r, CREATE_RESPONSE_ROUTE as t };
|
|
627
|
+
|
|
628
|
+
//# sourceMappingURL=responses-4FwMNxoJ.js.map
|