diff --git a/.playwright-mcp/console-2026-04-04T08-03-37-016Z.log b/.playwright-mcp/console-2026-04-04T08-03-37-016Z.log deleted file mode 100644 index 1fcd29f636..0000000000 --- a/.playwright-mcp/console-2026-04-04T08-03-37-016Z.log +++ /dev/null @@ -1 +0,0 @@ -[ 32698ms] [ERROR] Failed to load resource: the server responded with a status of 404 (Not Found) @ http://localhost:20130/dashboard/usage?_rsc=18t7j:0 diff --git a/.playwright-mcp/page-2026-04-04T08-03-38-145Z.yml b/.playwright-mcp/page-2026-04-04T08-03-38-145Z.yml deleted file mode 100644 index dc09664b78..0000000000 --- a/.playwright-mcp/page-2026-04-04T08-03-38-145Z.yml +++ /dev/null @@ -1,158 +0,0 @@ -- generic [active] [ref=e1]: - - link "Skip to content" [ref=e2] [cursor=pointer]: - - /url: "#main-content" - - generic [ref=e3]: - - complementary [ref=e5]: - - link "Skip to content" [ref=e6] [cursor=pointer]: - - /url: "#main-content" - - link "OmniRoute v3.5.0" [ref=e12] [cursor=pointer]: - - /url: /dashboard - - img [ref=e14] - - generic [ref=e26]: - - heading "OmniRoute" [level=1] [ref=e27] - - generic [ref=e28]: v3.5.0 - - navigation "Main navigation" [ref=e29]: - - generic [ref=e30]: - - link "home Home" [ref=e31] [cursor=pointer]: - - /url: /dashboard - - generic [ref=e32]: home - - generic [ref=e33]: Home - - link "api Endpoints" [ref=e34] [cursor=pointer]: - - /url: /dashboard/endpoint - - generic [ref=e35]: api - - generic [ref=e36]: Endpoints - - link "vpn_key API Manager" [ref=e37] [cursor=pointer]: - - /url: /dashboard/api-manager - - generic [ref=e38]: vpn_key - - generic [ref=e39]: API Manager - - link "dns Providers" [ref=e40] [cursor=pointer]: - - /url: /dashboard/providers - - generic [ref=e41]: dns - - generic [ref=e42]: Providers - - link "layers Combos" [ref=e43] [cursor=pointer]: - - /url: /dashboard/combos - - generic [ref=e44]: layers - - generic [ref=e45]: Combos - - link "auto_awesome Auto Combo" [ref=e46] [cursor=pointer]: - - /url: /dashboard/auto-combo - - generic [ref=e47]: auto_awesome - - generic [ref=e48]: Auto Combo - - link "account_balance_wallet Costs" [ref=e49] [cursor=pointer]: - - /url: /dashboard/costs - - generic [ref=e50]: account_balance_wallet - - generic [ref=e51]: Costs - - link "analytics Analytics" [ref=e52] [cursor=pointer]: - - /url: /dashboard/analytics - - generic [ref=e53]: analytics - - generic [ref=e54]: Analytics - - link "tune Limits & Quotas" [ref=e55] [cursor=pointer]: - - /url: /dashboard/limits - - generic [ref=e56]: tune - - generic [ref=e57]: Limits & Quotas - - link "cached Cache" [ref=e58] [cursor=pointer]: - - /url: /dashboard/cache - - generic [ref=e59]: cached - - generic [ref=e60]: Cache - - link "perm_media Media" [ref=e61] [cursor=pointer]: - - /url: /dashboard/cache/media - - generic [ref=e62]: perm_media - - generic [ref=e63]: Media - - generic [ref=e64]: - - paragraph [ref=e65]: CLI - - link "terminal Tools" [ref=e66] [cursor=pointer]: - - /url: /dashboard/cli-tools - - generic [ref=e67]: terminal - - generic [ref=e68]: Tools - - link "smart_toy Agents" [ref=e69] [cursor=pointer]: - - /url: /dashboard/agents - - generic [ref=e70]: smart_toy - - generic [ref=e71]: Agents - - link "psychology Memory" [ref=e72] [cursor=pointer]: - - /url: /dashboard/memory - - generic [ref=e73]: psychology - - generic [ref=e74]: Memory - - link "auto_fix_high Skills" [ref=e75] [cursor=pointer]: - - /url: /dashboard/skills - - generic [ref=e76]: auto_fix_high - - generic [ref=e77]: Skills - - generic [ref=e78]: - - paragraph [ref=e79]: System - - link "health_and_safety Health" [ref=e80] [cursor=pointer]: - - /url: /dashboard/health - - generic [ref=e81]: health_and_safety - - generic [ref=e82]: Health - - link "description Logs" [ref=e83] [cursor=pointer]: - - /url: /dashboard/logs - - generic [ref=e84]: description - - generic [ref=e85]: Logs - - link "history Audit Log" [ref=e86] [cursor=pointer]: - - /url: /dashboard/audit - - generic [ref=e87]: history - - generic [ref=e88]: Audit Log - - link "settings Settings" [ref=e89] [cursor=pointer]: - - /url: /dashboard/settings - - generic [ref=e90]: settings - - generic [ref=e91]: Settings - - generic [ref=e92]: - - paragraph [ref=e93]: Help - - link "menu_book Docs" [ref=e94] [cursor=pointer]: - - /url: /docs - - generic [ref=e95]: menu_book - - generic [ref=e96]: Docs - - link "bug_report Issues" [ref=e97] [cursor=pointer]: - - /url: https://github.com/diegosouzapw/OmniRoute/issues - - generic [ref=e98]: bug_report - - generic [ref=e99]: Issues - - generic [ref=e100]: - - button "restart_alt Restart" [ref=e101]: - - generic: restart_alt - - text: Restart - - button "power_settings_new Shutdown" [ref=e102]: - - generic: power_settings_new - - text: Shutdown - - main [ref=e103]: - - generic [ref=e104]: - - button "menu" [ref=e106]: - - generic: menu - - generic [ref=e107]: - - button "πŸ‡ΊπŸ‡Έ EN expand_more" [ref=e109]: - - generic [ref=e110]: πŸ‡ΊπŸ‡Έ - - generic [ref=e111]: EN - - generic: expand_more - - button "Switch to dark mode" [ref=e112]: - - generic: dark_mode - - button "logout" [ref=e113]: - - generic: logout - - generic [ref=e115]: - - navigation "Breadcrumb" [ref=e116]: - - link "Dashboard" [ref=e118] [cursor=pointer]: - - /url: /dashboard - - generic [ref=e119]: - - generic [ref=e120]: β€Ί - - generic [ref=e121]: Onboarding - - generic [ref=e123]: - - generic [ref=e124]: - - generic [ref=e126]: "1" - - generic [ref=e129]: "2" - - generic [ref=e132]: "3" - - generic [ref=e135]: "4" - - generic [ref=e138]: "5" - - generic [ref=e139]: - - generic [ref=e140]: - - generic [ref=e141]: waving_hand - - heading "Welcome" [level=2] [ref=e142] - - generic [ref=e144]: - - paragraph [ref=e145]: OmniRoute is your local AI API proxy. It routes requests to multiple AI providers with load balancing, failover, and usage tracking. - - generic [ref=e146]: - - generic [ref=e147]: - - generic [ref=e148]: swap_horiz - - text: Multi-Provider - - generic [ref=e149]: - - generic [ref=e150]: monitoring - - text: Usage Tracking - - generic [ref=e151]: - - generic [ref=e152]: shield - - text: API Key Mgmt - - button "Get Started" [ref=e155] [cursor=pointer] - - button "Skip wizard entirely" [ref=e157] [cursor=pointer] - - alert [ref=e158] diff --git a/.playwright-mcp/page-2026-04-04T08-04-15-839Z.yml b/.playwright-mcp/page-2026-04-04T08-04-15-839Z.yml deleted file mode 100644 index 88cb680c33..0000000000 --- a/.playwright-mcp/page-2026-04-04T08-04-15-839Z.yml +++ /dev/null @@ -1,1011 +0,0 @@ -- generic [active] [ref=e1]: - - link "Skip to content" [ref=e2] [cursor=pointer]: - - /url: "#main-content" - - generic [ref=e3]: - - complementary [ref=e5]: - - link "Skip to content" [ref=e6] [cursor=pointer]: - - /url: "#main-content" - - link "OmniRoute v3.5.0" [ref=e12] [cursor=pointer]: - - /url: /dashboard - - img [ref=e14] - - generic [ref=e26]: - - heading "OmniRoute" [level=1] [ref=e27] - - generic [ref=e28]: v3.5.0 - - navigation "Main navigation" [ref=e29]: - - generic [ref=e30]: - - link "home Home" [ref=e31] [cursor=pointer]: - - /url: /dashboard - - generic [ref=e32]: home - - generic [ref=e33]: Home - - link "api Endpoints" [ref=e34] [cursor=pointer]: - - /url: /dashboard/endpoint - - generic [ref=e35]: api - - generic [ref=e36]: Endpoints - - link "vpn_key API Manager" [ref=e37] [cursor=pointer]: - - /url: /dashboard/api-manager - - generic [ref=e38]: vpn_key - - generic [ref=e39]: API Manager - - link "dns Providers" [ref=e40] [cursor=pointer]: - - /url: /dashboard/providers - - generic [ref=e41]: dns - - generic [ref=e42]: Providers - - link "layers Combos" [ref=e43] [cursor=pointer]: - - /url: /dashboard/combos - - generic [ref=e44]: layers - - generic [ref=e45]: Combos - - link "auto_awesome Auto Combo" [ref=e46] [cursor=pointer]: - - /url: /dashboard/auto-combo - - generic [ref=e47]: auto_awesome - - generic [ref=e48]: Auto Combo - - link "account_balance_wallet Costs" [ref=e49] [cursor=pointer]: - - /url: /dashboard/costs - - generic [ref=e50]: account_balance_wallet - - generic [ref=e51]: Costs - - link "analytics Analytics" [ref=e52] [cursor=pointer]: - - /url: /dashboard/analytics - - generic [ref=e53]: analytics - - generic [ref=e54]: Analytics - - link "tune Limits & Quotas" [ref=e55] [cursor=pointer]: - - /url: /dashboard/limits - - generic [ref=e56]: tune - - generic [ref=e57]: Limits & Quotas - - link "cached Cache" [ref=e58] [cursor=pointer]: - - /url: /dashboard/cache - - generic [ref=e59]: cached - - generic [ref=e60]: Cache - - link "perm_media Media" [ref=e61] [cursor=pointer]: - - /url: /dashboard/cache/media - - generic [ref=e62]: perm_media - - generic [ref=e63]: Media - - generic [ref=e64]: - - paragraph [ref=e65]: CLI - - link "terminal Tools" [ref=e66] [cursor=pointer]: - - /url: /dashboard/cli-tools - - generic [ref=e67]: terminal - - generic [ref=e68]: Tools - - link "smart_toy Agents" [ref=e69] [cursor=pointer]: - - /url: /dashboard/agents - - generic [ref=e70]: smart_toy - - generic [ref=e71]: Agents - - link "psychology Memory" [ref=e72] [cursor=pointer]: - - /url: /dashboard/memory - - generic [ref=e73]: psychology - - generic [ref=e74]: Memory - - link "auto_fix_high Skills" [ref=e75] [cursor=pointer]: - - /url: /dashboard/skills - - generic [ref=e76]: auto_fix_high - - generic [ref=e77]: Skills - - generic [ref=e78]: - - paragraph [ref=e79]: System - - link "health_and_safety Health" [ref=e80] [cursor=pointer]: - - /url: /dashboard/health - - generic [ref=e81]: health_and_safety - - generic [ref=e82]: Health - - link "description Logs" [ref=e83] [cursor=pointer]: - - /url: /dashboard/logs - - generic [ref=e84]: description - - generic [ref=e85]: Logs - - link "history Audit Log" [ref=e86] [cursor=pointer]: - - /url: /dashboard/audit - - generic [ref=e87]: history - - generic [ref=e88]: Audit Log - - link "settings Settings" [ref=e89] [cursor=pointer]: - - /url: /dashboard/settings - - generic [ref=e90]: settings - - generic [ref=e91]: Settings - - generic [ref=e92]: - - paragraph [ref=e93]: Help - - link "menu_book Docs" [ref=e94] [cursor=pointer]: - - /url: /docs - - generic [ref=e95]: menu_book - - generic [ref=e96]: Docs - - link "bug_report Issues" [ref=e97] [cursor=pointer]: - - /url: https://github.com/diegosouzapw/OmniRoute/issues - - generic [ref=e98]: bug_report - - generic [ref=e99]: Issues - - generic [ref=e100]: - - button "restart_alt Restart" [ref=e101]: - - generic: restart_alt - - text: Restart - - button "power_settings_new Shutdown" [ref=e102]: - - generic: power_settings_new - - text: Shutdown - - main [ref=e103]: - - generic [ref=e104]: - - button "menu" [ref=e106]: - - generic: menu - - generic [ref=e107]: - - button "πŸ‡ΊπŸ‡Έ EN expand_more" [ref=e109]: - - generic [ref=e110]: πŸ‡ΊπŸ‡Έ - - generic [ref=e111]: EN - - generic: expand_more - - button "Switch to dark mode" [ref=e112]: - - generic: dark_mode - - button "logout" [ref=e113]: - - generic: logout - - generic [ref=e159]: - - generic [ref=e161]: - - generic [ref=e162]: - - generic [ref=e163]: - - heading "Quick Start" [level=2] [ref=e164] - - paragraph [ref=e165]: Get up and running in 4 steps. Connect providers, route models, monitor everything. - - link "menu_book Full Docs" [ref=e166] [cursor=pointer]: - - /url: /docs - - generic [ref=e167]: menu_book - - text: Full Docs - - list [ref=e168]: - - listitem [ref=e169]: - - generic [ref=e171]: key - - generic [ref=e172]: - - text: 1. Create API key - - paragraph [ref=e173]: - - text: Go to - - link "Endpoint" [ref=e174] [cursor=pointer]: - - /url: /dashboard/endpoint - - text: "-> Registered Keys. Generate one key per environment." - - listitem [ref=e175]: - - generic [ref=e177]: dns - - generic [ref=e178]: - - text: 2. Connect providers - - paragraph [ref=e179]: - - text: Add accounts in - - link "Providers" [ref=e180] [cursor=pointer]: - - /url: /dashboard/providers - - text: . Supports OAuth, API Key, and free tiers. - - listitem [ref=e181]: - - generic [ref=e183]: link - - generic [ref=e184]: - - text: 3. Point your client - - paragraph [ref=e185]: Set base URL to http://localhost:20130/v1 in your IDE or API client. - - listitem [ref=e186]: - - generic [ref=e188]: analytics - - generic [ref=e189]: - - text: 4. Monitor & optimize - - paragraph [ref=e190]: - - text: Track tokens, cost and errors in - - link "Request Logs" [ref=e191] [cursor=pointer]: - - /url: /dashboard/usage - - text: and - - link "Analytics" [ref=e192] [cursor=pointer]: - - /url: /dashboard/analytics - - text: . - - generic [ref=e193]: - - link "menu_book Documentation" [ref=e194] [cursor=pointer]: - - /url: /docs - - generic [ref=e195]: menu_book - - text: Documentation - - link "dns Providers" [ref=e196] [cursor=pointer]: - - /url: /dashboard/providers - - generic [ref=e197]: dns - - text: Providers - - link "layers Combos" [ref=e198] [cursor=pointer]: - - /url: /dashboard/combos - - generic [ref=e199]: layers - - text: Combos - - link "analytics Analytics" [ref=e200] [cursor=pointer]: - - /url: /dashboard/analytics - - generic [ref=e201]: analytics - - text: Analytics - - link "health_and_safety Health Monitor" [ref=e202] [cursor=pointer]: - - /url: /dashboard/health - - generic [ref=e203]: health_and_safety - - text: Health Monitor - - link "terminal CLI Tools" [ref=e204] [cursor=pointer]: - - /url: /dashboard/cli-tools - - generic [ref=e205]: terminal - - text: CLI Tools - - link "bug_report Report issue" [ref=e206] [cursor=pointer]: - - /url: https://github.com/diegosouzapw/OmniRoute/issues - - generic [ref=e207]: bug_report - - text: Report issue - - generic [ref=e208]: - - generic [ref=e209]: - - generic [ref=e210]: - - heading "Providers Overview" [level=2] [ref=e211] - - paragraph [ref=e212]: 0 configured of 72 available providers - - generic [ref=e213]: - - generic [ref=e214]: - - generic [ref=e215]: Free - - generic [ref=e217]: OAuth - - generic [ref=e219]: API Key - - link "settings Manage" [ref=e221] [cursor=pointer]: - - /url: /dashboard/providers - - generic [ref=e222]: settings - - text: Manage - - generic [ref=e223]: - - button "Qoder AI Free Not configured 0 models" [ref=e224] [cursor=pointer]: - - generic [ref=e225]: - - img [ref=e228] - - generic [ref=e231]: - - generic [ref=e232]: - - paragraph [ref=e233]: Qoder AI - - generic "Free" [ref=e234] - - paragraph [ref=e235]: Not configured - - generic [ref=e236]: - - paragraph [ref=e237]: "0" - - paragraph [ref=e238]: models - - button "AlibabaCloud Qwen Code Free Not configured 0 models" [ref=e239] [cursor=pointer]: - - generic [ref=e240]: - - img "AlibabaCloud" [ref=e243] - - generic [ref=e246]: - - generic [ref=e247]: - - paragraph [ref=e248]: Qwen Code - - generic "Free" [ref=e249] - - paragraph [ref=e250]: Not configured - - generic [ref=e251]: - - paragraph [ref=e252]: "0" - - paragraph [ref=e253]: models - - button "gemini-cli Gemini CLI Free Not configured 0 models" [ref=e254] [cursor=pointer]: - - generic [ref=e255]: - - img "gemini-cli" [ref=e258] - - generic [ref=e259]: - - generic [ref=e260]: - - paragraph [ref=e261]: Gemini CLI - - generic "Free" [ref=e262] - - paragraph [ref=e263]: Not configured - - generic [ref=e264]: - - paragraph [ref=e265]: "0" - - paragraph [ref=e266]: models - - button "kiro Kiro AI Free Not configured 0 models" [ref=e267] [cursor=pointer]: - - generic [ref=e268]: - - img "kiro" [ref=e271] - - generic [ref=e272]: - - generic [ref=e273]: - - paragraph [ref=e274]: Kiro AI - - generic "Free" [ref=e275] - - paragraph [ref=e276]: Not configured - - generic [ref=e277]: - - paragraph [ref=e278]: "0" - - paragraph [ref=e279]: models - - button "Anthropic Claude Code OAuth Not configured 0 models" [ref=e280] [cursor=pointer]: - - generic [ref=e281]: - - img "Anthropic" [ref=e284] - - generic [ref=e286]: - - generic [ref=e287]: - - paragraph [ref=e288]: Claude Code - - generic "OAuth" [ref=e289] - - paragraph [ref=e290]: Not configured - - generic [ref=e291]: - - paragraph [ref=e292]: "0" - - paragraph [ref=e293]: models - - button "antigravity Antigravity OAuth Not configured 0 models" [ref=e294] [cursor=pointer]: - - generic [ref=e295]: - - img "antigravity" [ref=e298] - - generic [ref=e299]: - - generic [ref=e300]: - - paragraph [ref=e301]: Antigravity - - generic "OAuth" [ref=e302] - - paragraph [ref=e303]: Not configured - - generic [ref=e304]: - - paragraph [ref=e305]: "0" - - paragraph [ref=e306]: models - - button "OpenAI OpenAI Codex OAuth Not configured 0 models" [ref=e307] [cursor=pointer]: - - generic [ref=e308]: - - img "OpenAI" [ref=e311] - - generic [ref=e313]: - - generic [ref=e314]: - - paragraph [ref=e315]: OpenAI Codex - - generic "OAuth" [ref=e316] - - paragraph [ref=e317]: Not configured - - generic [ref=e318]: - - paragraph [ref=e319]: "0" - - paragraph [ref=e320]: models - - button "github GitHub Copilot OAuth Not configured 0 models" [ref=e321] [cursor=pointer]: - - generic [ref=e322]: - - img "github" [ref=e325] - - generic [ref=e326]: - - generic [ref=e327]: - - paragraph [ref=e328]: GitHub Copilot - - generic "OAuth" [ref=e329] - - paragraph [ref=e330]: Not configured - - generic [ref=e331]: - - paragraph [ref=e332]: "0" - - paragraph [ref=e333]: models - - button "cursor Cursor IDE OAuth Not configured 0 models" [ref=e334] [cursor=pointer]: - - generic [ref=e335]: - - img "cursor" [ref=e338] - - generic [ref=e339]: - - generic [ref=e340]: - - paragraph [ref=e341]: Cursor IDE - - generic "OAuth" [ref=e342] - - paragraph [ref=e343]: Not configured - - generic [ref=e344]: - - paragraph [ref=e345]: "0" - - paragraph [ref=e346]: models - - button "kimi-coding Kimi Coding OAuth Not configured 0 models" [ref=e347] [cursor=pointer]: - - generic [ref=e348]: - - img "kimi-coding" [ref=e351] - - generic [ref=e352]: - - generic [ref=e353]: - - paragraph [ref=e354]: Kimi Coding - - generic "OAuth" [ref=e355] - - paragraph [ref=e356]: Not configured - - generic [ref=e357]: - - paragraph [ref=e358]: "0" - - paragraph [ref=e359]: models - - button "kilocode Kilo Code OAuth Not configured 0 models" [ref=e360] [cursor=pointer]: - - generic [ref=e361]: - - img "kilocode" [ref=e364] - - generic [ref=e365]: - - generic [ref=e366]: - - paragraph [ref=e367]: Kilo Code - - generic "OAuth" [ref=e368] - - paragraph [ref=e369]: Not configured - - generic [ref=e370]: - - paragraph [ref=e371]: "0" - - paragraph [ref=e372]: models - - button "cline Cline OAuth Not configured 0 models" [ref=e373] [cursor=pointer]: - - generic [ref=e374]: - - img "cline" [ref=e377] - - generic [ref=e378]: - - generic [ref=e379]: - - paragraph [ref=e380]: Cline - - generic "OAuth" [ref=e381] - - paragraph [ref=e382]: Not configured - - generic [ref=e383]: - - paragraph [ref=e384]: "0" - - paragraph [ref=e385]: models - - button "OpenRouter OpenRouter API Key Not configured 0 models" [ref=e386] [cursor=pointer]: - - generic [ref=e387]: - - img "OpenRouter" [ref=e390] - - generic [ref=e392]: - - generic [ref=e393]: - - paragraph [ref=e394]: OpenRouter - - generic "API Key" [ref=e395] - - paragraph [ref=e396]: Not configured - - generic [ref=e397]: - - paragraph [ref=e398]: "0" - - paragraph [ref=e399]: models - - button "glm GLM Coding API Key Not configured 0 models" [ref=e400] [cursor=pointer]: - - generic [ref=e401]: - - img "glm" [ref=e404] - - generic [ref=e405]: - - generic [ref=e406]: - - paragraph [ref=e407]: GLM Coding - - generic "API Key" [ref=e408] - - paragraph [ref=e409]: Not configured - - generic [ref=e410]: - - paragraph [ref=e411]: "0" - - paragraph [ref=e412]: models - - button "bailian-coding-plan Alibaba Coding Plan API Key Not configured 0 models" [ref=e413] [cursor=pointer]: - - generic [ref=e414]: - - img "bailian-coding-plan" [ref=e417] - - generic [ref=e418]: - - generic [ref=e419]: - - paragraph [ref=e420]: Alibaba Coding Plan - - generic "API Key" [ref=e421] - - paragraph [ref=e422]: Not configured - - generic [ref=e423]: - - paragraph [ref=e424]: "0" - - paragraph [ref=e425]: models - - button "MoonshotAI Kimi API Key Not configured 0 models" [ref=e426] [cursor=pointer]: - - generic [ref=e427]: - - img "MoonshotAI" [ref=e430] - - generic [ref=e432]: - - generic [ref=e433]: - - paragraph [ref=e434]: Kimi - - generic "API Key" [ref=e435] - - paragraph [ref=e436]: Not configured - - generic [ref=e437]: - - paragraph [ref=e438]: "0" - - paragraph [ref=e439]: models - - button "kimi-coding-apikey Kimi Coding (API Key) API Key Not configured 0 models" [ref=e440] [cursor=pointer]: - - generic [ref=e441]: - - img "kimi-coding-apikey" [ref=e444] - - generic [ref=e445]: - - generic [ref=e446]: - - paragraph [ref=e447]: Kimi Coding (API Key) - - generic "API Key" [ref=e448] - - paragraph [ref=e449]: Not configured - - generic [ref=e450]: - - paragraph [ref=e451]: "0" - - paragraph [ref=e452]: models - - button "Minimax Minimax Coding API Key Not configured 0 models" [ref=e453] [cursor=pointer]: - - generic [ref=e454]: - - img "Minimax" [ref=e457] - - generic [ref=e459]: - - generic [ref=e460]: - - paragraph [ref=e461]: Minimax Coding - - generic "API Key" [ref=e462] - - paragraph [ref=e463]: Not configured - - generic [ref=e464]: - - paragraph [ref=e465]: "0" - - paragraph [ref=e466]: models - - button "minimax-cn Minimax (China) API Key Not configured 0 models" [ref=e467] [cursor=pointer]: - - generic [ref=e468]: - - img "minimax-cn" [ref=e471] - - generic [ref=e472]: - - generic [ref=e473]: - - paragraph [ref=e474]: Minimax (China) - - generic "API Key" [ref=e475] - - paragraph [ref=e476]: Not configured - - generic [ref=e477]: - - paragraph [ref=e478]: "0" - - paragraph [ref=e479]: models - - button "alicode Alibaba API Key Not configured 0 models" [ref=e480] [cursor=pointer]: - - generic [ref=e481]: - - img "alicode" [ref=e484] - - generic [ref=e485]: - - generic [ref=e486]: - - paragraph [ref=e487]: Alibaba - - generic "API Key" [ref=e488] - - paragraph [ref=e489]: Not configured - - generic [ref=e490]: - - paragraph [ref=e491]: "0" - - paragraph [ref=e492]: models - - button "alicode-intl Alibaba Intl API Key Not configured 0 models" [ref=e493] [cursor=pointer]: - - generic [ref=e494]: - - img "alicode-intl" [ref=e497] - - generic [ref=e498]: - - generic [ref=e499]: - - paragraph [ref=e500]: Alibaba Intl - - generic "API Key" [ref=e501] - - paragraph [ref=e502]: Not configured - - generic [ref=e503]: - - paragraph [ref=e504]: "0" - - paragraph [ref=e505]: models - - button "OpenAI OpenAI API Key Not configured 0 models" [ref=e506] [cursor=pointer]: - - generic [ref=e507]: - - img "OpenAI" [ref=e510] - - generic [ref=e512]: - - generic [ref=e513]: - - paragraph [ref=e514]: OpenAI - - generic "API Key" [ref=e515] - - paragraph [ref=e516]: Not configured - - generic [ref=e517]: - - paragraph [ref=e518]: "0" - - paragraph [ref=e519]: models - - button "Anthropic Anthropic API Key Not configured 0 models" [ref=e520] [cursor=pointer]: - - generic [ref=e521]: - - img "Anthropic" [ref=e524] - - generic [ref=e526]: - - generic [ref=e527]: - - paragraph [ref=e528]: Anthropic - - generic "API Key" [ref=e529] - - paragraph [ref=e530]: Not configured - - generic [ref=e531]: - - paragraph [ref=e532]: "0" - - paragraph [ref=e533]: models - - button "Google Gemini (Google AI Studio) API Key Not configured 0 models" [ref=e534] [cursor=pointer]: - - generic [ref=e535]: - - img "Google" [ref=e538] - - generic [ref=e543]: - - generic [ref=e544]: - - paragraph [ref=e545]: Gemini (Google AI Studio) - - generic "API Key" [ref=e546] - - paragraph [ref=e547]: Not configured - - generic [ref=e548]: - - paragraph [ref=e549]: "0" - - paragraph [ref=e550]: models - - button "DeepSeek DeepSeek API Key Not configured 0 models" [ref=e551] [cursor=pointer]: - - generic [ref=e552]: - - img "DeepSeek" [ref=e555] - - generic [ref=e557]: - - generic [ref=e558]: - - paragraph [ref=e559]: DeepSeek - - generic "API Key" [ref=e560] - - paragraph [ref=e561]: Not configured - - generic [ref=e562]: - - paragraph [ref=e563]: "0" - - paragraph [ref=e564]: models - - button "Groq Groq API Key Not configured 0 models" [ref=e565] [cursor=pointer]: - - generic [ref=e566]: - - img "Groq" [ref=e569] - - generic [ref=e571]: - - generic [ref=e572]: - - paragraph [ref=e573]: Groq - - generic "API Key" [ref=e574] - - paragraph [ref=e575]: Not configured - - generic [ref=e576]: - - paragraph [ref=e577]: "0" - - paragraph [ref=e578]: models - - button "Blackbox AI API Key Not configured 0 models" [ref=e579] [cursor=pointer]: - - generic [ref=e580]: - - img [ref=e583]: - - img [ref=e584] - - generic [ref=e589]: - - generic [ref=e590]: - - paragraph [ref=e591]: Blackbox AI - - generic "API Key" [ref=e592] - - paragraph [ref=e593]: Not configured - - generic [ref=e594]: - - paragraph [ref=e595]: "0" - - paragraph [ref=e596]: models - - button "Grok xAI (Grok) API Key Not configured 0 models" [ref=e597] [cursor=pointer]: - - generic [ref=e598]: - - img "Grok" [ref=e601] - - generic [ref=e603]: - - generic [ref=e604]: - - paragraph [ref=e605]: xAI (Grok) - - generic "API Key" [ref=e606] - - paragraph [ref=e607]: Not configured - - generic [ref=e608]: - - paragraph [ref=e609]: "0" - - paragraph [ref=e610]: models - - button "Mistral Mistral API Key Not configured 0 models" [ref=e611] [cursor=pointer]: - - generic [ref=e612]: - - img "Mistral" [ref=e615] - - generic [ref=e621]: - - generic [ref=e622]: - - paragraph [ref=e623]: Mistral - - generic "API Key" [ref=e624] - - paragraph [ref=e625]: Not configured - - generic [ref=e626]: - - paragraph [ref=e627]: "0" - - paragraph [ref=e628]: models - - button "Perplexity Perplexity API Key Not configured 0 models" [ref=e629] [cursor=pointer]: - - generic [ref=e630]: - - img "Perplexity" [ref=e633] - - generic [ref=e635]: - - generic [ref=e636]: - - paragraph [ref=e637]: Perplexity - - generic "API Key" [ref=e638] - - paragraph [ref=e639]: Not configured - - generic [ref=e640]: - - paragraph [ref=e641]: "0" - - paragraph [ref=e642]: models - - button "together.ai Together AI API Key Not configured 0 models" [ref=e643] [cursor=pointer]: - - generic [ref=e644]: - - img "together.ai" [ref=e647] - - generic [ref=e651]: - - generic [ref=e652]: - - paragraph [ref=e653]: Together AI - - generic "API Key" [ref=e654] - - paragraph [ref=e655]: Not configured - - generic [ref=e656]: - - paragraph [ref=e657]: "0" - - paragraph [ref=e658]: models - - button "Fireworks AI API Key Not configured 0 models" [ref=e659] [cursor=pointer]: - - generic [ref=e660]: - - img [ref=e663]: - - img [ref=e664] - - generic [ref=e669]: - - generic [ref=e670]: - - paragraph [ref=e671]: Fireworks AI - - generic "API Key" [ref=e672] - - paragraph [ref=e673]: Not configured - - generic [ref=e674]: - - paragraph [ref=e675]: "0" - - paragraph [ref=e676]: models - - button "Cerebras Cerebras API Key Not configured 0 models" [ref=e677] [cursor=pointer]: - - generic [ref=e678]: - - img "Cerebras" [ref=e681] - - generic [ref=e684]: - - generic [ref=e685]: - - paragraph [ref=e686]: Cerebras - - generic "API Key" [ref=e687] - - paragraph [ref=e688]: Not configured - - generic [ref=e689]: - - paragraph [ref=e690]: "0" - - paragraph [ref=e691]: models - - button "Cohere Cohere API Key Not configured 0 models" [ref=e692] [cursor=pointer]: - - generic [ref=e693]: - - img "Cohere" [ref=e696] - - generic [ref=e700]: - - generic [ref=e701]: - - paragraph [ref=e702]: Cohere - - generic "API Key" [ref=e703] - - paragraph [ref=e704]: Not configured - - generic [ref=e705]: - - paragraph [ref=e706]: "0" - - paragraph [ref=e707]: models - - button "Nvidia NVIDIA NIM API Key Not configured 0 models" [ref=e708] [cursor=pointer]: - - generic [ref=e709]: - - img "Nvidia" [ref=e712] - - generic [ref=e714]: - - generic [ref=e715]: - - paragraph [ref=e716]: NVIDIA NIM - - generic "API Key" [ref=e717] - - paragraph [ref=e718]: Not configured - - generic [ref=e719]: - - paragraph [ref=e720]: "0" - - paragraph [ref=e721]: models - - button "nebius Nebius AI API Key Not configured 0 models" [ref=e722] [cursor=pointer]: - - generic [ref=e723]: - - img "nebius" [ref=e726] - - generic [ref=e727]: - - generic [ref=e728]: - - paragraph [ref=e729]: Nebius AI - - generic "API Key" [ref=e730] - - paragraph [ref=e731]: Not configured - - generic [ref=e732]: - - paragraph [ref=e733]: "0" - - paragraph [ref=e734]: models - - button "siliconflow SiliconFlow API Key Not configured 0 models" [ref=e735] [cursor=pointer]: - - generic [ref=e736]: - - img "siliconflow" [ref=e739] - - generic [ref=e740]: - - generic [ref=e741]: - - paragraph [ref=e742]: SiliconFlow - - generic "API Key" [ref=e743] - - paragraph [ref=e744]: Not configured - - generic [ref=e745]: - - paragraph [ref=e746]: "0" - - paragraph [ref=e747]: models - - button "hyperbolic Hyperbolic API Key Not configured 0 models" [ref=e748] [cursor=pointer]: - - generic [ref=e749]: - - img "hyperbolic" [ref=e752] - - generic [ref=e753]: - - generic [ref=e754]: - - paragraph [ref=e755]: Hyperbolic - - generic "API Key" [ref=e756] - - paragraph [ref=e757]: Not configured - - generic [ref=e758]: - - paragraph [ref=e759]: "0" - - paragraph [ref=e760]: models - - button "deepgram Deepgram API Key Not configured 0 models" [ref=e761] [cursor=pointer]: - - generic [ref=e762]: - - img "deepgram" [ref=e765] - - generic [ref=e766]: - - generic [ref=e767]: - - paragraph [ref=e768]: Deepgram - - generic "API Key" [ref=e769] - - paragraph [ref=e770]: Not configured - - generic [ref=e771]: - - paragraph [ref=e772]: "0" - - paragraph [ref=e773]: models - - button "assemblyai AssemblyAI API Key Not configured 0 models" [ref=e774] [cursor=pointer]: - - generic [ref=e775]: - - img "assemblyai" [ref=e778] - - generic [ref=e779]: - - generic [ref=e780]: - - paragraph [ref=e781]: AssemblyAI - - generic "API Key" [ref=e782] - - paragraph [ref=e783]: Not configured - - generic [ref=e784]: - - paragraph [ref=e785]: "0" - - paragraph [ref=e786]: models - - button "nanobanana NanoBanana API Key Not configured 0 models" [ref=e787] [cursor=pointer]: - - generic [ref=e788]: - - img "nanobanana" [ref=e791] - - generic [ref=e792]: - - generic [ref=e793]: - - paragraph [ref=e794]: NanoBanana - - generic "API Key" [ref=e795] - - paragraph [ref=e796]: Not configured - - generic [ref=e797]: - - paragraph [ref=e798]: "0" - - paragraph [ref=e799]: models - - button "ollama-cloud Ollama Cloud API Key Not configured 0 models" [ref=e800] [cursor=pointer]: - - generic [ref=e801]: - - img "ollama-cloud" [ref=e804] - - generic [ref=e805]: - - generic [ref=e806]: - - paragraph [ref=e807]: Ollama Cloud - - generic "API Key" [ref=e808] - - paragraph [ref=e809]: Not configured - - generic [ref=e810]: - - paragraph [ref=e811]: "0" - - paragraph [ref=e812]: models - - button "elevenlabs ElevenLabs API Key Not configured 0 models" [ref=e813] [cursor=pointer]: - - generic [ref=e814]: - - img "elevenlabs" [ref=e817] - - generic [ref=e818]: - - generic [ref=e819]: - - paragraph [ref=e820]: ElevenLabs - - generic "API Key" [ref=e821] - - paragraph [ref=e822]: Not configured - - generic [ref=e823]: - - paragraph [ref=e824]: "0" - - paragraph [ref=e825]: models - - button "cartesia Cartesia API Key Not configured 0 models" [ref=e826] [cursor=pointer]: - - generic [ref=e827]: - - img "cartesia" [ref=e830] - - generic [ref=e831]: - - generic [ref=e832]: - - paragraph [ref=e833]: Cartesia - - generic "API Key" [ref=e834] - - paragraph [ref=e835]: Not configured - - generic [ref=e836]: - - paragraph [ref=e837]: "0" - - paragraph [ref=e838]: models - - button "playht PlayHT API Key Not configured 0 models" [ref=e839] [cursor=pointer]: - - generic [ref=e840]: - - img "playht" [ref=e843] - - generic [ref=e844]: - - generic [ref=e845]: - - paragraph [ref=e846]: PlayHT - - generic "API Key" [ref=e847] - - paragraph [ref=e848]: Not configured - - generic [ref=e849]: - - paragraph [ref=e850]: "0" - - paragraph [ref=e851]: models - - button "inworld Inworld API Key Not configured 0 models" [ref=e852] [cursor=pointer]: - - generic [ref=e853]: - - img "inworld" [ref=e856] - - generic [ref=e857]: - - generic [ref=e858]: - - paragraph [ref=e859]: Inworld - - generic "API Key" [ref=e860] - - paragraph [ref=e861]: Not configured - - generic [ref=e862]: - - paragraph [ref=e863]: "0" - - paragraph [ref=e864]: models - - button "sdwebui SD WebUI API Key Not configured 0 models" [ref=e865] [cursor=pointer]: - - generic [ref=e866]: - - img "sdwebui" [ref=e869] - - generic [ref=e870]: - - generic [ref=e871]: - - paragraph [ref=e872]: SD WebUI - - generic "API Key" [ref=e873] - - paragraph [ref=e874]: Not configured - - generic [ref=e875]: - - paragraph [ref=e876]: "0" - - paragraph [ref=e877]: models - - button "comfyui ComfyUI API Key Not configured 0 models" [ref=e878] [cursor=pointer]: - - generic [ref=e879]: - - img "comfyui" [ref=e882] - - generic [ref=e883]: - - generic [ref=e884]: - - paragraph [ref=e885]: ComfyUI - - generic "API Key" [ref=e886] - - paragraph [ref=e887]: Not configured - - generic [ref=e888]: - - paragraph [ref=e889]: "0" - - paragraph [ref=e890]: models - - button "HuggingFace HuggingFace API Key Not configured 0 models" [ref=e891] [cursor=pointer]: - - generic [ref=e892]: - - img "HuggingFace" [ref=e895] - - generic [ref=e902]: - - generic [ref=e903]: - - paragraph [ref=e904]: HuggingFace - - generic "API Key" [ref=e905] - - paragraph [ref=e906]: Not configured - - generic [ref=e907]: - - paragraph [ref=e908]: "0" - - paragraph [ref=e909]: models - - button "synthetic Synthetic API Key Not configured 0 models" [ref=e910] [cursor=pointer]: - - generic [ref=e911]: - - img "synthetic" [ref=e914] - - generic [ref=e915]: - - generic [ref=e916]: - - paragraph [ref=e917]: Synthetic - - generic "API Key" [ref=e918] - - paragraph [ref=e919]: Not configured - - generic [ref=e920]: - - paragraph [ref=e921]: "0" - - paragraph [ref=e922]: models - - button "kilo-gateway Kilo Gateway API Key Not configured 0 models" [ref=e923] [cursor=pointer]: - - generic [ref=e924]: - - img "kilo-gateway" [ref=e927] - - generic [ref=e928]: - - generic [ref=e929]: - - paragraph [ref=e930]: Kilo Gateway - - generic "API Key" [ref=e931] - - paragraph [ref=e932]: Not configured - - generic [ref=e933]: - - paragraph [ref=e934]: "0" - - paragraph [ref=e935]: models - - button "vertex Vertex AI API Key Not configured 0 models" [ref=e936] [cursor=pointer]: - - generic [ref=e937]: - - img "vertex" [ref=e940] - - generic [ref=e941]: - - generic [ref=e942]: - - paragraph [ref=e943]: Vertex AI - - generic "API Key" [ref=e944] - - paragraph [ref=e945]: Not configured - - generic [ref=e946]: - - paragraph [ref=e947]: "0" - - paragraph [ref=e948]: models - - button "zai Z.AI API Key Not configured 0 models" [ref=e949] [cursor=pointer]: - - generic [ref=e950]: - - img "zai" [ref=e953] - - generic [ref=e954]: - - generic [ref=e955]: - - paragraph [ref=e956]: Z.AI - - generic "API Key" [ref=e957] - - paragraph [ref=e958]: Not configured - - generic [ref=e959]: - - paragraph [ref=e960]: "0" - - paragraph [ref=e961]: models - - button "perplexity-search Perplexity Search API Key Not configured 0 models" [ref=e962] [cursor=pointer]: - - generic [ref=e963]: - - img "perplexity-search" [ref=e966] - - generic [ref=e967]: - - generic [ref=e968]: - - paragraph [ref=e969]: Perplexity Search - - generic "API Key" [ref=e970] - - paragraph [ref=e971]: Not configured - - generic [ref=e972]: - - paragraph [ref=e973]: "0" - - paragraph [ref=e974]: models - - button "serper-search Serper Search API Key Not configured 0 models" [ref=e975] [cursor=pointer]: - - generic [ref=e976]: - - img "serper-search" [ref=e979] - - generic [ref=e980]: - - generic [ref=e981]: - - paragraph [ref=e982]: Serper Search - - generic "API Key" [ref=e983] - - paragraph [ref=e984]: Not configured - - generic [ref=e985]: - - paragraph [ref=e986]: "0" - - paragraph [ref=e987]: models - - button "brave-search Brave Search API Key Not configured 0 models" [ref=e988] [cursor=pointer]: - - generic [ref=e989]: - - img "brave-search" [ref=e992] - - generic [ref=e993]: - - generic [ref=e994]: - - paragraph [ref=e995]: Brave Search - - generic "API Key" [ref=e996] - - paragraph [ref=e997]: Not configured - - generic [ref=e998]: - - paragraph [ref=e999]: "0" - - paragraph [ref=e1000]: models - - button "exa-search Exa Search API Key Not configured 0 models" [ref=e1001] [cursor=pointer]: - - generic [ref=e1002]: - - img "exa-search" [ref=e1005] - - generic [ref=e1006]: - - generic [ref=e1007]: - - paragraph [ref=e1008]: Exa Search - - generic "API Key" [ref=e1009] - - paragraph [ref=e1010]: Not configured - - generic [ref=e1011]: - - paragraph [ref=e1012]: "0" - - paragraph [ref=e1013]: models - - button "tavily-search Tavily Search API Key Not configured 0 models" [ref=e1014] [cursor=pointer]: - - generic [ref=e1015]: - - img "tavily-search" [ref=e1018] - - generic [ref=e1019]: - - generic [ref=e1020]: - - paragraph [ref=e1021]: Tavily Search - - generic "API Key" [ref=e1022] - - paragraph [ref=e1023]: Not configured - - generic [ref=e1024]: - - paragraph [ref=e1025]: "0" - - paragraph [ref=e1026]: models - - button "opencode-zen OpenCode Zen API Key Not configured 0 models" [ref=e1027] [cursor=pointer]: - - generic [ref=e1028]: - - img "opencode-zen" [ref=e1031] - - generic [ref=e1032]: - - generic [ref=e1033]: - - paragraph [ref=e1034]: OpenCode Zen - - generic "API Key" [ref=e1035] - - paragraph [ref=e1036]: Not configured - - generic [ref=e1037]: - - paragraph [ref=e1038]: "0" - - paragraph [ref=e1039]: models - - button "opencode-go OpenCode Go API Key Not configured 0 models" [ref=e1040] [cursor=pointer]: - - generic [ref=e1041]: - - img "opencode-go" [ref=e1044] - - generic [ref=e1045]: - - generic [ref=e1046]: - - paragraph [ref=e1047]: OpenCode Go - - generic "API Key" [ref=e1048] - - paragraph [ref=e1049]: Not configured - - generic [ref=e1050]: - - paragraph [ref=e1051]: "0" - - paragraph [ref=e1052]: models - - button "AlibabaCloud Alibaba Cloud (DashScope) API Key Not configured 0 models" [ref=e1053] [cursor=pointer]: - - generic [ref=e1054]: - - img "AlibabaCloud" [ref=e1057] - - generic [ref=e1060]: - - generic [ref=e1061]: - - paragraph [ref=e1062]: Alibaba Cloud (DashScope) - - generic "API Key" [ref=e1063] - - paragraph [ref=e1064]: Not configured - - generic [ref=e1065]: - - paragraph [ref=e1066]: "0" - - paragraph [ref=e1067]: models - - button "longcat LongCat AI API Key Not configured 0 models" [ref=e1068] [cursor=pointer]: - - generic [ref=e1069]: - - img "longcat" [ref=e1072] - - generic [ref=e1073]: - - generic [ref=e1074]: - - paragraph [ref=e1075]: LongCat AI - - generic "API Key" [ref=e1076] - - paragraph [ref=e1077]: Not configured - - generic [ref=e1078]: - - paragraph [ref=e1079]: "0" - - paragraph [ref=e1080]: models - - button "Pollinations AI API Key Not configured 0 models" [ref=e1081] [cursor=pointer]: - - generic [ref=e1082]: - - img [ref=e1085]: - - img [ref=e1086] - - generic [ref=e1091]: - - generic [ref=e1092]: - - paragraph [ref=e1093]: Pollinations AI - - generic "API Key" [ref=e1094] - - paragraph [ref=e1095]: Not configured - - generic [ref=e1096]: - - paragraph [ref=e1097]: "0" - - paragraph [ref=e1098]: models - - button "puter Puter AI API Key Not configured 0 models" [ref=e1099] [cursor=pointer]: - - generic [ref=e1100]: - - img "puter" [ref=e1103] - - generic [ref=e1104]: - - generic [ref=e1105]: - - paragraph [ref=e1106]: Puter AI - - generic "API Key" [ref=e1107] - - paragraph [ref=e1108]: Not configured - - generic [ref=e1109]: - - paragraph [ref=e1110]: "0" - - paragraph [ref=e1111]: models - - button "Cloudflare Cloudflare Workers AI API Key Not configured 0 models" [ref=e1112] [cursor=pointer]: - - generic [ref=e1113]: - - img "Cloudflare" [ref=e1116] - - generic [ref=e1119]: - - generic [ref=e1120]: - - paragraph [ref=e1121]: Cloudflare Workers AI - - generic "API Key" [ref=e1122] - - paragraph [ref=e1123]: Not configured - - generic [ref=e1124]: - - paragraph [ref=e1125]: "0" - - paragraph [ref=e1126]: models - - button "scaleway Scaleway AI API Key Not configured 0 models" [ref=e1127] [cursor=pointer]: - - generic [ref=e1128]: - - img "scaleway" [ref=e1131] - - generic [ref=e1132]: - - generic [ref=e1133]: - - paragraph [ref=e1134]: Scaleway AI - - generic "API Key" [ref=e1135] - - paragraph [ref=e1136]: Not configured - - generic [ref=e1137]: - - paragraph [ref=e1138]: "0" - - paragraph [ref=e1139]: models - - button "aimlapi AI/ML API API Key Not configured 0 models" [ref=e1140] [cursor=pointer]: - - generic [ref=e1141]: - - img "aimlapi" [ref=e1144] - - generic [ref=e1145]: - - generic [ref=e1146]: - - paragraph [ref=e1147]: AI/ML API - - generic "API Key" [ref=e1148] - - paragraph [ref=e1149]: Not configured - - generic [ref=e1150]: - - paragraph [ref=e1151]: "0" - - paragraph [ref=e1152]: models - - button "Novita AI API Key Not configured 0 models" [ref=e1153] [cursor=pointer]: - - generic [ref=e1154]: - - img [ref=e1157] - - generic [ref=e1160]: - - generic [ref=e1161]: - - paragraph [ref=e1162]: Novita AI - - generic "API Key" [ref=e1163] - - paragraph [ref=e1164]: Not configured - - generic [ref=e1165]: - - paragraph [ref=e1166]: "0" - - paragraph [ref=e1167]: models - - button "PiAPI API Key Not configured 0 models" [ref=e1168] [cursor=pointer]: - - generic [ref=e1169]: - - img [ref=e1172] - - generic [ref=e1175]: - - generic [ref=e1176]: - - paragraph [ref=e1177]: PiAPI - - generic "API Key" [ref=e1178] - - paragraph [ref=e1179]: Not configured - - generic [ref=e1180]: - - paragraph [ref=e1181]: "0" - - paragraph [ref=e1182]: models - - button "GoAPI API Key Not configured 0 models" [ref=e1183] [cursor=pointer]: - - generic [ref=e1184]: - - img [ref=e1187] - - generic [ref=e1190]: - - generic [ref=e1191]: - - paragraph [ref=e1192]: GoAPI - - generic "API Key" [ref=e1193] - - paragraph [ref=e1194]: Not configured - - generic [ref=e1195]: - - paragraph [ref=e1196]: "0" - - paragraph [ref=e1197]: models - - button "LaoZhang AI API Key Not configured 0 models" [ref=e1198] [cursor=pointer]: - - generic [ref=e1199]: - - img [ref=e1202] - - generic [ref=e1205]: - - generic [ref=e1206]: - - paragraph [ref=e1207]: LaoZhang AI - - generic "API Key" [ref=e1208] - - paragraph [ref=e1209]: Not configured - - generic [ref=e1210]: - - paragraph [ref=e1211]: "0" - - paragraph [ref=e1212]: models - - button "CLIProxyAPI API Key Not configured 0 models" [ref=e1213] [cursor=pointer]: - - generic [ref=e1214]: - - img [ref=e1217] - - generic [ref=e1220]: - - generic [ref=e1221]: - - paragraph [ref=e1222]: CLIProxyAPI - - generic "API Key" [ref=e1223] - - paragraph [ref=e1224]: Not configured - - generic [ref=e1225]: - - paragraph [ref=e1226]: "0" - - paragraph [ref=e1227]: models - - alert [ref=e158] diff --git a/.playwright-mcp/page-2026-04-04T08-04-46-313Z.yml b/.playwright-mcp/page-2026-04-04T08-04-46-313Z.yml deleted file mode 100644 index c83adc1401..0000000000 --- a/.playwright-mcp/page-2026-04-04T08-04-46-313Z.yml +++ /dev/null @@ -1,132 +0,0 @@ -- generic [active] [ref=e1]: - - link "Skip to content" [ref=e2] [cursor=pointer]: - - /url: "#main-content" - - generic [ref=e3]: - - complementary [ref=e5]: - - link "Skip to content" [ref=e6] [cursor=pointer]: - - /url: "#main-content" - - link "OmniRoute v3.5.0" [ref=e12] [cursor=pointer]: - - /url: /dashboard - - img [ref=e14] - - generic [ref=e26]: - - heading "OmniRoute" [level=1] [ref=e27] - - generic [ref=e28]: v3.5.0 - - navigation "Main navigation" [ref=e29]: - - generic [ref=e30]: - - link "home Home" [ref=e31] [cursor=pointer]: - - /url: /dashboard - - generic [ref=e32]: home - - generic [ref=e33]: Home - - link "api Endpoints" [ref=e34] [cursor=pointer]: - - /url: /dashboard/endpoint - - generic [ref=e35]: api - - generic [ref=e36]: Endpoints - - link "vpn_key API Manager" [ref=e37] [cursor=pointer]: - - /url: /dashboard/api-manager - - generic [ref=e38]: vpn_key - - generic [ref=e39]: API Manager - - link "dns Providers" [ref=e40] [cursor=pointer]: - - /url: /dashboard/providers - - generic [ref=e41]: dns - - generic [ref=e42]: Providers - - link "layers Combos" [ref=e43] [cursor=pointer]: - - /url: /dashboard/combos - - generic [ref=e44]: layers - - generic [ref=e45]: Combos - - link "auto_awesome Auto Combo" [ref=e46] [cursor=pointer]: - - /url: /dashboard/auto-combo - - generic [ref=e47]: auto_awesome - - generic [ref=e48]: Auto Combo - - link "account_balance_wallet Costs" [ref=e49] [cursor=pointer]: - - /url: /dashboard/costs - - generic [ref=e50]: account_balance_wallet - - generic [ref=e51]: Costs - - link "analytics Analytics" [ref=e52] [cursor=pointer]: - - /url: /dashboard/analytics - - generic [ref=e53]: analytics - - generic [ref=e54]: Analytics - - link "tune Limits & Quotas" [ref=e55] [cursor=pointer]: - - /url: /dashboard/limits - - generic [ref=e56]: tune - - generic [ref=e57]: Limits & Quotas - - link "cached Cache" [ref=e58] [cursor=pointer]: - - /url: /dashboard/cache - - generic [ref=e59]: cached - - generic [ref=e60]: Cache - - link "perm_media Media" [ref=e61] [cursor=pointer]: - - /url: /dashboard/cache/media - - generic [ref=e62]: perm_media - - generic [ref=e63]: Media - - generic [ref=e64]: - - paragraph [ref=e65]: CLI - - link "terminal Tools" [ref=e66] [cursor=pointer]: - - /url: /dashboard/cli-tools - - generic [ref=e67]: terminal - - generic [ref=e68]: Tools - - link "smart_toy Agents" [ref=e69] [cursor=pointer]: - - /url: /dashboard/agents - - generic [ref=e70]: smart_toy - - generic [ref=e71]: Agents - - link "psychology Memory" [ref=e72] [cursor=pointer]: - - /url: /dashboard/memory - - generic [ref=e73]: psychology - - generic [ref=e74]: Memory - - link "auto_fix_high Skills" [ref=e75] [cursor=pointer]: - - /url: /dashboard/skills - - generic [ref=e76]: auto_fix_high - - generic [ref=e77]: Skills - - generic [ref=e78]: - - paragraph [ref=e79]: System - - link "health_and_safety Health" [ref=e80] [cursor=pointer]: - - /url: /dashboard/health - - generic [ref=e81]: health_and_safety - - generic [ref=e82]: Health - - link "description Logs" [ref=e83] [cursor=pointer]: - - /url: /dashboard/logs - - generic [ref=e84]: description - - generic [ref=e85]: Logs - - link "history Audit Log" [ref=e86] [cursor=pointer]: - - /url: /dashboard/audit - - generic [ref=e87]: history - - generic [ref=e88]: Audit Log - - link "settings Settings" [ref=e89] [cursor=pointer]: - - /url: /dashboard/settings - - generic [ref=e90]: settings - - generic [ref=e91]: Settings - - generic [ref=e92]: - - paragraph [ref=e93]: Help - - link "menu_book Docs" [ref=e94] [cursor=pointer]: - - /url: /docs - - generic [ref=e95]: menu_book - - generic [ref=e96]: Docs - - link "bug_report Issues" [ref=e97] [cursor=pointer]: - - /url: https://github.com/diegosouzapw/OmniRoute/issues - - generic [ref=e98]: bug_report - - generic [ref=e99]: Issues - - generic [ref=e100]: - - button "restart_alt Restart" [ref=e101]: - - generic: restart_alt - - text: Restart - - button "power_settings_new Shutdown" [ref=e102]: - - generic: power_settings_new - - text: Shutdown - - main [ref=e103]: - - generic [ref=e104]: - - button "menu" [ref=e106]: - - generic: menu - - generic [ref=e107]: - - button "πŸ‡ΊπŸ‡Έ EN expand_more" [ref=e109]: - - generic [ref=e110]: πŸ‡ΊπŸ‡Έ - - generic [ref=e111]: EN - - generic: expand_more - - button "Switch to dark mode" [ref=e112]: - - generic: dark_mode - - button "logout" [ref=e113]: - - generic: logout - - navigation "Breadcrumb" [ref=e116]: - - link "Dashboard" [ref=e118] [cursor=pointer]: - - /url: /dashboard - - generic [ref=e119]: - - generic [ref=e120]: β€Ί - - generic [ref=e121]: Providers - - alert [ref=e135] diff --git a/audit_results.json b/audit_results.json deleted file mode 100644 index 7efd50c459..0000000000 --- a/audit_results.json +++ /dev/null @@ -1,203 +0,0 @@ -{ - "auditReportVersion": 2, - "vulnerabilities": { - "next": { - "name": "next", - "severity": "high", - "isDirect": true, - "via": [ - { - "source": 1112592, - "name": "next", - "dependency": "next", - "title": "Next.js self-hosted applications vulnerable to DoS via Image Optimizer remotePatterns configuration", - "url": "https://github.com/advisories/GHSA-9g9p-9gw9-jx7f", - "severity": "moderate", - "cwe": ["CWE-400", "CWE-770"], - "cvss": { - "score": 5.9, - "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H" - }, - "range": ">=15.6.0-canary.0 <16.1.5" - }, - { - "source": 1112646, - "name": "next", - "dependency": "next", - "title": "Next.js HTTP request deserialization can lead to DoS when using insecure React Server Components", - "url": "https://github.com/advisories/GHSA-h25m-26qc-wcjf", - "severity": "high", - "cwe": ["CWE-400", "CWE-502"], - "cvss": { - "score": 7.5, - "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H" - }, - "range": ">=16.0.0-beta.0 <16.0.11" - }, - { - "source": 1112990, - "name": "next", - "dependency": "next", - "title": "Next.js has Unbounded Memory Consumption via PPR Resume Endpoint ", - "url": "https://github.com/advisories/GHSA-5f7q-jpqc-wp7h", - "severity": "moderate", - "cwe": ["CWE-400", "CWE-409", "CWE-770"], - "cvss": { - "score": 5.9, - "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H" - }, - "range": ">=16.0.0-beta.0 <16.1.5" - }, - { - "source": 1114898, - "name": "next", - "dependency": "next", - "title": "Next.js: HTTP request smuggling in rewrites", - "url": "https://github.com/advisories/GHSA-ggv3-7p47-pfv8", - "severity": "moderate", - "cwe": ["CWE-444"], - "cvss": { - "score": 0, - "vectorString": null - }, - "range": ">=16.0.0-beta.0 <16.1.7" - }, - { - "source": 1114941, - "name": "next", - "dependency": "next", - "title": "Next.js: Unbounded next/image disk cache growth can exhaust storage", - "url": "https://github.com/advisories/GHSA-3x4c-7xq6-9pq8", - "severity": "moderate", - "cwe": ["CWE-400"], - "cvss": { - "score": 0, - "vectorString": null - }, - "range": ">=16.0.0-beta.0 <16.1.7" - }, - { - "source": 1114942, - "name": "next", - "dependency": "next", - "title": "Next.js: Unbounded postponed resume buffering can lead to DoS", - "url": "https://github.com/advisories/GHSA-h27x-g6w4-24gq", - "severity": "moderate", - "cwe": ["CWE-770"], - "cvss": { - "score": 0, - "vectorString": null - }, - "range": ">=16.0.1 <16.1.7" - }, - { - "source": 1114943, - "name": "next", - "dependency": "next", - "title": "Next.js: null origin can bypass Server Actions CSRF checks", - "url": "https://github.com/advisories/GHSA-mq59-m269-xvcx", - "severity": "moderate", - "cwe": ["CWE-352"], - "cvss": { - "score": 0, - "vectorString": null - }, - "range": ">=16.0.1 <16.1.7" - }, - { - "source": 1115360, - "name": "next", - "dependency": "next", - "title": "Next.js: null origin can bypass dev HMR websocket CSRF checks", - "url": "https://github.com/advisories/GHSA-jcc7-9wpm-mj36", - "severity": "low", - "cwe": ["CWE-1385"], - "cvss": { - "score": 0, - "vectorString": null - }, - "range": ">=16.0.1 <16.1.7" - } - ], - "effects": [], - "range": "15.6.0-canary.0 - 16.1.6", - "nodes": ["node_modules/next"], - "fixAvailable": { - "name": "next", - "version": "16.2.2", - "isSemVerMajor": false - } - }, - "vite": { - "name": "vite", - "severity": "high", - "isDirect": false, - "via": [ - { - "source": 1116007, - "name": "vite", - "dependency": "vite", - "title": "Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling", - "url": "https://github.com/advisories/GHSA-4w7w-66w2-5vf9", - "severity": "moderate", - "cwe": ["CWE-22", "CWE-200"], - "cvss": { - "score": 0, - "vectorString": null - }, - "range": ">=8.0.0 <=8.0.4" - }, - { - "source": 1116009, - "name": "vite", - "dependency": "vite", - "title": "Vite: `server.fs.deny` bypassed with queries", - "url": "https://github.com/advisories/GHSA-v2wj-q39q-566r", - "severity": "high", - "cwe": ["CWE-180", "CWE-284"], - "cvss": { - "score": 0, - "vectorString": null - }, - "range": ">=8.0.0 <=8.0.4" - }, - { - "source": 1116012, - "name": "vite", - "dependency": "vite", - "title": "Vite Vulnerable to Arbitrary File Read via Vite Dev Server WebSocket", - "url": "https://github.com/advisories/GHSA-p9ff-h696-f583", - "severity": "high", - "cwe": ["CWE-200", "CWE-306"], - "cvss": { - "score": 0, - "vectorString": null - }, - "range": ">=8.0.0 <=8.0.4" - } - ], - "effects": [], - "range": "8.0.0 - 8.0.4", - "nodes": ["node_modules/vite"], - "fixAvailable": true - } - }, - "metadata": { - "vulnerabilities": { - "info": 0, - "low": 0, - "moderate": 0, - "high": 2, - "critical": 0, - "total": 2 - }, - "dependencies": { - "prod": 407, - "dev": 485, - "optional": 154, - "peer": 480, - "peerOptional": 0, - "total": 1455 - } - } -} diff --git a/dbsetup.js b/dbsetup.js deleted file mode 100755 index deb6abef78..0000000000 --- a/dbsetup.js +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env node - -import { spawn } from 'node:child_process' - -const env = { ...process.env } - -await exec('npx next build --experimental-build-mode generate') - -// launch application -await exec(process.argv.slice(2).join(' ')) - -function exec(command) { - const child = spawn(command, { shell: true, stdio: 'inherit', env }) - return new Promise((resolve, reject) => { - child.on('exit', code => { - if (code === 0) { - resolve() - } else { - reject(new Error(`${command} failed rc=${code}`)) - } - }) - }) -} diff --git a/debug.log b/debug.log deleted file mode 100644 index fbf94da8ed..0000000000 --- a/debug.log +++ /dev/null @@ -1,1775 +0,0 @@ -TAP version 13 -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [CREDENTIALS] No external credentials file found, using defaults. -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [SECURITY] API_KEY_SECRET is not set. API key CRC validation is disabled. -# [DB] Added api_keys.allowed_connections column -# [DB] Added api_keys.auto_resolve column -# [DB] Added api_keys.is_active column -# [DB] Added api_keys.access_schedule column -# [DB] Added api_keys.max_requests_per_day column -# [DB] Added api_keys.max_requests_per_minute column -# [DB] Added api_keys.max_sessions column -# [23:37:04.405] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:04.406] DEBUG: [sse] API Key: sk-m...d970 -# module: "sse" -# tag: "AUTH" -# [23:37:04.415] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# πŸ›‘οΈ [RATE-LIMIT] Loaded 0 explicit + 1 auto-enabled + 0 custom rpm/tpm protection(s) -# [23:37:04.419] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:04.419] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:04.420] INFO: [sse] Using openai account: d92ece8b... -# module: "sse" -# tag: "AUTH" -# [23:37:04.436] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:04.443] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [20:37] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=d92ece8b... -# [23:37:04.511] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline handles OpenAI passthrough with valid API key auth -ok 1 - chat pipeline handles OpenAI passthrough with valid API key auth - --- - duration_ms: 240.858479 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [23:37:04.649] INFO: [sse] πŸ“₯ POST /v1/chat/completions | claude/claude-3-5-sonnet-20241022 | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | claude/claude-3-5-sonnet-20241022 | 1 msgs" -# [23:37:04.650] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [20:37] πŸ“Š [USAGE] CLAUDE | in=10 | out=4 | account=c5a7d3b2... -# [23:37:04.660] INFO: [sse] Provider: claude, Model: claude-3-5-sonnet-20241022 -# module: "sse" -# tag: "ROUTING" -# [23:37:04.661] DEBUG: [sse] claude | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:04.661] DEBUG: [sse] claude | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:04.661] INFO: [sse] Using claude account: c5a7d3b2... -# module: "sse" -# tag: "AUTH" -# [23:37:04.663] DEBUG: [sse] openai β†’ claude | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:04.666] DEBUG: [sse] CLAUDE | claude-3-5-sonnet-20241022 | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:04.672] DEBUG: [sse] Stored response for claude-3-5-sonnet-20241022 (14 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline translates OpenAI requests to Claude and returns OpenAI-shaped responses -ok 2 - chat pipeline translates OpenAI requests to Claude and returns OpenAI-shaped responses - --- - duration_ms: 153.337563 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [23:37:04.800] INFO: [sse] πŸ“₯ POST /v1/chat/completions | gemini/gemini-2.5-flash | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | gemini/gemini-2.5-flash | 1 msgs" -# [23:37:04.800] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [20:37] πŸ“Š [USAGE] GEMINI | in=5 | out=7 | account=51322177... -# [23:37:04.803] INFO: [sse] Provider: gemini, Model: gemini-2.5-flash -# module: "sse" -# tag: "ROUTING" -# [23:37:04.804] DEBUG: [sse] gemini | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:04.804] DEBUG: [sse] gemini | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:04.804] INFO: [sse] Using gemini account: 51322177... -# module: "sse" -# tag: "AUTH" -# [23:37:04.806] DEBUG: [sse] openai β†’ gemini | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:04.809] DEBUG: [sse] GEMINI | gemini-2.5-flash | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:04.814] DEBUG: [sse] Stored response for gemini-2.5-flash (12 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline translates OpenAI requests to Gemini and returns OpenAI-shaped responses -ok 3 - chat pipeline translates OpenAI requests to Gemini and returns OpenAI-shaped responses - --- - duration_ms: 141.730313 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [23:37:04.937] INFO: [sse] πŸ“₯ POST /v1/messages | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/messages | openai/gpt-4o-mini | 1 msgs" -# [23:37:04.937] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [20:37] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=2c7bd399... -# [23:37:04.939] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:04.940] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:04.940] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:04.941] INFO: [sse] Using openai account: 2c7bd399... -# module: "sse" -# tag: "AUTH" -# [23:37:04.942] DEBUG: [sse] claude β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:04.944] DEBUG: [sse] OPENAI | gpt-4o-mini | 2 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:04.947] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline translates Claude-format requests into OpenAI upstream and back to Claude -ok 4 - chat pipeline translates Claude-format requests into OpenAI upstream and back to Claude - --- - duration_ms: 133.00343 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [23:37:05.072] INFO: [sse] πŸ“₯ POST /v1/chat/completions | claude/claude-sonnet-4-6 | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | claude/claude-sonnet-4-6 | 1 msgs" -# [23:37:05.072] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [20:37:05] πŸ“Š [USAGE] CLAUDE | in=0 | out=3 | account=5cfec526... -# [20:37:05] 🌊 [STREAM] CLAUDE | claude-sonnet-4-6 | 25ms | complete -# [23:37:05.074] INFO: [sse] Provider: claude, Model: claude-sonnet-4-6 -# module: "sse" -# tag: "ROUTING" -# [23:37:05.076] DEBUG: [sse] claude | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:05.076] DEBUG: [sse] claude | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:05.076] INFO: [sse] Using claude account: 5cfec526... -# module: "sse" -# tag: "AUTH" -# [23:37:05.077] DEBUG: [sse] openai β†’ claude | stream=true -# module: "sse" -# tag: "FORMAT" -# [23:37:05.078] DEBUG: [sse] CLAUDE | claude-sonnet-4-6 | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:05.080] DEBUG: [sse] Translation mode: claude β†’ openai -# module: "sse" -# tag: "STREAM" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline converts Claude SSE streams into OpenAI SSE output -ok 5 - chat pipeline converts Claude SSE streams into OpenAI SSE output - --- - duration_ms: 153.585214 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [DB] Added api_keys.allowed_connections column -# [DB] Added api_keys.auto_resolve column -# [DB] Added api_keys.is_active column -# [DB] Added api_keys.access_schedule column -# [DB] Added api_keys.max_requests_per_day column -# [DB] Added api_keys.max_requests_per_minute column -# [DB] Added api_keys.max_sessions column -# [23:37:05.229] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:05.230] DEBUG: [sse] API Key: does...xist -# module: "sse" -# tag: "AUTH" -# [23:37:05.239] WARN: [sse] API key not found or invalid (must be created in API Manager) -# module: "sse" -# tag: "AUTH" -# [23:37:05.240] WARN: [sse] Invalid JSON body -# module: "sse" -# tag: "CHAT" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline rejects invalid API keys and malformed JSON bodies -ok 6 - chat pipeline rejects invalid API keys and malformed JSON bodies - --- - duration_ms: 137.638739 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [23:37:05.338] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:05.338] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:37:05.338] WARN: [sse] Missing API key while REQUIRE_API_KEY=true -# module: "sse" -# tag: "AUTH" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline rejects requests without a bearer key when strict API key mode is enabled -ok 7 - chat pipeline rejects requests without a bearer key when strict API key mode is enabled - --- - duration_ms: 126.083827 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [23:37:05.464] INFO: [sse] πŸ“₯ POST /v1/chat/completions | undefined | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | undefined | 1 msgs" -# [23:37:05.464] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:37:05.464] WARN: [sse] Missing model -# module: "sse" -# tag: "CHAT" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline returns 400 when the model field is omitted -ok 8 - chat pipeline returns 400 when the model field is omitted - --- - duration_ms: 121.287276 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [23:37:05.622] DEBUG: [sse] Accept: text/event-stream header β†’ overriding stream=true (body had no stream field) -# module: "sse" -# tag: "STREAM" -# [23:37:05.622] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:05.623] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [20:37:05] πŸ“Š [USAGE] OPENAI | in=2062 | out=6 | account=2cb832e8... (estimated) -# [20:37:05] 🌊 [STREAM] OPENAI | gpt-4o-mini | 8ms | complete -# [23:37:05.626] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:05.628] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:05.628] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:05.628] INFO: [sse] Using openai account: 2cb832e8... -# module: "sse" -# tag: "AUTH" -# [23:37:05.630] DEBUG: [sse] openai β†’ openai | stream=true -# module: "sse" -# tag: "FORMAT" -# [23:37:05.631] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:05.632] DEBUG: [sse] Standard passthrough mode -# module: "sse" -# tag: "STREAM" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline treats Accept text/event-stream as streaming mode and returns a session header -ok 9 - chat pipeline treats Accept text/event-stream as streaming mode and returns a session header - --- - duration_ms: 150.696127 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [20:37] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=ae22a379... -# [23:37:05.767] INFO: [sse] πŸ“₯ POST /v1/chat/completions | local-router | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | local-router | 1 msgs" -# [23:37:05.767] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:37:05.768] INFO: [sse] Combo "local-router" [priority] with 1 models -# module: "sse" -# tag: "CHAT" -# [23:37:05.770] INFO: [sse] priority with nested resolution: 1 total models -# module: "sse" -# tag: "COMBO" -# [23:37:05.772] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:05.772] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:05.772] INFO: [sse] Trying model 1/1: openai/gpt-4o-mini -# module: "sse" -# tag: "COMBO" -# [23:37:05.773] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:05.774] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:05.774] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:05.774] INFO: [sse] Using openai account: ae22a379... -# module: "sse" -# tag: "AUTH" -# [23:37:05.776] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:05.776] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:05.780] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [23:37:05.783] INFO: [sse] Model openai/gpt-4o-mini succeeded (12ms, 0 fallbacks) -# module: "sse" -# tag: "COMBO" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline supports local mode without Authorization on explicit combos -ok 10 - chat pipeline supports local mode without Authorization on explicit combos - --- - duration_ms: 144.671066 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [DB] Added api_keys.allowed_connections column -# [DB] Added api_keys.auto_resolve column -# [DB] Added api_keys.is_active column -# [DB] Added api_keys.access_schedule column -# [DB] Added api_keys.max_requests_per_day column -# [DB] Added api_keys.max_requests_per_minute column -# [DB] Added api_keys.max_sessions column -# [23:37:05.916] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:05.916] DEBUG: [sse] API Key: sk-m...63cc -# module: "sse" -# tag: "AUTH" -# [20:37] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=015388a8... -# [23:37:05.920] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:05.921] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:05.921] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:05.921] INFO: [sse] Using openai account: 015388a8... -# module: "sse" -# tag: "AUTH" -# [23:37:05.922] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:05.923] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:05.929] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline honors noLog by redacting persisted call log payloads -ok 11 - chat pipeline honors noLog by redacting persisted call log payloads - --- - duration_ms: 175.46898 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [23:37:06.057] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:06.057] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:37:06.097] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:06.098] DEBUG: [sse] openai | total connections: 0, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:06.098] DEBUG: [sse] openai | all connections (incl inactive): 0 -# module: "sse" -# tag: "AUTH" -# [23:37:06.098] WARN: [sse] No credentials for openai -# module: "sse" -# tag: "AUTH" -# [23:37:06.098] ERROR: [sse] No credentials for provider: openai -# module: "sse" -# tag: "AUTH" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline returns current no-credentials contract when no provider connection exists -ok 12 - chat pipeline returns current no-credentials contract when no provider connection exists - --- - duration_ms: 139.59565 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [23:37:06.226] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:06.226] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:37:06.229] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:06.229] WARN: [sse] openai/gpt-4o-mini is in cooldown, rejecting request -# module: "sse" -# tag: "AVAILABILITY" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline returns 503 when the requested model is temporarily unavailable -ok 13 - chat pipeline returns 503 when the requested model is temporarily unavailable - --- - duration_ms: 130.400878 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [23:37:06.404] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:06.404] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [ERROR] [500]: provider exploded -# ❌ openai [500]: [500]: provider exploded -# [23:37:06.407] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:06.409] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:06.409] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:06.409] INFO: [sse] Using openai account: 5fafd15d... -# module: "sse" -# tag: "AUTH" -# [23:37:06.412] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:06.415] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:06.450] WARN: [sse] Account 5fafd15d... unavailable (500), trying fallback -# module: "sse" -# tag: "AUTH" -# [23:37:06.451] DEBUG: [sse] openai | total connections: 1, excludeId: 5fafd15d-d14e-49d1-8f7a-4c98ffc15b88 -# module: "sse" -# tag: "AUTH" -# [23:37:06.451] DEBUG: [sse] openai | available: 0/1 -# module: "sse" -# tag: "AUTH" -# [23:37:06.451] DEBUG: [sse] β†’ 5fafd15d | excluded rateLimited until 2026-04-06T23:37:09.447Z -# module: "sse" -# tag: "AUTH" -# [23:37:06.451] WARN: [sse] openai | all 1 active accounts rate limited (reset after 3s) | lastErrorCode=500.0, lastError=[500]: provider exploded -# module: "sse" -# tag: "AUTH" -# [23:37:06.451] WARN: [sse] [openai/gpt-4o-mini] [500]: provider exploded (reset after 3s) -# module: "sse" -# tag: "CHAT" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline surfaces upstream 500 responses as structured errors -ok 14 - chat pipeline surfaces upstream 500 responses as structured errors - --- - duration_ms: 221.19967 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [23:37:06.624] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:06.624] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:37:06.628] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:06.629] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:06.629] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:06.630] INFO: [sse] Using openai account: 520c2927... -# module: "sse" -# tag: "AUTH" -# [23:37:06.632] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:06.633] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:06.635] DEBUG: [sse] 429 intra-retry 1/2 on https://api.openai.com/v1/chat/completions β€” waiting 0ms -# module: "sse" -# tag: "RETRY" -# [23:37:06.638] DEBUG: [sse] 429 intra-retry 2/2 on https://api.openai.com/v1/chat/completions β€” waiting 0ms -# module: "sse" -# tag: "RETRY" -# [provider] Node 520c2927-8996-4455-aab8-9bd9b2849476 rate limited (429) - Next available at 2026-04-06T23:37:36.643Z -# [ERROR] [429]: Rate limit exceeded. Your quota will reset after 30s. -# [23:37:06.649] INFO: [sse] 520c2927 terminal status=credits_exhausted, skipping cooldown overwrite -# module: "sse" -# tag: "AUTH" -# [23:37:06.650] WARN: [sse] Account 520c2927... unavailable (429), trying fallback -# module: "sse" -# tag: "AUTH" -# [23:37:06.650] DEBUG: [sse] openai | total connections: 1, excludeId: 520c2927-8996-4455-aab8-9bd9b2849476 -# module: "sse" -# tag: "AUTH" -# [23:37:06.651] DEBUG: [sse] openai | available: 0/1 -# module: "sse" -# tag: "AUTH" -# [23:37:06.651] DEBUG: [sse] β†’ 520c2927 | excluded rateLimited until 2026-04-06T23:37:36.643Z -# module: "sse" -# tag: "AUTH" -# [23:37:06.651] WARN: [sse] openai | all 1 active accounts rate limited (reset after 30s) | lastErrorCode=429.0, lastError=Rate limit exceeded. Your quota will reset after 3 -# module: "sse" -# tag: "AUTH" -# [23:37:06.651] INFO: [sse] openai/gpt-4o-mini marked unavailable β€” all accounts exhausted (HTTP 429) -# module: "sse" -# tag: "AVAILABILITY" -# [23:37:06.651] WARN: [sse] [openai/gpt-4o-mini] [429]: Rate limit exceeded. Your quota will reset after 30s. (reset after 30s) -# module: "sse" -# tag: "CHAT" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline returns 429 with Retry-After when the upstream rate-limits the only account -ok 15 - chat pipeline returns 429 with Retry-After when the upstream rate-limits the only account - --- - duration_ms: 222.318358 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [23:37:06.835] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:06.836] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [ERROR] [504]: upstream timed out -# ❌ openai [504]: [504]: upstream timed out -# [23:37:06.838] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:06.839] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:06.839] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:06.839] INFO: [sse] Using openai account: f2cfd6ee... -# module: "sse" -# tag: "AUTH" -# [23:37:06.840] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:06.841] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:06.842] WARN: [sse] Fetch timeout after 600000ms on https://api.openai.com/v1/chat/completions -# module: "sse" -# tag: "TIMEOUT" -# [23:37:06.845] WARN: [sse] Account f2cfd6ee... unavailable (504), trying fallback -# module: "sse" -# tag: "AUTH" -# [23:37:06.845] DEBUG: [sse] openai | total connections: 1, excludeId: f2cfd6ee-5788-445d-95ab-a42c4755c98c -# module: "sse" -# tag: "AUTH" -# [23:37:06.845] DEBUG: [sse] openai | available: 0/1 -# module: "sse" -# tag: "AUTH" -# [23:37:06.845] DEBUG: [sse] β†’ f2cfd6ee | excluded rateLimited until 2026-04-06T23:37:09.844Z -# module: "sse" -# tag: "AUTH" -# [23:37:06.845] WARN: [sse] openai | all 1 active accounts rate limited (reset after 3s) | lastErrorCode=504.0, lastError=[504]: upstream timed out -# module: "sse" -# tag: "AUTH" -# [23:37:06.845] WARN: [sse] [openai/gpt-4o-mini] [504]: upstream timed out (reset after 3s) -# module: "sse" -# tag: "CHAT" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline maps upstream timeouts to 504 responses -ok 16 - chat pipeline maps upstream timeouts to 504 responses - --- - duration_ms: 169.592617 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [DB] Added api_keys.allowed_connections column -# [DB] Added api_keys.auto_resolve column -# [DB] Added api_keys.is_active column -# [DB] Added api_keys.access_schedule column -# [DB] Added api_keys.max_requests_per_day column -# [DB] Added api_keys.max_requests_per_minute column -# [DB] Added api_keys.max_sessions column -# [23:37:06.978] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:06.978] DEBUG: [sse] API Key: sk-m...b45a -# module: "sse" -# tag: "AUTH" -# [20:37] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=10055017... -# [23:37:06.980] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:06.981] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:06.981] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:06.982] INFO: [sse] Using openai account: 10055017... -# module: "sse" -# tag: "AUTH" -# [23:37:06.983] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:06.984] DEBUG: [sse] Injected 1 memories for key=b87f32c4-2259-496c-bea6-e3a84ee2ceeb -# module: "sse" -# tag: "MEMORY" -# [23:37:06.985] DEBUG: [sse] OPENAI | gpt-4o-mini | 2 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:06.991] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline injects memory context before sending the upstream request -ok 17 - chat pipeline injects memory context before sending the upstream request - --- - duration_ms: 146.457203 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [DB] Added api_keys.allowed_connections column -# [DB] Added api_keys.auto_resolve column -# [DB] Added api_keys.is_active column -# [DB] Added api_keys.access_schedule column -# [DB] Added api_keys.max_requests_per_day column -# [DB] Added api_keys.max_requests_per_minute column -# [DB] Added api_keys.max_sessions column -# [23:37:07.121] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:07.121] DEBUG: [sse] API Key: sk-m...e321 -# module: "sse" -# tag: "AUTH" -# [20:37] πŸ“Š [USAGE] OPENAI | in=6 | out=4 | account=d2c071f5... -# [23:37:07.123] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:07.124] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:07.124] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:07.124] INFO: [sse] Using openai account: d2c071f5... -# module: "sse" -# tag: "AUTH" -# [23:37:07.125] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:07.126] DEBUG: [sse] Injected 1 skills -# module: "sse" -# tag: "SKILLS" -# [23:37:07.128] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:07.136] DEBUG: [sse] Stored response for gpt-4o-mini (10 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline injects skills into tools and intercepts tool calls with skill output -ok 18 - chat pipeline injects skills into tools and intercepts tool calls with skill output - --- - duration_ms: 143.886786 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [23:37:07.253] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:07.253] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [ERROR] [500]: first account failed -# ❌ openai [500]: [500]: first account failed -# [20:37] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=f16327df... -# [23:37:07.255] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:07.255] DEBUG: [sse] openai | total connections: 2, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:07.255] DEBUG: [sse] openai | available: 2/2 -# module: "sse" -# tag: "AUTH" -# [23:37:07.256] INFO: [sse] Using openai account: dce45848... -# module: "sse" -# tag: "AUTH" -# [23:37:07.257] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:07.257] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:07.262] WARN: [sse] Account dce45848... unavailable (500), trying fallback -# module: "sse" -# tag: "AUTH" -# [23:37:07.263] DEBUG: [sse] openai | total connections: 2, excludeId: dce45848-4780-4192-afd1-e53ca9b89c71 -# module: "sse" -# tag: "AUTH" -# [23:37:07.263] DEBUG: [sse] openai | available: 1/2 -# module: "sse" -# tag: "AUTH" -# [23:37:07.263] DEBUG: [sse] β†’ dce45848 | excluded rateLimited until 2026-04-06T23:37:10.261Z -# module: "sse" -# tag: "AUTH" -# [23:37:07.263] INFO: [sse] Using openai account: f16327df... -# module: "sse" -# tag: "AUTH" -# [23:37:07.264] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:07.264] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:07.267] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline falls back to the next account after a provider failure -ok 19 - chat pipeline falls back to the next account after a provider failure - --- - duration_ms: 131.562397 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [ERROR] [503]: openai combo miss -# ❌ openai [503]: [503]: openai combo miss -# [23:37:07.383] INFO: [sse] πŸ“₯ POST /v1/chat/completions | combo-fallback | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | combo-fallback | 1 msgs" -# [23:37:07.383] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:37:07.383] INFO: [sse] Combo "combo-fallback" [priority] with 2 models -# module: "sse" -# tag: "CHAT" -# [23:37:07.384] INFO: [sse] priority with nested resolution: 2 total models -# module: "sse" -# tag: "COMBO" -# [23:37:07.385] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:07.385] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:07.385] INFO: [sse] Trying model 1/2: openai/gpt-4o-mini -# module: "sse" -# tag: "COMBO" -# [23:37:07.386] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:07.386] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:07.386] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:07.386] INFO: [sse] Using openai account: 4c323792... -# module: "sse" -# tag: "AUTH" -# [23:37:07.387] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:07.388] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:07.395] WARN: [sse] Account 4c323792... unavailable (503), trying fallback -# module: "sse" -# tag: "AUTH" -# [23:37:07.395] DEBUG: [sse] openai | total connections: 1, excludeId: 4c323792-707c-4d82-b957-1d5e8da61b5c -# module: "sse" -# tag: "AUTH" -# [23:37:07.395] DEBUG: [sse] openai | available: 0/1 -# module: "sse" -# tag: "AUTH" -# [23:37:07.395] DEBUG: [sse] β†’ 4c323792 | excluded rateLimited until 2026-04-06T23:37:10.394Z -# module: "sse" -# tag: "AUTH" -# [23:37:07.395] WARN: [sse] openai | all 1 active accounts rate limited (reset after 3s) | lastErrorCode=503.0, lastError=[503]: openai combo miss -# module: "sse" -# tag: "AUTH" -# [23:37:07.395] INFO: [sse] openai/gpt-4o-mini marked unavailable β€” all accounts exhausted (HTTP 503) -# module: "sse" -# tag: "AVAILABILITY" -# [23:37:07.395] WARN: [sse] [openai/gpt-4o-mini] [503]: openai combo miss (reset after 3s) -# module: "sse" -# tag: "CHAT" -# [23:37:07.396] WARN: [sse] Model openai/gpt-4o-mini failed, trying next -# module: "sse" -# tag: "COMBO" -# status: 503 -# [23:37:07.396] INFO: [sse] Waiting 3000ms before fallback to next model -# module: "sse" -# tag: "COMBO" -# [20:37] πŸ“Š [USAGE] CLAUDE | in=10 | out=4 | account=0c1621a2... -# [23:37:10.400] DEBUG: [sse] claude | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:10.400] DEBUG: [sse] claude | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:10.400] INFO: [sse] Trying model 2/2: claude/claude-3-5-sonnet-20241022 -# module: "sse" -# tag: "COMBO" -# [23:37:10.401] INFO: [sse] Provider: claude, Model: claude-3-5-sonnet-20241022 -# module: "sse" -# tag: "ROUTING" -# [23:37:10.402] DEBUG: [sse] claude | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:10.402] DEBUG: [sse] claude | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:10.402] INFO: [sse] Using claude account: 0c1621a2... -# module: "sse" -# tag: "AUTH" -# [23:37:10.404] DEBUG: [sse] openai β†’ claude | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:10.405] DEBUG: [sse] CLAUDE | claude-3-5-sonnet-20241022 | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:10.409] DEBUG: [sse] Stored response for claude-3-5-sonnet-20241022 (14 tokens) -# module: "sse" -# tag: "CACHE" -# [23:37:10.411] INFO: [sse] Model claude/claude-3-5-sonnet-20241022 succeeded (3027ms, 0 fallbacks) -# module: "sse" -# tag: "COMBO" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# Subtest: chat pipeline falls back across combo models when the first provider fails -ok 20 - chat pipeline falls back across combo models when the first provider fails - --- - duration_ms: 3215.387755 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [23:37:10.671] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:10.671] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:37:10.672] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:37:10.672] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:37:10.674] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:10.675] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:10.675] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:10.675] INFO: [sse] Using openai account: 32de68a2... -# module: "sse" -# tag: "AUTH" -# [23:37:10.677] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:10.678] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:37:10.679] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:37:10.680] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:37:10.680] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:37:10.680] INFO: [sse] Using openai account: 32de68a2... -# module: "sse" -# tag: "AUTH" -# [23:37:10.681] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:37:10.682] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [20:37] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=32de68a2... -# [20:37] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=32de68a2... -# [23:37:10.704] DEBUG: [sse] Joined in-flight request hash=f467c6e15f3cb6e2 -# module: "sse" -# tag: "DEDUP" -# [23:37:10.707] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [23:37:10.709] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-jTKNWy/storage.sqlite -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# Subtest: chat pipeline deduplicates concurrent identical non-stream requests -ok 21 - chat pipeline deduplicates concurrent identical non-stream requests - --- - duration_ms: 227.367687 - type: 'test' - ... -# ACTIVE HANDLES: 2 -# Handle 0: Socket -# Socket _peername: undefined -# Socket remoteAddress: undefined -# Handle 1: Socket -# Socket _peername: undefined -# Socket remoteAddress: undefined -# WAITING UNTIL EVERYTHING CLEARS... -1..21 -# tests 21 -# suites 0 -# pass 21 -# fail 0 -# cancelled 0 -# skipped 0 -# todo 0 -# duration_ms 36094.10465 diff --git a/debug2.log b/debug2.log deleted file mode 100644 index bac9284c45..0000000000 --- a/debug2.log +++ /dev/null @@ -1,339 +0,0 @@ -TAP version 13 -# Subtest: Chat Pipeline β€” handleSingleModelChat decomposition - # Subtest: should define resolveModelOrError helper - ok 1 - should define resolveModelOrError helper - --- - duration_ms: 2.870676 - type: 'test' - ... - # Subtest: should define checkPipelineGates helper - ok 2 - should define checkPipelineGates helper - --- - duration_ms: 0.539959 - type: 'test' - ... - # Subtest: should define executeChatWithBreaker helper - ok 3 - should define executeChatWithBreaker helper - --- - duration_ms: 0.540611 - type: 'test' - ... - # Subtest: should keep cost accounting in the core chat pipeline - ok 4 - should keep cost accounting in the core chat pipeline - --- - duration_ms: 0.583888 - type: 'test' - ... - # Subtest: handleSingleModelChat should use resolveModelOrError - ok 5 - handleSingleModelChat should use resolveModelOrError - --- - duration_ms: 0.395358 - type: 'test' - ... - # Subtest: handleSingleModelChat should use checkPipelineGates - ok 6 - handleSingleModelChat should use checkPipelineGates - --- - duration_ms: 0.725771 - type: 'test' - ... - # Subtest: handleSingleModelChat should use executeChatWithBreaker - ok 7 - handleSingleModelChat should use executeChatWithBreaker - --- - duration_ms: 0.384009 - type: 'test' - ... - # Subtest: chatCore should record cost for both non-streaming and streaming responses - ok 8 - chatCore should record cost for both non-streaming and streaming responses - --- - duration_ms: 0.717301 - type: 'test' - ... - 1..8 -ok 1 - Chat Pipeline β€” handleSingleModelChat decomposition - --- - duration_ms: 12.510313 - type: 'suite' - ... -# Subtest: Chat Pipeline β€” combo fallback support - # Subtest: should import handleComboChat - ok 1 - should import handleComboChat - --- - duration_ms: 0.683569 - type: 'test' - ... - # Subtest: should delegate to handleSingleModelChat for each combo model - ok 2 - should delegate to handleSingleModelChat for each combo model - --- - duration_ms: 0.903143 - type: 'test' - ... - # Subtest: should check model availability before attempting combo models - ok 3 - should check model availability before attempting combo models - --- - duration_ms: 0.37494 - type: 'test' - ... - 1..3 -ok 2 - Chat Pipeline β€” combo fallback support - --- - duration_ms: 2.526966 - type: 'suite' - ... -# Subtest: Chat Pipeline β€” circuit breaker integration - # Subtest: should import CircuitBreakerOpenError - ok 1 - should import CircuitBreakerOpenError - --- - duration_ms: 0.500942 - type: 'test' - ... - # Subtest: should handle CircuitBreakerOpenError with retry-after - ok 2 - should handle CircuitBreakerOpenError with retry-after - --- - duration_ms: 0.262275 - type: 'test' - ... - # Subtest: should reject requests when circuit is open - ok 3 - should reject requests when circuit is open - --- - duration_ms: 0.399071 - type: 'test' - ... - 1..3 -ok 3 - Chat Pipeline β€” circuit breaker integration - --- - duration_ms: 1.532005 - type: 'suite' - ... -# Subtest: DI Container β€” container.ts - # Subtest: should export a container singleton - ok 1 - should export a container singleton - --- - duration_ms: 293.16418 - type: 'test' - ... - # Subtest: should register and resolve a custom service - ok 2 - should register and resolve a custom service - --- - duration_ms: 9.047061 - type: 'test' - ... - # Subtest: should return cached singleton on repeated resolve - ok 3 - should return cached singleton on repeated resolve - --- - duration_ms: 2.700355 - type: 'test' - ... - # Subtest: should throw on resolving unregistered service - ok 4 - should throw on resolving unregistered service - --- - duration_ms: 3.280776 - type: 'test' - ... - # Subtest: should have default registrations - ok 5 - should have default registrations - --- - duration_ms: 2.960963 - type: 'test' - ... - # Subtest: should support re-registration (overwrite) - ok 6 - should support re-registration (overwrite) - --- - duration_ms: 2.683065 - type: 'test' - ... - 1..6 -ok 4 - DI Container β€” container.ts - --- - duration_ms: 314.82733 - type: 'suite' - ... -# [Plugins] Registered "test-logger" (priority: 10, enabled: true) -# Subtest: Plugin Architecture β€” plugins/index.ts - # Subtest: should register and list plugins - ok 1 - should register and list plugins - --- - duration_ms: 7.470741 - type: 'test' - ... -# [Plugins] Registered "low" (priority: 200, enabled: true) -# [Plugins] Registered "high" (priority: 1, enabled: true) -# [Plugins] Registered "mid" (priority: 50, enabled: true) - # Subtest: should sort plugins by priority - ok 2 - should sort plugins by priority - --- - duration_ms: 3.51882 - type: 'test' - ... -# [Plugins] Registered "first" (priority: 1, enabled: true) -# [Plugins] Registered "second" (priority: 2, enabled: true) - # Subtest: should run onRequest hooks in order - ok 3 - should run onRequest hooks in order - --- - duration_ms: 2.940782 - type: 'test' - ... -# [Plugins] Registered "blocker" (priority: 1, enabled: true) -# [Plugins] Registered "never-runs" (priority: 2, enabled: true) -# [Plugins] Request blocked by "blocker" - # Subtest: should support request blocking - ok 4 - should support request blocking - --- - duration_ms: 3.293988 - type: 'test' - ... -# [Plugins] Registered "toggle-me" (priority: 100, enabled: true) - # Subtest: should enable/disable plugins at runtime - ok 5 - should enable/disable plugins at runtime - --- - duration_ms: 2.784824 - type: 'test' - ... -# [Plugins] Registered "removable" (priority: 100, enabled: true) - # Subtest: should unregister plugins - ok 6 - should unregister plugins - --- - duration_ms: 2.608295 - type: 'test' - ... -# [Plugins] Registered "response-modifier" (priority: 100, enabled: true) - # Subtest: should run onResponse hooks - ok 7 - should run onResponse hooks - --- - duration_ms: 2.746361 - type: 'test' - ... -# [Plugins] Registered "error-handler" (priority: 100, enabled: true) -# [Plugins] Error recovered by "error-handler" - # Subtest: should run onError hooks and allow recovery - ok 8 - should run onError hooks and allow recovery - --- - duration_ms: 2.899465 - type: 'test' - ... - # Subtest: should return null from onError if no recovery - ok 9 - should return null from onError if no recovery - --- - duration_ms: 2.313171 - type: 'test' - ... - 1..9 -ok 5 - Plugin Architecture β€” plugins/index.ts - --- - duration_ms: 31.770504 - type: 'suite' - ... -# Subtest: Prompt Template Versioning β€” prompts.ts module existence - # Subtest: prompts.ts should exist - ok 1 - prompts.ts should exist - --- - duration_ms: 0.369635 - type: 'test' - ... - # Subtest: should export CRUD functions - ok 2 - should export CRUD functions - --- - duration_ms: 0.391134 - type: 'test' - ... - # Subtest: should define PromptTemplate interface - ok 3 - should define PromptTemplate interface - --- - duration_ms: 0.333598 - type: 'test' - ... - # Subtest: should use content hashing for deduplication - ok 4 - should use content hashing for deduplication - --- - duration_ms: 0.31716 - type: 'test' - ... - 1..4 -ok 6 - Prompt Template Versioning β€” prompts.ts module existence - --- - duration_ms: 1.752975 - type: 'suite' - ... -# Subtest: Eval Scheduler β€” scheduler.ts module existence - # Subtest: scheduler.ts should exist - ok 1 - scheduler.ts should exist - --- - duration_ms: 0.347059 - type: 'test' - ... - # Subtest: should export scheduling functions - ok 2 - should export scheduling functions - --- - duration_ms: 0.582836 - type: 'test' - ... - # Subtest: should define ScheduledEval and EvalRunResult types - ok 3 - should define ScheduledEval and EvalRunResult types - --- - duration_ms: 0.459196 - type: 'test' - ... - # Subtest: should have pluggable output provider - ok 4 - should have pluggable output provider - --- - duration_ms: 0.310267 - type: 'test' - ... - 1..4 -ok 7 - Eval Scheduler β€” scheduler.ts module existence - --- - duration_ms: 1.961338 - type: 'suite' - ... -# Subtest: Migration System β€” files exist - # Subtest: migrationRunner.ts should exist - ok 1 - migrationRunner.ts should exist - --- - duration_ms: 0.381312 - type: 'test' - ... - # Subtest: 001_initial_schema.sql should exist - ok 2 - 001_initial_schema.sql should exist - --- - duration_ms: 0.248336 - type: 'test' - ... - # Subtest: core.ts should reference migration runner - ok 3 - core.ts should reference migration runner - --- - duration_ms: 0.542947 - type: 'test' - ... - 1..3 -ok 8 - Migration System β€” files exist - --- - duration_ms: 1.448447 - type: 'suite' - ... -# Subtest: CORS β€” centralized configuration - # Subtest: shared/utils/cors.ts should exist - ok 1 - shared/utils/cors.ts should exist - --- - duration_ms: 0.374376 - type: 'test' - ... - # Subtest: should export CORS_HEADERS and CORS_ORIGIN - ok 2 - should export CORS_HEADERS and CORS_ORIGIN - --- - duration_ms: 0.390035 - type: 'test' - ... - 1..2 -ok 9 - CORS β€” centralized configuration - --- - duration_ms: 0.962465 - type: 'suite' - ... -1..9 -# tests 42 -# suites 9 -# pass 42 -# fail 0 -# cancelled 0 -# skipped 0 -# todo 0 -# duration_ms 869.387894 diff --git a/debug3.log b/debug3.log deleted file mode 100644 index 1f0e7424f2..0000000000 --- a/debug3.log +++ /dev/null @@ -1,1772 +0,0 @@ -TAP version 13 -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [CREDENTIALS] No external credentials file found, using defaults. -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [SECURITY] API_KEY_SECRET is not set. API key CRC validation is disabled. -# [DB] Added api_keys.allowed_connections column -# [DB] Added api_keys.auto_resolve column -# [DB] Added api_keys.is_active column -# [DB] Added api_keys.access_schedule column -# [DB] Added api_keys.max_requests_per_day column -# [DB] Added api_keys.max_requests_per_minute column -# [DB] Added api_keys.max_sessions column -# [23:40:30.381] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:30.382] DEBUG: [sse] API Key: sk-m...01c2 -# module: "sse" -# tag: "AUTH" -# [23:40:30.392] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# πŸ›‘οΈ [RATE-LIMIT] Loaded 0 explicit + 1 auto-enabled + 0 custom rpm/tpm protection(s) -# [23:40:30.396] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:30.396] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:30.397] INFO: [sse] Using openai account: 4782b395... -# module: "sse" -# tag: "AUTH" -# [23:40:30.415] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:30.425] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [20:40] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=4782b395... -# [23:40:30.493] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline handles OpenAI passthrough with valid API key auth -ok 1 - chat pipeline handles OpenAI passthrough with valid API key auth - --- - duration_ms: 279.06402 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [23:40:30.652] INFO: [sse] πŸ“₯ POST /v1/chat/completions | claude/claude-3-5-sonnet-20241022 | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | claude/claude-3-5-sonnet-20241022 | 1 msgs" -# [23:40:30.652] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [20:40] πŸ“Š [USAGE] CLAUDE | in=10 | out=4 | account=9ced487d... -# [23:40:30.656] INFO: [sse] Provider: claude, Model: claude-3-5-sonnet-20241022 -# module: "sse" -# tag: "ROUTING" -# [23:40:30.658] DEBUG: [sse] claude | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:30.658] DEBUG: [sse] claude | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:30.658] INFO: [sse] Using claude account: 9ced487d... -# module: "sse" -# tag: "AUTH" -# [23:40:30.660] DEBUG: [sse] openai β†’ claude | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:30.664] DEBUG: [sse] CLAUDE | claude-3-5-sonnet-20241022 | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:30.671] DEBUG: [sse] Stored response for claude-3-5-sonnet-20241022 (14 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline translates OpenAI requests to Claude and returns OpenAI-shaped responses -ok 2 - chat pipeline translates OpenAI requests to Claude and returns OpenAI-shaped responses - --- - duration_ms: 203.116864 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [23:40:30.852] INFO: [sse] πŸ“₯ POST /v1/chat/completions | gemini/gemini-2.5-flash | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | gemini/gemini-2.5-flash | 1 msgs" -# [23:40:30.852] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [20:40] πŸ“Š [USAGE] GEMINI | in=5 | out=7 | account=3c7613b4... -# [23:40:30.855] INFO: [sse] Provider: gemini, Model: gemini-2.5-flash -# module: "sse" -# tag: "ROUTING" -# [23:40:30.856] DEBUG: [sse] gemini | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:30.856] DEBUG: [sse] gemini | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:30.856] INFO: [sse] Using gemini account: 3c7613b4... -# module: "sse" -# tag: "AUTH" -# [23:40:30.858] DEBUG: [sse] openai β†’ gemini | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:30.860] DEBUG: [sse] GEMINI | gemini-2.5-flash | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:30.864] DEBUG: [sse] Stored response for gemini-2.5-flash (12 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline translates OpenAI requests to Gemini and returns OpenAI-shaped responses -ok 3 - chat pipeline translates OpenAI requests to Gemini and returns OpenAI-shaped responses - --- - duration_ms: 157.635756 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [23:40:31.026] INFO: [sse] πŸ“₯ POST /v1/messages | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/messages | openai/gpt-4o-mini | 1 msgs" -# [23:40:31.026] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [20:40] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=9e6e0e97... -# [23:40:31.029] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:31.030] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:31.030] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:31.031] INFO: [sse] Using openai account: 9e6e0e97... -# module: "sse" -# tag: "AUTH" -# [23:40:31.032] DEBUG: [sse] claude β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:31.035] DEBUG: [sse] OPENAI | gpt-4o-mini | 2 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:31.041] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline translates Claude-format requests into OpenAI upstream and back to Claude -ok 4 - chat pipeline translates Claude-format requests into OpenAI upstream and back to Claude - --- - duration_ms: 179.12553 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [23:40:31.207] INFO: [sse] πŸ“₯ POST /v1/chat/completions | claude/claude-sonnet-4-6 | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | claude/claude-sonnet-4-6 | 1 msgs" -# [23:40:31.207] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [20:40:31] πŸ“Š [USAGE] CLAUDE | in=0 | out=3 | account=5d0e9af4... -# [20:40:31] 🌊 [STREAM] CLAUDE | claude-sonnet-4-6 | 26ms | complete -# [23:40:31.209] INFO: [sse] Provider: claude, Model: claude-sonnet-4-6 -# module: "sse" -# tag: "ROUTING" -# [23:40:31.211] DEBUG: [sse] claude | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:31.211] DEBUG: [sse] claude | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:31.211] INFO: [sse] Using claude account: 5d0e9af4... -# module: "sse" -# tag: "AUTH" -# [23:40:31.212] DEBUG: [sse] openai β†’ claude | stream=true -# module: "sse" -# tag: "FORMAT" -# [23:40:31.213] DEBUG: [sse] CLAUDE | claude-sonnet-4-6 | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:31.214] DEBUG: [sse] Translation mode: claude β†’ openai -# module: "sse" -# tag: "STREAM" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline converts Claude SSE streams into OpenAI SSE output -ok 5 - chat pipeline converts Claude SSE streams into OpenAI SSE output - --- - duration_ms: 263.312873 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [DB] Added api_keys.allowed_connections column -# [DB] Added api_keys.auto_resolve column -# [DB] Added api_keys.is_active column -# [DB] Added api_keys.access_schedule column -# [DB] Added api_keys.max_requests_per_day column -# [DB] Added api_keys.max_requests_per_minute column -# [DB] Added api_keys.max_sessions column -# [23:40:31.448] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:31.448] DEBUG: [sse] API Key: does...xist -# module: "sse" -# tag: "AUTH" -# [23:40:31.456] WARN: [sse] API key not found or invalid (must be created in API Manager) -# module: "sse" -# tag: "AUTH" -# [23:40:31.458] WARN: [sse] Invalid JSON body -# module: "sse" -# tag: "CHAT" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline rejects invalid API keys and malformed JSON bodies -ok 6 - chat pipeline rejects invalid API keys and malformed JSON bodies - --- - duration_ms: 144.197861 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [23:40:31.570] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:31.570] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:40:31.570] WARN: [sse] Missing API key while REQUIRE_API_KEY=true -# module: "sse" -# tag: "AUTH" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline rejects requests without a bearer key when strict API key mode is enabled -ok 7 - chat pipeline rejects requests without a bearer key when strict API key mode is enabled - --- - duration_ms: 159.810061 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [23:40:31.727] INFO: [sse] πŸ“₯ POST /v1/chat/completions | undefined | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | undefined | 1 msgs" -# [23:40:31.727] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:40:31.727] WARN: [sse] Missing model -# module: "sse" -# tag: "CHAT" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline returns 400 when the model field is omitted -ok 8 - chat pipeline returns 400 when the model field is omitted - --- - duration_ms: 152.12799 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [23:40:31.907] DEBUG: [sse] Accept: text/event-stream header β†’ overriding stream=true (body had no stream field) -# module: "sse" -# tag: "STREAM" -# [23:40:31.907] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:31.907] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [20:40:31] πŸ“Š [USAGE] OPENAI | in=2062 | out=6 | account=93009bc3... (estimated) -# [20:40:31] 🌊 [STREAM] OPENAI | gpt-4o-mini | 10ms | complete -# [23:40:31.910] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:31.911] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:31.911] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:31.911] INFO: [sse] Using openai account: 93009bc3... -# module: "sse" -# tag: "AUTH" -# [23:40:31.913] DEBUG: [sse] openai β†’ openai | stream=true -# module: "sse" -# tag: "FORMAT" -# [23:40:31.913] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:31.915] DEBUG: [sse] Standard passthrough mode -# module: "sse" -# tag: "STREAM" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline treats Accept text/event-stream as streaming mode and returns a session header -ok 9 - chat pipeline treats Accept text/event-stream as streaming mode and returns a session header - --- - duration_ms: 153.539772 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [20:40] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=9fef864f... -# [23:40:32.063] INFO: [sse] πŸ“₯ POST /v1/chat/completions | local-router | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | local-router | 1 msgs" -# [23:40:32.063] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:40:32.064] INFO: [sse] Combo "local-router" [priority] with 1 models -# module: "sse" -# tag: "CHAT" -# [23:40:32.068] INFO: [sse] priority with nested resolution: 1 total models -# module: "sse" -# tag: "COMBO" -# [23:40:32.070] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:32.070] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:32.071] INFO: [sse] Trying model 1/1: openai/gpt-4o-mini -# module: "sse" -# tag: "COMBO" -# [23:40:32.071] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:32.073] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:32.073] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:32.074] INFO: [sse] Using openai account: 9fef864f... -# module: "sse" -# tag: "AUTH" -# [23:40:32.076] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:32.077] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:32.083] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [23:40:32.088] INFO: [sse] Model openai/gpt-4o-mini succeeded (20ms, 0 fallbacks) -# module: "sse" -# tag: "COMBO" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline supports local mode without Authorization on explicit combos -ok 10 - chat pipeline supports local mode without Authorization on explicit combos - --- - duration_ms: 170.688713 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [DB] Added api_keys.allowed_connections column -# [DB] Added api_keys.auto_resolve column -# [DB] Added api_keys.is_active column -# [DB] Added api_keys.access_schedule column -# [DB] Added api_keys.max_requests_per_day column -# [DB] Added api_keys.max_requests_per_minute column -# [DB] Added api_keys.max_sessions column -# [23:40:32.256] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:32.256] DEBUG: [sse] API Key: sk-m...2216 -# module: "sse" -# tag: "AUTH" -# [20:40] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=50eccfa9... -# [23:40:32.259] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:32.261] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:32.261] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:32.261] INFO: [sse] Using openai account: 50eccfa9... -# module: "sse" -# tag: "AUTH" -# [23:40:32.263] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:32.264] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:32.273] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline honors noLog by redacting persisted call log payloads -ok 11 - chat pipeline honors noLog by redacting persisted call log payloads - --- - duration_ms: 211.592743 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [23:40:32.408] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:32.408] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:40:32.443] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:32.443] DEBUG: [sse] openai | total connections: 0, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:32.444] DEBUG: [sse] openai | all connections (incl inactive): 0 -# module: "sse" -# tag: "AUTH" -# [23:40:32.444] WARN: [sse] No credentials for openai -# module: "sse" -# tag: "AUTH" -# [23:40:32.444] ERROR: [sse] No credentials for provider: openai -# module: "sse" -# tag: "AUTH" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline returns current no-credentials contract when no provider connection exists -ok 12 - chat pipeline returns current no-credentials contract when no provider connection exists - --- - duration_ms: 140.10352 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [23:40:32.576] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:32.576] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:40:32.579] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:32.579] WARN: [sse] openai/gpt-4o-mini is in cooldown, rejecting request -# module: "sse" -# tag: "AVAILABILITY" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline returns 503 when the requested model is temporarily unavailable -ok 13 - chat pipeline returns 503 when the requested model is temporarily unavailable - --- - duration_ms: 132.250444 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [23:40:32.711] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:32.711] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [ERROR] [500]: provider exploded -# ❌ openai [500]: [500]: provider exploded -# [23:40:32.726] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:32.727] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:32.727] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:32.728] INFO: [sse] Using openai account: 4ab558c6... -# module: "sse" -# tag: "AUTH" -# [23:40:32.732] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:32.735] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:32.772] WARN: [sse] Account 4ab558c6... unavailable (500), trying fallback -# module: "sse" -# tag: "AUTH" -# [23:40:32.773] DEBUG: [sse] openai | total connections: 1, excludeId: 4ab558c6-3588-4e36-b434-a324e8cf1bc3 -# module: "sse" -# tag: "AUTH" -# [23:40:32.773] DEBUG: [sse] openai | available: 0/1 -# module: "sse" -# tag: "AUTH" -# [23:40:32.773] DEBUG: [sse] β†’ 4ab558c6 | excluded rateLimited until 2026-04-06T23:40:35.770Z -# module: "sse" -# tag: "AUTH" -# [23:40:32.774] WARN: [sse] openai | all 1 active accounts rate limited (reset after 3s) | lastErrorCode=500.0, lastError=[500]: provider exploded -# module: "sse" -# tag: "AUTH" -# [23:40:32.774] WARN: [sse] [openai/gpt-4o-mini] [500]: provider exploded (reset after 3s) -# module: "sse" -# tag: "CHAT" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline surfaces upstream 500 responses as structured errors -ok 14 - chat pipeline surfaces upstream 500 responses as structured errors - --- - duration_ms: 219.873381 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [23:40:32.973] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:32.973] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:40:32.977] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:32.979] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:32.979] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:32.980] INFO: [sse] Using openai account: 71ff871a... -# module: "sse" -# tag: "AUTH" -# [23:40:32.983] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:32.984] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:32.986] DEBUG: [sse] 429 intra-retry 1/2 on https://api.openai.com/v1/chat/completions β€” waiting 0ms -# module: "sse" -# tag: "RETRY" -# [23:40:32.989] DEBUG: [sse] 429 intra-retry 2/2 on https://api.openai.com/v1/chat/completions β€” waiting 0ms -# module: "sse" -# tag: "RETRY" -# [provider] Node 71ff871a-0cc7-4cf5-aecd-ee0f6bdd87f2 rate limited (429) - Next available at 2026-04-06T23:41:02.996Z -# [ERROR] [429]: Rate limit exceeded. Your quota will reset after 30s. -# [23:40:33.006] INFO: [sse] 71ff871a terminal status=credits_exhausted, skipping cooldown overwrite -# module: "sse" -# tag: "AUTH" -# [23:40:33.006] WARN: [sse] Account 71ff871a... unavailable (429), trying fallback -# module: "sse" -# tag: "AUTH" -# [23:40:33.007] DEBUG: [sse] openai | total connections: 1, excludeId: 71ff871a-0cc7-4cf5-aecd-ee0f6bdd87f2 -# module: "sse" -# tag: "AUTH" -# [23:40:33.007] DEBUG: [sse] openai | available: 0/1 -# module: "sse" -# tag: "AUTH" -# [23:40:33.007] DEBUG: [sse] β†’ 71ff871a | excluded rateLimited until 2026-04-06T23:41:02.996Z -# module: "sse" -# tag: "AUTH" -# [23:40:33.007] WARN: [sse] openai | all 1 active accounts rate limited (reset after 30s) | lastErrorCode=429.0, lastError=Rate limit exceeded. Your quota will reset after 3 -# module: "sse" -# tag: "AUTH" -# [23:40:33.007] INFO: [sse] openai/gpt-4o-mini marked unavailable β€” all accounts exhausted (HTTP 429) -# module: "sse" -# tag: "AVAILABILITY" -# [23:40:33.007] WARN: [sse] [openai/gpt-4o-mini] [429]: Rate limit exceeded. Your quota will reset after 30s. (reset after 30s) -# module: "sse" -# tag: "CHAT" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline returns 429 with Retry-After when the upstream rate-limits the only account -ok 15 - chat pipeline returns 429 with Retry-After when the upstream rate-limits the only account - --- - duration_ms: 219.862586 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [23:40:33.195] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:33.195] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [ERROR] [504]: upstream timed out -# ❌ openai [504]: [504]: upstream timed out -# [23:40:33.197] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:33.199] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:33.199] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:33.199] INFO: [sse] Using openai account: b0f13742... -# module: "sse" -# tag: "AUTH" -# [23:40:33.201] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:33.202] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:33.203] WARN: [sse] Fetch timeout after 600000ms on https://api.openai.com/v1/chat/completions -# module: "sse" -# tag: "TIMEOUT" -# [23:40:33.207] WARN: [sse] Account b0f13742... unavailable (504), trying fallback -# module: "sse" -# tag: "AUTH" -# [23:40:33.208] DEBUG: [sse] openai | total connections: 1, excludeId: b0f13742-172d-4e2f-b1bd-51ff12ca0898 -# module: "sse" -# tag: "AUTH" -# [23:40:33.208] DEBUG: [sse] openai | available: 0/1 -# module: "sse" -# tag: "AUTH" -# [23:40:33.209] DEBUG: [sse] β†’ b0f13742 | excluded rateLimited until 2026-04-06T23:40:36.206Z -# module: "sse" -# tag: "AUTH" -# [23:40:33.209] WARN: [sse] openai | all 1 active accounts rate limited (reset after 3s) | lastErrorCode=504.0, lastError=[504]: upstream timed out -# module: "sse" -# tag: "AUTH" -# [23:40:33.209] WARN: [sse] [openai/gpt-4o-mini] [504]: upstream timed out (reset after 3s) -# module: "sse" -# tag: "CHAT" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline maps upstream timeouts to 504 responses -ok 16 - chat pipeline maps upstream timeouts to 504 responses - --- - duration_ms: 202.717074 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [DB] Added api_keys.allowed_connections column -# [DB] Added api_keys.auto_resolve column -# [DB] Added api_keys.is_active column -# [DB] Added api_keys.access_schedule column -# [DB] Added api_keys.max_requests_per_day column -# [DB] Added api_keys.max_requests_per_minute column -# [DB] Added api_keys.max_sessions column -# [23:40:33.412] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:33.412] DEBUG: [sse] API Key: sk-m...779b -# module: "sse" -# tag: "AUTH" -# [20:40] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=c2029285... -# [23:40:33.417] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:33.418] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:33.418] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:33.421] INFO: [sse] Using openai account: c2029285... -# module: "sse" -# tag: "AUTH" -# [23:40:33.423] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:33.425] DEBUG: [sse] Injected 1 memories for key=75502502-4c99-4f6e-9719-5581b00e0185 -# module: "sse" -# tag: "MEMORY" -# [23:40:33.426] DEBUG: [sse] OPENAI | gpt-4o-mini | 2 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:33.439] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline injects memory context before sending the upstream request -ok 17 - chat pipeline injects memory context before sending the upstream request - --- - duration_ms: 229.129863 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [DB] Added api_keys.allowed_connections column -# [DB] Added api_keys.auto_resolve column -# [DB] Added api_keys.is_active column -# [DB] Added api_keys.access_schedule column -# [DB] Added api_keys.max_requests_per_day column -# [DB] Added api_keys.max_requests_per_minute column -# [DB] Added api_keys.max_sessions column -# [23:40:33.643] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:33.646] DEBUG: [sse] API Key: sk-m...e420 -# module: "sse" -# tag: "AUTH" -# [20:40] πŸ“Š [USAGE] OPENAI | in=6 | out=4 | account=eb34b60b... -# [23:40:33.650] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:33.651] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:33.651] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:33.652] INFO: [sse] Using openai account: eb34b60b... -# module: "sse" -# tag: "AUTH" -# [23:40:33.654] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:33.656] DEBUG: [sse] Injected 1 skills -# module: "sse" -# tag: "SKILLS" -# [23:40:33.658] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:33.672] DEBUG: [sse] Stored response for gpt-4o-mini (10 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline injects skills into tools and intercepts tool calls with skill output -ok 18 - chat pipeline injects skills into tools and intercepts tool calls with skill output - --- - duration_ms: 230.685673 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [23:40:33.815] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:33.815] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [ERROR] [500]: first account failed -# ❌ openai [500]: [500]: first account failed -# [20:40] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=8ae4bbf9... -# [23:40:33.817] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:33.818] DEBUG: [sse] openai | total connections: 2, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:33.818] DEBUG: [sse] openai | available: 2/2 -# module: "sse" -# tag: "AUTH" -# [23:40:33.818] INFO: [sse] Using openai account: 5cfce4ff... -# module: "sse" -# tag: "AUTH" -# [23:40:33.819] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:33.820] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:33.824] WARN: [sse] Account 5cfce4ff... unavailable (500), trying fallback -# module: "sse" -# tag: "AUTH" -# [23:40:33.825] DEBUG: [sse] openai | total connections: 2, excludeId: 5cfce4ff-00c1-4e25-8c9b-acc7be84082f -# module: "sse" -# tag: "AUTH" -# [23:40:33.825] DEBUG: [sse] openai | available: 1/2 -# module: "sse" -# tag: "AUTH" -# [23:40:33.825] DEBUG: [sse] β†’ 5cfce4ff | excluded rateLimited until 2026-04-06T23:40:36.823Z -# module: "sse" -# tag: "AUTH" -# [23:40:33.825] INFO: [sse] Using openai account: 8ae4bbf9... -# module: "sse" -# tag: "AUTH" -# [23:40:33.826] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:33.826] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:33.829] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline falls back to the next account after a provider failure -ok 19 - chat pipeline falls back to the next account after a provider failure - --- - duration_ms: 147.807701 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [ERROR] [503]: openai combo miss -# ❌ openai [503]: [503]: openai combo miss -# [23:40:33.958] INFO: [sse] πŸ“₯ POST /v1/chat/completions | combo-fallback | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | combo-fallback | 1 msgs" -# [23:40:33.959] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:40:33.959] INFO: [sse] Combo "combo-fallback" [priority] with 2 models -# module: "sse" -# tag: "CHAT" -# [23:40:33.960] INFO: [sse] priority with nested resolution: 2 total models -# module: "sse" -# tag: "COMBO" -# [23:40:33.961] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:33.961] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:33.961] INFO: [sse] Trying model 1/2: openai/gpt-4o-mini -# module: "sse" -# tag: "COMBO" -# [23:40:33.961] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:33.962] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:33.962] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:33.962] INFO: [sse] Using openai account: 116917d1... -# module: "sse" -# tag: "AUTH" -# [23:40:33.963] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:33.963] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:33.971] WARN: [sse] Account 116917d1... unavailable (503), trying fallback -# module: "sse" -# tag: "AUTH" -# [23:40:33.971] DEBUG: [sse] openai | total connections: 1, excludeId: 116917d1-5c07-40ff-ba36-b5bea52054ff -# module: "sse" -# tag: "AUTH" -# [23:40:33.971] DEBUG: [sse] openai | available: 0/1 -# module: "sse" -# tag: "AUTH" -# [23:40:33.971] DEBUG: [sse] β†’ 116917d1 | excluded rateLimited until 2026-04-06T23:40:36.970Z -# module: "sse" -# tag: "AUTH" -# [23:40:33.971] WARN: [sse] openai | all 1 active accounts rate limited (reset after 3s) | lastErrorCode=503.0, lastError=[503]: openai combo miss -# module: "sse" -# tag: "AUTH" -# [23:40:33.971] INFO: [sse] openai/gpt-4o-mini marked unavailable β€” all accounts exhausted (HTTP 503) -# module: "sse" -# tag: "AVAILABILITY" -# [23:40:33.971] WARN: [sse] [openai/gpt-4o-mini] [503]: openai combo miss (reset after 3s) -# module: "sse" -# tag: "CHAT" -# [23:40:33.972] WARN: [sse] Model openai/gpt-4o-mini failed, trying next -# module: "sse" -# tag: "COMBO" -# status: 503 -# [23:40:33.972] INFO: [sse] Waiting 3000ms before fallback to next model -# module: "sse" -# tag: "COMBO" -# [20:40] πŸ“Š [USAGE] CLAUDE | in=10 | out=4 | account=23e06021... -# [23:40:36.974] DEBUG: [sse] claude | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:36.975] DEBUG: [sse] claude | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:36.975] INFO: [sse] Trying model 2/2: claude/claude-3-5-sonnet-20241022 -# module: "sse" -# tag: "COMBO" -# [23:40:36.975] INFO: [sse] Provider: claude, Model: claude-3-5-sonnet-20241022 -# module: "sse" -# tag: "ROUTING" -# [23:40:36.976] DEBUG: [sse] claude | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:36.976] DEBUG: [sse] claude | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:36.976] INFO: [sse] Using claude account: 23e06021... -# module: "sse" -# tag: "AUTH" -# [23:40:36.977] DEBUG: [sse] openai β†’ claude | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:36.978] DEBUG: [sse] CLAUDE | claude-3-5-sonnet-20241022 | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:36.981] DEBUG: [sse] Stored response for claude-3-5-sonnet-20241022 (14 tokens) -# module: "sse" -# tag: "CACHE" -# [23:40:36.983] INFO: [sse] Model claude/claude-3-5-sonnet-20241022 succeeded (3023ms, 0 fallbacks) -# module: "sse" -# tag: "COMBO" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# Subtest: chat pipeline falls back across combo models when the first provider fails -ok 20 - chat pipeline falls back across combo models when the first provider fails - --- - duration_ms: 3156.605154 - type: 'test' - ... -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [23:40:37.124] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:37.124] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:40:37.125] INFO: [sse] πŸ“₯ POST /v1/chat/completions | openai/gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "HTTP" -# method: "POST" -# path: "/v1/chat/completions | openai/gpt-4o-mini | 1 msgs" -# [23:40:37.125] DEBUG: [sse] No API key provided (local mode) -# module: "sse" -# tag: "AUTH" -# [23:40:37.127] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:37.128] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:37.128] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:37.128] INFO: [sse] Using openai account: 10d570ae... -# module: "sse" -# tag: "AUTH" -# [23:40:37.129] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:37.130] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [23:40:37.132] INFO: [sse] Provider: openai, Model: gpt-4o-mini -# module: "sse" -# tag: "ROUTING" -# [23:40:37.132] DEBUG: [sse] openai | total connections: 1, excludeId: none -# module: "sse" -# tag: "AUTH" -# [23:40:37.132] DEBUG: [sse] openai | available: 1/1 -# module: "sse" -# tag: "AUTH" -# [23:40:37.133] INFO: [sse] Using openai account: 10d570ae... -# module: "sse" -# tag: "AUTH" -# [23:40:37.134] DEBUG: [sse] openai β†’ openai | stream=false -# module: "sse" -# tag: "FORMAT" -# [23:40:37.134] DEBUG: [sse] OPENAI | gpt-4o-mini | 1 msgs -# module: "sse" -# tag: "REQUEST" -# [20:40] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=10d570ae... -# [20:40] πŸ“Š [USAGE] OPENAI | in=4 | out=2 | account=10d570ae... -# [23:40:37.157] DEBUG: [sse] Joined in-flight request hash=f467c6e15f3cb6e2 -# module: "sse" -# tag: "DEDUP" -# [23:40:37.160] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [23:40:37.161] DEBUG: [sse] Stored response for gpt-4o-mini (6 tokens) -# module: "sse" -# tag: "CACHE" -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# [Migration] Applied: 002_mcp_a2a_tables -# [Migration] Applied: 003_provider_node_custom_paths -# [Migration] Applied: 004_proxy_registry -# [Migration] Applied: 005_combo_agent_fields -# [Migration] Applied: 006_detailed_request_logs -# [Migration] Applied: 007_search_request_type -# [Migration] Applied: 008_registered_keys -# [Migration] Applied: 009_requested_model -# [Migration] Applied: 010_model_combo_mappings -# [Migration] Applied: 011_webhooks -# [Migration] Applied: 012_fix_token_input_cache_tokens -# [Migration] Applied: 013_quota_snapshots -# [Migration] Applied: 014_unified_log_artifacts -# [Migration] Applied: 015_create_memories -# [Migration] Applied: 016_create_skills -# [Migration] Applied: 017_version_manager_upstream_proxy -# [Migration] 16 migration(s) applied successfully. -# [DB] SQLite database ready: /tmp/omniroute-chat-pipeline-5DubiT/storage.sqlite -# [DB] SQLite WAL checkpoint completed (TRUNCATE). -# Subtest: chat pipeline deduplicates concurrent identical non-stream requests -ok 21 - chat pipeline deduplicates concurrent identical non-stream requests - --- - duration_ms: 176.545473 - type: 'test' - ... -# === WTF NODE DUMP === -# [WTF Node?] open handles: -# - File descriptors: (note: stdio always exists) -# - fd 2 (stdio) -# - fd 1 (stdio) -1..21 -# tests 21 -# suites 0 -# pass 21 -# fail 0 -# cancelled 0 -# skipped 0 -# todo 0 -# duration_ms 36056.905402 diff --git a/open-sse/utils/proxyFetch.ts b/open-sse/utils/proxyFetch.ts index dd56e5f0ee..007907d40c 100644 --- a/open-sse/utils/proxyFetch.ts +++ b/open-sse/utils/proxyFetch.ts @@ -165,7 +165,7 @@ export async function runWithProxyContext(proxyConfig, fn) { async function patchedFetch(input: RequestInfo | URL, options: FetchWithDispatcherOptions = {}) { if (options?.dispatcher) { - return (undiciFetch as any)(input, options); + return (undiciFetch as unknown as (...args: unknown[]) => Promise)(input, options); } const targetUrl = getTargetUrl(input); @@ -198,7 +198,7 @@ async function patchedFetch(input: RequestInfo | URL, options: FetchWithDispatch if (store) store.used = false; } } - return (undiciFetch as any)(input, { + return (undiciFetch as unknown as (...args: unknown[]) => Promise)(input, { ...options, dispatcher: getDefaultDispatcher(), }); @@ -206,7 +206,10 @@ async function patchedFetch(input: RequestInfo | URL, options: FetchWithDispatch try { const dispatcher = createProxyDispatcher(proxyUrl); - return await (undiciFetch as any)(input, { ...options, dispatcher }); + return await (undiciFetch as unknown as (...args: unknown[]) => Promise)(input, { + ...options, + dispatcher, + }); } catch (error) { const message = error instanceof Error ? error.message : String(error); console.error(`[ProxyFetch] Proxy request failed (${source}, fail-closed): ${message}`); diff --git a/scan_packet.json b/scan_packet.json deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/scripts/dbsetup.js b/scripts/dbsetup.js new file mode 100755 index 0000000000..341a4f0f42 --- /dev/null +++ b/scripts/dbsetup.js @@ -0,0 +1,23 @@ +#!/usr/bin/env node + +import { spawn } from "node:child_process"; + +const env = { ...process.env }; + +await exec("npx next build --experimental-build-mode generate"); + +// launch application +await exec(process.argv.slice(2).join(" ")); + +function exec(command) { + const child = spawn(command, { shell: true, stdio: "inherit", env }); + return new Promise((resolve, reject) => { + child.on("exit", (code) => { + if (code === 0) { + resolve(); + } else { + reject(new Error(`${command} failed rc=${code}`)); + } + }); + }); +} diff --git a/debug-handles.mjs b/scripts/scratch/debug-handles.mjs similarity index 100% rename from debug-handles.mjs rename to scripts/scratch/debug-handles.mjs diff --git a/debug-sockets.mjs b/scripts/scratch/debug-sockets.mjs similarity index 100% rename from debug-sockets.mjs rename to scripts/scratch/debug-sockets.mjs diff --git a/scripts/scratch/test-cherry.js b/scripts/scratch/test-cherry.js new file mode 100644 index 0000000000..07fb46df26 --- /dev/null +++ b/scripts/scratch/test-cherry.js @@ -0,0 +1,2 @@ +const { convertOpenAIContentToParts } = require("./open-sse/translator/helpers/geminiHelper.ts"); +// since it's typescript/ESM, we might need a ts-node or vitest diff --git a/test-executor.ts b/scripts/scratch/test-executor.ts similarity index 100% rename from test-executor.ts rename to scripts/scratch/test-executor.ts diff --git a/test_gemini.mjs b/scripts/scratch/test_gemini.mjs similarity index 100% rename from test_gemini.mjs rename to scripts/scratch/test_gemini.mjs diff --git a/test-cherry.js b/test-cherry.js deleted file mode 100644 index c945f7bc77..0000000000 --- a/test-cherry.js +++ /dev/null @@ -1,2 +0,0 @@ -const { convertOpenAIContentToParts } = require('./open-sse/translator/helpers/geminiHelper.ts'); -// since it's typescript/ESM, we might need a ts-node or vitest