@ai-sdk/openai 3.0.0-beta.107 → 3.0.0-beta.109

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, EmbeddingModelV3, ImageModelV3, TranscriptionModelV3CallOptions, TranscriptionModelV3, SpeechModelV3 } from '@ai-sdk/provider';
1
+ import { LanguageModelV3, LanguageModelV3CallOptions, LanguageModelV3GenerateResult, LanguageModelV3StreamResult, EmbeddingModelV3, ImageModelV3, TranscriptionModelV3CallOptions, TranscriptionModelV3, SpeechModelV3 } from '@ai-sdk/provider';
2
2
  import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
3
3
  import { InferSchema, FetchFunction } from '@ai-sdk/provider-utils';
4
4
 
@@ -43,8 +43,8 @@ declare class OpenAIChatLanguageModel implements LanguageModelV3 {
43
43
  constructor(modelId: OpenAIChatModelId, config: OpenAIChatConfig);
44
44
  get provider(): string;
45
45
  private getArgs;
46
- doGenerate(options: Parameters<LanguageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>>;
47
- doStream(options: Parameters<LanguageModelV3['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>>;
46
+ doGenerate(options: LanguageModelV3CallOptions): Promise<LanguageModelV3GenerateResult>;
47
+ doStream(options: LanguageModelV3CallOptions): Promise<LanguageModelV3StreamResult>;
48
48
  }
49
49
 
50
50
  type OpenAICompletionModelId = 'gpt-3.5-turbo-instruct' | (string & {});
@@ -75,8 +75,8 @@ declare class OpenAICompletionLanguageModel implements LanguageModelV3 {
75
75
  get provider(): string;
76
76
  readonly supportedUrls: Record<string, RegExp[]>;
77
77
  private getArgs;
78
- doGenerate(options: Parameters<LanguageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>>;
79
- doStream(options: Parameters<LanguageModelV3['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>>;
78
+ doGenerate(options: LanguageModelV3CallOptions): Promise<LanguageModelV3GenerateResult>;
79
+ doStream(options: LanguageModelV3CallOptions): Promise<LanguageModelV3StreamResult>;
80
80
  }
81
81
 
82
82
  type OpenAIConfig = {
@@ -198,8 +198,8 @@ declare class OpenAIResponsesLanguageModel implements LanguageModelV3 {
198
198
  readonly supportedUrls: Record<string, RegExp[]>;
199
199
  get provider(): string;
200
200
  private getArgs;
201
- doGenerate(options: Parameters<LanguageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>>;
202
- doStream(options: Parameters<LanguageModelV3['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>>;
201
+ doGenerate(options: LanguageModelV3CallOptions): Promise<LanguageModelV3GenerateResult>;
202
+ doStream(options: LanguageModelV3CallOptions): Promise<LanguageModelV3StreamResult>;
203
203
  }
204
204
 
205
205
  /**
@@ -1,4 +1,4 @@
1
- import { LanguageModelV3, EmbeddingModelV3, ImageModelV3, TranscriptionModelV3CallOptions, TranscriptionModelV3, SpeechModelV3 } from '@ai-sdk/provider';
1
+ import { LanguageModelV3, LanguageModelV3CallOptions, LanguageModelV3GenerateResult, LanguageModelV3StreamResult, EmbeddingModelV3, ImageModelV3, TranscriptionModelV3CallOptions, TranscriptionModelV3, SpeechModelV3 } from '@ai-sdk/provider';
2
2
  import * as _ai_sdk_provider_utils from '@ai-sdk/provider-utils';
3
3
  import { InferSchema, FetchFunction } from '@ai-sdk/provider-utils';
4
4
 
@@ -43,8 +43,8 @@ declare class OpenAIChatLanguageModel implements LanguageModelV3 {
43
43
  constructor(modelId: OpenAIChatModelId, config: OpenAIChatConfig);
44
44
  get provider(): string;
45
45
  private getArgs;
46
- doGenerate(options: Parameters<LanguageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>>;
47
- doStream(options: Parameters<LanguageModelV3['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>>;
46
+ doGenerate(options: LanguageModelV3CallOptions): Promise<LanguageModelV3GenerateResult>;
47
+ doStream(options: LanguageModelV3CallOptions): Promise<LanguageModelV3StreamResult>;
48
48
  }
49
49
 
50
50
  type OpenAICompletionModelId = 'gpt-3.5-turbo-instruct' | (string & {});
@@ -75,8 +75,8 @@ declare class OpenAICompletionLanguageModel implements LanguageModelV3 {
75
75
  get provider(): string;
76
76
  readonly supportedUrls: Record<string, RegExp[]>;
77
77
  private getArgs;
78
- doGenerate(options: Parameters<LanguageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>>;
79
- doStream(options: Parameters<LanguageModelV3['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>>;
78
+ doGenerate(options: LanguageModelV3CallOptions): Promise<LanguageModelV3GenerateResult>;
79
+ doStream(options: LanguageModelV3CallOptions): Promise<LanguageModelV3StreamResult>;
80
80
  }
81
81
 
82
82
  type OpenAIConfig = {
@@ -198,8 +198,8 @@ declare class OpenAIResponsesLanguageModel implements LanguageModelV3 {
198
198
  readonly supportedUrls: Record<string, RegExp[]>;
199
199
  get provider(): string;
200
200
  private getArgs;
201
- doGenerate(options: Parameters<LanguageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doGenerate']>>>;
202
- doStream(options: Parameters<LanguageModelV3['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV3['doStream']>>>;
201
+ doGenerate(options: LanguageModelV3CallOptions): Promise<LanguageModelV3GenerateResult>;
202
+ doStream(options: LanguageModelV3CallOptions): Promise<LanguageModelV3StreamResult>;
203
203
  }
204
204
 
205
205
  /**
@@ -342,7 +342,7 @@ function mapOpenAIFinishReason(finishReason) {
342
342
  case "tool_calls":
343
343
  return "tool-calls";
344
344
  default:
345
- return "unknown";
345
+ return "other";
346
346
  }
347
347
  }
348
348
 
@@ -864,7 +864,7 @@ var OpenAIChatLanguageModel = class {
864
864
  };
865
865
  }
866
866
  async doGenerate(options) {
867
- var _a, _b, _c, _d, _e, _f;
867
+ var _a, _b, _c, _d, _e, _f, _g;
868
868
  const { args: body, warnings } = await this.getArgs(options);
869
869
  const {
870
870
  responseHeaders,
@@ -921,7 +921,10 @@ var OpenAIChatLanguageModel = class {
921
921
  }
922
922
  return {
923
923
  content,
924
- finishReason: mapOpenAIFinishReason(choice.finish_reason),
924
+ finishReason: {
925
+ unified: mapOpenAIFinishReason(choice.finish_reason),
926
+ raw: (_g = choice.finish_reason) != null ? _g : void 0
927
+ },
925
928
  usage: convertOpenAIChatUsage(response.usage),
926
929
  request: { body },
927
930
  response: {
@@ -957,7 +960,10 @@ var OpenAIChatLanguageModel = class {
957
960
  fetch: this.config.fetch
958
961
  });
959
962
  const toolCalls = [];
960
- let finishReason = "unknown";
963
+ let finishReason = {
964
+ unified: "other",
965
+ raw: void 0
966
+ };
961
967
  let usage = void 0;
962
968
  let metadataExtracted = false;
963
969
  let isActiveText = false;
@@ -974,13 +980,13 @@ var OpenAIChatLanguageModel = class {
974
980
  controller.enqueue({ type: "raw", rawValue: chunk.rawValue });
975
981
  }
976
982
  if (!chunk.success) {
977
- finishReason = "error";
983
+ finishReason = { unified: "error", raw: void 0 };
978
984
  controller.enqueue({ type: "error", error: chunk.error });
979
985
  return;
980
986
  }
981
987
  const value = chunk.value;
982
988
  if ("error" in value) {
983
- finishReason = "error";
989
+ finishReason = { unified: "error", raw: void 0 };
984
990
  controller.enqueue({ type: "error", error: value.error });
985
991
  return;
986
992
  }
@@ -1005,7 +1011,10 @@ var OpenAIChatLanguageModel = class {
1005
1011
  }
1006
1012
  const choice = value.choices[0];
1007
1013
  if ((choice == null ? void 0 : choice.finish_reason) != null) {
1008
- finishReason = mapOpenAIFinishReason(choice.finish_reason);
1014
+ finishReason = {
1015
+ unified: mapOpenAIFinishReason(choice.finish_reason),
1016
+ raw: choice.finish_reason
1017
+ };
1009
1018
  }
1010
1019
  if (((_e = choice == null ? void 0 : choice.logprobs) == null ? void 0 : _e.content) != null) {
1011
1020
  providerMetadata.openai.logprobs = choice.logprobs.content;
@@ -1285,7 +1294,7 @@ function mapOpenAIFinishReason2(finishReason) {
1285
1294
  case "tool_calls":
1286
1295
  return "tool-calls";
1287
1296
  default:
1288
- return "unknown";
1297
+ return "other";
1289
1298
  }
1290
1299
  }
1291
1300
 
@@ -1483,6 +1492,7 @@ var OpenAICompletionLanguageModel = class {
1483
1492
  };
1484
1493
  }
1485
1494
  async doGenerate(options) {
1495
+ var _a;
1486
1496
  const { args, warnings } = await this.getArgs(options);
1487
1497
  const {
1488
1498
  responseHeaders,
@@ -1510,7 +1520,10 @@ var OpenAICompletionLanguageModel = class {
1510
1520
  return {
1511
1521
  content: [{ type: "text", text: choice.text }],
1512
1522
  usage: convertOpenAICompletionUsage(response.usage),
1513
- finishReason: mapOpenAIFinishReason2(choice.finish_reason),
1523
+ finishReason: {
1524
+ unified: mapOpenAIFinishReason2(choice.finish_reason),
1525
+ raw: (_a = choice.finish_reason) != null ? _a : void 0
1526
+ },
1514
1527
  request: { body: args },
1515
1528
  response: {
1516
1529
  ...getResponseMetadata2(response),
@@ -1544,7 +1557,10 @@ var OpenAICompletionLanguageModel = class {
1544
1557
  abortSignal: options.abortSignal,
1545
1558
  fetch: this.config.fetch
1546
1559
  });
1547
- let finishReason = "unknown";
1560
+ let finishReason = {
1561
+ unified: "other",
1562
+ raw: void 0
1563
+ };
1548
1564
  const providerMetadata = { openai: {} };
1549
1565
  let usage = void 0;
1550
1566
  let isFirstChunk = true;
@@ -1559,13 +1575,13 @@ var OpenAICompletionLanguageModel = class {
1559
1575
  controller.enqueue({ type: "raw", rawValue: chunk.rawValue });
1560
1576
  }
1561
1577
  if (!chunk.success) {
1562
- finishReason = "error";
1578
+ finishReason = { unified: "error", raw: void 0 };
1563
1579
  controller.enqueue({ type: "error", error: chunk.error });
1564
1580
  return;
1565
1581
  }
1566
1582
  const value = chunk.value;
1567
1583
  if ("error" in value) {
1568
- finishReason = "error";
1584
+ finishReason = { unified: "error", raw: void 0 };
1569
1585
  controller.enqueue({ type: "error", error: value.error });
1570
1586
  return;
1571
1587
  }
@@ -1582,7 +1598,10 @@ var OpenAICompletionLanguageModel = class {
1582
1598
  }
1583
1599
  const choice = value.choices[0];
1584
1600
  if ((choice == null ? void 0 : choice.finish_reason) != null) {
1585
- finishReason = mapOpenAIFinishReason2(choice.finish_reason);
1601
+ finishReason = {
1602
+ unified: mapOpenAIFinishReason2(choice.finish_reason),
1603
+ raw: choice.finish_reason
1604
+ };
1586
1605
  }
1587
1606
  if ((choice == null ? void 0 : choice.logprobs) != null) {
1588
1607
  providerMetadata.openai.logprobs = choice.logprobs;
@@ -2797,7 +2816,7 @@ function mapOpenAIResponseFinishReason({
2797
2816
  case "content_filter":
2798
2817
  return "content-filter";
2799
2818
  default:
2800
- return hasFunctionCall ? "tool-calls" : "unknown";
2819
+ return hasFunctionCall ? "tool-calls" : "other";
2801
2820
  }
2802
2821
  }
2803
2822
 
@@ -4429,7 +4448,7 @@ var OpenAIResponsesLanguageModel = class {
4429
4448
  };
4430
4449
  }
4431
4450
  async doGenerate(options) {
4432
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
4451
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
4433
4452
  const {
4434
4453
  args: body,
4435
4454
  warnings,
@@ -4826,10 +4845,13 @@ var OpenAIResponsesLanguageModel = class {
4826
4845
  const usage = response.usage;
4827
4846
  return {
4828
4847
  content,
4829
- finishReason: mapOpenAIResponseFinishReason({
4830
- finishReason: (_x = response.incomplete_details) == null ? void 0 : _x.reason,
4831
- hasFunctionCall
4832
- }),
4848
+ finishReason: {
4849
+ unified: mapOpenAIResponseFinishReason({
4850
+ finishReason: (_x = response.incomplete_details) == null ? void 0 : _x.reason,
4851
+ hasFunctionCall
4852
+ }),
4853
+ raw: (_z = (_y = response.incomplete_details) == null ? void 0 : _y.reason) != null ? _z : void 0
4854
+ },
4833
4855
  usage: convertOpenAIResponsesUsage(usage),
4834
4856
  request: { body },
4835
4857
  response: {
@@ -4870,7 +4892,10 @@ var OpenAIResponsesLanguageModel = class {
4870
4892
  });
4871
4893
  const self = this;
4872
4894
  const providerKey = this.config.provider.replace(".responses", "");
4873
- let finishReason = "unknown";
4895
+ let finishReason = {
4896
+ unified: "other",
4897
+ raw: void 0
4898
+ };
4874
4899
  let usage = void 0;
4875
4900
  const logprobs = [];
4876
4901
  let responseId = null;
@@ -4886,12 +4911,12 @@ var OpenAIResponsesLanguageModel = class {
4886
4911
  controller.enqueue({ type: "stream-start", warnings });
4887
4912
  },
4888
4913
  transform(chunk, controller) {
4889
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A;
4914
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C;
4890
4915
  if (options.includeRawChunks) {
4891
4916
  controller.enqueue({ type: "raw", rawValue: chunk.rawValue });
4892
4917
  }
4893
4918
  if (!chunk.success) {
4894
- finishReason = "error";
4919
+ finishReason = { unified: "error", raw: void 0 };
4895
4920
  controller.enqueue({ type: "error", error: chunk.error });
4896
4921
  return;
4897
4922
  }
@@ -5390,10 +5415,13 @@ var OpenAIResponsesLanguageModel = class {
5390
5415
  activeReasoning[value.item_id].summaryParts[value.summary_index] = "can-conclude";
5391
5416
  }
5392
5417
  } else if (isResponseFinishedChunk(value)) {
5393
- finishReason = mapOpenAIResponseFinishReason({
5394
- finishReason: (_i = value.response.incomplete_details) == null ? void 0 : _i.reason,
5395
- hasFunctionCall
5396
- });
5418
+ finishReason = {
5419
+ unified: mapOpenAIResponseFinishReason({
5420
+ finishReason: (_i = value.response.incomplete_details) == null ? void 0 : _i.reason,
5421
+ hasFunctionCall
5422
+ }),
5423
+ raw: (_k = (_j = value.response.incomplete_details) == null ? void 0 : _j.reason) != null ? _k : void 0
5424
+ };
5397
5425
  usage = value.response.usage;
5398
5426
  if (typeof value.response.service_tier === "string") {
5399
5427
  serviceTier = value.response.service_tier;
@@ -5404,7 +5432,7 @@ var OpenAIResponsesLanguageModel = class {
5404
5432
  controller.enqueue({
5405
5433
  type: "source",
5406
5434
  sourceType: "url",
5407
- id: (_l = (_k = (_j = self.config).generateId) == null ? void 0 : _k.call(_j)) != null ? _l : (0, import_provider_utils32.generateId)(),
5435
+ id: (_n = (_m = (_l = self.config).generateId) == null ? void 0 : _m.call(_l)) != null ? _n : (0, import_provider_utils32.generateId)(),
5408
5436
  url: value.annotation.url,
5409
5437
  title: value.annotation.title
5410
5438
  });
@@ -5412,10 +5440,10 @@ var OpenAIResponsesLanguageModel = class {
5412
5440
  controller.enqueue({
5413
5441
  type: "source",
5414
5442
  sourceType: "document",
5415
- id: (_o = (_n = (_m = self.config).generateId) == null ? void 0 : _n.call(_m)) != null ? _o : (0, import_provider_utils32.generateId)(),
5443
+ id: (_q = (_p = (_o = self.config).generateId) == null ? void 0 : _p.call(_o)) != null ? _q : (0, import_provider_utils32.generateId)(),
5416
5444
  mediaType: "text/plain",
5417
- title: (_q = (_p = value.annotation.quote) != null ? _p : value.annotation.filename) != null ? _q : "Document",
5418
- filename: (_r = value.annotation.filename) != null ? _r : value.annotation.file_id,
5445
+ title: (_s = (_r = value.annotation.quote) != null ? _r : value.annotation.filename) != null ? _s : "Document",
5446
+ filename: (_t = value.annotation.filename) != null ? _t : value.annotation.file_id,
5419
5447
  ...value.annotation.file_id ? {
5420
5448
  providerMetadata: {
5421
5449
  [providerKey]: {
@@ -5428,10 +5456,10 @@ var OpenAIResponsesLanguageModel = class {
5428
5456
  controller.enqueue({
5429
5457
  type: "source",
5430
5458
  sourceType: "document",
5431
- id: (_u = (_t = (_s = self.config).generateId) == null ? void 0 : _t.call(_s)) != null ? _u : (0, import_provider_utils32.generateId)(),
5459
+ id: (_w = (_v = (_u = self.config).generateId) == null ? void 0 : _v.call(_u)) != null ? _w : (0, import_provider_utils32.generateId)(),
5432
5460
  mediaType: "text/plain",
5433
- title: (_w = (_v = value.annotation.filename) != null ? _v : value.annotation.file_id) != null ? _w : "Document",
5434
- filename: (_x = value.annotation.filename) != null ? _x : value.annotation.file_id,
5461
+ title: (_y = (_x = value.annotation.filename) != null ? _x : value.annotation.file_id) != null ? _y : "Document",
5462
+ filename: (_z = value.annotation.filename) != null ? _z : value.annotation.file_id,
5435
5463
  providerMetadata: {
5436
5464
  [providerKey]: {
5437
5465
  fileId: value.annotation.file_id,
@@ -5444,7 +5472,7 @@ var OpenAIResponsesLanguageModel = class {
5444
5472
  controller.enqueue({
5445
5473
  type: "source",
5446
5474
  sourceType: "document",
5447
- id: (_A = (_z = (_y = self.config).generateId) == null ? void 0 : _z.call(_y)) != null ? _A : (0, import_provider_utils32.generateId)(),
5475
+ id: (_C = (_B = (_A = self.config).generateId) == null ? void 0 : _B.call(_A)) != null ? _C : (0, import_provider_utils32.generateId)(),
5448
5476
  mediaType: "application/octet-stream",
5449
5477
  title: value.annotation.file_id,
5450
5478
  filename: value.annotation.file_id,