switchboard-router 0.9.54 → 0.9.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/app/{.next-cli-build/static/chunks/1321-19074400221d811e.js → .next/static/chunks/1321-8a58a0567cc1598f.js} +1 -1
  2. package/app/.next-cli-build/BUILD_ID +1 -1
  3. package/app/.next-cli-build/app-path-routes-manifest.json +16 -16
  4. package/app/.next-cli-build/build-manifest.json +2 -2
  5. package/app/.next-cli-build/prerender-manifest.json +3 -3
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  34. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  35. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  36. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  37. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  38. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  40. package/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  41. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  42. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  43. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  44. package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js +2 -2
  45. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  46. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  47. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  48. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  49. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  50. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  51. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  52. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +1 -1
  53. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  54. package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js +2 -2
  55. package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js +2 -2
  56. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
  57. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  58. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  59. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  60. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  61. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
  62. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  63. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/callback.html +1 -1
  65. package/app/.next-cli-build/server/app/callback.rsc +3 -3
  66. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  67. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  68. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +3 -3
  69. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  71. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
  72. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
  73. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  74. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +3 -3
  75. package/app/.next-cli-build/server/app/index.html +1 -1
  76. package/app/.next-cli-build/server/app/index.rsc +3 -3
  77. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  78. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  79. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  80. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/landing.html +1 -1
  82. package/app/.next-cli-build/server/app/landing.rsc +3 -3
  83. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
  84. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  85. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +3 -3
  86. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/login.html +1 -1
  88. package/app/.next-cli-build/server/app/login.rsc +4 -4
  89. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  90. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  91. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  92. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  93. package/app/.next-cli-build/server/app-paths-manifest.json +16 -16
  94. package/app/.next-cli-build/server/chunks/2847.js +1 -1
  95. package/app/.next-cli-build/server/chunks/3904.js +1 -1
  96. package/app/.next-cli-build/server/chunks/5139.js +1 -1
  97. package/app/.next-cli-build/server/chunks/519.js +1 -1
  98. package/app/.next-cli-build/server/chunks/7812.js +1 -1
  99. package/app/.next-cli-build/server/chunks/869.js +1 -1
  100. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  101. package/app/.next-cli-build/server/pages/404.html +1 -1
  102. package/app/.next-cli-build/server/pages/500.html +1 -1
  103. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  104. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  105. package/app/{.next/static/chunks/1321-19074400221d811e.js → .next-cli-build/static/chunks/1321-8a58a0567cc1598f.js} +1 -1
  106. package/app/open-sse/identity/tls/bin/darwin/arm64/switchboard-claude-tls +0 -0
  107. package/app/open-sse/identity/tls/bin/darwin/x64/switchboard-claude-tls +0 -0
  108. package/app/open-sse/identity/tls/bin/linux/arm64/switchboard-claude-tls +0 -0
  109. package/app/open-sse/identity/tls/bin/linux/x64/switchboard-claude-tls +0 -0
  110. package/app/open-sse/identity/tls/bin/win32/arm64/switchboard-claude-tls.exe +0 -0
  111. package/app/open-sse/identity/tls/bin/win32/x64/switchboard-claude-tls.exe +0 -0
  112. package/app/package.json +1 -1
  113. package/package.json +1 -1
  114. /package/app/.next/static/{EUH9nBCvfo-7VgGw0UFv2 → t_8uLlkoi7CaxFLw4izWt}/_buildManifest.js +0 -0
  115. /package/app/.next/static/{EUH9nBCvfo-7VgGw0UFv2 → t_8uLlkoi7CaxFLw4izWt}/_ssgManifest.js +0 -0
  116. /package/app/.next-cli-build/static/{EUH9nBCvfo-7VgGw0UFv2 → t_8uLlkoi7CaxFLw4izWt}/_buildManifest.js +0 -0
  117. /package/app/.next-cli-build/static/{EUH9nBCvfo-7VgGw0UFv2 → t_8uLlkoi7CaxFLw4izWt}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=3904,exports.ids=[3904],exports.modules={43904:(a,b,c)=>{c.d(b,{a0:()=>h,k1:()=>n,nl:()=>l});var d=c(66755),e=c(84646);let f={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},g={imageToText:{vision:!0},image:{imageOutput:!0},stt:{audioInput:!0},tts:{audioOutput:!0},embedding:{tools:!1}};function h(a){return g[a]||null}let i={"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},j={nvidia:{"minimaxai/minimax-m2.7":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072},"minimaxai/minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:131072},"z-ai/glm-5.2":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"deepseek-ai/deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"deepseek-ai/deepseek-v4-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536}},"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"glm-5.0-turbo":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"glm-4.7":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"minimax-m2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:164e3,maxOutput:32e3},"hy3-preview":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v3-2-volc":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:96e3,maxOutput:32e3}}},k=[{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*muse-spark*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:65536}},{pattern:"*muse*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:65536}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function l(a,b){if(!b)return{...f};let c=function(a,b){let c=j[a]?.[b];if(c)return c;let d=b.includes("/")?b.split("/").pop():b,f=i[d]||i[b];if(f)return f;for(let{pattern:a,caps:c}of k)if((0,e.gH)(a,d||b))return c;return null}(a,b),g=(0,d.uV)(b);return{...f,...g||{},...c||{}}}let m=[{pattern:"*claude*opus-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*sonnet-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*haiku-5-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*fable-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*opus-4-8*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*opus-4-7*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*opus-4-6*",levels:["low","medium","high","max"]},{pattern:"*claude*opus-4-5*",levels:["low","medium","high"]},{pattern:"*claude*sonnet-4-6*",levels:["low","medium","high","max"]}];function n(a){if("string"!=typeof a||!a)return null;let b=a.includes("/")?a.split("/").pop():a,c=m.find(({pattern:a})=>(0,e.gH)(a,b));if(!c)return null;let d={supported:!0};for(let a of c.levels)d[a]={supported:!0};return{effort:d}}}};
