@ai-sdk/fireworks 0.0.0-156c9f7b-20250115085202 → 0.0.0-70e0935a-20260114150030
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 +1552 -10
- package/README.md +3 -3
- package/dist/index.d.mts +48 -24
- package/dist/index.d.ts +48 -24
- package/dist/index.js +95 -89
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +101 -96
- package/dist/index.mjs.map +1 -1
- package/package.json +18 -14
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AI SDK - Fireworks Provider
|
|
2
2
|
|
|
3
|
-
The **[Fireworks provider](https://sdk.
|
|
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 {
|
|
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.
|
|
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 {
|
|
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
|
|
7
|
-
|
|
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
|
|
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
|
-
|
|
15
|
-
|
|
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
|
|
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
|
-
},
|
|
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
|
|
62
|
+
(modelId: FireworksChatModelId): LanguageModelV3;
|
|
53
63
|
/**
|
|
54
64
|
Creates a chat model for text generation.
|
|
55
65
|
*/
|
|
56
|
-
chatModel(modelId: FireworksChatModelId
|
|
66
|
+
chatModel(modelId: FireworksChatModelId): LanguageModelV3;
|
|
57
67
|
/**
|
|
58
68
|
Creates a completion model for text generation.
|
|
59
69
|
*/
|
|
60
|
-
completionModel(modelId: FireworksCompletionModelId
|
|
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
|
-
|
|
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
|
-
|
|
90
|
+
imageModel(modelId: FireworksImageModelId): ImageModelV3;
|
|
69
91
|
}
|
|
70
92
|
declare function createFireworks(options?: FireworksProviderSettings): FireworksProvider;
|
|
71
93
|
declare const fireworks: FireworksProvider;
|
|
72
94
|
|
|
73
|
-
|
|
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 {
|
|
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
|
|
7
|
-
|
|
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
|
|
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
|
-
|
|
15
|
-
|
|
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
|
|
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
|
-
},
|
|
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
|
|
62
|
+
(modelId: FireworksChatModelId): LanguageModelV3;
|
|
53
63
|
/**
|
|
54
64
|
Creates a chat model for text generation.
|
|
55
65
|
*/
|
|
56
|
-
chatModel(modelId: FireworksChatModelId
|
|
66
|
+
chatModel(modelId: FireworksChatModelId): LanguageModelV3;
|
|
57
67
|
/**
|
|
58
68
|
Creates a completion model for text generation.
|
|
59
69
|
*/
|
|
60
|
-
completionModel(modelId: FireworksCompletionModelId
|
|
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
|
-
|
|
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
|
-
|
|
90
|
+
imageModel(modelId: FireworksImageModelId): ImageModelV3;
|
|
69
91
|
}
|
|
70
92
|
declare function createFireworks(options?: FireworksProviderSettings): FireworksProvider;
|
|
71
93
|
declare const fireworks: FireworksProvider;
|
|
72
94
|
|
|
73
|
-
|
|
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
|
-
|
|
66
|
-
switch (
|
|
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 = "
|
|
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
|
|
149
|
-
|
|
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
|
|
156
|
-
|
|
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
|
|
162
|
-
|
|
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
|
-
...(
|
|
152
|
+
...(_d = providerOptions.fireworks) != null ? _d : {}
|
|
171
153
|
},
|
|
172
|
-
failedResponseHandler:
|
|
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 {
|
|
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
|
|
183
|
-
|
|
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-70e0935a-20260114150030" : "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
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
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
|
|
208
|
-
return new import_openai_compatible.OpenAICompatibleChatLanguageModel(modelId,
|
|
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
|
|
214
|
+
const createCompletionModel = (modelId) => new import_openai_compatible.OpenAICompatibleCompletionLanguageModel(modelId, {
|
|
215
215
|
...getCommonModelConfig("completion"),
|
|
216
216
|
errorStructure: fireworksErrorStructure
|
|
217
217
|
});
|
|
218
|
-
const
|
|
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
|
|
226
|
+
const provider = (modelId) => createChatModel(modelId);
|
|
227
|
+
provider.specificationVersion = "v3";
|
|
227
228
|
provider.completionModel = createCompletionModel;
|
|
228
229
|
provider.chatModel = createChatModel;
|
|
229
|
-
provider.
|
|
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"]}
|