@mastra/react 0.2.36-alpha.3 → 0.2.36-alpha.4
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 +10 -0
- package/dist/index.cjs +31 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +31 -16
- package/dist/index.js.map +1 -1
- package/dist/lib/ai-sdk/types.d.ts +4 -2
- package/dist/lib/ai-sdk/types.d.ts.map +1 -1
- package/dist/lib/ai-sdk/utils/toUIMessage.d.ts.map +1 -1
- package/package.json +5 -5
package/dist/index.js
CHANGED
|
@@ -689,17 +689,29 @@ var toUIMessage = ({ chunk, conversation, metadata }) => {
|
|
|
689
689
|
}
|
|
690
690
|
];
|
|
691
691
|
}
|
|
692
|
-
case "tool-call-suspended":
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
const
|
|
696
|
-
return
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
692
|
+
case "tool-call-suspended":
|
|
693
|
+
case "background-task-suspended": {
|
|
694
|
+
const isBgTaskEvent = chunk.type === "background-task-suspended";
|
|
695
|
+
const location = isBgTaskEvent ? locateToolPart(result, chunk.payload.toolCallId, isBgTaskEvent) : { messageIndex: result.length - 1 };
|
|
696
|
+
if (!location) return result;
|
|
697
|
+
const { messageIndex } = location;
|
|
698
|
+
const targetMessage = result[messageIndex];
|
|
699
|
+
if (!targetMessage || targetMessage.role !== "assistant") return result;
|
|
700
|
+
const lastSuspendedTools = targetMessage.metadata?.mode === "stream" ? targetMessage.metadata?.suspendedTools : {};
|
|
701
|
+
const nextMessage = {
|
|
702
|
+
...targetMessage,
|
|
703
|
+
metadata: mergeBgTaskMetadata(
|
|
704
|
+
targetMessage.metadata,
|
|
705
|
+
"stream",
|
|
706
|
+
{
|
|
707
|
+
resetRunningCount: isBgTaskEvent,
|
|
708
|
+
perTaskEntry: isBgTaskEvent ? {
|
|
709
|
+
toolCallId: chunk.payload.toolCallId,
|
|
710
|
+
suspendedAt: chunk.payload.suspendedAt,
|
|
711
|
+
taskId: chunk.payload.taskId
|
|
712
|
+
} : void 0
|
|
713
|
+
},
|
|
714
|
+
{
|
|
703
715
|
suspendedTools: {
|
|
704
716
|
...lastSuspendedTools,
|
|
705
717
|
[chunk.payload.toolName]: {
|
|
@@ -711,8 +723,9 @@ var toUIMessage = ({ chunk, conversation, metadata }) => {
|
|
|
711
723
|
}
|
|
712
724
|
}
|
|
713
725
|
}
|
|
714
|
-
|
|
715
|
-
|
|
726
|
+
)
|
|
727
|
+
};
|
|
728
|
+
return [...result.slice(0, messageIndex), nextMessage, ...result.slice(messageIndex + 1)];
|
|
716
729
|
}
|
|
717
730
|
case "finish": {
|
|
718
731
|
const lastMessage = result[result.length - 1];
|
|
@@ -904,22 +917,24 @@ var locateToolPart = (messages, toolCallId, allowMetadataOnlyMatch) => {
|
|
|
904
917
|
}
|
|
905
918
|
return { messageIndex, toolPartIndex };
|
|
906
919
|
};
|
|
907
|
-
var mergeBgTaskMetadata = (existing, mode, args) => {
|
|
920
|
+
var mergeBgTaskMetadata = (existing, mode, args, otherMetadata) => {
|
|
908
921
|
const existingAny = existing ?? {};
|
|
909
922
|
const existingBgTasks = existingAny.backgroundTasks ?? {};
|
|
910
923
|
const nextBgTasks = { ...existingBgTasks };
|
|
911
924
|
if (args.perTaskEntry) {
|
|
912
|
-
const { toolCallId, startedAt, completedAt, taskId } = args.perTaskEntry;
|
|
925
|
+
const { toolCallId, startedAt, completedAt, taskId, suspendedAt } = args.perTaskEntry;
|
|
913
926
|
const prev = existingBgTasks[toolCallId] ?? { taskId };
|
|
914
927
|
nextBgTasks[toolCallId] = {
|
|
915
928
|
...prev,
|
|
916
929
|
taskId,
|
|
917
930
|
...startedAt !== void 0 ? { startedAt } : {},
|
|
918
|
-
...completedAt !== void 0 ? { completedAt } : {}
|
|
931
|
+
...completedAt !== void 0 ? { completedAt } : {},
|
|
932
|
+
...suspendedAt !== void 0 ? { suspendedAt } : {}
|
|
919
933
|
};
|
|
920
934
|
}
|
|
921
935
|
return {
|
|
922
936
|
...existingAny,
|
|
937
|
+
...otherMetadata ?? {},
|
|
923
938
|
mode,
|
|
924
939
|
...args.resetRunningCount ? { runningBackgroundTasksCount: void 0 } : {},
|
|
925
940
|
backgroundTasks: nextBgTasks
|