@ai-sdk/anthropic 3.0.0-beta.93 → 3.0.0-beta.95

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.
@@ -1,4 +1,4 @@
1
- import { LanguageModelV3, JSONSchema7, SharedV3ProviderMetadata, SharedV3Warning, LanguageModelV3CallOptions } from '@ai-sdk/provider';
1
+ import { LanguageModelV3, LanguageModelV3CallOptions, LanguageModelV3GenerateResult, LanguageModelV3StreamResult, JSONSchema7, SharedV3ProviderMetadata, SharedV3Warning } from '@ai-sdk/provider';
2
2
  import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
3
3
  import { Resolvable, FetchFunction } from '@ai-sdk/provider-utils';
4
4
 
@@ -33,8 +33,8 @@ declare class AnthropicMessagesLanguageModel implements LanguageModelV3 {
33
33
  private buildRequestUrl;
34
34
  private transformRequestBody;
35
35
  private extractCitationDocuments;
36
- doGenerate(options: Parameters<LanguageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>>;
37
- doStream(options: Parameters<LanguageModelV3['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>>;
36
+ doGenerate(options: LanguageModelV3CallOptions): Promise<LanguageModelV3GenerateResult>;
37
+ doStream(options: LanguageModelV3CallOptions): Promise<LanguageModelV3StreamResult>;
38
38
  }
39
39
 
40
40
  declare const anthropicTools: {
@@ -1,4 +1,4 @@
1
- import { LanguageModelV3, JSONSchema7, SharedV3ProviderMetadata, SharedV3Warning, LanguageModelV3CallOptions } from '@ai-sdk/provider';
1
+ import { LanguageModelV3, LanguageModelV3CallOptions, LanguageModelV3GenerateResult, LanguageModelV3StreamResult, JSONSchema7, SharedV3ProviderMetadata, SharedV3Warning } from '@ai-sdk/provider';
2
2
  import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
3
3
  import { Resolvable, FetchFunction } from '@ai-sdk/provider-utils';
4
4
 
@@ -33,8 +33,8 @@ declare class AnthropicMessagesLanguageModel implements LanguageModelV3 {
33
33
  private buildRequestUrl;
34
34
  private transformRequestBody;
35
35
  private extractCitationDocuments;
36
- doGenerate(options: Parameters<LanguageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>>;
37
- doStream(options: Parameters<LanguageModelV3['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>>;
36
+ doGenerate(options: LanguageModelV3CallOptions): Promise<LanguageModelV3GenerateResult>;
37
+ doStream(options: LanguageModelV3CallOptions): Promise<LanguageModelV3StreamResult>;
38
38
  }
39
39
 
40
40
  declare const anthropicTools: {
@@ -49,29 +49,6 @@ var anthropicFailedResponseHandler = (0, import_provider_utils.createJsonErrorRe
49
49
  errorToMessage: (data) => data.error.message
50
50
  });
51
51
 
52
- // src/convert-anthropic-messages-usage.ts
53
- function convertAnthropicMessagesUsage(usage) {
54
- var _a, _b;
55
- const inputTokens = usage.input_tokens;
56
- const outputTokens = usage.output_tokens;
57
- const cacheCreationTokens = (_a = usage.cache_creation_input_tokens) != null ? _a : 0;
58
- const cacheReadTokens = (_b = usage.cache_read_input_tokens) != null ? _b : 0;
59
- return {
60
- inputTokens: {
61
- total: inputTokens + cacheCreationTokens + cacheReadTokens,
62
- noCache: inputTokens,
63
- cacheRead: cacheReadTokens,
64
- cacheWrite: cacheCreationTokens
65
- },
66
- outputTokens: {
67
- total: outputTokens,
68
- text: void 0,
69
- reasoning: void 0
70
- },
71
- raw: usage
72
- };
73
- }
74
-
75
52
  // src/anthropic-messages-api.ts
76
53
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
77
54
  var import_v42 = require("zod/v4");
@@ -1331,6 +1308,29 @@ async function prepareTools({
1331
1308
  }
1332
1309
  }
1333
1310
 
1311
+ // src/convert-anthropic-messages-usage.ts
1312
+ function convertAnthropicMessagesUsage(usage) {
1313
+ var _a, _b;
1314
+ const inputTokens = usage.input_tokens;
1315
+ const outputTokens = usage.output_tokens;
1316
+ const cacheCreationTokens = (_a = usage.cache_creation_input_tokens) != null ? _a : 0;
1317
+ const cacheReadTokens = (_b = usage.cache_read_input_tokens) != null ? _b : 0;
1318
+ return {
1319
+ inputTokens: {
1320
+ total: inputTokens + cacheCreationTokens + cacheReadTokens,
1321
+ noCache: inputTokens,
1322
+ cacheRead: cacheReadTokens,
1323
+ cacheWrite: cacheCreationTokens
1324
+ },
1325
+ outputTokens: {
1326
+ total: outputTokens,
1327
+ text: void 0,
1328
+ reasoning: void 0
1329
+ },
1330
+ raw: usage
1331
+ };
1332
+ }
1333
+
1334
1334
  // src/convert-to-anthropic-messages-prompt.ts
1335
1335
  var import_provider2 = require("@ai-sdk/provider");
1336
1336
  var import_provider_utils11 = require("@ai-sdk/provider-utils");
@@ -2268,11 +2268,10 @@ function mapAnthropicStopReason({
2268
2268
  case "tool_use":
2269
2269
  return isJsonResponseFromTool ? "stop" : "tool-calls";
2270
2270
  case "max_tokens":
2271
- return "length";
2272
2271
  case "model_context_window_exceeded":
2273
2272
  return "length";
2274
2273
  default:
2275
- return "unknown";
2274
+ return "other";
2276
2275
  }
2277
2276
  }
2278
2277
 
@@ -2688,7 +2687,7 @@ var AnthropicMessagesLanguageModel = class {
2688
2687
  });
2689
2688
  }
2690
2689
  async doGenerate(options) {
2691
- var _a, _b, _c, _d, _e, _f, _g, _h, _i;
2690
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
2692
2691
  const { args, warnings, betas, usesJsonResponseTool, toolNameMapping } = await this.getArgs({
2693
2692
  ...options,
2694
2693
  stream: false,
@@ -2997,15 +2996,18 @@ var AnthropicMessagesLanguageModel = class {
2997
2996
  }
2998
2997
  return {
2999
2998
  content,
3000
- finishReason: mapAnthropicStopReason({
3001
- finishReason: response.stop_reason,
3002
- isJsonResponseFromTool
3003
- }),
2999
+ finishReason: {
3000
+ unified: mapAnthropicStopReason({
3001
+ finishReason: response.stop_reason,
3002
+ isJsonResponseFromTool
3003
+ }),
3004
+ raw: (_c = response.stop_reason) != null ? _c : void 0
3005
+ },
3004
3006
  usage: convertAnthropicMessagesUsage(response.usage),
3005
3007
  request: { body: args },
3006
3008
  response: {
3007
- id: (_c = response.id) != null ? _c : void 0,
3008
- modelId: (_d = response.model) != null ? _d : void 0,
3009
+ id: (_d = response.id) != null ? _d : void 0,
3010
+ modelId: (_e = response.model) != null ? _e : void 0,
3009
3011
  headers: responseHeaders,
3010
3012
  body: rawResponse
3011
3013
  },
@@ -3013,20 +3015,20 @@ var AnthropicMessagesLanguageModel = class {
3013
3015
  providerMetadata: {
3014
3016
  anthropic: {
3015
3017
  usage: response.usage,
3016
- cacheCreationInputTokens: (_e = response.usage.cache_creation_input_tokens) != null ? _e : null,
3017
- stopSequence: (_f = response.stop_sequence) != null ? _f : null,
3018
+ cacheCreationInputTokens: (_f = response.usage.cache_creation_input_tokens) != null ? _f : null,
3019
+ stopSequence: (_g = response.stop_sequence) != null ? _g : null,
3018
3020
  container: response.container ? {
3019
3021
  expiresAt: response.container.expires_at,
3020
3022
  id: response.container.id,
3021
- skills: (_h = (_g = response.container.skills) == null ? void 0 : _g.map((skill) => ({
3023
+ skills: (_i = (_h = response.container.skills) == null ? void 0 : _h.map((skill) => ({
3022
3024
  type: skill.type,
3023
3025
  skillId: skill.skill_id,
3024
3026
  version: skill.version
3025
- }))) != null ? _h : null
3027
+ }))) != null ? _i : null
3026
3028
  } : null,
3027
- contextManagement: (_i = mapAnthropicResponseContextManagement(
3029
+ contextManagement: (_j = mapAnthropicResponseContextManagement(
3028
3030
  response.context_management
3029
- )) != null ? _i : null
3031
+ )) != null ? _j : null
3030
3032
  }
3031
3033
  }
3032
3034
  };
@@ -3057,7 +3059,10 @@ var AnthropicMessagesLanguageModel = class {
3057
3059
  abortSignal: options.abortSignal,
3058
3060
  fetch: this.config.fetch
3059
3061
  });
3060
- let finishReason = "unknown";
3062
+ let finishReason = {
3063
+ unified: "other",
3064
+ raw: void 0
3065
+ };
3061
3066
  const usage = {
3062
3067
  input_tokens: 0,
3063
3068
  output_tokens: 0,
@@ -3080,7 +3085,7 @@ var AnthropicMessagesLanguageModel = class {
3080
3085
  controller.enqueue({ type: "stream-start", warnings });
3081
3086
  },
3082
3087
  transform(chunk, controller) {
3083
- var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k;
3088
+ var _a2, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
3084
3089
  if (options.includeRawChunks) {
3085
3090
  controller.enqueue({ type: "raw", rawValue: chunk.rawValue });
3086
3091
  }
@@ -3563,10 +3568,13 @@ var AnthropicMessagesLanguageModel = class {
3563
3568
  };
3564
3569
  }
3565
3570
  if (value.message.stop_reason != null) {
3566
- finishReason = mapAnthropicStopReason({
3567
- finishReason: value.message.stop_reason,
3568
- isJsonResponseFromTool
3569
- });
3571
+ finishReason = {
3572
+ unified: mapAnthropicStopReason({
3573
+ finishReason: value.message.stop_reason,
3574
+ isJsonResponseFromTool
3575
+ }),
3576
+ raw: value.message.stop_reason
3577
+ };
3570
3578
  }
3571
3579
  controller.enqueue({
3572
3580
  type: "response-metadata",
@@ -3617,19 +3625,22 @@ var AnthropicMessagesLanguageModel = class {
3617
3625
  }
3618
3626
  case "message_delta": {
3619
3627
  usage.output_tokens = value.usage.output_tokens;
3620
- finishReason = mapAnthropicStopReason({
3621
- finishReason: value.delta.stop_reason,
3622
- isJsonResponseFromTool
3623
- });
3624
- stopSequence = (_i = value.delta.stop_sequence) != null ? _i : null;
3628
+ finishReason = {
3629
+ unified: mapAnthropicStopReason({
3630
+ finishReason: value.delta.stop_reason,
3631
+ isJsonResponseFromTool
3632
+ }),
3633
+ raw: (_i = value.delta.stop_reason) != null ? _i : void 0
3634
+ };
3635
+ stopSequence = (_j = value.delta.stop_sequence) != null ? _j : null;
3625
3636
  container = value.delta.container != null ? {
3626
3637
  expiresAt: value.delta.container.expires_at,
3627
3638
  id: value.delta.container.id,
3628
- skills: (_k = (_j = value.delta.container.skills) == null ? void 0 : _j.map((skill) => ({
3639
+ skills: (_l = (_k = value.delta.container.skills) == null ? void 0 : _k.map((skill) => ({
3629
3640
  type: skill.type,
3630
3641
  skillId: skill.skill_id,
3631
3642
  version: skill.version
3632
- }))) != null ? _k : null
3643
+ }))) != null ? _l : null
3633
3644
  } : null;
3634
3645
  if (value.delta.context_management) {
3635
3646
  contextManagement = mapAnthropicResponseContextManagement(