feat(providers): finalize audited free-tier integration

This commit is contained in:
diegosouzapw
2026-08-02 16:55:36 -03:00
parent cf2e952f53
commit b09ac0bcdf
248 changed files with 2544 additions and 1637 deletions

View File

@@ -326,20 +326,20 @@
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Anthropic-Beta": "claude-code-20250219,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28,advisor-tool-2026-03-01,extended-cache-ttl-2025-04-11,cache-diagnosis-2026-04-07,code-execution-2025-08-25,skills-2025-10-02",
"Anthropic-Beta": "claude-code-20250219,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28,advisor-tool-2026-03-01,extended-cache-ttl-2025-04-11,cache-diagnosis-2026-04-07",
"Anthropic-Version": "2023-06-01",
"Content-Type": "application/json",
"x-api-key": "<CRED>"
},
"nonStream": {
"Anthropic-Beta": "claude-code-20250219,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28,advisor-tool-2026-03-01,extended-cache-ttl-2025-04-11,cache-diagnosis-2026-04-07,code-execution-2025-08-25,skills-2025-10-02",
"Anthropic-Beta": "claude-code-20250219,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28,advisor-tool-2026-03-01,extended-cache-ttl-2025-04-11,cache-diagnosis-2026-04-07",
"Anthropic-Version": "2023-06-01",
"Content-Type": "application/json",
"x-api-key": "<CRED>"
},
"oauth": {
"Accept": "text/event-stream",
"Anthropic-Beta": "claude-code-20250219,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28,advisor-tool-2026-03-01,extended-cache-ttl-2025-04-11,cache-diagnosis-2026-04-07,code-execution-2025-08-25,skills-2025-10-02",
"Anthropic-Beta": "claude-code-20250219,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28,advisor-tool-2026-03-01,extended-cache-ttl-2025-04-11,cache-diagnosis-2026-04-07",
"Anthropic-Version": "2023-06-01",
"Content-Type": "application/json",
"x-api-key": "<CRED>"
@@ -376,6 +376,29 @@
"stream": "https://daily-cloudcode-pa.googleapis.com/v1internal:streamGenerateContent?alt=sse"
}
},
"anyapi": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.anyapi.ai/v1/chat/completions",
"stream": "https://api.anyapi.ai/v1/chat/completions"
}
},
"api-airforce": {
"format": "openai",
"headers": {
@@ -428,6 +451,29 @@
"stream": "auggie://cli/stdio"
}
},
"auriko": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.auriko.ai/v1/chat/completions",
"stream": "https://api.auriko.ai/v1/chat/completions"
}
},
"bai": {
"format": "openai",
"headers": {
@@ -750,6 +796,52 @@
"stream": "https://hyper.charm.land/v1/chat/completions"
}
},
"chat-oripe": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.oriper.com/v1/chat/completions",
"stream": "https://api.oriper.com/v1/chat/completions"
}
},
"chatanywhere": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.chatanywhere.org/v1/chat/completions",
"stream": "https://api.chatanywhere.org/v1/chat/completions"
}
},
"chatgpt-web": {
"format": "openai",
"headers": {
@@ -870,7 +962,7 @@
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Anthropic-Beta": "claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28,advisor-tool-2026-03-01,extended-cache-ttl-2025-04-11,cache-diagnosis-2026-04-07,code-execution-2025-08-25,skills-2025-10-02",
"Anthropic-Beta": "claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28,advisor-tool-2026-03-01,extended-cache-ttl-2025-04-11,cache-diagnosis-2026-04-07",
"Anthropic-Dangerous-Direct-Browser-Access": "true",
"Anthropic-Version": "2023-06-01",
"Content-Type": "application/json",
@@ -888,7 +980,7 @@
"x-api-key": "<CRED>"
},
"nonStream": {
"Anthropic-Beta": "claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28,advisor-tool-2026-03-01,extended-cache-ttl-2025-04-11,cache-diagnosis-2026-04-07,code-execution-2025-08-25,skills-2025-10-02",
"Anthropic-Beta": "claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28,advisor-tool-2026-03-01,extended-cache-ttl-2025-04-11,cache-diagnosis-2026-04-07",
"Anthropic-Dangerous-Direct-Browser-Access": "true",
"Anthropic-Version": "2023-06-01",
"Content-Type": "application/json",
@@ -907,7 +999,7 @@
},
"oauth": {
"Accept": "text/event-stream",
"Anthropic-Beta": "claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28,advisor-tool-2026-03-01,extended-cache-ttl-2025-04-11,cache-diagnosis-2026-04-07,code-execution-2025-08-25,skills-2025-10-02",
"Anthropic-Beta": "claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28,advisor-tool-2026-03-01,extended-cache-ttl-2025-04-11,cache-diagnosis-2026-04-07",
"Anthropic-Dangerous-Direct-Browser-Access": "true",
"Anthropic-Version": "2023-06-01",
"Content-Type": "application/json",
@@ -1035,6 +1127,29 @@
"stream": "https://api.cline.bot/api/v1/chat/completions"
}
},
"cloudcode-one": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.cloudcode.one/v1/chat/completions",
"stream": "https://api.cloudcode.one/v1/chat/completions"
}
},
"cloudflare-ai": {
"format": "openai",
"headers": {
@@ -1488,29 +1603,6 @@
"stream": "devin://acp/stdio"
}
},
"devin-cli-agentic": {
"format": "claude",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "devin://acp/stdio",
"stream": "devin://acp/stdio"
}
},
"dgrid": {
"format": "openai",
"headers": {
@@ -1672,6 +1764,52 @@
"stream": "https://duckduckgo.com/duckchat/v1/chat"
}
},
"dxnt": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://www.dxnt.com/v1/chat/completions",
"stream": "https://www.dxnt.com/v1/chat/completions"
}
},
"electronhub": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.electronhub.ai/v1/chat/completions",
"stream": "https://api.electronhub.ai/v1/chat/completions"
}
},
"factory": {
"format": "openai",
"headers": {
@@ -1695,6 +1833,29 @@
"stream": "https://api.factory.ai/v1/chat/completions"
}
},
"fastrouter": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.fastrouter.ai/api/v1/chat/completions",
"stream": "https://api.fastrouter.ai/api/v1/chat/completions"
}
},
"featherless-ai": {
"format": "openai",
"headers": {
@@ -1764,6 +1925,29 @@
"stream": "https://api.fireworks.ai/inference/v1/chat/completions"
}
},
"free-ai": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.free.ai/v1/chat/",
"stream": "https://api.free.ai/v1/chat/"
}
},
"freeaiapikey": {
"format": "openai",
"headers": {
@@ -1787,6 +1971,29 @@
"stream": "https://freeaiapikey.com/v1/chat/completions"
}
},
"freeinference": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://freeinference.org/v1/chat/completions",
"stream": "https://freeinference.org/v1/chat/completions"
}
},
"freemodel-dev": {
"format": "openai",
"headers": {
@@ -2506,6 +2713,52 @@
"stream": "https://api.hcnsec.cn/v1/chat/completions"
}
},
"helixmind": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://helixmind.online/v1/chat/completions",
"stream": "https://helixmind.online/v1/chat/completions"
}
},
"helyxai": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://helyxai.space/v1/chat/completions",
"stream": "https://helyxai.space/v1/chat/completions"
}
},
"heroku": {
"format": "openai",
"headers": {
@@ -3054,6 +3307,29 @@
"stream": "https://inference.liquid.ai/v1/chat/completions"
}
},
"literouter": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.literouter.com/v1/chat/completions",
"stream": "https://api.literouter.com/v1/chat/completions"
}
},
"llamagate": {
"format": "openai",
"headers": {
@@ -3077,6 +3353,29 @@
"stream": "https://llamagate.ai/v1/chat/completions"
}
},
"llm-kiwi": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.llm.kiwi/v1/chat/completions",
"stream": "https://api.llm.kiwi/v1/chat/completions"
}
},
"llm7": {
"format": "openai",
"headers": {
@@ -3100,6 +3399,29 @@
"stream": "https://api.llm7.io/v1/chat/completions"
}
},
"llmgateway": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.llmgateway.io/v1/chat/completions",
"stream": "https://api.llmgateway.io/v1/chat/completions"
}
},
"lmarena": {
"format": "openai",
"headers": {
@@ -3169,6 +3491,29 @@
"stream": "https://chat.maritaca.ai/api"
}
},
"meganova-ai": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.meganova.ai/v1/chat/completions",
"stream": "https://api.meganova.ai/v1/chat/completions"
}
},
"meta-llama": {
"format": "openai",
"headers": {
@@ -3290,6 +3635,52 @@
"stream": "https://api.mistral.ai/v1/chat/completions"
}
},
"mixlayer": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://models.mixlayer.ai/v1/chat/completions",
"stream": "https://models.mixlayer.ai/v1/chat/completions"
}
},
"mnn-ai": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.mnnai.ru/v1/chat/completions",
"stream": "https://api.mnnai.ru/v1/chat/completions"
}
},
"modal": {
"format": "openai",
"headers": {
@@ -3405,26 +3796,6 @@
"stream": "https://api.morphllm.com/v1/chat/completions"
}
},
"muse-code": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {}
},
"muse-spark-web": {
"format": "openai",
"headers": {
@@ -3448,6 +3819,29 @@
"stream": "https://www.meta.ai/api/graphql"
}
},
"naga-ai": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.naga.ac/v1/chat/completions",
"stream": "https://api.naga.ac/v1/chat/completions"
}
},
"nanogpt": {
"format": "openai",
"headers": {
@@ -3704,6 +4098,29 @@
"stream": "https://integrate.api.nvidia.com/v1/chat/completions"
}
},
"ofoxai": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.ofox.ai/v1/chat/completions",
"stream": "https://api.ofox.ai/v1/chat/completions"
}
},
"ollama-cloud": {
"format": "openai",
"headers": {
@@ -3842,52 +4259,6 @@
"stream": "https://opencode.ai/zen/v1"
}
},
"openference": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.openference.com/v1/chat/completions",
"stream": "https://api.openference.com/v1/chat/completions"
}
},
"openference-api": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.openference.com/v1/chat/completions",
"stream": "https://api.openference.com/v1/chat/completions"
}
},
"openrouter": {
"format": "openai",
"headers": {
@@ -4107,6 +4478,29 @@
"stream": "https://api.poe.com/v1/chat/completions"
}
},
"poixe-ai": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.poixe.com/v1/chat/completions",
"stream": "https://api.poixe.com/v1/chat/completions"
}
},
"pollinations": {
"format": "openai",
"headers": {
@@ -4130,6 +4524,29 @@
"stream": "https://gen.pollinations.ai/v1/chat/completions"
}
},
"poolside": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://inference.poolside.ai/v1/chat/completions",
"stream": "https://inference.poolside.ai/v1/chat/completions"
}
},
"predibase": {
"format": "openai",
"headers": {
@@ -4363,52 +4780,6 @@
"stream": "https://chat.qwen.ai/api/v2/chat/completions"
}
},
"raycast": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://backend.raycast.com/api/v1/ai",
"stream": "https://backend.raycast.com/api/v1/ai"
}
},
"regolo": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.regolo.ai",
"stream": "https://api.regolo.ai"
}
},
"reka": {
"format": "openai",
"headers": {
@@ -4665,6 +5036,29 @@
"stream": "https://spark-api-open.xf-yun.com/v1/chat/completions"
}
},
"speka": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://speka.me/v1/chat/completions",
"stream": "https://speka.me/v1/chat/completions"
}
},
"stepfun": {
"format": "openai",
"headers": {
@@ -4849,6 +5243,29 @@
"stream": "https://api.together.xyz/v1/chat/completions"
}
},
"tokenreply": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.tokenreply.com/v1/chat/completions",
"stream": "https://api.tokenreply.com/v1/chat/completions"
}
},
"tokenrouter": {
"format": "openai",
"headers": {
@@ -4983,8 +5400,8 @@
}
},
"url": {
"nonStream": "https://api.unorouter.ai/v1/chat/completions",
"stream": "https://api.unorouter.ai/v1/chat/completions"
"nonStream": "https://api.unorouter.com/v1/chat/completions",
"stream": "https://api.unorouter.com/v1/chat/completions"
}
},
"upstage": {
@@ -5148,6 +5565,29 @@
"stream": "https://us-central1-aiplatform.googleapis.com/v1/projects"
}
},
"void-ai": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.voidai.app/v1/chat/completions",
"stream": "https://api.voidai.app/v1/chat/completions"
}
},
"volcengine": {
"format": "openai",
"headers": {
@@ -5404,6 +5844,29 @@
"stream": "https://api.lingyiwanwu.com/v1/chat/completions"
}
},
"yolo-auto": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://yolo-auto.com/v1/chat/completions",
"stream": "https://yolo-auto.com/v1/chat/completions"
}
},
"yuanbao-web": {
"format": "openai",
"headers": {
@@ -5544,5 +6007,51 @@
"nonStream": "https://zenmux.ai/api/anthropic/v1/messages",
"stream": "https://zenmux.ai/api/anthropic/v1/messages"
}
},
"zerolimitai": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://www.zerolimitai.com/api/v1/chat/completions",
"stream": "https://www.zerolimitai.com/api/v1/chat/completions"
}
},
"zylo-api": {
"format": "openai",
"headers": {
"apiKey": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"nonStream": {
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
},
"oauth": {
"Accept": "text/event-stream",
"Authorization": "Bearer <TOK>",
"Content-Type": "application/json"
}
},
"url": {
"nonStream": "https://api.zyloai.net/v1/chat/completions",
"stream": "https://api.zyloai.net/v1/chat/completions"
}
}
}

