ai 3.3.42 → 3.3.43

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,11 @@
1
1
  # ai
2
2
 
3
+ ## 3.3.43
4
+
5
+ ### Patch Changes
6
+
7
+ - fea6bec: fix (ai/core): support tool calls without arguments
8
+
3
9
  ## 3.3.42
4
10
 
5
11
  ### Patch Changes
package/dist/index.js CHANGED
@@ -2977,32 +2977,7 @@ function prepareToolsAndToolChoice({
2977
2977
  };
2978
2978
  }
2979
2979
 
2980
- // core/generate-text/to-response-messages.ts
2981
- function toResponseMessages({
2982
- text = "",
2983
- toolCalls,
2984
- toolResults
2985
- }) {
2986
- const responseMessages = [];
2987
- responseMessages.push({
2988
- role: "assistant",
2989
- content: [{ type: "text", text }, ...toolCalls]
2990
- });
2991
- if (toolResults.length > 0) {
2992
- responseMessages.push({
2993
- role: "tool",
2994
- content: toolResults.map((result) => ({
2995
- type: "tool-result",
2996
- toolCallId: result.toolCallId,
2997
- toolName: result.toolName,
2998
- result: result.result
2999
- }))
3000
- });
3001
- }
3002
- return responseMessages;
3003
- }
3004
-
3005
- // core/generate-text/tool-call.ts
2980
+ // core/generate-text/parse-tool-call.ts
3006
2981
  var import_provider_utils8 = require("@ai-sdk/provider-utils");
3007
2982
  var import_ui_utils4 = require("@ai-sdk/ui-utils");
3008
2983
  function parseToolCall({
@@ -3020,10 +2995,8 @@ function parseToolCall({
3020
2995
  availableTools: Object.keys(tools)
3021
2996
  });
3022
2997
  }
3023
- const parseResult = (0, import_provider_utils8.safeParseJSON)({
3024
- text: toolCall.args,
3025
- schema: (0, import_ui_utils4.asSchema)(tool2.parameters)
3026
- });
2998
+ const schema = (0, import_ui_utils4.asSchema)(tool2.parameters);
2999
+ const parseResult = toolCall.args.trim() === "" ? (0, import_provider_utils8.safeValidateTypes)({ value: {}, schema }) : (0, import_provider_utils8.safeParseJSON)({ text: toolCall.args, schema });
3027
3000
  if (parseResult.success === false) {
3028
3001
  throw new InvalidToolArgumentsError({
3029
3002
  toolName,
@@ -3039,6 +3012,31 @@ function parseToolCall({
3039
3012
  };
3040
3013
  }
3041
3014
 
3015
+ // core/generate-text/to-response-messages.ts
3016
+ function toResponseMessages({
3017
+ text = "",
3018
+ toolCalls,
3019
+ toolResults
3020
+ }) {
3021
+ const responseMessages = [];
3022
+ responseMessages.push({
3023
+ role: "assistant",
3024
+ content: [{ type: "text", text }, ...toolCalls]
3025
+ });
3026
+ if (toolResults.length > 0) {
3027
+ responseMessages.push({
3028
+ role: "tool",
3029
+ content: toolResults.map((result) => ({
3030
+ type: "tool-result",
3031
+ toolCallId: result.toolCallId,
3032
+ toolName: result.toolName,
3033
+ result: result.result
3034
+ }))
3035
+ });
3036
+ }
3037
+ return responseMessages;
3038
+ }
3039
+
3042
3040
  // core/generate-text/generate-text.ts
3043
3041
  var originalGenerateId3 = (0, import_provider_utils9.createIdGenerator)({ prefix: "aitxt-", size: 24 });
3044
3042
  async function generateText({