ai 6.0.249 → 6.0.250

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.
@@ -164,7 +164,7 @@ function detectMediaType({
164
164
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
165
165
 
166
166
  // src/version.ts
167
- var VERSION = true ? "6.0.249" : "0.0.0-test";
167
+ var VERSION = true ? "6.0.250" : "0.0.0-test";
168
168
 
169
169
  // src/util/download/download.ts
170
170
  var download = async ({
@@ -144,7 +144,7 @@ import {
144
144
  } from "@ai-sdk/provider-utils";
145
145
 
146
146
  // src/version.ts
147
- var VERSION = true ? "6.0.249" : "0.0.0-test";
147
+ var VERSION = true ? "6.0.250" : "0.0.0-test";
148
148
 
149
149
  // src/util/download/download.ts
150
150
  var download = async ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai",
3
- "version": "6.0.249",
3
+ "version": "6.0.250",
4
4
  "description": "AI SDK by Vercel - build apps like ChatGPT, Claude, Gemini, and more with a single interface for any model using the Vercel AI Gateway or go direct to OpenAI, Anthropic, Google, or any other model provider.",
5
5
  "license": "Apache-2.0",
6
6
  "sideEffects": false,
@@ -45,9 +45,9 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@opentelemetry/api": "^1.9.0",
48
- "@ai-sdk/gateway": "3.0.169",
48
+ "@ai-sdk/gateway": "3.0.170",
49
49
  "@ai-sdk/provider": "3.0.15",
50
- "@ai-sdk/provider-utils": "4.0.44"
50
+ "@ai-sdk/provider-utils": "4.0.45"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@edge-runtime/vm": "^5.0.0",
@@ -488,6 +488,7 @@ class DefaultStreamObjectResult<
488
488
  }),
489
489
  tracer,
490
490
  endWhenDone: false,
491
+ endOnError: true,
491
492
  fn: async rootSpan => {
492
493
  const standardizedPrompt = await standardizePrompt({
493
494
  system,
@@ -567,6 +568,7 @@ class DefaultStreamObjectResult<
567
568
  }),
568
569
  tracer,
569
570
  endWhenDone: false,
571
+ endOnError: true,
570
572
  fn: async doStreamSpan => ({
571
573
  startTimestampMs: now(),
572
574
  doStreamSpan,
@@ -1760,6 +1760,7 @@ class DefaultStreamTextResult<
1760
1760
  }),
1761
1761
  tracer,
1762
1762
  endWhenDone: false,
1763
+ endOnError: true,
1763
1764
  fn: async doStreamSpan => ({
1764
1765
  startTimestampMs: now(), // get before the call
1765
1766
  doStreamSpan,
@@ -12,12 +12,14 @@ export async function recordSpan<T>({
12
12
  attributes,
13
13
  fn,
14
14
  endWhenDone = true,
15
+ endOnError = endWhenDone,
15
16
  }: {
16
17
  name: string;
17
18
  tracer: Tracer;
18
19
  attributes: Attributes | PromiseLike<Attributes>;
19
20
  fn: (span: Span) => Promise<T>;
20
21
  endWhenDone?: boolean;
22
+ endOnError?: boolean;
21
23
  }) {
22
24
  return tracer.startActiveSpan(
23
25
  name,
@@ -40,8 +42,9 @@ export async function recordSpan<T>({
40
42
  try {
41
43
  recordErrorOnSpan(span, error);
42
44
  } finally {
43
- // always stop the span when there is an error:
44
- span.end();
45
+ if (endOnError) {
46
+ span.end();
47
+ }
45
48
  }
46
49
 
47
50
  throw error;
@@ -77,6 +77,7 @@ class MockSpan implements Span {
77
77
  time?: [number, number];
78
78
  }> = [];
79
79
  status?: SpanStatus;
80
+ endCalls = 0;
80
81
 
81
82
  readonly _spanContext: SpanContext = new MockSpanContext();
82
83
 
@@ -128,6 +129,7 @@ class MockSpan implements Span {
128
129
  return this;
129
130
  }
130
131
  end() {
132
+ this.endCalls++;
131
133
  return this;
132
134
  }
133
135
  isRecording() {
package/src/ui/chat.ts CHANGED
@@ -706,7 +706,7 @@ export abstract class AbstractChat<UI_MESSAGE extends UIMessage> {
706
706
  const response = {
707
707
  state: createStreamingUIMessageState({
708
708
  lastMessage:
709
- trigger === 'regenerate-message'
709
+ trigger === 'resume-stream' || trigger === 'regenerate-message'
710
710
  ? undefined
711
711
  : this.state.snapshot(lastMessage),
712
712
  messageId: this.generateId(),