ai 4.2.11 → 4.3.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 CHANGED
@@ -1,5 +1,18 @@
1
1
  # ai
2
2
 
3
+ ## 4.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 772a2d7: feat (core): Add finishReason field to NoObjectGeneratedError
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [2c19b9a]
12
+ - @ai-sdk/provider-utils@2.2.4
13
+ - @ai-sdk/react@1.2.6
14
+ - @ai-sdk/ui-utils@1.2.5
15
+
3
16
  ## 4.2.11
4
17
 
5
18
  ### Patch Changes
package/dist/index.d.mts CHANGED
@@ -2254,6 +2254,7 @@ interface Output<OUTPUT, PARTIAL> {
2254
2254
  }, context: {
2255
2255
  response: LanguageModelResponseMetadata;
2256
2256
  usage: LanguageModelUsage;
2257
+ finishReason: FinishReason;
2257
2258
  }): OUTPUT;
2258
2259
  }
2259
2260
  declare const text: () => Output<string, string>;
@@ -4114,12 +4115,17 @@ declare class NoObjectGeneratedError extends AISDKError {
4114
4115
  The usage of the model.
4115
4116
  */
4116
4117
  readonly usage: LanguageModelUsage | undefined;
4117
- constructor({ message, cause, text, response, usage, }: {
4118
+ /**
4119
+ Reason why the model finished generating a response.
4120
+ */
4121
+ readonly finishReason: FinishReason | undefined;
4122
+ constructor({ message, cause, text, response, usage, finishReason, }: {
4118
4123
  message?: string;
4119
4124
  cause?: Error;
4120
4125
  text?: string;
4121
4126
  response: LanguageModelResponseMetadata;
4122
4127
  usage: LanguageModelUsage;
4128
+ finishReason: FinishReason;
4123
4129
  });
4124
4130
  static isInstance(error: unknown): error is NoObjectGeneratedError;
4125
4131
  }
package/dist/index.d.ts CHANGED
@@ -2254,6 +2254,7 @@ interface Output<OUTPUT, PARTIAL> {
2254
2254
  }, context: {
2255
2255
  response: LanguageModelResponseMetadata;
2256
2256
  usage: LanguageModelUsage;
2257
+ finishReason: FinishReason;
2257
2258
  }): OUTPUT;
2258
2259
  }
2259
2260
  declare const text: () => Output<string, string>;
@@ -4114,12 +4115,17 @@ declare class NoObjectGeneratedError extends AISDKError {
4114
4115
  The usage of the model.
4115
4116
  */
4116
4117
  readonly usage: LanguageModelUsage | undefined;
4117
- constructor({ message, cause, text, response, usage, }: {
4118
+ /**
4119
+ Reason why the model finished generating a response.
4120
+ */
4121
+ readonly finishReason: FinishReason | undefined;
4122
+ constructor({ message, cause, text, response, usage, finishReason, }: {
4118
4123
  message?: string;
4119
4124
  cause?: Error;
4120
4125
  text?: string;
4121
4126
  response: LanguageModelResponseMetadata;
4122
4127
  usage: LanguageModelUsage;
4128
+ finishReason: FinishReason;
4123
4129
  });
4124
4130
  static isInstance(error: unknown): error is NoObjectGeneratedError;
4125
4131
  }
package/dist/index.js CHANGED
@@ -1115,13 +1115,15 @@ var NoObjectGeneratedError = class extends import_provider5.AISDKError {
1115
1115
  cause,
1116
1116
  text: text2,
1117
1117
  response,
1118
- usage
1118
+ usage,
1119
+ finishReason
1119
1120
  }) {
1120
1121
  super({ name: name4, message, cause });
1121
1122
  this[_a4] = true;
1122
1123
  this.text = text2;
1123
1124
  this.response = response;
1124
1125
  this.usage = usage;
1126
+ this.finishReason = finishReason;
1125
1127
  }
1126
1128
  static isInstance(error) {
1127
1129
  return import_provider5.AISDKError.hasMarker(error, marker4);
@@ -2283,7 +2285,8 @@ var noSchemaOutputStrategy = {
2283
2285
  message: "No object generated: response did not match schema.",
2284
2286
  text: context.text,
2285
2287
  response: context.response,
2286
- usage: context.usage
2288
+ usage: context.usage,
2289
+ finishReason: context.finishReason
2287
2290
  })
2288
2291
  } : { success: true, value };
