@ai-sdk/fireworks 0.0.0-156c9f7b-20250115085202 → 0.0.0-1c33ba03-20260114162300

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
@@ -1,6 +1,6 @@
1
1
  # AI SDK - Fireworks Provider
2
2
 
3
- The **[Fireworks provider](https://sdk.vercel.ai/providers/ai-sdk-providers/fireworks)** for the [AI SDK](https://sdk.vercel.ai/docs) contains language model and image model support for the [Fireworks](https://fireworks.ai) platform.
3
+ The **[Fireworks provider](https://ai-sdk.dev/providers/ai-sdk-providers/fireworks)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model and image model support for the [Fireworks](https://fireworks.ai) platform.
4
4
 
5
5
  ## Setup
6
6
 
@@ -34,7 +34,7 @@ const { text } = await generateText({
34
34
 
35
35
  ```ts
36
36
  import { fireworks } from '@ai-sdk/fireworks';
37
- import { experimental_generateImage as generateImage } from 'ai';
37
+ import { generateImage } from 'ai';
38
38
  import fs from 'fs';
39
39
 
40
40
  const { image } = await generateImage({
@@ -48,4 +48,4 @@ console.log(`Image saved to ${filename}`);
48
48
 
49
49
  ## Documentation
50
50
 
51
- Please check out the **[Fireworks provider](https://sdk.vercel.ai/providers/ai-sdk-providers/fireworks)** for more information.
51
+ Please check out the **[Fireworks provider](https://ai-sdk.dev/providers/ai-sdk-providers/fireworks)** for more information.
package/dist/index.d.mts CHANGED
@@ -1,30 +1,40 @@
1
- import { LanguageModelV1, EmbeddingModelV1, ImageModelV1 } from '@ai-sdk/provider';
1
+ import { z } from 'zod/v4';
2
+ import { ImageModelV3, ProviderV3, LanguageModelV3, EmbeddingModelV3 } from '@ai-sdk/provider';
2
3
  import { FetchFunction } from '@ai-sdk/provider-utils';
3
- import { z } from 'zod';
4
- import { OpenAICompatibleChatSettings, OpenAICompatibleCompletionSettings, OpenAICompatibleEmbeddingSettings } from '@ai-sdk/openai-compatible';
5
4
 
6
- type FireworksChatModelId = 'accounts/fireworks/models/deepseek-v3' | 'accounts/fireworks/models/llama-v3p3-70b-instruct' | 'accounts/fireworks/models/llama-v3p2-3b-instruct' | 'accounts/fireworks/models/llama-v3p1-405b-instruct' | 'accounts/fireworks/models/llama-v3p1-8b-instruct' | 'accounts/fireworks/models/mixtral-8x7b-instruct' | 'accounts/fireworks/models/mixtral-8x22b-instruct' | 'accounts/fireworks/models/mixtral-8x7b-instruct-hf' | 'accounts/fireworks/models/qwen2p5-coder-32b-instruct' | 'accounts/fireworks/models/qwen2p5-72b-instruct' | 'accounts/fireworks/models/qwen-qwq-32b-preview' | 'accounts/fireworks/models/qwen2-vl-72b-instruct' | 'accounts/fireworks/models/llama-v3p2-11b-vision-instruct' | 'accounts/fireworks/models/yi-large' | (string & {});
7
- interface FireworksChatSettings extends OpenAICompatibleChatSettings {
8
- }
5
+ type FireworksEmbeddingModelId = 'nomic-ai/nomic-embed-text-v1.5' | (string & {});
6
+ declare const fireworksEmbeddingProviderOptions: z.ZodObject<{}, z.core.$strip>;
7
+ type FireworksEmbeddingProviderOptions = z.infer<typeof fireworksEmbeddingProviderOptions>;
9
8
 
10
- type FireworksCompletionModelId = 'accounts/fireworks/models/llama-v3-8b-instruct' | 'accounts/fireworks/models/llama-v2-34b-code' | (string & {});
11
- interface FireworksCompletionSettings extends OpenAICompatibleCompletionSettings {
12
- }
9
+ type FireworksImageModelId = 'accounts/fireworks/models/flux-1-dev-fp8' | 'accounts/fireworks/models/flux-1-schnell-fp8' | 'accounts/fireworks/models/flux-kontext-pro' | 'accounts/fireworks/models/flux-kontext-max' | 'accounts/fireworks/models/playground-v2-5-1024px-aesthetic' | 'accounts/fireworks/models/japanese-stable-diffusion-xl' | 'accounts/fireworks/models/playground-v2-1024px-aesthetic' | 'accounts/fireworks/models/SSD-1B' | 'accounts/fireworks/models/stable-diffusion-xl-1024-v1-0' | (string & {});
13
10
 
14
- type FireworksEmbeddingModelId = 'nomic-ai/nomic-embed-text-v1.5' | (string & {});
15
- interface FireworksEmbeddingSettings extends OpenAICompatibleEmbeddingSettings {
11
+ interface FireworksImageModelConfig {
12
+ provider: string;
13
+ baseURL: string;
14
+ headers: () => Record<string, string>;
15
+ fetch?: FetchFunction;
16
+ _internal?: {
17
+ currentDate?: () => Date;
18
+ };
19
+ }
20
+ declare class FireworksImageModel implements ImageModelV3 {
21
+ readonly modelId: FireworksImageModelId;
22
+ private config;
23
+ readonly specificationVersion = "v3";
24
+ readonly maxImagesPerCall = 1;
25
+ get provider(): string;
26
+ constructor(modelId: FireworksImageModelId, config: FireworksImageModelConfig);
27
+ doGenerate({ prompt, n, size, aspectRatio, seed, providerOptions, headers, abortSignal, files, mask, }: Parameters<ImageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV3['doGenerate']>>>;
16
28
  }
17
29
 
18
- type FireworksImageModelId = 'accounts/fireworks/models/flux-1-dev-fp8' | 'accounts/fireworks/models/flux-1-schnell-fp8' | 'accounts/fireworks/models/playground-v2-5-1024px-aesthetic' | 'accounts/fireworks/models/japanese-stable-diffusion-xl' | 'accounts/fireworks/models/playground-v2-1024px-aesthetic' | 'accounts/fireworks/models/SSD-1B' | 'accounts/fireworks/models/stable-diffusion-xl-1024-v1-0' | (string & {});
30
+ type FireworksChatModelId = 'accounts/fireworks/models/deepseek-v3' | 'accounts/fireworks/models/llama-v3p3-70b-instruct' | 'accounts/fireworks/models/llama-v3p2-3b-instruct' | 'accounts/fireworks/models/llama-v3p1-405b-instruct' | 'accounts/fireworks/models/llama-v3p1-8b-instruct' | 'accounts/fireworks/models/mixtral-8x7b-instruct' | 'accounts/fireworks/models/mixtral-8x22b-instruct' | 'accounts/fireworks/models/mixtral-8x7b-instruct-hf' | 'accounts/fireworks/models/qwen2p5-coder-32b-instruct' | 'accounts/fireworks/models/qwen2p5-72b-instruct' | 'accounts/fireworks/models/qwen-qwq-32b-preview' | 'accounts/fireworks/models/qwen2-vl-72b-instruct' | 'accounts/fireworks/models/llama-v3p2-11b-vision-instruct' | 'accounts/fireworks/models/qwq-32b' | 'accounts/fireworks/models/yi-large' | 'accounts/fireworks/models/kimi-k2-instruct' | (string & {});
31
+
32
+ type FireworksCompletionModelId = 'accounts/fireworks/models/llama-v3-8b-instruct' | 'accounts/fireworks/models/llama-v2-34b-code' | (string & {});
19
33
 
20
34
  type FireworksErrorData = z.infer<typeof fireworksErrorSchema>;
21
35
  declare const fireworksErrorSchema: z.ZodObject<{
22
36
  error: z.ZodString;
23
- }, "strip", z.ZodTypeAny, {
24
- error: string;
25
- }, {
26
- error: string;
27
- }>;
37
+ }, z.core.$strip>;
28
38
  interface FireworksProviderSettings {
29
39
  /**
30
40
  Fireworks API key. Default value is taken from the `FIREWORKS_API_KEY`
@@ -45,29 +55,43 @@ interface FireworksProviderSettings {
45
55
  */
46
56
  fetch?: FetchFunction;
47
57
  }
48
- interface FireworksProvider {
58
+ interface FireworksProvider extends ProviderV3 {
49
59
  /**
50
60
  Creates a model for text generation.
51
61
  */
52
- (modelId: FireworksChatModelId, settings?: FireworksChatSettings): LanguageModelV1;
62
+ (modelId: FireworksChatModelId): LanguageModelV3;
53
63
  /**
54
64
  Creates a chat model for text generation.
55
65
  */
56
- chatModel(modelId: FireworksChatModelId, settings?: FireworksChatSettings): LanguageModelV1;
66
+ chatModel(modelId: FireworksChatModelId): LanguageModelV3;
57
67
  /**
58
68
  Creates a completion model for text generation.
59
69
  */
60
- completionModel(modelId: FireworksCompletionModelId, settings?: FireworksCompletionSettings): LanguageModelV1;
70
+ completionModel(modelId: FireworksCompletionModelId): LanguageModelV3;
71
+ /**
72
+ Creates a chat model for text generation.
73
+ */
74
+ languageModel(modelId: FireworksChatModelId): LanguageModelV3;
61
75
  /**
62
76
  Creates a text embedding model for text generation.
63
77
  */
64
- textEmbeddingModel(modelId: FireworksEmbeddingModelId, settings?: FireworksEmbeddingSettings): EmbeddingModelV1<string>;
78
+ embeddingModel(modelId: FireworksEmbeddingModelId): EmbeddingModelV3;
79
+ /**
80
+ * @deprecated Use `embeddingModel` instead.
81
+ */
82
+ textEmbeddingModel(modelId: FireworksEmbeddingModelId): EmbeddingModelV3;
83
+ /**
84
+ Creates a model for image generation.
85
+ */
86
+ image(modelId: FireworksImageModelId): ImageModelV3;
65
87
  /**
66
88
  Creates a model for image generation.
67
89
  */
68
- image(modelId: FireworksImageModelId): ImageModelV1;
90
+ imageModel(modelId: FireworksImageModelId): ImageModelV3;
69
91
  }
70
92
  declare function createFireworks(options?: FireworksProviderSettings): FireworksProvider;
71
93
  declare const fireworks: FireworksProvider;
72
94
 
73
- export { type FireworksErrorData, type FireworksProvider, type FireworksProviderSettings, createFireworks, fireworks };
95
+ declare const VERSION: string;
96
+
97
+ export { type FireworksEmbeddingModelId, type FireworksEmbeddingProviderOptions, type FireworksErrorData, FireworksImageModel, type FireworksImageModelId, type FireworksProvider, type FireworksProviderSettings, VERSION, createFireworks, fireworks };
package/dist/index.d.ts CHANGED
@@ -1,30 +1,40 @@
1
- import { LanguageModelV1, EmbeddingModelV1, ImageModelV1 } from '@ai-sdk/provider';
1
+ import { z } from 'zod/v4';
2
+ import { ImageModelV3, ProviderV3, LanguageModelV3, EmbeddingModelV3 } from '@ai-sdk/provider';
2
3
  import { FetchFunction } from '@ai-sdk/provider-utils';
3
- import { z } from 'zod';
4
- import { OpenAICompatibleChatSettings, OpenAICompatibleCompletionSettings, OpenAICompatibleEmbeddingSettings } from '@ai-sdk/openai-compatible';
5
4
 
6
- type FireworksChatModelId = 'accounts/fireworks/models/deepseek-v3' | 'accounts/fireworks/models/llama-v3p3-70b-instruct' | 'accounts/fireworks/models/llama-v3p2-3b-instruct' | 'accounts/fireworks/models/llama-v3p1-405b-instruct' | 'accounts/fireworks/models/llama-v3p1-8b-instruct' | 'accounts/fireworks/models/mixtral-8x7b-instruct' | 'accounts/fireworks/models/mixtral-8x22b-instruct' | 'accounts/fireworks/models/mixtral-8x7b-instruct-hf' | 'accounts/fireworks/models/qwen2p5-coder-32b-instruct' | 'accounts/fireworks/models/qwen2p5-72b-instruct' | 'accounts/fireworks/models/qwen-qwq-32b-preview' | 'accounts/fireworks/models/qwen2-vl-72b-instruct' | 'accounts/fireworks/models/llama-v3p2-11b-vision-instruct' | 'accounts/fireworks/models/yi-large' | (string & {});
7
- interface FireworksChatSettings extends OpenAICompatibleChatSettings {
8
- }
5
+ type FireworksEmbeddingModelId = 'nomic-ai/nomic-embed-text-v1.5' | (string & {});
6
+ declare const fireworksEmbeddingProviderOptions: z.ZodObject<{}, z.core.$strip>;
7
+ type FireworksEmbeddingProviderOptions = z.infer<typeof fireworksEmbeddingProviderOptions>;
9
8
 
10
- type FireworksCompletionModelId = 'accounts/fireworks/models/llama-v3-8b-instruct' | 'accounts/fireworks/models/llama-v2-34b-code' | (string & {});
11
- interface FireworksCompletionSettings extends OpenAICompatibleCompletionSettings {
12
- }
9
+ type FireworksImageModelId = 'accounts/fireworks/models/flux-1-dev-fp8' | 'accounts/fireworks/models/flux-1-schnell-fp8' | 'accounts/fireworks/models/flux-kontext-pro' | 'accounts/fireworks/models/flux-kontext-max' | 'accounts/fireworks/models/playground-v2-5-1024px-aesthetic' | 'accounts/fireworks/models/japanese-stable-diffusion-xl' | 'accounts/fireworks/models/playground-v2-1024px-aesthetic' | 'accounts/fireworks/models/SSD-1B' | 'accounts/fireworks/models/stable-diffusion-xl-1024-v1-0' | (string & {});
13
10
 
14
- type FireworksEmbeddingModelId = 'nomic-ai/nomic-embed-text-v1.5' | (string & {});
15
- interface FireworksEmbeddingSettings extends OpenAICompatibleEmbeddingSettings {
11
+ interface FireworksImageModelConfig {
12
+ provider: string;
13
+ baseURL: string;
14
+ headers: () => Record<string, string>;
15
+ fetch?: FetchFunction;
16
+ _internal?: {
17
+ currentDate?: () => Date;
18
+ };
19
+ }
20
+ declare class FireworksImageModel implements ImageModelV3 {
21
+ readonly modelId: FireworksImageModelId;
22
+ private config;
23
+ readonly specificationVersion = "v3";
24
+ readonly maxImagesPerCall = 1;
25
+ get provider(): string;
26
+ constructor(modelId: FireworksImageModelId, config: FireworksImageModelConfig);
27
+ doGenerate({ prompt, n, size, aspectRatio, seed, providerOptions, headers, abortSignal, files, mask, }: Parameters<ImageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV3['doGenerate']>>>;
16
28
  }
17
29
 
18
- type FireworksImageModelId = 'accounts/fireworks/models/flux-1-dev-fp8' | 'accounts/fireworks/models/flux-1-schnell-fp8' | 'accounts/fireworks/models/playground-v2-5-1024px-aesthetic' | 'accounts/fireworks/models/japanese-stable-diffusion-xl' | 'accounts/fireworks/models/playground-v2-1024px-aesthetic' | 'accounts/fireworks/models/SSD-1B' | 'accounts/fireworks/models/stable-diffusion-xl-1024-v1-0' | (string & {});
30
+ type FireworksChatModelId = 'accounts/fireworks/models/deepseek-v3' | 'accounts/fireworks/models/llama-v3p3-70b-instruct' | 'accounts/fireworks/models/llama-v3p2-3b-instruct' | 'accounts/fireworks/models/llama-v3p1-405b-instruct' | 'accounts/fireworks/models/llama-v3p1-8b-instruct' | 'accounts/fireworks/models/mixtral-8x7b-instruct' | 'accounts/fireworks/models/mixtral-8x22b-instruct' | 'accounts/fireworks/models/mixtral-8x7b-instruct-hf' | 'accounts/fireworks/models/qwen2p5-coder-32b-instruct' | 'accounts/fireworks/models/qwen2p5-72b-instruct' | 'accounts/fireworks/models/qwen-qwq-32b-preview' | 'accounts/fireworks/models/qwen2-vl-72b-instruct' | 'accounts/fireworks/models/llama-v3p2-11b-vision-instruct' | 'accounts/fireworks/models/qwq-32b' | 'accounts/fireworks/models/yi-large' | 'accounts/fireworks/models/kimi-k2-instruct' | (string & {});
31
+
32
+ type FireworksCompletionModelId = 'accounts/fireworks/models/llama-v3-8b-instruct' | 'accounts/fireworks/models/llama-v2-34b-code' | (string & {});
19
33
 
20
34
  type FireworksErrorData = z.infer<typeof fireworksErrorSchema>;
21
35
  declare const fireworksErrorSchema: z.ZodObject<{
22
36
  error: z.ZodString;
23
- }, "strip", z.ZodTypeAny, {
24
- error: string;
25
- }, {
26
- error: string;
27
- }>;
37
+ }, z.core.$strip>;
28
38
  interface FireworksProviderSettings {
29
39
  /**
30
40
  Fireworks API key. Default value is taken from the `FIREWORKS_API_KEY`
@@ -45,29 +55,43 @@ interface FireworksProviderSettings {
45
55
  */
46
56
  fetch?: FetchFunction;
47
57
  }
48
- interface FireworksProvider {
58
+ interface FireworksProvider extends ProviderV3 {
49
59
  /**
50
60
  Creates a model for text generation.
51
61
  */
52
- (modelId: FireworksChatModelId, settings?: FireworksChatSettings): LanguageModelV1;
62
+ (modelId: FireworksChatModelId): LanguageModelV3;
53
63
  /**
54
64
  Creates a chat model for text generation.
55
65
  */
56
- chatModel(modelId: FireworksChatModelId, settings?: FireworksChatSettings): LanguageModelV1;
66
+ chatModel(modelId: FireworksChatModelId): LanguageModelV3;
57
67
  /**
58
68
  Creates a completion model for text generation.
59
69
  */
60
- completionModel(modelId: FireworksCompletionModelId, settings?: FireworksCompletionSettings): LanguageModelV1;
70
+ completionModel(modelId: FireworksCompletionModelId): LanguageModelV3;
71
+ /**
72
+ Creates a chat model for text generation.
73
+ */
74
+ languageModel(modelId: FireworksChatModelId): LanguageModelV3;
61
75
  /**
62
76
  Creates a text embedding model for text generation.
63
77
  */
64
- textEmbeddingModel(modelId: FireworksEmbeddingModelId, settings?: FireworksEmbeddingSettings): EmbeddingModelV1<string>;
78
+ embeddingModel(modelId: FireworksEmbeddingModelId): EmbeddingModelV3;
79
+ /**
80
+ * @deprecated Use `embeddingModel` instead.
81
+ */
82
+ textEmbeddingModel(modelId: FireworksEmbeddingModelId): EmbeddingModelV3;
83
+ /**
84
+ Creates a model for image generation.
85
+ */
86
+ image(modelId: FireworksImageModelId): ImageModelV3;
65
87
  /**
66
88
  Creates a model for image generation.
67
89
  */
68
- image(modelId: FireworksImageModelId): ImageModelV1;
90
+ imageModel(modelId: FireworksImageModelId): ImageModelV3;
69
91
  }
70
92
  declare function createFireworks(options?: FireworksProviderSettings): FireworksProvider;
71
93
  declare const fireworks: FireworksProvider;
72
94
 
73
- export { type FireworksErrorData, type FireworksProvider, type FireworksProviderSettings, createFireworks, fireworks };
95
+ declare const VERSION: string;
96
+
97
+ export { type FireworksEmbeddingModelId, type FireworksEmbeddingProviderOptions, type FireworksErrorData, FireworksImageModel, type FireworksImageModelId, type FireworksProvider, type FireworksProviderSettings, VERSION, createFireworks, fireworks };
package/dist/index.js CHANGED
@@ -20,18 +20,14 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var src_exports = {};
22
22
  __export(src_exports, {
23
+ FireworksImageModel: () => FireworksImageModel,
24
+ VERSION: () => VERSION,
23
25
  createFireworks: () => createFireworks,
24
26
  fireworks: () => fireworks
25
27
  });
26
28
  module.exports = __toCommonJS(src_exports);
27
29
 
28
- // src/fireworks-provider.ts
29
- var import_openai_compatible = require("@ai-sdk/openai-compatible");
30
- var import_provider_utils2 = require("@ai-sdk/provider-utils");
31
- var import_zod = require("zod");
32
-
33
30
  // src/fireworks-image-model.ts
34
- var import_provider = require("@ai-sdk/provider");
35
31
  var import_provider_utils = require("@ai-sdk/provider-utils");
36
32
  var modelToBackendConfig = {
37
33
  "accounts/fireworks/models/flux-1-dev-fp8": {
@@ -40,6 +36,14 @@ var modelToBackendConfig = {
40
36
  "accounts/fireworks/models/flux-1-schnell-fp8": {
41
37
  urlFormat: "workflows"
42
38
  },
39
+ "accounts/fireworks/models/flux-kontext-pro": {
40
+ urlFormat: "workflows_edit",
41
+ supportsEditing: true
42
+ },
43
+ "accounts/fireworks/models/flux-kontext-max": {
44
+ urlFormat: "workflows_edit",
45
+ supportsEditing: true
46
+ },
43
47
  "accounts/fireworks/models/playground-v2-5-1024px-aesthetic": {
44
48
  urlFormat: "image_generation",
45
49
  supportsSize: true
@@ -61,70 +65,26 @@ var modelToBackendConfig = {
61
65
  supportsSize: true
62
66
  }
63
67
  };
64
- function getUrlForModel(baseUrl, modelId) {
65
- var _a;
66
- switch ((_a = modelToBackendConfig[modelId]) == null ? void 0 : _a.urlFormat) {
68
+ function getUrlForModel(baseUrl, modelId, hasInputImage) {
69
+ const config = modelToBackendConfig[modelId];
70
+ switch (config == null ? void 0 : config.urlFormat) {
67
71
  case "image_generation":
68
72
  return `${baseUrl}/image_generation/${modelId}`;
73
+ case "workflows_edit":
74
+ return `${baseUrl}/workflows/${modelId}`;
69
75
  case "workflows":
70
76
  default:
77
+ if (hasInputImage && (config == null ? void 0 : config.supportsEditing)) {
78
+ return `${baseUrl}/workflows/${modelId}`;
79
+ }
71
80
  return `${baseUrl}/workflows/${modelId}/text_to_image`;
72
81
  }
73
82
  }
74
- var createBinaryResponseHandler = () => async ({ response, url, requestBodyValues }) => {
75
- const responseHeaders = (0, import_provider_utils.extractResponseHeaders)(response);
76
- if (!response.body) {
77
- throw new import_provider.APICallError({
78
- message: "Response body is empty",
79
- url,
80
- requestBodyValues,
81
- statusCode: response.status,
82
- responseHeaders,
83
- responseBody: void 0
84
- });
85
- }
86
- try {
87
- const buffer = await response.arrayBuffer();
88
- return {
89
- responseHeaders,
90
- value: buffer
91
- };
92
- } catch (error) {
93
- throw new import_provider.APICallError({
94
- message: "Failed to read response as array buffer",
95
- url,
96
- requestBodyValues,
97
- statusCode: response.status,
98
- responseHeaders,
99
- responseBody: void 0,
100
- cause: error
101
- });
102
- }
103
- };
104
- var statusCodeErrorResponseHandler = async ({
105
- response,
106
- url,
107
- requestBodyValues
108
- }) => {
109
- const responseHeaders = (0, import_provider_utils.extractResponseHeaders)(response);
110
- const responseBody = await response.text();
111
- return {
112
- responseHeaders,
113
- value: new import_provider.APICallError({
114
- message: response.statusText,
115
- url,
116
- requestBodyValues,
117
- statusCode: response.status,
118
- responseHeaders,
119
- responseBody
120
- })
121
- };
122
- };
123
83
  var FireworksImageModel = class {
124
84
  constructor(modelId, config) {
125
85
  this.modelId = modelId;
126
86
  this.config = config;
127
- this.specificationVersion = "v1";
87
+ this.specificationVersion = "v3";
128
88
  this.maxImagesPerCall = 1;
129
89
  }
130
90
  get provider() {
@@ -138,49 +98,87 @@ var FireworksImageModel = class {
138
98
  seed,
139
99
  providerOptions,
140
100
  headers,
141
- abortSignal
101
+ abortSignal,
102
+ files,
103
+ mask
142
104
  }) {
143
- var _a;
105
+ var _a, _b, _c, _d;
144
106
  const warnings = [];
145
107
  const backendConfig = modelToBackendConfig[this.modelId];
146
108
  if (!(backendConfig == null ? void 0 : backendConfig.supportsSize) && size != null) {
147
109
  warnings.push({
148
- type: "unsupported-setting",
149
- setting: "size",
110
+ type: "unsupported",
111
+ feature: "size",
150
112
  details: "This model does not support the `size` option. Use `aspectRatio` instead."
151
113
  });
152
114
  }
153
115
  if ((backendConfig == null ? void 0 : backendConfig.supportsSize) && aspectRatio != null) {
154
116
  warnings.push({
155
- type: "unsupported-setting",
156
- setting: "aspectRatio",
117
+ type: "unsupported",
118
+ feature: "aspectRatio",
157
119
  details: "This model does not support the `aspectRatio` option."
158
120
  });
159
121
  }
122
+ const hasInputImage = files != null && files.length > 0;
123
+ let inputImage;
124
+ if (hasInputImage) {
125
+ inputImage = (0, import_provider_utils.convertImageModelFileToDataUri)(files[0]);
126
+ if (files.length > 1) {
127
+ warnings.push({
128
+ type: "other",
129
+ message: "Fireworks only supports a single input image. Additional images are ignored."
130
+ });
131
+ }
132
+ }
133
+ if (mask != null) {
134
+ warnings.push({
135
+ type: "unsupported",
136
+ feature: "mask",
137
+ details: "Fireworks Kontext models do not support explicit masks. Use the prompt to describe the areas to edit."
138
+ });
139
+ }
160
140
  const splitSize = size == null ? void 0 : size.split("x");
161
- const { value: response } = await (0, import_provider_utils.postJsonToApi)({
162
- url: getUrlForModel(this.config.baseURL, this.modelId),
141
+ const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();
142
+ const { value: response, responseHeaders } = await (0, import_provider_utils.postJsonToApi)({
143
+ url: getUrlForModel(this.config.baseURL, this.modelId, hasInputImage),
163
144
  headers: (0, import_provider_utils.combineHeaders)(this.config.headers(), headers),
164
145
  body: {
165
146
  prompt,
166
147
  aspect_ratio: aspectRatio,
167
148
  seed,
168
149
  samples: n,
150
+ ...inputImage && { input_image: inputImage },
169
151
  ...splitSize && { width: splitSize[0], height: splitSize[1] },
170
- ...(_a = providerOptions.fireworks) != null ? _a : {}
152
+ ...(_d = providerOptions.fireworks) != null ? _d : {}
171
153
  },
172
- failedResponseHandler: statusCodeErrorResponseHandler,
173
- successfulResponseHandler: createBinaryResponseHandler(),
154
+ failedResponseHandler: (0, import_provider_utils.createStatusCodeErrorResponseHandler)(),
155
+ successfulResponseHandler: (0, import_provider_utils.createBinaryResponseHandler)(),
174
156
  abortSignal,
175
157
  fetch: this.config.fetch
176
158
  });
177
- return { images: [new Uint8Array(response)], warnings };
159
+ return {
160
+ images: [response],
161
+ warnings,
162
+ response: {
163
+ timestamp: currentDate,
164
+ modelId: this.modelId,
165
+ headers: responseHeaders
166
+ }
167
+ };
178
168
  }
179
169
  };
180
170
 
181
171
  // src/fireworks-provider.ts
182
- var fireworksErrorSchema = import_zod.z.object({
183
- error: import_zod.z.string()
172
+ var import_openai_compatible = require("@ai-sdk/openai-compatible");
173
+ var import_provider_utils2 = require("@ai-sdk/provider-utils");
174
+ var import_v4 = require("zod/v4");
175
+
176
+ // src/version.ts
177
+ var VERSION = true ? "0.0.0-1c33ba03-20260114162300" : "0.0.0-test";
178
+
179
+ // src/fireworks-provider.ts
180
+ var fireworksErrorSchema = import_v4.z.object({
181
+ error: import_v4.z.string()
184
182
  });
185
183
  var fireworksErrorStructure = {
186
184
  errorSchema: fireworksErrorSchema,
@@ -190,32 +188,34 @@ var defaultBaseURL = "https://api.fireworks.ai/inference/v1";
190
188
  function createFireworks(options = {}) {
191
189
  var _a;
192
190
  const baseURL = (0, import_provider_utils2.withoutTrailingSlash)((_a = options.baseURL) != null ? _a : defaultBaseURL);
193
- const getHeaders = () => ({
194
- Authorization: `Bearer ${(0, import_provider_utils2.loadApiKey)({
195
- apiKey: options.apiKey,
196
- environmentVariableName: "FIREWORKS_API_KEY",
197
- description: "Fireworks API key"
198
- })}`,
199
- ...options.headers
200
- });
191
+ const getHeaders = () => (0, import_provider_utils2.withUserAgentSuffix)(
192
+ {
193
+ Authorization: `Bearer ${(0, import_provider_utils2.loadApiKey)({
194
+ apiKey: options.apiKey,
195
+ environmentVariableName: "FIREWORKS_API_KEY",
196
+ description: "Fireworks API key"
197
+ })}`,
198
+ ...options.headers
199
+ },
200
+ `ai-sdk/fireworks/${VERSION}`
201
+ );
201
202
  const getCommonModelConfig = (modelType) => ({
202
203
  provider: `fireworks.${modelType}`,
203
204
  url: ({ path }) => `${baseURL}${path}`,
204
205
  headers: getHeaders,
205
206
  fetch: options.fetch
206
207
  });
207
- const createChatModel = (modelId, settings = {}) => {
208
- return new import_openai_compatible.OpenAICompatibleChatLanguageModel(modelId, settings, {
208
+ const createChatModel = (modelId) => {
209
+ return new import_openai_compatible.OpenAICompatibleChatLanguageModel(modelId, {
209
210
  ...getCommonModelConfig("chat"),
210
- errorStructure: fireworksErrorStructure,
211
- defaultObjectGenerationMode: "json"
211
+ errorStructure: fireworksErrorStructure
212
212
  });
213
213
  };
214
- const createCompletionModel = (modelId, settings = {}) => new import_openai_compatible.OpenAICompatibleCompletionLanguageModel(modelId, settings, {
214
+ const createCompletionModel = (modelId) => new import_openai_compatible.OpenAICompatibleCompletionLanguageModel(modelId, {
215
215
  ...getCommonModelConfig("completion"),
216
216
  errorStructure: fireworksErrorStructure
217
217
  });
218
- const createTextEmbeddingModel = (modelId, settings = {}) => new import_openai_compatible.OpenAICompatibleEmbeddingModel(modelId, settings, {
218
+ const createEmbeddingModel = (modelId) => new import_openai_compatible.OpenAICompatibleEmbeddingModel(modelId, {
219
219
  ...getCommonModelConfig("embedding"),
220
220
  errorStructure: fireworksErrorStructure
221
221
  });
@@ -223,16 +223,22 @@ function createFireworks(options = {}) {
223
223
  ...getCommonModelConfig("image"),
224
224
  baseURL: baseURL != null ? baseURL : defaultBaseURL
225
225
  });
226
- const provider = (modelId, settings) => createChatModel(modelId, settings);
226
+ const provider = (modelId) => createChatModel(modelId);
227
+ provider.specificationVersion = "v3";
227
228
  provider.completionModel = createCompletionModel;
228
229
  provider.chatModel = createChatModel;
229
- provider.textEmbeddingModel = createTextEmbeddingModel;
230
+ provider.languageModel = createChatModel;
231
+ provider.embeddingModel = createEmbeddingModel;
232
+ provider.textEmbeddingModel = createEmbeddingModel;
230
233
  provider.image = createImageModel;
234
+ provider.imageModel = createImageModel;
231
235
  return provider;
232
236
  }
233
237
  var fireworks = createFireworks();
234
238
  // Annotate the CommonJS export names for ESM import in node:
235
239
  0 && (module.exports = {
240
+ FireworksImageModel,
241
+ VERSION,
236
242
  createFireworks,
237
243
  fireworks
238
244
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/fireworks-provider.ts","../src/fireworks-image-model.ts"],"sourcesContent":["export { createFireworks, fireworks } from './fireworks-provider';\nexport type {\n FireworksProvider,\n FireworksProviderSettings,\n FireworksErrorData,\n} from './fireworks-provider';\n","import {\n OpenAICompatibleChatLanguageModel,\n OpenAICompatibleCompletionLanguageModel,\n OpenAICompatibleEmbeddingModel,\n ProviderErrorStructure,\n} from '@ai-sdk/openai-compatible';\nimport {\n EmbeddingModelV1,\n ImageModelV1,\n LanguageModelV1,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withoutTrailingSlash,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod';\nimport {\n FireworksChatModelId,\n FireworksChatSettings,\n} from './fireworks-chat-settings';\nimport {\n FireworksCompletionModelId,\n FireworksCompletionSettings,\n} from './fireworks-completion-settings';\nimport {\n FireworksEmbeddingModelId,\n FireworksEmbeddingSettings,\n} from './fireworks-embedding-settings';\nimport {\n FireworksImageModel,\n FireworksImageModelId,\n} from './fireworks-image-model';\n\nexport type FireworksErrorData = z.infer<typeof fireworksErrorSchema>;\n\nconst fireworksErrorSchema = z.object({\n error: z.string(),\n});\n\nconst fireworksErrorStructure: ProviderErrorStructure<FireworksErrorData> = {\n errorSchema: fireworksErrorSchema,\n errorToMessage: data => data.error,\n};\n\nexport interface FireworksProviderSettings {\n /**\nFireworks API key. Default value is taken from the `FIREWORKS_API_KEY`\nenvironment variable.\n*/\n apiKey?: string;\n /**\nBase URL for the API calls.\n*/\n baseURL?: string;\n /**\nCustom headers to include in the requests.\n*/\n headers?: Record<string, string>;\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n*/\n fetch?: FetchFunction;\n}\n\nexport interface FireworksProvider {\n /**\nCreates a model for text generation.\n*/\n (\n modelId: FireworksChatModelId,\n settings?: FireworksChatSettings,\n ): LanguageModelV1;\n\n /**\nCreates a chat model for text generation.\n*/\n chatModel(\n modelId: FireworksChatModelId,\n settings?: FireworksChatSettings,\n ): LanguageModelV1;\n\n /**\nCreates a completion model for text generation.\n*/\n completionModel(\n modelId: FireworksCompletionModelId,\n settings?: FireworksCompletionSettings,\n ): LanguageModelV1;\n\n /**\nCreates a text embedding model for text generation.\n*/\n textEmbeddingModel(\n modelId: FireworksEmbeddingModelId,\n settings?: FireworksEmbeddingSettings,\n ): EmbeddingModelV1<string>;\n\n /**\nCreates a model for image generation.\n*/\n image(modelId: FireworksImageModelId): ImageModelV1;\n}\n\nconst defaultBaseURL = 'https://api.fireworks.ai/inference/v1';\n\nexport function createFireworks(\n options: FireworksProviderSettings = {},\n): FireworksProvider {\n const baseURL = withoutTrailingSlash(options.baseURL ?? defaultBaseURL);\n const getHeaders = () => ({\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'FIREWORKS_API_KEY',\n description: 'Fireworks API key',\n })}`,\n ...options.headers,\n });\n\n interface CommonModelConfig {\n provider: string;\n url: ({ path }: { path: string }) => string;\n headers: () => Record<string, string>;\n fetch?: FetchFunction;\n }\n\n const getCommonModelConfig = (modelType: string): CommonModelConfig => ({\n provider: `fireworks.${modelType}`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createChatModel = (\n modelId: FireworksChatModelId,\n settings: FireworksChatSettings = {},\n ) => {\n return new OpenAICompatibleChatLanguageModel(modelId, settings, {\n ...getCommonModelConfig('chat'),\n errorStructure: fireworksErrorStructure,\n defaultObjectGenerationMode: 'json',\n });\n };\n\n const createCompletionModel = (\n modelId: FireworksCompletionModelId,\n settings: FireworksCompletionSettings = {},\n ) =>\n new OpenAICompatibleCompletionLanguageModel(modelId, settings, {\n ...getCommonModelConfig('completion'),\n errorStructure: fireworksErrorStructure,\n });\n\n const createTextEmbeddingModel = (\n modelId: FireworksEmbeddingModelId,\n settings: FireworksEmbeddingSettings = {},\n ) =>\n new OpenAICompatibleEmbeddingModel(modelId, settings, {\n ...getCommonModelConfig('embedding'),\n errorStructure: fireworksErrorStructure,\n });\n\n const createImageModel = (modelId: FireworksImageModelId) =>\n new FireworksImageModel(modelId, {\n ...getCommonModelConfig('image'),\n baseURL: baseURL ?? defaultBaseURL,\n });\n\n const provider = (\n modelId: FireworksChatModelId,\n settings?: FireworksChatSettings,\n ) => createChatModel(modelId, settings);\n\n provider.completionModel = createCompletionModel;\n provider.chatModel = createChatModel;\n provider.textEmbeddingModel = createTextEmbeddingModel;\n provider.image = createImageModel;\n\n return provider as FireworksProvider;\n}\n\nexport const fireworks = createFireworks();\n","import {\n APICallError,\n ImageModelV1,\n ImageModelV1CallWarning,\n} from '@ai-sdk/provider';\nimport {\n combineHeaders,\n extractResponseHeaders,\n FetchFunction,\n postJsonToApi,\n ResponseHandler,\n} from '@ai-sdk/provider-utils';\n\n// https://fireworks.ai/models?type=image\nexport type FireworksImageModelId =\n | 'accounts/fireworks/models/flux-1-dev-fp8'\n | 'accounts/fireworks/models/flux-1-schnell-fp8'\n | 'accounts/fireworks/models/playground-v2-5-1024px-aesthetic'\n | 'accounts/fireworks/models/japanese-stable-diffusion-xl'\n | 'accounts/fireworks/models/playground-v2-1024px-aesthetic'\n | 'accounts/fireworks/models/SSD-1B'\n | 'accounts/fireworks/models/stable-diffusion-xl-1024-v1-0'\n | (string & {});\n\ninterface FireworksImageModelBackendConfig {\n urlFormat: 'workflows' | 'image_generation';\n supportsSize?: boolean;\n}\n\nconst modelToBackendConfig: Partial<\n Record<FireworksImageModelId, FireworksImageModelBackendConfig>\n> = {\n 'accounts/fireworks/models/flux-1-dev-fp8': {\n urlFormat: 'workflows',\n },\n 'accounts/fireworks/models/flux-1-schnell-fp8': {\n urlFormat: 'workflows',\n },\n 'accounts/fireworks/models/playground-v2-5-1024px-aesthetic': {\n urlFormat: 'image_generation',\n supportsSize: true,\n },\n 'accounts/fireworks/models/japanese-stable-diffusion-xl': {\n urlFormat: 'image_generation',\n supportsSize: true,\n },\n 'accounts/fireworks/models/playground-v2-1024px-aesthetic': {\n urlFormat: 'image_generation',\n supportsSize: true,\n },\n 'accounts/fireworks/models/stable-diffusion-xl-1024-v1-0': {\n urlFormat: 'image_generation',\n supportsSize: true,\n },\n 'accounts/fireworks/models/SSD-1B': {\n urlFormat: 'image_generation',\n supportsSize: true,\n },\n};\n\nfunction getUrlForModel(\n baseUrl: string,\n modelId: FireworksImageModelId,\n): string {\n switch (modelToBackendConfig[modelId]?.urlFormat) {\n case 'image_generation':\n return `${baseUrl}/image_generation/${modelId}`;\n case 'workflows':\n default:\n return `${baseUrl}/workflows/${modelId}/text_to_image`;\n }\n}\n\ninterface FireworksImageModelConfig {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string>;\n fetch?: FetchFunction;\n}\n\nconst createBinaryResponseHandler =\n (): ResponseHandler<ArrayBuffer> =>\n async ({ response, url, requestBodyValues }) => {\n const responseHeaders = extractResponseHeaders(response);\n\n if (!response.body) {\n throw new APICallError({\n message: 'Response body is empty',\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody: undefined,\n });\n }\n\n try {\n const buffer = await response.arrayBuffer();\n return {\n responseHeaders,\n value: buffer,\n };\n } catch (error) {\n throw new APICallError({\n message: 'Failed to read response as array buffer',\n url,\n requestBodyValues,\n statusCode: response.status,\n responseHeaders,\n responseBody: undefined,\n cause: error,\n });\n }\n };\n\nconst statusCodeErrorResponseHandler: ResponseHandler<APICallError> = async ({\n response,\n url,\n requestBodyValues,\n}) => {\n const responseHeaders = extractResponseHeaders(response);\n const responseBody = await response.text();\n\n return {\n responseHeaders,\n value: new APICallError({\n message: response.statusText,\n url,\n requestBodyValues: requestBodyValues as Record<string, unknown>,\n statusCode: response.status,\n responseHeaders,\n responseBody,\n }),\n };\n};\n\nexport class FireworksImageModel implements ImageModelV1 {\n readonly specificationVersion = 'v1';\n\n get provider(): string {\n return this.config.provider;\n }\n\n readonly maxImagesPerCall = 1;\n\n constructor(\n readonly modelId: FireworksImageModelId,\n private config: FireworksImageModelConfig,\n ) {}\n\n async doGenerate({\n prompt,\n n,\n size,\n aspectRatio,\n seed,\n providerOptions,\n headers,\n abortSignal,\n }: Parameters<ImageModelV1['doGenerate']>[0]): Promise<\n Awaited<ReturnType<ImageModelV1['doGenerate']>>\n > {\n const warnings: Array<ImageModelV1CallWarning> = [];\n\n const backendConfig = modelToBackendConfig[this.modelId];\n if (!backendConfig?.supportsSize && size != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'size',\n details:\n 'This model does not support the `size` option. Use `aspectRatio` instead.',\n });\n }\n\n // Use supportsSize as a proxy for whether the model does not support\n // aspectRatio. This invariant holds for the current set of models.\n if (backendConfig?.supportsSize && aspectRatio != null) {\n warnings.push({\n type: 'unsupported-setting',\n setting: 'aspectRatio',\n details: 'This model does not support the `aspectRatio` option.',\n });\n }\n\n const splitSize = size?.split('x');\n const { value: response } = await postJsonToApi({\n url: getUrlForModel(this.config.baseURL, this.modelId),\n headers: combineHeaders(this.config.headers(), headers),\n body: {\n prompt,\n aspect_ratio: aspectRatio,\n seed,\n samples: n,\n ...(splitSize && { width: splitSize[0], height: splitSize[1] }),\n ...(providerOptions.fireworks ?? {}),\n },\n failedResponseHandler: statusCodeErrorResponseHandler,\n successfulResponseHandler: createBinaryResponseHandler(),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return { images: [new Uint8Array(response)], warnings };\n }\n}\n"],"mappings":"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","names":["import_provider_utils"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/fireworks-image-model.ts","../src/fireworks-provider.ts","../src/version.ts"],"sourcesContent":["export type {\n FireworksEmbeddingModelId,\n FireworksEmbeddingProviderOptions,\n} from './fireworks-embedding-options';\nexport { FireworksImageModel } from './fireworks-image-model';\nexport type { FireworksImageModelId } from './fireworks-image-options';\nexport { fireworks, createFireworks } from './fireworks-provider';\nexport type {\n FireworksProvider,\n FireworksProviderSettings,\n FireworksErrorData,\n} from './fireworks-provider';\nexport { VERSION } from './version';\n","import { ImageModelV3, SharedV3Warning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n convertImageModelFileToDataUri,\n createBinaryResponseHandler,\n createStatusCodeErrorResponseHandler,\n FetchFunction,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport { FireworksImageModelId } from './fireworks-image-options';\n\ninterface FireworksImageModelBackendConfig {\n urlFormat: 'workflows' | 'workflows_edit' | 'image_generation';\n supportsSize?: boolean;\n supportsEditing?: boolean;\n}\n\nconst modelToBackendConfig: Partial<\n Record<FireworksImageModelId, FireworksImageModelBackendConfig>\n> = {\n 'accounts/fireworks/models/flux-1-dev-fp8': {\n urlFormat: 'workflows',\n },\n 'accounts/fireworks/models/flux-1-schnell-fp8': {\n urlFormat: 'workflows',\n },\n 'accounts/fireworks/models/flux-kontext-pro': {\n urlFormat: 'workflows_edit',\n supportsEditing: true,\n },\n 'accounts/fireworks/models/flux-kontext-max': {\n urlFormat: 'workflows_edit',\n supportsEditing: true,\n },\n 'accounts/fireworks/models/playground-v2-5-1024px-aesthetic': {\n urlFormat: 'image_generation',\n supportsSize: true,\n },\n 'accounts/fireworks/models/japanese-stable-diffusion-xl': {\n urlFormat: 'image_generation',\n supportsSize: true,\n },\n 'accounts/fireworks/models/playground-v2-1024px-aesthetic': {\n urlFormat: 'image_generation',\n supportsSize: true,\n },\n 'accounts/fireworks/models/stable-diffusion-xl-1024-v1-0': {\n urlFormat: 'image_generation',\n supportsSize: true,\n },\n 'accounts/fireworks/models/SSD-1B': {\n urlFormat: 'image_generation',\n supportsSize: true,\n },\n};\n\nfunction getUrlForModel(\n baseUrl: string,\n modelId: FireworksImageModelId,\n hasInputImage: boolean,\n): string {\n const config = modelToBackendConfig[modelId];\n\n switch (config?.urlFormat) {\n case 'image_generation':\n return `${baseUrl}/image_generation/${modelId}`;\n case 'workflows_edit':\n // Kontext models: use base URL for editing (no suffix)\n return `${baseUrl}/workflows/${modelId}`;\n case 'workflows':\n default:\n // Standard FLUX models: use text_to_image for generation,\n // but if input_image provided, some models may support editing\n if (hasInputImage && config?.supportsEditing) {\n return `${baseUrl}/workflows/${modelId}`;\n }\n return `${baseUrl}/workflows/${modelId}/text_to_image`;\n }\n}\n\ninterface FireworksImageModelConfig {\n provider: string;\n baseURL: string;\n headers: () => Record<string, string>;\n fetch?: FetchFunction;\n _internal?: {\n currentDate?: () => Date;\n };\n}\n\nexport class FireworksImageModel implements ImageModelV3 {\n readonly specificationVersion = 'v3';\n readonly maxImagesPerCall = 1;\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: FireworksImageModelId,\n private config: FireworksImageModelConfig,\n ) {}\n\n async doGenerate({\n prompt,\n n,\n size,\n aspectRatio,\n seed,\n providerOptions,\n headers,\n abortSignal,\n files,\n mask,\n }: Parameters<ImageModelV3['doGenerate']>[0]): Promise<\n Awaited<ReturnType<ImageModelV3['doGenerate']>>\n > {\n const warnings: Array<SharedV3Warning> = [];\n\n const backendConfig = modelToBackendConfig[this.modelId];\n if (!backendConfig?.supportsSize && size != null) {\n warnings.push({\n type: 'unsupported',\n feature: 'size',\n details:\n 'This model does not support the `size` option. Use `aspectRatio` instead.',\n });\n }\n\n // Use supportsSize as a proxy for whether the model does not support\n // aspectRatio. This invariant holds for the current set of models.\n if (backendConfig?.supportsSize && aspectRatio != null) {\n warnings.push({\n type: 'unsupported',\n feature: 'aspectRatio',\n details: 'This model does not support the `aspectRatio` option.',\n });\n }\n\n // Handle files for image editing\n const hasInputImage = files != null && files.length > 0;\n let inputImage: string | undefined;\n\n if (hasInputImage) {\n inputImage = convertImageModelFileToDataUri(files[0]);\n\n if (files.length > 1) {\n warnings.push({\n type: 'other',\n message:\n 'Fireworks only supports a single input image. Additional images are ignored.',\n });\n }\n }\n\n // Warn about mask - Fireworks Kontext models don't support explicit masks\n if (mask != null) {\n warnings.push({\n type: 'unsupported',\n feature: 'mask',\n details:\n 'Fireworks Kontext models do not support explicit masks. Use the prompt to describe the areas to edit.',\n });\n }\n\n const splitSize = size?.split('x');\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n const { value: response, responseHeaders } = await postJsonToApi({\n url: getUrlForModel(this.config.baseURL, this.modelId, hasInputImage),\n headers: combineHeaders(this.config.headers(), headers),\n body: {\n prompt,\n aspect_ratio: aspectRatio,\n seed,\n samples: n,\n ...(inputImage && { input_image: inputImage }),\n ...(splitSize && { width: splitSize[0], height: splitSize[1] }),\n ...(providerOptions.fireworks ?? {}),\n },\n failedResponseHandler: createStatusCodeErrorResponseHandler(),\n successfulResponseHandler: createBinaryResponseHandler(),\n abortSignal,\n fetch: this.config.fetch,\n });\n\n return {\n images: [response],\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders,\n },\n };\n }\n}\n","import {\n OpenAICompatibleChatLanguageModel,\n OpenAICompatibleCompletionLanguageModel,\n OpenAICompatibleEmbeddingModel,\n ProviderErrorStructure,\n} from '@ai-sdk/openai-compatible';\nimport {\n EmbeddingModelV3,\n ImageModelV3,\n LanguageModelV3,\n ProviderV3,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withoutTrailingSlash,\n withUserAgentSuffix,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { FireworksChatModelId } from './fireworks-chat-options';\nimport { FireworksCompletionModelId } from './fireworks-completion-options';\nimport { FireworksEmbeddingModelId } from './fireworks-embedding-options';\nimport { FireworksImageModel } from './fireworks-image-model';\nimport { FireworksImageModelId } from './fireworks-image-options';\nimport { VERSION } from './version';\n\nexport type FireworksErrorData = z.infer<typeof fireworksErrorSchema>;\n\nconst fireworksErrorSchema = z.object({\n error: z.string(),\n});\n\nconst fireworksErrorStructure: ProviderErrorStructure<FireworksErrorData> = {\n errorSchema: fireworksErrorSchema,\n errorToMessage: data => data.error,\n};\n\nexport interface FireworksProviderSettings {\n /**\nFireworks API key. Default value is taken from the `FIREWORKS_API_KEY`\nenvironment variable.\n*/\n apiKey?: string;\n /**\nBase URL for the API calls.\n*/\n baseURL?: string;\n /**\nCustom headers to include in the requests.\n*/\n headers?: Record<string, string>;\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n*/\n fetch?: FetchFunction;\n}\n\nexport interface FireworksProvider extends ProviderV3 {\n /**\nCreates a model for text generation.\n*/\n (modelId: FireworksChatModelId): LanguageModelV3;\n\n /**\nCreates a chat model for text generation.\n*/\n chatModel(modelId: FireworksChatModelId): LanguageModelV3;\n\n /**\nCreates a completion model for text generation.\n*/\n completionModel(modelId: FireworksCompletionModelId): LanguageModelV3;\n\n /**\nCreates a chat model for text generation.\n*/\n languageModel(modelId: FireworksChatModelId): LanguageModelV3;\n\n /**\nCreates a text embedding model for text generation.\n*/\n embeddingModel(modelId: FireworksEmbeddingModelId): EmbeddingModelV3;\n\n /**\n * @deprecated Use `embeddingModel` instead.\n */\n textEmbeddingModel(modelId: FireworksEmbeddingModelId): EmbeddingModelV3;\n\n /**\nCreates a model for image generation.\n*/\n image(modelId: FireworksImageModelId): ImageModelV3;\n\n /**\nCreates a model for image generation.\n*/\n imageModel(modelId: FireworksImageModelId): ImageModelV3;\n}\n\nconst defaultBaseURL = 'https://api.fireworks.ai/inference/v1';\n\nexport function createFireworks(\n options: FireworksProviderSettings = {},\n): FireworksProvider {\n const baseURL = withoutTrailingSlash(options.baseURL ?? defaultBaseURL);\n const getHeaders = () =>\n withUserAgentSuffix(\n {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiKey,\n environmentVariableName: 'FIREWORKS_API_KEY',\n description: 'Fireworks API key',\n })}`,\n ...options.headers,\n },\n `ai-sdk/fireworks/${VERSION}`,\n );\n\n interface CommonModelConfig {\n provider: string;\n url: ({ path }: { path: string }) => string;\n headers: () => Record<string, string>;\n fetch?: FetchFunction;\n }\n\n const getCommonModelConfig = (modelType: string): CommonModelConfig => ({\n provider: `fireworks.${modelType}`,\n url: ({ path }) => `${baseURL}${path}`,\n headers: getHeaders,\n fetch: options.fetch,\n });\n\n const createChatModel = (modelId: FireworksChatModelId) => {\n return new OpenAICompatibleChatLanguageModel(modelId, {\n ...getCommonModelConfig('chat'),\n errorStructure: fireworksErrorStructure,\n });\n };\n\n const createCompletionModel = (modelId: FireworksCompletionModelId) =>\n new OpenAICompatibleCompletionLanguageModel(modelId, {\n ...getCommonModelConfig('completion'),\n errorStructure: fireworksErrorStructure,\n });\n\n const createEmbeddingModel = (modelId: FireworksEmbeddingModelId) =>\n new OpenAICompatibleEmbeddingModel(modelId, {\n ...getCommonModelConfig('embedding'),\n errorStructure: fireworksErrorStructure,\n });\n\n const createImageModel = (modelId: FireworksImageModelId) =>\n new FireworksImageModel(modelId, {\n ...getCommonModelConfig('image'),\n baseURL: baseURL ?? defaultBaseURL,\n });\n\n const provider = (modelId: FireworksChatModelId) => createChatModel(modelId);\n\n provider.specificationVersion = 'v3' as const;\n provider.completionModel = createCompletionModel;\n provider.chatModel = createChatModel;\n provider.languageModel = createChatModel;\n provider.embeddingModel = createEmbeddingModel;\n provider.textEmbeddingModel = createEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n return provider;\n}\n\nexport const fireworks = createFireworks();\n","// Version string of this package injected at build time.\ndeclare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n"],"mappings":"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","names":["import_provider_utils"]}