@ai-sdk/fireworks 2.0.0-beta.53 → 2.0.0-beta.55
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/CHANGELOG.md +20 -0
- package/README.md +1 -1
- package/dist/index.d.mts +6 -2
- package/dist/index.d.ts +6 -2
- package/dist/index.js +41 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +42 -6
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @ai-sdk/fireworks
|
|
2
2
|
|
|
3
|
+
## 2.0.0-beta.55
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 9061dc0: feat: image editing
|
|
8
|
+
- Updated dependencies [9061dc0]
|
|
9
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.55
|
|
10
|
+
- @ai-sdk/provider-utils@4.0.0-beta.54
|
|
11
|
+
- @ai-sdk/provider@3.0.0-beta.28
|
|
12
|
+
|
|
13
|
+
## 2.0.0-beta.54
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- 366f50b: chore(provider): add deprecated textEmbeddingModel and textEmbedding aliases
|
|
18
|
+
- Updated dependencies [366f50b]
|
|
19
|
+
- @ai-sdk/openai-compatible@2.0.0-beta.54
|
|
20
|
+
- @ai-sdk/provider@3.0.0-beta.27
|
|
21
|
+
- @ai-sdk/provider-utils@4.0.0-beta.53
|
|
22
|
+
|
|
3
23
|
## 2.0.0-beta.53
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -34,7 +34,7 @@ const { text } = await generateText({
|
|
|
34
34
|
|
|
35
35
|
```ts
|
|
36
36
|
import { fireworks } from '@ai-sdk/fireworks';
|
|
37
|
-
import {
|
|
37
|
+
import { generateImage } from 'ai';
|
|
38
38
|
import fs from 'fs';
|
|
39
39
|
|
|
40
40
|
const { image } = await generateImage({
|
package/dist/index.d.mts
CHANGED
|
@@ -6,7 +6,7 @@ type FireworksEmbeddingModelId = 'nomic-ai/nomic-embed-text-v1.5' | (string & {}
|
|
|
6
6
|
declare const fireworksEmbeddingProviderOptions: z.ZodObject<{}, z.core.$strip>;
|
|
7
7
|
type FireworksEmbeddingProviderOptions = z.infer<typeof fireworksEmbeddingProviderOptions>;
|
|
8
8
|
|
|
9
|
-
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 & {});
|
|
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 & {});
|
|
10
10
|
|
|
11
11
|
interface FireworksImageModelConfig {
|
|
12
12
|
provider: string;
|
|
@@ -24,7 +24,7 @@ declare class FireworksImageModel implements ImageModelV3 {
|
|
|
24
24
|
readonly maxImagesPerCall = 1;
|
|
25
25
|
get provider(): string;
|
|
26
26
|
constructor(modelId: FireworksImageModelId, config: FireworksImageModelConfig);
|
|
27
|
-
doGenerate({ prompt, n, size, aspectRatio, seed, providerOptions, headers, abortSignal, }: Parameters<ImageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV3['doGenerate']>>>;
|
|
27
|
+
doGenerate({ prompt, n, size, aspectRatio, seed, providerOptions, headers, abortSignal, files, mask, }: Parameters<ImageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV3['doGenerate']>>>;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
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 & {});
|
|
@@ -77,6 +77,10 @@ interface FireworksProvider extends ProviderV3 {
|
|
|
77
77
|
*/
|
|
78
78
|
embeddingModel(modelId: FireworksEmbeddingModelId): EmbeddingModelV3;
|
|
79
79
|
/**
|
|
80
|
+
* @deprecated Use `embeddingModel` instead.
|
|
81
|
+
*/
|
|
82
|
+
textEmbeddingModel(modelId: FireworksEmbeddingModelId): EmbeddingModelV3;
|
|
83
|
+
/**
|
|
80
84
|
Creates a model for image generation.
|
|
81
85
|
*/
|
|
82
86
|
image(modelId: FireworksImageModelId): ImageModelV3;
|
package/dist/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ type FireworksEmbeddingModelId = 'nomic-ai/nomic-embed-text-v1.5' | (string & {}
|
|
|
6
6
|
declare const fireworksEmbeddingProviderOptions: z.ZodObject<{}, z.core.$strip>;
|
|
7
7
|
type FireworksEmbeddingProviderOptions = z.infer<typeof fireworksEmbeddingProviderOptions>;
|
|
8
8
|
|
|
9
|
-
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 & {});
|
|
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 & {});
|
|
10
10
|
|
|
11
11
|
interface FireworksImageModelConfig {
|
|
12
12
|
provider: string;
|
|
@@ -24,7 +24,7 @@ declare class FireworksImageModel implements ImageModelV3 {
|
|
|
24
24
|
readonly maxImagesPerCall = 1;
|
|
25
25
|
get provider(): string;
|
|
26
26
|
constructor(modelId: FireworksImageModelId, config: FireworksImageModelConfig);
|
|
27
|
-
doGenerate({ prompt, n, size, aspectRatio, seed, providerOptions, headers, abortSignal, }: Parameters<ImageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV3['doGenerate']>>>;
|
|
27
|
+
doGenerate({ prompt, n, size, aspectRatio, seed, providerOptions, headers, abortSignal, files, mask, }: Parameters<ImageModelV3['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV3['doGenerate']>>>;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
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 & {});
|
|
@@ -77,6 +77,10 @@ interface FireworksProvider extends ProviderV3 {
|
|
|
77
77
|
*/
|
|
78
78
|
embeddingModel(modelId: FireworksEmbeddingModelId): EmbeddingModelV3;
|
|
79
79
|
/**
|
|
80
|
+
* @deprecated Use `embeddingModel` instead.
|
|
81
|
+
*/
|
|
82
|
+
textEmbeddingModel(modelId: FireworksEmbeddingModelId): EmbeddingModelV3;
|
|
83
|
+
/**
|
|
80
84
|
Creates a model for image generation.
|
|
81
85
|
*/
|
|
82
86
|
image(modelId: FireworksImageModelId): ImageModelV3;
|
package/dist/index.js
CHANGED
|
@@ -36,6 +36,14 @@ var modelToBackendConfig = {
|
|
|
36
36
|
"accounts/fireworks/models/flux-1-schnell-fp8": {
|
|
37
37
|
urlFormat: "workflows"
|
|
38
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
|
+
},
|
|
39
47
|
"accounts/fireworks/models/playground-v2-5-1024px-aesthetic": {
|
|
40
48
|
urlFormat: "image_generation",
|
|
41
49
|
supportsSize: true
|
|
@@ -57,13 +65,18 @@ var modelToBackendConfig = {
|
|
|
57
65
|
supportsSize: true
|
|
58
66
|
}
|
|
59
67
|
};
|
|
60
|
-
function getUrlForModel(baseUrl, modelId) {
|
|
61
|
-
|
|
62
|
-
switch (
|
|
68
|
+
function getUrlForModel(baseUrl, modelId, hasInputImage) {
|
|
69
|
+
const config = modelToBackendConfig[modelId];
|
|
70
|
+
switch (config == null ? void 0 : config.urlFormat) {
|
|
63
71
|
case "image_generation":
|
|
64
72
|
return `${baseUrl}/image_generation/${modelId}`;
|
|
73
|
+
case "workflows_edit":
|
|
74
|
+
return `${baseUrl}/workflows/${modelId}`;
|
|
65
75
|
case "workflows":
|
|
66
76
|
default:
|
|
77
|
+
if (hasInputImage && (config == null ? void 0 : config.supportsEditing)) {
|
|
78
|
+
return `${baseUrl}/workflows/${modelId}`;
|
|
79
|
+
}
|
|
67
80
|
return `${baseUrl}/workflows/${modelId}/text_to_image`;
|
|
68
81
|
}
|
|
69
82
|
}
|
|
@@ -85,7 +98,9 @@ var FireworksImageModel = class {
|
|
|
85
98
|
seed,
|
|
86
99
|
providerOptions,
|
|
87
100
|
headers,
|
|
88
|
-
abortSignal
|
|
101
|
+
abortSignal,
|
|
102
|
+
files,
|
|
103
|
+
mask
|
|
89
104
|
}) {
|
|
90
105
|
var _a, _b, _c, _d;
|
|
91
106
|
const warnings = [];
|
|
@@ -104,16 +119,35 @@ var FireworksImageModel = class {
|
|
|
104
119
|
details: "This model does not support the `aspectRatio` option."
|
|
105
120
|
});
|
|
106
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
|
+
}
|
|
107
140
|
const splitSize = size == null ? void 0 : size.split("x");
|
|
108
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();
|
|
109
142
|
const { value: response, responseHeaders } = await (0, import_provider_utils.postJsonToApi)({
|
|
110
|
-
url: getUrlForModel(this.config.baseURL, this.modelId),
|
|
143
|
+
url: getUrlForModel(this.config.baseURL, this.modelId, hasInputImage),
|
|
111
144
|
headers: (0, import_provider_utils.combineHeaders)(this.config.headers(), headers),
|
|
112
145
|
body: {
|
|
113
146
|
prompt,
|
|
114
147
|
aspect_ratio: aspectRatio,
|
|
115
148
|
seed,
|
|
116
149
|
samples: n,
|
|
150
|
+
...inputImage && { input_image: inputImage },
|
|
117
151
|
...splitSize && { width: splitSize[0], height: splitSize[1] },
|
|
118
152
|
...(_d = providerOptions.fireworks) != null ? _d : {}
|
|
119
153
|
},
|
|
@@ -140,7 +174,7 @@ var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
|
140
174
|
var import_v4 = require("zod/v4");
|
|
141
175
|
|
|
142
176
|
// src/version.ts
|
|
143
|
-
var VERSION = true ? "2.0.0-beta.
|
|
177
|
+
var VERSION = true ? "2.0.0-beta.55" : "0.0.0-test";
|
|
144
178
|
|
|
145
179
|
// src/fireworks-provider.ts
|
|
146
180
|
var fireworksErrorSchema = import_v4.z.object({
|
|
@@ -195,6 +229,7 @@ function createFireworks(options = {}) {
|
|
|
195
229
|
provider.chatModel = createChatModel;
|
|
196
230
|
provider.languageModel = createChatModel;
|
|
197
231
|
provider.embeddingModel = createEmbeddingModel;
|
|
232
|
+
provider.textEmbeddingModel = createEmbeddingModel;
|
|
198
233
|
provider.image = createImageModel;
|
|
199
234
|
provider.imageModel = createImageModel;
|
|
200
235
|
return provider;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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 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' | '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 _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 }: 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 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),\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: 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 /**\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.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"]}
|
|
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"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// src/fireworks-image-model.ts
|
|
2
2
|
import {
|
|
3
3
|
combineHeaders,
|
|
4
|
+
convertImageModelFileToDataUri,
|
|
4
5
|
createBinaryResponseHandler,
|
|
5
6
|
createStatusCodeErrorResponseHandler,
|
|
6
7
|
postJsonToApi
|
|
@@ -12,6 +13,14 @@ var modelToBackendConfig = {
|
|
|
12
13
|
"accounts/fireworks/models/flux-1-schnell-fp8": {
|
|
13
14
|
urlFormat: "workflows"
|
|
14
15
|
},
|
|
16
|
+
"accounts/fireworks/models/flux-kontext-pro": {
|
|
17
|
+
urlFormat: "workflows_edit",
|
|
18
|
+
supportsEditing: true
|
|
19
|
+
},
|
|
20
|
+
"accounts/fireworks/models/flux-kontext-max": {
|
|
21
|
+
urlFormat: "workflows_edit",
|
|
22
|
+
supportsEditing: true
|
|
23
|
+
},
|
|
15
24
|
"accounts/fireworks/models/playground-v2-5-1024px-aesthetic": {
|
|
16
25
|
urlFormat: "image_generation",
|
|
17
26
|
supportsSize: true
|
|
@@ -33,13 +42,18 @@ var modelToBackendConfig = {
|
|
|
33
42
|
supportsSize: true
|
|
34
43
|
}
|
|
35
44
|
};
|
|
36
|
-
function getUrlForModel(baseUrl, modelId) {
|
|
37
|
-
|
|
38
|
-
switch (
|
|
45
|
+
function getUrlForModel(baseUrl, modelId, hasInputImage) {
|
|
46
|
+
const config = modelToBackendConfig[modelId];
|
|
47
|
+
switch (config == null ? void 0 : config.urlFormat) {
|
|
39
48
|
case "image_generation":
|
|
40
49
|
return `${baseUrl}/image_generation/${modelId}`;
|
|
50
|
+
case "workflows_edit":
|
|
51
|
+
return `${baseUrl}/workflows/${modelId}`;
|
|
41
52
|
case "workflows":
|
|
42
53
|
default:
|
|
54
|
+
if (hasInputImage && (config == null ? void 0 : config.supportsEditing)) {
|
|
55
|
+
return `${baseUrl}/workflows/${modelId}`;
|
|
56
|
+
}
|
|
43
57
|
return `${baseUrl}/workflows/${modelId}/text_to_image`;
|
|
44
58
|
}
|
|
45
59
|
}
|
|
@@ -61,7 +75,9 @@ var FireworksImageModel = class {
|
|
|
61
75
|
seed,
|
|
62
76
|
providerOptions,
|
|
63
77
|
headers,
|
|
64
|
-
abortSignal
|
|
78
|
+
abortSignal,
|
|
79
|
+
files,
|
|
80
|
+
mask
|
|
65
81
|
}) {
|
|
66
82
|
var _a, _b, _c, _d;
|
|
67
83
|
const warnings = [];
|
|
@@ -80,16 +96,35 @@ var FireworksImageModel = class {
|
|
|
80
96
|
details: "This model does not support the `aspectRatio` option."
|
|
81
97
|
});
|
|
82
98
|
}
|
|
99
|
+
const hasInputImage = files != null && files.length > 0;
|
|
100
|
+
let inputImage;
|
|
101
|
+
if (hasInputImage) {
|
|
102
|
+
inputImage = convertImageModelFileToDataUri(files[0]);
|
|
103
|
+
if (files.length > 1) {
|
|
104
|
+
warnings.push({
|
|
105
|
+
type: "other",
|
|
106
|
+
message: "Fireworks only supports a single input image. Additional images are ignored."
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (mask != null) {
|
|
111
|
+
warnings.push({
|
|
112
|
+
type: "unsupported",
|
|
113
|
+
feature: "mask",
|
|
114
|
+
details: "Fireworks Kontext models do not support explicit masks. Use the prompt to describe the areas to edit."
|
|
115
|
+
});
|
|
116
|
+
}
|
|
83
117
|
const splitSize = size == null ? void 0 : size.split("x");
|
|
84
118
|
const currentDate = (_c = (_b = (_a = this.config._internal) == null ? void 0 : _a.currentDate) == null ? void 0 : _b.call(_a)) != null ? _c : /* @__PURE__ */ new Date();
|
|
85
119
|
const { value: response, responseHeaders } = await postJsonToApi({
|
|
86
|
-
url: getUrlForModel(this.config.baseURL, this.modelId),
|
|
120
|
+
url: getUrlForModel(this.config.baseURL, this.modelId, hasInputImage),
|
|
87
121
|
headers: combineHeaders(this.config.headers(), headers),
|
|
88
122
|
body: {
|
|
89
123
|
prompt,
|
|
90
124
|
aspect_ratio: aspectRatio,
|
|
91
125
|
seed,
|
|
92
126
|
samples: n,
|
|
127
|
+
...inputImage && { input_image: inputImage },
|
|
93
128
|
...splitSize && { width: splitSize[0], height: splitSize[1] },
|
|
94
129
|
...(_d = providerOptions.fireworks) != null ? _d : {}
|
|
95
130
|
},
|
|
@@ -124,7 +159,7 @@ import {
|
|
|
124
159
|
import { z } from "zod/v4";
|
|
125
160
|
|
|
126
161
|
// src/version.ts
|
|
127
|
-
var VERSION = true ? "2.0.0-beta.
|
|
162
|
+
var VERSION = true ? "2.0.0-beta.55" : "0.0.0-test";
|
|
128
163
|
|
|
129
164
|
// src/fireworks-provider.ts
|
|
130
165
|
var fireworksErrorSchema = z.object({
|
|
@@ -179,6 +214,7 @@ function createFireworks(options = {}) {
|
|
|
179
214
|
provider.chatModel = createChatModel;
|
|
180
215
|
provider.languageModel = createChatModel;
|
|
181
216
|
provider.embeddingModel = createEmbeddingModel;
|
|
217
|
+
provider.textEmbeddingModel = createEmbeddingModel;
|
|
182
218
|
provider.image = createImageModel;
|
|
183
219
|
provider.imageModel = createImageModel;
|
|
184
220
|
return provider;
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/fireworks-image-model.ts","../src/fireworks-provider.ts","../src/version.ts"],"sourcesContent":["import { ImageModelV3, SharedV3Warning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\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' | '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 _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 }: 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 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),\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: 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 /**\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.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":[]}
|
|
1
|
+
{"version":3,"sources":["../src/fireworks-image-model.ts","../src/fireworks-provider.ts","../src/version.ts"],"sourcesContent":["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":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-sdk/fireworks",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.55",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@ai-sdk/openai-compatible": "2.0.0-beta.
|
|
24
|
-
"@ai-sdk/provider": "3.0.0-beta.
|
|
25
|
-
"@ai-sdk/provider-utils": "4.0.0-beta.
|
|
23
|
+
"@ai-sdk/openai-compatible": "2.0.0-beta.55",
|
|
24
|
+
"@ai-sdk/provider": "3.0.0-beta.28",
|
|
25
|
+
"@ai-sdk/provider-utils": "4.0.0-beta.54"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/node": "20.17.24",
|