@mastra/core 0.24.0 → 1.0.0-beta.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/CHANGELOG.md +478 -141
- package/README.md +2 -3
- package/agent/message-list.d.ts +1 -0
- package/dist/action/index.d.ts +0 -2
- package/dist/action/index.d.ts.map +1 -1
- package/dist/agent/__tests__/mock-model.d.ts +3 -1
- package/dist/agent/__tests__/mock-model.d.ts.map +1 -1
- package/dist/agent/agent-legacy.d.ts +176 -0
- package/dist/agent/agent-legacy.d.ts.map +1 -0
- package/dist/agent/agent.d.ts +83 -229
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.types.d.ts +10 -25
- package/dist/agent/agent.types.d.ts.map +1 -1
- package/dist/agent/index.cjs +10 -26
- package/dist/agent/index.d.ts +1 -2
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +2 -2
- package/dist/agent/message-list/index.cjs +16 -0
- package/dist/agent/message-list/index.d.ts +77 -87
- package/dist/agent/message-list/index.d.ts.map +1 -1
- package/dist/agent/message-list/index.js +3 -0
- package/dist/agent/message-list/prompt/attachments-to-parts.d.ts +2 -2
- package/dist/agent/message-list/prompt/attachments-to-parts.d.ts.map +1 -1
- package/dist/agent/message-list/prompt/convert-to-mastra-v1.d.ts +2 -2
- package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -1
- package/dist/agent/message-list/prompt/invalid-content-error.d.ts +1 -1
- package/dist/agent/message-list/prompt/invalid-content-error.d.ts.map +1 -1
- package/dist/agent/message-list/types.d.ts +2 -1
- package/dist/agent/message-list/types.d.ts.map +1 -1
- package/dist/agent/message-list/utils/ai-v4-v5/core-model-message.d.ts +3 -2
- package/dist/agent/message-list/utils/ai-v4-v5/core-model-message.d.ts.map +1 -1
- package/dist/agent/message-list/utils/ai-v4-v5/ui-message.d.ts +3 -2
- package/dist/agent/message-list/utils/ai-v4-v5/ui-message.d.ts.map +1 -1
- package/dist/agent/message-list/utils/ai-v5/gemini-compatibility.d.ts +1 -1
- package/dist/agent/message-list/utils/ai-v5/gemini-compatibility.d.ts.map +1 -1
- package/dist/agent/message-list/utils/convert-messages.d.ts +4 -4
- package/dist/agent/message-list/utils/convert-messages.d.ts.map +1 -1
- package/dist/agent/test-utils.d.ts +2 -79
- package/dist/agent/test-utils.d.ts.map +1 -1
- package/dist/agent/trip-wire.d.ts +1 -1
- package/dist/agent/trip-wire.d.ts.map +1 -1
- package/dist/agent/types.d.ts +23 -37
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/utils.d.ts +15 -64
- package/dist/agent/utils.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/index.d.ts +16 -20
- package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +5 -7
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +14 -18
- package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +6 -6
- package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/schema.d.ts +10 -12
- package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts +3 -7
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
- package/dist/ai-sdk.types.d.ts +4705 -0
- package/dist/base.cjs +2 -2
- package/dist/base.d.ts +0 -16
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +1 -1
- package/dist/bundler/index.cjs +2 -2
- package/dist/bundler/index.d.ts +2 -1
- package/dist/bundler/index.d.ts.map +1 -1
- package/dist/bundler/index.js +1 -1
- package/dist/cache/index.cjs +3 -3
- package/dist/cache/index.js +1 -1
- package/dist/chunk-26SQQNMU.js +15754 -0
- package/dist/chunk-26SQQNMU.js.map +1 -0
- package/dist/{chunk-FHVFGVIO.js → chunk-32CTMD2C.js} +90 -32
- package/dist/chunk-32CTMD2C.js.map +1 -0
- package/dist/chunk-4CDL2QJT.js +649 -0
- package/dist/chunk-4CDL2QJT.js.map +1 -0
- package/dist/chunk-5WRI5ZAA.js +29 -0
- package/dist/{chunk-3HXBPDKN.js.map → chunk-5WRI5ZAA.js.map} +1 -1
- package/dist/{chunk-KAEQISOW.js → chunk-76K3IYWM.js} +5 -5
- package/dist/chunk-76K3IYWM.js.map +1 -0
- package/dist/chunk-7AHYOMHJ.js +149 -0
- package/dist/chunk-7AHYOMHJ.js.map +1 -0
- package/dist/{chunk-BWGXM3D4.js → chunk-7SKXKUYT.js} +712 -541
- package/dist/chunk-7SKXKUYT.js.map +1 -0
- package/dist/{chunk-UZKIGB7M.cjs → chunk-BMAFVZ2D.cjs} +5 -5
- package/dist/chunk-BMAFVZ2D.cjs.map +1 -0
- package/dist/chunk-BNBRQS7N.js +910 -0
- package/dist/chunk-BNBRQS7N.js.map +1 -0
- package/dist/{chunk-34ZCWSUA.js → chunk-BU4IAJWF.js} +6 -9
- package/dist/chunk-BU4IAJWF.js.map +1 -0
- package/dist/{chunk-ABZOBBLL.cjs → chunk-BXOL277H.cjs} +735 -562
- package/dist/chunk-BXOL277H.cjs.map +1 -0
- package/dist/{chunk-6TEQIYXV.cjs → chunk-CBAB7GOD.cjs} +15 -15
- package/dist/chunk-CBAB7GOD.cjs.map +1 -0
- package/dist/{chunk-A5KDVZDL.cjs → chunk-DSNPWVIG.cjs} +9 -9
- package/dist/chunk-DSNPWVIG.cjs.map +1 -0
- package/dist/chunk-DZUJEN5N.cjs +32 -0
- package/dist/{chunk-EBVYYC2Q.cjs.map → chunk-DZUJEN5N.cjs.map} +1 -1
- package/dist/chunk-E7K4FTLN.cjs +273 -0
- package/dist/chunk-E7K4FTLN.cjs.map +1 -0
- package/dist/{chunk-MJMID7LX.cjs → chunk-ECFXGXWO.cjs} +609 -644
- package/dist/chunk-ECFXGXWO.cjs.map +1 -0
- package/dist/chunk-ET6UOTTU.cjs +154 -0
- package/dist/chunk-ET6UOTTU.cjs.map +1 -0
- package/dist/chunk-FD734TPS.cjs +15818 -0
- package/dist/chunk-FD734TPS.cjs.map +1 -0
- package/dist/chunk-GGYKYORQ.cjs +2060 -0
- package/dist/chunk-GGYKYORQ.cjs.map +1 -0
- package/dist/{chunk-HLRWYUFN.js → chunk-GRBGQ2GE.js} +5 -5
- package/dist/{chunk-HLRWYUFN.js.map → chunk-GRBGQ2GE.js.map} +1 -1
- package/dist/chunk-IU2SZXJQ.cjs +913 -0
- package/dist/chunk-IU2SZXJQ.cjs.map +1 -0
- package/dist/{chunk-GPWMM745.cjs → chunk-J7O6WENZ.cjs} +5 -5
- package/dist/{chunk-GPWMM745.cjs.map → chunk-J7O6WENZ.cjs.map} +1 -1
- package/dist/{chunk-PZUZNPFM.js → chunk-JJ5O45LH.js} +3 -4
- package/dist/chunk-JJ5O45LH.js.map +1 -0
- package/dist/{chunk-E3PG7G6E.js → chunk-JV2KH24V.js} +599 -633
- package/dist/chunk-JV2KH24V.js.map +1 -0
- package/dist/chunk-KEXGB7FK.cjs +29 -0
- package/dist/chunk-KEXGB7FK.cjs.map +1 -0
- package/dist/chunk-KIZIOFZC.js +265 -0
- package/dist/chunk-KIZIOFZC.js.map +1 -0
- package/dist/{chunk-UXG7PYML.js → chunk-KJ2SW6VA.js} +9 -9
- package/dist/chunk-KJ2SW6VA.js.map +1 -0
- package/dist/{chunk-TTELJD4F.js → chunk-L54GIUCB.js} +2 -2
- package/dist/chunk-L54GIUCB.js.map +1 -0
- package/dist/chunk-L7XKOKOW.js +12385 -0
- package/dist/chunk-L7XKOKOW.js.map +1 -0
- package/dist/{chunk-TSNDVBUU.cjs → chunk-MR7ZWBL6.cjs} +2 -2
- package/dist/chunk-MR7ZWBL6.cjs.map +1 -0
- package/dist/chunk-MV7KHWUT.js +2031 -0
- package/dist/chunk-MV7KHWUT.js.map +1 -0
- package/dist/{chunk-3NTOFNIU.js → chunk-OJNJA5ZI.js} +3 -3
- package/dist/{chunk-3NTOFNIU.js.map → chunk-OJNJA5ZI.js.map} +1 -1
- package/dist/{chunk-3VXXCPKX.js → chunk-P6APHXPZ.js} +334 -410
- package/dist/chunk-P6APHXPZ.js.map +1 -0
- package/dist/{chunk-77JHIM4E.cjs → chunk-QCQLOMJM.cjs} +348 -424
- package/dist/chunk-QCQLOMJM.cjs.map +1 -0
- package/dist/chunk-QM5SRDJX.js +9022 -0
- package/dist/chunk-QM5SRDJX.js.map +1 -0
- package/dist/{chunk-WBAXXG34.cjs → chunk-QUKUN6NR.cjs} +32 -66
- package/dist/chunk-QUKUN6NR.cjs.map +1 -0
- package/dist/{chunk-ROS5CMJS.cjs → chunk-QUZGDSWE.cjs} +63 -50
- package/dist/chunk-QUZGDSWE.cjs.map +1 -0
- package/dist/chunk-S5MJLXMG.cjs +12424 -0
- package/dist/chunk-S5MJLXMG.cjs.map +1 -0
- package/dist/chunk-S6URFGCZ.js +27 -0
- package/dist/chunk-S6URFGCZ.js.map +1 -0
- package/dist/chunk-SVLMF4UZ.cjs +9033 -0
- package/dist/chunk-SVLMF4UZ.cjs.map +1 -0
- package/dist/{chunk-ZMELUU72.js → chunk-TQTAMPSC.js} +3 -3
- package/dist/chunk-TQTAMPSC.js.map +1 -0
- package/dist/{chunk-5NTO7S5I.cjs → chunk-TWH4PTDG.cjs} +2 -4
- package/dist/chunk-TWH4PTDG.cjs.map +1 -0
- package/dist/{chunk-WCHE6FJ7.js → chunk-UIZSWUKP.js} +15 -50
- package/dist/chunk-UIZSWUKP.js.map +1 -0
- package/dist/{chunk-Z4RIRDU3.js → chunk-VJUZZB2I.js} +45 -32
- package/dist/chunk-VJUZZB2I.js.map +1 -0
- package/dist/{chunk-MCASUJWY.cjs → chunk-VOY2RXOC.cjs} +36 -59
- package/dist/chunk-VOY2RXOC.cjs.map +1 -0
- package/dist/{chunk-3JX2Y3WH.cjs → chunk-VV753WCB.cjs} +18 -21
- package/dist/chunk-VV753WCB.cjs.map +1 -0
- package/dist/chunk-WM6CK2F3.cjs +674 -0
- package/dist/chunk-WM6CK2F3.cjs.map +1 -0
- package/dist/{chunk-PFXXH2RP.js → chunk-X7JMA3IY.js} +15 -15
- package/dist/chunk-X7JMA3IY.js.map +1 -0
- package/dist/{chunk-NR77P3TK.js → chunk-XEVG546F.js} +14 -37
- package/dist/chunk-XEVG546F.js.map +1 -0
- package/dist/{chunk-QFF5JUKT.cjs → chunk-Y63IFHEZ.cjs} +4 -4
- package/dist/chunk-Y63IFHEZ.cjs.map +1 -0
- package/dist/{chunk-B7V6NYWH.cjs → chunk-Y6ROD72V.cjs} +4 -4
- package/dist/{chunk-B7V6NYWH.cjs.map → chunk-Y6ROD72V.cjs.map} +1 -1
- package/dist/{chunk-7J3XX4AO.cjs → chunk-YIK3ASEG.cjs} +100 -42
- package/dist/chunk-YIK3ASEG.cjs.map +1 -0
- package/dist/deployer/index.cjs +8 -6
- package/dist/deployer/index.cjs.map +1 -1
- package/dist/deployer/index.js +10 -1
- package/dist/deployer/index.js.map +1 -1
- package/dist/di/index.cjs +3 -3
- package/dist/di/index.d.ts +1 -1
- package/dist/di/index.js +1 -1
- package/dist/error/index.cjs +6 -6
- package/dist/error/index.d.ts +0 -1
- package/dist/error/index.d.ts.map +1 -1
- package/dist/error/index.js +1 -1
- package/dist/{scores → evals}/base.d.ts +20 -18
- package/dist/evals/base.d.ts.map +1 -0
- package/dist/{scores → evals}/base.test-utils.d.ts +25 -25
- package/dist/evals/base.test-utils.d.ts.map +1 -0
- package/dist/{scores → evals}/hooks.d.ts +3 -3
- package/dist/evals/hooks.d.ts.map +1 -0
- package/dist/evals/index.cjs +37 -0
- package/dist/evals/index.d.ts +4 -0
- package/dist/evals/index.d.ts.map +1 -0
- package/dist/evals/index.js +4 -0
- package/dist/{scores/run-experiment → evals/run}/index.d.ts +18 -18
- package/dist/evals/run/index.d.ts.map +1 -0
- package/dist/evals/run/scorerAccumulator.d.ts.map +1 -0
- package/dist/{scores → evals}/scoreTraces/index.cjs +79 -99
- package/dist/evals/scoreTraces/index.cjs.map +1 -0
- package/dist/evals/scoreTraces/index.d.ts.map +1 -0
- package/dist/{scores → evals}/scoreTraces/index.js +72 -92
- package/dist/evals/scoreTraces/index.js.map +1 -0
- package/dist/{scores → evals}/scoreTraces/scoreTraces.d.ts +2 -2
- package/dist/evals/scoreTraces/scoreTraces.d.ts.map +1 -0
- package/dist/{scores → evals}/scoreTraces/scoreTracesWorkflow.d.ts +11 -11
- package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -0
- package/dist/{scores → evals}/scoreTraces/utils.d.ts +7 -7
- package/dist/evals/scoreTraces/utils.d.ts.map +1 -0
- package/dist/{scores → evals}/types.d.ts +22 -22
- package/dist/evals/types.d.ts.map +1 -0
- package/dist/features/index.cjs +8 -0
- package/dist/features/index.cjs.map +1 -0
- package/dist/features/index.d.ts +17 -0
- package/dist/features/index.d.ts.map +1 -0
- package/dist/features/index.js +6 -0
- package/dist/features/index.js.map +1 -0
- package/dist/hooks/index.cjs +4 -4
- package/dist/hooks/index.d.ts +1 -27
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +2 -340
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -113
- package/dist/index.js.map +1 -1
- package/dist/integration/index.cjs +87 -10
- package/dist/integration/index.cjs.map +1 -1
- package/dist/integration/index.js +88 -1
- package/dist/integration/index.js.map +1 -1
- package/dist/integration/integration.d.ts +3 -3
- package/dist/integration/integration.d.ts.map +1 -1
- package/dist/llm/index.cjs +7 -7
- package/dist/llm/index.d.ts +5 -6
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +1 -1
- package/dist/llm/model/base.types.d.ts +6 -7
- package/dist/llm/model/base.types.d.ts.map +1 -1
- package/dist/llm/model/model.d.ts +7 -7
- package/dist/llm/model/model.d.ts.map +1 -1
- package/dist/llm/model/model.loop.d.ts +1 -1
- package/dist/llm/model/model.loop.d.ts.map +1 -1
- package/dist/llm/model/model.loop.types.d.ts +3 -3
- package/dist/llm/model/model.loop.types.d.ts.map +1 -1
- package/dist/llm/model/provider-types.generated.d.ts +32 -7
- package/dist/llm/model/resolve-model.d.ts +8 -8
- package/dist/llm/model/shared.types.d.ts +2 -2
- package/dist/llm/model/shared.types.d.ts.map +1 -1
- package/dist/logger/constants.d.ts +1 -1
- package/dist/logger/default-logger.d.ts +2 -2
- package/dist/logger/default-logger.d.ts.map +1 -1
- package/dist/logger/index.cjs +11 -11
- package/dist/logger/index.js +2 -2
- package/dist/logger/logger.d.ts +4 -4
- package/dist/logger/logger.d.ts.map +1 -1
- package/dist/logger/multi-logger.d.ts +2 -2
- package/dist/logger/multi-logger.d.ts.map +1 -1
- package/dist/logger/transport.d.ts +3 -3
- package/dist/logger/transport.d.ts.map +1 -1
- package/dist/loop/index.cjs +2 -2
- package/dist/loop/index.js +1 -1
- package/dist/loop/loop.d.ts +1 -1
- package/dist/loop/loop.d.ts.map +1 -1
- package/dist/loop/network/index.d.ts +15 -15
- package/dist/loop/network/index.d.ts.map +1 -1
- package/dist/loop/test-utils/generateText.d.ts.map +1 -1
- package/dist/loop/test-utils/options.d.ts.map +1 -1
- package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
- package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
- package/dist/loop/types.d.ts +4 -7
- package/dist/loop/types.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/index.d.ts +55 -55
- package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +38 -38
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +20 -20
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts +2 -2
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-loop/index.d.ts +55 -55
- package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
- package/dist/loop/workflows/schema.d.ts +19 -20
- package/dist/loop/workflows/schema.d.ts.map +1 -1
- package/dist/loop/workflows/stream.d.ts +1 -1
- package/dist/loop/workflows/stream.d.ts.map +1 -1
- package/dist/mastra/hooks.d.ts +2 -2
- package/dist/mastra/hooks.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.d.ts +389 -180
- package/dist/mastra/index.d.ts.map +1 -1
- package/dist/mastra/index.js +1 -1
- package/dist/mcp/index.cjs +41 -4
- package/dist/mcp/index.cjs.map +1 -1
- package/dist/mcp/index.d.ts +6 -4
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +39 -2
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/types.d.ts +0 -15
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/memory/index.cjs +327 -13
- package/dist/memory/index.cjs.map +1 -1
- package/dist/memory/index.d.ts +1 -0
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +327 -1
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/memory.d.ts +33 -57
- package/dist/memory/memory.d.ts.map +1 -1
- package/dist/memory/mock.d.ts +61 -0
- package/dist/memory/mock.d.ts.map +1 -0
- package/dist/memory/types.d.ts +48 -45
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/models-dev-7U4NRMM3.js +3 -0
- package/dist/{models-dev-4VGIWYS3.js.map → models-dev-7U4NRMM3.js.map} +1 -1
- package/dist/models-dev-VKSAQPRK.cjs +12 -0
- package/dist/{models-dev-AXZASLL2.cjs.map → models-dev-VKSAQPRK.cjs.map} +1 -1
- package/dist/netlify-2IDXTNFW.cjs +12 -0
- package/dist/{netlify-TX6V7SJJ.cjs.map → netlify-2IDXTNFW.cjs.map} +1 -1
- package/dist/netlify-42ZNWIDQ.js +3 -0
- package/dist/{netlify-VJXBII33.js.map → netlify-42ZNWIDQ.js.map} +1 -1
- package/dist/{ai-tracing → observability}/context.d.ts +5 -5
- package/dist/observability/context.d.ts.map +1 -0
- package/dist/observability/index.cjs +36 -0
- package/dist/observability/index.d.ts +11 -0
- package/dist/observability/index.d.ts.map +1 -0
- package/dist/observability/index.js +3 -0
- package/dist/observability/no-op.d.ts +22 -0
- package/dist/observability/no-op.d.ts.map +1 -0
- package/dist/observability/types/index.d.ts +2 -0
- package/dist/observability/types/index.d.ts.map +1 -0
- package/dist/{ai-tracing/types.d.ts → observability/types/tracing.d.ts} +161 -107
- package/dist/observability/types/tracing.d.ts.map +1 -0
- package/dist/observability/utils.d.ts +12 -0
- package/dist/observability/utils.d.ts.map +1 -0
- package/dist/processors/index.cjs +11 -11
- package/dist/processors/index.d.ts +10 -9
- package/dist/processors/index.d.ts.map +1 -1
- package/dist/processors/index.js +1 -1
- package/dist/processors/processors/batch-parts.d.ts +2 -1
- package/dist/processors/processors/batch-parts.d.ts.map +1 -1
- package/dist/processors/processors/language-detector.d.ts +6 -5
- package/dist/processors/processors/language-detector.d.ts.map +1 -1
- package/dist/processors/processors/moderation.d.ts +8 -7
- package/dist/processors/processors/moderation.d.ts.map +1 -1
- package/dist/processors/processors/pii-detector.d.ts +8 -7
- package/dist/processors/processors/pii-detector.d.ts.map +1 -1
- package/dist/processors/processors/prompt-injection-detector.d.ts +6 -5
- package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
- package/dist/processors/processors/structured-output.d.ts +3 -2
- package/dist/processors/processors/structured-output.d.ts.map +1 -1
- package/dist/processors/processors/system-prompt-scrubber.d.ts +6 -5
- package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -1
- package/dist/processors/processors/token-limiter.d.ts +5 -4
- package/dist/processors/processors/token-limiter.d.ts.map +1 -1
- package/dist/processors/processors/unicode-normalizer.d.ts +5 -4
- package/dist/processors/processors/unicode-normalizer.d.ts.map +1 -1
- package/dist/processors/runner.d.ts +5 -5
- package/dist/processors/runner.d.ts.map +1 -1
- package/dist/provider-registry.json +76 -18
- package/dist/{registry-generator-DXRSYYYT.js → registry-generator-H4YNODDH.js} +2 -2
- package/dist/{registry-generator-DXRSYYYT.js.map → registry-generator-H4YNODDH.js.map} +1 -1
- package/dist/{registry-generator-6WVOHM2L.cjs → registry-generator-MK63POJO.cjs} +2 -2
- package/dist/{registry-generator-6WVOHM2L.cjs.map → registry-generator-MK63POJO.cjs.map} +1 -1
- package/dist/relevance/index.cjs +47 -13
- package/dist/relevance/index.cjs.map +1 -1
- package/dist/relevance/index.d.ts +0 -1
- package/dist/relevance/index.d.ts.map +1 -1
- package/dist/relevance/index.js +49 -1
- package/dist/relevance/index.js.map +1 -1
- package/dist/relevance/mastra-agent/index.d.ts.map +1 -1
- package/dist/request-context/index.cjs +12 -0
- package/dist/{runtime-context → request-context}/index.d.ts +1 -1
- package/dist/{runtime-context → request-context}/index.d.ts.map +1 -1
- package/dist/request-context/index.js +3 -0
- package/dist/server/auth.d.ts.map +1 -1
- package/dist/server/index.cjs +9 -25
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.js +4 -21
- package/dist/server/index.js.map +1 -1
- package/dist/server/types.d.ts +3 -3
- package/dist/server/types.d.ts.map +1 -1
- package/dist/storage/base.d.ts +75 -143
- package/dist/storage/base.d.ts.map +1 -1
- package/dist/storage/constants.d.ts +3 -4
- package/dist/storage/constants.d.ts.map +1 -1
- package/dist/storage/domains/index.d.ts +0 -2
- package/dist/storage/domains/index.d.ts.map +1 -1
- package/dist/storage/domains/memory/base.d.ts +19 -56
- package/dist/storage/domains/memory/base.d.ts.map +1 -1
- package/dist/storage/domains/memory/inmemory.d.ts +15 -35
- package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
- package/dist/storage/domains/observability/base.d.ts +24 -24
- package/dist/storage/domains/observability/base.d.ts.map +1 -1
- package/dist/storage/domains/observability/inmemory.d.ts +18 -18
- package/dist/storage/domains/observability/inmemory.d.ts.map +1 -1
- package/dist/storage/domains/operations/inmemory.d.ts.map +1 -1
- package/dist/storage/domains/scores/base.d.ts +5 -5
- package/dist/storage/domains/scores/base.d.ts.map +1 -1
- package/dist/storage/domains/scores/inmemory.d.ts +5 -5
- package/dist/storage/domains/scores/inmemory.d.ts.map +1 -1
- package/dist/storage/domains/workflows/base.d.ts +4 -11
- package/dist/storage/domains/workflows/base.d.ts.map +1 -1
- package/dist/storage/domains/workflows/inmemory.d.ts +4 -11
- package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -1
- package/dist/storage/index.cjs +74 -1775
- package/dist/storage/index.cjs.map +1 -1
- package/dist/storage/index.js +1 -1744
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/mock.d.ts +35 -92
- package/dist/storage/mock.d.ts.map +1 -1
- package/dist/storage/types.d.ts +77 -75
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/stream/MastraAgentNetworkStream.d.ts +4 -2
- package/dist/stream/MastraAgentNetworkStream.d.ts.map +1 -1
- package/dist/stream/MastraWorkflowStream.d.ts +1 -1
- package/dist/stream/MastraWorkflowStream.d.ts.map +1 -1
- package/dist/stream/RunOutput.d.ts +1 -0
- package/dist/stream/RunOutput.d.ts.map +1 -1
- package/dist/stream/aisdk/v4/input.d.ts +1 -1
- package/dist/stream/aisdk/v4/input.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/execute.d.ts +4 -11
- package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/output.d.ts +1 -1
- package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
- package/dist/stream/base/output.d.ts +1 -1
- package/dist/stream/base/output.d.ts.map +1 -1
- package/dist/stream/index.cjs +11 -11
- package/dist/stream/index.d.ts +1 -1
- package/dist/stream/index.d.ts.map +1 -1
- package/dist/stream/index.js +2 -2
- package/dist/stream/types.d.ts +2 -6
- package/dist/stream/types.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.cjs +8 -8
- package/dist/test-utils/llm-mock.cjs.map +1 -1
- package/dist/test-utils/llm-mock.d.ts +1 -1
- package/dist/test-utils/llm-mock.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.js +3 -3
- package/dist/test-utils/llm-mock.js.map +1 -1
- package/dist/tools/index.cjs +4 -4
- package/dist/tools/index.js +1 -1
- package/dist/tools/is-vercel-tool.cjs +2 -2
- package/dist/tools/is-vercel-tool.js +1 -1
- package/dist/tools/tool-builder/builder.d.ts +3 -71
- package/dist/tools/tool-builder/builder.d.ts.map +1 -1
- package/dist/tools/tool.d.ts +25 -25
- package/dist/tools/tool.d.ts.map +1 -1
- package/dist/tools/types.d.ts +102 -11
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/validation.d.ts +4 -3
- package/dist/tools/validation.d.ts.map +1 -1
- package/dist/tts/index.cjs +12 -6
- package/dist/tts/index.cjs.map +1 -1
- package/dist/tts/index.d.ts +0 -1
- package/dist/tts/index.d.ts.map +1 -1
- package/dist/tts/index.js +14 -1
- package/dist/tts/index.js.map +1 -1
- package/dist/types/dynamic-argument.d.ts +3 -3
- package/dist/utils/fetchWithRetry.d.ts +9 -0
- package/dist/utils/fetchWithRetry.d.ts.map +1 -0
- package/dist/utils.cjs +33 -17
- package/dist/utils.d.ts +39 -6
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/vector/embed.d.ts +1 -1
- package/dist/vector/embed.d.ts.map +1 -1
- package/dist/vector/index.cjs +80 -8
- package/dist/vector/index.cjs.map +1 -1
- package/dist/vector/index.js +80 -1
- package/dist/vector/index.js.map +1 -1
- package/dist/vector/vector.d.ts +5 -2
- package/dist/vector/vector.d.ts.map +1 -1
- package/dist/voice/composite-voice.d.ts +1 -7
- package/dist/voice/composite-voice.d.ts.map +1 -1
- package/dist/voice/index.cjs +4 -4
- package/dist/voice/index.js +1 -1
- package/dist/voice/voice.d.ts +0 -1
- package/dist/voice/voice.d.ts.map +1 -1
- package/dist/workflows/default.d.ts +35 -43
- package/dist/workflows/default.d.ts.map +1 -1
- package/dist/workflows/evented/execution-engine.d.ts +5 -3
- package/dist/workflows/evented/execution-engine.d.ts.map +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/evented/step-executor.d.ts +15 -13
- package/dist/workflows/evented/step-executor.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/index.d.ts +5 -5
- package/dist/workflows/evented/workflow-event-processor/index.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/loop.d.ts +3 -3
- package/dist/workflows/evented/workflow-event-processor/loop.d.ts.map +1 -1
- package/dist/workflows/evented/workflow-event-processor/parallel.d.ts +2 -2
- package/dist/workflows/evented/workflow-event-processor/sleep.d.ts +2 -2
- package/dist/workflows/evented/workflow-event-processor/utils.d.ts +2 -7
- package/dist/workflows/evented/workflow-event-processor/utils.d.ts.map +1 -1
- package/dist/workflows/evented/workflow.d.ts +11 -14
- package/dist/workflows/evented/workflow.d.ts.map +1 -1
- package/dist/workflows/execution-engine.d.ts +6 -6
- package/dist/workflows/execution-engine.d.ts.map +1 -1
- package/dist/workflows/index.cjs +22 -14
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/step.d.ts +5 -5
- package/dist/workflows/step.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +20 -44
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/utils.d.ts +14 -0
- package/dist/workflows/utils.d.ts.map +1 -1
- package/dist/workflows/workflow.d.ts +74 -64
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/evals/scoreTraces.d.ts +1 -0
- package/evals.d.ts +1 -0
- package/features.d.ts +1 -0
- package/observability.d.ts +1 -0
- package/package.json +48 -64
- package/request-context.d.ts +1 -0
- package/src/_types/ai-sdk.types.d.ts +4705 -0
- package/src/llm/model/provider-types.generated.d.ts +32 -7
- package/agent/input-processor/processors.d.ts +0 -1
- package/ai-tracing.d.ts +0 -1
- package/dist/agent/index.warning.d.ts +0 -13
- package/dist/agent/index.warning.d.ts.map +0 -1
- package/dist/agent/input-processor/index.cjs +0 -28
- package/dist/agent/input-processor/index.d.ts +0 -10
- package/dist/agent/input-processor/index.d.ts.map +0 -1
- package/dist/agent/input-processor/index.js +0 -3
- package/dist/agent/input-processor/processors/index.d.ts +0 -6
- package/dist/agent/input-processor/processors/index.d.ts.map +0 -1
- package/dist/agent/input-processor/processors/language-detector.d.ts +0 -18
- package/dist/agent/input-processor/processors/language-detector.d.ts.map +0 -1
- package/dist/agent/input-processor/processors/moderation.d.ts +0 -18
- package/dist/agent/input-processor/processors/moderation.d.ts.map +0 -1
- package/dist/agent/input-processor/processors/pii-detector.d.ts +0 -18
- package/dist/agent/input-processor/processors/pii-detector.d.ts.map +0 -1
- package/dist/agent/input-processor/processors/prompt-injection-detector.d.ts +0 -18
- package/dist/agent/input-processor/processors/prompt-injection-detector.d.ts.map +0 -1
- package/dist/agent/input-processor/processors/unicode-normalizer.d.ts +0 -18
- package/dist/agent/input-processor/processors/unicode-normalizer.d.ts.map +0 -1
- package/dist/ai-tracing/context.d.ts.map +0 -1
- package/dist/ai-tracing/exporters/base.d.ts +0 -111
- package/dist/ai-tracing/exporters/base.d.ts.map +0 -1
- package/dist/ai-tracing/exporters/cloud.d.ts +0 -30
- package/dist/ai-tracing/exporters/cloud.d.ts.map +0 -1
- package/dist/ai-tracing/exporters/console.d.ts +0 -10
- package/dist/ai-tracing/exporters/console.d.ts.map +0 -1
- package/dist/ai-tracing/exporters/default.d.ts +0 -98
- package/dist/ai-tracing/exporters/default.d.ts.map +0 -1
- package/dist/ai-tracing/exporters/index.d.ts +0 -9
- package/dist/ai-tracing/exporters/index.d.ts.map +0 -1
- package/dist/ai-tracing/index.cjs +0 -148
- package/dist/ai-tracing/index.d.ts +0 -13
- package/dist/ai-tracing/index.d.ts.map +0 -1
- package/dist/ai-tracing/index.js +0 -3
- package/dist/ai-tracing/model-tracing.d.ts +0 -63
- package/dist/ai-tracing/model-tracing.d.ts.map +0 -1
- package/dist/ai-tracing/registry.d.ts +0 -51
- package/dist/ai-tracing/registry.d.ts.map +0 -1
- package/dist/ai-tracing/span_processors/index.d.ts +0 -5
- package/dist/ai-tracing/span_processors/index.d.ts.map +0 -1
- package/dist/ai-tracing/span_processors/sensitive-data-filter.d.ts +0 -85
- package/dist/ai-tracing/span_processors/sensitive-data-filter.d.ts.map +0 -1
- package/dist/ai-tracing/spans/base.d.ts +0 -65
- package/dist/ai-tracing/spans/base.d.ts.map +0 -1
- package/dist/ai-tracing/spans/default.d.ts +0 -13
- package/dist/ai-tracing/spans/default.d.ts.map +0 -1
- package/dist/ai-tracing/spans/index.d.ts +0 -7
- package/dist/ai-tracing/spans/index.d.ts.map +0 -1
- package/dist/ai-tracing/spans/no-op.d.ts +0 -15
- package/dist/ai-tracing/spans/no-op.d.ts.map +0 -1
- package/dist/ai-tracing/tracers/base.d.ts +0 -105
- package/dist/ai-tracing/tracers/base.d.ts.map +0 -1
- package/dist/ai-tracing/tracers/default.d.ts +0 -7
- package/dist/ai-tracing/tracers/default.d.ts.map +0 -1
- package/dist/ai-tracing/tracers/index.d.ts +0 -6
- package/dist/ai-tracing/tracers/index.d.ts.map +0 -1
- package/dist/ai-tracing/types.d.ts.map +0 -1
- package/dist/ai-tracing/utils.d.ts +0 -68
- package/dist/ai-tracing/utils.d.ts.map +0 -1
- package/dist/base.warning.d.ts +0 -9
- package/dist/base.warning.d.ts.map +0 -1
- package/dist/bundler/index.warning.d.ts +0 -9
- package/dist/bundler/index.warning.d.ts.map +0 -1
- package/dist/chunk-253FBVD4.cjs +0 -1303
- package/dist/chunk-253FBVD4.cjs.map +0 -1
- package/dist/chunk-2B3VLGTH.js +0 -87
- package/dist/chunk-2B3VLGTH.js.map +0 -1
- package/dist/chunk-34ZCWSUA.js.map +0 -1
- package/dist/chunk-3HXBPDKN.js +0 -105
- package/dist/chunk-3JX2Y3WH.cjs.map +0 -1
- package/dist/chunk-3VXXCPKX.js.map +0 -1
- package/dist/chunk-4R2TBRS7.cjs +0 -191
- package/dist/chunk-4R2TBRS7.cjs.map +0 -1
- package/dist/chunk-5NTO7S5I.cjs.map +0 -1
- package/dist/chunk-6C7VGVK4.js +0 -267
- package/dist/chunk-6C7VGVK4.js.map +0 -1
- package/dist/chunk-6KOL2B3A.cjs +0 -75
- package/dist/chunk-6KOL2B3A.cjs.map +0 -1
- package/dist/chunk-6TEQIYXV.cjs.map +0 -1
- package/dist/chunk-6VOPKVYH.cjs +0 -57
- package/dist/chunk-6VOPKVYH.cjs.map +0 -1
- package/dist/chunk-77JHIM4E.cjs.map +0 -1
- package/dist/chunk-7J3XX4AO.cjs.map +0 -1
- package/dist/chunk-A5KDVZDL.cjs.map +0 -1
- package/dist/chunk-ABZOBBLL.cjs.map +0 -1
- package/dist/chunk-AQGLVU53.cjs +0 -603
- package/dist/chunk-AQGLVU53.cjs.map +0 -1
- package/dist/chunk-BLUDYAPI.js +0 -596
- package/dist/chunk-BLUDYAPI.js.map +0 -1
- package/dist/chunk-BWGXM3D4.js.map +0 -1
- package/dist/chunk-C7OVZMPW.cjs +0 -91
- package/dist/chunk-C7OVZMPW.cjs.map +0 -1
- package/dist/chunk-DMBN72QF.cjs +0 -39
- package/dist/chunk-DMBN72QF.cjs.map +0 -1
- package/dist/chunk-DTTOVV72.js +0 -2880
- package/dist/chunk-DTTOVV72.js.map +0 -1
- package/dist/chunk-E3PG7G6E.js.map +0 -1
- package/dist/chunk-EBVYYC2Q.cjs +0 -111
- package/dist/chunk-FHVFGVIO.js.map +0 -1
- package/dist/chunk-GB5BIA4V.js +0 -167
- package/dist/chunk-GB5BIA4V.js.map +0 -1
- package/dist/chunk-HEQTUMUA.cjs +0 -271
- package/dist/chunk-HEQTUMUA.cjs.map +0 -1
- package/dist/chunk-HF3GZRFP.cjs +0 -9
- package/dist/chunk-HF3GZRFP.cjs.map +0 -1
- package/dist/chunk-JVV5LREI.js +0 -431
- package/dist/chunk-JVV5LREI.js.map +0 -1
- package/dist/chunk-KAEQISOW.js.map +0 -1
- package/dist/chunk-KDX3ZMQ2.js +0 -12
- package/dist/chunk-KDX3ZMQ2.js.map +0 -1
- package/dist/chunk-LG5B3KIW.js +0 -1215
- package/dist/chunk-LG5B3KIW.js.map +0 -1
- package/dist/chunk-LZUSZT7R.cjs +0 -170
- package/dist/chunk-LZUSZT7R.cjs.map +0 -1
- package/dist/chunk-MCASUJWY.cjs.map +0 -1
- package/dist/chunk-MJMID7LX.cjs.map +0 -1
- package/dist/chunk-MKCC5K77.js +0 -90
- package/dist/chunk-MKCC5K77.js.map +0 -1
- package/dist/chunk-NPNGPMT2.js +0 -39
- package/dist/chunk-NPNGPMT2.js.map +0 -1
- package/dist/chunk-NR77P3TK.js.map +0 -1
- package/dist/chunk-NUAURT4I.cjs +0 -82
- package/dist/chunk-NUAURT4I.cjs.map +0 -1
- package/dist/chunk-OIT3PCWA.js +0 -72
- package/dist/chunk-OIT3PCWA.js.map +0 -1
- package/dist/chunk-P35FNLTQ.cjs +0 -2936
- package/dist/chunk-P35FNLTQ.cjs.map +0 -1
- package/dist/chunk-PFXXH2RP.js.map +0 -1
- package/dist/chunk-PZUZNPFM.js.map +0 -1
- package/dist/chunk-QFF5JUKT.cjs.map +0 -1
- package/dist/chunk-RKXWLG33.js +0 -7
- package/dist/chunk-RKXWLG33.js.map +0 -1
- package/dist/chunk-ROS5CMJS.cjs.map +0 -1
- package/dist/chunk-SJMKDSRF.js +0 -179
- package/dist/chunk-SJMKDSRF.js.map +0 -1
- package/dist/chunk-SSULK22X.cjs +0 -14
- package/dist/chunk-SSULK22X.cjs.map +0 -1
- package/dist/chunk-TSNDVBUU.cjs.map +0 -1
- package/dist/chunk-TTELJD4F.js.map +0 -1
- package/dist/chunk-TX4TTPYJ.cjs +0 -436
- package/dist/chunk-TX4TTPYJ.cjs.map +0 -1
- package/dist/chunk-UXG7PYML.js.map +0 -1
- package/dist/chunk-UZKIGB7M.cjs.map +0 -1
- package/dist/chunk-VF676YCO.cjs +0 -150
- package/dist/chunk-VF676YCO.cjs.map +0 -1
- package/dist/chunk-VQASQG5D.js +0 -55
- package/dist/chunk-VQASQG5D.js.map +0 -1
- package/dist/chunk-WBAXXG34.cjs.map +0 -1
- package/dist/chunk-WCHE6FJ7.js.map +0 -1
- package/dist/chunk-WM4RO23J.js +0 -145
- package/dist/chunk-WM4RO23J.js.map +0 -1
- package/dist/chunk-Z4RIRDU3.js.map +0 -1
- package/dist/chunk-ZABG3SZ2.cjs +0 -93
- package/dist/chunk-ZABG3SZ2.cjs.map +0 -1
- package/dist/chunk-ZISECZZO.js +0 -72
- package/dist/chunk-ZISECZZO.js.map +0 -1
- package/dist/chunk-ZMELUU72.js.map +0 -1
- package/dist/deployer/index.warning.d.ts +0 -9
- package/dist/deployer/index.warning.d.ts.map +0 -1
- package/dist/eval/evaluation.d.ts +0 -14
- package/dist/eval/evaluation.d.ts.map +0 -1
- package/dist/eval/index.cjs +0 -16
- package/dist/eval/index.d.ts +0 -4
- package/dist/eval/index.d.ts.map +0 -1
- package/dist/eval/index.js +0 -3
- package/dist/eval/metric.d.ts +0 -8
- package/dist/eval/metric.d.ts.map +0 -1
- package/dist/eval/types.d.ts +0 -9
- package/dist/eval/types.d.ts.map +0 -1
- package/dist/integration/index.warning.d.ts +0 -3
- package/dist/integration/index.warning.d.ts.map +0 -1
- package/dist/integration/integration.warning.d.ts +0 -5
- package/dist/integration/integration.warning.d.ts.map +0 -1
- package/dist/integration/openapi-toolset.warning.d.ts +0 -5
- package/dist/integration/openapi-toolset.warning.d.ts.map +0 -1
- package/dist/loop/telemetry/index.d.ts +0 -36
- package/dist/loop/telemetry/index.d.ts.map +0 -1
- package/dist/loop/telemetry/noop.d.ts +0 -3
- package/dist/loop/telemetry/noop.d.ts.map +0 -1
- package/dist/loop/test-utils/mockTracer.d.ts +0 -47
- package/dist/loop/test-utils/mockTracer.d.ts.map +0 -1
- package/dist/loop/test-utils/telemetry.d.ts +0 -6
- package/dist/loop/test-utils/telemetry.d.ts.map +0 -1
- package/dist/memory/index.warning.d.ts +0 -6
- package/dist/memory/index.warning.d.ts.map +0 -1
- package/dist/models-dev-4VGIWYS3.js +0 -3
- package/dist/models-dev-AXZASLL2.cjs +0 -12
- package/dist/netlify-TX6V7SJJ.cjs +0 -12
- package/dist/netlify-VJXBII33.js +0 -3
- package/dist/relevance/cohere/index.d.ts +0 -9
- package/dist/relevance/cohere/index.d.ts.map +0 -1
- package/dist/runtime-context/index.cjs +0 -12
- package/dist/runtime-context/index.js +0 -3
- package/dist/scores/base.d.ts.map +0 -1
- package/dist/scores/base.test-utils.d.ts.map +0 -1
- package/dist/scores/hooks.d.ts.map +0 -1
- package/dist/scores/index.cjs +0 -37
- package/dist/scores/index.cjs.map +0 -1
- package/dist/scores/index.d.ts +0 -4
- package/dist/scores/index.d.ts.map +0 -1
- package/dist/scores/index.js +0 -4
- package/dist/scores/index.js.map +0 -1
- package/dist/scores/run-experiment/index.d.ts.map +0 -1
- package/dist/scores/run-experiment/scorerAccumulator.d.ts.map +0 -1
- package/dist/scores/scoreTraces/index.cjs.map +0 -1
- package/dist/scores/scoreTraces/index.d.ts.map +0 -1
- package/dist/scores/scoreTraces/index.js.map +0 -1
- package/dist/scores/scoreTraces/scoreTraces.d.ts.map +0 -1
- package/dist/scores/scoreTraces/scoreTracesWorkflow.d.ts.map +0 -1
- package/dist/scores/scoreTraces/utils.d.ts.map +0 -1
- package/dist/scores/types.d.ts.map +0 -1
- package/dist/storage/base.warning.d.ts +0 -8
- package/dist/storage/base.warning.d.ts.map +0 -1
- package/dist/storage/domains/legacy-evals/base.d.ts +0 -13
- package/dist/storage/domains/legacy-evals/base.d.ts.map +0 -1
- package/dist/storage/domains/legacy-evals/index.d.ts +0 -2
- package/dist/storage/domains/legacy-evals/index.d.ts.map +0 -1
- package/dist/storage/domains/legacy-evals/inmemory.d.ts +0 -17
- package/dist/storage/domains/legacy-evals/inmemory.d.ts.map +0 -1
- package/dist/storage/domains/traces/base.d.ts +0 -14
- package/dist/storage/domains/traces/base.d.ts.map +0 -1
- package/dist/storage/domains/traces/index.d.ts +0 -3
- package/dist/storage/domains/traces/index.d.ts.map +0 -1
- package/dist/storage/domains/traces/inmemory.d.ts +0 -22
- package/dist/storage/domains/traces/inmemory.d.ts.map +0 -1
- package/dist/storage/index.warning.d.ts +0 -3
- package/dist/storage/index.warning.d.ts.map +0 -1
- package/dist/telemetry/composite-exporter.d.ts +0 -10
- package/dist/telemetry/composite-exporter.d.ts.map +0 -1
- package/dist/telemetry/index.cjs +0 -32
- package/dist/telemetry/index.cjs.map +0 -1
- package/dist/telemetry/index.d.ts +0 -6
- package/dist/telemetry/index.d.ts.map +0 -1
- package/dist/telemetry/index.js +0 -3
- package/dist/telemetry/index.js.map +0 -1
- package/dist/telemetry/otel-vendor.cjs +0 -105
- package/dist/telemetry/otel-vendor.cjs.map +0 -1
- package/dist/telemetry/otel-vendor.d.ts +0 -11
- package/dist/telemetry/otel-vendor.d.ts.map +0 -1
- package/dist/telemetry/otel-vendor.js +0 -59
- package/dist/telemetry/otel-vendor.js.map +0 -1
- package/dist/telemetry/storage-exporter.d.ts +0 -21
- package/dist/telemetry/storage-exporter.d.ts.map +0 -1
- package/dist/telemetry/telemetry.d.ts +0 -59
- package/dist/telemetry/telemetry.d.ts.map +0 -1
- package/dist/telemetry/telemetry.decorators.d.ts +0 -15
- package/dist/telemetry/telemetry.decorators.d.ts.map +0 -1
- package/dist/telemetry/types.d.ts +0 -74
- package/dist/telemetry/types.d.ts.map +0 -1
- package/dist/telemetry/utility.d.ts +0 -15
- package/dist/telemetry/utility.d.ts.map +0 -1
- package/dist/tools/index.warning.d.ts +0 -8
- package/dist/tools/index.warning.d.ts.map +0 -1
- package/dist/tts/index.warning.d.ts +0 -7
- package/dist/tts/index.warning.d.ts.map +0 -1
- package/dist/vector/index.warning.d.ts +0 -6
- package/dist/vector/index.warning.d.ts.map +0 -1
- package/dist/workflows/index.warning.d.ts +0 -6
- package/dist/workflows/index.warning.d.ts.map +0 -1
- package/dist/workflows/legacy/index.cjs +0 -92
- package/dist/workflows/legacy/index.cjs.map +0 -1
- package/dist/workflows/legacy/index.d.ts +0 -5
- package/dist/workflows/legacy/index.d.ts.map +0 -1
- package/dist/workflows/legacy/index.js +0 -3
- package/dist/workflows/legacy/index.js.map +0 -1
- package/dist/workflows/legacy/machine.d.ts +0 -386
- package/dist/workflows/legacy/machine.d.ts.map +0 -1
- package/dist/workflows/legacy/step.d.ts +0 -15
- package/dist/workflows/legacy/step.d.ts.map +0 -1
- package/dist/workflows/legacy/types.d.ts +0 -397
- package/dist/workflows/legacy/types.d.ts.map +0 -1
- package/dist/workflows/legacy/utils.d.ts +0 -68
- package/dist/workflows/legacy/utils.d.ts.map +0 -1
- package/dist/workflows/legacy/workflow-instance.d.ts +0 -97
- package/dist/workflows/legacy/workflow-instance.d.ts.map +0 -1
- package/dist/workflows/legacy/workflow.d.ts +0 -109
- package/dist/workflows/legacy/workflow.d.ts.map +0 -1
- package/dist/workflows/workflow.warning.d.ts +0 -9
- package/dist/workflows/workflow.warning.d.ts.map +0 -1
- package/eval.d.ts +0 -1
- package/runtime-context.d.ts +0 -1
- package/scores/scoreTraces.d.ts +0 -1
- package/scores.d.ts +0 -1
- package/telemetry/otel-vendor.d.ts +0 -1
- package/telemetry.d.ts +0 -1
- package/workflows/legacy.d.ts +0 -1
- /package/dist/agent/{input-processor → message-list}/index.cjs.map +0 -0
- /package/dist/agent/{input-processor → message-list}/index.js.map +0 -0
- /package/dist/{ai-tracing → evals}/index.cjs.map +0 -0
- /package/dist/{ai-tracing → evals}/index.js.map +0 -0
- /package/dist/{scores/run-experiment → evals/run}/scorerAccumulator.d.ts +0 -0
- /package/dist/{scores → evals}/scoreTraces/index.d.ts +0 -0
- /package/dist/{eval → observability}/index.cjs.map +0 -0
- /package/dist/{eval → observability}/index.js.map +0 -0
- /package/dist/{runtime-context → request-context}/index.cjs.map +0 -0
- /package/dist/{runtime-context → request-context}/index.js.map +0 -0
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { MastraError } from './chunk-
|
|
3
|
-
import {
|
|
4
|
-
import { randomUUID } from 'crypto';
|
|
5
|
-
import * as AIV4 from 'ai';
|
|
1
|
+
import { convertToCoreMessages, convertUint8ArrayToBase64 as convertUint8ArrayToBase64$1 } from './chunk-QM5SRDJX.js';
|
|
2
|
+
import { MastraError } from './chunk-JJ5O45LH.js';
|
|
3
|
+
import { v4 } from '@lukeed/uuid';
|
|
6
4
|
import * as AIV5 from 'ai-v5';
|
|
7
|
-
import { convertUint8ArrayToBase64
|
|
5
|
+
import { convertUint8ArrayToBase64, convertBase64ToUint8Array, isUrlSupported } from '@ai-sdk/provider-utils-v5';
|
|
8
6
|
import { z } from 'zod';
|
|
9
7
|
|
|
10
8
|
var DefaultGeneratedFile = class {
|
|
@@ -587,6 +585,45 @@ function convertDataContentToBase64String(content) {
|
|
|
587
585
|
}
|
|
588
586
|
return convertUint8ArrayToBase64$1(content);
|
|
589
587
|
}
|
|
588
|
+
|
|
589
|
+
// src/utils/fetchWithRetry.ts
|
|
590
|
+
async function fetchWithRetry(url, options = {}, maxRetries = 3) {
|
|
591
|
+
let retryCount = 0;
|
|
592
|
+
let lastError = null;
|
|
593
|
+
while (retryCount < maxRetries) {
|
|
594
|
+
try {
|
|
595
|
+
const response = await fetch(url, options);
|
|
596
|
+
if (!response.ok) {
|
|
597
|
+
if (response.status >= 400 && response.status < 500) {
|
|
598
|
+
throw new Error(`Request failed with status: ${response.status} ${response.statusText}`);
|
|
599
|
+
}
|
|
600
|
+
lastError = new Error(`Request failed with status: ${response.status} ${response.statusText}`);
|
|
601
|
+
retryCount++;
|
|
602
|
+
if (retryCount >= maxRetries) {
|
|
603
|
+
throw lastError;
|
|
604
|
+
}
|
|
605
|
+
const delay = Math.min(1e3 * Math.pow(2, retryCount), 1e4);
|
|
606
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
607
|
+
continue;
|
|
608
|
+
}
|
|
609
|
+
return response;
|
|
610
|
+
} catch (error) {
|
|
611
|
+
lastError = error instanceof Error ? error : new Error(String(error));
|
|
612
|
+
if (lastError.message.includes("status: 4")) {
|
|
613
|
+
throw lastError;
|
|
614
|
+
}
|
|
615
|
+
retryCount++;
|
|
616
|
+
if (retryCount >= maxRetries) {
|
|
617
|
+
break;
|
|
618
|
+
}
|
|
619
|
+
const delay = Math.min(1e3 * Math.pow(2, retryCount), 1e4);
|
|
620
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
throw lastError || new Error("Request failed after multiple retry attempts");
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
// src/agent/message-list/prompt/download-assets.ts
|
|
590
627
|
var downloadFromUrl = async ({ url, downloadRetries }) => {
|
|
591
628
|
const urlText = url.toString();
|
|
592
629
|
try {
|
|
@@ -649,7 +686,13 @@ async function downloadAssetsFromMessages({
|
|
|
649
686
|
const downloadedFiles = await pMap(
|
|
650
687
|
filesToDownload,
|
|
651
688
|
async (fileItem) => {
|
|
652
|
-
|
|
689
|
+
if (!fileItem.isUrlSupportedByModel) {
|
|
690
|
+
return null;
|
|
691
|
+
}
|
|
692
|
+
return {
|
|
693
|
+
url: fileItem.url.toString(),
|
|
694
|
+
...await downloadFromUrl({ url: fileItem.url, downloadRetries })
|
|
695
|
+
};
|
|
653
696
|
},
|
|
654
697
|
{
|
|
655
698
|
concurrency: downloadConcurrency
|
|
@@ -657,7 +700,7 @@ async function downloadAssetsFromMessages({
|
|
|
657
700
|
);
|
|
658
701
|
const downloadFileList = downloadedFiles.filter(
|
|
659
702
|
(downloadedFile) => downloadedFile?.data != null
|
|
660
|
-
).map(({ data, mediaType }
|
|
703
|
+
).map(({ url, data, mediaType }) => [url, { data, mediaType }]);
|
|
661
704
|
return Object.fromEntries(downloadFileList);
|
|
662
705
|
}
|
|
663
706
|
|
|
@@ -701,23 +744,10 @@ function imageContentToString(image, fallbackMimeType) {
|
|
|
701
744
|
}
|
|
702
745
|
if (image instanceof Uint8Array || image instanceof ArrayBuffer || globalThis.Buffer && Buffer.isBuffer(image)) {
|
|
703
746
|
const base64 = convertDataContentToBase64String(image);
|
|
704
|
-
if (fallbackMimeType && !base64.startsWith("data:")) {
|
|
705
|
-
return `data:${fallbackMimeType};base64,${base64}`;
|
|
706
|
-
}
|
|
707
747
|
return base64;
|
|
708
748
|
}
|
|
709
749
|
return String(image);
|
|
710
750
|
}
|
|
711
|
-
function imageContentToDataUri(image, mimeType = "image/png") {
|
|
712
|
-
const imageStr = imageContentToString(image, mimeType);
|
|
713
|
-
if (imageStr.startsWith("data:")) {
|
|
714
|
-
return imageStr;
|
|
715
|
-
}
|
|
716
|
-
if (imageStr.startsWith("http://") || imageStr.startsWith("https://")) {
|
|
717
|
-
return imageStr;
|
|
718
|
-
}
|
|
719
|
-
return `data:${mimeType};base64,${imageStr}`;
|
|
720
|
-
}
|
|
721
751
|
function getImageCacheKey(image) {
|
|
722
752
|
if (image instanceof URL) {
|
|
723
753
|
return image.toString();
|
|
@@ -810,6 +840,35 @@ function getToolName(type) {
|
|
|
810
840
|
return type;
|
|
811
841
|
}
|
|
812
842
|
|
|
843
|
+
// src/agent/message-list/utils/convert-messages.ts
|
|
844
|
+
var MessageConverter = class {
|
|
845
|
+
messageList;
|
|
846
|
+
constructor(messages) {
|
|
847
|
+
this.messageList = new MessageList();
|
|
848
|
+
this.messageList.add(messages, "memory");
|
|
849
|
+
}
|
|
850
|
+
to(format) {
|
|
851
|
+
switch (format) {
|
|
852
|
+
// Old format keys (backward compatibility)
|
|
853
|
+
case "Mastra.V2":
|
|
854
|
+
return this.messageList.get.all.db();
|
|
855
|
+
case "AIV4.UI":
|
|
856
|
+
return this.messageList.get.all.aiV4.ui();
|
|
857
|
+
case "AIV4.Core":
|
|
858
|
+
return this.messageList.get.all.aiV4.core();
|
|
859
|
+
case "AIV5.UI":
|
|
860
|
+
return this.messageList.get.all.aiV5.ui();
|
|
861
|
+
case "AIV5.Model":
|
|
862
|
+
return this.messageList.get.all.aiV5.model();
|
|
863
|
+
default:
|
|
864
|
+
throw new Error(`Unsupported output format: ${format}`);
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
};
|
|
868
|
+
function convertMessages(messages) {
|
|
869
|
+
return new MessageConverter(messages);
|
|
870
|
+
}
|
|
871
|
+
|
|
813
872
|
// src/agent/message-list/index.ts
|
|
814
873
|
var MessageList = class _MessageList {
|
|
815
874
|
messages = [];
|
|
@@ -932,7 +991,7 @@ var MessageList = class _MessageList {
|
|
|
932
991
|
get clear() {
|
|
933
992
|
return {
|
|
934
993
|
input: {
|
|
935
|
-
|
|
994
|
+
db: () => {
|
|
936
995
|
const userMessages = Array.from(this.newUserMessages);
|
|
937
996
|
this.messages = this.messages.filter((m) => !this.newUserMessages.has(m));
|
|
938
997
|
this.newUserMessages.clear();
|
|
@@ -940,7 +999,7 @@ var MessageList = class _MessageList {
|
|
|
940
999
|
}
|
|
941
1000
|
},
|
|
942
1001
|
response: {
|
|
943
|
-
|
|
1002
|
+
db: () => {
|
|
944
1003
|
const responseMessages = Array.from(this.newResponseMessages);
|
|
945
1004
|
this.messages = this.messages.filter((m) => !this.newResponseMessages.has(m));
|
|
946
1005
|
this.newResponseMessages.clear();
|
|
@@ -950,19 +1009,18 @@ var MessageList = class _MessageList {
|
|
|
950
1009
|
};
|
|
951
1010
|
}
|
|
952
1011
|
all = {
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
v1: () => convertToV1Messages(this.all.v2()),
|
|
1012
|
+
db: () => this.messages,
|
|
1013
|
+
v1: () => convertToV1Messages(this.all.db()),
|
|
956
1014
|
aiV5: {
|
|
957
1015
|
model: () => this.aiV5UIMessagesToAIV5ModelMessages(this.all.aiV5.ui()),
|
|
958
|
-
ui: () => this.all.
|
|
1016
|
+
ui: () => this.all.db().map(_MessageList.mastraDBMessageToAIV5UIMessage),
|
|
959
1017
|
// Used when calling AI SDK streamText/generateText
|
|
960
1018
|
prompt: () => {
|
|
961
1019
|
const systemMessages = this.aiV4CoreMessagesToAIV5ModelMessages(
|
|
962
1020
|
[...this.systemMessages, ...Object.values(this.taggedSystemMessages).flat()],
|
|
963
1021
|
`system`
|
|
964
1022
|
);
|
|
965
|
-
const modelMessages = this.all.aiV5.
|
|
1023
|
+
const modelMessages = this.aiV5UIMessagesToAIV5ModelMessages(this.all.aiV5.ui(), true);
|
|
966
1024
|
const messages = [...systemMessages, ...modelMessages];
|
|
967
1025
|
return ensureGeminiCompatibleMessages(messages);
|
|
968
1026
|
},
|
|
@@ -971,7 +1029,7 @@ var MessageList = class _MessageList {
|
|
|
971
1029
|
downloadConcurrency: 10,
|
|
972
1030
|
downloadRetries: 3
|
|
973
1031
|
}) => {
|
|
974
|
-
const modelMessages = this.all.aiV5.
|
|
1032
|
+
const modelMessages = this.aiV5UIMessagesToAIV5ModelMessages(this.all.aiV5.ui(), true);
|
|
975
1033
|
const systemMessages = this.aiV4CoreMessagesToAIV5ModelMessages(
|
|
976
1034
|
[...this.systemMessages, ...Object.values(this.taggedSystemMessages).flat()],
|
|
977
1035
|
`system`
|
|
@@ -1015,11 +1073,11 @@ var MessageList = class _MessageList {
|
|
|
1015
1073
|
/* @deprecated use list.get.all.aiV4.prompt() instead */
|
|
1016
1074
|
prompt: () => this.all.aiV4.prompt(),
|
|
1017
1075
|
/* @deprecated use list.get.all.aiV4.ui() */
|
|
1018
|
-
ui: () => this.all.
|
|
1076
|
+
ui: () => this.all.db().map(_MessageList.mastraDBMessageToAIV4UIMessage),
|
|
1019
1077
|
/* @deprecated use list.get.all.aiV4.core() */
|
|
1020
1078
|
core: () => this.aiV4UIMessagesToAIV4CoreMessages(this.all.aiV4.ui()),
|
|
1021
1079
|
aiV4: {
|
|
1022
|
-
ui: () => this.all.
|
|
1080
|
+
ui: () => this.all.db().map(_MessageList.mastraDBMessageToAIV4UIMessage),
|
|
1023
1081
|
core: () => this.aiV4UIMessagesToAIV4CoreMessages(this.all.aiV4.ui()),
|
|
1024
1082
|
// Used when calling AI SDK streamText/generateText
|
|
1025
1083
|
prompt: () => {
|
|
@@ -1038,64 +1096,56 @@ var MessageList = class _MessageList {
|
|
|
1038
1096
|
}
|
|
1039
1097
|
};
|
|
1040
1098
|
remembered = {
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
v1: () => convertToV1Messages(this.remembered.v2()),
|
|
1099
|
+
db: () => this.messages.filter((m) => this.memoryMessages.has(m)),
|
|
1100
|
+
v1: () => convertToV1Messages(this.remembered.db()),
|
|
1044
1101
|
aiV5: {
|
|
1045
1102
|
model: () => this.aiV5UIMessagesToAIV5ModelMessages(this.remembered.aiV5.ui()),
|
|
1046
|
-
ui: () => this.remembered.
|
|
1103
|
+
ui: () => this.remembered.db().map(_MessageList.mastraDBMessageToAIV5UIMessage)
|
|
1047
1104
|
},
|
|
1048
1105
|
/* @deprecated use list.get.remembered.aiV4.ui() */
|
|
1049
|
-
ui: () => this.remembered.
|
|
1106
|
+
ui: () => this.remembered.db().map(_MessageList.mastraDBMessageToAIV4UIMessage),
|
|
1050
1107
|
/* @deprecated use list.get.remembered.aiV4.core() */
|
|
1051
1108
|
core: () => this.aiV4UIMessagesToAIV4CoreMessages(this.all.aiV4.ui()),
|
|
1052
1109
|
aiV4: {
|
|
1053
|
-
ui: () => this.remembered.
|
|
1110
|
+
ui: () => this.remembered.db().map(_MessageList.mastraDBMessageToAIV4UIMessage),
|
|
1054
1111
|
core: () => this.aiV4UIMessagesToAIV4CoreMessages(this.all.aiV4.ui())
|
|
1055
1112
|
}
|
|
1056
1113
|
};
|
|
1057
1114
|
// TODO: need to update this for new .aiV4/5.x() pattern
|
|
1058
1115
|
rememberedPersisted = {
|
|
1059
|
-
|
|
1060
|
-
v1: () => convertToV1Messages(this.rememberedPersisted.
|
|
1061
|
-
ui: () => this.rememberedPersisted.
|
|
1116
|
+
db: () => this.all.db().filter((m) => this.memoryMessagesPersisted.has(m)),
|
|
1117
|
+
v1: () => convertToV1Messages(this.rememberedPersisted.db()),
|
|
1118
|
+
ui: () => this.rememberedPersisted.db().map(_MessageList.mastraDBMessageToAIV4UIMessage),
|
|
1062
1119
|
core: () => this.aiV4UIMessagesToAIV4CoreMessages(this.rememberedPersisted.ui())
|
|
1063
1120
|
};
|
|
1064
1121
|
input = {
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
),
|
|
1068
|
-
v2: () => this.messages.filter((m) => this.newUserMessages.has(m)),
|
|
1069
|
-
v1: () => convertToV1Messages(this.input.v2()),
|
|
1122
|
+
db: () => this.messages.filter((m) => this.newUserMessages.has(m)),
|
|
1123
|
+
v1: () => convertToV1Messages(this.input.db()),
|
|
1070
1124
|
aiV5: {
|
|
1071
1125
|
model: () => this.aiV5UIMessagesToAIV5ModelMessages(this.input.aiV5.ui()),
|
|
1072
|
-
ui: () => this.input.
|
|
1126
|
+
ui: () => this.input.db().map(_MessageList.mastraDBMessageToAIV5UIMessage)
|
|
1073
1127
|
},
|
|
1074
1128
|
/* @deprecated use list.get.input.aiV4.ui() instead */
|
|
1075
|
-
ui: () => this.input.
|
|
1129
|
+
ui: () => this.input.db().map(_MessageList.mastraDBMessageToAIV4UIMessage),
|
|
1076
1130
|
/* @deprecated use list.get.core.aiV4.ui() instead */
|
|
1077
1131
|
core: () => this.aiV4UIMessagesToAIV4CoreMessages(this.input.ui()),
|
|
1078
1132
|
aiV4: {
|
|
1079
|
-
ui: () => this.input.
|
|
1133
|
+
ui: () => this.input.db().map(_MessageList.mastraDBMessageToAIV4UIMessage),
|
|
1080
1134
|
core: () => this.aiV4UIMessagesToAIV4CoreMessages(this.input.aiV4.ui())
|
|
1081
1135
|
}
|
|
1082
1136
|
};
|
|
1083
1137
|
// TODO: need to update this for new .aiV4/5.x() pattern
|
|
1084
1138
|
inputPersisted = {
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
),
|
|
1088
|
-
v2: () => this.messages.filter((m) => this.newUserMessagesPersisted.has(m)),
|
|
1089
|
-
v1: () => convertToV1Messages(this.inputPersisted.v2()),
|
|
1090
|
-
ui: () => this.inputPersisted.v2().map(_MessageList.mastraMessageV2ToAIV4UIMessage),
|
|
1139
|
+
db: () => this.messages.filter((m) => this.newUserMessagesPersisted.has(m)),
|
|
1140
|
+
v1: () => convertToV1Messages(this.inputPersisted.db()),
|
|
1141
|
+
ui: () => this.inputPersisted.db().map(_MessageList.mastraDBMessageToAIV4UIMessage),
|
|
1091
1142
|
core: () => this.aiV4UIMessagesToAIV4CoreMessages(this.inputPersisted.ui())
|
|
1092
1143
|
};
|
|
1093
1144
|
response = {
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
v1: () => convertToV1Messages(this.response.v3().map(_MessageList.mastraMessageV3ToV2)),
|
|
1145
|
+
db: () => this.messages.filter((m) => this.newResponseMessages.has(m)),
|
|
1146
|
+
v1: () => convertToV1Messages(this.response.db()),
|
|
1097
1147
|
aiV5: {
|
|
1098
|
-
ui: () => this.response.
|
|
1148
|
+
ui: () => this.response.db().map(_MessageList.mastraDBMessageToAIV5UIMessage),
|
|
1099
1149
|
model: () => this.aiV5UIMessagesToAIV5ModelMessages(this.response.aiV5.ui()).filter(
|
|
1100
1150
|
(m) => m.role === `tool` || m.role === `assistant`
|
|
1101
1151
|
),
|
|
@@ -1238,17 +1288,14 @@ var MessageList = class _MessageList {
|
|
|
1238
1288
|
}
|
|
1239
1289
|
},
|
|
1240
1290
|
aiV4: {
|
|
1241
|
-
ui: () => this.response.
|
|
1291
|
+
ui: () => this.response.db().map(_MessageList.mastraDBMessageToAIV4UIMessage),
|
|
1242
1292
|
core: () => this.aiV4UIMessagesToAIV4CoreMessages(this.response.aiV4.ui())
|
|
1243
1293
|
}
|
|
1244
1294
|
};
|
|
1245
1295
|
// TODO: need to update this for new .aiV4/5.x() pattern
|
|
1246
1296
|
responsePersisted = {
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
),
|
|
1250
|
-
v2: () => this.messages.filter((m) => this.newResponseMessagesPersisted.has(m)),
|
|
1251
|
-
ui: () => this.responsePersisted.v2().map(_MessageList.mastraMessageV2ToAIV4UIMessage)
|
|
1297
|
+
db: () => this.messages.filter((m) => this.newResponseMessagesPersisted.has(m)),
|
|
1298
|
+
ui: () => this.responsePersisted.db().map(_MessageList.mastraDBMessageToAIV4UIMessage)
|
|
1252
1299
|
};
|
|
1253
1300
|
drainUnsavedMessages() {
|
|
1254
1301
|
const messages = this.messages.filter((m) => this.newUserMessages.has(m) || this.newResponseMessages.has(m));
|
|
@@ -1275,7 +1322,7 @@ var MessageList = class _MessageList {
|
|
|
1275
1322
|
return this;
|
|
1276
1323
|
}
|
|
1277
1324
|
aiV4UIMessagesToAIV4CoreMessages(messages) {
|
|
1278
|
-
return
|
|
1325
|
+
return convertToCoreMessages(this.sanitizeAIV4UIMessages(messages));
|
|
1279
1326
|
}
|
|
1280
1327
|
sanitizeAIV4UIMessages(messages) {
|
|
1281
1328
|
const msgs = messages.map((m) => {
|
|
@@ -1299,7 +1346,7 @@ var MessageList = class _MessageList {
|
|
|
1299
1346
|
}
|
|
1300
1347
|
/**
|
|
1301
1348
|
* Converts various message formats to AIV4 CoreMessage format for system messages
|
|
1302
|
-
* @param message - The message to convert (can be string,
|
|
1349
|
+
* @param message - The message to convert (can be string, MastraDBMessage, or AI SDK message types)
|
|
1303
1350
|
* @returns AIV4 CoreMessage in the proper format
|
|
1304
1351
|
*/
|
|
1305
1352
|
systemMessageToAICore(message) {
|
|
@@ -1307,10 +1354,11 @@ var MessageList = class _MessageList {
|
|
|
1307
1354
|
return { role: "system", content: message };
|
|
1308
1355
|
}
|
|
1309
1356
|
if (_MessageList.isAIV5CoreMessage(message)) {
|
|
1310
|
-
|
|
1357
|
+
const dbMsg = _MessageList.aiV5ModelMessageToMastraDBMessage(message, "system");
|
|
1358
|
+
return _MessageList.mastraDBMessageSystemToV4Core(dbMsg);
|
|
1311
1359
|
}
|
|
1312
|
-
if (_MessageList.
|
|
1313
|
-
return _MessageList.
|
|
1360
|
+
if (_MessageList.isMastraDBMessage(message)) {
|
|
1361
|
+
return _MessageList.mastraDBMessageSystemToV4Core(message);
|
|
1314
1362
|
}
|
|
1315
1363
|
return message;
|
|
1316
1364
|
}
|
|
@@ -1339,7 +1387,7 @@ var MessageList = class _MessageList {
|
|
|
1339
1387
|
(m) => _MessageList.cacheKeyFromAIV4CoreMessageContent(m.content) === _MessageList.cacheKeyFromAIV4CoreMessageContent(message.content)
|
|
1340
1388
|
);
|
|
1341
1389
|
}
|
|
1342
|
-
static
|
|
1390
|
+
static mastraDBMessageToAIV4UIMessage(m) {
|
|
1343
1391
|
const experimentalAttachments = m.content.experimental_attachments ? [...m.content.experimental_attachments] : [];
|
|
1344
1392
|
const contentString = typeof m.content.content === `string` && m.content.content !== "" ? m.content.content : m.content.parts.reduce((prev, part) => {
|
|
1345
1393
|
if (part.type === `text`) {
|
|
@@ -1434,12 +1482,12 @@ var MessageList = class _MessageList {
|
|
|
1434
1482
|
return uiMessage;
|
|
1435
1483
|
}
|
|
1436
1484
|
/**
|
|
1437
|
-
* Converts a
|
|
1485
|
+
* Converts a MastraDBMessage system message directly to AIV4 CoreMessage format
|
|
1438
1486
|
* This is more efficient than converting to UI message first and then to core
|
|
1439
|
-
* @param message - The
|
|
1487
|
+
* @param message - The MastraDBMessage message to convert
|
|
1440
1488
|
* @returns AIV4 CoreMessage with system role
|
|
1441
1489
|
*/
|
|
1442
|
-
static
|
|
1490
|
+
static mastraDBMessageSystemToV4Core(message) {
|
|
1443
1491
|
if (message.role !== `system` || !message.content.content)
|
|
1444
1492
|
throw new MastraError({
|
|
1445
1493
|
id: "INVALID_SYSTEM_MESSAGE_FORMAT",
|
|
@@ -1486,7 +1534,7 @@ var MessageList = class _MessageList {
|
|
|
1486
1534
|
}
|
|
1487
1535
|
if (message.role === `system`) {
|
|
1488
1536
|
if (messageSource === `memory`) return null;
|
|
1489
|
-
const isSupportedSystemFormat = _MessageList.isAIV4CoreMessage(message) || _MessageList.isAIV5CoreMessage(message) || _MessageList.
|
|
1537
|
+
const isSupportedSystemFormat = _MessageList.isAIV4CoreMessage(message) || _MessageList.isAIV5CoreMessage(message) || _MessageList.isMastraDBMessage(message);
|
|
1490
1538
|
if (isSupportedSystemFormat) {
|
|
1491
1539
|
return this.addSystem(message);
|
|
1492
1540
|
}
|
|
@@ -1501,7 +1549,7 @@ var MessageList = class _MessageList {
|
|
|
1501
1549
|
}
|
|
1502
1550
|
});
|
|
1503
1551
|
}
|
|
1504
|
-
const messageV2 = this.
|
|
1552
|
+
const messageV2 = this.inputToMastraDBMessage(message, messageSource);
|
|
1505
1553
|
const { exists, shouldReplace, id } = this.shouldReplaceMessage(messageV2);
|
|
1506
1554
|
const latestMessage = this.messages.at(-1);
|
|
1507
1555
|
if (messageSource === `memory`) {
|
|
@@ -1693,7 +1741,7 @@ var MessageList = class _MessageList {
|
|
|
1693
1741
|
}
|
|
1694
1742
|
}
|
|
1695
1743
|
}
|
|
1696
|
-
|
|
1744
|
+
inputToMastraDBMessage(message, messageSource) {
|
|
1697
1745
|
if (
|
|
1698
1746
|
// we can't throw if the threadId doesn't match and this message came from memory
|
|
1699
1747
|
// this is because per-user semantic recall can retrieve messages from other threads
|
|
@@ -1709,25 +1757,33 @@ var MessageList = class _MessageList {
|
|
|
1709
1757
|
);
|
|
1710
1758
|
}
|
|
1711
1759
|
if (_MessageList.isMastraMessageV1(message)) {
|
|
1712
|
-
return this.
|
|
1760
|
+
return this.mastraMessageV1ToMastraDBMessage(message, messageSource);
|
|
1713
1761
|
}
|
|
1714
|
-
if (_MessageList.
|
|
1715
|
-
return this.
|
|
1762
|
+
if (_MessageList.isMastraDBMessage(message)) {
|
|
1763
|
+
return this.hydrateMastraDBMessageFields(message);
|
|
1716
1764
|
}
|
|
1717
1765
|
if (_MessageList.isAIV4CoreMessage(message)) {
|
|
1718
|
-
return this.
|
|
1766
|
+
return this.aiV4CoreMessageToMastraDBMessage(message, messageSource);
|
|
1719
1767
|
}
|
|
1720
1768
|
if (_MessageList.isAIV4UIMessage(message)) {
|
|
1721
|
-
return this.
|
|
1769
|
+
return this.aiV4UIMessageToMastraDBMessage(message, messageSource);
|
|
1722
1770
|
}
|
|
1723
1771
|
if (_MessageList.isAIV5CoreMessage(message)) {
|
|
1724
|
-
|
|
1772
|
+
const dbMsg = _MessageList.aiV5ModelMessageToMastraDBMessage(message, messageSource);
|
|
1773
|
+
const result = {
|
|
1774
|
+
...dbMsg,
|
|
1775
|
+
threadId: this.memoryInfo?.threadId,
|
|
1776
|
+
resourceId: this.memoryInfo?.resourceId
|
|
1777
|
+
};
|
|
1778
|
+
return result;
|
|
1725
1779
|
}
|
|
1726
1780
|
if (_MessageList.isAIV5UIMessage(message)) {
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1781
|
+
const dbMsg = _MessageList.aiV5UIMessageToMastraDBMessage(message);
|
|
1782
|
+
return {
|
|
1783
|
+
...dbMsg,
|
|
1784
|
+
threadId: this.memoryInfo?.threadId,
|
|
1785
|
+
resourceId: this.memoryInfo?.resourceId
|
|
1786
|
+
};
|
|
1731
1787
|
}
|
|
1732
1788
|
throw new Error(`Found unhandled message ${JSON.stringify(message)}`);
|
|
1733
1789
|
}
|
|
@@ -1760,10 +1816,10 @@ var MessageList = class _MessageList {
|
|
|
1760
1816
|
if (this.generateMessageId) {
|
|
1761
1817
|
return this.generateMessageId();
|
|
1762
1818
|
}
|
|
1763
|
-
return
|
|
1819
|
+
return v4();
|
|
1764
1820
|
}
|
|
1765
|
-
|
|
1766
|
-
const coreV2 = this.
|
|
1821
|
+
mastraMessageV1ToMastraDBMessage(message, messageSource) {
|
|
1822
|
+
const coreV2 = this.aiV4CoreMessageToMastraDBMessage(
|
|
1767
1823
|
{
|
|
1768
1824
|
content: message.content,
|
|
1769
1825
|
role: message.role
|
|
@@ -1779,11 +1835,10 @@ var MessageList = class _MessageList {
|
|
|
1779
1835
|
content: coreV2.content
|
|
1780
1836
|
};
|
|
1781
1837
|
}
|
|
1782
|
-
|
|
1783
|
-
if (!
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
hydrateMastraMessageV2Fields(message) {
|
|
1838
|
+
hydrateMastraDBMessageFields(message) {
|
|
1839
|
+
if (!message.id) {
|
|
1840
|
+
message.id = this.newMessageId();
|
|
1841
|
+
}
|
|
1787
1842
|
if (!(message.createdAt instanceof Date)) message.createdAt = new Date(message.createdAt);
|
|
1788
1843
|
if (message.content.toolInvocations && message.content.parts) {
|
|
1789
1844
|
message.content.toolInvocations = message.content.toolInvocations.map((ti) => {
|
|
@@ -1800,7 +1855,7 @@ var MessageList = class _MessageList {
|
|
|
1800
1855
|
}
|
|
1801
1856
|
return message;
|
|
1802
1857
|
}
|
|
1803
|
-
|
|
1858
|
+
aiV4UIMessageToMastraDBMessage(message, messageSource) {
|
|
1804
1859
|
const content = {
|
|
1805
1860
|
format: 2,
|
|
1806
1861
|
parts: message.parts
|
|
@@ -1823,7 +1878,7 @@ var MessageList = class _MessageList {
|
|
|
1823
1878
|
content
|
|
1824
1879
|
};
|
|
1825
1880
|
}
|
|
1826
|
-
|
|
1881
|
+
aiV4CoreMessageToMastraDBMessage(coreMessage, messageSource) {
|
|
1827
1882
|
const id = `id` in coreMessage ? coreMessage.id : this.newMessageId();
|
|
1828
1883
|
const parts = [];
|
|
1829
1884
|
const experimentalAttachments = [];
|
|
@@ -1995,21 +2050,16 @@ var MessageList = class _MessageList {
|
|
|
1995
2050
|
return !_MessageList.isMastraMessage(msg) && !(`parts` in msg) && `content` in msg && !_MessageList.hasAIV5CoreMessageCharacteristics(msg);
|
|
1996
2051
|
}
|
|
1997
2052
|
static isMastraMessage(msg) {
|
|
1998
|
-
return _MessageList.
|
|
2053
|
+
return _MessageList.isMastraDBMessage(msg) || _MessageList.isMastraMessageV1(msg);
|
|
1999
2054
|
}
|
|
2000
2055
|
static isMastraMessageV1(msg) {
|
|
2001
|
-
return !_MessageList.
|
|
2056
|
+
return !_MessageList.isMastraDBMessage(msg) && (`threadId` in msg || `resourceId` in msg);
|
|
2002
2057
|
}
|
|
2003
|
-
static
|
|
2058
|
+
static isMastraDBMessage(msg) {
|
|
2004
2059
|
return Boolean(
|
|
2005
2060
|
`content` in msg && msg.content && !Array.isArray(msg.content) && typeof msg.content !== `string` && `format` in msg.content && msg.content.format === 2
|
|
2006
2061
|
);
|
|
2007
2062
|
}
|
|
2008
|
-
static isMastraMessageV3(msg) {
|
|
2009
|
-
return Boolean(
|
|
2010
|
-
`content` in msg && msg.content && !Array.isArray(msg.content) && typeof msg.content !== `string` && `format` in msg.content && msg.content.format === 3
|
|
2011
|
-
);
|
|
2012
|
-
}
|
|
2013
2063
|
static getRole(message) {
|
|
2014
2064
|
if (message.role === `assistant` || message.role === `tool`) return `assistant`;
|
|
2015
2065
|
if (message.role === `user`) return `user`;
|
|
@@ -2106,18 +2156,12 @@ var MessageList = class _MessageList {
|
|
|
2106
2156
|
if (oneMM1 && twoMM1) {
|
|
2107
2157
|
return oneMM1.id === twoMM1.id && _MessageList.cacheKeyFromAIV4CoreMessageContent(oneMM1.content) === _MessageList.cacheKeyFromAIV4CoreMessageContent(twoMM1.content);
|
|
2108
2158
|
}
|
|
2109
|
-
const oneMM2 = _MessageList.
|
|
2110
|
-
const twoMM2 = _MessageList.
|
|
2159
|
+
const oneMM2 = _MessageList.isMastraDBMessage(one) && one;
|
|
2160
|
+
const twoMM2 = _MessageList.isMastraDBMessage(two) && two;
|
|
2111
2161
|
if (oneMM2 && !twoMM2) return false;
|
|
2112
2162
|
if (oneMM2 && twoMM2) {
|
|
2113
2163
|
return oneMM2.id === twoMM2.id && _MessageList.cacheKeyFromAIV4Parts(oneMM2.content.parts) === _MessageList.cacheKeyFromAIV4Parts(twoMM2.content.parts);
|
|
2114
2164
|
}
|
|
2115
|
-
const oneMM3 = _MessageList.isMastraMessageV3(one) && one;
|
|
2116
|
-
const twoMM3 = _MessageList.isMastraMessageV3(two) && two;
|
|
2117
|
-
if (oneMM3 && !twoMM3) return false;
|
|
2118
|
-
if (oneMM3 && twoMM3) {
|
|
2119
|
-
return oneMM3.id === twoMM3.id && _MessageList.cacheKeyFromAIV5Parts(oneMM3.content.parts) === _MessageList.cacheKeyFromAIV5Parts(twoMM3.content.parts);
|
|
2120
|
-
}
|
|
2121
2165
|
const oneUIV5 = _MessageList.isAIV5UIMessage(one) && one;
|
|
2122
2166
|
const twoUIV5 = _MessageList.isAIV5UIMessage(two) && two;
|
|
2123
2167
|
if (oneUIV5 && !twoUIV5) return false;
|
|
@@ -2132,25 +2176,6 @@ var MessageList = class _MessageList {
|
|
|
2132
2176
|
}
|
|
2133
2177
|
return true;
|
|
2134
2178
|
}
|
|
2135
|
-
cleanV3Metadata(messages) {
|
|
2136
|
-
return messages.map((msg) => {
|
|
2137
|
-
if (!msg.content.metadata || typeof msg.content.metadata !== "object") {
|
|
2138
|
-
return msg;
|
|
2139
|
-
}
|
|
2140
|
-
const metadata = { ...msg.content.metadata };
|
|
2141
|
-
const hasOriginalContent = "__originalContent" in metadata;
|
|
2142
|
-
const hasOriginalAttachments = "__originalExperimentalAttachments" in metadata;
|
|
2143
|
-
if (!hasOriginalContent && !hasOriginalAttachments) {
|
|
2144
|
-
return msg;
|
|
2145
|
-
}
|
|
2146
|
-
const { __originalContent, __originalExperimentalAttachments, ...cleanMetadata } = metadata;
|
|
2147
|
-
if (Object.keys(cleanMetadata).length === 0) {
|
|
2148
|
-
const { metadata: metadata2, ...contentWithoutMetadata } = msg.content;
|
|
2149
|
-
return { ...msg, content: contentWithoutMetadata };
|
|
2150
|
-
}
|
|
2151
|
-
return { ...msg, content: { ...msg.content, metadata: cleanMetadata } };
|
|
2152
|
-
});
|
|
2153
|
-
}
|
|
2154
2179
|
static aiV4CoreMessageToV1PromptMessage(coreMessage) {
|
|
2155
2180
|
if (coreMessage.role === `system`) {
|
|
2156
2181
|
return coreMessage;
|
|
@@ -2347,240 +2372,103 @@ var MessageList = class _MessageList {
|
|
|
2347
2372
|
`Encountered unknown role ${role} when converting V5 ModelMessage -> V5 LanguageModelV2Message, input message: ${JSON.stringify(modelMessage, null, 2)}`
|
|
2348
2373
|
);
|
|
2349
2374
|
}
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
|
|
2357
|
-
|
|
2358
|
-
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
}
|
|
2377
|
-
const attachmentUrls = new Set(v3Msg.content.metadata?.__attachmentUrls || []);
|
|
2378
|
-
const v2Msg = {
|
|
2379
|
-
id: v3Msg.id,
|
|
2380
|
-
resourceId: v3Msg.resourceId,
|
|
2381
|
-
threadId: v3Msg.threadId,
|
|
2382
|
-
createdAt: v3Msg.createdAt,
|
|
2383
|
-
role: v3Msg.role,
|
|
2384
|
-
content: {
|
|
2385
|
-
format: 2,
|
|
2386
|
-
parts: v3Msg.content.parts.map((p) => {
|
|
2387
|
-
if (AIV5.isToolUIPart(p) || p.type === "dynamic-tool") {
|
|
2388
|
-
const toolName = getToolName(p);
|
|
2389
|
-
const shared = {
|
|
2390
|
-
state: p.state,
|
|
2391
|
-
args: p.input,
|
|
2392
|
-
toolCallId: p.toolCallId,
|
|
2393
|
-
toolName
|
|
2394
|
-
};
|
|
2395
|
-
if (p.state === `output-available`) {
|
|
2396
|
-
return {
|
|
2397
|
-
type: "tool-invocation",
|
|
2398
|
-
toolInvocation: {
|
|
2399
|
-
...shared,
|
|
2400
|
-
state: "result",
|
|
2401
|
-
result: typeof p.output === "object" && p.output && "value" in p.output ? p.output.value : p.output
|
|
2402
|
-
},
|
|
2403
|
-
providerMetadata: p.callProviderMetadata
|
|
2404
|
-
};
|
|
2405
|
-
}
|
|
2406
|
-
return {
|
|
2407
|
-
type: "tool-invocation",
|
|
2408
|
-
toolInvocation: {
|
|
2409
|
-
...shared,
|
|
2410
|
-
state: p.state === `input-available` ? `call` : `partial-call`
|
|
2411
|
-
}
|
|
2412
|
-
};
|
|
2413
|
-
}
|
|
2414
|
-
switch (p.type) {
|
|
2415
|
-
case "text":
|
|
2416
|
-
return p;
|
|
2417
|
-
case "file": {
|
|
2418
|
-
const fileDataSource = "url" in p && typeof p.url === "string" ? p.url : "data" in p && typeof p.data === "string" ? p.data : void 0;
|
|
2419
|
-
if (!fileDataSource) {
|
|
2420
|
-
return null;
|
|
2421
|
-
}
|
|
2422
|
-
if (attachmentUrls.has(fileDataSource)) {
|
|
2423
|
-
return null;
|
|
2424
|
-
}
|
|
2425
|
-
return {
|
|
2426
|
-
type: "file",
|
|
2427
|
-
mimeType: p.mediaType,
|
|
2428
|
-
data: fileDataSource,
|
|
2429
|
-
providerMetadata: p.providerMetadata
|
|
2430
|
-
};
|
|
2431
|
-
}
|
|
2432
|
-
case "reasoning":
|
|
2433
|
-
if (p.text === "") return null;
|
|
2434
|
-
return {
|
|
2435
|
-
type: "reasoning",
|
|
2436
|
-
reasoning: p.text,
|
|
2437
|
-
details: [{ type: "text", text: p.text }],
|
|
2438
|
-
providerMetadata: p.providerMetadata
|
|
2439
|
-
};
|
|
2440
|
-
case "source-url":
|
|
2441
|
-
return {
|
|
2442
|
-
type: "source",
|
|
2443
|
-
source: {
|
|
2444
|
-
url: p.url,
|
|
2445
|
-
id: p.sourceId,
|
|
2446
|
-
sourceType: "url"
|
|
2447
|
-
},
|
|
2448
|
-
providerMetadata: p.providerMetadata
|
|
2449
|
-
};
|
|
2450
|
-
case "step-start":
|
|
2451
|
-
return p;
|
|
2452
|
-
}
|
|
2453
|
-
return null;
|
|
2454
|
-
}).filter((p) => Boolean(p))
|
|
2455
|
-
}
|
|
2456
|
-
};
|
|
2457
|
-
if (toolInvocations !== void 0) {
|
|
2458
|
-
v2Msg.content.toolInvocations = toolInvocations;
|
|
2459
|
-
}
|
|
2460
|
-
if (v3Msg.content.metadata) {
|
|
2461
|
-
const { __originalContent, __originalExperimentalAttachments, __attachmentUrls, ...userMetadata } = v3Msg.content.metadata;
|
|
2462
|
-
v2Msg.content.metadata = userMetadata;
|
|
2463
|
-
}
|
|
2464
|
-
const originalContent = v3Msg.content.metadata?.__originalContent;
|
|
2465
|
-
if (originalContent !== void 0) {
|
|
2466
|
-
const hasOnlyTextOrStepStart = v2Msg.content.parts.every((p) => p.type === `step-start` || p.type === `text`);
|
|
2467
|
-
if (typeof originalContent === `string` || hasOnlyTextOrStepStart) {
|
|
2468
|
-
v2Msg.content.content = originalContent;
|
|
2469
|
-
}
|
|
2470
|
-
}
|
|
2471
|
-
const originalAttachments = v3Msg.content.metadata?.__originalExperimentalAttachments;
|
|
2472
|
-
if (originalAttachments && Array.isArray(originalAttachments)) {
|
|
2473
|
-
v2Msg.content.experimental_attachments = originalAttachments || [];
|
|
2474
|
-
}
|
|
2475
|
-
const originalContentIsV5 = Array.isArray(v3Msg.content.metadata?.__originalContent) && v3Msg.content.metadata?.__originalContent.some((part) => part.type === "file");
|
|
2476
|
-
const urlFileParts = originalContentIsV5 ? [] : v2Msg.content.parts.filter(
|
|
2477
|
-
(p) => p.type === "file" && typeof p.data === "string" && (p.data.startsWith("http://") || p.data.startsWith("https://")) && !p.providerMetadata
|
|
2478
|
-
// Don't move if it has providerMetadata (needed for roundtrip)
|
|
2479
|
-
);
|
|
2480
|
-
if (urlFileParts.length > 0) {
|
|
2481
|
-
if (!v2Msg.content.experimental_attachments) {
|
|
2482
|
-
v2Msg.content.experimental_attachments = [];
|
|
2483
|
-
}
|
|
2484
|
-
for (const urlPart of urlFileParts) {
|
|
2485
|
-
if (urlPart.type === "file") {
|
|
2486
|
-
v2Msg.content.experimental_attachments.push({
|
|
2487
|
-
url: urlPart.data,
|
|
2488
|
-
contentType: urlPart.mimeType
|
|
2375
|
+
/**
|
|
2376
|
+
* Direct conversion from MastraDBMessage to AIV5 UIMessage
|
|
2377
|
+
*/
|
|
2378
|
+
static mastraDBMessageToAIV5UIMessage(dbMsg) {
|
|
2379
|
+
const parts = [];
|
|
2380
|
+
const metadata = { ...dbMsg.content.metadata || {} };
|
|
2381
|
+
if (dbMsg.createdAt) metadata.createdAt = dbMsg.createdAt;
|
|
2382
|
+
if (dbMsg.threadId) metadata.threadId = dbMsg.threadId;
|
|
2383
|
+
if (dbMsg.resourceId) metadata.resourceId = dbMsg.resourceId;
|
|
2384
|
+
const hasToolInvocationParts = dbMsg.content.parts?.some((p) => p.type === "tool-invocation");
|
|
2385
|
+
if (dbMsg.content.toolInvocations && !hasToolInvocationParts) {
|
|
2386
|
+
for (const invocation of dbMsg.content.toolInvocations) {
|
|
2387
|
+
if (invocation.state === "result") {
|
|
2388
|
+
parts.push({
|
|
2389
|
+
type: `tool-${invocation.toolName}`,
|
|
2390
|
+
toolCallId: invocation.toolCallId,
|
|
2391
|
+
state: "output-available",
|
|
2392
|
+
input: invocation.args,
|
|
2393
|
+
output: invocation.result
|
|
2394
|
+
});
|
|
2395
|
+
} else {
|
|
2396
|
+
parts.push({
|
|
2397
|
+
type: `tool-${invocation.toolName}`,
|
|
2398
|
+
toolCallId: invocation.toolCallId,
|
|
2399
|
+
state: invocation.state === "call" ? "input-available" : "input-streaming",
|
|
2400
|
+
input: invocation.args
|
|
2489
2401
|
});
|
|
2490
2402
|
}
|
|
2491
2403
|
}
|
|
2492
|
-
v2Msg.content.parts = v2Msg.content.parts.filter(
|
|
2493
|
-
(p) => !(p.type === "file" && typeof p.data === "string" && (p.data.startsWith("http://") || p.data.startsWith("https://")) && !p.providerMetadata)
|
|
2494
|
-
);
|
|
2495
|
-
}
|
|
2496
|
-
if (toolInvocations && toolInvocations.length > 0) {
|
|
2497
|
-
const resultToolInvocations = toolInvocations.filter((t) => t.state === "result");
|
|
2498
|
-
if (resultToolInvocations.length > 0) {
|
|
2499
|
-
v2Msg.content.toolInvocations = resultToolInvocations;
|
|
2500
|
-
}
|
|
2501
|
-
}
|
|
2502
|
-
if (v3Msg.type) v2Msg.type = v3Msg.type;
|
|
2503
|
-
return v2Msg;
|
|
2504
|
-
}
|
|
2505
|
-
mastraMessageV2ToMastraMessageV3(v2Msg) {
|
|
2506
|
-
const parts = [];
|
|
2507
|
-
const v3Msg = {
|
|
2508
|
-
id: v2Msg.id,
|
|
2509
|
-
content: {
|
|
2510
|
-
format: 3,
|
|
2511
|
-
parts
|
|
2512
|
-
},
|
|
2513
|
-
role: v2Msg.role,
|
|
2514
|
-
createdAt: v2Msg.createdAt instanceof Date ? v2Msg.createdAt : new Date(v2Msg.createdAt),
|
|
2515
|
-
resourceId: v2Msg.resourceId,
|
|
2516
|
-
threadId: v2Msg.threadId,
|
|
2517
|
-
type: v2Msg.type
|
|
2518
|
-
};
|
|
2519
|
-
if (v2Msg.content.metadata) {
|
|
2520
|
-
v3Msg.content.metadata = { ...v2Msg.content.metadata };
|
|
2521
2404
|
}
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2405
|
+
const hasReasoningInParts = dbMsg.content.parts?.some((p) => p.type === "reasoning");
|
|
2406
|
+
const hasFileInParts = dbMsg.content.parts?.some((p) => p.type === "file");
|
|
2407
|
+
if (dbMsg.content.reasoning && !hasReasoningInParts) {
|
|
2408
|
+
parts.push({
|
|
2409
|
+
type: "reasoning",
|
|
2410
|
+
text: dbMsg.content.reasoning
|
|
2411
|
+
});
|
|
2527
2412
|
}
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2413
|
+
const attachmentUrls = /* @__PURE__ */ new Set();
|
|
2414
|
+
if (dbMsg.content.experimental_attachments && !hasFileInParts) {
|
|
2415
|
+
for (const attachment of dbMsg.content.experimental_attachments) {
|
|
2416
|
+
attachmentUrls.add(attachment.url);
|
|
2417
|
+
parts.push({
|
|
2418
|
+
type: "file",
|
|
2419
|
+
url: attachment.url,
|
|
2420
|
+
mediaType: attachment.contentType || "unknown"
|
|
2421
|
+
});
|
|
2422
|
+
}
|
|
2533
2423
|
}
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
break;
|
|
2541
|
-
case "tool-invocation":
|
|
2542
|
-
if (part.toolInvocation.state === `result`) {
|
|
2424
|
+
let hasNonToolReasoningParts = false;
|
|
2425
|
+
if (dbMsg.content.parts) {
|
|
2426
|
+
for (const part of dbMsg.content.parts) {
|
|
2427
|
+
if (part.type === "tool-invocation" && part.toolInvocation) {
|
|
2428
|
+
const inv = part.toolInvocation;
|
|
2429
|
+
if (inv.state === "result") {
|
|
2543
2430
|
parts.push({
|
|
2544
|
-
type: `tool-${
|
|
2545
|
-
toolCallId:
|
|
2431
|
+
type: `tool-${inv.toolName}`,
|
|
2432
|
+
toolCallId: inv.toolCallId,
|
|
2433
|
+
input: inv.args,
|
|
2434
|
+
output: inv.result,
|
|
2546
2435
|
state: "output-available",
|
|
2547
|
-
input: part.toolInvocation.args,
|
|
2548
|
-
output: part.toolInvocation.result,
|
|
2549
2436
|
callProviderMetadata: part.providerMetadata
|
|
2550
2437
|
});
|
|
2551
2438
|
} else {
|
|
2552
2439
|
parts.push({
|
|
2553
|
-
type: `tool-${
|
|
2554
|
-
toolCallId:
|
|
2555
|
-
|
|
2556
|
-
|
|
2440
|
+
type: `tool-${inv.toolName}`,
|
|
2441
|
+
toolCallId: inv.toolCallId,
|
|
2442
|
+
input: inv.args,
|
|
2443
|
+
state: "input-available",
|
|
2444
|
+
callProviderMetadata: part.providerMetadata
|
|
2557
2445
|
});
|
|
2558
2446
|
}
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
title: part.source.title,
|
|
2566
|
-
providerMetadata: part.source.providerMetadata || part.providerMetadata
|
|
2567
|
-
});
|
|
2568
|
-
break;
|
|
2569
|
-
case "reasoning":
|
|
2570
|
-
const text = part.reasoning || (part.details?.reduce((p, c) => {
|
|
2571
|
-
if (c.type === `text`) return p + c.text;
|
|
2447
|
+
continue;
|
|
2448
|
+
}
|
|
2449
|
+
if (part.type === "reasoning") {
|
|
2450
|
+
const reasoningPart = part;
|
|
2451
|
+
const text = reasoningPart.text || reasoningPart.reasoning || (reasoningPart.details?.reduce((p, c) => {
|
|
2452
|
+
if (c.type === `text` && c.text) return p + c.text;
|
|
2572
2453
|
return p;
|
|
2573
2454
|
}, "") ?? "");
|
|
2574
|
-
if (text ||
|
|
2455
|
+
if (text || reasoningPart.details?.length) {
|
|
2575
2456
|
parts.push({
|
|
2576
2457
|
type: "reasoning",
|
|
2577
2458
|
text: text || "",
|
|
2578
2459
|
state: "done",
|
|
2579
|
-
providerMetadata: part.providerMetadata
|
|
2460
|
+
...part.providerMetadata && { providerMetadata: part.providerMetadata }
|
|
2580
2461
|
});
|
|
2581
2462
|
}
|
|
2582
|
-
|
|
2583
|
-
|
|
2463
|
+
continue;
|
|
2464
|
+
}
|
|
2465
|
+
if (part.type === "tool-invocation" || part.type.startsWith("tool-")) {
|
|
2466
|
+
continue;
|
|
2467
|
+
}
|
|
2468
|
+
if (part.type === "file") {
|
|
2469
|
+
if (typeof part.data === "string" && attachmentUrls.has(part.data)) {
|
|
2470
|
+
continue;
|
|
2471
|
+
}
|
|
2584
2472
|
const categorized = typeof part.data === "string" ? categorizeFileData(part.data, part.mimeType) : { type: "raw", mimeType: part.mimeType};
|
|
2585
2473
|
if (categorized.type === "url" && typeof part.data === "string") {
|
|
2586
2474
|
parts.push({
|
|
@@ -2589,7 +2477,6 @@ var MessageList = class _MessageList {
|
|
|
2589
2477
|
mediaType: categorized.mimeType || "image/png",
|
|
2590
2478
|
providerMetadata: part.providerMetadata
|
|
2591
2479
|
});
|
|
2592
|
-
fileUrls.add(part.data);
|
|
2593
2480
|
} else {
|
|
2594
2481
|
let filePartData;
|
|
2595
2482
|
let extractedMimeType = part.mimeType;
|
|
@@ -2621,36 +2508,376 @@ var MessageList = class _MessageList {
|
|
|
2621
2508
|
providerMetadata: part.providerMetadata
|
|
2622
2509
|
});
|
|
2623
2510
|
}
|
|
2624
|
-
|
|
2625
|
-
|
|
2511
|
+
} else if (part.type === "source") {
|
|
2512
|
+
const sourcePart = part;
|
|
2513
|
+
parts.push({
|
|
2514
|
+
type: "source-url",
|
|
2515
|
+
url: sourcePart.source.url,
|
|
2516
|
+
...part.providerMetadata && { providerMetadata: part.providerMetadata }
|
|
2517
|
+
});
|
|
2518
|
+
} else if (part.type === "text") {
|
|
2519
|
+
parts.push({
|
|
2520
|
+
type: "text",
|
|
2521
|
+
text: part.text,
|
|
2522
|
+
...part.providerMetadata && { providerMetadata: part.providerMetadata }
|
|
2523
|
+
});
|
|
2524
|
+
hasNonToolReasoningParts = true;
|
|
2525
|
+
} else {
|
|
2526
|
+
parts.push(part);
|
|
2527
|
+
hasNonToolReasoningParts = true;
|
|
2626
2528
|
}
|
|
2627
2529
|
}
|
|
2628
2530
|
}
|
|
2629
|
-
if (
|
|
2630
|
-
|
|
2531
|
+
if (dbMsg.content.content && !hasNonToolReasoningParts) {
|
|
2532
|
+
parts.push({ type: "text", text: dbMsg.content.content });
|
|
2631
2533
|
}
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2635
|
-
|
|
2636
|
-
|
|
2637
|
-
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2534
|
+
return {
|
|
2535
|
+
id: dbMsg.id,
|
|
2536
|
+
role: dbMsg.role,
|
|
2537
|
+
metadata,
|
|
2538
|
+
parts
|
|
2539
|
+
};
|
|
2540
|
+
}
|
|
2541
|
+
/**
|
|
2542
|
+
* Direct conversion from AIV5 UIMessage to MastraDBMessage
|
|
2543
|
+
* Combines logic from aiV5UIMessageToMastraMessageV3 + mastraMessageV3ToV2
|
|
2544
|
+
*/
|
|
2545
|
+
static aiV5UIMessageToMastraDBMessage(uiMsg) {
|
|
2546
|
+
const { parts, metadata: rawMetadata } = uiMsg;
|
|
2547
|
+
const metadata = rawMetadata || {};
|
|
2548
|
+
const createdAtValue = metadata.createdAt;
|
|
2549
|
+
const createdAt = createdAtValue ? typeof createdAtValue === "string" ? new Date(createdAtValue) : createdAtValue instanceof Date ? createdAtValue : /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date();
|
|
2550
|
+
const threadId = metadata.threadId;
|
|
2551
|
+
const resourceId = metadata.resourceId;
|
|
2552
|
+
const cleanMetadata = { ...metadata };
|
|
2553
|
+
delete cleanMetadata.createdAt;
|
|
2554
|
+
delete cleanMetadata.threadId;
|
|
2555
|
+
delete cleanMetadata.resourceId;
|
|
2556
|
+
const toolInvocationParts = parts.filter((p) => AIV5.isToolUIPart(p));
|
|
2557
|
+
const reasoningParts = parts.filter((p) => p.type === "reasoning");
|
|
2558
|
+
const fileParts = parts.filter((p) => p.type === "file");
|
|
2559
|
+
const textParts = parts.filter((p) => p.type === "text");
|
|
2560
|
+
let toolInvocations = void 0;
|
|
2561
|
+
if (toolInvocationParts.length > 0) {
|
|
2562
|
+
toolInvocations = toolInvocationParts.map((p) => {
|
|
2563
|
+
const toolName = getToolName(p);
|
|
2564
|
+
if (p.state === "output-available") {
|
|
2565
|
+
return {
|
|
2566
|
+
args: p.input,
|
|
2567
|
+
result: typeof p.output === "object" && p.output && "value" in p.output ? p.output.value : p.output,
|
|
2568
|
+
toolCallId: p.toolCallId,
|
|
2569
|
+
toolName,
|
|
2570
|
+
state: "result"
|
|
2571
|
+
};
|
|
2572
|
+
}
|
|
2573
|
+
return {
|
|
2574
|
+
args: p.input,
|
|
2575
|
+
toolCallId: p.toolCallId,
|
|
2576
|
+
toolName,
|
|
2577
|
+
state: "call"
|
|
2578
|
+
};
|
|
2579
|
+
});
|
|
2580
|
+
}
|
|
2581
|
+
let reasoning = void 0;
|
|
2582
|
+
if (reasoningParts.length > 0) {
|
|
2583
|
+
reasoning = reasoningParts.map((p) => p.text).join("\n");
|
|
2584
|
+
}
|
|
2585
|
+
let experimental_attachments = void 0;
|
|
2586
|
+
if (fileParts.length > 0) {
|
|
2587
|
+
experimental_attachments = fileParts.map((p) => ({
|
|
2588
|
+
url: p.url || "",
|
|
2589
|
+
contentType: p.mediaType
|
|
2590
|
+
}));
|
|
2591
|
+
}
|
|
2592
|
+
let content = void 0;
|
|
2593
|
+
if (textParts.length > 0) {
|
|
2594
|
+
content = textParts.map((p) => p.text).join("");
|
|
2595
|
+
}
|
|
2596
|
+
const v2Parts = parts.map((p) => {
|
|
2597
|
+
if (AIV5.isToolUIPart(p)) {
|
|
2598
|
+
const toolName = getToolName(p);
|
|
2599
|
+
const callProviderMetadata = "callProviderMetadata" in p ? p.callProviderMetadata : void 0;
|
|
2600
|
+
if (p.state === "output-available") {
|
|
2601
|
+
return {
|
|
2602
|
+
type: "tool-invocation",
|
|
2603
|
+
toolInvocation: {
|
|
2604
|
+
toolCallId: p.toolCallId,
|
|
2605
|
+
toolName,
|
|
2606
|
+
args: p.input,
|
|
2607
|
+
result: typeof p.output === "object" && p.output && "value" in p.output ? p.output.value : p.output,
|
|
2608
|
+
state: "result"
|
|
2609
|
+
},
|
|
2610
|
+
providerMetadata: callProviderMetadata
|
|
2611
|
+
};
|
|
2612
|
+
}
|
|
2613
|
+
return {
|
|
2614
|
+
type: "tool-invocation",
|
|
2615
|
+
toolInvocation: {
|
|
2616
|
+
toolCallId: p.toolCallId,
|
|
2617
|
+
toolName,
|
|
2618
|
+
args: p.input,
|
|
2619
|
+
state: "call"
|
|
2620
|
+
},
|
|
2621
|
+
providerMetadata: callProviderMetadata
|
|
2622
|
+
};
|
|
2623
|
+
}
|
|
2624
|
+
if (p.type === "reasoning") {
|
|
2625
|
+
return {
|
|
2626
|
+
type: "reasoning",
|
|
2627
|
+
reasoning: "",
|
|
2628
|
+
details: [
|
|
2629
|
+
{
|
|
2630
|
+
type: "text",
|
|
2631
|
+
text: p.text
|
|
2632
|
+
}
|
|
2633
|
+
],
|
|
2634
|
+
providerMetadata: p.providerMetadata
|
|
2635
|
+
};
|
|
2636
|
+
}
|
|
2637
|
+
if (p.type === "file") {
|
|
2638
|
+
return {
|
|
2639
|
+
type: "file",
|
|
2640
|
+
mimeType: p.mediaType,
|
|
2641
|
+
data: p.url || "",
|
|
2642
|
+
providerMetadata: p.providerMetadata
|
|
2643
|
+
};
|
|
2644
|
+
}
|
|
2645
|
+
if (p.type === "source-url") {
|
|
2646
|
+
return {
|
|
2647
|
+
type: "source",
|
|
2648
|
+
source: {
|
|
2649
|
+
url: p.url,
|
|
2650
|
+
sourceType: "url",
|
|
2651
|
+
id: p.url,
|
|
2652
|
+
// Use URL as ID
|
|
2653
|
+
providerMetadata: p.providerMetadata
|
|
2654
|
+
},
|
|
2655
|
+
providerMetadata: p.providerMetadata
|
|
2656
|
+
};
|
|
2657
|
+
}
|
|
2658
|
+
if (p.type === "text") {
|
|
2659
|
+
return {
|
|
2660
|
+
type: "text",
|
|
2661
|
+
text: p.text,
|
|
2662
|
+
providerMetadata: p.providerMetadata
|
|
2663
|
+
};
|
|
2664
|
+
}
|
|
2665
|
+
if (p.type === "step-start") {
|
|
2666
|
+
return p;
|
|
2667
|
+
}
|
|
2668
|
+
return null;
|
|
2669
|
+
}).filter((p) => p !== null);
|
|
2670
|
+
return {
|
|
2671
|
+
id: uiMsg.id,
|
|
2672
|
+
role: uiMsg.role,
|
|
2673
|
+
createdAt,
|
|
2674
|
+
threadId,
|
|
2675
|
+
resourceId,
|
|
2676
|
+
content: {
|
|
2677
|
+
format: 2,
|
|
2678
|
+
parts: v2Parts,
|
|
2679
|
+
toolInvocations,
|
|
2680
|
+
reasoning,
|
|
2681
|
+
experimental_attachments,
|
|
2682
|
+
content,
|
|
2683
|
+
metadata: Object.keys(cleanMetadata).length > 0 ? cleanMetadata : void 0
|
|
2684
|
+
}
|
|
2685
|
+
};
|
|
2686
|
+
}
|
|
2687
|
+
/**
|
|
2688
|
+
* Direct conversion from AIV5 ModelMessage to MastraDBMessage
|
|
2689
|
+
* Combines logic from aiV5ModelMessageToMastraMessageV3 + mastraMessageV3ToV2
|
|
2690
|
+
*/
|
|
2691
|
+
static aiV5ModelMessageToMastraDBMessage(modelMsg, _messageSource) {
|
|
2692
|
+
const content = Array.isArray(modelMsg.content) ? modelMsg.content : [{ type: "text", text: modelMsg.content }];
|
|
2693
|
+
const v2Parts = [];
|
|
2694
|
+
const toolInvocations = [];
|
|
2695
|
+
const reasoningParts = [];
|
|
2696
|
+
const experimental_attachments = [];
|
|
2697
|
+
const textParts = [];
|
|
2698
|
+
let lastPartWasToolResult = false;
|
|
2699
|
+
for (const part of content) {
|
|
2700
|
+
const providerMetadata = {
|
|
2701
|
+
...modelMsg.providerMetadata || {},
|
|
2702
|
+
...part.providerMetadata || {}
|
|
2703
|
+
};
|
|
2704
|
+
const hasProviderMetadata = Object.keys(providerMetadata).length > 0;
|
|
2705
|
+
if (part.type === "text") {
|
|
2706
|
+
const textPart = {
|
|
2707
|
+
type: "text",
|
|
2708
|
+
text: part.text,
|
|
2709
|
+
...hasProviderMetadata && { experimental_providerMetadata: providerMetadata }
|
|
2710
|
+
};
|
|
2711
|
+
v2Parts.push(textPart);
|
|
2712
|
+
textParts.push({ text: part.text, providerMetadata: hasProviderMetadata ? providerMetadata : void 0 });
|
|
2713
|
+
lastPartWasToolResult = false;
|
|
2714
|
+
} else if (part.type === "tool-call") {
|
|
2715
|
+
const toolCallPart = part;
|
|
2716
|
+
const toolInvocationPart = {
|
|
2717
|
+
type: "tool-invocation",
|
|
2718
|
+
toolInvocation: {
|
|
2719
|
+
toolCallId: toolCallPart.toolCallId,
|
|
2720
|
+
toolName: toolCallPart.toolName,
|
|
2721
|
+
args: toolCallPart.input,
|
|
2722
|
+
state: "call"
|
|
2723
|
+
},
|
|
2724
|
+
...hasProviderMetadata && { providerMetadata }
|
|
2725
|
+
};
|
|
2726
|
+
v2Parts.push(toolInvocationPart);
|
|
2727
|
+
toolInvocations.push({
|
|
2728
|
+
toolCallId: toolCallPart.toolCallId,
|
|
2729
|
+
toolName: toolCallPart.toolName,
|
|
2730
|
+
args: toolCallPart.input,
|
|
2731
|
+
state: "call"
|
|
2641
2732
|
});
|
|
2733
|
+
lastPartWasToolResult = false;
|
|
2734
|
+
} else if (part.type === "tool-result") {
|
|
2735
|
+
const toolResultPart = part;
|
|
2736
|
+
const matchingCall = toolInvocations.find((inv) => inv.toolCallId === toolResultPart.toolCallId);
|
|
2737
|
+
const matchingV2Part = v2Parts.find(
|
|
2738
|
+
(p) => p.type === "tool-invocation" && "toolInvocation" in p && p.toolInvocation.toolCallId === toolResultPart.toolCallId
|
|
2739
|
+
);
|
|
2740
|
+
if (matchingCall) {
|
|
2741
|
+
matchingCall.state = "result";
|
|
2742
|
+
matchingCall.result = typeof toolResultPart.output === "object" && toolResultPart.output && "value" in toolResultPart.output ? toolResultPart.output.value : toolResultPart.output;
|
|
2743
|
+
} else {
|
|
2744
|
+
const resultPartWithName = toolResultPart;
|
|
2745
|
+
toolInvocations.push({
|
|
2746
|
+
toolCallId: toolResultPart.toolCallId,
|
|
2747
|
+
toolName: resultPartWithName.toolName || "unknown",
|
|
2748
|
+
args: {},
|
|
2749
|
+
result: typeof toolResultPart.output === "object" && toolResultPart.output && "value" in toolResultPart.output ? toolResultPart.output.value : toolResultPart.output,
|
|
2750
|
+
state: "result"
|
|
2751
|
+
});
|
|
2752
|
+
}
|
|
2753
|
+
if (matchingV2Part && matchingV2Part.type === "tool-invocation") {
|
|
2754
|
+
matchingV2Part.toolInvocation.state = "result";
|
|
2755
|
+
matchingV2Part.toolInvocation.result = typeof toolResultPart.output === "object" && toolResultPart.output && "value" in toolResultPart.output ? toolResultPart.output.value : toolResultPart.output;
|
|
2756
|
+
if (hasProviderMetadata) {
|
|
2757
|
+
matchingV2Part.providerMetadata = providerMetadata;
|
|
2758
|
+
}
|
|
2759
|
+
} else {
|
|
2760
|
+
const resultPartWithName = toolResultPart;
|
|
2761
|
+
const toolInvocationPart = {
|
|
2762
|
+
type: "tool-invocation",
|
|
2763
|
+
toolInvocation: {
|
|
2764
|
+
toolCallId: toolResultPart.toolCallId,
|
|
2765
|
+
toolName: resultPartWithName.toolName || "unknown",
|
|
2766
|
+
args: {},
|
|
2767
|
+
result: typeof toolResultPart.output === "object" && toolResultPart.output && "value" in toolResultPart.output ? toolResultPart.output.value : toolResultPart.output,
|
|
2768
|
+
state: "result"
|
|
2769
|
+
},
|
|
2770
|
+
...hasProviderMetadata && { providerMetadata }
|
|
2771
|
+
};
|
|
2772
|
+
v2Parts.push(toolInvocationPart);
|
|
2773
|
+
}
|
|
2774
|
+
lastPartWasToolResult = true;
|
|
2775
|
+
} else if (part.type === "reasoning") {
|
|
2776
|
+
const reasoningPart = part;
|
|
2777
|
+
const v2ReasoningPart = {
|
|
2778
|
+
type: "reasoning",
|
|
2779
|
+
reasoning: reasoningPart.text,
|
|
2780
|
+
details: [{ type: "text", text: reasoningPart.text }],
|
|
2781
|
+
...hasProviderMetadata && { providerMetadata }
|
|
2782
|
+
};
|
|
2783
|
+
v2Parts.push(v2ReasoningPart);
|
|
2784
|
+
reasoningParts.push(reasoningPart.text);
|
|
2785
|
+
lastPartWasToolResult = false;
|
|
2786
|
+
} else if (part.type === "image") {
|
|
2787
|
+
const imagePart = part;
|
|
2788
|
+
let imageData;
|
|
2789
|
+
const mimeType = imagePart.mimeType || "image/jpeg";
|
|
2790
|
+
if ("url" in imagePart && typeof imagePart.url === "string") {
|
|
2791
|
+
imageData = imagePart.url;
|
|
2792
|
+
} else if ("data" in imagePart) {
|
|
2793
|
+
if (typeof imagePart.data === "string") {
|
|
2794
|
+
imageData = imagePart.data.startsWith("data:") || imagePart.data.startsWith("http") ? imagePart.data : `data:${mimeType};base64,${imagePart.data}`;
|
|
2795
|
+
} else {
|
|
2796
|
+
const base64 = Buffer.from(imagePart.data).toString("base64");
|
|
2797
|
+
imageData = `data:${mimeType};base64,${base64}`;
|
|
2798
|
+
}
|
|
2799
|
+
} else {
|
|
2800
|
+
imageData = "";
|
|
2801
|
+
}
|
|
2802
|
+
const imageFilePart = {
|
|
2803
|
+
type: "file",
|
|
2804
|
+
data: imageData,
|
|
2805
|
+
mimeType,
|
|
2806
|
+
...hasProviderMetadata && { providerMetadata }
|
|
2807
|
+
};
|
|
2808
|
+
v2Parts.push(imageFilePart);
|
|
2809
|
+
experimental_attachments.push({
|
|
2810
|
+
url: imageData,
|
|
2811
|
+
contentType: mimeType
|
|
2812
|
+
});
|
|
2813
|
+
lastPartWasToolResult = false;
|
|
2814
|
+
} else if (part.type === "file") {
|
|
2815
|
+
const filePart = part;
|
|
2816
|
+
const mimeType = filePart.mediaType || "application/octet-stream";
|
|
2817
|
+
let fileData;
|
|
2818
|
+
if ("url" in filePart && typeof filePart.url === "string") {
|
|
2819
|
+
fileData = filePart.url;
|
|
2820
|
+
} else if ("data" in filePart) {
|
|
2821
|
+
if (typeof filePart.data === "string") {
|
|
2822
|
+
fileData = filePart.data.startsWith("data:") || filePart.data.startsWith("http") ? filePart.data : `data:${mimeType};base64,${filePart.data}`;
|
|
2823
|
+
} else {
|
|
2824
|
+
const base64 = Buffer.from(filePart.data).toString("base64");
|
|
2825
|
+
fileData = `data:${mimeType};base64,${base64}`;
|
|
2826
|
+
}
|
|
2827
|
+
} else {
|
|
2828
|
+
fileData = "";
|
|
2829
|
+
}
|
|
2830
|
+
const v2FilePart = {
|
|
2831
|
+
type: "file",
|
|
2832
|
+
data: fileData,
|
|
2833
|
+
mimeType,
|
|
2834
|
+
...hasProviderMetadata && { providerMetadata }
|
|
2835
|
+
};
|
|
2836
|
+
v2Parts.push(v2FilePart);
|
|
2837
|
+
experimental_attachments.push({
|
|
2838
|
+
url: fileData,
|
|
2839
|
+
contentType: mimeType
|
|
2840
|
+
});
|
|
2841
|
+
lastPartWasToolResult = false;
|
|
2642
2842
|
}
|
|
2643
2843
|
}
|
|
2644
|
-
if (
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2844
|
+
if (modelMsg.role === "assistant" && lastPartWasToolResult && v2Parts.length > 0) {
|
|
2845
|
+
const lastPart = v2Parts[v2Parts.length - 1];
|
|
2846
|
+
if (lastPart && lastPart.type !== "text") {
|
|
2847
|
+
const emptyTextPart = { type: "text", text: "" };
|
|
2848
|
+
v2Parts.push(emptyTextPart);
|
|
2849
|
+
textParts.push({ text: "" });
|
|
2850
|
+
}
|
|
2851
|
+
}
|
|
2852
|
+
let contentString = void 0;
|
|
2853
|
+
if (textParts.length > 0) {
|
|
2854
|
+
contentString = textParts.map((p) => p.text).join("\n");
|
|
2649
2855
|
}
|
|
2650
|
-
|
|
2856
|
+
const metadata = {};
|
|
2857
|
+
const id = `id` in modelMsg && typeof modelMsg.id === `string` ? modelMsg.id : `msg-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
2858
|
+
return {
|
|
2859
|
+
id,
|
|
2860
|
+
role: _MessageList.getRole(modelMsg),
|
|
2861
|
+
createdAt: /* @__PURE__ */ new Date(),
|
|
2862
|
+
content: {
|
|
2863
|
+
format: 2,
|
|
2864
|
+
parts: v2Parts,
|
|
2865
|
+
toolInvocations: toolInvocations.length > 0 ? toolInvocations : void 0,
|
|
2866
|
+
reasoning: reasoningParts.length > 0 ? reasoningParts.join("\n") : void 0,
|
|
2867
|
+
experimental_attachments: experimental_attachments.length > 0 ? experimental_attachments : void 0,
|
|
2868
|
+
content: contentString,
|
|
2869
|
+
metadata
|
|
2870
|
+
}
|
|
2871
|
+
};
|
|
2872
|
+
}
|
|
2873
|
+
aiV4CoreMessagesToAIV5ModelMessages(messages, source) {
|
|
2874
|
+
return this.aiV5UIMessagesToAIV5ModelMessages(
|
|
2875
|
+
messages.map((m) => this.aiV4CoreMessageToMastraDBMessage(m, source)).map((m) => _MessageList.mastraDBMessageToAIV5UIMessage(m))
|
|
2876
|
+
);
|
|
2651
2877
|
}
|
|
2652
|
-
aiV5UIMessagesToAIV5ModelMessages(messages) {
|
|
2653
|
-
const
|
|
2878
|
+
aiV5UIMessagesToAIV5ModelMessages(messages, filterIncompleteToolCalls = false) {
|
|
2879
|
+
const sanitized = this.sanitizeV5UIMessages(messages, filterIncompleteToolCalls);
|
|
2880
|
+
const preprocessed = this.addStartStepPartsForAIV5(sanitized);
|
|
2654
2881
|
const result = AIV5.convertToModelMessages(preprocessed);
|
|
2655
2882
|
return result;
|
|
2656
2883
|
}
|
|
@@ -2666,12 +2893,15 @@ var MessageList = class _MessageList {
|
|
|
2666
2893
|
}
|
|
2667
2894
|
return messages;
|
|
2668
2895
|
}
|
|
2669
|
-
sanitizeV5UIMessages(messages) {
|
|
2896
|
+
sanitizeV5UIMessages(messages, filterIncompleteToolCalls = false) {
|
|
2670
2897
|
const msgs = messages.map((m) => {
|
|
2671
2898
|
if (m.parts.length === 0) return false;
|
|
2672
2899
|
const safeParts = m.parts.filter((p) => {
|
|
2673
2900
|
if (!AIV5.isToolUIPart(p)) return true;
|
|
2674
|
-
|
|
2901
|
+
if (filterIncompleteToolCalls) {
|
|
2902
|
+
return p.state === "output-available" || p.state === "output-error";
|
|
2903
|
+
}
|
|
2904
|
+
return p.state !== "input-streaming";
|
|
2675
2905
|
});
|
|
2676
2906
|
if (!safeParts.length) return false;
|
|
2677
2907
|
const sanitized = {
|
|
@@ -2690,242 +2920,6 @@ var MessageList = class _MessageList {
|
|
|
2690
2920
|
}).filter((m) => Boolean(m));
|
|
2691
2921
|
return msgs;
|
|
2692
2922
|
}
|
|
2693
|
-
static mastraMessageV3ToAIV5UIMessage(m) {
|
|
2694
|
-
const metadata = {
|
|
2695
|
-
...m.content.metadata || {}
|
|
2696
|
-
};
|
|
2697
|
-
if (m.createdAt) metadata.createdAt = m.createdAt;
|
|
2698
|
-
if (m.threadId) metadata.threadId = m.threadId;
|
|
2699
|
-
if (m.resourceId) metadata.resourceId = m.resourceId;
|
|
2700
|
-
const filteredParts = m.content.parts;
|
|
2701
|
-
return {
|
|
2702
|
-
id: m.id,
|
|
2703
|
-
role: m.role,
|
|
2704
|
-
metadata,
|
|
2705
|
-
parts: filteredParts
|
|
2706
|
-
};
|
|
2707
|
-
}
|
|
2708
|
-
aiV5ModelMessagesToAIV4CoreMessages(messages, messageSource) {
|
|
2709
|
-
const v3 = messages.map((msg) => this.aiV5ModelMessageToMastraMessageV3(msg, messageSource));
|
|
2710
|
-
const v2 = v3.map(_MessageList.mastraMessageV3ToV2);
|
|
2711
|
-
const ui = v2.map(_MessageList.mastraMessageV2ToAIV4UIMessage);
|
|
2712
|
-
const core = this.aiV4UIMessagesToAIV4CoreMessages(ui);
|
|
2713
|
-
return core;
|
|
2714
|
-
}
|
|
2715
|
-
aiV4CoreMessagesToAIV5ModelMessages(messages, source) {
|
|
2716
|
-
return this.aiV5UIMessagesToAIV5ModelMessages(
|
|
2717
|
-
messages.map((m) => this.aiV4CoreMessageToMastraMessageV2(m, source)).map((m) => this.mastraMessageV2ToMastraMessageV3(m)).map((m) => _MessageList.mastraMessageV3ToAIV5UIMessage(m))
|
|
2718
|
-
);
|
|
2719
|
-
}
|
|
2720
|
-
aiV5UIMessageToMastraMessageV3(message, messageSource) {
|
|
2721
|
-
const content = {
|
|
2722
|
-
format: 3,
|
|
2723
|
-
parts: message.parts,
|
|
2724
|
-
metadata: message.metadata
|
|
2725
|
-
};
|
|
2726
|
-
const metadata = message.metadata;
|
|
2727
|
-
const createdAt = (() => {
|
|
2728
|
-
if ("createdAt" in message && message.createdAt instanceof Date) {
|
|
2729
|
-
return message.createdAt;
|
|
2730
|
-
}
|
|
2731
|
-
if (metadata && "createdAt" in metadata && metadata.createdAt instanceof Date) {
|
|
2732
|
-
return metadata.createdAt;
|
|
2733
|
-
}
|
|
2734
|
-
return void 0;
|
|
2735
|
-
})();
|
|
2736
|
-
if ("metadata" in message && message.metadata) {
|
|
2737
|
-
content.metadata = { ...message.metadata };
|
|
2738
|
-
}
|
|
2739
|
-
return {
|
|
2740
|
-
id: message.id || this.newMessageId(),
|
|
2741
|
-
role: _MessageList.getRole(message),
|
|
2742
|
-
createdAt: this.generateCreatedAt(messageSource, createdAt),
|
|
2743
|
-
threadId: this.memoryInfo?.threadId,
|
|
2744
|
-
resourceId: this.memoryInfo?.resourceId,
|
|
2745
|
-
content
|
|
2746
|
-
};
|
|
2747
|
-
}
|
|
2748
|
-
aiV5ModelMessageToMastraMessageV3(coreMessage, messageSource) {
|
|
2749
|
-
const id = `id` in coreMessage && typeof coreMessage.id === `string` ? coreMessage.id : this.newMessageId();
|
|
2750
|
-
const parts = [];
|
|
2751
|
-
if (typeof coreMessage.content === "string") {
|
|
2752
|
-
parts.push({
|
|
2753
|
-
type: "text",
|
|
2754
|
-
text: coreMessage.content,
|
|
2755
|
-
// Preserve providerOptions from ModelMessage level (e.g., system messages with cacheControl)
|
|
2756
|
-
..."providerOptions" in coreMessage && coreMessage.providerOptions ? { providerMetadata: coreMessage.providerOptions } : {}
|
|
2757
|
-
});
|
|
2758
|
-
} else if (Array.isArray(coreMessage.content)) {
|
|
2759
|
-
for (const part of coreMessage.content) {
|
|
2760
|
-
switch (part.type) {
|
|
2761
|
-
case "text":
|
|
2762
|
-
const prevPart = parts.at(-1);
|
|
2763
|
-
if (coreMessage.role === "assistant" && prevPart && AIV5.isToolUIPart(prevPart) && prevPart.state === "output-available") {
|
|
2764
|
-
parts.push({
|
|
2765
|
-
type: "step-start"
|
|
2766
|
-
});
|
|
2767
|
-
}
|
|
2768
|
-
const mergedProviderMetadataV3 = {
|
|
2769
|
-
..."providerOptions" in coreMessage && coreMessage.providerOptions ? coreMessage.providerOptions : {},
|
|
2770
|
-
...part.providerOptions || {}
|
|
2771
|
-
};
|
|
2772
|
-
parts.push({
|
|
2773
|
-
type: "text",
|
|
2774
|
-
text: part.text,
|
|
2775
|
-
...Object.keys(mergedProviderMetadataV3).length > 0 ? { providerMetadata: mergedProviderMetadataV3 } : {}
|
|
2776
|
-
});
|
|
2777
|
-
break;
|
|
2778
|
-
case "tool-call":
|
|
2779
|
-
parts.push({
|
|
2780
|
-
type: `tool-${part.toolName}`,
|
|
2781
|
-
state: "input-available",
|
|
2782
|
-
toolCallId: part.toolCallId,
|
|
2783
|
-
input: part.input
|
|
2784
|
-
});
|
|
2785
|
-
break;
|
|
2786
|
-
case "tool-result":
|
|
2787
|
-
parts.push({
|
|
2788
|
-
type: `tool-${part.toolName}`,
|
|
2789
|
-
state: "output-available",
|
|
2790
|
-
toolCallId: part.toolCallId,
|
|
2791
|
-
output: typeof part.output === "string" ? { type: "text", value: part.output } : part.output ?? { type: "text", value: "" },
|
|
2792
|
-
input: {},
|
|
2793
|
-
callProviderMetadata: part.providerOptions
|
|
2794
|
-
});
|
|
2795
|
-
break;
|
|
2796
|
-
case "reasoning":
|
|
2797
|
-
parts.push({
|
|
2798
|
-
type: "reasoning",
|
|
2799
|
-
text: part.text,
|
|
2800
|
-
providerMetadata: part.providerOptions
|
|
2801
|
-
});
|
|
2802
|
-
break;
|
|
2803
|
-
case "image": {
|
|
2804
|
-
let imageData;
|
|
2805
|
-
let extractedMimeType = part.mediaType;
|
|
2806
|
-
const imageStr = imageContentToDataUri(part.image, extractedMimeType || "image/png");
|
|
2807
|
-
const parsed = parseDataUri(imageStr);
|
|
2808
|
-
if (parsed.isDataUri) {
|
|
2809
|
-
imageData = parsed.base64Content;
|
|
2810
|
-
if (!extractedMimeType && parsed.mimeType) {
|
|
2811
|
-
extractedMimeType = parsed.mimeType;
|
|
2812
|
-
}
|
|
2813
|
-
} else if (imageStr.startsWith("http://") || imageStr.startsWith("https://")) {
|
|
2814
|
-
parts.push({
|
|
2815
|
-
type: "file",
|
|
2816
|
-
url: imageStr,
|
|
2817
|
-
mediaType: part.mediaType || "image/jpeg",
|
|
2818
|
-
// Default to image/jpeg for URLs
|
|
2819
|
-
providerMetadata: part.providerOptions
|
|
2820
|
-
});
|
|
2821
|
-
break;
|
|
2822
|
-
} else {
|
|
2823
|
-
imageData = imageStr;
|
|
2824
|
-
}
|
|
2825
|
-
const finalMimeType = extractedMimeType || "image/jpeg";
|
|
2826
|
-
const dataUri = imageData.startsWith("data:") ? imageData : createDataUri(imageData, finalMimeType);
|
|
2827
|
-
parts.push({
|
|
2828
|
-
type: "file",
|
|
2829
|
-
url: dataUri,
|
|
2830
|
-
mediaType: finalMimeType,
|
|
2831
|
-
providerMetadata: part.providerOptions
|
|
2832
|
-
});
|
|
2833
|
-
break;
|
|
2834
|
-
}
|
|
2835
|
-
case "file": {
|
|
2836
|
-
if (part.data instanceof URL) {
|
|
2837
|
-
const urlStr = part.data.toString();
|
|
2838
|
-
let extractedMimeType = part.mediaType;
|
|
2839
|
-
const parsed = parseDataUri(urlStr);
|
|
2840
|
-
if (parsed.isDataUri) {
|
|
2841
|
-
if (!extractedMimeType && parsed.mimeType) {
|
|
2842
|
-
extractedMimeType = parsed.mimeType;
|
|
2843
|
-
}
|
|
2844
|
-
if (parsed.base64Content !== urlStr) {
|
|
2845
|
-
const dataUri = createDataUri(parsed.base64Content, extractedMimeType || "image/png");
|
|
2846
|
-
parts.push({
|
|
2847
|
-
type: "file",
|
|
2848
|
-
url: dataUri,
|
|
2849
|
-
mediaType: extractedMimeType || "image/png",
|
|
2850
|
-
providerMetadata: part.providerOptions
|
|
2851
|
-
});
|
|
2852
|
-
} else {
|
|
2853
|
-
parts.push({
|
|
2854
|
-
type: "file",
|
|
2855
|
-
url: urlStr,
|
|
2856
|
-
mediaType: part.mediaType || "image/png",
|
|
2857
|
-
providerMetadata: part.providerOptions
|
|
2858
|
-
});
|
|
2859
|
-
}
|
|
2860
|
-
} else {
|
|
2861
|
-
parts.push({
|
|
2862
|
-
type: "file",
|
|
2863
|
-
url: urlStr,
|
|
2864
|
-
mediaType: part.mediaType || "application/octet-stream",
|
|
2865
|
-
providerMetadata: part.providerOptions
|
|
2866
|
-
});
|
|
2867
|
-
}
|
|
2868
|
-
} else if (typeof part.data === "string") {
|
|
2869
|
-
const categorized = categorizeFileData(part.data, part.mediaType);
|
|
2870
|
-
if (categorized.type === "url" || categorized.type === "dataUri") {
|
|
2871
|
-
parts.push({
|
|
2872
|
-
type: "file",
|
|
2873
|
-
url: part.data,
|
|
2874
|
-
mediaType: categorized.mimeType || "application/octet-stream",
|
|
2875
|
-
providerMetadata: part.providerOptions
|
|
2876
|
-
});
|
|
2877
|
-
} else {
|
|
2878
|
-
try {
|
|
2879
|
-
const base64Data = convertDataContentToBase64String(part.data);
|
|
2880
|
-
const dataUri = createDataUri(base64Data, categorized.mimeType || "image/png");
|
|
2881
|
-
parts.push({
|
|
2882
|
-
type: "file",
|
|
2883
|
-
url: dataUri,
|
|
2884
|
-
mediaType: categorized.mimeType || "image/png",
|
|
2885
|
-
providerMetadata: part.providerOptions
|
|
2886
|
-
});
|
|
2887
|
-
} catch (error) {
|
|
2888
|
-
console.error(`Failed to convert binary data to base64 in CoreMessage file part: ${error}`, error);
|
|
2889
|
-
}
|
|
2890
|
-
}
|
|
2891
|
-
} else {
|
|
2892
|
-
try {
|
|
2893
|
-
const base64Data = convertDataContentToBase64String(part.data);
|
|
2894
|
-
const dataUri = createDataUri(base64Data, part.mediaType || "image/png");
|
|
2895
|
-
parts.push({
|
|
2896
|
-
type: "file",
|
|
2897
|
-
url: dataUri,
|
|
2898
|
-
mediaType: part.mediaType || "image/png",
|
|
2899
|
-
providerMetadata: part.providerOptions
|
|
2900
|
-
});
|
|
2901
|
-
} catch (error) {
|
|
2902
|
-
console.error(`Failed to convert binary data to base64 in CoreMessage file part: ${error}`, error);
|
|
2903
|
-
}
|
|
2904
|
-
}
|
|
2905
|
-
break;
|
|
2906
|
-
}
|
|
2907
|
-
}
|
|
2908
|
-
}
|
|
2909
|
-
}
|
|
2910
|
-
const content = {
|
|
2911
|
-
format: 3,
|
|
2912
|
-
parts
|
|
2913
|
-
};
|
|
2914
|
-
if (coreMessage.content) {
|
|
2915
|
-
content.metadata = {
|
|
2916
|
-
...content.metadata || {},
|
|
2917
|
-
__originalContent: coreMessage.content
|
|
2918
|
-
};
|
|
2919
|
-
}
|
|
2920
|
-
return {
|
|
2921
|
-
id,
|
|
2922
|
-
role: _MessageList.getRole(coreMessage),
|
|
2923
|
-
createdAt: this.generateCreatedAt(messageSource),
|
|
2924
|
-
threadId: this.memoryInfo?.threadId,
|
|
2925
|
-
resourceId: this.memoryInfo?.resourceId,
|
|
2926
|
-
content
|
|
2927
|
-
};
|
|
2928
|
-
}
|
|
2929
2923
|
static hasAIV5UIMessageCharacteristics(msg) {
|
|
2930
2924
|
if (`toolInvocations` in msg || `reasoning` in msg || `experimental_attachments` in msg || `data` in msg || `annotations` in msg)
|
|
2931
2925
|
return false;
|
|
@@ -3017,34 +3011,6 @@ var MessageList = class _MessageList {
|
|
|
3017
3011
|
}
|
|
3018
3012
|
};
|
|
3019
3013
|
|
|
3020
|
-
// src/agent/message-list/utils/convert-messages.ts
|
|
3021
|
-
var MessageConverter = class {
|
|
3022
|
-
messageList;
|
|
3023
|
-
constructor(messages) {
|
|
3024
|
-
this.messageList = new MessageList();
|
|
3025
|
-
this.messageList.add(messages, "memory");
|
|
3026
|
-
}
|
|
3027
|
-
to(format) {
|
|
3028
|
-
switch (format) {
|
|
3029
|
-
case "Mastra.V2":
|
|
3030
|
-
return this.messageList.get.all.v2();
|
|
3031
|
-
case "AIV4.UI":
|
|
3032
|
-
return this.messageList.get.all.aiV4.ui();
|
|
3033
|
-
case "AIV4.Core":
|
|
3034
|
-
return this.messageList.get.all.aiV4.core();
|
|
3035
|
-
case "AIV5.UI":
|
|
3036
|
-
return this.messageList.get.all.aiV5.ui();
|
|
3037
|
-
case "AIV5.Model":
|
|
3038
|
-
return this.messageList.get.all.aiV5.model();
|
|
3039
|
-
default:
|
|
3040
|
-
throw new Error(`Unsupported output format: ${format}`);
|
|
3041
|
-
}
|
|
3042
|
-
}
|
|
3043
|
-
};
|
|
3044
|
-
function convertMessages(messages) {
|
|
3045
|
-
return new MessageConverter(messages);
|
|
3046
|
-
}
|
|
3047
|
-
|
|
3048
3014
|
export { DefaultGeneratedFile, DefaultGeneratedFileWithType, MessageList, convertMessages };
|
|
3049
|
-
//# sourceMappingURL=chunk-
|
|
3050
|
-
//# sourceMappingURL=chunk-
|
|
3015
|
+
//# sourceMappingURL=chunk-JV2KH24V.js.map
|
|
3016
|
+
//# sourceMappingURL=chunk-JV2KH24V.js.map
|