New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@ai-sdk/fireworks

Package Overview
Dependencies
Maintainers
0
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ai-sdk/fireworks - npm Package Compare versions

Comparing version 0.0.8 to 0.0.9

14

CHANGELOG.md
# @ai-sdk/fireworks
## 0.0.9
### Patch Changes
- 19a2ce7: feat (provider/fireworks): Add image model support.
- 6337688: feat: change image generation errors to warnings
- Updated dependencies [19a2ce7]
- Updated dependencies [19a2ce7]
- Updated dependencies [43b37f7]
- Updated dependencies [6337688]
- @ai-sdk/provider@1.0.4
- @ai-sdk/provider-utils@2.0.6
- @ai-sdk/openai-compatible@0.0.14
## 0.0.8

@@ -4,0 +18,0 @@

8

dist/index.d.ts

@@ -1,2 +0,2 @@

import { LanguageModelV1, EmbeddingModelV1 } from '@ai-sdk/provider';
import { LanguageModelV1, EmbeddingModelV1, ImageModelV1 } from '@ai-sdk/provider';
import { FetchFunction } from '@ai-sdk/provider-utils';

@@ -18,2 +18,4 @@ import { z } from 'zod';

type FireworksImageModelId = 'accounts/fireworks/models/flux-1-dev-fp8' | 'accounts/fireworks/models/flux-1-schnell-fp8' | (string & {});
type FireworksErrorData = z.infer<typeof fireworksErrorSchema>;

@@ -63,2 +65,6 @@ declare const fireworksErrorSchema: z.ZodObject<{

textEmbeddingModel(modelId: FireworksEmbeddingModelId, settings?: FireworksEmbeddingSettings): EmbeddingModelV1<string>;
/**
Creates a model for image generation.
*/
image(modelId: FireworksImageModelId): ImageModelV1;
}

@@ -65,0 +71,0 @@ declare function createFireworks(options?: FireworksProviderSettings): FireworksProvider;

@@ -30,4 +30,107 @@ "use strict";