View File

@@ -67,7 +67,7 @@ test("classifyIpScope distinguishes loopback / private / public / unknown", () =
assert.equal(ipUtils.classifyIpScope("10.1.2.3"), "private");
assert.equal(ipUtils.classifyIpScope("192.168.0.5"), "private");
assert.equal(ipUtils.classifyIpScope("172.16.4.4"), "private");
assert.equal(ipUtils.classifyIpScope("172.32.255.1"), "private");
assert.equal(ipUtils.classifyIpScope("172.31.255.1"), "private");
assert.equal(ipUtils.classifyIpScope("fd00::1"), "private");
assert.equal(ipUtils.classifyIpScope("203.0.113.50"), "public");
assert.equal(ipUtils.classifyIpScope("8.8.8.8"), "public");

View File

@@ -1,7 +1,7 @@
// Characterization of the providers.ts catalog split (god-file decomposition): the host became a
// barrel that re-exports 10 data catalogs now living under constants/providers/*, and APIKEY is
// merged from 6 semantic family files (apikey/<family>.ts). Locks: the public surface (every catalog
// + helpers still exported), the spread-merge integrity (223 APIKEY entries, no loss/dup), and that
// + helpers still exported), the spread-merge integrity (225 APIKEY entries, no loss/dup), and that
// load-time Zod validation still runs. Pure-data move → behavior must be identical.
// Count was 171 before obsolete provider removals (PR #6675: glhf/kluster/cablyai/inclusionai etc.,
// 171->167) plus #6126 (ClinePass dual-auth): the API-key-only APIKEY_PROVIDERS_GATEWAYS entry was
@@ -18,7 +18,8 @@
// typhoon in regional) to 195, then Firecrawl dual search+fetch under SEARCH_PROVIDERS.firecrawl
// (removed specialty-media duplicate) to 194, #8861 (Xiaomi MiMo Token Plan, regional) to 195, and
// the Cheaper Inference gateway (OSS-sponsor reseller, gateways family) to 196, and the audited
// free-tier gateway expansion added 27 entries, bringing the current total to 223.
// free-tier gateway expansion added 27 entries, bringing the total to 223, then Void AI and
// HelixMind brought the current total to 225.
import { test } from "node:test";
import assert from "node:assert/strict";
@@ -47,12 +48,12 @@ test("barrel still exports every catalog + key helpers", () => {
}
});
test("APIKEY_PROVIDERS merges the 6 family files into 223 entries (no loss / no dup)", async () => {
test("APIKEY_PROVIDERS merges the 6 family files into 225 entries (no loss / no dup)", async () => {
const keys = Object.keys((P as Record<string, object>).APIKEY_PROVIDERS);
assert.equal(keys.length, 223);
assert.equal(new Set(keys).size, 223, "duplicate keys after spread-merge");
assert.equal(keys.length, 225);
assert.equal(new Set(keys).size, 225, "duplicate keys after spread-merge");
// the merged object's entry-count equals the sum of the 6 semantic family files; families are a
// strict partition (every provider in exactly one), so the sum must be exactly 223.
// strict partition (every provider in exactly one), so the sum must be exactly 225.
const families: [string, string][] = [
["gateways", "APIKEY_PROVIDERS_GATEWAYS"],
["frontier-labs", "APIKEY_PROVIDERS_FRONTIER"],
@@ -72,7 +73,7 @@ test("APIKEY_PROVIDERS merges the 6 family files into 223 entries (no loss / no
seen.add(k);
}
}
assert.equal(famTotal, 223, "families must partition all 223 providers");
assert.equal(famTotal, 225, "families must partition all 225 providers");
});
test("AI_PROVIDERS Proxy aggregates all sections; lookups resolve", () => {