@ai-sdk/openai 3.0.124 → 3.0.125

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
@@ -3169,6 +3169,7 @@ import {
3169
3169
  isNonNullable,
3170
3170
  parseJSON,
3171
3171
  parseProviderOptions as parseProviderOptions5,
3172
+ safeValidateTypes,
3172
3173
  validateTypes
3173
3174
  } from "@ai-sdk/provider-utils";
3174
3175
  import { z as z22 } from "zod/v4";
@@ -3558,6 +3559,57 @@ async function expandParallelToolCall({
3558
3559
  function serializeToolCallArguments2(input) {
3559
3560
  return JSON.stringify(input === void 0 ? {} : input);
3560
3561
  }
3562
+ async function convertWebSearchToolResultOutput({
3563
+ output,
3564
+ id
3565
+ }) {
3566
+ if (output.type !== "json") {
3567
+ return void 0;
3568
+ }
3569
+ const validation = await safeValidateTypes({
3570
+ value: output.value,
3571
+ schema: webSearchOutputSchema
3572
+ });
3573
+ if (!validation.success || validation.value.action == null) {
3574
+ return void 0;
3575
+ }
3576
+ const { action, sources } = validation.value;
3577
+ switch (action.type) {
3578
+ case "search":
3579
+ return {
3580
+ type: "web_search_call",
3581
+ id,
3582
+ status: "completed",
3583
+ action: {
3584
+ type: "search",
3585
+ ...action.query != null && { query: action.query },
3586
+ ...action.queries != null && { queries: action.queries },
3587
+ ...sources != null && { sources }
3588
+ }
3589
+ };
3590
+ case "openPage":
3591
+ return {
3592
+ type: "web_search_call",
3593
+ id,
3594
+ status: "completed",
3595
+ action: {
3596
+ type: "open_page",
3597
+ url: action.url
3598
+ }
3599
+ };
3600
+ case "findInPage":
3601
+ return {
3602
+ type: "web_search_call",
3603
+ id,
3604
+ status: "completed",
3605
+ action: {
3606
+ type: "find_in_page",
3607
+ url: action.url,
3608
+ pattern: action.pattern
3609
+ }
3610
+ };
3611
+ }
3612
+ }
3561
3613
  async function convertFunctionToolResultOutput({
3562
3614
  output,
3563
3615
  promptCacheBreakpoint,
@@ -3764,7 +3816,7 @@ async function convertToOpenAIResponsesInput({
3764
3816
  toolSearchToolName,
3765
3817
  customProviderToolNames
3766
3818
  }) {
3767
- var _a2, _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, _D;
3819
+ var _a2, _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, _D, _E, _F, _G;
3768
3820
  let input = [];
3769
3821
  const warnings = [];
3770
3822
  const processedApprovalIds = /* @__PURE__ */ new Set();
@@ -4110,8 +4162,23 @@ async function convertToOpenAIResponsesInput({
4110
4162
  const resolvedResultToolName = toolNameMapping.toProviderToolName(
4111
4163
  part.toolName
4112
4164
  );
4165
+ if (resolvedResultToolName === "web_search" || resolvedResultToolName === "web_search_preview") {
4166
+ const itemId = (_u = (_t = (_s = part.providerOptions) == null ? void 0 : _s[providerOptionsName]) == null ? void 0 : _t.itemId) != null ? _u : part.toolCallId;
4167
+ if (store) {
4168
+ input.push({ type: "item_reference", id: itemId });
4169
+ break;
4170
+ }
4171
+ const webSearchCall = await convertWebSearchToolResultOutput({
4172
+ output: part.output,
4173
+ id: itemId
4174
+ });
4175
+ if (webSearchCall != null) {
4176
+ input.push(webSearchCall);
4177
+ break;
4178
+ }
4179
+ }
4113
4180
  if (part.toolName === toolSearchToolName) {
4114
- const itemId = (_x = (_w = (_t = (_s = part.providerOptions) == null ? void 0 : _s[providerOptionsName]) == null ? void 0 : _t.itemId) != null ? _w : (_v = (_u = part.providerMetadata) == null ? void 0 : _u[providerOptionsName]) == null ? void 0 : _v.itemId) != null ? _x : part.toolCallId;
4181
+ const itemId = (_A = (_z = (_w = (_v = part.providerOptions) == null ? void 0 : _v[providerOptionsName]) == null ? void 0 : _w.itemId) != null ? _z : (_y = (_x = part.providerMetadata) == null ? void 0 : _x[providerOptionsName]) == null ? void 0 : _y.itemId) != null ? _A : part.toolCallId;
4115
4182
  if (store) {
4116
4183
  input.push({ type: "item_reference", id: itemId });
4117
4184
  } else if (part.output.type === "json") {
@@ -4152,7 +4219,7 @@ async function convertToOpenAIResponsesInput({
4152
4219
  break;
4153
4220
  }
4154
4221
  if (store) {
4155
- const itemId = (_A = (_z = (_y = part.providerOptions) == null ? void 0 : _y[providerOptionsName]) == null ? void 0 : _z.itemId) != null ? _A : part.toolCallId;
4222
+ const itemId = (_D = (_C = (_B = part.providerOptions) == null ? void 0 : _B[providerOptionsName]) == null ? void 0 : _C.itemId) != null ? _D : part.toolCallId;
4156
4223
  input.push({ type: "item_reference", id: itemId });
4157
4224
  } else {
4158
4225
  warnings.push({
@@ -4319,7 +4386,7 @@ ${text}`,
4319
4386
  }
4320
4387
  const output = part.output;
4321
4388
  if (output.type === "execution-denied") {
4322
- const approvalId = (_C = (_B = output.providerOptions) == null ? void 0 : _B.openai) == null ? void 0 : _C.approvalId;
4389
+ const approvalId = (_F = (_E = output.providerOptions) == null ? void 0 : _E.openai) == null ? void 0 : _F.approvalId;
4323
4390
  if (approvalId) {
4324
4391
  continue;
4325
4392
  }
@@ -4406,7 +4473,7 @@ ${text}`,
4406
4473
  break;
4407
4474
  case "execution-denied":
4408
4475
  outputValue = convertScalarOutput(
4409
- (_D = output.reason) != null ? _D : "Tool call execution denied."
4476
+ (_G = output.reason) != null ? _G : "Tool call execution denied."
4410
4477
  );
4411
4478
  break;
4412
4479
  case "json":
@@ -4605,7 +4672,7 @@ var openaiResponsesNestedErrorChunkSchema = z23.object({
4605
4672
  sequence_number: z23.number(),
4606
4673
  error: z23.object({
4607
4674
  type: z23.string(),
4608
- code: z23.string(),
4675
+ code: z23.string().nullish(),
4609
4676
  message: z23.string(),
4610
4677
  param: z23.string().nullish()
4611
4678
  })
@@ -8358,7 +8425,7 @@ var OpenAITranscriptionModel = class {
8358
8425
  };
8359
8426
 
8360
8427
  // src/version.ts
8361
- var VERSION = true ? "3.0.124" : "0.0.0-test";
8428
+ var VERSION = true ? "3.0.125" : "0.0.0-test";
8362
8429
 
8363
8430
  // src/openai-provider.ts
8364
8431
  function createOpenAI(options = {}) {