1
+ "use strict";exports.id=3904,exports.ids=[3904],exports.modules={43904:(a,b,c)=>{c.d(b,{a0:()=>h,hX:()=>p,k1:()=>n,nl:()=>l});var d=c(66755),e=c(84646);let f={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},g={imageToText:{vision:!0},image:{imageOutput:!0},stt:{audioInput:!0},tts:{audioOutput:!0},embedding:{tools:!1}};function h(a){return g[a]||null}let i={"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},j={nvidia:{"minimaxai/minimax-m2.7":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072},"minimaxai/minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:131072},"z-ai/glm-5.2":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"deepseek-ai/deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"deepseek-ai/deepseek-v4-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536}},"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"glm-5.0-turbo":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"glm-4.7":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"minimax-m2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:164e3,maxOutput:32e3},"hy3-preview":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v3-2-volc":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:96e3,maxOutput:32e3}}},k=[{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*muse-spark*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:65536}},{pattern:"*muse*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:65536}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function l(a,b){if(!b)return{...f};let c=function(a,b){let c=j[a]?.[b];if(c)return c;let d=b.includes("/")?b.split("/").pop():b,f=i[d]||i[b];if(f)return f;for(let{pattern:a,caps:c}of k)if((0,e.gH)(a,d||b))return c;return null}(a,b),g=(0,d.uV)(b);return{...f,...g||{},...c||{}}}let m=[{pattern:"*claude*opus-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*sonnet-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*haiku-5-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*fable-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*opus-4-8*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*opus-4-7*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*opus-4-6*",levels:["low","medium","high","max"]},{pattern:"*claude*opus-4-5*",levels:["low","medium","high"]},{pattern:"*claude*sonnet-4-6*",levels:["low","medium","high","max"]}];function n(a){if("string"!=typeof a||!a)return null;let b=a.includes("/")?a.split("/").pop():a,c=m.find(({pattern:a})=>(0,e.gH)(a,b));if(!c)return null;let d={supported:!0};for(let a of c.levels)d[a]={supported:!0};return{effort:d}}function o(a){if(!a||"object"!=typeof a||!0!==a.supported)return null;let b=Object.keys(a).filter(b=>"supported"!==b&&a[b]&&!0===a[b].supported);return b.length>0?b:null}function p(a,b){let c=a&&"object"==typeof a?a.effort:null;if(c&&!1===c.supported)return{effort:c};let d=b&&"object"==typeof b?b.effort:null,e=o(c),f=o(d);if(!e&&!f)return null;if(!e)return{effort:d};if(!f)return{effort:c};let g=f.filter(a=>e.includes(a));if(0===g.length)return{effort:c};let h={supported:!0};for(let a of g)h[a]={...c[a]};return{effort:h}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=5139,exports.ids=[5139],exports.modules={2364:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>H,OPTIONS:()=>F,buildClaudeFullCatalogDiscoveryModels:()=>G,buildModelsList:()=>E});var d=c(81329),e=c(40615),f=c(15717),g=c(16655),h=c(19617),i=c(38955),j=c(58569),k=c(86925),l=c(9155),m=c(46052),n=c(41029);let o=new Map;async function p(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,m.Fm)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},cache:"no-store",signal:b||c.signal,identity:"copilot",provider:"github",format:"openai"});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function q(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=o.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await p(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,n.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await p(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(o.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var r=c(40694),s=c(58255),t=c(63123),u=c(67828),v=c(43904),w=c(32524),x=c(68393),y=c(39326);let z={kiro:async(a,b={})=>{let c=await (0,j.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,signal:b.signal});return c?.models?.length?{models:c.models}:null},qoder:async(a,b={})=>{let c=await (0,l.EV)({accessToken:a.accessToken,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}},{signal:b.signal});return c?.models?.length?{models:c.models.map(a=>({id:a.id,name:a.name}))}:null},kimchi:async(a,b={})=>{let c=await (0,k.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{log:console,signal:b.signal});return c?.models?.length?{models:c.models}:null},github:async(a,b={})=>{let c=await q({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,signal:b.signal,onCredentialsRefreshed:async b=>{await (0,u.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return c?.models?.length?{models:c.models}:null},clinepass:async(a,b={})=>{let c=await (0,r.P)({accessToken:a.accessToken,apiKey:a.apiKey},{signal:b.signal});return c?.models?.length?{models:c.models}:null},"grok-cli":async(a,b={})=>{let c=await (0,y.B)(a.providerSpecificData||{}),d=await (0,t.M)({...a,connectionId:a.id},{log:console,signal:b.signal,proxyOptions:c,onCredentialsRefreshed:b=>(0,u.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})});return d?.models?.length?{models:d.models}:null}},A={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText",video:"video"};function B(a){let b=a?.kind||a?.type;return b&&A[b]||"llm"}async function C(a,b=null){if(!a?.apiKey)return null;let c="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!c)return null;let d=`${c}/models`,f={"Content-Type":"application/json",[h.M]:"1"};if((0,e.mq)(a.provider))f.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return null;d.endsWith("/messages/models")?d=d.slice(0,-9):d.endsWith("/messages")&&(d=`${d.slice(0,-9)}/models`),f["x-api-key"]=a.apiKey,f["anthropic-version"]="2023-06-01",f.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,c=setTimeout(()=>a.abort(),5e3);b&&"function"!=typeof AbortSignal.any&&b.addEventListener("abort",()=>{clearTimeout(c),a.abort(b.reason)},{once:!0});let e=b&&"function"==typeof AbortSignal.any?AbortSignal.any([b,a.signal]):a.signal;try{let a=await fetch(d,{method:"GET",headers:f,cache:"no-store",signal:e});if(!a.ok)return null;let b=await a.json(),c=(a=>{if(Array.isArray(a))return a;for(let b of["data","models","results"])if(Array.isArray(a?.[b]))return a[b];return null})(b);if(!c)return null;let g=Array.from(new Set(c.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim()))),h=new Map;for(let a of c){let b=a?.id||a?.name||a?.model;"string"==typeof b&&""!==b.trim()&&a&&"object"==typeof a&&a.capabilities&&"object"==typeof a.capabilities&&h.set(b.trim(),a.capabilities)}return c.length>0&&0===g.length?null:{ids:g,capsById:h}}finally{clearTimeout(c)}}catch{return null}}function D(a,b){let c=e.Q2[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function E(a,{signal:b=null,skipCompatibleDiscovery:c=!1}={}){let h=[],j=!1;try{h=await (0,f.getProviderConnections)()}catch(a){j=!0,console.log("Could not fetch providers, returning all models")}let k=h.filter(a=>!1!==a.isActive),l=[];try{l=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let m=[];try{m=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let n={};try{n=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let o={};try{o=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let p=new Map(Object.entries(o).map(([a,b])=>[a,(0,i.Iz)(b,a)])),q=(a,b)=>{let c=(0,e.rs)(a);return[...new Set([a,c,(0,e.wG)(c),d.Xg[c]].filter(Boolean))].some(a=>{let c=p.get(a);return!!c&&(0,i.uJ)(c,b,a)})},r=new Map;for(let a of k){if(b?.aborted)break;r.has(a.provider)||r.set(a.provider,a)}let t=r.get("cursor");t&&r.set("cursor",await (0,u.Yx)(t,{force:!0}));let w=new Map;if(!c){let a=Array.from(r.entries()).filter(([a])=>(0,e.mq)(a)||(0,e.gb)(a));await Promise.all(a.map(async([a,c])=>{w.set(a,await C(c,b))}))}let y=new Map,A=Array.from(r.entries()).filter(([b])=>D(b,a)&&!(0,e.mq)(b)&&!(0,e.gb)(b));await Promise.all(A.map(async([a,c])=>{let d=z[a];try{let e=d?await d(c,{signal:b}):await (0,s.Mz)(c,{signal:b,..."cursor"===a?{log:console}:{}});e?.models?.length&&y.set(a,e)}catch(b){console.log(`Live model fetch failed for ${a}: ${b?.message||b}`)}}));let F=[],G=a=>{if("string"!=typeof a)return!1;let b=a.indexOf("/");if(b<=0)return!1;let c=a.slice(0,b),d=(0,e.rs)(c);return!!d&&!!e.Q2[d]&&!r.has(d)},H=!j;for(let b of l){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;if(H){let a=Array.isArray(b.models)?b.models:[];if(a.length>0&&a.every(G))continue}let c={id:b.name,object:"model",owned_by:"combo",name:b.name};("webSearch"===b.kind||"webFetch"===b.kind)&&(c.kind=b.kind),F.push(c)}if(a.includes("llm")){for(let[a,b]of Object.entries(n||{}))if((0,x.Ng)(a)&&!(H&&G(b))){if("string"==typeof b&&b.includes("/")){let a=b.indexOf("/"),c=b.slice(0,a),d=b.slice(a+1),e=k.find(a=>a.providerSpecificData?.prefix===c);if(q(c,d)||e&&q(e.provider,d))continue}F.push({id:a,object:"model",owned_by:"switchboard-alias",display_name:`Switchboard \xb7 ${a}`})}}if(j){for(let[b,c]of Object.entries(d.PROVIDER_MODELS))if(D((0,e.rs)(b),a))for(let d of c)a.includes(B(d))&&(q(b,d.id)||F.push({id:`${b}/${d.id}`,object:"model",owned_by:b}));for(let b of m){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();!d||q(c,d)||F.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[f,g]of r.entries()){if(b?.aborted)break;if(!D(f,a))continue;let h=d.Xg[f]||f,i=(g?.providerSpecificData?.prefix||(0,e.wG)(f)||h).trim(),j=d.PROVIDER_MODELS[h]||[],k=g?.providerSpecificData?.enabledModels,l=Array.isArray(k)&&k.length>0,o=(0,e.mq)(f)||(0,e.gb)(f),p=new Map(j.map(a=>[a.id,B(a)])),r=new Map,s=new Map,t=l?Array.from(new Set(k.filter(a=>"string"==typeof a&&""!==a.trim()))):j.map(a=>a.id),u=w.get(f);o&&!c&&u&&Array.isArray(u.ids)&&(t=u.ids);let x=u&&u.capsById instanceof Map?u.capsById:null,z=y.get(f);z?.models?.length&&(t=z.models.map(a=>a.id),r=new Map(z.models.filter(a=>a?.id).map(a=>[a.id,B(a)])),s=new Map(z.models.filter(a=>a?.id&&a.capabilities).map(a=>[a.id,a.capabilities])));let A=t.map(a=>a.startsWith(`${i}/`)?a.slice(i.length+1):a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),C=new Map;for(let b of Array.from(new Set([...A,...m.filter(b=>{if(!b?.id)return!1;let c=(0,d.CP)(b)||"llm";if(!a.includes(c)&&!("imageToText"===c&&a.includes("llm")))return!1;let e=b.providerAlias;return e===h||e===i||e===f}).map(a=>{let b=String(a.id).trim();return b&&C.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(n||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${i}/`)||a.startsWith(`${h}/`)||a.startsWith(`${f}/`))).map(a=>a.startsWith(`${i}/`)?a.slice(i.length+1):a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let c=C.get(b),d=r.get(b),e=c||d||p.get(b)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(b),g="imageToText"===e&&a.includes("llm");if(!a.includes(e)&&!g||q(i,b)||q(h,b))continue;let j={id:`${i}/${b}`,object:"model",owned_by:i},k=function(a,b,c,d,e){if(!a)return null;for(let f of[e,`${b}/${e}`,`${c}/${e}`,`${d}/${e}`])if(a.has(f))return a.get(f);return null}(x,i,h,f,b),l=(0,v.a0)(c||d),m=s.get(b)||(k||l?{...l||{},...k||{}}:null),n=m&&m.effort?null:(0,v.k1)(b),o=n?{...m,...n}:m;o&&(j.capabilities=o),F.push(j)}let E=e.Q2[f];a.includes("webSearch")&&E?.searchConfig&&F.push({id:`${i}/search`,object:"model",kind:"webSearch",owned_by:i}),a.includes("webFetch")&&E?.fetchConfig&&F.push({id:`${i}/fetch`,object:"model",kind:"webFetch",owned_by:i})}let I=[],J=new Set;for(let a of F)!a?.id||J.has(a.id)||(J.add(a.id),"number"!=typeof a.created&&(a.created=0),I.push(a));return I}async function F(){return new Response(null,{headers:{"Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}function G(a,b={}){let c=(0,x.OU)(b,a),d=(0,w.HL)(a);return a.map(a=>({id:(0,x.El)(a),object:"model",created:0,owned_by:"switchboard-catalog",display_name:c[a]||(0,w.u0)(a,d),description:a}))}async function H(a){try{if((0,x.at)(a?.headers)){let b=(0,x._1)(a?.headers),c=G(b,(0,x.LU)(a?.headers));return Response.json({object:"list",data:c})}let b=await E(["llm"],{signal:a?.signal,skipCompatibleDiscovery:(0,h.k)(a)});return Response.json({object:"list",data:b},{})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:"Failed to fetch models",type:"server_error"}},{status:500})}}},16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(15717)},19225:(a,b,c)=>{a.exports=c(44870)},32524:(a,b,c)=>{c.d(b,{HL:()=>i,pD:()=>h,u0:()=>j});let d=Object.freeze({"lite-llm":"llm",litellm:"llm"}),e=["opus","sonnet","haiku","fable","gemini","gpt","glm","deepseek","composer","kimi","qwen"],f=[{pattern:/ap-southeast|low-carbon-apac|\bapac\b/i,tag:"apac"},{pattern:/eu-west|europe|\beu\b/i,tag:"eu"},{pattern:/us-east|us-west|\bus\b/i,tag:"us"}],g=["bedrock","vertex","azure","openai"];function h(a){var b;let c,h,i,j,k,l,m,n=String(a||"").trim();if(!n)return"";let o=n.indexOf("/");if(o<0)return n;let p=d[c=String(n.slice(0,o)||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-+/g,"-")]||c.slice(0,10),q=n.slice(o+1).split("/").filter(Boolean),r=(h=q.join("/").toLowerCase(),i=e.find(a=>h.includes(a))||null,j=f.find(a=>a.pattern.test(h))?.tag||null,k=g.find(a=>h.includes(a))||null,l=h.match(/\b(\d+m)\b/i)?.[1]?.toLowerCase()||null,m=(b=i?h.match(RegExp(`${i}[-._]?(\\d+(?:[._-]\\d+)*)`,"i"))?.[1]:null)?b.replace(/[._-]/g,"."):null,{family:i,region:j,infra:k,variant:l,version:m}),s=[p];if(r.region&&s.push(r.region),r.infra&&s.push(r.infra),r.family){let a=r.variant?`${r.family} ${r.variant}`:r.version?`${r.family} ${r.version}`:r.family;s.push(a)}else if(q.length>0){let a=q[q.length-1].replace(/^anthropic\./i,"").replace(/[._]/g," ").trim();a&&s.push(a.slice(0,24))}return s.join(" | ")}function i(a){let b=a.map(a=>String(a||"").trim()).filter(Boolean).map(a=>({modelId:a,base:h(a)})),c=new Map;for(let a of b){let b=c.get(a.base)||[];b.push(a.modelId),c.set(a.base,b)}let d=new Map;for(let[a,b]of c.entries()){if(1===b.length){d.set(b[0],a);continue}let c=new Set;b.forEach((b,e)=>{let f=`${a} | ${function(a,b){let c=String(a||"").split("/").filter(Boolean);return c.length>=3?c[1].replace(/[._-]/g," ").trim().slice(0,20):2===c.length?c[1].replace(/^anthropic\./i,"").replace(/[._-]/g," ").trim().slice(0,20):(c[c.length-1]||`model-${b+1}`).replace(/^anthropic\./i,"").replace(/[._-]/g," ").trim().slice(0,20)||String(b+1)}(b,e)}`,g=2;for(;c.has(f);){let d=b.split("/").filter(Boolean).pop()||`alt-${g}`;f=`${a} | ${d.replace(/^anthropic\./i,"").replace(/[._-]/g," ").trim().slice(0,20)}`,c.has(f)&&(f=`${a} | ${e+1}`),g+=1}c.add(f),d.set(b,f)})}return d}function j(a,b){let c=String(a||"").trim();return c?b?.get(c)||h(c):""}},38955:(a,b,c)=>{c.d(b,{Iz:()=>e,uJ:()=>f});var d=c(65089);function e(a,b=""){return new Set((Array.isArray(a)?a:[]).map(a=>(0,d.v)(a,b)).filter(Boolean))}function f(a,b,c=""){return a.has((0,d.v)(b,c))}c(4489),c(40615),c(27335)},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
1
+ "use strict";exports.id=5139,exports.ids=[5139],exports.modules={2364:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>H,OPTIONS:()=>F,buildClaudeFullCatalogDiscoveryModels:()=>G,buildModelsList:()=>E});var d=c(81329),e=c(40615),f=c(15717),g=c(16655),h=c(19617),i=c(38955),j=c(58569),k=c(86925),l=c(9155),m=c(46052),n=c(41029);let o=new Map;async function p(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,m.Fm)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},cache:"no-store",signal:b||c.signal,identity:"copilot",provider:"github",format:"openai"});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function q(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=o.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await p(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,n.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await p(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(o.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var r=c(40694),s=c(58255),t=c(63123),u=c(67828),v=c(43904),w=c(32524),x=c(68393),y=c(39326);let z={kiro:async(a,b={})=>{let c=await (0,j.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,signal:b.signal});return c?.models?.length?{models:c.models}:null},qoder:async(a,b={})=>{let c=await (0,l.EV)({accessToken:a.accessToken,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}},{signal:b.signal});return c?.models?.length?{models:c.models.map(a=>({id:a.id,name:a.name}))}:null},kimchi:async(a,b={})=>{let c=await (0,k.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{log:console,signal:b.signal});return c?.models?.length?{models:c.models}:null},github:async(a,b={})=>{let c=await q({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,signal:b.signal,onCredentialsRefreshed:async b=>{await (0,u.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return c?.models?.length?{models:c.models}:null},clinepass:async(a,b={})=>{let c=await (0,r.P)({accessToken:a.accessToken,apiKey:a.apiKey},{signal:b.signal});return c?.models?.length?{models:c.models}:null},"grok-cli":async(a,b={})=>{let c=await (0,y.B)(a.providerSpecificData||{}),d=await (0,t.M)({...a,connectionId:a.id},{log:console,signal:b.signal,proxyOptions:c,onCredentialsRefreshed:b=>(0,u.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})});return d?.models?.length?{models:d.models}:null}},A={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText",video:"video"};function B(a){let b=a?.kind||a?.type;return b&&A[b]||"llm"}async function C(a,b=null){if(!a?.apiKey)return null;let c="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!c)return null;let d=`${c}/models`,f={"Content-Type":"application/json",[h.M]:"1"};if((0,e.mq)(a.provider))f.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return null;d.endsWith("/messages/models")?d=d.slice(0,-9):d.endsWith("/messages")&&(d=`${d.slice(0,-9)}/models`),f["x-api-key"]=a.apiKey,f["anthropic-version"]="2023-06-01",f.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,c=setTimeout(()=>a.abort(),5e3);b&&"function"!=typeof AbortSignal.any&&b.addEventListener("abort",()=>{clearTimeout(c),a.abort(b.reason)},{once:!0});let e=b&&"function"==typeof AbortSignal.any?AbortSignal.any([b,a.signal]):a.signal;try{let a=await fetch(d,{method:"GET",headers:f,cache:"no-store",signal:e});if(!a.ok)return null;let b=await a.json(),c=(a=>{if(Array.isArray(a))return a;for(let b of["data","models","results"])if(Array.isArray(a?.[b]))return a[b];return null})(b);if(!c)return null;let g=Array.from(new Set(c.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim()))),h=new Map;for(let a of c){let b=a?.id||a?.name||a?.model;"string"==typeof b&&""!==b.trim()&&a&&"object"==typeof a&&a.capabilities&&"object"==typeof a.capabilities&&h.set(b.trim(),a.capabilities)}return c.length>0&&0===g.length?null:{ids:g,capsById:h}}finally{clearTimeout(c)}}catch{return null}}function D(a,b){let c=e.Q2[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function E(a,{signal:b=null,skipCompatibleDiscovery:c=!1}={}){let h=[],j=!1;try{h=await (0,f.getProviderConnections)()}catch(a){j=!0,console.log("Could not fetch providers, returning all models")}let k=h.filter(a=>!1!==a.isActive),l=[];try{l=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let m=[];try{m=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let n={};try{n=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let o={};try{o=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let p=new Map(Object.entries(o).map(([a,b])=>[a,(0,i.Iz)(b,a)])),q=(a,b)=>{let c=(0,e.rs)(a);return[...new Set([a,c,(0,e.wG)(c),d.Xg[c]].filter(Boolean))].some(a=>{let c=p.get(a);return!!c&&(0,i.uJ)(c,b,a)})},r=new Map;for(let a of k){if(b?.aborted)break;r.has(a.provider)||r.set(a.provider,a)}let t=r.get("cursor");t&&r.set("cursor",await (0,u.Yx)(t,{force:!0}));let w=new Map;if(!c){let a=Array.from(r.entries()).filter(([a])=>(0,e.mq)(a)||(0,e.gb)(a));await Promise.all(a.map(async([a,c])=>{w.set(a,await C(c,b))}))}let y=new Map,A=Array.from(r.entries()).filter(([b])=>D(b,a)&&!(0,e.mq)(b)&&!(0,e.gb)(b));await Promise.all(A.map(async([a,c])=>{let d=z[a];try{let e=d?await d(c,{signal:b}):await (0,s.Mz)(c,{signal:b,..."cursor"===a?{log:console}:{}});e?.models?.length&&y.set(a,e)}catch(b){console.log(`Live model fetch failed for ${a}: ${b?.message||b}`)}}));let F=[],G=a=>{if("string"!=typeof a)return!1;let b=a.indexOf("/");if(b<=0)return!1;let c=a.slice(0,b),d=(0,e.rs)(c);return!!d&&!!e.Q2[d]&&!r.has(d)},H=!j;for(let b of l){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;if(H){let a=Array.isArray(b.models)?b.models:[];if(a.length>0&&a.every(G))continue}let c={id:b.name,object:"model",owned_by:"combo",name:b.name};("webSearch"===b.kind||"webFetch"===b.kind)&&(c.kind=b.kind),F.push(c)}if(a.includes("llm")){for(let[a,b]of Object.entries(n||{}))if((0,x.Ng)(a)&&!(H&&G(b))){if("string"==typeof b&&b.includes("/")){let a=b.indexOf("/"),c=b.slice(0,a),d=b.slice(a+1),e=k.find(a=>a.providerSpecificData?.prefix===c);if(q(c,d)||e&&q(e.provider,d))continue}F.push({id:a,object:"model",owned_by:"switchboard-alias",display_name:`Switchboard \xb7 ${a}`})}}if(j){for(let[b,c]of Object.entries(d.PROVIDER_MODELS))if(D((0,e.rs)(b),a))for(let d of c)a.includes(B(d))&&(q(b,d.id)||F.push({id:`${b}/${d.id}`,object:"model",owned_by:b}));for(let b of m){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();!d||q(c,d)||F.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[f,g]of r.entries()){if(b?.aborted)break;if(!D(f,a))continue;let h=d.Xg[f]||f,i=(g?.providerSpecificData?.prefix||(0,e.wG)(f)||h).trim(),j=d.PROVIDER_MODELS[h]||[],k=g?.providerSpecificData?.enabledModels,l=Array.isArray(k)&&k.length>0,o=(0,e.mq)(f)||(0,e.gb)(f),p=new Map(j.map(a=>[a.id,B(a)])),r=new Map,s=new Map,t=l?Array.from(new Set(k.filter(a=>"string"==typeof a&&""!==a.trim()))):j.map(a=>a.id),u=w.get(f);o&&!c&&u&&Array.isArray(u.ids)&&(t=u.ids);let x=u&&u.capsById instanceof Map?u.capsById:null,z=y.get(f);z?.models?.length&&(t=z.models.map(a=>a.id),r=new Map(z.models.filter(a=>a?.id).map(a=>[a.id,B(a)])),s=new Map(z.models.filter(a=>a?.id&&a.capabilities).map(a=>[a.id,a.capabilities])));let A=t.map(a=>a.startsWith(`${i}/`)?a.slice(i.length+1):a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),C=new Map;for(let b of Array.from(new Set([...A,...m.filter(b=>{if(!b?.id)return!1;let c=(0,d.CP)(b)||"llm";if(!a.includes(c)&&!("imageToText"===c&&a.includes("llm")))return!1;let e=b.providerAlias;return e===h||e===i||e===f}).map(a=>{let b=String(a.id).trim();return b&&C.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(n||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${i}/`)||a.startsWith(`${h}/`)||a.startsWith(`${f}/`))).map(a=>a.startsWith(`${i}/`)?a.slice(i.length+1):a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let c=C.get(b),d=r.get(b),e=c||d||p.get(b)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(b),g="imageToText"===e&&a.includes("llm");if(!a.includes(e)&&!g||q(i,b)||q(h,b))continue;let j={id:`${i}/${b}`,object:"model",owned_by:i},k=function(a,b,c,d,e){if(!a)return null;for(let f of[e,`${b}/${e}`,`${c}/${e}`,`${d}/${e}`])if(a.has(f))return a.get(f);return null}(x,i,h,f,b),l=(0,v.a0)(c||d),m=s.get(b)||(k||l?{...l||{},...k||{}}:null),n=(0,v.k1)(b),o=(0,v.hX)(m,n),t=o?{...m||{},...o}:m;t&&(j.capabilities=t),F.push(j)}let E=e.Q2[f];a.includes("webSearch")&&E?.searchConfig&&F.push({id:`${i}/search`,object:"model",kind:"webSearch",owned_by:i}),a.includes("webFetch")&&E?.fetchConfig&&F.push({id:`${i}/fetch`,object:"model",kind:"webFetch",owned_by:i})}let I=[],J=new Set;for(let a of F)!a?.id||J.has(a.id)||(J.add(a.id),"number"!=typeof a.created&&(a.created=0),I.push(a));return I}async function F(){return new Response(null,{headers:{"Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}function G(a,b={}){let c=(0,x.OU)(b,a),d=(0,w.HL)(a);return a.map(a=>({id:(0,x.El)(a),object:"model",created:0,owned_by:"switchboard-catalog",display_name:c[a]||(0,w.u0)(a,d),description:a}))}async function H(a){try{if((0,x.at)(a?.headers)){let b=(0,x._1)(a?.headers),c=G(b,(0,x.LU)(a?.headers));return Response.json({object:"list",data:c})}let b=await E(["llm"],{signal:a?.signal,skipCompatibleDiscovery:(0,h.k)(a)});return Response.json({object:"list",data:b},{})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:"Failed to fetch models",type:"server_error"}},{status:500})}}},16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(15717)},19225:(a,b,c)=>{a.exports=c(44870)},32524:(a,b,c)=>{c.d(b,{HL:()=>i,pD:()=>h,u0:()=>j});let d=Object.freeze({"lite-llm":"llm",litellm:"llm"}),e=["opus","sonnet","haiku","fable","gemini","gpt","glm","deepseek","composer","kimi","qwen"],f=[{pattern:/ap-southeast|low-carbon-apac|\bapac\b/i,tag:"apac"},{pattern:/eu-west|europe|\beu\b/i,tag:"eu"},{pattern:/us-east|us-west|\bus\b/i,tag:"us"}],g=["bedrock","vertex","azure","openai"];function h(a){var b;let c,h,i,j,k,l,m,n=String(a||"").trim();if(!n)return"";let o=n.indexOf("/");if(o<0)return n;let p=d[c=String(n.slice(0,o)||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-+/g,"-")]||c.slice(0,10),q=n.slice(o+1).split("/").filter(Boolean),r=(h=q.join("/").toLowerCase(),i=e.find(a=>h.includes(a))||null,j=f.find(a=>a.pattern.test(h))?.tag||null,k=g.find(a=>h.includes(a))||null,l=h.match(/\b(\d+m)\b/i)?.[1]?.toLowerCase()||null,m=(b=i?h.match(RegExp(`${i}[-._]?(\\d+(?:[._-]\\d+)*)`,"i"))?.[1]:null)?b.replace(/[._-]/g,"."):null,{family:i,region:j,infra:k,variant:l,version:m}),s=[p];if(r.region&&s.push(r.region),r.infra&&s.push(r.infra),r.family){let a=r.variant?`${r.family} ${r.variant}`:r.version?`${r.family} ${r.version}`:r.family;s.push(a)}else if(q.length>0){let a=q[q.length-1].replace(/^anthropic\./i,"").replace(/[._]/g," ").trim();a&&s.push(a.slice(0,24))}return s.join(" | ")}function i(a){let b=a.map(a=>String(a||"").trim()).filter(Boolean).map(a=>({modelId:a,base:h(a)})),c=new Map;for(let a of b){let b=c.get(a.base)||[];b.push(a.modelId),c.set(a.base,b)}let d=new Map;for(let[a,b]of c.entries()){if(1===b.length){d.set(b[0],a);continue}let c=new Set;b.forEach((b,e)=>{let f=`${a} | ${function(a,b){let c=String(a||"").split("/").filter(Boolean);return c.length>=3?c[1].replace(/[._-]/g," ").trim().slice(0,20):2===c.length?c[1].replace(/^anthropic\./i,"").replace(/[._-]/g," ").trim().slice(0,20):(c[c.length-1]||`model-${b+1}`).replace(/^anthropic\./i,"").replace(/[._-]/g," ").trim().slice(0,20)||String(b+1)}(b,e)}`,g=2;for(;c.has(f);){let d=b.split("/").filter(Boolean).pop()||`alt-${g}`;f=`${a} | ${d.replace(/^anthropic\./i,"").replace(/[._-]/g," ").trim().slice(0,20)}`,c.has(f)&&(f=`${a} | ${e+1}`),g+=1}c.add(f),d.set(b,f)})}return d}function j(a,b){let c=String(a||"").trim();return c?b?.get(c)||h(c):""}},38955:(a,b,c)=>{c.d(b,{Iz:()=>e,uJ:()=>f});var d=c(65089);function e(a,b=""){return new Set((Array.isArray(a)?a:[]).map(a=>(0,d.v)(a,b)).filter(Boolean))}function f(a,b,c=""){return a.has((0,d.v)(b,c))}c(4489),c(40615),c(27335)},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=519,exports.ids=[519],exports.modules={4630:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(45350);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}},21350:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>Q,GET:()=>O,POST:()=>P});var d=c(49796),e=c(23211),f=c(79748),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j),l=c(55511),m=c.n(l),n=c(28286),o=c(30869),p=c(54603),q=c(24424);let r=o.h0.appPort,s=`http://localhost:${r}/api/mcp/`,t=null,u=async()=>(t||(t=await (0,p.Xj)("switchboard-cli-auth")),t),v=async a=>{let b=await u();for(let c of a)"string"==typeof c?.url&&c.url.startsWith(s)&&(c.headers={...c.headers||{},"x-switchboard-cli-token":b});return a},w="gateway",x={coworkEgressAllowedHosts:["*"],disabledBuiltinTools:[],isLocalDevMcpEnabled:!0,isDesktopExtensionEnabled:!0,isDesktopExtensionDirectoryEnabled:!0,isDesktopExtensionSignatureRequired:!1,isClaudeCodeForDesktopEnabled:!0,disableEssentialTelemetry:!0,disableNonessentialTelemetry:!0,disableNonessentialServices:!0},y=()=>{if("darwin"===k().platform()){let a=i().join(k().homedir(),"Library","Application Support");return[i().join(a,"Claude-3p"),i().join(a,"Claude")]}if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return[i().join(a,"Claude-3p"),i().join(b,"Claude-3p"),i().join(a,"Claude"),i().join(b,"Claude")]}return[i().join(k().homedir(),".config","Claude-3p"),i().join(k().homedir(),".config","Claude")]},z=async()=>{let a=y();for(let b of a)try{return await g().access(i().join(b,"configLibrary")),b}catch{}return a[0]},A=()=>y()[0],B=async()=>i().join(await z(),"configLibrary"),C=()=>i().join(A(),"configLibrary"),D=async()=>i().join(await B(),"_meta.json"),E=()=>{if("darwin"===k().platform())return i().join(k().homedir(),"Library","Application Support","Claude");if("win32"===k().platform()){let a=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return i().join(a,"Claude")}return i().join(k().homedir(),".config","Claude")},F=()=>i().join(E(),"claude_desktop_config.json"),G=async()=>{try{let a=(await g().readFile(F(),"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(a)||{}}catch(a){return{}}},H=async a=>{await g().mkdir(E(),{recursive:!0}),await g().writeFile(F(),JSON.stringify(a,null,2))},I=async()=>{let a=await G();return"3p"!==a.deploymentMode&&(a.deploymentMode="3p",await H(a),!0)},J=async()=>{let a=await G();if(!a.mcpServers||"object"!=typeof a.mcpServers)return;let b=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name));for(let c of Object.keys(a.mcpServers))b.has(c)&&delete a.mcpServers[c];0===Object.keys(a.mcpServers).length&&delete a.mcpServers,await H(a)},K=async()=>{for(let a of[...y(),...(()=>{if("darwin"===k().platform())return["/Applications/Claude.app",i().join(k().homedir(),"Applications","Claude.app")];if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.ProgramFiles||"C:\\Program Files";return[i().join(a,"AnthropicClaude"),i().join(b,"Claude"),i().join(b,"AnthropicClaude")]}return[]})()])try{return await g().access(a),!0}catch{}return!1},L=async a=>{try{let b=(await g().readFile(a,"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(b)}catch(a){return null}},M=async()=>{let a=i().join(C(),"_meta.json"),b=await L(a);if(!b||!b.appliedId){let c=await L(await D());if(c?.appliedId)b=c;else{let a=m().randomUUID();b={appliedId:a,entries:[{id:a,name:"Default"}]}}await g().mkdir(C(),{recursive:!0}),await g().writeFile(a,JSON.stringify(b,null,2))}return b};async function N(a){let b=i().join(A(),"config.json"),c={};try{c=JSON.parse(await g().readFile(b,"utf-8"))||{}}catch(a){if("ENOENT"!==a.code)return{error:a.code}}let d={};for(let b of a)b?.name&&(d[b.name]=!0);return c.operonSkipMcpApprovals=d,await g().mkdir(A(),{recursive:!0}),await g().writeFile(b,JSON.stringify(c,null,2)),{written:Object.keys(d).length}}async function O(){try{if(!await K())return e.NextResponse.json({installed:!1,config:null,message:"Claude Desktop (Cowork mode) not detected"});let a=await L(await D()),b=a?.appliedId||null,c=await B(),d=b?i().join(c,`${b}.json`):null,f=d?await L(d):null,g=f?.inferenceGatewayBaseUrl||null,h=Array.isArray(f?.inferenceModels)?f.inferenceModels.map(a=>"string"==typeof a?a:a?.name).filter(Boolean):[],j=Array.isArray(f?.managedMcpServers)?f.managedMcpServers:[],k=!!(f?.inferenceProvider===w&&g),l=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name)),m=j.filter(a=>l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>a.name),o=j.filter(a=>a.custom||!l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>({name:a.name,url:a.url,transport:a.transport,custom:!0}));return e.NextResponse.json({installed:!0,config:f,hasSwitchboard:k,configPath:d,cowork:{appliedId:b,baseUrl:g,models:h,provider:f?.inferenceProvider||null,plugins:j.filter(a=>!a.custom&&!(l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/"))).map(a=>{let b=a.toolPolicy?Object.keys(a.toolPolicy):[],c=`${a.name}-`,d=new Set;for(let a of b){let b=a;for(;b.startsWith(c);)b=b.slice(c.length);d.add(b)}let e=n.DEFAULT_PLUGINS.find(b=>b.name===a.name),f=e&&Array.isArray(e.toolNames)?e.toolNames:Array.from(d);return{name:a.name,url:a.url,transport:a.transport,oauth:!!a.oauth,toolNames:f}}),localPlugins:m,customPlugins:o},defaultPlugins:n.DEFAULT_PLUGINS,localStdioPlugins:n.LOCAL_STDIO_PLUGINS})}catch(a){return console.log("Error reading cowork settings:",a),e.NextResponse.json({error:"Failed to read cowork settings"},{status:500})}}async function P(a){try{let b;try{b=await a.json()}catch{return e.NextResponse.json({error:"Invalid JSON body"},{status:400})}let{baseUrl:c,apiKey:d,models:f,plugins:h,localPlugins:j,customPlugins:k}=b||{};if(!c||!d)return e.NextResponse.json({error:"baseUrl and apiKey are required"},{status:400});try{let a=new URL(c);if(!["http:","https:"].includes(a.protocol))throw Error("unsupported protocol")}catch{return e.NextResponse.json({error:"baseUrl must be a valid HTTP(S) URL"},{status:400})}let l=Array.isArray(f)?f.filter(a=>"string"==typeof a&&a.trim()):[];if(0===l.length)return e.NextResponse.json({error:"At least one model is required"},{status:400});let m=Array.isArray(h)?h:n.DEFAULT_PLUGINS,o=Array.isArray(j)?j:[],p=(Array.isArray(k)?k:[]).filter(a=>a?.url),q=await v((a=>{let b=Array.isArray(a)?a:[],c=[];for(let a of b){let b=n.LOCAL_STDIO_PLUGINS.find(b=>b.name===a);if(!b)continue;let d={name:b.name,url:`http://localhost:${r}/api/mcp/${b.name}/sse`,transport:"sse"};if(Array.isArray(b.toolNames)&&b.toolNames.length>0){let a=`${b.name}-`,c={};for(let d of b.toolNames)c[d]="allow",c[`${a}${d}`]="allow";d.toolPolicy=c}c.push(d)}return c})(o)),s=await v((a=>{if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.name&&c?.url&&b.push({name:c.name,url:c.url,transport:c.transport||"sse",custom:!0});return b})(p)),t=[...(0,n.buildManagedMcpServers)(m),...q,...s],u=await I(),y=await M(),z=i().join(C(),`${y.appliedId}.json`),A={...x,inferenceProvider:w,inferenceGatewayBaseUrl:c.endsWith("/v1")?c:`${c}/v1`,inferenceGatewayApiKey:d,inferenceModels:l.map(a=>({name:a}))};t.length>0&&(A.managedMcpServers=t),await g().writeFile(z,JSON.stringify(A,null,2));let B=null;try{B=await N(t)}catch(a){B={error:a.message}}try{await J()}catch{}return e.NextResponse.json({success:!0,bootstrapped:u,message:u?"Cowork enabled (3p mode set). Quit & reopen Claude Desktop.":"Cowork settings applied. Quit & reopen Claude Desktop.",configPath:z,skipApprovals:B,localMcp:{applied:o,via:"3p-sse-bridge"}})}catch(a){return console.log("Error applying cowork settings:",a),e.NextResponse.json({error:"Failed to apply cowork settings"},{status:500})}}async function Q(){try{let a=await L(await D());if(!a?.appliedId)return e.NextResponse.json({success:!0,message:"No active config to reset"});let b=i().join(await B(),`${a.appliedId}.json`);try{await g().writeFile(b,JSON.stringify({},null,2))}catch(a){if("ENOENT"!==a.code)throw a}try{await N([])}catch{}try{await J()}catch{}return e.NextResponse.json({success:!0,message:"Cowork config reset"})}catch(a){return console.log("Error resetting cowork settings:",a),e.NextResponse.json({error:"Failed to reset cowork settings"},{status:500})}}(0,q.D)([O,P,Q]),(0,d.A)(O,"001c77a36db7cdb5dffa2b052b1f83da7488d3d993",null),(0,d.A)(P,"4030a946612b7400e5139faad171457de14a76cea5",null),(0,d.A)(Q,"00bf455e1b739e717ba9cc0128be967de9445982f9",null)},28286:a=>{a.exports={DEFAULT_PLUGINS:[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],LOCAL_STDIO_PLUGINS:[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}],buildManagedMcpServers:function(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}}},54603:(a,b,c)=>{c.d(b,{Xj:()=>q});var d=c(96930),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.nJ,"machine-id"),m=h().join(k.nJ,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||function(){if(process.env.MACHINE_ID_SALT)return process.env.MACHINE_ID_SALT;let a=h().join(m,"machine-id-salt");try{let b=f().readFileSync(a,"utf8").trim();if(b)return b}catch{}let b=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0,mode:448}),f().writeFileSync(a,b,{mode:384})}catch{}return b}(),c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.nJ,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="switchboard-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}}};
1
+ "use strict";exports.id=519,exports.ids=[519],exports.modules={4630:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(45350);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}},21350:(a,b,c)=>{c.r(b),c.d(b,{DELETE:()=>Q,GET:()=>O,POST:()=>P});var d=c(49796),e=c(23211),f=c(79748),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j),l=c(55511),m=c.n(l),n=c(28286),o=c(30869),p=c(54603),q=c(24424);let r=o.h0.appPort,s=`http://localhost:${r}/api/mcp/`,t=null,u=async()=>(t||(t=await (0,p.Xj)("switchboard-cli-auth")),t),v=async a=>{let b=await u();for(let c of a)"string"==typeof c?.url&&c.url.startsWith(s)&&(c.headers={...c.headers||{},"x-switchboard-cli-token":b});return a},w="gateway",x={coworkEgressAllowedHosts:["*"],disabledBuiltinTools:[],isLocalDevMcpEnabled:!0,isDesktopExtensionEnabled:!0,isDesktopExtensionDirectoryEnabled:!0,isDesktopExtensionSignatureRequired:!1,isClaudeCodeForDesktopEnabled:!0,disableEssentialTelemetry:!0,disableNonessentialTelemetry:!0,disableNonessentialServices:!0},y=()=>{if("darwin"===k().platform()){let a=i().join(k().homedir(),"Library","Application Support");return[i().join(a,"Claude-3p"),i().join(a,"Claude")]}if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return[i().join(a,"Claude-3p"),i().join(b,"Claude-3p"),i().join(a,"Claude"),i().join(b,"Claude")]}return[i().join(k().homedir(),".config","Claude-3p"),i().join(k().homedir(),".config","Claude")]},z=async()=>{let a=y();for(let b of a)try{return await g().access(i().join(b,"configLibrary")),b}catch{}return a[0]},A=()=>y()[0],B=async()=>i().join(await z(),"configLibrary"),C=()=>i().join(A(),"configLibrary"),D=async()=>i().join(await B(),"_meta.json"),E=()=>{if("darwin"===k().platform())return i().join(k().homedir(),"Library","Application Support","Claude");if("win32"===k().platform()){let a=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return i().join(a,"Claude")}return i().join(k().homedir(),".config","Claude")},F=()=>i().join(E(),"claude_desktop_config.json"),G=async()=>{try{let a=(await g().readFile(F(),"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(a)||{}}catch(a){return{}}},H=async a=>{await g().mkdir(E(),{recursive:!0}),await g().writeFile(F(),JSON.stringify(a,null,2))},I=async()=>{let a=await G();return"3p"!==a.deploymentMode&&(a.deploymentMode="3p",await H(a),!0)},J=async()=>{let a=await G();if(!a.mcpServers||"object"!=typeof a.mcpServers)return;let b=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name));for(let c of Object.keys(a.mcpServers))b.has(c)&&delete a.mcpServers[c];0===Object.keys(a.mcpServers).length&&delete a.mcpServers,await H(a)},K=async()=>{for(let a of[...y(),...(()=>{if("darwin"===k().platform())return["/Applications/Claude.app",i().join(k().homedir(),"Applications","Claude.app")];if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.ProgramFiles||"C:\\Program Files";return[i().join(a,"AnthropicClaude"),i().join(b,"Claude"),i().join(b,"AnthropicClaude")]}return[]})()])try{return await g().access(a),!0}catch{}return!1},L=async a=>{try{let b=(await g().readFile(a,"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(b)}catch(a){return null}},M=async()=>{let a=i().join(C(),"_meta.json"),b=await L(a);if(!b||!b.appliedId){let c=await L(await D());if(c?.appliedId)b=c;else{let a=m().randomUUID();b={appliedId:a,entries:[{id:a,name:"Default"}]}}await g().mkdir(C(),{recursive:!0}),await g().writeFile(a,JSON.stringify(b,null,2))}return b};async function N(a){let b=i().join(A(),"config.json"),c={};try{c=JSON.parse(await g().readFile(b,"utf-8"))||{}}catch(a){if("ENOENT"!==a.code)return{error:a.code}}let d={};for(let b of a)b?.name&&(d[b.name]=!0);return c.operonSkipMcpApprovals=d,await g().mkdir(A(),{recursive:!0}),await g().writeFile(b,JSON.stringify(c,null,2)),{written:Object.keys(d).length}}async function O(){try{if(!await K())return e.NextResponse.json({installed:!1,config:null,message:"Claude Desktop (Cowork mode) not detected"});let a=await L(await D()),b=a?.appliedId||null,c=await B(),d=b?i().join(c,`${b}.json`):null,f=d?await L(d):null,g=f?.inferenceGatewayBaseUrl||null,h=Array.isArray(f?.inferenceModels)?f.inferenceModels.map(a=>"string"==typeof a?a:a?.name).filter(Boolean):[],j=Array.isArray(f?.managedMcpServers)?f.managedMcpServers:[],k=!!(f?.inferenceProvider===w&&g),l=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name)),m=j.filter(a=>l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>a.name),o=j.filter(a=>a.custom||!l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>({name:a.name,url:a.url,transport:a.transport,custom:!0}));return e.NextResponse.json({installed:!0,config:f,hasSwitchboard:k,configPath:d,cowork:{appliedId:b,baseUrl:g,models:h,provider:f?.inferenceProvider||null,plugins:j.filter(a=>!a.custom&&!(l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/"))).map(a=>{let b=a.toolPolicy?Object.keys(a.toolPolicy):[],c=`${a.name}-`,d=new Set;for(let a of b){let b=a;for(;b.startsWith(c);)b=b.slice(c.length);d.add(b)}let e=n.DEFAULT_PLUGINS.find(b=>b.name===a.name),f=e&&Array.isArray(e.toolNames)?e.toolNames:Array.from(d);return{name:a.name,url:a.url,transport:a.transport,oauth:!!a.oauth,toolNames:f}}),localPlugins:m,customPlugins:o},defaultPlugins:n.DEFAULT_PLUGINS,localStdioPlugins:n.LOCAL_STDIO_PLUGINS})}catch(a){return console.log("Error reading cowork settings:",a),e.NextResponse.json({error:"Failed to read cowork settings"},{status:500})}}async function P(a){try{let b;try{b=await a.json()}catch{return e.NextResponse.json({error:"Invalid JSON body"},{status:400})}let{baseUrl:c,apiKey:d,models:f,plugins:h,localPlugins:j,customPlugins:k}=b||{};if(!c||!d)return e.NextResponse.json({error:"baseUrl and apiKey are required"},{status:400});try{let a=new URL(c);if(!["http:","https:"].includes(a.protocol))throw Error("unsupported protocol")}catch{return e.NextResponse.json({error:"baseUrl must be a valid HTTP(S) URL"},{status:400})}let l=Array.isArray(f)?f.filter(a=>"string"==typeof a&&a.trim()):[];if(0===l.length)return e.NextResponse.json({error:"At least one model is required"},{status:400});let m=Array.isArray(h)?h:n.DEFAULT_PLUGINS,o=Array.isArray(j)?j:[],p=(Array.isArray(k)?k:[]).filter(a=>a?.url),q=await v((a=>{let b=Array.isArray(a)?a:[],c=[];for(let a of b){let b=n.LOCAL_STDIO_PLUGINS.find(b=>b.name===a);if(!b)continue;let d={name:b.name,url:`http://localhost:${r}/api/mcp/${b.name}/sse`,transport:"sse"};if(Array.isArray(b.toolNames)&&b.toolNames.length>0){let a=`${b.name}-`,c={};for(let d of b.toolNames)c[d]="allow",c[`${a}${d}`]="allow";d.toolPolicy=c}c.push(d)}return c})(o)),s=await v((a=>{if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.name&&c?.url&&b.push({name:c.name,url:c.url,transport:c.transport||"sse",custom:!0});return b})(p)),t=[...(0,n.buildManagedMcpServers)(m),...q,...s],u=await I(),y=await M(),z=i().join(C(),`${y.appliedId}.json`),A={...x,inferenceProvider:w,inferenceGatewayBaseUrl:c.endsWith("/v1")?c:`${c}/v1`,inferenceGatewayApiKey:d,inferenceModels:l.map(a=>({name:a}))};t.length>0&&(A.managedMcpServers=t),await g().writeFile(z,JSON.stringify(A,null,2));let B=null;try{B=await N(t)}catch(a){B={error:a.message}}try{await J()}catch{}return e.NextResponse.json({success:!0,bootstrapped:u,message:u?"Cowork enabled (3p mode set). Quit & reopen Claude Desktop.":"Cowork settings applied. Quit & reopen Claude Desktop.",configPath:z,skipApprovals:B,localMcp:{applied:o,via:"3p-sse-bridge"}})}catch(a){return console.log("Error applying cowork settings:",a),e.NextResponse.json({error:"Failed to apply cowork settings"},{status:500})}}async function Q(){try{let a=await L(await D());if(!a?.appliedId)return e.NextResponse.json({success:!0,message:"No active config to reset"});let b=i().join(await B(),`${a.appliedId}.json`);try{await g().writeFile(b,JSON.stringify({},null,2))}catch(a){if("ENOENT"!==a.code)throw a}try{await N([])}catch{}try{await J()}catch{}return e.NextResponse.json({success:!0,message:"Cowork config reset"})}catch(a){return console.log("Error resetting cowork settings:",a),e.NextResponse.json({error:"Failed to reset cowork settings"},{status:500})}}(0,q.D)([O,P,Q]),(0,d.A)(O,"00c08492fd85f04d2cd2a12ff975055b00ab38f342",null),(0,d.A)(P,"40935a345a885c520c005ec29a3d1e37b9d0f7fc82",null),(0,d.A)(Q,"00c0050dbb47e61dfbd54987a7bc2bd9a2cff62b75",null)},28286:a=>{a.exports={DEFAULT_PLUGINS:[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],LOCAL_STDIO_PLUGINS:[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}],buildManagedMcpServers:function(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}}},54603:(a,b,c)=>{c.d(b,{Xj:()=>q});var d=c(96930),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.nJ,"machine-id"),m=h().join(k.nJ,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||function(){if(process.env.MACHINE_ID_SALT)return process.env.MACHINE_ID_SALT;let a=h().join(m,"machine-id-salt");try{let b=f().readFileSync(a,"utf8").trim();if(b)return b}catch{}let b=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0,mode:448}),f().writeFileSync(a,b,{mode:384})}catch{}return b}(),c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.nJ,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="switchboard-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}}};