diff --git a/open-sse/executors/index.js b/open-sse/executors/index.js index 8dd03421..4ebd145e 100644 --- a/open-sse/executors/index.js +++ b/open-sse/executors/index.js @@ -25,6 +25,7 @@ import ZedExecutor from "./zed.js"; import WindsurfExecutor from "./windsurf.js"; import { DefaultExecutor } from "./default.js"; import { DevinCliExecutor } from "./devin-cli.js"; +import { FreebuffExecutor } from "./freebuff.js"; const executors = { antigravity: new AntigravityExecutor(), @@ -58,6 +59,7 @@ const executors = { zed: new ZedExecutor(), windsurf: new WindsurfExecutor(), "devin-cli": new DevinCliExecutor(), + freebuff: new FreebuffExecutor(), }; const defaultCache = new Map(); diff --git a/open-sse/providers/registry/index.js b/open-sse/providers/registry/index.js index 467d1c4d..4a1ef56f 100644 --- a/open-sse/providers/registry/index.js +++ b/open-sse/providers/registry/index.js @@ -33,48 +33,49 @@ import p30 from "./fal-ai.js"; import p31 from "./featherless.js"; import p32 from "./firecrawl.js"; import p33 from "./fireworks.js"; -import p34 from "./gemini-cli.js"; -import p35 from "./gemini.js"; -import p36 from "./github.js"; -import p37 from "./gitlab.js"; -import p38 from "./glm-cn.js"; -import p39 from "./glm.js"; -import p40 from "./google-pse.js"; -import p41 from "./google-tts.js"; -import p42 from "./grok-cli.js"; -import p43 from "./grok-web.js"; -import p44 from "./groq.js"; -import p45 from "./huggingface.js"; -import p46 from "./hyperbolic.js"; -import p47 from "./iflow.js"; -import p48 from "./inworld.js"; -import p49 from "./jina-ai.js"; -import p50 from "./jina-reader.js"; -import p51 from "./kilocode.js"; -import p52 from "./kimchi.js"; -import p53 from "./kimi.js"; -import p54 from "./kiro.js"; -import p55 from "./linkup.js"; -import p56 from "./local-device.js"; -import p57 from "./mimo-free.js"; -import p58 from "./minimax-cn.js"; -import p59 from "./minimax.js"; -import p60 from "./mistral.js"; -import p61 from "./mmf.js"; -import p62 from "./nanobanana.js"; -import p63 from "./nebius.js"; -import p64 from "./nvidia.js"; -import p65 from "./ollama-local.js"; -import p66 from "./ollama.js"; -import p67 from "./openai.js"; -import p68 from "./opencode-go.js"; -import p69 from "./opencode.js"; -import p70 from "./openrouter.js"; -import p71 from "./perplexity-web.js"; -import p72 from "./perplexity.js"; -import p73 from "./perplexity-agent.js"; -import p74 from "./playht.js"; -import p75 from "./qoder.js"; +import p34 from "./freebuff.js"; +import p35 from "./gemini-cli.js"; +import p36 from "./gemini.js"; +import p37 from "./github.js"; +import p38 from "./gitlab.js"; +import p39 from "./glm-cn.js"; +import p40 from "./glm.js"; +import p41 from "./google-pse.js"; +import p42 from "./google-tts.js"; +import p43 from "./grok-cli.js"; +import p44 from "./grok-web.js"; +import p45 from "./groq.js"; +import p46 from "./huggingface.js"; +import p47 from "./hyperbolic.js"; +import p48 from "./iflow.js"; +import p49 from "./inworld.js"; +import p50 from "./jina-ai.js"; +import p51 from "./jina-reader.js"; +import p52 from "./kilocode.js"; +import p53 from "./kimchi.js"; +import p54 from "./kimi.js"; +import p55 from "./kiro.js"; +import p56 from "./linkup.js"; +import p57 from "./local-device.js"; +import p58 from "./mimo-free.js"; +import p59 from "./minimax-cn.js"; +import p60 from "./minimax.js"; +import p61 from "./mistral.js"; +import p62 from "./mmf.js"; +import p63 from "./nanobanana.js"; +import p64 from "./nebius.js"; +import p65 from "./nvidia.js"; +import p66 from "./ollama-local.js"; +import p67 from "./ollama.js"; +import p68 from "./openai.js"; +import p69 from "./opencode-go.js"; +import p70 from "./opencode.js"; +import p71 from "./openrouter.js"; +import p72 from "./perplexity-web.js"; +import p73 from "./perplexity.js"; +import p74 from "./perplexity-agent.js"; +import p75 from "./playht.js"; +import p76 from "./qoder.js"; import p77 from "./recraft.js"; import p78 from "./runwayml.js"; import p79 from "./sdwebui.js"; @@ -99,26 +100,24 @@ import p97 from "./xiaomi-tokenplan.js"; import p98 from "./youcom.js"; import p99 from "./alims-intl.js"; import p100 from "./codebuddy-intl.js"; -// Temporarily hidden — no tool calling support (trae SOLO agent / windsurf gRPC skip ToolCallChunk). -// Re-enable by uncommenting both the import and the array entry below. -// import p102 from "./trae.js"; -import p103 from "./zed.js"; -import p105 from "./api-airforce.js"; -import p106 from "./baidu.js"; -import p107 from "./bazaarlink.js"; -import p108 from "./bluesminds.js"; -import p109 from "./kilo-gateway.js"; -import p110 from "./llm7.js"; -import p111 from "./sambanova.js"; -import p112 from "./tencent.js"; -import p113 from "./morph.js"; -// import p114 from "./devin-cli.js"; -// import p104 from "./windsurf.js"; -import p115 from "./poolside.js"; -import p116 from "./tokenrouter.js"; -import p117 from "./selfhosted-stt.js"; -import p118 from "./selfhosted-tts.js"; -import p119 from "./selfhosted-embedding.js"; +import p101 from "./trae.js"; +import p102 from "./zed.js"; +import p103 from "./api-airforce.js"; +import p104 from "./baidu.js"; +import p105 from "./bazaarlink.js"; +import p106 from "./bluesminds.js"; +import p107 from "./kilo-gateway.js"; +import p108 from "./llm7.js"; +import p109 from "./sambanova.js"; +import p110 from "./tencent.js"; +import p111 from "./morph.js"; +import p112 from "./devin-cli.js"; +import p113 from "./windsurf.js"; +import p114 from "./poolside.js"; +import p115 from "./tokenrouter.js"; +import p116 from "./selfhosted-stt.js"; +import p117 from "./selfhosted-tts.js"; +import p118 from "./selfhosted-embedding.js"; export default [ p0, @@ -197,6 +196,7 @@ export default [ p73, p74, p75, + p76, p77, p78, p79, @@ -221,8 +221,10 @@ export default [ p98, p99, p100, - // p102, // trae — hidden, no tool calling + p101, + p102, p103, + p104, p105, p106, p107, @@ -232,11 +234,9 @@ export default [ p111, p112, p113, - // p114, // devin-cli — hidden, spawns local agent with shell/fs access - // p104, // windsurf — hidden, no tool calling + p114, p115, p116, p117, p118, - p119, ]; diff --git a/open-sse/services/usage.js b/open-sse/services/usage.js index 70a38ea6..370583db 100644 --- a/open-sse/services/usage.js +++ b/open-sse/services/usage.js @@ -14,6 +14,7 @@ import { getCodeBuddyCnUsage, getCodeBuddyIntlUsage } from "./usage/codebuddy-cn import { getGrokCliUsage } from "./usage/grok-cli.js"; import { getKimiUsage } from "./usage/kimi.js"; import { getDeepseekUsage } from "./usage/deepseek.js"; +import { getFreebuffUsage } from "./usage/freebuff.js"; import { resolveQoderCredentials } from "./qoderModels.js"; import { getIflowUsage, @@ -54,6 +55,7 @@ const USAGE_HANDLERS = { "grok-cli": (c) => getGrokCliUsage(c.accessToken, c.providerSpecificData, c.proxyOptions), kimi: (c) => getKimiUsage(c.accessToken, c.apiKey, c.proxyOptions, c.providerSpecificData), deepseek: (c) => getDeepseekUsage(c.apiKey, c.proxyOptions), + freebuff: (c) => getFreebuffUsage(c.accessToken, c.providerSpecificData, c.proxyOptions), }; export async function getUsageForProvider(connection, proxyOptions = null) { diff --git a/src/lib/oauth/providers/index.js b/src/lib/oauth/providers/index.js index e505b01d..d013d307 100644 --- a/src/lib/oauth/providers/index.js +++ b/src/lib/oauth/providers/index.js @@ -15,6 +15,7 @@ import qoder from "./qoder.js"; import github from "./github.js"; import kiro from "./kiro.js"; import cursor from "./cursor.js"; +import freebuff from "./freebuff.js"; import kimi from "./kimi.js"; import kilocode from "./kilocode.js"; import cline from "./cline.js"; @@ -40,6 +41,7 @@ const PROVIDERS = { github, kiro, cursor, + freebuff, kimi, kilocode, cline,