2289
2292
  },
@@ -2780,7 +2783,8 @@ async function generateObject({
2780
2783
  throw new NoObjectGeneratedError({
2781
2784
  message: "No object generated: the model did not return a response.",
2782
2785
  response: responseData,
2783
- usage: calculateLanguageModelUsage(result2.usage)
2786
+ usage: calculateLanguageModelUsage(result2.usage),
2787
+ finishReason: result2.finishReason
2784
2788
  });
2785
2789
  }
2786
2790
  span2.setAttributes(
@@ -2889,7 +2893,8 @@ async function generateObject({
2889
2893
  throw new NoObjectGeneratedError({
2890
2894
  message: "No object generated: the tool was not called.",
2891
2895
  response: responseData,
2892
- usage: calculateLanguageModelUsage(result2.usage)
2896
+ usage: calculateLanguageModelUsage(result2.usage),
2897
+ finishReason: result2.finishReason
2893
2898
  });
2894
2899
  }
2895
2900
  span2.setAttributes(
@@ -2945,7 +2950,8 @@ async function generateObject({
2945
2950
  cause: parseResult.error,
2946
2951
  text: result2,
2947
2952
  response,
2948
- usage: calculateLanguageModelUsage(usage)
2953
+ usage: calculateLanguageModelUsage(usage),
2954
+ finishReason
2949
2955
  });
2950
2956
  }
2951
2957
  const validationResult = outputStrategy.validateFinalResult(
@@ -2962,7 +2968,8 @@ async function generateObject({
2962
2968
  cause: validationResult.error,
2963
2969
  text: result2,
2964
2970
  response,
2965
- usage: calculateLanguageModelUsage(usage)
2971
+ usage: calculateLanguageModelUsage(usage),
2972
+ finishReason
2966
2973
  });
2967
2974
  }
2968
2975
  return validationResult.value;
@@ -3567,7 +3574,8 @@ var DefaultStreamObjectResult = class {
3567
3574
  cause: validationResult.error,
3568
3575
  text: accumulatedText,
3569
3576
  response,
3570
- usage
3577
+ usage,
3578
+ finishReason
3571
3579
  });
3572
3580
  self.objectPromise.reject(error);
3573
3581
  }
@@ -4395,7 +4403,11 @@ async function generateText({
4395
4403
  }
4396
4404
  return output.parseOutput(
4397
4405
  { text: text2 },
4398
- { response: currentModelResponse.response, usage }
4406
+ {
4407
+ response: currentModelResponse.response,
4408
+ usage,
4409
+ finishReason: currentModelResponse.finishReason
4410
+ }
4399
4411
  );
4400
4412
  },
4401
4413
  toolCalls: currentToolCalls,
@@ -4640,7 +4652,8 @@ var object = ({
4640
4652
  cause: parseResult.error,
4641
4653
  text: text2,
4642
4654
  response: context.response,
4643
- usage: context.usage
4655
+ usage: context.usage,
4656
+ finishReason: context.finishReason
4644
4657
  });
4645
4658
  }
4646
4659
  const validationResult = (0, import_provider_utils10.safeValidateTypes)({
@@ -4653,7 +4666,8 @@ var object = ({
4653
4666
  cause: validationResult.error,
4654
4667
  text: text2,
4655
4668
  response: context.response,
4656
- usage: context.usage
4669
+ usage: context.usage,
4670
+ finishReason: context.finishReason
4657
4671
  });
4658
4672
  }
4659
4673
  return validationResult.value;