@mastra/ai-sdk 1.4.2 → 1.4.3-alpha.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 +9 -0
- package/dist/index.cjs +91 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +91 -0
- package/dist/index.js.map +1 -1
- package/dist/transformers.d.ts.map +1 -1
- package/package.json +9 -9
package/dist/index.js
CHANGED
|
@@ -12905,6 +12905,7 @@ function ensureAgentRunState(bufferedSteps, runId) {
|
|
|
12905
12905
|
sources: [],
|
|
12906
12906
|
files: [],
|
|
12907
12907
|
toolCalls: [],
|
|
12908
|
+
pendingToolCalls: [],
|
|
12908
12909
|
toolResults: [],
|
|
12909
12910
|
request: {},
|
|
12910
12911
|
response: {
|
|
@@ -12920,6 +12921,44 @@ function ensureAgentRunState(bufferedSteps, runId) {
|
|
|
12920
12921
|
}
|
|
12921
12922
|
return bufferedSteps.get(runId);
|
|
12922
12923
|
}
|
|
12924
|
+
function upsertPendingToolCall(pendingToolCalls = [], toolCallId, updates) {
|
|
12925
|
+
const existingIndex = pendingToolCalls.findIndex((call) => call.toolCallId === toolCallId);
|
|
12926
|
+
if (existingIndex === -1) {
|
|
12927
|
+
return [
|
|
12928
|
+
...pendingToolCalls,
|
|
12929
|
+
{
|
|
12930
|
+
toolCallId,
|
|
12931
|
+
toolName: updates.toolName || "",
|
|
12932
|
+
argsText: updates.argsText || "",
|
|
12933
|
+
state: updates.state || "input-streaming",
|
|
12934
|
+
...updates.providerExecuted != null ? { providerExecuted: updates.providerExecuted } : {},
|
|
12935
|
+
...updates.providerMetadata != null ? { providerMetadata: updates.providerMetadata } : {},
|
|
12936
|
+
...updates.dynamic != null ? { dynamic: updates.dynamic } : {}
|
|
12937
|
+
}
|
|
12938
|
+
];
|
|
12939
|
+
}
|
|
12940
|
+
return pendingToolCalls.map((call, index) => {
|
|
12941
|
+
if (index !== existingIndex) return call;
|
|
12942
|
+
return {
|
|
12943
|
+
...call,
|
|
12944
|
+
...updates,
|
|
12945
|
+
toolName: updates.toolName || call.toolName,
|
|
12946
|
+
argsText: updates.argsText ?? call.argsText
|
|
12947
|
+
};
|
|
12948
|
+
});
|
|
12949
|
+
}
|
|
12950
|
+
function appendPendingToolCallArgs(pendingToolCalls = [], payload) {
|
|
12951
|
+
const existing = pendingToolCalls.find((call) => call.toolCallId === payload.toolCallId);
|
|
12952
|
+
return upsertPendingToolCall(pendingToolCalls, payload.toolCallId, {
|
|
12953
|
+
toolName: payload.toolName || existing?.toolName || "",
|
|
12954
|
+
argsText: `${existing?.argsText || ""}${payload.argsTextDelta || ""}`,
|
|
12955
|
+
state: "input-streaming",
|
|
12956
|
+
providerMetadata: payload.providerMetadata ?? existing?.providerMetadata
|
|
12957
|
+
});
|
|
12958
|
+
}
|
|
12959
|
+
function removePendingToolCall(pendingToolCalls = [], toolCallId) {
|
|
12960
|
+
return pendingToolCalls.filter((call) => call.toolCallId !== toolCallId);
|
|
12961
|
+
}
|
|
12923
12962
|
function transformAgent(payload, bufferedSteps) {
|
|
12924
12963
|
let hasChanged = false;
|
|
12925
12964
|
switch (payload.type) {
|
|
@@ -12935,6 +12974,7 @@ function transformAgent(payload, bufferedSteps) {
|
|
|
12935
12974
|
sources: [],
|
|
12936
12975
|
files: [],
|
|
12937
12976
|
toolCalls: [],
|
|
12977
|
+
pendingToolCalls: [],
|
|
12938
12978
|
toolResults: [],
|
|
12939
12979
|
request: {},
|
|
12940
12980
|
response: {
|
|
@@ -12949,6 +12989,50 @@ function transformAgent(payload, bufferedSteps) {
|
|
|
12949
12989
|
});
|
|
12950
12990
|
hasChanged = true;
|
|
12951
12991
|
break;
|
|
12992
|
+
case "tool-call-input-streaming-start": {
|
|
12993
|
+
const toolInputStartRun = ensureAgentRunState(bufferedSteps, payload.runId);
|
|
12994
|
+
const existing = toolInputStartRun.pendingToolCalls?.find(
|
|
12995
|
+
(call) => call.toolCallId === payload.payload.toolCallId
|
|
12996
|
+
);
|
|
12997
|
+
bufferedSteps.set(payload.runId, {
|
|
12998
|
+
...toolInputStartRun,
|
|
12999
|
+
pendingToolCalls: upsertPendingToolCall(toolInputStartRun.pendingToolCalls, payload.payload.toolCallId, {
|
|
13000
|
+
toolName: payload.payload.toolName,
|
|
13001
|
+
argsText: existing?.argsText ?? "",
|
|
13002
|
+
state: "input-streaming",
|
|
13003
|
+
providerExecuted: payload.payload.providerExecuted,
|
|
13004
|
+
providerMetadata: payload.payload.providerMetadata,
|
|
13005
|
+
dynamic: payload.payload.dynamic
|
|
13006
|
+
})
|
|
13007
|
+
});
|
|
13008
|
+
hasChanged = true;
|
|
13009
|
+
break;
|
|
13010
|
+
}
|
|
13011
|
+
case "tool-call-delta": {
|
|
13012
|
+
const toolCallDeltaRun = ensureAgentRunState(bufferedSteps, payload.runId);
|
|
13013
|
+
bufferedSteps.set(payload.runId, {
|
|
13014
|
+
...toolCallDeltaRun,
|
|
13015
|
+
pendingToolCalls: appendPendingToolCallArgs(toolCallDeltaRun.pendingToolCalls, payload.payload)
|
|
13016
|
+
});
|
|
13017
|
+
hasChanged = true;
|
|
13018
|
+
break;
|
|
13019
|
+
}
|
|
13020
|
+
case "tool-call-input-streaming-end": {
|
|
13021
|
+
const toolInputEndRun = ensureAgentRunState(bufferedSteps, payload.runId);
|
|
13022
|
+
const existing = toolInputEndRun.pendingToolCalls?.find(
|
|
13023
|
+
(call) => call.toolCallId === payload.payload.toolCallId
|
|
13024
|
+
);
|
|
13025
|
+
bufferedSteps.set(payload.runId, {
|
|
13026
|
+
...toolInputEndRun,
|
|
13027
|
+
pendingToolCalls: upsertPendingToolCall(toolInputEndRun.pendingToolCalls, payload.payload.toolCallId, {
|
|
13028
|
+
toolName: existing?.toolName || "",
|
|
13029
|
+
state: "input-available",
|
|
13030
|
+
providerMetadata: payload.payload.providerMetadata ?? existing?.providerMetadata
|
|
13031
|
+
})
|
|
13032
|
+
});
|
|
13033
|
+
hasChanged = true;
|
|
13034
|
+
break;
|
|
13035
|
+
}
|
|
12952
13036
|
case "finish":
|
|
12953
13037
|
bufferedSteps.set(payload.runId, {
|
|
12954
13038
|
...bufferedSteps.get(payload.runId),
|
|
@@ -12997,6 +13081,10 @@ function transformAgent(payload, bufferedSteps) {
|
|
|
12997
13081
|
case "tool-call":
|
|
12998
13082
|
bufferedSteps.set(payload.runId, {
|
|
12999
13083
|
...bufferedSteps.get(payload.runId),
|
|
13084
|
+
pendingToolCalls: removePendingToolCall(
|
|
13085
|
+
bufferedSteps.get(payload.runId).pendingToolCalls,
|
|
13086
|
+
payload.payload.toolCallId
|
|
13087
|
+
),
|
|
13000
13088
|
toolCalls: [...bufferedSteps.get(payload.runId).toolCalls, payload.payload]
|
|
13001
13089
|
});
|
|
13002
13090
|
hasChanged = true;
|
|
@@ -13005,6 +13093,7 @@ function transformAgent(payload, bufferedSteps) {
|
|
|
13005
13093
|
const toolResultRun = ensureAgentRunState(bufferedSteps, payload.runId);
|
|
13006
13094
|
bufferedSteps.set(payload.runId, {
|
|
13007
13095
|
...toolResultRun,
|
|
13096
|
+
pendingToolCalls: removePendingToolCall(toolResultRun.pendingToolCalls, payload.payload.toolCallId),
|
|
13008
13097
|
toolResults: [...toolResultRun.toolResults, payload.payload]
|
|
13009
13098
|
});
|
|
13010
13099
|
hasChanged = true;
|
|
@@ -13035,6 +13124,7 @@ function transformAgent(payload, bufferedSteps) {
|
|
|
13035
13124
|
...stepRunWithoutSteps,
|
|
13036
13125
|
text: stepText,
|
|
13037
13126
|
reasoning: stepReasoning,
|
|
13127
|
+
pendingToolCalls: [],
|
|
13038
13128
|
stepType: stepRun.steps.length === 0 ? "initial" : "tool-result",
|
|
13039
13129
|
reasoningText: stepReasoning.join(""),
|
|
13040
13130
|
staticToolCalls: stepRun.toolCalls.filter(
|
|
@@ -13066,6 +13156,7 @@ function transformAgent(payload, bufferedSteps) {
|
|
|
13066
13156
|
sources: [],
|
|
13067
13157
|
files: [],
|
|
13068
13158
|
toolCalls: [],
|
|
13159
|
+
pendingToolCalls: [],
|
|
13069
13160
|
toolResults: [],
|
|
13070
13161
|
usage: payload.payload.output.usage,
|
|
13071
13162
|
warnings: payload.payload.stepResult.warnings || [],
|