fix(translator): ESM-safe registry + tool-id pairing + responses max_tokens; add real-creds tests

- translator/index.js: replace require() with static side-effect imports (ESM-safe),
  lazy-init registry maps to survive circular import order
- openai-responses->openai: map max_output_tokens -> max_tokens (avoid leaking field upstream)
- gemini/antigravity -> openai: derive deterministic tool_call id from name so
  functionCall/functionResponse pair correctly (fixes provider tool-pairing 400s)
- add offline unit tests (finish-reason, usage, session-manager, ollama malformed args, const guard)
- add real-creds integration tests (provider-cases + all-formats matrix: 6 inbound formats x 4 scenarios)

Includes co-located provider registry refactor (pricing/capabilities/media providers) and sessionManager updates.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
decolua
2026-06-15 11:38:43 +07:00
parent 24a2d19bd7
commit aba4c45da6
76 changed files with 2115 additions and 479 deletions

View File

@@ -1,75 +1,98 @@
// Auto-generated: static imports of all registry entries
import p0 from './alicode-intl.js';
import p1 from './alicode.js';
import p2 from './anthropic.js';
import p3 from './antigravity.js';
import p4 from './assemblyai.js';
import p5 from './azure.js';
import p6 from './black-forest-labs.js';
import p7 from './blackbox.js';
import p8 from './byteplus.js';
import p9 from './cerebras.js';
import p10 from './chutes.js';
import p11 from './claude.js';
import p12 from './cline.js';
import p13 from './cloudflare-ai.js';
import p14 from './codebuddy.js';
import p15 from './codex.js';
import p16 from './cohere.js';
import p17 from './comfyui.js';
import p18 from './commandcode.js';
import p19 from './cursor.js';
import p20 from './deepgram.js';
import p21 from './deepseek.js';
import p22 from './fal-ai.js';
import p23 from './fireworks.js';
import p24 from './gemini-cli.js';
import p25 from './gemini.js';
import p26 from './github.js';
import p27 from './gitlab.js';
import p28 from './glm-cn.js';
import p29 from './glm.js';
import p30 from './grok-web.js';
import p31 from './groq.js';
import p32 from './huggingface.js';
import p33 from './hyperbolic.js';
import p34 from './iflow.js';
import p35 from './kilocode.js';
import p36 from './kimi-coding.js';
import p37 from './kimi.js';
import p38 from './kiro.js';
import p39 from './mimo-free.js';
import p40 from './minimax-cn.js';
import p41 from './minimax.js';
import p42 from './mistral.js';
import p43 from './mmf.js';
import p44 from './nanobanana.js';
import p45 from './nebius.js';
import p46 from './nvidia.js';
import p47 from './ollama-local.js';
import p48 from './ollama.js';
import p49 from './openai.js';
import p50 from './opencode-go.js';
import p51 from './opencode.js';
import p52 from './openrouter.js';
import p53 from './perplexity-web.js';
import p54 from './perplexity.js';
import p55 from './qoder.js';
import p56 from './qwen.js';
import p57 from './recraft.js';
import p58 from './runwayml.js';
import p59 from './sdwebui.js';
import p60 from './siliconflow.js';
import p61 from './stability-ai.js';
import p62 from './together.js';
import p63 from './vercel-ai-gateway.js';
import p64 from './vertex-partner.js';
import p65 from './vertex.js';
import p66 from './volcengine-ark.js';
import p67 from './voyage-ai.js';
import p68 from './xai.js';
import p69 from './xiaomi-mimo.js';
import p70 from './xiaomi-tokenplan.js';
import p0 from "./alicode.js";
import p1 from "./alicode-intl.js";
import p2 from "./anthropic.js";
import p3 from "./antigravity.js";
import p4 from "./assemblyai.js";
import p5 from "./aws-polly.js";
import p6 from "./azure.js";
import p7 from "./black-forest-labs.js";
import p8 from "./blackbox.js";
import p9 from "./brave-search.js";
import p10 from "./byteplus.js";
import p11 from "./cartesia.js";
import p12 from "./cerebras.js";
import p13 from "./chutes.js";
import p14 from "./claude.js";
import p15 from "./cline.js";
import p16 from "./cloudflare-ai.js";
import p17 from "./codebuddy.js";
import p18 from "./codex.js";
import p19 from "./cohere.js";
import p20 from "./comfyui.js";
import p21 from "./commandcode.js";
import p22 from "./coqui.js";
import p23 from "./cursor.js";
import p24 from "./deepgram.js";
import p25 from "./deepseek.js";
import p26 from "./edge-tts.js";
import p27 from "./elevenlabs.js";
import p28 from "./exa.js";
import p29 from "./fal-ai.js";
import p30 from "./firecrawl.js";
import p31 from "./fireworks.js";
import p32 from "./gemini.js";
import p33 from "./gemini-cli.js";
import p34 from "./github.js";
import p35 from "./gitlab.js";
import p36 from "./glm.js";
import p37 from "./glm-cn.js";
import p38 from "./google-pse.js";
import p39 from "./google-tts.js";
import p40 from "./grok-web.js";
import p41 from "./groq.js";
import p42 from "./huggingface.js";
import p43 from "./hyperbolic.js";
import p44 from "./iflow.js";
import p45 from "./inworld.js";
import p46 from "./jina-ai.js";
import p47 from "./jina-reader.js";
import p48 from "./kilocode.js";
import p49 from "./kimi.js";
import p50 from "./kimi-coding.js";
import p51 from "./kiro.js";
import p52 from "./linkup.js";
import p53 from "./local-device.js";
import p54 from "./mimo-free.js";
import p55 from "./minimax.js";
import p56 from "./minimax-cn.js";
import p57 from "./mistral.js";
import p58 from "./mmf.js";
import p59 from "./nanobanana.js";
import p60 from "./nebius.js";
import p61 from "./nvidia.js";
import p62 from "./ollama.js";
import p63 from "./ollama-local.js";
import p64 from "./openai.js";
import p65 from "./opencode.js";
import p66 from "./opencode-go.js";
import p67 from "./openrouter.js";
import p68 from "./perplexity.js";
import p69 from "./perplexity-web.js";
import p70 from "./playht.js";
import p71 from "./qoder.js";
import p72 from "./qwen.js";
import p73 from "./recraft.js";
import p74 from "./runwayml.js";
import p75 from "./sdwebui.js";
import p76 from "./searchapi.js";
import p77 from "./searxng.js";
import p78 from "./serper.js";
import p79 from "./siliconflow.js";
import p80 from "./stability-ai.js";
import p81 from "./tavily.js";
import p82 from "./together.js";
import p83 from "./topaz.js";
import p84 from "./tortoise.js";
import p85 from "./vercel-ai-gateway.js";
import p86 from "./vertex.js";
import p87 from "./vertex-partner.js";
import p88 from "./volcengine-ark.js";
import p89 from "./voyage-ai.js";
import p90 from "./xai.js";
import p91 from "./xiaomi-mimo.js";
import p92 from "./xiaomi-tokenplan.js";
import p93 from "./youcom.js";
export default [
p0,
@@ -142,5 +165,28 @@ export default [
p67,
p68,
p69,
p70
p70,
p71,
p72,
p73,
p74,
p75,
p76,
p77,
p78,
p79,
p80,
p81,
p82,
p83,
p84,
p85,
p86,
p87,
p88,
p89,
p90,
p91,
p92,
p93
];