@ai-sdk/anthropic 3.0.0-beta.94 → 3.0.0-beta.96

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.
@@ -1711,6 +1711,9 @@ async function convertToAnthropicMessagesPrompt({
1711
1711
  case "tool": {
1712
1712
  for (let i2 = 0; i2 < content.length; i2++) {
1713
1713
  const part = content[i2];
1714
+ if (part.type === "tool-approval-response") {
1715
+ continue;
1716
+ }
1714
1717
  const isLastPart = i2 === content.length - 1;
1715
1718
  const cacheControl = (_d = validator.getCacheControl(part.providerOptions, {
1716
1719
  type: "tool result part",
@@ -2284,11 +2287,10 @@ function mapAnthropicStopReason({
2284
2287
  case "tool_use":
2285
2288
  return isJsonResponseFromTool ? "stop" : "tool-calls";
2286
2289
  case "max_tokens":
2287
- return "length";
2288
2290
  case "model_context_window_exceeded":
2289
2291
  return "length";
2290
2292
  default:
2291
- return "unknown";
2293
+ return "other";
2292
2294
  }
2293
2295
  }
2294
2296
 
@@ -2704,7 +2706,7 @@ var AnthropicMessagesLanguageModel = class {
2704
2706
  });
2705
2707
  }
2706
2708
  async doGenerate(options) {
2707
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
2709
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
2708
2710
  const { args, warnings, betas, usesJsonResponseTool, toolNameMapping } = await this.getArgs({
2709
2711
  ...options,
2710
2712
  stream: false,
@@ -3013,15 +3015,18 @@ var AnthropicMessagesLanguageModel = class {
3013
3015
  }
3014
3016
  return {
3015
3017
  content,
3016
- finishReason: mapAnthropicStopReason({
3017
- finishReason: response.stop_reason,
3018
- isJsonResponseFromTool
3019
- }),
3018
+ finishReason: {
3019
+ unified: mapAnthropicStopReason({
3020
+ finishReason: response.stop_reason,
3021
+ isJsonResponseFromTool
3022
+ }),
3023
+ raw: (_c = response.stop_reason) != null ? _c : void 0
3024
+ },
3020
3025
  usage: convertAnthropicMessagesUsage(response.usage),
3021
3026
  request: { body: args },
3022
3027
  response: {
3023
- id: (_c = response.id) != null ? _c : void 0,
3024
- modelId: (_d = response.model) != null ? _d : void 0,
3028
+ id: (_d = response.id) != null ? _d : void 0,
3029
+ modelId: (_e = response.model) != null ? _e : void 0,
3025
3030
  headers: responseHeaders,
3026
3031
  body: rawResponse
3027
3032
  },
@@ -3029,20 +3034,20 @@ var AnthropicMessagesLanguageModel = class {
3029
3034
  providerMetadata: {
3030
3035
  anthropic: {
3031
3036
  usage: response.usage,
3032
- cacheCreationInputTokens: (_e = response.usage.cache_creation_input_tokens) != null ? _e : null,
3033
- stopSequence: (_f = response.stop_sequence) != null ? _f : null,
3037
+ cacheCreationInputTokens: (_f = response.usage.cache_creation_input_tokens) != null ? _f : null,
3038
+ stopSequence: (_g = response.stop_sequence) != null ? _g : null,
3034
3039
  container: response.container ? {
3035
3040
  expiresAt: response.container.expires_at,
3036
3041
  id: response.container.id,
3037
- skills: (_h = (_g = response.container.skills) == null ? void 0 : _g.map((skill) => ({
3042
+ skills: (_i = (_h = response.container.skills) == null ? void 0 : _h.map((skill) => ({
3038
3043
  type: skill.type,
3039
3044
  skillId: skill.skill_id,
3040
3045
  version: skill.version
3041
- }))) != null ? _h : null
3046
+ }))) != null ? _i : null
3042
3047
  } : null,
3043
- contextManagement: (_i = mapAnthropicResponseContextManagement(
3048
+ contextManagement: (_j = mapAnthropicResponseContextManagement(
3044
3049
  response.context_management
3045
- )) != null ? _i : null
3050
+ )) != null ? _j : null
3046
3051
  }
3047
3052
  }
3048
3053
  };
@@ -3073,7 +3078,10 @@ var AnthropicMessagesLanguageModel = class {
3073
3078
  abortSignal: options.abortSignal,
3074
3079
  fetch: this.config.fetch
3075
3080
  });
3076
- let finishReason = "unknown";
3081
+ let finishReason = {
3082
+ unified: "other",
3083
+ raw: void 0
3084
+ };
3077
3085
  const usage = {
3078
3086
  input_tokens: 0,
3079
3087
  output_tokens: 0,
@@ -3096,7 +3104,7 @@ var AnthropicMessagesLanguageModel = class {
3096
3104
  controller.enqueue({ type: "stream-start", warnings });
3097
3105
  },
3098
3106
  transform(chunk, controller) {
3099
- var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k;
3107
+ var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
3100
3108
  if (options.includeRawChunks) {
3101
3109
  controller.enqueue({ type: "raw", rawValue: chunk.rawValue });
3102
3110
  }
@@ -3579,10 +3587,13 @@ var AnthropicMessagesLanguageModel = class {
3579
3587
  };
3580
3588
  }
3581
3589
  if (value.message.stop_reason != null) {
3582
- finishReason = mapAnthropicStopReason({
3583
- finishReason: value.message.stop_reason,
3584
- isJsonResponseFromTool
3585
- });
3590
+ finishReason = {
3591
+ unified: mapAnthropicStopReason({
3592
+ finishReason: value.message.stop_reason,
3593
+ isJsonResponseFromTool
3594
+ }),
3595
+ raw: value.message.stop_reason
3596
+ };
3586
3597
  }
3587
3598
  controller.enqueue({
3588
3599
  type: "response-metadata",
@@ -3633,19 +3644,22 @@ var AnthropicMessagesLanguageModel = class {
3633
3644
  }
3634
3645
  case "message_delta": {
3635
3646
  usage.output_tokens = value.usage.output_tokens;
3636
- finishReason = mapAnthropicStopReason({
3637
- finishReason: value.delta.stop_reason,
3638
- isJsonResponseFromTool
3639
- });
3640
- stopSequence = (_i = value.delta.stop_sequence) != null ? _i : null;
3647
+ finishReason = {
3648
+ unified: mapAnthropicStopReason({
3649
+ finishReason: value.delta.stop_reason,
3650
+ isJsonResponseFromTool
3651
+ }),
3652
+ raw: (_i = value.delta.stop_reason) != null ? _i : void 0
3653
+ };
3654
+ stopSequence = (_j = value.delta.stop_sequence) != null ? _j : null;
3641
3655
  container = value.delta.container != null ? {
3642
3656
  expiresAt: value.delta.container.expires_at,
3643
3657
  id: value.delta.container.id,
3644
- skills: (_k = (_j = value.delta.container.skills) == null ? void 0 : _j.map((skill) => ({
3658
+ skills: (_l = (_k = value.delta.container.skills) == null ? void 0 : _k.map((skill) => ({
3645
3659
  type: skill.type,
3646
3660
  skillId: skill.skill_id,
3647
3661
  version: skill.version
3648
- }))) != null ? _k : null
3662
+ }))) != null ? _l : null
3649
3663
  } : null;
3650
3664
  if (value.delta.context_management) {
3651
3665
  contextManagement = mapAnthropicResponseContextManagement(