@mastra/server 1.79.0-alpha.9 → 1.79.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/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-CWRIJP-B.js → api-schema-manifest-CI90M4sX.js} +3 -3
- package/dist/{api-schema-manifest-CWRIJP-B.js.map → api-schema-manifest-CI90M4sX.js.map} +1 -1
- package/dist/{api-schema-manifest-DUseI2VG.cjs → api-schema-manifest-DIlNfbyw.cjs} +4 -4
- package/dist/{api-schema-manifest-DUseI2VG.cjs.map → api-schema-manifest-DIlNfbyw.cjs.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/docs/references/reference-server-routes.md +159 -0
- 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-CWDfSu7w.js +474 -0
- package/dist/mcp-CWDfSu7w.js.map +1 -0
- package/dist/mcp-CWGJRqkC.cjs +563 -0
- package/dist/mcp-CWGJRqkC.cjs.map +1 -0
- package/dist/{mcp-DzpwLXEY.js → mcp-Drqt0GqD.js} +79 -4
- package/dist/mcp-Drqt0GqD.js.map +1 -0
- package/dist/{mcp-ShaKO7gA.cjs → mcp-ziWVk7Ol.cjs} +126 -3
- package/dist/mcp-ziWVk7Ol.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-rwufkyUe.js → routes-BC20mdNN.js} +30 -26
- package/dist/routes-BC20mdNN.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-DPojsNf1.cjs → routes-DGLJyqjD.cjs} +203 -199
- package/dist/routes-DGLJyqjD.cjs.map +1 -0
- 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-GokZKBYg.cjs} +6 -4
- package/dist/schedules-GokZKBYg.cjs.map +1 -0
- package/dist/{schedules-BQYgaz66.js → schedules-_3zPKyqm.js} +5 -3
- package/dist/schedules-_3zPKyqm.js.map +1 -0
- 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 +16 -289
- package/dist/server/handlers/mcp.d.ts +219 -0
- package/dist/server/handlers/mcp.d.ts.map +1 -1
- 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.d.ts +16 -0
- package/dist/server/handlers/schedules.d.ts.map +1 -1
- 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 +7 -7
- package/dist/server/schemas/index.js +4 -4
- package/dist/server/schemas/mcp.d.ts +102 -0
- package/dist/server/schemas/mcp.d.ts.map +1 -1
- package/dist/server/schemas/schedules.d.ts +5 -0
- package/dist/server/schemas/schedules.d.ts.map +1 -1
- 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/server/server-adapter/routes/mcp.d.ts +214 -0
- package/dist/server/server-adapter/routes/mcp.d.ts.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 +9 -9
- 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/mcp-DzpwLXEY.js.map +0 -1
- package/dist/mcp-ShaKO7gA.cjs.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-DPojsNf1.cjs.map +0 -1
- package/dist/routes-Dl6_kWm7.js.map +0 -1
- package/dist/routes-rwufkyUe.js.map +0 -1
- package/dist/schedules-BQYgaz66.js.map +0 -1
- package/dist/schedules-Bj-giFbc.cjs.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,288 @@
|
|
|
1
|
+
import { r as __exportAll } from "./rolldown-runtime-D3Hj5m0v.js";
|
|
2
|
+
import { t as HTTPException } from "./http-exception-CyfxZB6W.js";
|
|
3
|
+
import { u as runIdSchema } from "./common-Y30XtCyr.js";
|
|
4
|
+
import { n as createRoute } from "./route-builder-CjkWxv4E.js";
|
|
5
|
+
import { handleError } from "./server/handlers/error.js";
|
|
6
|
+
import { W as getAgentFromSystem } from "./agents-DRQ3ScbX.js";
|
|
7
|
+
import { a as listScoresByScorerIdQuerySchema, c as scorerEntrySchema, i as listScoresByRunIdQuerySchema, l as scorerIdPathParams, n as listScorersResponseSchema, o as saveScoreBodySchema, r as listScoresByEntityIdQuerySchema, s as saveScoreResponseSchema, t as entityPathParams, u as scoresWithPaginationResponseSchema } from "./scores-BbqFfKcy.js";
|
|
8
|
+
//#region src/server/handlers/scores.ts
|
|
9
|
+
var scores_exports = /* @__PURE__ */ __exportAll({
|
|
10
|
+
GET_SCORER_ROUTE: () => GET_SCORER_ROUTE,
|
|
11
|
+
LIST_SCORERS_ROUTE: () => LIST_SCORERS_ROUTE,
|
|
12
|
+
LIST_SCORES_BY_ENTITY_ID_ROUTE: () => LIST_SCORES_BY_ENTITY_ID_ROUTE,
|
|
13
|
+
LIST_SCORES_BY_RUN_ID_ROUTE: () => LIST_SCORES_BY_RUN_ID_ROUTE,
|
|
14
|
+
LIST_SCORES_BY_SCORER_ID_ROUTE: () => LIST_SCORES_BY_SCORER_ID_ROUTE,
|
|
15
|
+
SAVE_SCORE_ROUTE: () => SAVE_SCORE_ROUTE
|
|
16
|
+
});
|
|
17
|
+
async function listScorersFromSystem({ mastra, requestContext }) {
|
|
18
|
+
const agents = mastra.listAgents();
|
|
19
|
+
const workflows = mastra.listWorkflows();
|
|
20
|
+
const scorersMap = /* @__PURE__ */ new Map();
|
|
21
|
+
const processAgentScorers = async (agent) => {
|
|
22
|
+
const scorers = await agent.listScorers({ requestContext }) || {};
|
|
23
|
+
if (Object.keys(scorers).length > 0) for (const [_scorerId, scorer] of Object.entries(scorers)) {
|
|
24
|
+
const scorerId = scorer.scorer.id;
|
|
25
|
+
if (scorersMap.has(scorerId)) {
|
|
26
|
+
scorersMap.get(scorerId)?.agentIds.push(agent.id);
|
|
27
|
+
scorersMap.get(scorerId)?.agentNames.push(agent.name);
|
|
28
|
+
} else scorersMap.set(scorerId, {
|
|
29
|
+
workflowIds: [],
|
|
30
|
+
...scorer,
|
|
31
|
+
agentNames: [agent.name],
|
|
32
|
+
agentIds: [agent.id],
|
|
33
|
+
isRegistered: false,
|
|
34
|
+
source: scorer.scorer.source ?? "code"
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
for (const [_, agent] of Object.entries(agents)) await processAgentScorers(agent);
|
|
39
|
+
try {
|
|
40
|
+
const editor = mastra.getEditor();
|
|
41
|
+
const storedAgentsResult = await editor?.agent.list();
|
|
42
|
+
if (storedAgentsResult?.agents) for (const storedAgentConfig of storedAgentsResult.agents) try {
|
|
43
|
+
const agent = await editor?.agent.getById(storedAgentConfig.id);
|
|
44
|
+
if (agent) await processAgentScorers(agent);
|
|
45
|
+
} catch {}
|
|
46
|
+
} catch {}
|
|
47
|
+
try {
|
|
48
|
+
const editor = mastra.getEditor();
|
|
49
|
+
const storedScorersResult = await editor?.scorer.list();
|
|
50
|
+
if (storedScorersResult?.scorerDefinitions) for (const storedScorerConfig of storedScorersResult.scorerDefinitions) try {
|
|
51
|
+
await editor?.scorer.getById(storedScorerConfig.id);
|
|
52
|
+
} catch {}
|
|
53
|
+
} catch {}
|
|
54
|
+
for (const [workflowId, workflow] of Object.entries(workflows)) {
|
|
55
|
+
const scorers = await workflow.listScorers({ requestContext }) || {};
|
|
56
|
+
if (Object.keys(scorers).length > 0) for (const [_scorerId, scorer] of Object.entries(scorers)) {
|
|
57
|
+
const scorerName = scorer.scorer.name;
|
|
58
|
+
if (scorersMap.has(scorerName)) scorersMap.get(scorerName)?.workflowIds.push(workflowId);
|
|
59
|
+
else scorersMap.set(scorerName, {
|
|
60
|
+
agentIds: [],
|
|
61
|
+
agentNames: [],
|
|
62
|
+
...scorer,
|
|
63
|
+
workflowIds: [workflowId],
|
|
64
|
+
isRegistered: false,
|
|
65
|
+
source: scorer.scorer.source ?? "code"
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
const registeredScorers = await mastra.listScorers();
|
|
70
|
+
for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {
|
|
71
|
+
const scorerId = scorer.id;
|
|
72
|
+
if (scorersMap.has(scorerId)) scorersMap.get(scorerId).isRegistered = true;
|
|
73
|
+
else scorersMap.set(scorerId, {
|
|
74
|
+
scorer,
|
|
75
|
+
agentIds: [],
|
|
76
|
+
agentNames: [],
|
|
77
|
+
workflowIds: [],
|
|
78
|
+
isRegistered: true,
|
|
79
|
+
source: scorer.source ?? "code"
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return Object.fromEntries(scorersMap.entries());
|
|
83
|
+
}
|
|
84
|
+
function getTraceDetails(traceIdWithSpanId) {
|
|
85
|
+
if (!traceIdWithSpanId) return {};
|
|
86
|
+
const [traceId, spanId] = traceIdWithSpanId.split("-");
|
|
87
|
+
return {
|
|
88
|
+
...traceId ? { traceId } : {},
|
|
89
|
+
...spanId ? { spanId } : {}
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const LIST_SCORERS_ROUTE = createRoute({
|
|
93
|
+
method: "GET",
|
|
94
|
+
path: "/scores/scorers",
|
|
95
|
+
responseType: "json",
|
|
96
|
+
responseSchema: listScorersResponseSchema,
|
|
97
|
+
summary: "List all scorers",
|
|
98
|
+
description: "Returns a list of all registered scorers with their configuration and associated agents and workflows",
|
|
99
|
+
tags: ["Scoring"],
|
|
100
|
+
requiresAuth: true,
|
|
101
|
+
handler: (async ({ mastra, requestContext }) => {
|
|
102
|
+
return await listScorersFromSystem({
|
|
103
|
+
mastra,
|
|
104
|
+
requestContext
|
|
105
|
+
});
|
|
106
|
+
})
|
|
107
|
+
});
|
|
108
|
+
const GET_SCORER_ROUTE = createRoute({
|
|
109
|
+
method: "GET",
|
|
110
|
+
path: "/scores/scorers/:scorerId",
|
|
111
|
+
responseType: "json",
|
|
112
|
+
pathParamSchema: scorerIdPathParams,
|
|
113
|
+
responseSchema: scorerEntrySchema.nullable(),
|
|
114
|
+
summary: "Get scorer by ID",
|
|
115
|
+
description: "Returns details for a specific scorer including its configuration and associations",
|
|
116
|
+
tags: ["Scoring"],
|
|
117
|
+
requiresAuth: true,
|
|
118
|
+
handler: (async ({ mastra, scorerId, requestContext }) => {
|
|
119
|
+
const scorer = (await listScorersFromSystem({
|
|
120
|
+
mastra,
|
|
121
|
+
requestContext
|
|
122
|
+
}))[scorerId];
|
|
123
|
+
if (!scorer) return null;
|
|
124
|
+
return scorer;
|
|
125
|
+
})
|
|
126
|
+
});
|
|
127
|
+
const LIST_SCORES_BY_RUN_ID_ROUTE = createRoute({
|
|
128
|
+
method: "GET",
|
|
129
|
+
path: "/scores/run/:runId",
|
|
130
|
+
responseType: "json",
|
|
131
|
+
pathParamSchema: runIdSchema,
|
|
132
|
+
queryParamSchema: listScoresByRunIdQuerySchema,
|
|
133
|
+
responseSchema: scoresWithPaginationResponseSchema,
|
|
134
|
+
summary: "List scores by run ID",
|
|
135
|
+
description: "Returns all scores for a specific execution run",
|
|
136
|
+
tags: ["Scoring"],
|
|
137
|
+
requiresAuth: true,
|
|
138
|
+
handler: async ({ mastra, runId, ...params }) => {
|
|
139
|
+
try {
|
|
140
|
+
const { page, perPage } = params;
|
|
141
|
+
const pagination = {
|
|
142
|
+
page: page ?? 0,
|
|
143
|
+
perPage: perPage ?? 10
|
|
144
|
+
};
|
|
145
|
+
const scoreResults = await (await mastra.getStorage()?.getStore("scores"))?.listScoresByRunId?.({
|
|
146
|
+
runId,
|
|
147
|
+
pagination
|
|
148
|
+
}) || {
|
|
149
|
+
pagination: {
|
|
150
|
+
total: 0,
|
|
151
|
+
page: 0,
|
|
152
|
+
perPage: 0,
|
|
153
|
+
hasMore: false
|
|
154
|
+
},
|
|
155
|
+
scores: []
|
|
156
|
+
};
|
|
157
|
+
return {
|
|
158
|
+
pagination: scoreResults.pagination,
|
|
159
|
+
scores: scoreResults.scores.map((score) => ({
|
|
160
|
+
...score,
|
|
161
|
+
...getTraceDetails(score.traceId)
|
|
162
|
+
}))
|
|
163
|
+
};
|
|
164
|
+
} catch (error) {
|
|
165
|
+
return handleError(error, "Error getting scores by run id");
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
const LIST_SCORES_BY_SCORER_ID_ROUTE = createRoute({
|
|
170
|
+
method: "GET",
|
|
171
|
+
path: "/scores/scorer/:scorerId",
|
|
172
|
+
responseType: "json",
|
|
173
|
+
pathParamSchema: scorerIdPathParams,
|
|
174
|
+
queryParamSchema: listScoresByScorerIdQuerySchema,
|
|
175
|
+
responseSchema: scoresWithPaginationResponseSchema,
|
|
176
|
+
summary: "List scores by scorer ID",
|
|
177
|
+
description: "Returns all scores generated by a specific scorer",
|
|
178
|
+
tags: ["Scoring"],
|
|
179
|
+
requiresAuth: true,
|
|
180
|
+
handler: async ({ mastra, scorerId, ...params }) => {
|
|
181
|
+
try {
|
|
182
|
+
const { page, perPage, entityId, entityType } = params;
|
|
183
|
+
const filters = Object.fromEntries(Object.entries({
|
|
184
|
+
entityId,
|
|
185
|
+
entityType
|
|
186
|
+
}).filter(([_, v]) => v !== void 0));
|
|
187
|
+
const scoreResults = await (await mastra.getStorage()?.getStore("scores"))?.listScoresByScorerId?.({
|
|
188
|
+
scorerId,
|
|
189
|
+
pagination: {
|
|
190
|
+
page: page ?? 0,
|
|
191
|
+
perPage: perPage ?? 10
|
|
192
|
+
},
|
|
193
|
+
...filters
|
|
194
|
+
}) || {
|
|
195
|
+
pagination: {
|
|
196
|
+
total: 0,
|
|
197
|
+
page: 0,
|
|
198
|
+
perPage: 0,
|
|
199
|
+
hasMore: false
|
|
200
|
+
},
|
|
201
|
+
scores: []
|
|
202
|
+
};
|
|
203
|
+
return {
|
|
204
|
+
pagination: scoreResults.pagination,
|
|
205
|
+
scores: scoreResults.scores.map((score) => ({
|
|
206
|
+
...score,
|
|
207
|
+
...getTraceDetails(score.traceId)
|
|
208
|
+
}))
|
|
209
|
+
};
|
|
210
|
+
} catch (error) {
|
|
211
|
+
return handleError(error, "Error getting scores by scorer id");
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
const LIST_SCORES_BY_ENTITY_ID_ROUTE = createRoute({
|
|
216
|
+
method: "GET",
|
|
217
|
+
path: "/scores/entity/:entityType/:entityId",
|
|
218
|
+
responseType: "json",
|
|
219
|
+
pathParamSchema: entityPathParams,
|
|
220
|
+
queryParamSchema: listScoresByEntityIdQuerySchema,
|
|
221
|
+
responseSchema: scoresWithPaginationResponseSchema,
|
|
222
|
+
summary: "List scores by entity ID",
|
|
223
|
+
description: "Returns all scores for a specific entity (agent or workflow)",
|
|
224
|
+
tags: ["Scoring"],
|
|
225
|
+
requiresAuth: true,
|
|
226
|
+
handler: async ({ mastra, entityId, entityType, ...params }) => {
|
|
227
|
+
try {
|
|
228
|
+
const { page, perPage } = params;
|
|
229
|
+
let entityIdToUse = entityId;
|
|
230
|
+
if (entityType === "AGENT") entityIdToUse = (await getAgentFromSystem({
|
|
231
|
+
mastra,
|
|
232
|
+
agentId: entityId
|
|
233
|
+
})).id;
|
|
234
|
+
else if (entityType === "WORKFLOW") entityIdToUse = mastra.getWorkflowById(entityId).id;
|
|
235
|
+
const pagination = {
|
|
236
|
+
page: page ?? 0,
|
|
237
|
+
perPage: perPage ?? 10
|
|
238
|
+
};
|
|
239
|
+
const scoreResults = await (await mastra.getStorage()?.getStore("scores"))?.listScoresByEntityId?.({
|
|
240
|
+
entityId: entityIdToUse,
|
|
241
|
+
entityType,
|
|
242
|
+
pagination
|
|
243
|
+
}) || {
|
|
244
|
+
pagination: {
|
|
245
|
+
total: 0,
|
|
246
|
+
page: 0,
|
|
247
|
+
perPage: 0,
|
|
248
|
+
hasMore: false
|
|
249
|
+
},
|
|
250
|
+
scores: []
|
|
251
|
+
};
|
|
252
|
+
return {
|
|
253
|
+
pagination: scoreResults.pagination,
|
|
254
|
+
scores: scoreResults.scores.map((score) => ({
|
|
255
|
+
...score,
|
|
256
|
+
...getTraceDetails(score.traceId)
|
|
257
|
+
}))
|
|
258
|
+
};
|
|
259
|
+
} catch (error) {
|
|
260
|
+
return handleError(error, "Error getting scores by entity id");
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
const SAVE_SCORE_ROUTE = createRoute({
|
|
265
|
+
method: "POST",
|
|
266
|
+
path: "/scores",
|
|
267
|
+
responseType: "json",
|
|
268
|
+
bodySchema: saveScoreBodySchema,
|
|
269
|
+
responseSchema: saveScoreResponseSchema,
|
|
270
|
+
summary: "Save score",
|
|
271
|
+
description: "Saves a new score record to storage",
|
|
272
|
+
tags: ["Scoring"],
|
|
273
|
+
requiresAuth: true,
|
|
274
|
+
handler: async ({ mastra, ...params }) => {
|
|
275
|
+
try {
|
|
276
|
+
const { score } = params;
|
|
277
|
+
const result = await (await mastra.getStorage()?.getStore("scores"))?.saveScore?.(score);
|
|
278
|
+
if (!result) throw new HTTPException(500, { message: "Storage not configured" });
|
|
279
|
+
return result;
|
|
280
|
+
} catch (error) {
|
|
281
|
+
return handleError(error, "Error saving score");
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
//#endregion
|
|
286
|
+
export { LIST_SCORES_BY_SCORER_ID_ROUTE as a, LIST_SCORES_BY_RUN_ID_ROUTE as i, LIST_SCORERS_ROUTE as n, SAVE_SCORE_ROUTE as o, LIST_SCORES_BY_ENTITY_ID_ROUTE as r, scores_exports as s, GET_SCORER_ROUTE as t };
|
|
287
|
+
|
|
288
|
+
//# sourceMappingURL=scores-D9UgETt_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scores-D9UgETt_.js","names":[],"sources":["../src/server/handlers/scores.ts"],"sourcesContent":["import type { MastraScorerEntry, ScoreRowData } from '@mastra/core/evals';\nimport type { RequestContext } from '@mastra/core/request-context';\nimport type { StoragePagination } from '@mastra/core/storage';\nimport { HTTPException } from '../http-exception';\nimport { runIdSchema } from '../schemas/common';\nimport {\n listScorersResponseSchema,\n scorerEntrySchema,\n scorerIdPathParams,\n entityPathParams,\n listScoresByRunIdQuerySchema,\n listScoresByScorerIdQuerySchema,\n listScoresByEntityIdQuerySchema,\n saveScoreBodySchema,\n scoresWithPaginationResponseSchema,\n saveScoreResponseSchema,\n} from '../schemas/scores';\nimport { createRoute } from '../server-adapter/routes/route-builder';\nimport type { Context } from '../types';\nimport { getAgentFromSystem } from './agents';\nimport { handleError } from './error';\n\nasync function listScorersFromSystem({\n mastra,\n requestContext,\n}: Context & {\n requestContext: RequestContext;\n}) {\n const agents = mastra.listAgents();\n const workflows = mastra.listWorkflows();\n\n const scorersMap = new Map<\n string,\n MastraScorerEntry & {\n agentIds: string[];\n agentNames: string[];\n workflowIds: string[];\n isRegistered: boolean;\n source: 'code' | 'stored' | 'fs';\n }\n >();\n\n // Helper function to process an agent's scorers\n const processAgentScorers = async (agent: {\n id: string;\n name: string;\n listScorers: (typeof agents)[string]['listScorers'];\n }) => {\n const scorers =\n (await agent.listScorers({\n requestContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerId = scorer.scorer.id;\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)?.agentIds.push(agent.id);\n scorersMap.get(scorerId)?.agentNames.push(agent.name);\n } else {\n scorersMap.set(scorerId, {\n workflowIds: [],\n ...scorer,\n agentNames: [agent.name],\n agentIds: [agent.id],\n isRegistered: false,\n source: scorer.scorer.source ?? 'code',\n });\n }\n }\n }\n };\n\n // Process code-defined agents\n for (const [_, agent] of Object.entries(agents)) {\n await processAgentScorers(agent);\n }\n\n // Process stored agents (database-backed agents)\n try {\n const editor = mastra.getEditor();\n const storedAgentsResult = await editor?.agent.list();\n if (storedAgentsResult?.agents) {\n for (const storedAgentConfig of storedAgentsResult.agents) {\n try {\n const agent = await editor?.agent.getById(storedAgentConfig.id);\n if (agent) {\n await processAgentScorers(agent);\n }\n } catch {\n // Skip individual agents that fail to hydrate\n }\n }\n }\n } catch {\n // Silently ignore if storage is not configured - not all setups have storage\n }\n\n // Process stored scorers (standalone CMS-created scorers)\n try {\n const editor = mastra.getEditor();\n const storedScorersResult = await editor?.scorer.list();\n if (storedScorersResult?.scorerDefinitions) {\n for (const storedScorerConfig of storedScorersResult.scorerDefinitions) {\n try {\n await editor?.scorer.getById(storedScorerConfig.id);\n } catch {\n // Skip individual scorers that fail to hydrate\n }\n }\n }\n } catch {\n // Silently ignore if storage is not configured\n }\n\n for (const [workflowId, workflow] of Object.entries(workflows)) {\n const scorers =\n (await workflow.listScorers({\n requestContext,\n })) || {};\n\n if (Object.keys(scorers).length > 0) {\n for (const [_scorerId, scorer] of Object.entries(scorers)) {\n const scorerName = scorer.scorer.name;\n if (scorersMap.has(scorerName)) {\n scorersMap.get(scorerName)?.workflowIds.push(workflowId);\n } else {\n scorersMap.set(scorerName, {\n agentIds: [],\n agentNames: [],\n ...scorer,\n workflowIds: [workflowId],\n isRegistered: false,\n source: scorer.scorer.source ?? 'code',\n });\n }\n }\n }\n }\n\n const registeredScorers = await mastra.listScorers();\n for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {\n const scorerId = scorer.id;\n if (scorersMap.has(scorerId)) {\n scorersMap.get(scorerId)!.isRegistered = true;\n } else {\n scorersMap.set(scorerId, {\n scorer: scorer,\n agentIds: [],\n agentNames: [],\n workflowIds: [],\n isRegistered: true,\n source: scorer.source ?? 'code',\n });\n }\n }\n\n return Object.fromEntries(scorersMap.entries());\n}\n\n// Legacy function to get trace and span details\nfunction getTraceDetails(traceIdWithSpanId?: string) {\n if (!traceIdWithSpanId) {\n return {};\n }\n\n const [traceId, spanId] = traceIdWithSpanId.split('-');\n\n return {\n ...(traceId ? { traceId } : {}),\n ...(spanId ? { spanId } : {}),\n };\n}\n\n// ============================================================================\n// Route Definitions (new pattern - handlers defined inline with createRoute)\n// ============================================================================\n\nexport const LIST_SCORERS_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorers',\n responseType: 'json',\n responseSchema: listScorersResponseSchema,\n summary: 'List all scorers',\n description: 'Returns a list of all registered scorers with their configuration and associated agents and workflows',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: (async ({ mastra, requestContext }: any) => {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n return scorers;\n }) as any,\n});\n\nexport const GET_SCORER_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorers/:scorerId',\n responseType: 'json',\n pathParamSchema: scorerIdPathParams,\n responseSchema: scorerEntrySchema.nullable(),\n summary: 'Get scorer by ID',\n description: 'Returns details for a specific scorer including its configuration and associations',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: (async ({ mastra, scorerId, requestContext }: any) => {\n const scorers = await listScorersFromSystem({\n mastra,\n requestContext,\n });\n\n const scorer = scorers[scorerId];\n\n if (!scorer) {\n return null;\n }\n\n return scorer;\n }) as any,\n});\n\nexport const LIST_SCORES_BY_RUN_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/run/:runId',\n responseType: 'json',\n pathParamSchema: runIdSchema,\n queryParamSchema: listScoresByRunIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by run ID',\n description: 'Returns all scores for a specific execution run',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, runId, ...params }) => {\n try {\n const { page, perPage } = params;\n const pagination: StoragePagination = {\n page: page ?? 0,\n perPage: perPage ?? 10,\n };\n const scores = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scores?.listScoresByRunId?.({\n runId,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by run id');\n }\n },\n});\n\nexport const LIST_SCORES_BY_SCORER_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/scorer/:scorerId',\n responseType: 'json',\n pathParamSchema: scorerIdPathParams,\n queryParamSchema: listScoresByScorerIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by scorer ID',\n description: 'Returns all scores generated by a specific scorer',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, scorerId, ...params }) => {\n try {\n const { page, perPage, entityId, entityType } = params;\n const filters = Object.fromEntries(Object.entries({ entityId, entityType }).filter(([_, v]) => v !== undefined));\n const scores = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scores?.listScoresByScorerId?.({\n scorerId,\n pagination: { page: page ?? 0, perPage: perPage ?? 10 },\n ...filters,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by scorer id');\n }\n },\n});\n\nexport const LIST_SCORES_BY_ENTITY_ID_ROUTE = createRoute({\n method: 'GET',\n path: '/scores/entity/:entityType/:entityId',\n responseType: 'json',\n pathParamSchema: entityPathParams,\n queryParamSchema: listScoresByEntityIdQuerySchema,\n responseSchema: scoresWithPaginationResponseSchema,\n summary: 'List scores by entity ID',\n description: 'Returns all scores for a specific entity (agent or workflow)',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, entityId, entityType, ...params }) => {\n try {\n const { page, perPage } = params;\n let entityIdToUse = entityId;\n\n if (entityType === 'AGENT') {\n const agent = await getAgentFromSystem({ mastra, agentId: entityId });\n entityIdToUse = agent.id;\n } else if (entityType === 'WORKFLOW') {\n const workflow = mastra.getWorkflowById(entityId);\n entityIdToUse = workflow.id;\n }\n\n const pagination: StoragePagination = {\n page: page ?? 0,\n perPage: perPage ?? 10,\n };\n\n const scoresStore = await mastra.getStorage()?.getStore('scores');\n const scoreResults = (await scoresStore?.listScoresByEntityId?.({\n entityId: entityIdToUse,\n entityType,\n pagination,\n })) || { pagination: { total: 0, page: 0, perPage: 0, hasMore: false }, scores: [] };\n\n return {\n pagination: scoreResults.pagination,\n scores: scoreResults.scores.map((score: ScoreRowData) => ({ ...score, ...getTraceDetails(score.traceId) })),\n };\n } catch (error) {\n return handleError(error, 'Error getting scores by entity id');\n }\n },\n});\n\nexport const SAVE_SCORE_ROUTE = createRoute({\n method: 'POST',\n path: '/scores',\n responseType: 'json',\n bodySchema: saveScoreBodySchema,\n responseSchema: saveScoreResponseSchema,\n summary: 'Save score',\n description: 'Saves a new score record to storage',\n tags: ['Scoring'],\n requiresAuth: true,\n handler: async ({ mastra, ...params }) => {\n try {\n const { score } = params as { score: ScoreRowData };\n const scoresStore = await mastra.getStorage()?.getStore('scores');\n const result = await scoresStore?.saveScore?.(score);\n if (!result) {\n throw new HTTPException(500, { message: 'Storage not configured' });\n }\n return result;\n } catch (error) {\n return handleError(error, 'Error saving score');\n }\n },\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
const require_rolldown_runtime = require("./rolldown-runtime-BwC_XMyb.cjs");
|
|
2
|
+
const require_http_exception = require("./http-exception-CKDHupKw.cjs");
|
|
3
|
+
const require_common = require("./common-DhKNoXGp.cjs");
|
|
4
|
+
const require_route_builder = require("./route-builder-B2Qhhd7C.cjs");
|
|
5
|
+
const require_server_handlers_error = require("./server/handlers/error.cjs");
|
|
6
|
+
const require_agents = require("./agents-BOWEUKyV.cjs");
|
|
7
|
+
const require_scores = require("./scores-CetVKM4g.cjs");
|
|
8
|
+
//#region src/server/handlers/scores.ts
|
|
9
|
+
var scores_exports = /* @__PURE__ */ require_rolldown_runtime.__exportAll({
|
|
10
|
+
GET_SCORER_ROUTE: () => GET_SCORER_ROUTE,
|
|
11
|
+
LIST_SCORERS_ROUTE: () => LIST_SCORERS_ROUTE,
|
|
12
|
+
LIST_SCORES_BY_ENTITY_ID_ROUTE: () => LIST_SCORES_BY_ENTITY_ID_ROUTE,
|
|
13
|
+
LIST_SCORES_BY_RUN_ID_ROUTE: () => LIST_SCORES_BY_RUN_ID_ROUTE,
|
|
14
|
+
LIST_SCORES_BY_SCORER_ID_ROUTE: () => LIST_SCORES_BY_SCORER_ID_ROUTE,
|
|
15
|
+
SAVE_SCORE_ROUTE: () => SAVE_SCORE_ROUTE
|
|
16
|
+
});
|
|
17
|
+
async function listScorersFromSystem({ mastra, requestContext }) {
|
|
18
|
+
const agents = mastra.listAgents();
|
|
19
|
+
const workflows = mastra.listWorkflows();
|
|
20
|
+
const scorersMap = /* @__PURE__ */ new Map();
|
|
21
|
+
const processAgentScorers = async (agent) => {
|
|
22
|
+
const scorers = await agent.listScorers({ requestContext }) || {};
|
|
23
|
+
if (Object.keys(scorers).length > 0) for (const [_scorerId, scorer] of Object.entries(scorers)) {
|
|
24
|
+
const scorerId = scorer.scorer.id;
|
|
25
|
+
if (scorersMap.has(scorerId)) {
|
|
26
|
+
scorersMap.get(scorerId)?.agentIds.push(agent.id);
|
|
27
|
+
scorersMap.get(scorerId)?.agentNames.push(agent.name);
|
|
28
|
+
} else scorersMap.set(scorerId, {
|
|
29
|
+
workflowIds: [],
|
|
30
|
+
...scorer,
|
|
31
|
+
agentNames: [agent.name],
|
|
32
|
+
agentIds: [agent.id],
|
|
33
|
+
isRegistered: false,
|
|
34
|
+
source: scorer.scorer.source ?? "code"
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
for (const [_, agent] of Object.entries(agents)) await processAgentScorers(agent);
|
|
39
|
+
try {
|
|
40
|
+
const editor = mastra.getEditor();
|
|
41
|
+
const storedAgentsResult = await editor?.agent.list();
|
|
42
|
+
if (storedAgentsResult?.agents) for (const storedAgentConfig of storedAgentsResult.agents) try {
|
|
43
|
+
const agent = await editor?.agent.getById(storedAgentConfig.id);
|
|
44
|
+
if (agent) await processAgentScorers(agent);
|
|
45
|
+
} catch {}
|
|
46
|
+
} catch {}
|
|
47
|
+
try {
|
|
48
|
+
const editor = mastra.getEditor();
|
|
49
|
+
const storedScorersResult = await editor?.scorer.list();
|
|
50
|
+
if (storedScorersResult?.scorerDefinitions) for (const storedScorerConfig of storedScorersResult.scorerDefinitions) try {
|
|
51
|
+
await editor?.scorer.getById(storedScorerConfig.id);
|
|
52
|
+
} catch {}
|
|
53
|
+
} catch {}
|
|
54
|
+
for (const [workflowId, workflow] of Object.entries(workflows)) {
|
|
55
|
+
const scorers = await workflow.listScorers({ requestContext }) || {};
|
|
56
|
+
if (Object.keys(scorers).length > 0) for (const [_scorerId, scorer] of Object.entries(scorers)) {
|
|
57
|
+
const scorerName = scorer.scorer.name;
|
|
58
|
+
if (scorersMap.has(scorerName)) scorersMap.get(scorerName)?.workflowIds.push(workflowId);
|
|
59
|
+
else scorersMap.set(scorerName, {
|
|
60
|
+
agentIds: [],
|
|
61
|
+
agentNames: [],
|
|
62
|
+
...scorer,
|
|
63
|
+
workflowIds: [workflowId],
|
|
64
|
+
isRegistered: false,
|
|
65
|
+
source: scorer.scorer.source ?? "code"
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
const registeredScorers = await mastra.listScorers();
|
|
70
|
+
for (const [_scorerId, scorer] of Object.entries(registeredScorers || {})) {
|
|
71
|
+
const scorerId = scorer.id;
|
|
72
|
+
if (scorersMap.has(scorerId)) scorersMap.get(scorerId).isRegistered = true;
|
|
73
|
+
else scorersMap.set(scorerId, {
|
|
74
|
+
scorer,
|
|
75
|
+
agentIds: [],
|
|
76
|
+
agentNames: [],
|
|
77
|
+
workflowIds: [],
|
|
78
|
+
isRegistered: true,
|
|
79
|
+
source: scorer.source ?? "code"
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return Object.fromEntries(scorersMap.entries());
|
|
83
|
+
}
|
|
84
|
+
function getTraceDetails(traceIdWithSpanId) {
|
|
85
|
+
if (!traceIdWithSpanId) return {};
|
|
86
|
+
const [traceId, spanId] = traceIdWithSpanId.split("-");
|
|
87
|
+
return {
|
|
88
|
+
...traceId ? { traceId } : {},
|
|
89
|
+
...spanId ? { spanId } : {}
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
const LIST_SCORERS_ROUTE = require_route_builder.createRoute({
|
|
93
|
+
method: "GET",
|
|
94
|
+
path: "/scores/scorers",
|
|
95
|
+
responseType: "json",
|
|
96
|
+
responseSchema: require_scores.listScorersResponseSchema,
|
|
97
|
+
summary: "List all scorers",
|
|
98
|
+
description: "Returns a list of all registered scorers with their configuration and associated agents and workflows",
|
|
99
|
+
tags: ["Scoring"],
|
|
100
|
+
requiresAuth: true,
|
|
101
|
+
handler: (async ({ mastra, requestContext }) => {
|
|
102
|
+
return await listScorersFromSystem({
|
|
103
|
+
mastra,
|
|
104
|
+
requestContext
|
|
105
|
+
});
|
|
106
|
+
})
|
|
107
|
+
});
|
|
108
|
+
const GET_SCORER_ROUTE = require_route_builder.createRoute({
|
|
109
|
+
method: "GET",
|
|
110
|
+
path: "/scores/scorers/:scorerId",
|
|
111
|
+
responseType: "json",
|
|
112
|
+
pathParamSchema: require_scores.scorerIdPathParams,
|
|
113
|
+
responseSchema: require_scores.scorerEntrySchema.nullable(),
|
|
114
|
+
summary: "Get scorer by ID",
|
|
115
|
+
description: "Returns details for a specific scorer including its configuration and associations",
|
|
116
|
+
tags: ["Scoring"],
|
|
117
|
+
requiresAuth: true,
|
|
118
|
+
handler: (async ({ mastra, scorerId, requestContext }) => {
|
|
119
|
+
const scorer = (await listScorersFromSystem({
|
|
120
|
+
mastra,
|
|
121
|
+
requestContext
|
|
122
|
+
}))[scorerId];
|
|
123
|
+
if (!scorer) return null;
|
|
124
|
+
return scorer;
|
|
125
|
+
})
|
|
126
|
+
});
|
|
127
|
+
const LIST_SCORES_BY_RUN_ID_ROUTE = require_route_builder.createRoute({
|
|
128
|
+
method: "GET",
|
|
129
|
+
path: "/scores/run/:runId",
|
|
130
|
+
responseType: "json",
|
|
131
|
+
pathParamSchema: require_common.runIdSchema,
|
|
132
|
+
queryParamSchema: require_scores.listScoresByRunIdQuerySchema,
|
|
133
|
+
responseSchema: require_scores.scoresWithPaginationResponseSchema,
|
|
134
|
+
summary: "List scores by run ID",
|
|
135
|
+
description: "Returns all scores for a specific execution run",
|
|
136
|
+
tags: ["Scoring"],
|
|
137
|
+
requiresAuth: true,
|
|
138
|
+
handler: async ({ mastra, runId, ...params }) => {
|
|
139
|
+
try {
|
|
140
|
+
const { page, perPage } = params;
|
|
141
|
+
const pagination = {
|
|
142
|
+
page: page ?? 0,
|
|
143
|
+
perPage: perPage ?? 10
|
|
144
|
+
};
|
|
145
|
+
const scoreResults = await (await mastra.getStorage()?.getStore("scores"))?.listScoresByRunId?.({
|
|
146
|
+
runId,
|
|
147
|
+
pagination
|
|
148
|
+
}) || {
|
|
149
|
+
pagination: {
|
|
150
|
+
total: 0,
|
|
151
|
+
page: 0,
|
|
152
|
+
perPage: 0,
|
|
153
|
+
hasMore: false
|
|
154
|
+
},
|
|
155
|
+
scores: []
|
|
156
|
+
};
|
|
157
|
+
return {
|
|
158
|
+
pagination: scoreResults.pagination,
|
|
159
|
+
scores: scoreResults.scores.map((score) => ({
|
|
160
|
+
...score,
|
|
161
|
+
...getTraceDetails(score.traceId)
|
|
162
|
+
}))
|
|
163
|
+
};
|
|
164
|
+
} catch (error) {
|
|
165
|
+
return require_server_handlers_error.handleError(error, "Error getting scores by run id");
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
const LIST_SCORES_BY_SCORER_ID_ROUTE = require_route_builder.createRoute({
|
|
170
|
+
method: "GET",
|
|
171
|
+
path: "/scores/scorer/:scorerId",
|
|
172
|
+
responseType: "json",
|
|
173
|
+
pathParamSchema: require_scores.scorerIdPathParams,
|
|
174
|
+
queryParamSchema: require_scores.listScoresByScorerIdQuerySchema,
|
|
175
|
+
responseSchema: require_scores.scoresWithPaginationResponseSchema,
|
|
176
|
+
summary: "List scores by scorer ID",
|
|
177
|
+
description: "Returns all scores generated by a specific scorer",
|
|
178
|
+
tags: ["Scoring"],
|
|
179
|
+
requiresAuth: true,
|
|
180
|
+
handler: async ({ mastra, scorerId, ...params }) => {
|
|
181
|
+
try {
|
|
182
|
+
const { page, perPage, entityId, entityType } = params;
|
|
183
|
+
const filters = Object.fromEntries(Object.entries({
|
|
184
|
+
entityId,
|
|
185
|
+
entityType
|
|
186
|
+
}).filter(([_, v]) => v !== void 0));
|
|
187
|
+
const scoreResults = await (await mastra.getStorage()?.getStore("scores"))?.listScoresByScorerId?.({
|
|
188
|
+
scorerId,
|
|
189
|
+
pagination: {
|
|
190
|
+
page: page ?? 0,
|
|
191
|
+
perPage: perPage ?? 10
|
|
192
|
+
},
|
|
193
|
+
...filters
|
|
194
|
+
}) || {
|
|
195
|
+
pagination: {
|
|
196
|
+
total: 0,
|
|
197
|
+
page: 0,
|
|
198
|
+
perPage: 0,
|
|
199
|
+
hasMore: false
|
|
200
|
+
},
|
|
201
|
+
scores: []
|
|
202
|
+
};
|
|
203
|
+
return {
|
|
204
|
+
pagination: scoreResults.pagination,
|
|
205
|
+
scores: scoreResults.scores.map((score) => ({
|
|
206
|
+
...score,
|
|
207
|
+
...getTraceDetails(score.traceId)
|
|
208
|
+
}))
|
|
209
|
+
};
|
|
210
|
+
} catch (error) {
|
|
211
|
+
return require_server_handlers_error.handleError(error, "Error getting scores by scorer id");
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
const LIST_SCORES_BY_ENTITY_ID_ROUTE = require_route_builder.createRoute({
|
|
216
|
+
method: "GET",
|
|
217
|
+
path: "/scores/entity/:entityType/:entityId",
|
|
218
|
+
responseType: "json",
|
|
219
|
+
pathParamSchema: require_scores.entityPathParams,
|
|
220
|
+
queryParamSchema: require_scores.listScoresByEntityIdQuerySchema,
|
|
221
|
+
responseSchema: require_scores.scoresWithPaginationResponseSchema,
|
|
222
|
+
summary: "List scores by entity ID",
|
|
223
|
+
description: "Returns all scores for a specific entity (agent or workflow)",
|
|
224
|
+
tags: ["Scoring"],
|
|
225
|
+
requiresAuth: true,
|
|
226
|
+
handler: async ({ mastra, entityId, entityType, ...params }) => {
|
|
227
|
+
try {
|
|
228
|
+
const { page, perPage } = params;
|
|
229
|
+
let entityIdToUse = entityId;
|
|
230
|
+
if (entityType === "AGENT") entityIdToUse = (await require_agents.getAgentFromSystem({
|
|
231
|
+
mastra,
|
|
232
|
+
agentId: entityId
|
|
233
|
+
})).id;
|
|
234
|
+
else if (entityType === "WORKFLOW") entityIdToUse = mastra.getWorkflowById(entityId).id;
|
|
235
|
+
const pagination = {
|
|
236
|
+
page: page ?? 0,
|
|
237
|
+
perPage: perPage ?? 10
|
|
238
|
+
};
|
|
239
|
+
const scoreResults = await (await mastra.getStorage()?.getStore("scores"))?.listScoresByEntityId?.({
|
|
240
|
+
entityId: entityIdToUse,
|
|
241
|
+
entityType,
|
|
242
|
+
pagination
|
|
243
|
+
}) || {
|
|
244
|
+
pagination: {
|
|
245
|
+
total: 0,
|
|
246
|
+
page: 0,
|
|
247
|
+
perPage: 0,
|
|
248
|
+
hasMore: false
|
|
249
|
+
},
|
|
250
|
+
scores: []
|
|
251
|
+
};
|
|
252
|
+
return {
|
|
253
|
+
pagination: scoreResults.pagination,
|
|
254
|
+
scores: scoreResults.scores.map((score) => ({
|
|
255
|
+
...score,
|
|
256
|
+
...getTraceDetails(score.traceId)
|
|
257
|
+
}))
|
|
258
|
+
};
|
|
259
|
+
} catch (error) {
|
|
260
|
+
return require_server_handlers_error.handleError(error, "Error getting scores by entity id");
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
const SAVE_SCORE_ROUTE = require_route_builder.createRoute({
|
|
265
|
+
method: "POST",
|
|
266
|
+
path: "/scores",
|
|
267
|
+
responseType: "json",
|
|
268
|
+
bodySchema: require_scores.saveScoreBodySchema,
|
|
269
|
+
responseSchema: require_scores.saveScoreResponseSchema,
|
|
270
|
+
summary: "Save score",
|
|
271
|
+
description: "Saves a new score record to storage",
|
|
272
|
+
tags: ["Scoring"],
|
|
273
|
+
requiresAuth: true,
|
|
274
|
+
handler: async ({ mastra, ...params }) => {
|
|
275
|
+
try {
|
|
276
|
+
const { score } = params;
|
|
277
|
+
const result = await (await mastra.getStorage()?.getStore("scores"))?.saveScore?.(score);
|
|
278
|
+
if (!result) throw new require_http_exception.HTTPException(500, { message: "Storage not configured" });
|
|
279
|
+
return result;
|
|
280
|
+
} catch (error) {
|
|
281
|
+
return require_server_handlers_error.handleError(error, "Error saving score");
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
//#endregion
|
|
286
|
+
Object.defineProperty(exports, "GET_SCORER_ROUTE", {
|
|
287
|
+
enumerable: true,
|
|
288
|
+
get: function() {
|
|
289
|
+
return GET_SCORER_ROUTE;
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
Object.defineProperty(exports, "LIST_SCORERS_ROUTE", {
|
|
293
|
+
enumerable: true,
|
|
294
|
+
get: function() {
|
|
295
|
+
return LIST_SCORERS_ROUTE;
|
|
296
|
+
}
|
|
297
|
+
});
|
|
298
|
+
Object.defineProperty(exports, "LIST_SCORES_BY_ENTITY_ID_ROUTE", {
|
|
299
|
+
enumerable: true,
|
|
300
|
+
get: function() {
|
|
301
|
+
return LIST_SCORES_BY_ENTITY_ID_ROUTE;
|
|
302
|
+
}
|
|
303
|
+
});
|
|
304
|
+
Object.defineProperty(exports, "LIST_SCORES_BY_RUN_ID_ROUTE", {
|
|
305
|
+
enumerable: true,
|
|
306
|
+
get: function() {
|
|
307
|
+
return LIST_SCORES_BY_RUN_ID_ROUTE;
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
Object.defineProperty(exports, "LIST_SCORES_BY_SCORER_ID_ROUTE", {
|
|
311
|
+
enumerable: true,
|
|
312
|
+
get: function() {
|
|
313
|
+
return LIST_SCORES_BY_SCORER_ID_ROUTE;
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
Object.defineProperty(exports, "SAVE_SCORE_ROUTE", {
|
|
317
|
+
enumerable: true,
|
|
318
|
+
get: function() {
|
|
319
|
+
return SAVE_SCORE_ROUTE;
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
Object.defineProperty(exports, "scores_exports", {
|
|
323
|
+
enumerable: true,
|
|
324
|
+
get: function() {
|
|
325
|
+
return scores_exports;
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
|
|
329
|
+
//# sourceMappingURL=scores-DRdtS7NT.cjs.map
|