Skip to content

Commit d36dfa6

Browse files
Add @ai-sdk/fireworks
1 parent 67ef757 commit d36dfa6

File tree

8 files changed

+28
-16
lines changed

8 files changed

+28
-16
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
"@ai-sdk/cerebras": "1.0.25",
7474
"@ai-sdk/deepinfra": "1.0.23",
7575
"@ai-sdk/deepseek": "1.0.23",
76+
"@ai-sdk/fireworks": "^1.0.23",
7677
"@ai-sdk/google": "2.0.23",
7778
"@ai-sdk/google-vertex": "3.0.53",
7879
"@ai-sdk/groq": "2.0.24",

pnpm-lock.yaml

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/config/secretConfig.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export async function loadSecrets(sm?: SecretManager) {
5959
for (const [envKey, mappedName] of mapping.entries()) {
6060
if (mappedName === name) secrets.set(envKey, value);
6161
}
62-
logger.info(`Loaded secret ${name}`);
62+
logger.debug(`Loaded secret ${name}`);
6363
}),
6464
);
6565

src/llm/services/fireworks.ts

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import { type OpenAIProvider, createOpenAI } from '@ai-sdk/openai';
1+
import { FireworksProvider, createFireworks } from '@ai-sdk/fireworks';
22
import { costPerMilTokens } from '#llm/base-llm';
33
import { AiLLM } from '#llm/services/ai-llm';
44
import type { LLM, LlmCostFunction } from '#shared/llm/llm.model';
55
import { currentUser } from '#user/userContext';
66

77
export const FIREWORKS_SERVICE = 'fireworks';
88

9-
export class Fireworks extends AiLLM<OpenAIProvider> {
9+
export class Fireworks extends AiLLM<FireworksProvider> {
1010
constructor(displayName: string, model: string, maxOutputTokens: number, calculateCosts: LlmCostFunction) {
1111
super({ displayName, service: FIREWORKS_SERVICE, modelId: model, maxInputTokens: maxOutputTokens, calculateCosts });
1212
}
@@ -15,11 +15,11 @@ export class Fireworks extends AiLLM<OpenAIProvider> {
1515
return currentUser()?.llmConfig.fireworksKey?.trim() || process.env.FIREWORKS_API_KEY;
1616
}
1717

18-
provider(): OpenAIProvider {
18+
provider(): FireworksProvider {
1919
if (!this.aiProvider) {
2020
const apiKey = this.apiKey();
2121
if (!apiKey) throw new Error('No API key provided');
22-
this.aiProvider = createOpenAI({
22+
this.aiProvider = createFireworks({
2323
apiKey,
2424
baseURL: 'https://api.fireworks.ai/inference/v1',
2525
});
@@ -30,7 +30,7 @@ export class Fireworks extends AiLLM<OpenAIProvider> {
3030

3131
export function fireworksLLMRegistry(): Record<string, () => LLM> {
3232
return {
33-
[`${FIREWORKS_SERVICE}:accounts/fireworks/models/fireworks/glm-4p6`]: fireworksGLM_4_6,
33+
[`${FIREWORKS_SERVICE}:accounts/fireworks/models/glm-4p6`]: fireworksGLM_4_6,
3434
};
3535
}
3636

@@ -41,8 +41,3 @@ export function fireworksGLM_4_6(): LLM {
4141
export function fireworksDeepSeekR1_Fast(): LLM {
4242
return new Fireworks('DeepSeek R1 Fast (Fireworks)', 'accounts/fireworks/models/deepseek-r1', 160_000, costPerMilTokens(3, 8));
4343
}
44-
45-
// Not available in serverless
46-
// export function fireworksLlama3_70B_R1_Distill(): LLM {
47-
// return new Fireworks('LLama3 70b R1 Distill (Fireworks)', 'accounts/fireworks/models/deepseek-r1-distill-llama-70b', 131_072, perMilTokens(0.9), perMilTokens(0.9));
48-
// }

src/llm/services/llm.int.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ describe('LLMs', () => {
170170
describe('Fireworks', () => {
171171
const llm = fireworksGLM_4_6();
172172

173-
it.skip('should generateText', async () => {
173+
it('should generateText', async () => {
174174
const response = await llm.generateText(SKY_PROMPT, { temperature: 0, id: 'test' });
175175
expect(response.toLowerCase()).to.include('blue');
176176
});

src/modules/slack/slackChatBotService.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ export class SlackChatBotService implements ChatBotService, AgentCompleted {
156156
logger.error(error, 'Failed to get bot user ID');
157157
}
158158

159-
if (config.socketMode) {
159+
if (config.socketMode && config.autoStart) {
160160
// Listen for messages in channels
161161
slackApp.event('message', async ({ event, say }) => {
162162
this.handleMessage(event, say);

src/modules/slack/slackConfig.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ export function slackConfig(): SlackConfig {
1919

2020
function createSlackConfig(): SlackConfig {
2121
const config: SlackConfig = {
22-
socketMode: Boolean(process.env.SLACK_SOCKET_MODE?.trim()),
23-
autoStart: Boolean(process.env.SLACK_AUTO_START?.trim()),
22+
socketMode: process.env.SLACK_SOCKET_MODE?.trim().toLowerCase() === 'true',
23+
autoStart: process.env.SLACK_AUTO_START?.trim().toLowerCase() === 'true',
2424
botToken: getSecretEnvVar('SLACK_BOT_TOKEN', ''),
2525
signingSecret: getSecretEnvVar('SLACK_SIGNING_SECRET', ''),
2626
appToken: getSecretEnvVar('SLACK_APP_TOKEN', ''),

src/swe/index/repoIndexDocBuilder.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ export class IndexDocBuilder {
181181

182182
// fss.writeFile is expected to handle recursive directory creation.
183183
await this.fss.writeFile(summaryFilePath, JSON.stringify(doc, null, 2));
184-
logger.info(`Completed summary for ${relativeFilePath}`);
184+
logger.debug(`Completed summary for ${relativeFilePath}`);
185185
}
186186

187187
async processFilesInFolder(folderPath: string, fileMatchesIndexDocs: (filePath: string) => boolean): Promise<void> {

0 commit comments

Comments
 (0)