ai 3.3.38 → 3.3.40

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/dist/index.mjs CHANGED
@@ -2998,6 +2998,7 @@ async function generateText({
2998
2998
  generateId: generateId3 = originalGenerateId3,
2999
2999
  currentDate = () => /* @__PURE__ */ new Date()
3000
3000
  } = {},
3001
+ onStepFinish,
3001
3002
  ...settings
3002
3003
  }) {
3003
3004
  var _a11;
@@ -3159,7 +3160,7 @@ async function generateText({
3159
3160
  usage.completionTokens += currentUsage.completionTokens;
3160
3161
  usage.promptTokens += currentUsage.promptTokens;
3161
3162
  usage.totalTokens += currentUsage.totalTokens;
3162
- steps.push({
3163
+ const currentStep = {
3163
3164
  text: (_b = currentModelResponse.text) != null ? _b : "",
3164
3165
  toolCalls: currentToolCalls,
3165
3166
  toolResults: currentToolResults,
@@ -3170,8 +3171,11 @@ async function generateText({
3170
3171
  response: {
3171
3172
  ...currentModelResponse.response,
3172
3173
  headers: (_c = currentModelResponse.rawResponse) == null ? void 0 : _c.headers
3173
- }
3174
- });
3174
+ },
3175
+ experimental_providerMetadata: currentModelResponse.providerMetadata
3176
+ };
3177
+ steps.push(currentStep);
3178
+ await (onStepFinish == null ? void 0 : onStepFinish(currentStep));
3175
3179
  const newResponseMessages = toResponseMessages({
3176
3180
  text: currentModelResponse.text,
3177
3181
  toolCalls: currentToolCalls,
@@ -3866,6 +3870,11 @@ var DefaultStreamTextResult = class {
3866
3870
  this.experimental_providerMetadata = providerMetadataPromise;
3867
3871
  const { resolve: resolveResponse, promise: responsePromise } = createResolvablePromise();
3868
3872
  this.response = responsePromise;
3873
+ const {
3874
+ resolve: resolveResponseMessages,
3875
+ promise: responseMessagesPromise
3876
+ } = createResolvablePromise();
3877
+ this.responseMessages = responseMessagesPromise;
3869
3878
  const {
3870
3879
  stream: stitchableStream,
3871
3880
  addStream,
@@ -4037,7 +4046,8 @@ var DefaultStreamTextResult = class {
4037
4046
  warnings: self.warnings,
4038
4047
  logprobs: stepLogProbs,
4039
4048
  response: stepResponse,
4040
- rawResponse: self.rawResponse
4049
+ rawResponse: self.rawResponse,
4050
+ experimental_providerMetadata: stepProviderMetadata
4041
4051
  };
4042
4052
  stepResults.push(stepResult);
4043
4053
  await (onStepFinish == null ? void 0 : onStepFinish(stepResult));
@@ -4111,6 +4121,17 @@ var DefaultStreamTextResult = class {
4111
4121
  }
4112
4122
  })
4113
4123
  );
4124
+ const responseMessages = stepResults.reduce(
4125
+ (responseMessages2, step) => [
4126
+ ...responseMessages2,
4127
+ ...toResponseMessages({
4128
+ text: step.text,
4129
+ toolCalls: step.toolCalls,
4130
+ toolResults: step.toolResults
4131
+ })
4132
+ ],
4133
+ []
4134
+ );
4114
4135
  resolveUsage(combinedUsage);
4115
4136
  resolveFinishReason(stepFinishReason);
4116
4137
  resolveText(stepText);
@@ -4122,6 +4143,7 @@ var DefaultStreamTextResult = class {
4122
4143
  headers: rawResponse == null ? void 0 : rawResponse.headers
4123
4144
  });
4124
4145
  resolveSteps(stepResults);
4146
+ resolveResponseMessages(responseMessages);
4125
4147
  await (onFinish == null ? void 0 : onFinish({
4126
4148
  finishReason: stepFinishReason,
4127
4149
  logprobs: stepLogProbs,
@@ -4140,8 +4162,8 @@ var DefaultStreamTextResult = class {
4140
4162
  },
4141
4163
  warnings,
4142
4164
  experimental_providerMetadata: stepProviderMetadata,
4143
- steps: stepResults
4144
- // see tool results comment above
4165
+ steps: stepResults,
4166
+ responseMessages
4145
4167
  }));
4146
4168
  } catch (error) {
4147
4169
  controller.error(error);