@mastra/core 0.21.1 → 0.22.0-alpha.1
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 +121 -0
- package/dist/agent/__tests__/mock-model.d.ts +6 -0
- package/dist/agent/__tests__/mock-model.d.ts.map +1 -0
- package/dist/agent/agent.d.ts +10 -4
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.types.d.ts +4 -3
- package/dist/agent/agent.types.d.ts.map +1 -1
- package/dist/agent/index.cjs +13 -13
- package/dist/agent/index.js +2 -2
- package/dist/agent/input-processor/index.cjs +6 -6
- package/dist/agent/input-processor/index.js +1 -1
- package/dist/agent/message-list/index.d.ts +14 -1
- package/dist/agent/message-list/index.d.ts.map +1 -1
- package/dist/agent/message-list/utils/ai-v5/gemini-compatibility.d.ts +22 -0
- package/dist/agent/message-list/utils/ai-v5/gemini-compatibility.d.ts.map +1 -0
- package/dist/agent/test-utils.d.ts +1 -0
- package/dist/agent/test-utils.d.ts.map +1 -1
- package/dist/agent/types.d.ts +11 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/utils.d.ts +1 -1
- package/dist/agent/utils.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/index.d.ts +7 -4
- package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +7 -4
- package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
- package/dist/agent/workflows/prepare-stream/schema.d.ts +4 -4
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts +3 -0
- package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
- package/dist/ai-tracing/chunk-tracing.d.ts +76 -0
- package/dist/ai-tracing/chunk-tracing.d.ts.map +1 -0
- package/dist/ai-tracing/exporters/base.d.ts +111 -0
- package/dist/ai-tracing/exporters/base.d.ts.map +1 -0
- package/dist/ai-tracing/exporters/cloud.d.ts +6 -8
- package/dist/ai-tracing/exporters/cloud.d.ts.map +1 -1
- package/dist/ai-tracing/exporters/console.d.ts +6 -6
- package/dist/ai-tracing/exporters/console.d.ts.map +1 -1
- package/dist/ai-tracing/exporters/index.d.ts +1 -0
- package/dist/ai-tracing/exporters/index.d.ts.map +1 -1
- package/dist/ai-tracing/index.cjs +48 -32
- package/dist/ai-tracing/index.d.ts +1 -0
- package/dist/ai-tracing/index.d.ts.map +1 -1
- package/dist/ai-tracing/index.js +1 -1
- package/dist/ai-tracing/spans/base.d.ts +4 -1
- package/dist/ai-tracing/spans/base.d.ts.map +1 -1
- package/dist/ai-tracing/spans/default.d.ts.map +1 -1
- package/dist/ai-tracing/tracers/base.d.ts +15 -1
- package/dist/ai-tracing/tracers/base.d.ts.map +1 -1
- package/dist/ai-tracing/types.d.ts +85 -11
- package/dist/ai-tracing/types.d.ts.map +1 -1
- package/dist/ai-tracing/utils.d.ts +14 -0
- package/dist/ai-tracing/utils.d.ts.map +1 -1
- package/dist/{chunk-FESSBG5D.cjs → chunk-34L2Z6PH.cjs} +12 -12
- package/dist/{chunk-FESSBG5D.cjs.map → chunk-34L2Z6PH.cjs.map} +1 -1
- package/dist/{chunk-3V4O35FO.js → chunk-3CVE7NQC.js} +729 -268
- package/dist/chunk-3CVE7NQC.js.map +1 -0
- package/dist/{chunk-44ODA6L3.cjs → chunk-5GIAZ3CH.cjs} +736 -271
- package/dist/chunk-5GIAZ3CH.cjs.map +1 -0
- package/dist/{chunk-5DZ4RYWL.js → chunk-5NYWRAJN.js} +3 -3
- package/dist/{chunk-5DZ4RYWL.js.map → chunk-5NYWRAJN.js.map} +1 -1
- package/dist/{chunk-APY2BE4K.cjs → chunk-634YFL42.cjs} +75 -49
- package/dist/chunk-634YFL42.cjs.map +1 -0
- package/dist/{chunk-HP7B2TQQ.js → chunk-A3TQYIIR.js} +198 -37
- package/dist/chunk-A3TQYIIR.js.map +1 -0
- package/dist/{chunk-KAV4EP3T.cjs → chunk-A4B6IAKN.cjs} +4 -4
- package/dist/{chunk-KAV4EP3T.cjs.map → chunk-A4B6IAKN.cjs.map} +1 -1
- package/dist/{chunk-T3PBU7JK.js → chunk-AGD5B3FB.js} +74 -48
- package/dist/chunk-AGD5B3FB.js.map +1 -0
- package/dist/{chunk-AJK7QPSD.cjs → chunk-CAZTWPDK.cjs} +11 -11
- package/dist/{chunk-AJK7QPSD.cjs.map → chunk-CAZTWPDK.cjs.map} +1 -1
- package/dist/{chunk-HBJVAMCS.js → chunk-F7OMDF5K.js} +93 -58
- package/dist/chunk-F7OMDF5K.js.map +1 -0
- package/dist/{chunk-DGQW5VRR.cjs → chunk-FMNZ3BPT.cjs} +202 -40
- package/dist/chunk-FMNZ3BPT.cjs.map +1 -0
- package/dist/{chunk-5NR2GY4U.js → chunk-GB5BIA4V.js} +5 -3
- package/dist/chunk-GB5BIA4V.js.map +1 -0
- package/dist/{chunk-A3QHQYMC.js → chunk-HGNRQ3OG.js} +12 -2
- package/dist/chunk-HGNRQ3OG.js.map +1 -0
- package/dist/{chunk-NHKXTGR6.js → chunk-HZIF7HQC.js} +3 -3
- package/dist/{chunk-NHKXTGR6.js.map → chunk-HZIF7HQC.js.map} +1 -1
- package/dist/{chunk-MUAFIPD7.js → chunk-ITFEGBP2.js} +4 -4
- package/dist/{chunk-MUAFIPD7.js.map → chunk-ITFEGBP2.js.map} +1 -1
- package/dist/{chunk-J2OKI2L3.js → chunk-KQBF5ZEN.js} +10 -5
- package/dist/chunk-KQBF5ZEN.js.map +1 -0
- package/dist/chunk-LJFJTTZQ.cjs +4 -0
- package/dist/chunk-LJFJTTZQ.cjs.map +1 -0
- package/dist/{chunk-OXAN5SM7.cjs → chunk-LRSB62Z6.cjs} +12 -2
- package/dist/chunk-LRSB62Z6.cjs.map +1 -0
- package/dist/{chunk-3ORA5EFD.cjs → chunk-LZUSZT7R.cjs} +5 -3
- package/dist/chunk-LZUSZT7R.cjs.map +1 -0
- package/dist/{chunk-U6CUPKV2.js → chunk-MHICZASQ.js} +5 -5
- package/dist/{chunk-U6CUPKV2.js.map → chunk-MHICZASQ.js.map} +1 -1
- package/dist/{chunk-H4KO46HZ.js → chunk-MKCC5K77.js} +3 -3
- package/dist/{chunk-H4KO46HZ.js.map → chunk-MKCC5K77.js.map} +1 -1
- package/dist/{chunk-W3DS6F6G.cjs → chunk-O4KVF3MI.cjs} +4 -4
- package/dist/{chunk-W3DS6F6G.cjs.map → chunk-O4KVF3MI.cjs.map} +1 -1
- package/dist/{chunk-462DRETM.cjs → chunk-QBPTDMR7.cjs} +121 -85
- package/dist/chunk-QBPTDMR7.cjs.map +1 -0
- package/dist/{chunk-XVREJCOW.cjs → chunk-RWWOJXMF.cjs} +6 -6
- package/dist/{chunk-XVREJCOW.cjs.map → chunk-RWWOJXMF.cjs.map} +1 -1
- package/dist/{chunk-NUURZ3AY.js → chunk-RXBG6UV2.js} +7 -4
- package/dist/chunk-RXBG6UV2.js.map +1 -0
- package/dist/{chunk-F6BMIPYW.js → chunk-SF75RENF.js} +3 -3
- package/dist/{chunk-F6BMIPYW.js.map → chunk-SF75RENF.js.map} +1 -1
- package/dist/{chunk-SE4PA467.cjs → chunk-VF676YCO.cjs} +2 -2
- package/dist/chunk-VF676YCO.cjs.map +1 -0
- package/dist/{chunk-FLXB6WXO.js → chunk-VQLW7LPO.js} +5 -3
- package/dist/chunk-VQLW7LPO.js.map +1 -0
- package/dist/{chunk-6OLRLZJ3.js → chunk-WM4RO23J.js} +2 -2
- package/dist/chunk-WM4RO23J.js.map +1 -0
- package/dist/{chunk-OY6UJ3QL.cjs → chunk-YGL6E6PD.cjs} +5 -3
- package/dist/chunk-YGL6E6PD.cjs.map +1 -0
- package/dist/{chunk-XHPBKALR.cjs → chunk-YOVX3R5U.cjs} +17 -14
- package/dist/chunk-YOVX3R5U.cjs.map +1 -0
- package/dist/{chunk-L5A4MRCK.cjs → chunk-ZABG3SZ2.cjs} +4 -4
- package/dist/{chunk-L5A4MRCK.cjs.map → chunk-ZABG3SZ2.cjs.map} +1 -1
- package/dist/{chunk-BV6CD4IZ.cjs → chunk-ZDW322JC.cjs} +12 -7
- package/dist/chunk-ZDW322JC.cjs.map +1 -0
- package/dist/chunk-ZV5CC35D.js +3 -0
- package/dist/chunk-ZV5CC35D.js.map +1 -0
- package/dist/index.cjs +56 -52
- package/dist/index.js +11 -11
- package/dist/integration/index.cjs +3 -3
- package/dist/integration/index.js +1 -1
- package/dist/llm/index.cjs +10 -6
- package/dist/llm/index.d.ts +1 -0
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +1 -1
- package/dist/llm/model/embedding-router.d.ts +50 -0
- package/dist/llm/model/embedding-router.d.ts.map +1 -0
- package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
- package/dist/llm/model/gateways/netlify.d.ts.map +1 -1
- package/dist/llm/model/index.d.ts +1 -0
- package/dist/llm/model/index.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-options.d.ts +42 -0
- package/dist/llm/model/provider-options.d.ts.map +1 -0
- package/dist/llm/model/provider-types.generated.d.ts +30 -3
- package/dist/llm/model/router.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 +4 -1
- 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/mock-server-response.d.ts +7 -2
- package/dist/loop/test-utils/mock-server-response.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/test-utils/telemetry.d.ts.map +1 -1
- package/dist/loop/test-utils/textStream.d.ts.map +1 -1
- package/dist/loop/test-utils/toUIMessageStream.d.ts.map +1 -1
- package/dist/loop/test-utils/tools.d.ts.map +1 -1
- package/dist/loop/test-utils/utils.d.ts +2 -0
- package/dist/loop/test-utils/utils.d.ts.map +1 -1
- package/dist/loop/types.d.ts +2 -1
- package/dist/loop/types.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/index.d.ts +42 -42
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +28 -28
- 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 +14 -14
- 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 +42 -42
- package/dist/loop/workflows/schema.d.ts +14 -14
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.js +1 -1
- package/dist/memory/index.cjs +4 -4
- package/dist/memory/index.js +1 -1
- package/dist/memory/memory.d.ts +3 -2
- package/dist/memory/memory.d.ts.map +1 -1
- package/dist/memory/types.d.ts +10 -1
- package/dist/memory/types.d.ts.map +1 -1
- package/dist/models-dev-4VGIWYS3.js +3 -0
- package/dist/{models-dev-3VEABUH4.js.map → models-dev-4VGIWYS3.js.map} +1 -1
- package/dist/models-dev-AXZASLL2.cjs +12 -0
- package/dist/{models-dev-L42ORGVT.cjs.map → models-dev-AXZASLL2.cjs.map} +1 -1
- package/dist/netlify-26MMY5X4.js +3 -0
- package/dist/{netlify-NYFKA6UB.js.map → netlify-26MMY5X4.js.map} +1 -1
- package/dist/netlify-F3MVGV4Y.cjs +12 -0
- package/dist/{netlify-3B6HDHRP.cjs.map → netlify-F3MVGV4Y.cjs.map} +1 -1
- package/dist/processors/index.cjs +11 -11
- package/dist/processors/index.js +1 -1
- package/dist/provider-registry.json +62 -8
- package/dist/relevance/index.cjs +4 -4
- package/dist/relevance/index.js +1 -1
- package/dist/scores/index.cjs +9 -9
- package/dist/scores/index.js +2 -2
- package/dist/scores/scoreTraces/index.cjs +8 -8
- package/dist/scores/scoreTraces/index.js +3 -3
- package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -1
- package/dist/storage/index.cjs +5 -3
- package/dist/storage/index.cjs.map +1 -1
- package/dist/storage/index.js +3 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/stream/RunOutput.d.ts +72 -0
- package/dist/stream/RunOutput.d.ts.map +1 -0
- package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
- package/dist/stream/aisdk/v5/output.d.ts +11 -12
- package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
- package/dist/stream/base/base.d.ts +7 -0
- package/dist/stream/base/base.d.ts.map +1 -0
- package/dist/stream/base/consume-stream.d.ts +5 -0
- package/dist/stream/base/consume-stream.d.ts.map +1 -0
- package/dist/stream/base/output-format-handlers.d.ts +1 -2
- package/dist/stream/base/output-format-handlers.d.ts.map +1 -1
- package/dist/stream/base/output.d.ts.map +1 -1
- package/dist/stream/index.cjs +14 -10
- package/dist/stream/index.d.ts +2 -1
- package/dist/stream/index.d.ts.map +1 -1
- package/dist/stream/index.js +2 -2
- package/dist/stream/types.d.ts +18 -2
- package/dist/stream/types.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.cjs +2 -2
- package/dist/test-utils/llm-mock.js +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 +7 -0
- package/dist/tools/stream.d.ts.map +1 -1
- package/dist/tools/tool-builder/builder.d.ts +75 -2
- package/dist/tools/tool-builder/builder.d.ts.map +1 -1
- package/dist/tools/tool.d.ts +2 -2
- package/dist/tools/tool.d.ts.map +1 -1
- package/dist/tools/types.d.ts +17 -12
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/utils.cjs +17 -17
- package/dist/utils.d.ts +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/workflows/default.d.ts +1 -0
- 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/workflow-event-processor/index.d.ts.map +1 -1
- package/dist/workflows/evented/workflow.d.ts +5 -3
- package/dist/workflows/evented/workflow.d.ts.map +1 -1
- package/dist/workflows/index.cjs +12 -12
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/legacy/index.cjs +22 -22
- package/dist/workflows/legacy/index.js +1 -1
- package/dist/workflows/legacy/machine.d.ts +1 -1
- package/dist/workflows/step.d.ts +4 -1
- package/dist/workflows/step.d.ts.map +1 -1
- package/dist/workflows/types.d.ts +1 -0
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/workflow.d.ts +33 -24
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/package.json +15 -12
- package/src/llm/model/provider-types.generated.d.ts +30 -3
- package/dist/chunk-3ORA5EFD.cjs.map +0 -1
- package/dist/chunk-3V4O35FO.js.map +0 -1
- package/dist/chunk-44ODA6L3.cjs.map +0 -1
- package/dist/chunk-462DRETM.cjs.map +0 -1
- package/dist/chunk-5NR2GY4U.js.map +0 -1
- package/dist/chunk-6OLRLZJ3.js.map +0 -1
- package/dist/chunk-A3QHQYMC.js.map +0 -1
- package/dist/chunk-APY2BE4K.cjs.map +0 -1
- package/dist/chunk-BV6CD4IZ.cjs.map +0 -1
- package/dist/chunk-DGQW5VRR.cjs.map +0 -1
- package/dist/chunk-FLXB6WXO.js.map +0 -1
- package/dist/chunk-HBJVAMCS.js.map +0 -1
- package/dist/chunk-HP7B2TQQ.js.map +0 -1
- package/dist/chunk-J2OKI2L3.js.map +0 -1
- package/dist/chunk-NUURZ3AY.js.map +0 -1
- package/dist/chunk-OXAN5SM7.cjs.map +0 -1
- package/dist/chunk-OY6UJ3QL.cjs.map +0 -1
- package/dist/chunk-SE4PA467.cjs.map +0 -1
- package/dist/chunk-T3PBU7JK.js.map +0 -1
- package/dist/chunk-XHPBKALR.cjs.map +0 -1
- package/dist/models-dev-3VEABUH4.js +0 -3
- package/dist/models-dev-L42ORGVT.cjs +0 -12
- package/dist/netlify-3B6HDHRP.cjs +0 -12
- package/dist/netlify-NYFKA6UB.js +0 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { fetchWithRetry } from './chunk-
|
|
1
|
+
import { fetchWithRetry } from './chunk-3CVE7NQC.js';
|
|
2
2
|
import { MastraError } from './chunk-T3JFFQH2.js';
|
|
3
3
|
import { convertUint8ArrayToBase64, convertBase64ToUint8Array, isUrlSupported } from '@ai-sdk/provider-utils-v5';
|
|
4
4
|
import { randomUUID } from 'crypto';
|
|
@@ -773,6 +773,26 @@ function categorizeFileData(data, fallbackMimeType) {
|
|
|
773
773
|
};
|
|
774
774
|
}
|
|
775
775
|
|
|
776
|
+
// src/agent/message-list/utils/ai-v5/gemini-compatibility.ts
|
|
777
|
+
function ensureGeminiCompatibleMessages(messages) {
|
|
778
|
+
const result = [...messages];
|
|
779
|
+
const firstNonSystemIndex = result.findIndex((m) => m.role !== "system");
|
|
780
|
+
if (firstNonSystemIndex === -1) {
|
|
781
|
+
throw new MastraError({
|
|
782
|
+
id: "NO_USER_OR_ASSISTANT_MESSAGES",
|
|
783
|
+
domain: "AGENT" /* AGENT */,
|
|
784
|
+
category: "USER" /* USER */,
|
|
785
|
+
text: "This request does not contain any user or assistant messages. At least one user or assistant message is required to generate a response."
|
|
786
|
+
});
|
|
787
|
+
} else if (result[firstNonSystemIndex]?.role === "assistant") {
|
|
788
|
+
result.splice(firstNonSystemIndex, 0, {
|
|
789
|
+
role: "user",
|
|
790
|
+
content: "."
|
|
791
|
+
});
|
|
792
|
+
}
|
|
793
|
+
return result;
|
|
794
|
+
}
|
|
795
|
+
|
|
776
796
|
// src/agent/message-list/utils/ai-v5/tool.ts
|
|
777
797
|
function getToolName(type) {
|
|
778
798
|
if (typeof type === "object" && type && "type" in type) {
|
|
@@ -887,22 +907,13 @@ var MessageList = class _MessageList {
|
|
|
887
907
|
ui: () => this.all.v3().map(_MessageList.mastraMessageV3ToAIV5UIMessage),
|
|
888
908
|
// Used when calling AI SDK streamText/generateText
|
|
889
909
|
prompt: () => {
|
|
890
|
-
const
|
|
891
|
-
...this.
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
const needsDefaultUserMessage = !messages.length || messages[0]?.role === "assistant";
|
|
898
|
-
if (needsDefaultUserMessage) {
|
|
899
|
-
const defaultMessage = {
|
|
900
|
-
role: "user",
|
|
901
|
-
content: "."
|
|
902
|
-
};
|
|
903
|
-
messages.unshift(defaultMessage);
|
|
904
|
-
}
|
|
905
|
-
return messages;
|
|
910
|
+
const systemMessages = this.aiV4CoreMessagesToAIV5ModelMessages(
|
|
911
|
+
[...this.systemMessages, ...Object.values(this.taggedSystemMessages).flat()],
|
|
912
|
+
`system`
|
|
913
|
+
);
|
|
914
|
+
const modelMessages = this.all.aiV5.model();
|
|
915
|
+
const messages = [...systemMessages, ...modelMessages];
|
|
916
|
+
return ensureGeminiCompatibleMessages(messages);
|
|
906
917
|
},
|
|
907
918
|
// Used for creating LLM prompt messages without AI SDK streamText/generateText
|
|
908
919
|
llmPrompt: async (options = {
|
|
@@ -946,14 +957,7 @@ var MessageList = class _MessageList {
|
|
|
946
957
|
return message;
|
|
947
958
|
});
|
|
948
959
|
}
|
|
949
|
-
|
|
950
|
-
if (needsDefaultUserMessage) {
|
|
951
|
-
const defaultMessage = {
|
|
952
|
-
role: "user",
|
|
953
|
-
content: "."
|
|
954
|
-
};
|
|
955
|
-
messages.unshift(defaultMessage);
|
|
956
|
-
}
|
|
960
|
+
messages = ensureGeminiCompatibleMessages(messages);
|
|
957
961
|
return messages.map(_MessageList.aiV5ModelMessageToV2PromptMessage);
|
|
958
962
|
}
|
|
959
963
|
},
|
|
@@ -970,29 +974,14 @@ var MessageList = class _MessageList {
|
|
|
970
974
|
prompt: () => {
|
|
971
975
|
const coreMessages = this.all.aiV4.core();
|
|
972
976
|
const messages = [...this.systemMessages, ...Object.values(this.taggedSystemMessages).flat(), ...coreMessages];
|
|
973
|
-
|
|
974
|
-
if (needsDefaultUserMessage) {
|
|
975
|
-
const defaultMessage = {
|
|
976
|
-
role: "user",
|
|
977
|
-
content: "."
|
|
978
|
-
};
|
|
979
|
-
messages.unshift(defaultMessage);
|
|
980
|
-
}
|
|
981
|
-
return messages;
|
|
977
|
+
return ensureGeminiCompatibleMessages(messages);
|
|
982
978
|
},
|
|
983
979
|
// Used for creating LLM prompt messages without AI SDK streamText/generateText
|
|
984
980
|
llmPrompt: () => {
|
|
985
981
|
const coreMessages = this.all.aiV4.core();
|
|
986
982
|
const systemMessages = [...this.systemMessages, ...Object.values(this.taggedSystemMessages).flat()];
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
if (needsDefaultUserMessage) {
|
|
990
|
-
const defaultMessage = {
|
|
991
|
-
role: "user",
|
|
992
|
-
content: "."
|
|
993
|
-
};
|
|
994
|
-
messages.unshift(defaultMessage);
|
|
995
|
-
}
|
|
983
|
+
let messages = [...systemMessages, ...coreMessages];
|
|
984
|
+
messages = ensureGeminiCompatibleMessages(messages);
|
|
996
985
|
return messages.map(_MessageList.aiV4CoreMessageToV1PromptMessage);
|
|
997
986
|
}
|
|
998
987
|
}
|
|
@@ -1257,9 +1246,25 @@ var MessageList = class _MessageList {
|
|
|
1257
1246
|
}).filter((m) => Boolean(m));
|
|
1258
1247
|
return msgs;
|
|
1259
1248
|
}
|
|
1249
|
+
/**
|
|
1250
|
+
* Converts various message formats to AIV4 CoreMessage format for system messages
|
|
1251
|
+
* @param message - The message to convert (can be string, MastraMessageV2, or AI SDK message types)
|
|
1252
|
+
* @returns AIV4 CoreMessage in the proper format
|
|
1253
|
+
*/
|
|
1254
|
+
systemMessageToAICore(message) {
|
|
1255
|
+
if (typeof message === `string`) {
|
|
1256
|
+
return { role: "system", content: message };
|
|
1257
|
+
}
|
|
1258
|
+
if (_MessageList.isAIV5CoreMessage(message)) {
|
|
1259
|
+
return this.aiV5ModelMessagesToAIV4CoreMessages([message], `system`)[0];
|
|
1260
|
+
}
|
|
1261
|
+
if (_MessageList.isMastraMessageV2(message)) {
|
|
1262
|
+
return _MessageList.mastraMessageV2SystemToV4Core(message);
|
|
1263
|
+
}
|
|
1264
|
+
return message;
|
|
1265
|
+
}
|
|
1260
1266
|
addOneSystem(message, tag) {
|
|
1261
|
-
|
|
1262
|
-
const coreMessage = _MessageList.isAIV4CoreMessage(message) ? message : this.aiV5ModelMessagesToAIV4CoreMessages([message], `system`)[0];
|
|
1267
|
+
const coreMessage = this.systemMessageToAICore(message);
|
|
1263
1268
|
if (coreMessage.role !== `system`) {
|
|
1264
1269
|
throw new Error(
|
|
1265
1270
|
`Expected role "system" but saw ${coreMessage.role} for message ${JSON.stringify(coreMessage, null, 2)}`
|
|
@@ -1377,6 +1382,25 @@ var MessageList = class _MessageList {
|
|
|
1377
1382
|
}
|
|
1378
1383
|
return uiMessage;
|
|
1379
1384
|
}
|
|
1385
|
+
/**
|
|
1386
|
+
* Converts a MastraMessageV2 system message directly to AIV4 CoreMessage format
|
|
1387
|
+
* This is more efficient than converting to UI message first and then to core
|
|
1388
|
+
* @param message - The MastraMessageV2 message to convert
|
|
1389
|
+
* @returns AIV4 CoreMessage with system role
|
|
1390
|
+
*/
|
|
1391
|
+
static mastraMessageV2SystemToV4Core(message) {
|
|
1392
|
+
if (message.role !== `system` || !message.content.content)
|
|
1393
|
+
throw new MastraError({
|
|
1394
|
+
id: "INVALID_SYSTEM_MESSAGE_FORMAT",
|
|
1395
|
+
domain: "AGENT" /* AGENT */,
|
|
1396
|
+
category: "USER" /* USER */,
|
|
1397
|
+
text: `Invalid system message format. System messages must include 'role' and 'content' properties. The content should be a string.`,
|
|
1398
|
+
details: {
|
|
1399
|
+
receivedMessage: JSON.stringify(message, null, 2)
|
|
1400
|
+
}
|
|
1401
|
+
});
|
|
1402
|
+
return { role: "system", content: message.content.content };
|
|
1403
|
+
}
|
|
1380
1404
|
getMessageById(id) {
|
|
1381
1405
|
return this.messages.find((m) => m.id === id);
|
|
1382
1406
|
}
|
|
@@ -1411,8 +1435,10 @@ var MessageList = class _MessageList {
|
|
|
1411
1435
|
}
|
|
1412
1436
|
if (message.role === `system`) {
|
|
1413
1437
|
if (messageSource === `memory`) return null;
|
|
1414
|
-
|
|
1438
|
+
const isSupportedSystemFormat = _MessageList.isAIV4CoreMessage(message) || _MessageList.isAIV5CoreMessage(message) || _MessageList.isMastraMessageV2(message);
|
|
1439
|
+
if (isSupportedSystemFormat) {
|
|
1415
1440
|
return this.addSystem(message);
|
|
1441
|
+
}
|
|
1416
1442
|
throw new MastraError({
|
|
1417
1443
|
id: "INVALID_SYSTEM_MESSAGE_FORMAT",
|
|
1418
1444
|
domain: "AGENT" /* AGENT */,
|
|
@@ -2969,5 +2995,5 @@ function convertMessages(messages) {
|
|
|
2969
2995
|
}
|
|
2970
2996
|
|
|
2971
2997
|
export { DefaultGeneratedFile, DefaultGeneratedFileWithType, MessageList, convertMessages };
|
|
2972
|
-
//# sourceMappingURL=chunk-
|
|
2973
|
-
//# sourceMappingURL=chunk-
|
|
2998
|
+
//# sourceMappingURL=chunk-AGD5B3FB.js.map
|
|
2999
|
+
//# sourceMappingURL=chunk-AGD5B3FB.js.map
|