var import_openai_compatible = require("@ai-sdk/openai-compatible");
var import_provider_utils2 = require("@ai-sdk/provider-utils");
var import_zod = require("zod");
// src/fireworks-image-model.ts
var import_provider = require("@ai-sdk/provider");
var import_provider_utils = require("@ai-sdk/provider-utils");
var import_zod = require("zod");
var createBinaryResponseHandler = () => async ({ response, url, requestBodyValues }) => {
const responseHeaders = (0, import_provider_utils.extractResponseHeaders)(response);
if (!response.body) {
throw new import_provider.APICallError({
message: "Response body is empty",
url,
requestBodyValues,
statusCode: response.status,
responseHeaders,
responseBody: void 0
});
}
try {
const buffer = await response.arrayBuffer();
return {
responseHeaders,
value: buffer
};
} catch (error) {
throw new import_provider.APICallError({
message: "Failed to read response as array buffer",
url,
requestBodyValues,
statusCode: response.status,
responseHeaders,
responseBody: void 0,
cause: error
});
}
};
var statusCodeErrorResponseHandler = async ({
response,
url,
requestBodyValues
}) => {
const responseHeaders = (0, import_provider_utils.extractResponseHeaders)(response);
const responseBody = await response.text();
return {
responseHeaders,
value: new import_provider.APICallError({
message: response.statusText,
url,
requestBodyValues,
statusCode: response.status,
responseHeaders,
responseBody
})
};
};
var FireworksImageModel = class {
constructor(modelId, config) {
this.modelId = modelId;
this.config = config;
this.specificationVersion = "v1";
this.maxImagesPerCall = 1;
}
get provider() {
return this.config.provider;
}
async doGenerate({
prompt,
n,
size,
aspectRatio,
seed,
providerOptions,
headers,
abortSignal
}) {
var _a;
const warnings = [];
if (size != null) {
warnings.push({
type: "unsupported-setting",
setting: "size",
details: "This model does not support the `size` option. Use `aspectRatio` instead."
});
}
const url = `${this.config.baseURL}/workflows/${this.modelId}/text_to_image`;
const body = {
prompt,
aspect_ratio: aspectRatio,
seed,
...(_a = providerOptions.fireworks) != null ? _a : {}
};
const { value: response } = await (0, import_provider_utils.postJsonToApi)({
url,
headers: (0, import_provider_utils.combineHeaders)(this.config.headers(), headers),
body,
failedResponseHandler: statusCodeErrorResponseHandler,
successfulResponseHandler: createBinaryResponseHandler(),
abortSignal,
fetch: this.config.fetch
});
return { images: [new Uint8Array(response)], warnings };
}
};
// src/fireworks-provider.ts
var fireworksErrorSchema = import_zod.z.object({

@@ -40,9 +143,8 @@ error: import_zod.z.string()

};
var defaultBaseURL = "https://api.fireworks.ai/inference/v1";
function createFireworks(options = {}) {
var _a;
const baseURL = (0, import_provider_utils.withoutTrailingSlash)(
(_a = options.baseURL) != null ? _a : "https://api.fireworks.ai/inference/v1"
);
const baseURL = (0, import_provider_utils2.withoutTrailingSlash)((_a = options.baseURL) != null ? _a : defaultBaseURL);
const getHeaders = () => ({
Authorization: `Bearer ${(0, import_provider_utils.loadApiKey)({
Authorization: `Bearer ${(0, import_provider_utils2.loadApiKey)({
apiKey: options.apiKey,

@@ -58,4 +160,3 @@ environmentVariableName: "FIREWORKS_API_KEY",

headers: getHeaders,
fetch: options.fetch,
errorStructure: fireworksErrorStructure
fetch: options.fetch
});

@@ -65,15 +166,18 @@ const createChatModel = (modelId, settings = {}) => {

...getCommonModelConfig("chat"),
errorStructure: fireworksErrorStructure,
defaultObjectGenerationMode: "json"
});
};
const createCompletionModel = (modelId, settings = {}) => new import_openai_compatible.OpenAICompatibleCompletionLanguageModel(
modelId,
settings,
getCommonModelConfig("completion")
);
const createTextEmbeddingModel = (modelId, settings = {}) => new import_openai_compatible.OpenAICompatibleEmbeddingModel(
modelId,
settings,
getCommonModelConfig("embedding")
);
const createCompletionModel = (modelId, settings = {}) => new import_openai_compatible.OpenAICompatibleCompletionLanguageModel(modelId, settings, {
...getCommonModelConfig("completion"),
errorStructure: fireworksErrorStructure
});
const createTextEmbeddingModel = (modelId, settings = {}) => new import_openai_compatible.OpenAICompatibleEmbeddingModel(modelId, settings, {
...getCommonModelConfig("embedding"),
errorStructure: fireworksErrorStructure
});
const createImageModel = (modelId) => new FireworksImageModel(modelId, {
...getCommonModelConfig("image"),
baseURL: baseURL != null ? baseURL : defaultBaseURL
});
const provider = (modelId, settings) => createChatModel(modelId, settings);

@@ -83,2 +187,3 @@ provider.completionModel = createCompletionModel;

provider.textEmbeddingModel = createTextEmbeddingModel;
provider.image = createImageModel;
return provider;

@@ -85,0 +190,0 @@ }

8

package.json
{
"name": "@ai-sdk/fireworks",
"version": "0.0.8",
"version": "0.0.9",
"license": "Apache-2.0",

@@ -22,5 +22,5 @@ "sideEffects": false,

"dependencies": {
"@ai-sdk/openai-compatible": "0.0.13",
"@ai-sdk/provider": "1.0.3",
"@ai-sdk/provider-utils": "2.0.5"
"@ai-sdk/openai-compatible": "0.0.14",
"@ai-sdk/provider": "1.0.4",
"@ai-sdk/provider-utils": "2.0.6"
},

@@ -27,0 +27,0 @@ "devDependencies": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc