@ai-sdk/fireworks 1.0.0-canary.8 → 1.0.0

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 CHANGED
@@ -1,5 +1,575 @@
1
1
  # @ai-sdk/fireworks
2
2
 
3
+ ## 1.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - d5f588f: AI SDK 5
8
+ - 516be5b: ### Move Image Model Settings into generate options
9
+
10
+ Image Models no longer have settings. Instead, `maxImagesPerCall` can be passed directly to `generateImage()`. All other image settings can be passed to `providerOptions[provider]`.
11
+
12
+ Before
13
+
14
+ ```js
15
+ await generateImage({
16
+ model: luma.image('photon-flash-1', {
17
+ maxImagesPerCall: 5,
18
+ pollIntervalMillis: 500,
19
+ }),
20
+ prompt,
21
+ n: 10,
22
+ });
23
+ ```
24
+
25
+ After
26
+
27
+ ```js
28
+ await generateImage({
29
+ model: luma.image('photon-flash-1'),
30
+ prompt,
31
+ n: 10,
32
+ maxImagesPerCall: 5,
33
+ providerOptions: {
34
+ luma: { pollIntervalMillis: 5 },
35
+ },
36
+ });
37
+ ```
38
+
39
+ Pull Request: https://github.com/vercel/ai/pull/6180
40
+
41
+ ### Patch Changes
42
+
43
+ - fa49207: feat(providers/openai-compatible): convert to providerOptions
44
+ - e2aceaf: feat: add raw chunk support
45
+ - eb173f1: chore (providers): remove model shorthand deprecation warnings
46
+ - 26735b5: chore(embedding-model): add v2 interface
47
+ - d9209ca: fix (image-model): `specificationVersion: v1` -> `v2`
48
+ - 9301f86: refactor (image-model): rename `ImageModelV1` to `ImageModelV2`
49
+ - d1a034f: feature: using Zod 4 for internal stuff
50
+ - 205077b: fix: improve Zod compatibility
51
+ - Updated dependencies [a571d6e]
52
+ - Updated dependencies [742b7be]
53
+ - Updated dependencies [e7fcc86]
54
+ - Updated dependencies [7cddb72]
55
+ - Updated dependencies [ccce59b]
56
+ - Updated dependencies [e2b9e4b]
57
+ - Updated dependencies [95857aa]
58
+ - Updated dependencies [45c1ea2]
59
+ - Updated dependencies [6f6bb89]
60
+ - Updated dependencies [060370c]
61
+ - Updated dependencies [dc714f3]
62
+ - Updated dependencies [b5da06a]
63
+ - Updated dependencies [d1a1aa1]
64
+ - Updated dependencies [63f9e9b]
65
+ - Updated dependencies [5d142ab]
66
+ - Updated dependencies [d5f588f]
67
+ - Updated dependencies [e025824]
68
+ - Updated dependencies [0571b98]
69
+ - Updated dependencies [6db02c9]
70
+ - Updated dependencies [b6b43c7]
71
+ - Updated dependencies [4fef487]
72
+ - Updated dependencies [48d257a]
73
+ - Updated dependencies [0c0c0b3]
74
+ - Updated dependencies [0d2c085]
75
+ - Updated dependencies [fa49207]
76
+ - Updated dependencies [40acf9b]
77
+ - Updated dependencies [cf8280e]
78
+ - Updated dependencies [9222aeb]
79
+ - Updated dependencies [b9a6121]
80
+ - Updated dependencies [e2aceaf]
81
+ - Updated dependencies [411e483]
82
+ - Updated dependencies [8ba77a7]
83
+ - Updated dependencies [db72adc]
84
+ - Updated dependencies [7b3ae3f]
85
+ - Updated dependencies [a166433]
86
+ - Updated dependencies [26735b5]
87
+ - Updated dependencies [443d8ec]
88
+ - Updated dependencies [42e32b0]
89
+ - Updated dependencies [a8c8bd5]
90
+ - Updated dependencies [abf9a79]
91
+ - Updated dependencies [14c9410]
92
+ - Updated dependencies [e86be6f]
93
+ - Updated dependencies [9bf7291]
94
+ - Updated dependencies [2e13791]
95
+ - Updated dependencies [7b069ed]
96
+ - Updated dependencies [9f95b35]
97
+ - Updated dependencies [66962ed]
98
+ - Updated dependencies [0d06df6]
99
+ - Updated dependencies [472524a]
100
+ - Updated dependencies [dd3ff01]
101
+ - Updated dependencies [d9209ca]
102
+ - Updated dependencies [d9c98f4]
103
+ - Updated dependencies [05d2819]
104
+ - Updated dependencies [9301f86]
105
+ - Updated dependencies [0a87932]
106
+ - Updated dependencies [737f1e2]
107
+ - Updated dependencies [c4a2fec]
108
+ - Updated dependencies [957b739]
109
+ - Updated dependencies [79457bd]
110
+ - Updated dependencies [a3f768e]
111
+ - Updated dependencies [7435eb5]
112
+ - Updated dependencies [8aa9e20]
113
+ - Updated dependencies [4617fab]
114
+ - Updated dependencies [516be5b]
115
+ - Updated dependencies [ac34802]
116
+ - Updated dependencies [0054544]
117
+ - Updated dependencies [cb68df0]
118
+ - Updated dependencies [ad80501]
119
+ - Updated dependencies [68ecf2f]
120
+ - Updated dependencies [9e9c809]
121
+ - Updated dependencies [32831c6]
122
+ - Updated dependencies [6dc848c]
123
+ - Updated dependencies [6b98118]
124
+ - Updated dependencies [d0f9495]
125
+ - Updated dependencies [63d791d]
126
+ - Updated dependencies [87b828f]
127
+ - Updated dependencies [3f2f00c]
128
+ - Updated dependencies [bfdca8d]
129
+ - Updated dependencies [0ff02bb]
130
+ - Updated dependencies [7979f7f]
131
+ - Updated dependencies [39a4fab]
132
+ - Updated dependencies [44f4aba]
133
+ - Updated dependencies [9bd5ab5]
134
+ - Updated dependencies [57edfcb]
135
+ - Updated dependencies [faf8446]
136
+ - Updated dependencies [7ea4132]
137
+ - Updated dependencies [d1a034f]
138
+ - Updated dependencies [5c56081]
139
+ - Updated dependencies [fd65bc6]
140
+ - Updated dependencies [023ba40]
141
+ - Updated dependencies [ea7a7c9]
142
+ - Updated dependencies [1b101e1]
143
+ - Updated dependencies [26535e0]
144
+ - Updated dependencies [e030615]
145
+ - Updated dependencies [5e57fae]
146
+ - Updated dependencies [393138b]
147
+ - Updated dependencies [c57e248]
148
+ - Updated dependencies [88a8ee5]
149
+ - Updated dependencies [41fa418]
150
+ - Updated dependencies [205077b]
151
+ - Updated dependencies [71f938d]
152
+ - Updated dependencies [3795467]
153
+ - Updated dependencies [28a5ed5]
154
+ - Updated dependencies [7182d14]
155
+ - Updated dependencies [c1e6647]
156
+ - Updated dependencies [1766ede]
157
+ - Updated dependencies [811dff3]
158
+ - Updated dependencies [f10304b]
159
+ - Updated dependencies [dd5fd43]
160
+ - Updated dependencies [33f4a6a]
161
+ - Updated dependencies [383cbfa]
162
+ - Updated dependencies [27deb4d]
163
+ - Updated dependencies [c4df419]
164
+ - Updated dependencies [281bb1c]
165
+ - @ai-sdk/provider-utils@3.0.0
166
+ - @ai-sdk/provider@2.0.0
167
+ - @ai-sdk/openai-compatible@1.0.0
168
+
169
+ ## 1.0.0-beta.13
170
+
171
+ ### Patch Changes
172
+
173
+ - Updated dependencies [88a8ee5]
174
+ - @ai-sdk/provider-utils@3.0.0-beta.10
175
+ - @ai-sdk/openai-compatible@1.0.0-beta.13
176
+
177
+ ## 1.0.0-beta.12
178
+
179
+ ### Patch Changes
180
+
181
+ - Updated dependencies [27deb4d]
182
+ - @ai-sdk/provider@2.0.0-beta.2
183
+ - @ai-sdk/openai-compatible@1.0.0-beta.12
184
+ - @ai-sdk/provider-utils@3.0.0-beta.9
185
+
186
+ ## 1.0.0-beta.11
187
+
188
+ ### Patch Changes
189
+
190
+ - eb173f1: chore (providers): remove model shorthand deprecation warnings
191
+ - Updated dependencies [dd5fd43]
192
+ - @ai-sdk/provider-utils@3.0.0-beta.8
193
+ - @ai-sdk/openai-compatible@1.0.0-beta.11
194
+
195
+ ## 1.0.0-beta.10
196
+
197
+ ### Patch Changes
198
+
199
+ - Updated dependencies [e7fcc86]
200
+ - @ai-sdk/provider-utils@3.0.0-beta.7
201
+ - @ai-sdk/openai-compatible@1.0.0-beta.10
202
+
203
+ ## 1.0.0-beta.9
204
+
205
+ ### Patch Changes
206
+
207
+ - Updated dependencies [737f1e2]
208
+ - Updated dependencies [ac34802]
209
+ - @ai-sdk/openai-compatible@1.0.0-beta.9
210
+ - @ai-sdk/provider-utils@3.0.0-beta.6
211
+
212
+ ## 1.0.0-beta.8
213
+
214
+ ### Patch Changes
215
+
216
+ - Updated dependencies [57edfcb]
217
+ - Updated dependencies [383cbfa]
218
+ - @ai-sdk/provider-utils@3.0.0-beta.5
219
+ - @ai-sdk/openai-compatible@1.0.0-beta.8
220
+
221
+ ## 1.0.0-beta.7
222
+
223
+ ### Patch Changes
224
+
225
+ - 205077b: fix: improve Zod compatibility
226
+ - Updated dependencies [205077b]
227
+ - @ai-sdk/openai-compatible@1.0.0-beta.7
228
+ - @ai-sdk/provider-utils@3.0.0-beta.4
229
+
230
+ ## 1.0.0-beta.6
231
+
232
+ ### Patch Changes
233
+
234
+ - Updated dependencies [281bb1c]
235
+ - @ai-sdk/openai-compatible@1.0.0-beta.6
236
+
237
+ ## 1.0.0-beta.5
238
+
239
+ ### Patch Changes
240
+
241
+ - Updated dependencies [05d2819]
242
+ - @ai-sdk/provider-utils@3.0.0-beta.3
243
+ - @ai-sdk/openai-compatible@1.0.0-beta.5
244
+
245
+ ## 1.0.0-beta.4
246
+
247
+ ### Patch Changes
248
+
249
+ - Updated dependencies [1b101e1]
250
+ - @ai-sdk/openai-compatible@1.0.0-beta.4
251
+
252
+ ## 1.0.0-beta.3
253
+
254
+ ### Patch Changes
255
+
256
+ - Updated dependencies [7b069ed]
257
+ - @ai-sdk/openai-compatible@1.0.0-beta.3
258
+
259
+ ## 1.0.0-beta.2
260
+
261
+ ### Patch Changes
262
+
263
+ - d1a034f: feature: using Zod 4 for internal stuff
264
+ - Updated dependencies [0571b98]
265
+ - Updated dependencies [39a4fab]
266
+ - Updated dependencies [d1a034f]
267
+ - @ai-sdk/provider-utils@3.0.0-beta.2
268
+ - @ai-sdk/openai-compatible@1.0.0-beta.2
269
+
270
+ ## 1.0.0-beta.1
271
+
272
+ ### Patch Changes
273
+
274
+ - Updated dependencies [742b7be]
275
+ - Updated dependencies [7cddb72]
276
+ - Updated dependencies [ccce59b]
277
+ - Updated dependencies [e2b9e4b]
278
+ - Updated dependencies [45c1ea2]
279
+ - Updated dependencies [e025824]
280
+ - Updated dependencies [0d06df6]
281
+ - Updated dependencies [472524a]
282
+ - Updated dependencies [dd3ff01]
283
+ - Updated dependencies [7435eb5]
284
+ - Updated dependencies [cb68df0]
285
+ - Updated dependencies [bfdca8d]
286
+ - Updated dependencies [44f4aba]
287
+ - Updated dependencies [023ba40]
288
+ - Updated dependencies [5e57fae]
289
+ - Updated dependencies [71f938d]
290
+ - Updated dependencies [28a5ed5]
291
+ - @ai-sdk/provider@2.0.0-beta.1
292
+ - @ai-sdk/provider-utils@3.0.0-beta.1
293
+ - @ai-sdk/openai-compatible@1.0.0-beta.1
294
+
295
+ ## 1.0.0-alpha.15
296
+
297
+ ### Patch Changes
298
+
299
+ - Updated dependencies [48d257a]
300
+ - Updated dependencies [8ba77a7]
301
+ - @ai-sdk/provider@2.0.0-alpha.15
302
+ - @ai-sdk/provider-utils@3.0.0-alpha.15
303
+ - @ai-sdk/openai-compatible@1.0.0-alpha.15
304
+
305
+ ## 1.0.0-alpha.14
306
+
307
+ ### Patch Changes
308
+
309
+ - Updated dependencies [b5da06a]
310
+ - Updated dependencies [63f9e9b]
311
+ - Updated dependencies [2e13791]
312
+ - @ai-sdk/provider@2.0.0-alpha.14
313
+ - @ai-sdk/openai-compatible@1.0.0-alpha.14
314
+ - @ai-sdk/provider-utils@3.0.0-alpha.14
315
+
316
+ ## 1.0.0-alpha.13
317
+
318
+ ### Patch Changes
319
+
320
+ - Updated dependencies [68ecf2f]
321
+ - @ai-sdk/provider@2.0.0-alpha.13
322
+ - @ai-sdk/openai-compatible@1.0.0-alpha.13
323
+ - @ai-sdk/provider-utils@3.0.0-alpha.13
324
+
325
+ ## 1.0.0-alpha.12
326
+
327
+ ### Patch Changes
328
+
329
+ - e2aceaf: feat: add raw chunk support
330
+ - Updated dependencies [e2aceaf]
331
+ - @ai-sdk/openai-compatible@1.0.0-alpha.12
332
+ - @ai-sdk/provider@2.0.0-alpha.12
333
+ - @ai-sdk/provider-utils@3.0.0-alpha.12
334
+
335
+ ## 1.0.0-alpha.11
336
+
337
+ ### Patch Changes
338
+
339
+ - Updated dependencies [c1e6647]
340
+ - @ai-sdk/provider@2.0.0-alpha.11
341
+ - @ai-sdk/openai-compatible@1.0.0-alpha.11
342
+ - @ai-sdk/provider-utils@3.0.0-alpha.11
343
+
344
+ ## 1.0.0-alpha.10
345
+
346
+ ### Patch Changes
347
+
348
+ - Updated dependencies [c4df419]
349
+ - @ai-sdk/provider@2.0.0-alpha.10
350
+ - @ai-sdk/openai-compatible@1.0.0-alpha.10
351
+ - @ai-sdk/provider-utils@3.0.0-alpha.10
352
+
353
+ ## 1.0.0-alpha.9
354
+
355
+ ### Patch Changes
356
+
357
+ - Updated dependencies [811dff3]
358
+ - @ai-sdk/provider@2.0.0-alpha.9
359
+ - @ai-sdk/openai-compatible@1.0.0-alpha.9
360
+ - @ai-sdk/provider-utils@3.0.0-alpha.9
361
+
362
+ ## 1.0.0-alpha.8
363
+
364
+ ### Patch Changes
365
+
366
+ - Updated dependencies [4fef487]
367
+ - Updated dependencies [9222aeb]
368
+ - @ai-sdk/provider-utils@3.0.0-alpha.8
369
+ - @ai-sdk/provider@2.0.0-alpha.8
370
+ - @ai-sdk/openai-compatible@1.0.0-alpha.8
371
+
372
+ ## 1.0.0-alpha.7
373
+
374
+ ### Patch Changes
375
+
376
+ - Updated dependencies [5c56081]
377
+ - @ai-sdk/provider@2.0.0-alpha.7
378
+ - @ai-sdk/openai-compatible@1.0.0-alpha.7
379
+ - @ai-sdk/provider-utils@3.0.0-alpha.7
380
+
381
+ ## 1.0.0-alpha.6
382
+
383
+ ### Patch Changes
384
+
385
+ - Updated dependencies [0d2c085]
386
+ - @ai-sdk/provider@2.0.0-alpha.6
387
+ - @ai-sdk/openai-compatible@1.0.0-alpha.6
388
+ - @ai-sdk/provider-utils@3.0.0-alpha.6
389
+
390
+ ## 1.0.0-alpha.4
391
+
392
+ ### Patch Changes
393
+
394
+ - Updated dependencies [dc714f3]
395
+ - @ai-sdk/provider@2.0.0-alpha.4
396
+ - @ai-sdk/openai-compatible@1.0.0-alpha.4
397
+ - @ai-sdk/provider-utils@3.0.0-alpha.4
398
+
399
+ ## 1.0.0-alpha.3
400
+
401
+ ### Patch Changes
402
+
403
+ - Updated dependencies [6b98118]
404
+ - @ai-sdk/provider@2.0.0-alpha.3
405
+ - @ai-sdk/openai-compatible@1.0.0-alpha.3
406
+ - @ai-sdk/provider-utils@3.0.0-alpha.3
407
+
408
+ ## 1.0.0-alpha.2
409
+
410
+ ### Patch Changes
411
+
412
+ - Updated dependencies [26535e0]
413
+ - @ai-sdk/provider@2.0.0-alpha.2
414
+ - @ai-sdk/openai-compatible@1.0.0-alpha.2
415
+ - @ai-sdk/provider-utils@3.0.0-alpha.2
416
+
417
+ ## 1.0.0-alpha.1
418
+
419
+ ### Patch Changes
420
+
421
+ - Updated dependencies [3f2f00c]
422
+ - @ai-sdk/provider@2.0.0-alpha.1
423
+ - @ai-sdk/openai-compatible@1.0.0-alpha.1
424
+ - @ai-sdk/provider-utils@3.0.0-alpha.1
425
+
426
+ ## 1.0.0-canary.19
427
+
428
+ ### Patch Changes
429
+
430
+ - Updated dependencies [faf8446]
431
+ - @ai-sdk/provider-utils@3.0.0-canary.19
432
+ - @ai-sdk/openai-compatible@1.0.0-canary.19
433
+
434
+ ## 1.0.0-canary.18
435
+
436
+ ### Patch Changes
437
+
438
+ - Updated dependencies [40acf9b]
439
+ - @ai-sdk/provider-utils@3.0.0-canary.18
440
+ - @ai-sdk/openai-compatible@1.0.0-canary.18
441
+
442
+ ## 1.0.0-canary.17
443
+
444
+ ### Major Changes
445
+
446
+ - 516be5b: ### Move Image Model Settings into generate options
447
+
448
+ Image Models no longer have settings. Instead, `maxImagesPerCall` can be passed directly to `generateImage()`. All other image settings can be passed to `providerOptions[provider]`.
449
+
450
+ Before
451
+
452
+ ```js
453
+ await generateImage({
454
+ model: luma.image('photon-flash-1', {
455
+ maxImagesPerCall: 5,
456
+ pollIntervalMillis: 500,
457
+ }),
458
+ prompt,
459
+ n: 10,
460
+ });
461
+ ```
462
+
463
+ After
464
+
465
+ ```js
466
+ await generateImage({
467
+ model: luma.image('photon-flash-1'),
468
+ prompt,
469
+ n: 10,
470
+ maxImagesPerCall: 5,
471
+ providerOptions: {
472
+ luma: { pollIntervalMillis: 5 },
473
+ },
474
+ });
475
+ ```
476
+
477
+ Pull Request: https://github.com/vercel/ai/pull/6180
478
+
479
+ ### Patch Changes
480
+
481
+ - Updated dependencies [516be5b]
482
+ - Updated dependencies [ea7a7c9]
483
+ - @ai-sdk/openai-compatible@1.0.0-canary.17
484
+ - @ai-sdk/provider-utils@3.0.0-canary.17
485
+
486
+ ## 1.0.0-canary.16
487
+
488
+ ### Patch Changes
489
+
490
+ - Updated dependencies [87b828f]
491
+ - @ai-sdk/provider-utils@3.0.0-canary.16
492
+ - @ai-sdk/openai-compatible@1.0.0-canary.16
493
+
494
+ ## 1.0.0-canary.15
495
+
496
+ ### Patch Changes
497
+
498
+ - Updated dependencies [a571d6e]
499
+ - Updated dependencies [a8c8bd5]
500
+ - Updated dependencies [7979f7f]
501
+ - Updated dependencies [41fa418]
502
+ - @ai-sdk/provider-utils@3.0.0-canary.15
503
+ - @ai-sdk/provider@2.0.0-canary.14
504
+ - @ai-sdk/openai-compatible@1.0.0-canary.15
505
+
506
+ ## 1.0.0-canary.14
507
+
508
+ ### Patch Changes
509
+
510
+ - Updated dependencies [957b739]
511
+ - Updated dependencies [9bd5ab5]
512
+ - @ai-sdk/provider-utils@3.0.0-canary.14
513
+ - @ai-sdk/provider@2.0.0-canary.13
514
+ - @ai-sdk/openai-compatible@1.0.0-canary.14
515
+
516
+ ## 1.0.0-canary.13
517
+
518
+ ### Patch Changes
519
+
520
+ - d9209ca: fix (image-model): `specificationVersion: v1` -> `v2`
521
+ - Updated dependencies [7b3ae3f]
522
+ - Updated dependencies [d9209ca]
523
+ - Updated dependencies [0ff02bb]
524
+ - @ai-sdk/provider@2.0.0-canary.12
525
+ - @ai-sdk/openai-compatible@1.0.0-canary.13
526
+ - @ai-sdk/provider-utils@3.0.0-canary.13
527
+
528
+ ## 1.0.0-canary.12
529
+
530
+ ### Patch Changes
531
+
532
+ - Updated dependencies [9bf7291]
533
+ - Updated dependencies [4617fab]
534
+ - Updated dependencies [e030615]
535
+ - @ai-sdk/provider@2.0.0-canary.11
536
+ - @ai-sdk/openai-compatible@1.0.0-canary.12
537
+ - @ai-sdk/provider-utils@3.0.0-canary.12
538
+
539
+ ## 1.0.0-canary.11
540
+
541
+ ### Patch Changes
542
+
543
+ - 9301f86: refactor (image-model): rename `ImageModelV1` to `ImageModelV2`
544
+ - Updated dependencies [db72adc]
545
+ - Updated dependencies [42e32b0]
546
+ - Updated dependencies [66962ed]
547
+ - Updated dependencies [9301f86]
548
+ - Updated dependencies [a3f768e]
549
+ - @ai-sdk/openai-compatible@1.0.0-canary.11
550
+ - @ai-sdk/provider-utils@3.0.0-canary.11
551
+ - @ai-sdk/provider@2.0.0-canary.10
552
+
553
+ ## 1.0.0-canary.10
554
+
555
+ ### Patch Changes
556
+
557
+ - Updated dependencies [cf8280e]
558
+ - Updated dependencies [e86be6f]
559
+ - @ai-sdk/openai-compatible@1.0.0-canary.10
560
+ - @ai-sdk/provider@2.0.0-canary.9
561
+ - @ai-sdk/provider-utils@3.0.0-canary.10
562
+
563
+ ## 1.0.0-canary.9
564
+
565
+ ### Patch Changes
566
+
567
+ - Updated dependencies [95857aa]
568
+ - Updated dependencies [7ea4132]
569
+ - @ai-sdk/provider@2.0.0-canary.8
570
+ - @ai-sdk/openai-compatible@1.0.0-canary.9
571
+ - @ai-sdk/provider-utils@3.0.0-canary.9
572
+
3
573
  ## 1.0.0-canary.8
4
574
 
5
575
  ### Patch Changes
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # AI SDK - Fireworks Provider
2
2
 
3
- The **[Fireworks provider](https://sdk.vercel.ai/providers/ai-sdk-providers/fireworks)** for the [AI SDK](https://sdk.vercel.ai/docs) contains language model and image model support for the [Fireworks](https://fireworks.ai) platform.
3
+ The **[Fireworks provider](https://ai-sdk.dev/providers/ai-sdk-providers/fireworks)** for the [AI SDK](https://ai-sdk.dev/docs) contains language model and image model support for the [Fireworks](https://fireworks.ai) platform.
4
4
 
5
5
  ## Setup
6
6
 
@@ -48,4 +48,4 @@ console.log(`Image saved to ${filename}`);
48
48
 
49
49
  ## Documentation
50
50
 
51
- Please check out the **[Fireworks provider](https://sdk.vercel.ai/providers/ai-sdk-providers/fireworks)** for more information.
51
+ Please check out the **[Fireworks provider](https://ai-sdk.dev/providers/ai-sdk-providers/fireworks)** for more information.
package/dist/index.d.mts CHANGED
@@ -1,18 +1,12 @@
1
- import { z } from 'zod';
2
- import { ImageModelV1, ProviderV2, LanguageModelV2, EmbeddingModelV2 } from '@ai-sdk/provider';
1
+ import { z } from 'zod/v4';
2
+ import { ImageModelV2, ProviderV2, LanguageModelV2, EmbeddingModelV2 } from '@ai-sdk/provider';
3
3
  import { FetchFunction } from '@ai-sdk/provider-utils';
4
4
 
5
5
  type FireworksEmbeddingModelId = 'nomic-ai/nomic-embed-text-v1.5' | (string & {});
6
- declare const fireworksEmbeddingProviderOptions: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
6
+ declare const fireworksEmbeddingProviderOptions: z.ZodObject<{}, z.core.$strip>;
7
7
  type FireworksEmbeddingProviderOptions = z.infer<typeof fireworksEmbeddingProviderOptions>;
8
8
 
9
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 & {});
10
- interface FireworksImageSettings {
11
- /**
12
- Override the maximum number of images per call (default 1)
13
- */
14
- maxImagesPerCall?: number;
15
- }
16
10
 
17
11
  interface FireworksImageModelConfig {
18
12
  provider: string;
@@ -23,29 +17,24 @@ interface FireworksImageModelConfig {
23
17
  currentDate?: () => Date;
24
18
  };
25
19
  }
26
- declare class FireworksImageModel implements ImageModelV1 {
20
+ declare class FireworksImageModel implements ImageModelV2 {
27
21
  readonly modelId: FireworksImageModelId;
28
- readonly settings: FireworksImageSettings;
29
22
  private config;
30
- readonly specificationVersion = "v1";
23
+ readonly specificationVersion = "v2";
24
+ readonly maxImagesPerCall = 1;
31
25
  get provider(): string;
32
- get maxImagesPerCall(): number;
33
- constructor(modelId: FireworksImageModelId, settings: FireworksImageSettings, config: FireworksImageModelConfig);
34
- doGenerate({ prompt, n, size, aspectRatio, seed, providerOptions, headers, abortSignal, }: Parameters<ImageModelV1['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV1['doGenerate']>>>;
26
+ constructor(modelId: FireworksImageModelId, config: FireworksImageModelConfig);
27
+ doGenerate({ prompt, n, size, aspectRatio, seed, providerOptions, headers, abortSignal, }: Parameters<ImageModelV2['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV2['doGenerate']>>>;
35
28
  }
36
29
 
37
- 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' | (string & {});
30
+ type FireworksChatModelId = 'accounts/fireworks/models/deepseek-v3' | 'accounts/fireworks/models/llama-v3p3-70b-instruct' | 'accounts/fireworks/models/llama-v3p2-3b-instruct' | 'accounts/fireworks/models/llama-v3p1-405b-instruct' | 'accounts/fireworks/models/llama-v3p1-8b-instruct' | 'accounts/fireworks/models/mixtral-8x7b-instruct' | 'accounts/fireworks/models/mixtral-8x22b-instruct' | 'accounts/fireworks/models/mixtral-8x7b-instruct-hf' | 'accounts/fireworks/models/qwen2p5-coder-32b-instruct' | 'accounts/fireworks/models/qwen2p5-72b-instruct' | 'accounts/fireworks/models/qwen-qwq-32b-preview' | 'accounts/fireworks/models/qwen2-vl-72b-instruct' | 'accounts/fireworks/models/llama-v3p2-11b-vision-instruct' | 'accounts/fireworks/models/qwq-32b' | 'accounts/fireworks/models/yi-large' | 'accounts/fireworks/models/kimi-k2-instruct' | (string & {});
38
31
 
39
32
  type FireworksCompletionModelId = 'accounts/fireworks/models/llama-v3-8b-instruct' | 'accounts/fireworks/models/llama-v2-34b-code' | (string & {});
40
33
 
41
34
  type FireworksErrorData = z.infer<typeof fireworksErrorSchema>;
42
35
  declare const fireworksErrorSchema: z.ZodObject<{
43
36
  error: z.ZodString;
44
- }, "strip", z.ZodTypeAny, {
45
- error: string;
46
- }, {
47
- error: string;
48
- }>;
37
+ }, z.core.$strip>;
49
38
  interface FireworksProviderSettings {
50
39
  /**
51
40
  Fireworks API key. Default value is taken from the `FIREWORKS_API_KEY`
@@ -90,11 +79,11 @@ interface FireworksProvider extends ProviderV2 {
90
79
  /**
91
80
  Creates a model for image generation.
92
81
  */
93
- image(modelId: FireworksImageModelId, settings?: FireworksImageSettings): ImageModelV1;
82
+ image(modelId: FireworksImageModelId): ImageModelV2;
94
83
  /**
95
84
  Creates a model for image generation.
96
85
  */
97
- imageModel(modelId: FireworksImageModelId, settings?: FireworksImageSettings): ImageModelV1;
86
+ imageModel(modelId: FireworksImageModelId): ImageModelV2;
98
87
  }
99
88
  declare function createFireworks(options?: FireworksProviderSettings): FireworksProvider;
100
89
  declare const fireworks: FireworksProvider;
package/dist/index.d.ts CHANGED
@@ -1,18 +1,12 @@
1
- import { z } from 'zod';
2
- import { ImageModelV1, ProviderV2, LanguageModelV2, EmbeddingModelV2 } from '@ai-sdk/provider';
1
+ import { z } from 'zod/v4';
2
+ import { ImageModelV2, ProviderV2, LanguageModelV2, EmbeddingModelV2 } from '@ai-sdk/provider';
3
3
  import { FetchFunction } from '@ai-sdk/provider-utils';
4
4
 
5
5
  type FireworksEmbeddingModelId = 'nomic-ai/nomic-embed-text-v1.5' | (string & {});
6
- declare const fireworksEmbeddingProviderOptions: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
6
+ declare const fireworksEmbeddingProviderOptions: z.ZodObject<{}, z.core.$strip>;
7
7
  type FireworksEmbeddingProviderOptions = z.infer<typeof fireworksEmbeddingProviderOptions>;
8
8
 
9
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 & {});
10
- interface FireworksImageSettings {
11
- /**
12
- Override the maximum number of images per call (default 1)
13
- */
14
- maxImagesPerCall?: number;
15
- }
16
10
 
17
11
  interface FireworksImageModelConfig {
18
12
  provider: string;
@@ -23,29 +17,24 @@ interface FireworksImageModelConfig {
23
17
  currentDate?: () => Date;
24
18
  };
25
19
  }
26
- declare class FireworksImageModel implements ImageModelV1 {
20
+ declare class FireworksImageModel implements ImageModelV2 {
27
21
  readonly modelId: FireworksImageModelId;
28
- readonly settings: FireworksImageSettings;
29
22
  private config;
30
- readonly specificationVersion = "v1";
23
+ readonly specificationVersion = "v2";
24
+ readonly maxImagesPerCall = 1;
31
25
  get provider(): string;
32
- get maxImagesPerCall(): number;
33
- constructor(modelId: FireworksImageModelId, settings: FireworksImageSettings, config: FireworksImageModelConfig);
34
- doGenerate({ prompt, n, size, aspectRatio, seed, providerOptions, headers, abortSignal, }: Parameters<ImageModelV1['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV1['doGenerate']>>>;
26
+ constructor(modelId: FireworksImageModelId, config: FireworksImageModelConfig);
27
+ doGenerate({ prompt, n, size, aspectRatio, seed, providerOptions, headers, abortSignal, }: Parameters<ImageModelV2['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV2['doGenerate']>>>;
35
28
  }
36
29
 
37
- 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' | (string & {});
30
+ type FireworksChatModelId = 'accounts/fireworks/models/deepseek-v3' | 'accounts/fireworks/models/llama-v3p3-70b-instruct' | 'accounts/fireworks/models/llama-v3p2-3b-instruct' | 'accounts/fireworks/models/llama-v3p1-405b-instruct' | 'accounts/fireworks/models/llama-v3p1-8b-instruct' | 'accounts/fireworks/models/mixtral-8x7b-instruct' | 'accounts/fireworks/models/mixtral-8x22b-instruct' | 'accounts/fireworks/models/mixtral-8x7b-instruct-hf' | 'accounts/fireworks/models/qwen2p5-coder-32b-instruct' | 'accounts/fireworks/models/qwen2p5-72b-instruct' | 'accounts/fireworks/models/qwen-qwq-32b-preview' | 'accounts/fireworks/models/qwen2-vl-72b-instruct' | 'accounts/fireworks/models/llama-v3p2-11b-vision-instruct' | 'accounts/fireworks/models/qwq-32b' | 'accounts/fireworks/models/yi-large' | 'accounts/fireworks/models/kimi-k2-instruct' | (string & {});
38
31
 
39
32
  type FireworksCompletionModelId = 'accounts/fireworks/models/llama-v3-8b-instruct' | 'accounts/fireworks/models/llama-v2-34b-code' | (string & {});
40
33
 
41
34
  type FireworksErrorData = z.infer<typeof fireworksErrorSchema>;
42
35
  declare const fireworksErrorSchema: z.ZodObject<{
43
36
  error: z.ZodString;
44
- }, "strip", z.ZodTypeAny, {
45
- error: string;
46
- }, {
47
- error: string;
48
- }>;
37
+ }, z.core.$strip>;
49
38
  interface FireworksProviderSettings {
50
39
  /**
51
40
  Fireworks API key. Default value is taken from the `FIREWORKS_API_KEY`
@@ -90,11 +79,11 @@ interface FireworksProvider extends ProviderV2 {
90
79
  /**
91
80
  Creates a model for image generation.
92
81
  */
93
- image(modelId: FireworksImageModelId, settings?: FireworksImageSettings): ImageModelV1;
82
+ image(modelId: FireworksImageModelId): ImageModelV2;
94
83
  /**
95
84
  Creates a model for image generation.
96
85
  */
97
- imageModel(modelId: FireworksImageModelId, settings?: FireworksImageSettings): ImageModelV1;
86
+ imageModel(modelId: FireworksImageModelId): ImageModelV2;
98
87
  }
99
88
  declare function createFireworks(options?: FireworksProviderSettings): FireworksProvider;
100
89
  declare const fireworks: FireworksProvider;
package/dist/index.js CHANGED
@@ -67,19 +67,15 @@ function getUrlForModel(baseUrl, modelId) {
67
67
  }
68
68
  }
69
69
  var FireworksImageModel = class {
70
- constructor(modelId, settings, config) {
70
+ constructor(modelId, config) {
71
71
  this.modelId = modelId;
72
- this.settings = settings;
73
72
  this.config = config;
74
- this.specificationVersion = "v1";
73
+ this.specificationVersion = "v2";
74
+ this.maxImagesPerCall = 1;
75
75
  }
76
76
  get provider() {
77
77
  return this.config.provider;
78
78
  }
79
- get maxImagesPerCall() {
80
- var _a;
81
- return (_a = this.settings.maxImagesPerCall) != null ? _a : 1;
82
- }
83
79
  async doGenerate({
84
80
  prompt,
85
81
  n,
@@ -140,9 +136,9 @@ var FireworksImageModel = class {
140
136
  // src/fireworks-provider.ts
141
137
  var import_openai_compatible = require("@ai-sdk/openai-compatible");
142
138
  var import_provider_utils2 = require("@ai-sdk/provider-utils");
143
- var import_zod = require("zod");
144
- var fireworksErrorSchema = import_zod.z.object({
145
- error: import_zod.z.string()
139
+ var import_v4 = require("zod/v4");
140
+ var fireworksErrorSchema = import_v4.z.object({
141
+ error: import_v4.z.string()
146
142
  });
147
143
  var fireworksErrorStructure = {
148
144
  errorSchema: fireworksErrorSchema,
@@ -169,8 +165,7 @@ function createFireworks(options = {}) {
169
165
  const createChatModel = (modelId) => {
170
166
  return new import_openai_compatible.OpenAICompatibleChatLanguageModel(modelId, {
171
167
  ...getCommonModelConfig("chat"),
172
- errorStructure: fireworksErrorStructure,
173
- defaultObjectGenerationMode: "json"
168
+ errorStructure: fireworksErrorStructure
174
169
  });
175
170
  };
176
171
  const createCompletionModel = (modelId) => new import_openai_compatible.OpenAICompatibleCompletionLanguageModel(modelId, {
@@ -181,7 +176,7 @@ function createFireworks(options = {}) {
181
176
  ...getCommonModelConfig("embedding"),
182
177
  errorStructure: fireworksErrorStructure
183
178
  });
184
- const createImageModel = (modelId, settings = {}) => new FireworksImageModel(modelId, settings, {
179
+ const createImageModel = (modelId) => new FireworksImageModel(modelId, {
185
180
  ...getCommonModelConfig("image"),
186
181
  baseURL: baseURL != null ? baseURL : defaultBaseURL
187
182
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/fireworks-image-model.ts","../src/fireworks-provider.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';\n","import { ImageModelV1, ImageModelV1CallWarning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createBinaryResponseHandler,\n createStatusCodeErrorResponseHandler,\n FetchFunction,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport {\n FireworksImageModelId,\n FireworksImageSettings,\n} 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 ImageModelV1 {\n readonly specificationVersion = 'v1';\n\n get provider(): string {\n return this.config.provider;\n }\n\n get maxImagesPerCall(): number {\n return this.settings.maxImagesPerCall ?? 1;\n }\n\n constructor(\n readonly modelId: FireworksImageModelId,\n readonly settings: FireworksImageSettings,\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 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 EmbeddingModelV2,\n ImageModelV1,\n LanguageModelV2,\n ProviderV2,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withoutTrailingSlash,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod';\nimport { FireworksChatModelId } from './fireworks-chat-settings';\nimport { FireworksCompletionModelId } from './fireworks-completion-settings';\nimport {\n FireworksEmbeddingModelId,\n FireworksEmbeddingProviderOptions,\n} from './fireworks-embedding-options';\nimport { FireworksImageModel } from './fireworks-image-model';\nimport {\n FireworksImageModelId,\n FireworksImageSettings,\n} from './fireworks-image-options';\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 ProviderV2 {\n /**\nCreates a model for text generation.\n*/\n (modelId: FireworksChatModelId): LanguageModelV2;\n\n /**\nCreates a chat model for text generation.\n*/\n chatModel(modelId: FireworksChatModelId): LanguageModelV2;\n\n /**\nCreates a completion model for text generation.\n*/\n completionModel(modelId: FireworksCompletionModelId): LanguageModelV2;\n\n /**\nCreates a chat model for text generation.\n*/\n languageModel(modelId: FireworksChatModelId): LanguageModelV2;\n\n /**\nCreates a text embedding model for text generation.\n*/\n textEmbeddingModel(\n modelId: FireworksEmbeddingModelId,\n ): EmbeddingModelV2<string>;\n\n /**\nCreates a model for image generation.\n*/\n image(\n modelId: FireworksImageModelId,\n settings?: FireworksImageSettings,\n ): ImageModelV1;\n\n /**\nCreates a model for image generation.\n*/\n imageModel(\n modelId: FireworksImageModelId,\n settings?: FireworksImageSettings,\n ): 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 = (modelId: FireworksChatModelId) => {\n return new OpenAICompatibleChatLanguageModel(modelId, {\n ...getCommonModelConfig('chat'),\n errorStructure: fireworksErrorStructure,\n defaultObjectGenerationMode: 'json',\n });\n };\n\n const createCompletionModel = (modelId: FireworksCompletionModelId) =>\n new OpenAICompatibleCompletionLanguageModel(modelId, {\n ...getCommonModelConfig('completion'),\n errorStructure: fireworksErrorStructure,\n });\n\n const createTextEmbeddingModel = (modelId: FireworksEmbeddingModelId) =>\n new OpenAICompatibleEmbeddingModel(modelId, {\n ...getCommonModelConfig('embedding'),\n errorStructure: fireworksErrorStructure,\n });\n\n const createImageModel = (\n modelId: FireworksImageModelId,\n settings: FireworksImageSettings = {},\n ) =>\n new FireworksImageModel(modelId, settings, {\n ...getCommonModelConfig('image'),\n baseURL: baseURL ?? defaultBaseURL,\n });\n\n const provider = (modelId: FireworksChatModelId) => createChatModel(modelId);\n\n provider.completionModel = createCompletionModel;\n provider.chatModel = createChatModel;\n provider.languageModel = createChatModel;\n provider.textEmbeddingModel = createTextEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n return provider;\n}\n\nexport const fireworks = createFireworks();\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"],"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';\n","import { ImageModelV2, ImageModelV2CallWarning } 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 ImageModelV2 {\n readonly specificationVersion = 'v2';\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<ImageModelV2['doGenerate']>[0]): Promise<\n Awaited<ReturnType<ImageModelV2['doGenerate']>>\n > {\n const warnings: Array<ImageModelV2CallWarning> = [];\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 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 EmbeddingModelV2,\n ImageModelV2,\n LanguageModelV2,\n ProviderV2,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withoutTrailingSlash,\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';\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 ProviderV2 {\n /**\nCreates a model for text generation.\n*/\n (modelId: FireworksChatModelId): LanguageModelV2;\n\n /**\nCreates a chat model for text generation.\n*/\n chatModel(modelId: FireworksChatModelId): LanguageModelV2;\n\n /**\nCreates a completion model for text generation.\n*/\n completionModel(modelId: FireworksCompletionModelId): LanguageModelV2;\n\n /**\nCreates a chat model for text generation.\n*/\n languageModel(modelId: FireworksChatModelId): LanguageModelV2;\n\n /**\nCreates a text embedding model for text generation.\n*/\n textEmbeddingModel(\n modelId: FireworksEmbeddingModelId,\n ): EmbeddingModelV2<string>;\n\n /**\nCreates a model for image generation.\n*/\n image(modelId: FireworksImageModelId): ImageModelV2;\n\n /**\nCreates a model for image generation.\n*/\n imageModel(modelId: FireworksImageModelId): ImageModelV2;\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 = (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 createTextEmbeddingModel = (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.completionModel = createCompletionModel;\n provider.chatModel = createChatModel;\n provider.languageModel = createChatModel;\n provider.textEmbeddingModel = createTextEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n return provider;\n}\n\nexport const fireworks = createFireworks();\n"],"mappings":"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","names":["import_provider_utils"]}
package/dist/index.mjs CHANGED
@@ -44,19 +44,15 @@ function getUrlForModel(baseUrl, modelId) {
44
44
  }
45
45
  }
46
46
  var FireworksImageModel = class {
47
- constructor(modelId, settings, config) {
47
+ constructor(modelId, config) {
48
48
  this.modelId = modelId;
49
- this.settings = settings;
50
49
  this.config = config;
51
- this.specificationVersion = "v1";
50
+ this.specificationVersion = "v2";
51
+ this.maxImagesPerCall = 1;
52
52
  }
53
53
  get provider() {
54
54
  return this.config.provider;
55
55
  }
56
- get maxImagesPerCall() {
57
- var _a;
58
- return (_a = this.settings.maxImagesPerCall) != null ? _a : 1;
59
- }
60
56
  async doGenerate({
61
57
  prompt,
62
58
  n,
@@ -124,7 +120,7 @@ import {
124
120
  loadApiKey,
125
121
  withoutTrailingSlash
126
122
  } from "@ai-sdk/provider-utils";
127
- import { z } from "zod";
123
+ import { z } from "zod/v4";
128
124
  var fireworksErrorSchema = z.object({
129
125
  error: z.string()
130
126
  });
@@ -153,8 +149,7 @@ function createFireworks(options = {}) {
153
149
  const createChatModel = (modelId) => {
154
150
  return new OpenAICompatibleChatLanguageModel(modelId, {
155
151
  ...getCommonModelConfig("chat"),
156
- errorStructure: fireworksErrorStructure,
157
- defaultObjectGenerationMode: "json"
152
+ errorStructure: fireworksErrorStructure
158
153
  });
159
154
  };
160
155
  const createCompletionModel = (modelId) => new OpenAICompatibleCompletionLanguageModel(modelId, {
@@ -165,7 +160,7 @@ function createFireworks(options = {}) {
165
160
  ...getCommonModelConfig("embedding"),
166
161
  errorStructure: fireworksErrorStructure
167
162
  });
168
- const createImageModel = (modelId, settings = {}) => new FireworksImageModel(modelId, settings, {
163
+ const createImageModel = (modelId) => new FireworksImageModel(modelId, {
169
164
  ...getCommonModelConfig("image"),
170
165
  baseURL: baseURL != null ? baseURL : defaultBaseURL
171
166
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/fireworks-image-model.ts","../src/fireworks-provider.ts"],"sourcesContent":["import { ImageModelV1, ImageModelV1CallWarning } from '@ai-sdk/provider';\nimport {\n combineHeaders,\n createBinaryResponseHandler,\n createStatusCodeErrorResponseHandler,\n FetchFunction,\n postJsonToApi,\n} from '@ai-sdk/provider-utils';\nimport {\n FireworksImageModelId,\n FireworksImageSettings,\n} 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 ImageModelV1 {\n readonly specificationVersion = 'v1';\n\n get provider(): string {\n return this.config.provider;\n }\n\n get maxImagesPerCall(): number {\n return this.settings.maxImagesPerCall ?? 1;\n }\n\n constructor(\n readonly modelId: FireworksImageModelId,\n readonly settings: FireworksImageSettings,\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 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 EmbeddingModelV2,\n ImageModelV1,\n LanguageModelV2,\n ProviderV2,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withoutTrailingSlash,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod';\nimport { FireworksChatModelId } from './fireworks-chat-settings';\nimport { FireworksCompletionModelId } from './fireworks-completion-settings';\nimport {\n FireworksEmbeddingModelId,\n FireworksEmbeddingProviderOptions,\n} from './fireworks-embedding-options';\nimport { FireworksImageModel } from './fireworks-image-model';\nimport {\n FireworksImageModelId,\n FireworksImageSettings,\n} from './fireworks-image-options';\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 ProviderV2 {\n /**\nCreates a model for text generation.\n*/\n (modelId: FireworksChatModelId): LanguageModelV2;\n\n /**\nCreates a chat model for text generation.\n*/\n chatModel(modelId: FireworksChatModelId): LanguageModelV2;\n\n /**\nCreates a completion model for text generation.\n*/\n completionModel(modelId: FireworksCompletionModelId): LanguageModelV2;\n\n /**\nCreates a chat model for text generation.\n*/\n languageModel(modelId: FireworksChatModelId): LanguageModelV2;\n\n /**\nCreates a text embedding model for text generation.\n*/\n textEmbeddingModel(\n modelId: FireworksEmbeddingModelId,\n ): EmbeddingModelV2<string>;\n\n /**\nCreates a model for image generation.\n*/\n image(\n modelId: FireworksImageModelId,\n settings?: FireworksImageSettings,\n ): ImageModelV1;\n\n /**\nCreates a model for image generation.\n*/\n imageModel(\n modelId: FireworksImageModelId,\n settings?: FireworksImageSettings,\n ): 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 = (modelId: FireworksChatModelId) => {\n return new OpenAICompatibleChatLanguageModel(modelId, {\n ...getCommonModelConfig('chat'),\n errorStructure: fireworksErrorStructure,\n defaultObjectGenerationMode: 'json',\n });\n };\n\n const createCompletionModel = (modelId: FireworksCompletionModelId) =>\n new OpenAICompatibleCompletionLanguageModel(modelId, {\n ...getCommonModelConfig('completion'),\n errorStructure: fireworksErrorStructure,\n });\n\n const createTextEmbeddingModel = (modelId: FireworksEmbeddingModelId) =>\n new OpenAICompatibleEmbeddingModel(modelId, {\n ...getCommonModelConfig('embedding'),\n errorStructure: fireworksErrorStructure,\n });\n\n const createImageModel = (\n modelId: FireworksImageModelId,\n settings: FireworksImageSettings = {},\n ) =>\n new FireworksImageModel(modelId, settings, {\n ...getCommonModelConfig('image'),\n baseURL: baseURL ?? defaultBaseURL,\n });\n\n const provider = (modelId: FireworksChatModelId) => createChatModel(modelId);\n\n provider.completionModel = createCompletionModel;\n provider.chatModel = createChatModel;\n provider.languageModel = createChatModel;\n provider.textEmbeddingModel = createTextEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n return provider;\n}\n\nexport const fireworks = createFireworks();\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/fireworks-image-model.ts","../src/fireworks-provider.ts"],"sourcesContent":["import { ImageModelV2, ImageModelV2CallWarning } 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 ImageModelV2 {\n readonly specificationVersion = 'v2';\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<ImageModelV2['doGenerate']>[0]): Promise<\n Awaited<ReturnType<ImageModelV2['doGenerate']>>\n > {\n const warnings: Array<ImageModelV2CallWarning> = [];\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 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 EmbeddingModelV2,\n ImageModelV2,\n LanguageModelV2,\n ProviderV2,\n} from '@ai-sdk/provider';\nimport {\n FetchFunction,\n loadApiKey,\n withoutTrailingSlash,\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';\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 ProviderV2 {\n /**\nCreates a model for text generation.\n*/\n (modelId: FireworksChatModelId): LanguageModelV2;\n\n /**\nCreates a chat model for text generation.\n*/\n chatModel(modelId: FireworksChatModelId): LanguageModelV2;\n\n /**\nCreates a completion model for text generation.\n*/\n completionModel(modelId: FireworksCompletionModelId): LanguageModelV2;\n\n /**\nCreates a chat model for text generation.\n*/\n languageModel(modelId: FireworksChatModelId): LanguageModelV2;\n\n /**\nCreates a text embedding model for text generation.\n*/\n textEmbeddingModel(\n modelId: FireworksEmbeddingModelId,\n ): EmbeddingModelV2<string>;\n\n /**\nCreates a model for image generation.\n*/\n image(modelId: FireworksImageModelId): ImageModelV2;\n\n /**\nCreates a model for image generation.\n*/\n imageModel(modelId: FireworksImageModelId): ImageModelV2;\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 = (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 createTextEmbeddingModel = (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.completionModel = createCompletionModel;\n provider.chatModel = createChatModel;\n provider.languageModel = createChatModel;\n provider.textEmbeddingModel = createTextEmbeddingModel;\n provider.image = createImageModel;\n provider.imageModel = createImageModel;\n return provider;\n}\n\nexport const fireworks = createFireworks();\n"],"mappings":";AACA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,OACK;AAQP,IAAM,uBAEF;AAAA,EACF,4CAA4C;AAAA,IAC1C,WAAW;AAAA,EACb;AAAA,EACA,gDAAgD;AAAA,IAC9C,WAAW;AAAA,EACb;AAAA,EACA,8DAA8D;AAAA,IAC5D,WAAW;AAAA,IACX,cAAc;AAAA,EAChB;AAAA,EACA,0DAA0D;AAAA,IACxD,WAAW;AAAA,IACX,cAAc;AAAA,EAChB;AAAA,EACA,4DAA4D;AAAA,IAC1D,WAAW;AAAA,IACX,cAAc;AAAA,EAChB;AAAA,EACA,2DAA2D;AAAA,IACzD,WAAW;AAAA,IACX,cAAc;AAAA,EAChB;AAAA,EACA,oCAAoC;AAAA,IAClC,WAAW;AAAA,IACX,cAAc;AAAA,EAChB;AACF;AAEA,SAAS,eACP,SACA,SACQ;AAjDV;AAkDE,WAAQ,0BAAqB,OAAO,MAA5B,mBAA+B,WAAW;AAAA,IAChD,KAAK;AACH,aAAO,GAAG,OAAO,qBAAqB,OAAO;AAAA,IAC/C,KAAK;AAAA,IACL;AACE,aAAO,GAAG,OAAO,cAAc,OAAO;AAAA,EAC1C;AACF;AAYO,IAAM,sBAAN,MAAkD;AAAA,EAQvD,YACW,SACD,QACR;AAFS;AACD;AATV,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAAA,EASzB;AAAA,EAPH,IAAI,WAAmB;AACrB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAOA,MAAM,WAAW;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAEE;AA7FJ;AA8FI,UAAM,WAA2C,CAAC;AAElD,UAAM,gBAAgB,qBAAqB,KAAK,OAAO;AACvD,QAAI,EAAC,+CAAe,iBAAgB,QAAQ,MAAM;AAChD,eAAS,KAAK;AAAA,QACZ,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SACE;AAAA,MACJ,CAAC;AAAA,IACH;AAIA,SAAI,+CAAe,iBAAgB,eAAe,MAAM;AACtD,eAAS,KAAK;AAAA,QACZ,MAAM;AAAA,QACN,SAAS;AAAA,QACT,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AAEA,UAAM,YAAY,6BAAM,MAAM;AAC9B,UAAM,eAAc,sBAAK,OAAO,cAAZ,mBAAuB,gBAAvB,4CAA0C,oBAAI,KAAK;AACvE,UAAM,EAAE,OAAO,UAAU,gBAAgB,IAAI,MAAM,cAAc;AAAA,MAC/D,KAAK,eAAe,KAAK,OAAO,SAAS,KAAK,OAAO;AAAA,MACrD,SAAS,eAAe,KAAK,OAAO,QAAQ,GAAG,OAAO;AAAA,MACtD,MAAM;AAAA,QACJ;AAAA,QACA,cAAc;AAAA,QACd;AAAA,QACA,SAAS;AAAA,QACT,GAAI,aAAa,EAAE,OAAO,UAAU,CAAC,GAAG,QAAQ,UAAU,CAAC,EAAE;AAAA,QAC7D,IAAI,qBAAgB,cAAhB,YAA6B,CAAC;AAAA,MACpC;AAAA,MACA,uBAAuB,qCAAqC;AAAA,MAC5D,2BAA2B,4BAA4B;AAAA,MACvD;AAAA,MACA,OAAO,KAAK,OAAO;AAAA,IACrB,CAAC;AAED,WAAO;AAAA,MACL,QAAQ,CAAC,QAAQ;AAAA,MACjB;AAAA,MACA,UAAU;AAAA,QACR,WAAW;AAAA,QACX,SAAS,KAAK;AAAA,QACd,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF;;;ACjJA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AAOP;AAAA,EAEE;AAAA,EACA;AAAA,OACK;AACP,SAAS,SAAS;AASlB,IAAM,uBAAuB,EAAE,OAAO;AAAA,EACpC,OAAO,EAAE,OAAO;AAClB,CAAC;AAED,IAAM,0BAAsE;AAAA,EAC1E,aAAa;AAAA,EACb,gBAAgB,UAAQ,KAAK;AAC/B;AA8DA,IAAM,iBAAiB;AAEhB,SAAS,gBACd,UAAqC,CAAC,GACnB;AAnGrB;AAoGE,QAAM,UAAU,sBAAqB,aAAQ,YAAR,YAAmB,cAAc;AACtE,QAAM,aAAa,OAAO;AAAA,IACxB,eAAe,UAAU,WAAW;AAAA,MAClC,QAAQ,QAAQ;AAAA,MAChB,yBAAyB;AAAA,MACzB,aAAa;AAAA,IACf,CAAC,CAAC;AAAA,IACF,GAAG,QAAQ;AAAA,EACb;AASA,QAAM,uBAAuB,CAAC,eAA0C;AAAA,IACtE,UAAU,aAAa,SAAS;AAAA,IAChC,KAAK,CAAC,EAAE,KAAK,MAAM,GAAG,OAAO,GAAG,IAAI;AAAA,IACpC,SAAS;AAAA,IACT,OAAO,QAAQ;AAAA,EACjB;AAEA,QAAM,kBAAkB,CAAC,YAAkC;AACzD,WAAO,IAAI,kCAAkC,SAAS;AAAA,MACpD,GAAG,qBAAqB,MAAM;AAAA,MAC9B,gBAAgB;AAAA,IAClB,CAAC;AAAA,EACH;AAEA,QAAM,wBAAwB,CAAC,YAC7B,IAAI,wCAAwC,SAAS;AAAA,IACnD,GAAG,qBAAqB,YAAY;AAAA,IACpC,gBAAgB;AAAA,EAClB,CAAC;AAEH,QAAM,2BAA2B,CAAC,YAChC,IAAI,+BAA+B,SAAS;AAAA,IAC1C,GAAG,qBAAqB,WAAW;AAAA,IACnC,gBAAgB;AAAA,EAClB,CAAC;AAEH,QAAM,mBAAmB,CAAC,YACxB,IAAI,oBAAoB,SAAS;AAAA,IAC/B,GAAG,qBAAqB,OAAO;AAAA,IAC/B,SAAS,4BAAW;AAAA,EACtB,CAAC;AAEH,QAAM,WAAW,CAAC,YAAkC,gBAAgB,OAAO;AAE3E,WAAS,kBAAkB;AAC3B,WAAS,YAAY;AACrB,WAAS,gBAAgB;AACzB,WAAS,qBAAqB;AAC9B,WAAS,QAAQ;AACjB,WAAS,aAAa;AACtB,SAAO;AACT;AAEO,IAAM,YAAY,gBAAgB;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/fireworks",
3
- "version": "1.0.0-canary.8",
3
+ "version": "1.0.0",
4
4
  "license": "Apache-2.0",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.js",
@@ -19,19 +19,19 @@
19
19
  }
20
20
  },
21
21
  "dependencies": {
22
- "@ai-sdk/openai-compatible": "1.0.0-canary.8",
23
- "@ai-sdk/provider": "2.0.0-canary.7",
24
- "@ai-sdk/provider-utils": "3.0.0-canary.8"
22
+ "@ai-sdk/openai-compatible": "1.0.0",
23
+ "@ai-sdk/provider": "2.0.0",
24
+ "@ai-sdk/provider-utils": "3.0.0"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/node": "20.17.24",
28
28
  "tsup": "^8",
29
29
  "typescript": "5.8.3",
30
- "zod": "3.23.8",
30
+ "zod": "3.25.76",
31
31
  "@vercel/ai-tsconfig": "0.0.0"
32
32
  },
33
33
  "peerDependencies": {
34
- "zod": "^3.0.0"
34
+ "zod": "^3.25.76 || ^4"
35
35
  },
36
36
  "engines": {
37
37
  "node": ">=18"
@@ -39,7 +39,7 @@
39
39
  "publishConfig": {
40
40
  "access": "public"
41
41
  },
42
- "homepage": "https://sdk.vercel.ai/docs",
42
+ "homepage": "https://ai-sdk.dev/docs",
43
43
  "repository": {
44
44
  "type": "git",
45
45
  "url": "git+https://github.com/vercel/ai.git"
@@ -58,6 +58,8 @@
58
58
  "type-check": "tsc --build",
59
59
  "prettier-check": "prettier --check \"./**/*.ts*\"",
60
60
  "test": "pnpm test:node && pnpm test:edge",
61
+ "test:update": "pnpm test:node -u",
62
+ "test:watch": "vitest --config vitest.node.config.js",
61
63
  "test:edge": "vitest --config vitest.edge.config.js --run",
62
64
  "test:node": "vitest --config vitest.node.config.js --run"
63
65
  }