ai 6.0.156 → 6.0.158

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # ai
2
2
 
3
+ ## 6.0.158
4
+
5
+ ### Patch Changes
6
+
7
+ - 295beba: fix(ai): fix `lastAssistantMessageIsCompleteWithApprovalResponses` to no longer ignore `providerExecuted` tool approvals
8
+
9
+ ## 6.0.157
10
+
11
+ ### Patch Changes
12
+
13
+ - ff11aee: fix(ai): fix `providerExecuted` tool approvals being passed to language model twice
14
+
3
15
  ## 6.0.156
4
16
 
5
17
  ### Patch Changes
package/dist/index.js CHANGED
@@ -1252,7 +1252,7 @@ var import_provider_utils3 = require("@ai-sdk/provider-utils");
1252
1252
  var import_provider_utils4 = require("@ai-sdk/provider-utils");
1253
1253
 
1254
1254
  // src/version.ts
1255
- var VERSION = true ? "6.0.156" : "0.0.0-test";
1255
+ var VERSION = true ? "6.0.158" : "0.0.0-test";
1256
1256
 
1257
1257
  // src/util/download/download.ts
1258
1258
  var download = async ({
@@ -4300,24 +4300,6 @@ async function generateText({
4300
4300
  content: toolContent
4301
4301
  });
4302
4302
  }
4303
- const providerExecutedToolApprovals = [
4304
- ...approvedToolApprovals,
4305
- ...deniedToolApprovals
4306
- ].filter((toolApproval) => toolApproval.toolCall.providerExecuted);
4307
- if (providerExecutedToolApprovals.length > 0) {
4308
- responseMessages.push({
4309
- role: "tool",
4310
- content: providerExecutedToolApprovals.map(
4311
- (toolApproval) => ({
4312
- type: "tool-approval-response",
4313
- approvalId: toolApproval.approvalResponse.approvalId,
4314
- approved: toolApproval.approvalResponse.approved,
4315
- reason: toolApproval.approvalResponse.reason,
4316
- providerExecuted: true
4317
- })
4318
- )
4319
- });
4320
- }
4321
4303
  const callSettings2 = prepareCallSettings(settings);
4322
4304
  let currentModelResponse;
4323
4305
  let clientToolCalls = [];
@@ -7062,10 +7044,6 @@ var DefaultStreamTextResult = class {
7062
7044
  const initialResponseMessages = [];
7063
7045
  const { approvedToolApprovals, deniedToolApprovals } = collectToolApprovals({ messages: initialMessages });
7064
7046
  if (deniedToolApprovals.length > 0 || approvedToolApprovals.length > 0) {
7065
- const providerExecutedToolApprovals = [
7066
- ...approvedToolApprovals,
7067
- ...deniedToolApprovals
7068
- ].filter((toolApproval) => toolApproval.toolCall.providerExecuted);
7069
7047
  const localApprovedToolApprovals = approvedToolApprovals.filter(
7070
7048
  (toolApproval) => !toolApproval.toolCall.providerExecuted
7071
7049
  );
@@ -7124,20 +7102,6 @@ var DefaultStreamTextResult = class {
7124
7102
  }
7125
7103
  })
7126
7104
  );
7127
- if (providerExecutedToolApprovals.length > 0) {
7128
- initialResponseMessages.push({
7129
- role: "tool",
7130
- content: providerExecutedToolApprovals.map(
7131
- (toolApproval) => ({
7132
- type: "tool-approval-response",
7133
- approvalId: toolApproval.approvalResponse.approvalId,
7134
- approved: toolApproval.approvalResponse.approved,
7135
- reason: toolApproval.approvalResponse.reason,
7136
- providerExecuted: true
7137
- })
7138
- )
7139
- });
7140
- }
7141
7105
  if (toolOutputs.length > 0 || localDeniedToolApprovals.length > 0) {
7142
7106
  const localToolContent = [];
7143
7107
  for (const output2 of toolOutputs) {
@@ -13392,7 +13356,7 @@ function lastAssistantMessageIsCompleteWithApprovalResponses({
13392
13356
  const lastStepStartIndex = message.parts.reduce((lastIndex, part, index) => {
13393
13357
  return part.type === "step-start" ? index : lastIndex;
13394
13358
  }, -1);
13395
- const lastStepToolInvocations = message.parts.slice(lastStepStartIndex + 1).filter(isToolUIPart).filter((part) => !part.providerExecuted);
13359
+ const lastStepToolInvocations = message.parts.slice(lastStepStartIndex + 1).filter(isToolUIPart);
13396
13360
  return (
13397
13361
  // has at least one tool approval response
13398
13362
  lastStepToolInvocations.filter((part) => part.state === "approval-responded").length > 0 && // all tool approvals must have a response