@mastra/core 1.0.0-beta.4 → 1.0.0-beta.6
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 +598 -0
- package/dist/agent/agent-legacy.d.ts +17 -20
- package/dist/agent/agent-legacy.d.ts.map +1 -1
- package/dist/agent/agent-types.test-d.d.ts +2 -0
- package/dist/agent/agent-types.test-d.d.ts.map +1 -0
- package/dist/agent/agent.d.ts +6 -6
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.types.d.ts +3 -1
- package/dist/agent/agent.types.d.ts.map +1 -1
- package/dist/agent/index.cjs +9 -9
- package/dist/agent/index.js +2 -2
- package/dist/agent/message-list/index.cjs +3 -3
- package/dist/agent/message-list/index.d.ts +49 -0
- package/dist/agent/message-list/index.d.ts.map +1 -1
- package/dist/agent/message-list/index.js +1 -1
- package/dist/agent/message-list/prompt/attachments-to-parts.d.ts.map +1 -1
- package/dist/agent/save-queue/index.d.ts +3 -1
- package/dist/agent/save-queue/index.d.ts.map +1 -1
- package/dist/agent/test-utils.d.ts +37 -0
- package/dist/agent/test-utils.d.ts.map +1 -1
- package/dist/agent/trip-wire.d.ts.map +1 -1
- package/dist/agent/types.d.ts +20 -6
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/utils.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/index.d.ts +10 -10
- package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +1 -3
- 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 +4 -4
- 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 +4 -4
- package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/schema.d.ts +12 -13
- package/dist/agent/workflows/prepare-stream/schema.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts +8 -1
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
- package/dist/base.cjs +2 -2
- package/dist/base.js +1 -1
- package/dist/bundler/index.cjs +2 -2
- package/dist/bundler/index.js +1 -1
- package/dist/cache/index.cjs +3 -3
- package/dist/cache/index.js +1 -1
- package/dist/{chunk-OJNJA5ZI.js → chunk-3CKZSDTQ.js} +3 -3
- package/dist/{chunk-OJNJA5ZI.js.map → chunk-3CKZSDTQ.js.map} +1 -1
- package/dist/{chunk-TQTAMPSC.js → chunk-3N3QE4ZK.js} +3 -3
- package/dist/chunk-3N3QE4ZK.js.map +1 -0
- package/dist/{chunk-WQSGX6XA.cjs → chunk-3TKNXJES.cjs} +56 -15
- package/dist/chunk-3TKNXJES.cjs.map +1 -0
- package/dist/{chunk-XXBWX7DT.js → chunk-45NA5ZD3.js} +11673 -9468
- package/dist/chunk-45NA5ZD3.js.map +1 -0
- package/dist/{chunk-KEURQGCQ.js → chunk-4F6RAJFU.js} +105 -21
- package/dist/chunk-4F6RAJFU.js.map +1 -0
- package/dist/{chunk-ISMGVGUM.cjs → chunk-4JKEUSCC.cjs} +4 -4
- package/dist/{chunk-ISMGVGUM.cjs.map → chunk-4JKEUSCC.cjs.map} +1 -1
- package/dist/{chunk-CYVNOIXS.cjs → chunk-4KUOSXJ7.cjs} +30 -16
- package/dist/chunk-4KUOSXJ7.cjs.map +1 -0
- package/dist/{chunk-CBAB7GOD.cjs → chunk-6BJ7XHRH.cjs} +2 -2
- package/dist/{chunk-CBAB7GOD.cjs.map → chunk-6BJ7XHRH.cjs.map} +1 -1
- package/dist/{chunk-3RW5EMSB.js → chunk-6GOLI2EY.js} +22 -9
- package/dist/chunk-6GOLI2EY.js.map +1 -0
- package/dist/{chunk-4RXG622P.cjs → chunk-6J4NRNT2.cjs} +600 -37
- package/dist/chunk-6J4NRNT2.cjs.map +1 -0
- package/dist/{chunk-J7O6WENZ.cjs → chunk-6TBWJV35.js} +5 -5
- package/dist/chunk-6TBWJV35.js.map +1 -0
- package/dist/chunk-6XCINXZ7.cjs +194 -0
- package/dist/chunk-6XCINXZ7.cjs.map +1 -0
- package/dist/{chunk-MDKPL2R2.js → chunk-7ZADRRDW.js} +5 -4
- package/dist/chunk-7ZADRRDW.js.map +1 -0
- package/dist/{chunk-DSNPWVIG.cjs → chunk-AF74UXR5.cjs} +4 -3
- package/dist/chunk-AF74UXR5.cjs.map +1 -0
- package/dist/{chunk-W3DD3XP5.js → chunk-APMPOYPI.js} +334 -138
- package/dist/chunk-APMPOYPI.js.map +1 -0
- package/dist/{chunk-LRSB62Z6.cjs → chunk-AQAIS7FH.cjs} +15 -8
- package/dist/chunk-AQAIS7FH.cjs.map +1 -0
- package/dist/chunk-BWYU7D33.js +192 -0
- package/dist/chunk-BWYU7D33.js.map +1 -0
- package/dist/{chunk-KEXGB7FK.cjs → chunk-DGV2FWB4.cjs} +7 -7
- package/dist/{chunk-KEXGB7FK.cjs.map → chunk-DGV2FWB4.cjs.map} +1 -1
- package/dist/{chunk-WTYNK7Q4.js → chunk-DXMSVGJ6.js} +599 -36
- package/dist/chunk-DXMSVGJ6.js.map +1 -0
- package/dist/{chunk-Y63IFHEZ.cjs → chunk-EOPEDKLG.cjs} +4 -4
- package/dist/chunk-EOPEDKLG.cjs.map +1 -0
- package/dist/{chunk-NZAXAFI3.js → chunk-F2GAJSBI.js} +3 -3
- package/dist/{chunk-NZAXAFI3.js.map → chunk-F2GAJSBI.js.map} +1 -1
- package/dist/{chunk-KIZIOFZC.js → chunk-FYP3AT6W.js} +17 -3
- package/dist/chunk-FYP3AT6W.js.map +1 -0
- package/dist/{chunk-ZCVTH3CH.cjs → chunk-HNHZGFZY.cjs} +5 -4
- package/dist/chunk-HNHZGFZY.cjs.map +1 -0
- package/dist/{chunk-BMAFVZ2D.cjs → chunk-IWTMMUQY.cjs} +4 -4
- package/dist/{chunk-BMAFVZ2D.cjs.map → chunk-IWTMMUQY.cjs.map} +1 -1
- package/dist/{chunk-D6EDHNGV.js → chunk-KZLP6TPJ.js} +69 -28
- package/dist/chunk-KZLP6TPJ.js.map +1 -0
- package/dist/{chunk-5WXEYDFI.cjs → chunk-LDWBLENZ.cjs} +51 -38
- package/dist/chunk-LDWBLENZ.cjs.map +1 -0
- package/dist/{chunk-HGNRQ3OG.js → chunk-LEZIKVRQ.js} +15 -8
- package/dist/chunk-LEZIKVRQ.js.map +1 -0
- package/dist/{chunk-S6URFGCZ.js → chunk-LSHPJWM5.js} +3 -3
- package/dist/{chunk-S6URFGCZ.js.map → chunk-LSHPJWM5.js.map} +1 -1
- package/dist/{chunk-E7K4FTLN.cjs → chunk-NHNXIYDG.cjs} +18 -2
- package/dist/chunk-NHNXIYDG.cjs.map +1 -0
- package/dist/{chunk-U7VECK2G.js → chunk-NIUEWICQ.js} +145 -19
- package/dist/chunk-NIUEWICQ.js.map +1 -0
- package/dist/{chunk-2NVBZKZI.cjs → chunk-NN3NOFRU.cjs} +11744 -9526
- package/dist/chunk-NN3NOFRU.cjs.map +1 -0
- package/dist/{chunk-KJ2SW6VA.js → chunk-NRUZYMHE.js} +4 -3
- package/dist/chunk-NRUZYMHE.js.map +1 -0
- package/dist/{chunk-IWB65P37.cjs → chunk-OIMB2SNZ.cjs} +155 -29
- package/dist/chunk-OIMB2SNZ.cjs.map +1 -0
- package/dist/{chunk-IWQDBVJK.js → chunk-OPALPWAM.js} +47 -8
- package/dist/chunk-OPALPWAM.js.map +1 -0
- package/dist/{chunk-X7JMA3IY.js → chunk-PSCMWPLC.js} +2 -2
- package/dist/{chunk-X7JMA3IY.js.map → chunk-PSCMWPLC.js.map} +1 -1
- package/dist/{chunk-S6OEQHEI.cjs → chunk-QGWNF2QJ.cjs} +59 -50
- package/dist/chunk-QGWNF2QJ.cjs.map +1 -0
- package/dist/{chunk-VZC4BWWH.cjs → chunk-RHTV5C5D.cjs} +19 -19
- package/dist/chunk-RHTV5C5D.cjs.map +1 -0
- package/dist/{chunk-HBJPYQRN.cjs → chunk-RTROJFEU.cjs} +78 -41
- package/dist/chunk-RTROJFEU.cjs.map +1 -0
- package/dist/chunk-S5FPOCQF.cjs +518 -0
- package/dist/chunk-S5FPOCQF.cjs.map +1 -0
- package/dist/{chunk-O6NA3Z43.cjs → chunk-SQAX4OW6.cjs} +167 -12
- package/dist/chunk-SQAX4OW6.cjs.map +1 -0
- package/dist/{chunk-IHJDOC3A.js → chunk-T2UNO766.js} +16 -7
- package/dist/chunk-T2UNO766.js.map +1 -0
- package/dist/{chunk-FVNT7VTO.js → chunk-TARWUQG6.js} +243 -166
- package/dist/chunk-TARWUQG6.js.map +1 -0
- package/dist/{chunk-76K3IYWM.js → chunk-TS7B26US.js} +3 -3
- package/dist/{chunk-76K3IYWM.js.map → chunk-TS7B26US.js.map} +1 -1
- package/dist/{chunk-Y6ROD72V.cjs → chunk-UIGRFDO6.cjs} +4 -4
- package/dist/{chunk-Y6ROD72V.cjs.map → chunk-UIGRFDO6.cjs.map} +1 -1
- package/dist/{chunk-GRBGQ2GE.js → chunk-UVHSM2GU.cjs} +9 -3
- package/dist/chunk-UVHSM2GU.cjs.map +1 -0
- package/dist/{chunk-VSM3NLUX.cjs → chunk-VRFSEZBA.cjs} +334 -138
- package/dist/chunk-VRFSEZBA.cjs.map +1 -0
- package/dist/{chunk-JXESKY4A.js → chunk-WDRA4WKG.js} +163 -9
- package/dist/chunk-WDRA4WKG.js.map +1 -0
- package/dist/{chunk-RXDJL5QT.js → chunk-WMAMOYRR.js} +14 -14
- package/dist/chunk-WMAMOYRR.js.map +1 -0
- package/dist/{chunk-2OTDXX73.js → chunk-XY337TTF.js} +24 -10
- package/dist/chunk-XY337TTF.js.map +1 -0
- package/dist/{chunk-4IKJAKCD.cjs → chunk-Y24HI6ND.cjs} +108 -23
- package/dist/chunk-Y24HI6ND.cjs.map +1 -0
- package/dist/deployer/index.cjs +2 -2
- package/dist/deployer/index.js +1 -1
- package/dist/di/index.cjs +10 -2
- package/dist/di/index.d.ts +1 -1
- package/dist/di/index.d.ts.map +1 -1
- package/dist/di/index.js +1 -1
- package/dist/evals/base.d.ts +10 -2
- package/dist/evals/base.d.ts.map +1 -1
- package/dist/evals/base.test-utils.d.ts +25 -25
- package/dist/evals/index.cjs +9 -9
- package/dist/evals/index.js +2 -2
- package/dist/evals/scoreTraces/index.cjs +5 -5
- package/dist/evals/scoreTraces/index.js +2 -2
- package/dist/evals/types.d.ts +8 -8
- package/dist/index.cjs +2 -2
- package/dist/index.js +1 -1
- package/dist/integration/index.cjs +2 -2
- package/dist/integration/index.js +1 -1
- package/dist/llm/index.cjs +18 -14
- package/dist/llm/index.d.ts +2 -1
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +5 -5
- package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -1
- package/dist/llm/model/gateway-resolver.d.ts.map +1 -1
- package/dist/llm/model/gateways/azure.d.ts +36 -0
- package/dist/llm/model/gateways/azure.d.ts.map +1 -0
- package/dist/llm/model/gateways/base.d.ts +3 -6
- package/dist/llm/model/gateways/base.d.ts.map +1 -1
- package/dist/llm/model/gateways/index.d.ts +4 -1
- package/dist/llm/model/gateways/index.d.ts.map +1 -1
- package/dist/llm/model/gateways/models-dev.d.ts +2 -2
- package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
- package/dist/llm/model/gateways/netlify.d.ts +2 -2
- package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
- 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/provider-registry.d.ts.map +1 -1
- package/dist/llm/model/provider-types.generated.d.ts +245 -12
- package/dist/llm/model/registry-generator.d.ts +12 -0
- package/dist/llm/model/registry-generator.d.ts.map +1 -1
- package/dist/llm/model/router.d.ts.map +1 -1
- package/dist/logger/constants.d.ts +1 -0
- package/dist/logger/constants.d.ts.map +1 -1
- package/dist/logger/index.cjs +11 -11
- package/dist/logger/index.js +2 -2
- package/dist/logger/transport.d.ts +1 -1
- 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.map +1 -1
- package/dist/loop/network/index.d.ts +2 -2
- package/dist/loop/network/index.d.ts.map +1 -1
- package/dist/loop/test-utils/fullStream.d.ts.map +1 -1
- package/dist/loop/test-utils/generateText.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 +13 -2
- package/dist/loop/types.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/index.d.ts +96 -96
- package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +65 -65
- 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 +32 -32
- 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 +1 -1
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-loop/index.d.ts +97 -97
- package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -1
- package/dist/loop/workflows/schema.d.ts +32 -32
- package/dist/loop/workflows/stream.d.ts +1 -1
- package/dist/loop/workflows/stream.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.d.ts +64 -9
- package/dist/mastra/index.d.ts.map +1 -1
- package/dist/mastra/index.js +1 -1
- package/dist/mcp/index.cjs +4 -4
- package/dist/mcp/index.cjs.map +1 -1
- package/dist/mcp/index.d.ts +4 -4
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +2 -2
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/types.d.ts +2 -2
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/memory/index.cjs +21 -327
- package/dist/memory/index.cjs.map +1 -1
- package/dist/memory/index.js +1 -327
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/memory.d.ts +22 -18
- package/dist/memory/memory.d.ts.map +1 -1
- package/dist/memory/mock.d.ts +15 -14
- package/dist/memory/mock.d.ts.map +1 -1
- package/dist/memory/types.d.ts +69 -11
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/models-dev-F6MTIYTO.js +3 -0
- package/dist/{models-dev-6PRLJKVZ.js.map → models-dev-F6MTIYTO.js.map} +1 -1
- package/dist/models-dev-XIVR5EJV.cjs +12 -0
- package/dist/{models-dev-WHMI5G6Y.cjs.map → models-dev-XIVR5EJV.cjs.map} +1 -1
- package/dist/netlify-C2YBIK7A.js +3 -0
- package/dist/{netlify-EBQ6YUC6.js.map → netlify-C2YBIK7A.js.map} +1 -1
- package/dist/netlify-XWROOTP4.cjs +12 -0
- package/dist/{netlify-46I3SNNV.cjs.map → netlify-XWROOTP4.cjs.map} +1 -1
- package/dist/observability/index.cjs +16 -8
- package/dist/observability/index.js +1 -1
- package/dist/observability/types/tracing.d.ts +165 -3
- package/dist/observability/types/tracing.d.ts.map +1 -1
- package/dist/observability/utils.d.ts +47 -1
- package/dist/observability/utils.d.ts.map +1 -1
- package/dist/processors/index.cjs +35 -11
- package/dist/processors/index.d.ts +101 -23
- package/dist/processors/index.d.ts.map +1 -1
- package/dist/processors/index.js +1 -1
- package/dist/processors/memory/index.d.ts +7 -0
- package/dist/processors/memory/index.d.ts.map +1 -0
- package/dist/processors/memory/message-history.d.ts +43 -0
- package/dist/processors/memory/message-history.d.ts.map +1 -0
- package/dist/processors/memory/semantic-recall.d.ts +152 -0
- package/dist/processors/memory/semantic-recall.d.ts.map +1 -0
- package/dist/processors/memory/working-memory.d.ts +65 -0
- package/dist/processors/memory/working-memory.d.ts.map +1 -0
- package/dist/processors/processors/batch-parts.d.ts +1 -1
- package/dist/processors/processors/batch-parts.d.ts.map +1 -1
- package/dist/processors/processors/index.d.ts +2 -1
- package/dist/processors/processors/index.d.ts.map +1 -1
- package/dist/processors/processors/language-detector.d.ts +15 -1
- package/dist/processors/processors/language-detector.d.ts.map +1 -1
- package/dist/processors/processors/moderation.d.ts +15 -1
- package/dist/processors/processors/moderation.d.ts.map +1 -1
- package/dist/processors/processors/pii-detector.d.ts +15 -1
- package/dist/processors/processors/pii-detector.d.ts.map +1 -1
- package/dist/processors/processors/prompt-injection-detector.d.ts +15 -1
- 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 +1 -1
- package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -1
- package/dist/processors/processors/token-limiter.d.ts +22 -12
- package/dist/processors/processors/token-limiter.d.ts.map +1 -1
- package/dist/processors/processors/tool-call-filter.d.ts +28 -0
- package/dist/processors/processors/tool-call-filter.d.ts.map +1 -0
- package/dist/processors/processors/unicode-normalizer.d.ts +1 -1
- package/dist/processors/processors/unicode-normalizer.d.ts.map +1 -1
- package/dist/processors/runner.d.ts +35 -4
- package/dist/processors/runner.d.ts.map +1 -1
- package/dist/provider-registry-BXX7CA3H.cjs +40 -0
- package/dist/{provider-registry-RP2W4B24.cjs.map → provider-registry-BXX7CA3H.cjs.map} +1 -1
- package/dist/provider-registry-GRYJWVEM.js +3 -0
- package/dist/{provider-registry-HDG6UMUC.js.map → provider-registry-GRYJWVEM.js.map} +1 -1
- package/dist/provider-registry.json +547 -25
- package/dist/{registry-generator-JPCV47SC.cjs → registry-generator-34SC4TAU.cjs} +21 -6
- package/dist/registry-generator-34SC4TAU.cjs.map +1 -0
- package/dist/{registry-generator-XD4FPZTU.js → registry-generator-UMTNPBJX.js} +21 -7
- package/dist/registry-generator-UMTNPBJX.js.map +1 -0
- package/dist/relevance/index.cjs +2 -2
- package/dist/relevance/index.js +1 -1
- package/dist/request-context/index.cjs +10 -2
- package/dist/request-context/index.d.ts +26 -0
- package/dist/request-context/index.d.ts.map +1 -1
- package/dist/request-context/index.js +1 -1
- package/dist/server/base.d.ts +51 -0
- package/dist/server/base.d.ts.map +1 -0
- package/dist/server/composite-auth.d.ts +9 -0
- package/dist/server/composite-auth.d.ts.map +1 -0
- package/dist/server/index.cjs +112 -2
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.ts +4 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +109 -2
- package/dist/server/index.js.map +1 -1
- package/dist/server/simple-auth.d.ts +27 -0
- package/dist/server/simple-auth.d.ts.map +1 -0
- package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
- package/dist/storage/index.cjs +37 -29
- package/dist/storage/index.js +1 -1
- package/dist/storage/types.d.ts +1 -1
- package/dist/storage/types.d.ts.map +1 -1
- package/dist/storage/utils.d.ts +44 -0
- package/dist/storage/utils.d.ts.map +1 -1
- package/dist/stream/MastraAgentNetworkStream.d.ts +1 -1
- 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 +2 -2
- package/dist/stream/RunOutput.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/aisdk/v5/transform.d.ts.map +1 -1
- package/dist/stream/base/base.d.ts +1 -1
- package/dist/stream/base/base.d.ts.map +1 -1
- package/dist/stream/base/output-format-handlers.d.ts +1 -1
- package/dist/stream/base/output-format-handlers.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.js +2 -2
- package/dist/stream/types.d.ts +9 -2
- package/dist/stream/types.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.cjs +36 -2
- package/dist/test-utils/llm-mock.cjs.map +1 -1
- package/dist/test-utils/llm-mock.d.ts +3 -0
- package/dist/test-utils/llm-mock.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.js +32 -2
- package/dist/test-utils/llm-mock.js.map +1 -1
- package/dist/tools/index.cjs +6 -6
- package/dist/tools/index.js +2 -2
- package/dist/tools/is-vercel-tool.cjs +2 -2
- package/dist/tools/is-vercel-tool.js +1 -1
- package/dist/tools/stream.d.ts +2 -1
- package/dist/tools/stream.d.ts.map +1 -1
- package/dist/tools/tool-builder/builder.d.ts +2 -0
- package/dist/tools/tool-builder/builder.d.ts.map +1 -1
- package/dist/tools/tool.d.ts +19 -6
- package/dist/tools/tool.d.ts.map +1 -1
- package/dist/tools/types.d.ts +28 -3
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/validation.d.ts +14 -2
- package/dist/tools/validation.d.ts.map +1 -1
- package/dist/tts/index.cjs +2 -2
- package/dist/tts/index.js +1 -1
- package/dist/utils.cjs +22 -22
- package/dist/utils.d.ts +2 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/vector/filter/index.cjs +7 -189
- package/dist/vector/filter/index.cjs.map +1 -1
- package/dist/vector/filter/index.js +1 -190
- package/dist/vector/filter/index.js.map +1 -1
- package/dist/vector/index.cjs +7 -2
- package/dist/vector/index.cjs.map +1 -1
- package/dist/vector/index.d.ts +1 -0
- package/dist/vector/index.d.ts.map +1 -1
- package/dist/vector/index.js +2 -1
- package/dist/vector/index.js.map +1 -1
- package/dist/vector/types.d.ts +86 -3
- package/dist/vector/types.d.ts.map +1 -1
- package/dist/vector/vector.d.ts +39 -2
- package/dist/vector/vector.d.ts.map +1 -1
- package/dist/voice/index.cjs +6 -6
- package/dist/voice/index.js +1 -1
- package/dist/workflows/default.d.ts +176 -281
- package/dist/workflows/default.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 +1 -1
- package/dist/workflows/evented/step-executor.d.ts.map +1 -1
- package/dist/workflows/execution-engine.d.ts +4 -2
- package/dist/workflows/execution-engine.d.ts.map +1 -1
- package/dist/workflows/handlers/control-flow.d.ts +135 -0
- package/dist/workflows/handlers/control-flow.d.ts.map +1 -0
- package/dist/workflows/handlers/entry.d.ts +45 -0
- package/dist/workflows/handlers/entry.d.ts.map +1 -0
- package/dist/workflows/handlers/sleep.d.ts +62 -0
- package/dist/workflows/handlers/sleep.d.ts.map +1 -0
- package/dist/workflows/handlers/step.d.ts +60 -0
- package/dist/workflows/handlers/step.d.ts.map +1 -0
- package/dist/workflows/index.cjs +23 -19
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/step.d.ts +1 -0
- package/dist/workflows/step.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +159 -5
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/utils.d.ts +7 -0
- package/dist/workflows/utils.d.ts.map +1 -1
- package/dist/workflows/workflow.d.ts +12 -8
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/package.json +12 -10
- package/src/llm/model/provider-types.generated.d.ts +245 -12
- package/dist/chunk-2NVBZKZI.cjs.map +0 -1
- package/dist/chunk-2OTDXX73.js.map +0 -1
- package/dist/chunk-3PSWNGBF.js +0 -3
- package/dist/chunk-3PSWNGBF.js.map +0 -1
- package/dist/chunk-3RW5EMSB.js.map +0 -1
- package/dist/chunk-3W5RQCCY.cjs +0 -440
- package/dist/chunk-3W5RQCCY.cjs.map +0 -1
- package/dist/chunk-436FFEF6.js +0 -34
- package/dist/chunk-436FFEF6.js.map +0 -1
- package/dist/chunk-4IKJAKCD.cjs.map +0 -1
- package/dist/chunk-4RXG622P.cjs.map +0 -1
- package/dist/chunk-5WXEYDFI.cjs.map +0 -1
- package/dist/chunk-CYVNOIXS.cjs.map +0 -1
- package/dist/chunk-D6EDHNGV.js.map +0 -1
- package/dist/chunk-DSNPWVIG.cjs.map +0 -1
- package/dist/chunk-E7K4FTLN.cjs.map +0 -1
- package/dist/chunk-FVNT7VTO.js.map +0 -1
- package/dist/chunk-GRBGQ2GE.js.map +0 -1
- package/dist/chunk-HBJPYQRN.cjs.map +0 -1
- package/dist/chunk-HGNRQ3OG.js.map +0 -1
- package/dist/chunk-IHJDOC3A.js.map +0 -1
- package/dist/chunk-IWB65P37.cjs.map +0 -1
- package/dist/chunk-IWQDBVJK.js.map +0 -1
- package/dist/chunk-J7O6WENZ.cjs.map +0 -1
- package/dist/chunk-JXESKY4A.js.map +0 -1
- package/dist/chunk-KEURQGCQ.js.map +0 -1
- package/dist/chunk-KIZIOFZC.js.map +0 -1
- package/dist/chunk-KJ2SW6VA.js.map +0 -1
- package/dist/chunk-LRSB62Z6.cjs.map +0 -1
- package/dist/chunk-MDKPL2R2.js.map +0 -1
- package/dist/chunk-O6NA3Z43.cjs.map +0 -1
- package/dist/chunk-PE3V7GUL.cjs +0 -4
- package/dist/chunk-PE3V7GUL.cjs.map +0 -1
- package/dist/chunk-RXDJL5QT.js.map +0 -1
- package/dist/chunk-S6OEQHEI.cjs.map +0 -1
- package/dist/chunk-TQTAMPSC.js.map +0 -1
- package/dist/chunk-U7VECK2G.js.map +0 -1
- package/dist/chunk-V3VLOOSW.cjs +0 -36
- package/dist/chunk-V3VLOOSW.cjs.map +0 -1
- package/dist/chunk-VSM3NLUX.cjs.map +0 -1
- package/dist/chunk-VZC4BWWH.cjs.map +0 -1
- package/dist/chunk-W3DD3XP5.js.map +0 -1
- package/dist/chunk-WQSGX6XA.cjs.map +0 -1
- package/dist/chunk-WTYNK7Q4.js.map +0 -1
- package/dist/chunk-XXBWX7DT.js.map +0 -1
- package/dist/chunk-Y63IFHEZ.cjs.map +0 -1
- package/dist/chunk-ZCVTH3CH.cjs.map +0 -1
- package/dist/models-dev-6PRLJKVZ.js +0 -3
- package/dist/models-dev-WHMI5G6Y.cjs +0 -12
- package/dist/netlify-46I3SNNV.cjs +0 -12
- package/dist/netlify-EBQ6YUC6.js +0 -3
- package/dist/provider-registry-HDG6UMUC.js +0 -3
- package/dist/provider-registry-RP2W4B24.cjs +0 -40
- package/dist/registry-generator-JPCV47SC.cjs.map +0 -1
- package/dist/registry-generator-XD4FPZTU.js.map +0 -1
|
@@ -230,14 +230,137 @@ function convertImageFilePart(part, downloadedAssets) {
|
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
}
|
|
233
|
+
zod.z.union([
|
|
234
|
+
zod.z.string(),
|
|
235
|
+
zod.z.instanceof(Uint8Array),
|
|
236
|
+
zod.z.instanceof(ArrayBuffer),
|
|
237
|
+
zod.z.custom(
|
|
238
|
+
// Buffer might not be available in some environments such as CloudFlare:
|
|
239
|
+
(value) => globalThis.Buffer?.isBuffer(value) ?? false,
|
|
240
|
+
{ message: "Must be a Buffer" }
|
|
241
|
+
)
|
|
242
|
+
]);
|
|
243
|
+
function convertDataContentToBase64String(content) {
|
|
244
|
+
if (typeof content === "string") {
|
|
245
|
+
return content;
|
|
246
|
+
}
|
|
247
|
+
if (content instanceof ArrayBuffer) {
|
|
248
|
+
return chunkSVLMF4UZ_cjs.convertUint8ArrayToBase64(new Uint8Array(content));
|
|
249
|
+
}
|
|
250
|
+
return chunkSVLMF4UZ_cjs.convertUint8ArrayToBase64(content);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
// src/agent/message-list/prompt/image-utils.ts
|
|
254
|
+
function parseDataUri(dataUri) {
|
|
255
|
+
if (!dataUri.startsWith("data:")) {
|
|
256
|
+
return {
|
|
257
|
+
isDataUri: false,
|
|
258
|
+
base64Content: dataUri
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
const base64Index = dataUri.indexOf(",");
|
|
262
|
+
if (base64Index === -1) {
|
|
263
|
+
return {
|
|
264
|
+
isDataUri: true,
|
|
265
|
+
base64Content: dataUri
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
const header = dataUri.substring(5, base64Index);
|
|
269
|
+
const base64Content = dataUri.substring(base64Index + 1);
|
|
270
|
+
const semicolonIndex = header.indexOf(";");
|
|
271
|
+
const mimeType = semicolonIndex !== -1 ? header.substring(0, semicolonIndex) : header;
|
|
272
|
+
return {
|
|
273
|
+
isDataUri: true,
|
|
274
|
+
mimeType: mimeType || void 0,
|
|
275
|
+
base64Content
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
function createDataUri(base64Content, mimeType = "application/octet-stream") {
|
|
279
|
+
if (base64Content.startsWith("data:")) {
|
|
280
|
+
return base64Content;
|
|
281
|
+
}
|
|
282
|
+
return `data:${mimeType};base64,${base64Content}`;
|
|
283
|
+
}
|
|
284
|
+
function imageContentToString(image, fallbackMimeType) {
|
|
285
|
+
if (typeof image === "string") {
|
|
286
|
+
return image;
|
|
287
|
+
}
|
|
288
|
+
if (image instanceof URL) {
|
|
289
|
+
return image.toString();
|
|
290
|
+
}
|
|
291
|
+
if (image instanceof Uint8Array || image instanceof ArrayBuffer || globalThis.Buffer && Buffer.isBuffer(image)) {
|
|
292
|
+
const base64 = convertDataContentToBase64String(image);
|
|
293
|
+
return base64;
|
|
294
|
+
}
|
|
295
|
+
return String(image);
|
|
296
|
+
}
|
|
297
|
+
function getImageCacheKey(image) {
|
|
298
|
+
if (image instanceof URL) {
|
|
299
|
+
return image.toString();
|
|
300
|
+
}
|
|
301
|
+
if (typeof image === "string") {
|
|
302
|
+
return image.length;
|
|
303
|
+
}
|
|
304
|
+
if (image instanceof Uint8Array) {
|
|
305
|
+
return image.byteLength;
|
|
306
|
+
}
|
|
307
|
+
if (image instanceof ArrayBuffer) {
|
|
308
|
+
return image.byteLength;
|
|
309
|
+
}
|
|
310
|
+
return image;
|
|
311
|
+
}
|
|
312
|
+
function isValidUrl(str) {
|
|
313
|
+
try {
|
|
314
|
+
new URL(str);
|
|
315
|
+
return true;
|
|
316
|
+
} catch {
|
|
317
|
+
if (str.startsWith("//")) {
|
|
318
|
+
try {
|
|
319
|
+
new URL(`https:${str}`);
|
|
320
|
+
return true;
|
|
321
|
+
} catch {
|
|
322
|
+
return false;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
return false;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
function categorizeFileData(data, fallbackMimeType) {
|
|
329
|
+
const parsed = parseDataUri(data);
|
|
330
|
+
const mimeType = parsed.isDataUri && parsed.mimeType ? parsed.mimeType : fallbackMimeType;
|
|
331
|
+
if (parsed.isDataUri) {
|
|
332
|
+
return {
|
|
333
|
+
type: "dataUri",
|
|
334
|
+
mimeType,
|
|
335
|
+
data
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
if (isValidUrl(data)) {
|
|
339
|
+
return {
|
|
340
|
+
type: "url",
|
|
341
|
+
mimeType,
|
|
342
|
+
data
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
return {
|
|
346
|
+
type: "raw",
|
|
347
|
+
mimeType,
|
|
348
|
+
data
|
|
349
|
+
};
|
|
350
|
+
}
|
|
233
351
|
|
|
234
352
|
// src/agent/message-list/prompt/attachments-to-parts.ts
|
|
235
353
|
function attachmentsToParts(attachments) {
|
|
236
354
|
const parts = [];
|
|
237
355
|
for (const attachment of attachments) {
|
|
356
|
+
const categorized = categorizeFileData(attachment.url, attachment.contentType);
|
|
357
|
+
let urlString = attachment.url;
|
|
358
|
+
if (categorized.type === "raw") {
|
|
359
|
+
urlString = createDataUri(attachment.url, attachment.contentType || "application/octet-stream");
|
|
360
|
+
}
|
|
238
361
|
let url;
|
|
239
362
|
try {
|
|
240
|
-
url = new URL(
|
|
363
|
+
url = new URL(urlString);
|
|
241
364
|
} catch {
|
|
242
365
|
throw new Error(`Invalid URL: ${attachment.url}`);
|
|
243
366
|
}
|
|
@@ -262,13 +385,13 @@ function attachmentsToParts(attachments) {
|
|
|
262
385
|
if (attachment.contentType?.startsWith("image/")) {
|
|
263
386
|
parts.push({
|
|
264
387
|
type: "image",
|
|
265
|
-
image:
|
|
388
|
+
image: urlString,
|
|
266
389
|
mimeType: attachment.contentType
|
|
267
390
|
});
|
|
268
391
|
} else if (attachment.contentType?.startsWith("text/")) {
|
|
269
392
|
parts.push({
|
|
270
393
|
type: "file",
|
|
271
|
-
data:
|
|
394
|
+
data: urlString,
|
|
272
395
|
mimeType: attachment.contentType
|
|
273
396
|
});
|
|
274
397
|
} else {
|
|
@@ -277,7 +400,7 @@ function attachmentsToParts(attachments) {
|
|
|
277
400
|
}
|
|
278
401
|
parts.push({
|
|
279
402
|
type: "file",
|
|
280
|
-
data:
|
|
403
|
+
data: urlString,
|
|
281
404
|
mimeType: attachment.contentType
|
|
282
405
|
});
|
|
283
406
|
}
|
|
@@ -588,25 +711,6 @@ function convertToV1Messages(messages) {
|
|
|
588
711
|
}
|
|
589
712
|
return v1Messages;
|
|
590
713
|
}
|
|
591
|
-
zod.z.union([
|
|
592
|
-
zod.z.string(),
|
|
593
|
-
zod.z.instanceof(Uint8Array),
|
|
594
|
-
zod.z.instanceof(ArrayBuffer),
|
|
595
|
-
zod.z.custom(
|
|
596
|
-
// Buffer might not be available in some environments such as CloudFlare:
|
|
597
|
-
(value) => globalThis.Buffer?.isBuffer(value) ?? false,
|
|
598
|
-
{ message: "Must be a Buffer" }
|
|
599
|
-
)
|
|
600
|
-
]);
|
|
601
|
-
function convertDataContentToBase64String(content) {
|
|
602
|
-
if (typeof content === "string") {
|
|
603
|
-
return content;
|
|
604
|
-
}
|
|
605
|
-
if (content instanceof ArrayBuffer) {
|
|
606
|
-
return chunkSVLMF4UZ_cjs.convertUint8ArrayToBase64(new Uint8Array(content));
|
|
607
|
-
}
|
|
608
|
-
return chunkSVLMF4UZ_cjs.convertUint8ArrayToBase64(content);
|
|
609
|
-
}
|
|
610
714
|
|
|
611
715
|
// src/utils/fetchWithRetry.ts
|
|
612
716
|
async function fetchWithRetry(url, options = {}, maxRetries = 3) {
|
|
@@ -728,105 +832,6 @@ async function downloadAssetsFromMessages({
|
|
|
728
832
|
return Object.fromEntries(downloadFileList);
|
|
729
833
|
}
|
|
730
834
|
|
|
731
|
-
// src/agent/message-list/prompt/image-utils.ts
|
|
732
|
-
function parseDataUri(dataUri) {
|
|
733
|
-
if (!dataUri.startsWith("data:")) {
|
|
734
|
-
return {
|
|
735
|
-
isDataUri: false,
|
|
736
|
-
base64Content: dataUri
|
|
737
|
-
};
|
|
738
|
-
}
|
|
739
|
-
const base64Index = dataUri.indexOf(",");
|
|
740
|
-
if (base64Index === -1) {
|
|
741
|
-
return {
|
|
742
|
-
isDataUri: true,
|
|
743
|
-
base64Content: dataUri
|
|
744
|
-
};
|
|
745
|
-
}
|
|
746
|
-
const header = dataUri.substring(5, base64Index);
|
|
747
|
-
const base64Content = dataUri.substring(base64Index + 1);
|
|
748
|
-
const semicolonIndex = header.indexOf(";");
|
|
749
|
-
const mimeType = semicolonIndex !== -1 ? header.substring(0, semicolonIndex) : header;
|
|
750
|
-
return {
|
|
751
|
-
isDataUri: true,
|
|
752
|
-
mimeType: mimeType || void 0,
|
|
753
|
-
base64Content
|
|
754
|
-
};
|
|
755
|
-
}
|
|
756
|
-
function createDataUri(base64Content, mimeType = "application/octet-stream") {
|
|
757
|
-
if (base64Content.startsWith("data:")) {
|
|
758
|
-
return base64Content;
|
|
759
|
-
}
|
|
760
|
-
return `data:${mimeType};base64,${base64Content}`;
|
|
761
|
-
}
|
|
762
|
-
function imageContentToString(image, fallbackMimeType) {
|
|
763
|
-
if (typeof image === "string") {
|
|
764
|
-
return image;
|
|
765
|
-
}
|
|
766
|
-
if (image instanceof URL) {
|
|
767
|
-
return image.toString();
|
|
768
|
-
}
|
|
769
|
-
if (image instanceof Uint8Array || image instanceof ArrayBuffer || globalThis.Buffer && Buffer.isBuffer(image)) {
|
|
770
|
-
const base64 = convertDataContentToBase64String(image);
|
|
771
|
-
return base64;
|
|
772
|
-
}
|
|
773
|
-
return String(image);
|
|
774
|
-
}
|
|
775
|
-
function getImageCacheKey(image) {
|
|
776
|
-
if (image instanceof URL) {
|
|
777
|
-
return image.toString();
|
|
778
|
-
}
|
|
779
|
-
if (typeof image === "string") {
|
|
780
|
-
return image.length;
|
|
781
|
-
}
|
|
782
|
-
if (image instanceof Uint8Array) {
|
|
783
|
-
return image.byteLength;
|
|
784
|
-
}
|
|
785
|
-
if (image instanceof ArrayBuffer) {
|
|
786
|
-
return image.byteLength;
|
|
787
|
-
}
|
|
788
|
-
return image;
|
|
789
|
-
}
|
|
790
|
-
function isValidUrl(str) {
|
|
791
|
-
try {
|
|
792
|
-
new URL(str);
|
|
793
|
-
return true;
|
|
794
|
-
} catch {
|
|
795
|
-
if (str.startsWith("//")) {
|
|
796
|
-
try {
|
|
797
|
-
new URL(`https:${str}`);
|
|
798
|
-
return true;
|
|
799
|
-
} catch {
|
|
800
|
-
return false;
|
|
801
|
-
}
|
|
802
|
-
}
|
|
803
|
-
return false;
|
|
804
|
-
}
|
|
805
|
-
}
|
|
806
|
-
function categorizeFileData(data, fallbackMimeType) {
|
|
807
|
-
const parsed = parseDataUri(data);
|
|
808
|
-
const mimeType = parsed.isDataUri && parsed.mimeType ? parsed.mimeType : fallbackMimeType;
|
|
809
|
-
if (parsed.isDataUri) {
|
|
810
|
-
return {
|
|
811
|
-
type: "dataUri",
|
|
812
|
-
mimeType,
|
|
813
|
-
data
|
|
814
|
-
};
|
|
815
|
-
}
|
|
816
|
-
if (isValidUrl(data)) {
|
|
817
|
-
return {
|
|
818
|
-
type: "url",
|
|
819
|
-
mimeType,
|
|
820
|
-
data
|
|
821
|
-
};
|
|
822
|
-
}
|
|
823
|
-
return {
|
|
824
|
-
type: "raw",
|
|
825
|
-
mimeType,
|
|
826
|
-
data
|
|
827
|
-
};
|
|
828
|
-
}
|
|
829
|
-
|
|
830
835
|
// src/agent/message-list/utils/ai-v5/gemini-compatibility.ts
|
|
831
836
|
function ensureGeminiCompatibleMessages(messages) {
|
|
832
837
|
const result = [...messages];
|
|
@@ -912,6 +917,9 @@ var MessageList = class _MessageList {
|
|
|
912
917
|
userContextMessagesPersisted = /* @__PURE__ */ new Set();
|
|
913
918
|
generateMessageId;
|
|
914
919
|
_agentNetworkAppend = false;
|
|
920
|
+
// Event recording for observability
|
|
921
|
+
isRecording = false;
|
|
922
|
+
recordedEvents = [];
|
|
915
923
|
constructor({
|
|
916
924
|
threadId,
|
|
917
925
|
resourceId,
|
|
@@ -925,10 +933,34 @@ var MessageList = class _MessageList {
|
|
|
925
933
|
this.generateMessageId = generateMessageId;
|
|
926
934
|
this._agentNetworkAppend = _agentNetworkAppend || false;
|
|
927
935
|
}
|
|
936
|
+
/**
|
|
937
|
+
* Start recording mutations to the MessageList for observability/tracing
|
|
938
|
+
*/
|
|
939
|
+
startRecording() {
|
|
940
|
+
this.isRecording = true;
|
|
941
|
+
this.recordedEvents = [];
|
|
942
|
+
}
|
|
943
|
+
/**
|
|
944
|
+
* Stop recording and return the list of recorded events
|
|
945
|
+
*/
|
|
946
|
+
stopRecording() {
|
|
947
|
+
this.isRecording = false;
|
|
948
|
+
const events = [...this.recordedEvents];
|
|
949
|
+
this.recordedEvents = [];
|
|
950
|
+
return events;
|
|
951
|
+
}
|
|
928
952
|
add(messages, messageSource) {
|
|
929
953
|
if (messageSource === `user`) messageSource = `input`;
|
|
930
954
|
if (!messages) return this;
|
|
931
|
-
|
|
955
|
+
const messageArray = Array.isArray(messages) ? messages : [messages];
|
|
956
|
+
if (this.isRecording) {
|
|
957
|
+
this.recordedEvents.push({
|
|
958
|
+
type: "add",
|
|
959
|
+
source: messageSource,
|
|
960
|
+
count: messageArray.length
|
|
961
|
+
});
|
|
962
|
+
}
|
|
963
|
+
for (const message of messageArray) {
|
|
932
964
|
this.addOne(
|
|
933
965
|
typeof message === `string` ? {
|
|
934
966
|
role: "user",
|
|
@@ -990,6 +1022,22 @@ var MessageList = class _MessageList {
|
|
|
990
1022
|
this.userContextMessagesPersisted = this.deserializeSet(state.userContextMessagesPersisted);
|
|
991
1023
|
return this;
|
|
992
1024
|
}
|
|
1025
|
+
makeMessageSourceChecker() {
|
|
1026
|
+
const sources = {
|
|
1027
|
+
memory: new Set(Array.from(this.memoryMessages.values()).map((m) => m.id)),
|
|
1028
|
+
output: new Set(Array.from(this.newResponseMessages.values()).map((m) => m.id)),
|
|
1029
|
+
input: new Set(Array.from(this.newUserMessages.values()).map((m) => m.id))
|
|
1030
|
+
};
|
|
1031
|
+
return {
|
|
1032
|
+
...sources,
|
|
1033
|
+
getSource: (msg) => {
|
|
1034
|
+
if (sources.memory.has(msg.id)) return "memory";
|
|
1035
|
+
if (sources.input.has(msg.id)) return "input";
|
|
1036
|
+
if (sources.output.has(msg.id)) return "response";
|
|
1037
|
+
return null;
|
|
1038
|
+
}
|
|
1039
|
+
};
|
|
1040
|
+
}
|
|
993
1041
|
getLatestUserContent() {
|
|
994
1042
|
const currentUserMessages = this.all.core().filter((m) => m.role === "user");
|
|
995
1043
|
const content = currentUserMessages.at(-1)?.content;
|
|
@@ -1014,11 +1062,34 @@ var MessageList = class _MessageList {
|
|
|
1014
1062
|
}
|
|
1015
1063
|
get clear() {
|
|
1016
1064
|
return {
|
|
1065
|
+
all: {
|
|
1066
|
+
db: () => {
|
|
1067
|
+
const allMessages = [...this.messages];
|
|
1068
|
+
this.messages = [];
|
|
1069
|
+
this.newUserMessages.clear();
|
|
1070
|
+
this.newResponseMessages.clear();
|
|
1071
|
+
this.userContextMessages.clear();
|
|
1072
|
+
if (this.isRecording && allMessages.length > 0) {
|
|
1073
|
+
this.recordedEvents.push({
|
|
1074
|
+
type: "clear",
|
|
1075
|
+
count: allMessages.length
|
|
1076
|
+
});
|
|
1077
|
+
}
|
|
1078
|
+
return allMessages;
|
|
1079
|
+
}
|
|
1080
|
+
},
|
|
1017
1081
|
input: {
|
|
1018
1082
|
db: () => {
|
|
1019
1083
|
const userMessages = Array.from(this.newUserMessages);
|
|
1020
1084
|
this.messages = this.messages.filter((m) => !this.newUserMessages.has(m));
|
|
1021
1085
|
this.newUserMessages.clear();
|
|
1086
|
+
if (this.isRecording && userMessages.length > 0) {
|
|
1087
|
+
this.recordedEvents.push({
|
|
1088
|
+
type: "clear",
|
|
1089
|
+
source: "input",
|
|
1090
|
+
count: userMessages.length
|
|
1091
|
+
});
|
|
1092
|
+
}
|
|
1022
1093
|
return userMessages;
|
|
1023
1094
|
}
|
|
1024
1095
|
},
|
|
@@ -1027,11 +1098,46 @@ var MessageList = class _MessageList {
|
|
|
1027
1098
|
const responseMessages = Array.from(this.newResponseMessages);
|
|
1028
1099
|
this.messages = this.messages.filter((m) => !this.newResponseMessages.has(m));
|
|
1029
1100
|
this.newResponseMessages.clear();
|
|
1101
|
+
if (this.isRecording && responseMessages.length > 0) {
|
|
1102
|
+
this.recordedEvents.push({
|
|
1103
|
+
type: "clear",
|
|
1104
|
+
source: "response",
|
|
1105
|
+
count: responseMessages.length
|
|
1106
|
+
});
|
|
1107
|
+
}
|
|
1030
1108
|
return responseMessages;
|
|
1031
1109
|
}
|
|
1032
1110
|
}
|
|
1033
1111
|
};
|
|
1034
1112
|
}
|
|
1113
|
+
/**
|
|
1114
|
+
* Remove messages by ID
|
|
1115
|
+
* @param ids - Array of message IDs to remove
|
|
1116
|
+
* @returns Array of removed messages
|
|
1117
|
+
*/
|
|
1118
|
+
removeByIds(ids) {
|
|
1119
|
+
const idsSet = new Set(ids);
|
|
1120
|
+
const removed = [];
|
|
1121
|
+
this.messages = this.messages.filter((m) => {
|
|
1122
|
+
if (idsSet.has(m.id)) {
|
|
1123
|
+
removed.push(m);
|
|
1124
|
+
this.memoryMessages.delete(m);
|
|
1125
|
+
this.newUserMessages.delete(m);
|
|
1126
|
+
this.newResponseMessages.delete(m);
|
|
1127
|
+
this.userContextMessages.delete(m);
|
|
1128
|
+
return false;
|
|
1129
|
+
}
|
|
1130
|
+
return true;
|
|
1131
|
+
});
|
|
1132
|
+
if (this.isRecording && removed.length > 0) {
|
|
1133
|
+
this.recordedEvents.push({
|
|
1134
|
+
type: "removeByIds",
|
|
1135
|
+
ids,
|
|
1136
|
+
count: removed.length
|
|
1137
|
+
});
|
|
1138
|
+
}
|
|
1139
|
+
return removed;
|
|
1140
|
+
}
|
|
1035
1141
|
all = {
|
|
1036
1142
|
db: () => this.messages,
|
|
1037
1143
|
v1: () => convertToV1Messages(this.all.db()),
|
|
@@ -1335,12 +1441,47 @@ var MessageList = class _MessageList {
|
|
|
1335
1441
|
if (unsavedMessages.length === 0) return void 0;
|
|
1336
1442
|
return Math.min(...unsavedMessages.map((m) => new Date(m.createdAt).getTime()));
|
|
1337
1443
|
}
|
|
1444
|
+
/**
|
|
1445
|
+
* Check if a message is a new user or response message that should be saved.
|
|
1446
|
+
* Checks by message ID to handle cases where the message object may be a copy.
|
|
1447
|
+
*/
|
|
1448
|
+
isNewMessage(messageOrId) {
|
|
1449
|
+
const id = typeof messageOrId === "string" ? messageOrId : messageOrId.id;
|
|
1450
|
+
if (typeof messageOrId !== "string") {
|
|
1451
|
+
if (this.newUserMessages.has(messageOrId) || this.newResponseMessages.has(messageOrId)) {
|
|
1452
|
+
return true;
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1455
|
+
return Array.from(this.newUserMessages).some((m) => m.id === id) || Array.from(this.newResponseMessages).some((m) => m.id === id);
|
|
1456
|
+
}
|
|
1338
1457
|
getSystemMessages(tag) {
|
|
1339
1458
|
if (tag) {
|
|
1340
1459
|
return this.taggedSystemMessages[tag] || [];
|
|
1341
1460
|
}
|
|
1342
1461
|
return this.systemMessages;
|
|
1343
1462
|
}
|
|
1463
|
+
/**
|
|
1464
|
+
* Get all system messages (both tagged and untagged)
|
|
1465
|
+
* @returns Array of all system messages
|
|
1466
|
+
*/
|
|
1467
|
+
getAllSystemMessages() {
|
|
1468
|
+
return [...this.systemMessages, ...Object.values(this.taggedSystemMessages).flat()];
|
|
1469
|
+
}
|
|
1470
|
+
/**
|
|
1471
|
+
* Replace all system messages with new ones
|
|
1472
|
+
* This clears both tagged and untagged system messages and replaces them with the provided array
|
|
1473
|
+
* @param messages - Array of system messages to set
|
|
1474
|
+
*/
|
|
1475
|
+
replaceAllSystemMessages(messages) {
|
|
1476
|
+
this.systemMessages = [];
|
|
1477
|
+
this.taggedSystemMessages = {};
|
|
1478
|
+
for (const message of messages) {
|
|
1479
|
+
if (message.role === "system") {
|
|
1480
|
+
this.systemMessages.push(message);
|
|
1481
|
+
}
|
|
1482
|
+
}
|
|
1483
|
+
return this;
|
|
1484
|
+
}
|
|
1344
1485
|
addSystem(messages, tag) {
|
|
1345
1486
|
if (!messages) return this;
|
|
1346
1487
|
for (const message of Array.isArray(messages) ? messages : [messages]) {
|
|
@@ -1399,8 +1540,21 @@ var MessageList = class _MessageList {
|
|
|
1399
1540
|
if (tag && !this.isDuplicateSystem(coreMessage, tag)) {
|
|
1400
1541
|
this.taggedSystemMessages[tag] ||= [];
|
|
1401
1542
|
this.taggedSystemMessages[tag].push(coreMessage);
|
|
1543
|
+
if (this.isRecording) {
|
|
1544
|
+
this.recordedEvents.push({
|
|
1545
|
+
type: "addSystem",
|
|
1546
|
+
tag,
|
|
1547
|
+
message: coreMessage
|
|
1548
|
+
});
|
|
1549
|
+
}
|
|
1402
1550
|
} else if (!tag && !this.isDuplicateSystem(coreMessage)) {
|
|
1403
1551
|
this.systemMessages.push(coreMessage);
|
|
1552
|
+
if (this.isRecording) {
|
|
1553
|
+
this.recordedEvents.push({
|
|
1554
|
+
type: "addSystem",
|
|
1555
|
+
message: coreMessage
|
|
1556
|
+
});
|
|
1557
|
+
}
|
|
1404
1558
|
}
|
|
1405
1559
|
}
|
|
1406
1560
|
isDuplicateSystem(message, tag) {
|
|
@@ -1426,9 +1580,20 @@ var MessageList = class _MessageList {
|
|
|
1426
1580
|
if (m.content.parts.length) {
|
|
1427
1581
|
for (const part of m.content.parts) {
|
|
1428
1582
|
if (part.type === `file`) {
|
|
1583
|
+
let normalizedUrl;
|
|
1584
|
+
if (typeof part.data === "string") {
|
|
1585
|
+
const categorized = categorizeFileData(part.data, part.mimeType);
|
|
1586
|
+
if (categorized.type === "raw") {
|
|
1587
|
+
normalizedUrl = createDataUri(part.data, part.mimeType || "application/octet-stream");
|
|
1588
|
+
} else {
|
|
1589
|
+
normalizedUrl = part.data;
|
|
1590
|
+
}
|
|
1591
|
+
} else {
|
|
1592
|
+
normalizedUrl = part.data;
|
|
1593
|
+
}
|
|
1429
1594
|
experimentalAttachments.push({
|
|
1430
1595
|
contentType: part.mimeType,
|
|
1431
|
-
url:
|
|
1596
|
+
url: normalizedUrl
|
|
1432
1597
|
});
|
|
1433
1598
|
} else if (part.type === "tool-invocation" && (part.toolInvocation.state === "call" || part.toolInvocation.state === "partial-call")) {
|
|
1434
1599
|
continue;
|
|
@@ -1669,6 +1834,9 @@ var MessageList = class _MessageList {
|
|
|
1669
1834
|
} else if (messageSource === `response`) {
|
|
1670
1835
|
this.newResponseMessages.add(messageV2);
|
|
1671
1836
|
this.newResponseMessagesPersisted.add(messageV2);
|
|
1837
|
+
if (this.newUserMessages.has(messageV2)) {
|
|
1838
|
+
this.newUserMessages.delete(messageV2);
|
|
1839
|
+
}
|
|
1672
1840
|
} else if (messageSource === `input`) {
|
|
1673
1841
|
this.newUserMessages.add(messageV2);
|
|
1674
1842
|
this.newUserMessagesPersisted.add(messageV2);
|
|
@@ -1797,8 +1965,10 @@ var MessageList = class _MessageList {
|
|
|
1797
1965
|
}
|
|
1798
1966
|
if (_MessageList.isAIV5CoreMessage(message)) {
|
|
1799
1967
|
const dbMsg = _MessageList.aiV5ModelMessageToMastraDBMessage(message, messageSource);
|
|
1968
|
+
const rawCreatedAt = "metadata" in message && message.metadata && typeof message.metadata === "object" && "createdAt" in message.metadata ? message.metadata.createdAt : void 0;
|
|
1800
1969
|
const result = {
|
|
1801
1970
|
...dbMsg,
|
|
1971
|
+
createdAt: this.generateCreatedAt(messageSource, rawCreatedAt),
|
|
1802
1972
|
threadId: this.memoryInfo?.threadId,
|
|
1803
1973
|
resourceId: this.memoryInfo?.resourceId
|
|
1804
1974
|
};
|
|
@@ -1806,8 +1976,10 @@ var MessageList = class _MessageList {
|
|
|
1806
1976
|
}
|
|
1807
1977
|
if (_MessageList.isAIV5UIMessage(message)) {
|
|
1808
1978
|
const dbMsg = _MessageList.aiV5UIMessageToMastraDBMessage(message);
|
|
1979
|
+
const rawCreatedAt = "createdAt" in message ? message.createdAt : void 0;
|
|
1809
1980
|
return {
|
|
1810
1981
|
...dbMsg,
|
|
1982
|
+
createdAt: this.generateCreatedAt(messageSource, rawCreatedAt),
|
|
1811
1983
|
threadId: this.memoryInfo?.threadId,
|
|
1812
1984
|
resourceId: this.memoryInfo?.resourceId
|
|
1813
1985
|
};
|
|
@@ -1817,16 +1989,16 @@ var MessageList = class _MessageList {
|
|
|
1817
1989
|
lastCreatedAt;
|
|
1818
1990
|
// this makes sure messages added in order will always have a date atleast 1ms apart.
|
|
1819
1991
|
generateCreatedAt(messageSource, start) {
|
|
1820
|
-
|
|
1821
|
-
if (
|
|
1822
|
-
this.lastCreatedAt =
|
|
1823
|
-
return
|
|
1992
|
+
const startDate = start instanceof Date ? start : typeof start === "string" || typeof start === "number" ? new Date(start) : void 0;
|
|
1993
|
+
if (startDate && !this.lastCreatedAt) {
|
|
1994
|
+
this.lastCreatedAt = startDate.getTime();
|
|
1995
|
+
return startDate;
|
|
1824
1996
|
}
|
|
1825
|
-
if (
|
|
1826
|
-
return
|
|
1997
|
+
if (startDate && messageSource === `memory`) {
|
|
1998
|
+
return startDate;
|
|
1827
1999
|
}
|
|
1828
2000
|
const now = /* @__PURE__ */ new Date();
|
|
1829
|
-
const nowTime =
|
|
2001
|
+
const nowTime = startDate?.getTime() || now.getTime();
|
|
1830
2002
|
const lastTime = this.messages.reduce((p, m) => {
|
|
1831
2003
|
if (m.createdAt.getTime() > p) return m.createdAt.getTime();
|
|
1832
2004
|
return p;
|
|
@@ -2110,10 +2282,14 @@ var MessageList = class _MessageList {
|
|
|
2110
2282
|
if (coreMessage.providerOptions) {
|
|
2111
2283
|
content.providerMetadata = coreMessage.providerOptions;
|
|
2112
2284
|
}
|
|
2285
|
+
if ("metadata" in coreMessage && coreMessage.metadata !== null && coreMessage.metadata !== void 0) {
|
|
2286
|
+
content.metadata = coreMessage.metadata;
|
|
2287
|
+
}
|
|
2288
|
+
const rawCreatedAt = "metadata" in coreMessage && coreMessage.metadata && typeof coreMessage.metadata === "object" && "createdAt" in coreMessage.metadata ? coreMessage.metadata.createdAt : void 0;
|
|
2113
2289
|
return {
|
|
2114
2290
|
id,
|
|
2115
2291
|
role: _MessageList.getRole(coreMessage),
|
|
2116
|
-
createdAt: this.generateCreatedAt(messageSource),
|
|
2292
|
+
createdAt: this.generateCreatedAt(messageSource, rawCreatedAt),
|
|
2117
2293
|
threadId: this.memoryInfo?.threadId,
|
|
2118
2294
|
resourceId: this.memoryInfo?.resourceId,
|
|
2119
2295
|
content
|
|
@@ -2166,6 +2342,11 @@ var MessageList = class _MessageList {
|
|
|
2166
2342
|
}
|
|
2167
2343
|
return prev;
|
|
2168
2344
|
}, 0);
|
|
2345
|
+
const partAny = part;
|
|
2346
|
+
if (partAny && Object.hasOwn(partAny, "providerMetadata") && partAny.providerMetadata && Object.hasOwn(partAny.providerMetadata, "openai") && partAny.providerMetadata.openai && Object.hasOwn(partAny.providerMetadata.openai, "itemId")) {
|
|
2347
|
+
const itemId = partAny.providerMetadata.openai.itemId;
|
|
2348
|
+
key += `|${itemId}`;
|
|
2349
|
+
}
|
|
2169
2350
|
}
|
|
2170
2351
|
if (part.type === `file`) {
|
|
2171
2352
|
key += part.data;
|
|
@@ -2312,9 +2493,23 @@ var MessageList = class _MessageList {
|
|
|
2312
2493
|
if (role === `tool` || role === `assistant`) {
|
|
2313
2494
|
throw new Error(incompatibleMessage);
|
|
2314
2495
|
}
|
|
2496
|
+
let processedImage;
|
|
2497
|
+
if (part.image instanceof URL || part.image instanceof Uint8Array) {
|
|
2498
|
+
processedImage = part.image;
|
|
2499
|
+
} else if (Buffer.isBuffer(part.image) || part.image instanceof ArrayBuffer) {
|
|
2500
|
+
processedImage = new Uint8Array(part.image);
|
|
2501
|
+
} else {
|
|
2502
|
+
const categorized = categorizeFileData(part.image, part.mimeType);
|
|
2503
|
+
if (categorized.type === "raw") {
|
|
2504
|
+
const dataUri = createDataUri(part.image, part.mimeType || "image/png");
|
|
2505
|
+
processedImage = new URL(dataUri);
|
|
2506
|
+
} else {
|
|
2507
|
+
processedImage = new URL(part.image);
|
|
2508
|
+
}
|
|
2509
|
+
}
|
|
2315
2510
|
roleContent[role].push({
|
|
2316
2511
|
...part,
|
|
2317
|
-
image:
|
|
2512
|
+
image: processedImage
|
|
2318
2513
|
});
|
|
2319
2514
|
break;
|
|
2320
2515
|
}
|
|
@@ -2964,7 +3159,7 @@ var MessageList = class _MessageList {
|
|
|
2964
3159
|
}
|
|
2965
3160
|
}
|
|
2966
3161
|
const contentString = mastraDBParts.filter((p) => p.type === "text").map((p) => p.text).join("\n");
|
|
2967
|
-
const metadata = {};
|
|
3162
|
+
const metadata = "metadata" in modelMsg && modelMsg.metadata !== null && modelMsg.metadata !== void 0 ? modelMsg.metadata : {};
|
|
2968
3163
|
const id = `id` in modelMsg && typeof modelMsg.id === `string` ? modelMsg.id : `msg-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
2969
3164
|
const message = {
|
|
2970
3165
|
id,
|
|
@@ -2977,7 +3172,7 @@ var MessageList = class _MessageList {
|
|
|
2977
3172
|
reasoning: reasoningParts.length > 0 ? reasoningParts.join("\n") : void 0,
|
|
2978
3173
|
experimental_attachments: experimental_attachments.length > 0 ? experimental_attachments : void 0,
|
|
2979
3174
|
content: contentString || void 0,
|
|
2980
|
-
metadata
|
|
3175
|
+
metadata: Object.keys(metadata).length > 0 ? metadata : void 0
|
|
2981
3176
|
}
|
|
2982
3177
|
};
|
|
2983
3178
|
if (modelMsg.providerOptions) {
|
|
@@ -3010,7 +3205,8 @@ var MessageList = class _MessageList {
|
|
|
3010
3205
|
if (message.role !== `assistant`) continue;
|
|
3011
3206
|
for (const [index, part] of message.parts.entries()) {
|
|
3012
3207
|
if (!AIV5__namespace.isToolUIPart(part)) continue;
|
|
3013
|
-
|
|
3208
|
+
const nextPart = message.parts.at(index + 1);
|
|
3209
|
+
if (nextPart && nextPart.type !== `step-start` && !AIV5__namespace.isToolUIPart(nextPart)) {
|
|
3014
3210
|
message.parts.splice(index + 1, 0, { type: "step-start" });
|
|
3015
3211
|
}
|
|
3016
3212
|
}
|
|
@@ -3139,5 +3335,5 @@ exports.DefaultGeneratedFile = DefaultGeneratedFile;
|
|
|
3139
3335
|
exports.DefaultGeneratedFileWithType = DefaultGeneratedFileWithType;
|
|
3140
3336
|
exports.MessageList = MessageList;
|
|
3141
3337
|
exports.convertMessages = convertMessages;
|
|
3142
|
-
//# sourceMappingURL=chunk-
|
|
3143
|
-
//# sourceMappingURL=chunk-
|
|
3338
|
+
//# sourceMappingURL=chunk-VRFSEZBA.cjs.map
|
|
3339
|
+
//# sourceMappingURL=chunk-VRFSEZBA.cjs.map
|