@openai-oauth/ai-sdk 2.0.0-beta.2 → 2.0.0-beta.3

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/README.md CHANGED
@@ -23,6 +23,27 @@ const result = await generateText({
23
23
  });
24
24
  ```
25
25
 
26
+ Generate or edit images with GPT Image 2:
27
+
28
+ ```ts
29
+ import { readFile } from "node:fs/promises";
30
+ import { generateImage } from "ai";
31
+
32
+ const result = await generateImage({
33
+ model: openai.image("gpt-image-2"),
34
+ prompt: "A tiny house in a forest",
35
+ });
36
+
37
+ const inputImage = await readFile("input.png");
38
+ const edited = await generateImage({
39
+ model: openai.image("gpt-image-2"),
40
+ prompt: {
41
+ text: "Add a red hat",
42
+ images: [inputImage],
43
+ },
44
+ });
45
+ ```
46
+
26
47
  ## Package Notes
27
48
 
28
49
  `@openai-oauth/ai-sdk` accepts any OpenAI OAuth credential source.
@@ -63,6 +84,8 @@ const openai = createOpenAIOAuth(credentials);
63
84
 
64
85
  openai("gpt-5.4-mini");
65
86
  openai.languageModel("gpt-5.4-mini");
87
+ openai.image("gpt-image-2");
88
+ openai.imageModel("gpt-image-2");
66
89
  ```
67
90
 
68
91
  Exports:
@@ -72,6 +95,7 @@ Exports:
72
95
  - `OpenAIOAuthProviderInput`
73
96
  - `OpenAIOAuthProviderSettings`
74
97
  - `OpenAIOAuthModelId`
98
+ - `OpenAIOAuthImageModelId`
75
99
 
76
100
  ## More
77
101
 
package/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- import { ProviderV3, LanguageModelV3 } from '@ai-sdk/provider';
1
+ import { ProviderV3, LanguageModelV3, ImageModelV3 } from '@ai-sdk/provider';
2
2
  import { OpenAIOAuthTransport, OpenAIOAuth } from '@openai-oauth/core';
3
3
 
4
4
  type OpenAIOAuthModelId = string;
5
+ type OpenAIOAuthImageModelId = string;
5
6
  type OpenAIOAuthProviderSettings = {
6
7
  name?: string;
7
8
  };
@@ -9,7 +10,9 @@ type OpenAIOAuthProviderInput = OpenAIOAuthTransport | OpenAIOAuth;
9
10
  interface OpenAIOAuthProvider extends ProviderV3 {
10
11
  (modelId: OpenAIOAuthModelId): LanguageModelV3;
11
12
  languageModel(modelId: OpenAIOAuthModelId): LanguageModelV3;
13
+ image(modelId: OpenAIOAuthImageModelId): ImageModelV3;
14
+ imageModel(modelId: OpenAIOAuthImageModelId): ImageModelV3;
12
15
  }
13
16
  declare const createOpenAIOAuth: (input: OpenAIOAuthProviderInput, settings?: OpenAIOAuthProviderSettings) => OpenAIOAuthProvider;
14
17
 
15
- export { type OpenAIOAuthModelId, type OpenAIOAuthProvider, type OpenAIOAuthProviderInput, type OpenAIOAuthProviderSettings, createOpenAIOAuth };
18
+ export { type OpenAIOAuthImageModelId, type OpenAIOAuthModelId, type OpenAIOAuthProvider, type OpenAIOAuthProviderInput, type OpenAIOAuthProviderSettings, createOpenAIOAuth };
package/dist/index.js CHANGED
@@ -1,5 +1,8 @@
1
1
  // src/provider.ts
2
- import { OpenAIResponsesLanguageModel } from "@ai-sdk/openai/internal";
2
+ import {
3
+ OpenAIImageModel,
4
+ OpenAIResponsesLanguageModel
5
+ } from "@ai-sdk/openai/internal";
3
6
  import {
4
7
  NoSuchModelError
5
8
  } from "@ai-sdk/provider";
@@ -228,17 +231,22 @@ var createOpenAIOAuth = (input, settings = {}) => {
228
231
  fileIdPrefixes: ["file-"]
229
232
  };
230
233
  const createModel = (modelId) => new CodexResponsesLanguageModel(modelId, config);
234
+ const createImageModel = (modelId) => new OpenAIImageModel(modelId, {
235
+ provider: `${providerName}.image`,
236
+ url: ({ path }) => `${baseURL}${path}`,
237
+ headers: () => withUserAgentSuffix({}, "oai-oauth/0.0.0"),
238
+ fetch: oauthFetch
239
+ });
231
240
  const providerFn = (modelId) => createModel(modelId);
232
241
  const specificationVersion = "v3";
233
242
  return Object.assign(providerFn, {
234
243
  specificationVersion,
235
244
  languageModel: createModel,
245
+ image: createImageModel,
236
246
  embeddingModel: (modelId) => {
237
247
  throw new NoSuchModelError({ modelId, modelType: "embeddingModel" });
238
248
  },
239
- imageModel: (modelId) => {
240
- throw new NoSuchModelError({ modelId, modelType: "imageModel" });
241
- }
249
+ imageModel: createImageModel
242
250
  });
243
251
  };
244
252
  export {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openai-oauth/ai-sdk",
3
- "version": "2.0.0-beta.2",
3
+ "version": "2.0.0-beta.3",
4
4
  "description": "Vercel AI SDK provider adapter for openai-oauth auth handles.",
5
5
  "keywords": [
6
6
  "openai",
@@ -43,10 +43,10 @@
43
43
  "@ai-sdk/openai": "3.0.41",
44
44
  "@ai-sdk/provider": "3.0.8",
45
45
  "@ai-sdk/provider-utils": "4.0.19",
46
- "@openai-oauth/core": "2.0.0-beta.2"
46
+ "@openai-oauth/core": "2.0.0-beta.3"
47
47
  },
48
48
  "devDependencies": {
49
- "@openai-oauth/local": "2.0.0-beta.2",
49
+ "@openai-oauth/local": "2.0.0-beta.3",
50
50
  "@types/node": "20.17.24",
51
51
  "ai": "6.0.116",
52
52
  "typescript": "latest",