@ai-sdk/openai 4.0.0-beta.22 → 4.0.0-beta.25

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
@@ -2382,7 +2382,7 @@ var shellSkillsSchema = z17.array(
2382
2382
  z17.discriminatedUnion("type", [
2383
2383
  z17.object({
2384
2384
  type: z17.literal("skillReference"),
2385
- skillId: z17.string(),
2385
+ providerReference: z17.record(z17.string(), z17.string()),
2386
2386
  version: z17.string().optional()
2387
2387
  }),
2388
2388
  z17.object({
@@ -4601,7 +4601,10 @@ var openaiLanguageModelResponsesOptionsSchema = lazySchema22(
4601
4601
  import {
4602
4602
  UnsupportedFunctionalityError as UnsupportedFunctionalityError5
4603
4603
  } from "@ai-sdk/provider";
4604
- import { validateTypes as validateTypes2 } from "@ai-sdk/provider-utils";
4604
+ import {
4605
+ resolveProviderReference as resolveProviderReference3,
4606
+ validateTypes as validateTypes2
4607
+ } from "@ai-sdk/provider-utils";
4605
4608
  async function prepareResponsesTools({
4606
4609
  tools,
4607
4610
  toolChoice,
@@ -4854,19 +4857,25 @@ function mapShellEnvironment(environment) {
4854
4857
  }
4855
4858
  function mapShellSkills(skills) {
4856
4859
  return skills == null ? void 0 : skills.map(
4857
- (skill) => skill.type === "skillReference" ? {
4858
- type: "skill_reference",
4859
- skill_id: skill.skillId,
4860
- version: skill.version
4861
- } : {
4862
- type: "inline",
4863
- name: skill.name,
4864
- description: skill.description,
4865
- source: {
4866
- type: "base64",
4867
- media_type: skill.source.mediaType,
4868
- data: skill.source.data
4869
- }
4860
+ (skill) => {
4861
+ var _a, _b;
4862
+ return skill.type === "skillReference" ? {
4863
+ type: "skill_reference",
4864
+ skill_id: resolveProviderReference3({
4865
+ reference: (_a = skill.providerReference) != null ? _a : {},
4866
+ provider: "openai"
4867
+ }),
4868
+ version: (_b = skill.version) != null ? _b : "latest"
4869
+ } : {
4870
+ type: "inline",
4871
+ name: skill.name,
4872
+ description: skill.description,
4873
+ source: {
4874
+ type: "base64",
4875
+ media_type: skill.source.mediaType,
4876
+ data: skill.source.data
4877
+ }
4878
+ };
4870
4879
  }
4871
4880
  );
4872
4881
  }
@@ -6960,8 +6969,92 @@ var OpenAITranscriptionModel = class {
6960
6969
  }
6961
6970
  };
6962
6971
 
6972
+ // src/skills/openai-skills.ts
6973
+ import {
6974
+ combineHeaders as combineHeaders9,
6975
+ convertBase64ToUint8Array as convertBase64ToUint8Array4,
6976
+ createJsonResponseHandler as createJsonResponseHandler8,
6977
+ postFormDataToApi as postFormDataToApi4
6978
+ } from "@ai-sdk/provider-utils";
6979
+
6980
+ // src/skills/openai-skills-api.ts
6981
+ import { lazySchema as lazySchema26, zodSchema as zodSchema26 } from "@ai-sdk/provider-utils";
6982
+ import { z as z28 } from "zod/v4";
6983
+ var openaiSkillResponseSchema = lazySchema26(
6984
+ () => zodSchema26(
6985
+ z28.object({
6986
+ id: z28.string(),
6987
+ name: z28.string().nullish(),
6988
+ description: z28.string().nullish(),
6989
+ default_version: z28.string().nullish(),
6990
+ latest_version: z28.string().nullish(),
6991
+ created_at: z28.number(),
6992
+ updated_at: z28.number().nullish()
6993
+ })
6994
+ )
6995
+ );
6996
+ var openaiSkillVersionResponseSchema = lazySchema26(
6997
+ () => zodSchema26(
6998
+ z28.object({
6999
+ id: z28.string(),
7000
+ version: z28.string().nullish(),
7001
+ name: z28.string().nullish(),
7002
+ description: z28.string().nullish()
7003
+ })
7004
+ )
7005
+ );
7006
+
7007
+ // src/skills/openai-skills.ts
7008
+ var OpenAISkills = class {
7009
+ constructor(config) {
7010
+ this.config = config;
7011
+ this.specificationVersion = "v4";
7012
+ }
7013
+ get provider() {
7014
+ return this.config.provider;
7015
+ }
7016
+ async upload(params) {
7017
+ const warnings = [];
7018
+ if (params.displayTitle != null) {
7019
+ warnings.push({
7020
+ type: "unsupported",
7021
+ feature: "displayTitle"
7022
+ });
7023
+ }
7024
+ const formData = new FormData();
7025
+ for (const file of params.files) {
7026
+ const content = typeof file.content === "string" ? convertBase64ToUint8Array4(file.content) : file.content;
7027
+ formData.append("files[]", new Blob([content]), file.path);
7028
+ }
7029
+ const { value: response } = await postFormDataToApi4({
7030
+ url: this.config.url({ path: "/skills" }),
7031
+ headers: combineHeaders9(this.config.headers()),
7032
+ formData,
7033
+ failedResponseHandler: openaiFailedResponseHandler,
7034
+ successfulResponseHandler: createJsonResponseHandler8(
7035
+ openaiSkillResponseSchema
7036
+ ),
7037
+ fetch: this.config.fetch
7038
+ });
7039
+ return {
7040
+ providerReference: { openai: response.id },
7041
+ ...response.name != null ? { name: response.name } : {},
7042
+ ...response.description != null ? { description: response.description } : {},
7043
+ ...response.latest_version != null ? { latestVersion: response.latest_version } : {},
7044
+ providerMetadata: {
7045
+ openai: {
7046
+ ...response.default_version != null ? { defaultVersion: response.default_version } : {},
7047
+ ...response.created_at != null ? { createdAt: response.created_at } : {},
7048
+ ...response.updated_at != null ? { updatedAt: response.updated_at } : {}
7049
+ }
7050
+ },
7051
+ warnings
7052
+ };
7053
+ }
7054
+ };
7055
+
6963
7056
  // src/version.ts
6964
- var VERSION = true ? "4.0.0-beta.22" : "0.0.0-test";
7057
+ var VERSION = true ? "4.0.0-beta.25" : "0.0.0-test";
6965
7058
 
6966
7059
  // src/openai-provider.ts
6967
7060
  function createOpenAI(options = {}) {
@@ -7028,6 +7121,12 @@ function createOpenAI(options = {}) {
7028
7121
  headers: getHeaders,
7029
7122
  fetch: options.fetch
7030
7123
  });
7124
+ const createSkills = () => new OpenAISkills({
7125
+ provider: `${providerName}.skills`,
7126
+ url: ({ path }) => `${baseURL}${path}`,
7127
+ headers: getHeaders,
7128
+ fetch: options.fetch
7129
+ });
7031
7130
  const createLanguageModel = (modelId) => {
7032
7131
  if (new.target) {
7033
7132
  throw new Error(
@@ -7065,6 +7164,7 @@ function createOpenAI(options = {}) {
7065
7164
  provider.speech = createSpeechModel;
7066
7165
  provider.speechModel = createSpeechModel;
7067
7166
  provider.files = createFiles;
7167
+ provider.skills = createSkills;
7068
7168
  provider.tools = openaiTools;
7069
7169
  return provider;
7070
7170
  }